Change translation format to JSON

This commit is contained in:
yflory 2019-01-30 14:38:21 +01:00
parent d97ada3e26
commit 6018f57ec1
5 changed files with 22 additions and 9 deletions

View File

@ -25,6 +25,22 @@ var getLanguage = messages._getLanguage = function () {
};
var language = getLanguage();
// Translations files were migrated from requirejs modules to json.
// To avoid asking every administrator to update their customized translation files,
// we use a requirejs map to redirect the old path to the new one and to use the
// requirejs json plugin
var reqPaths = {
"/common/translations/messages.js":"json!/common/translations/messages.json"
};
Object.keys(map).forEach(function (k) {
reqPaths["/common/translations/messages."+k+".js"] = "json!/common/translations/messages."+k+".json";
});
require.config({
map: {
"*": reqPaths
}
});
var req = ['/common/common-util.js', '/customize/translations/messages.js'];
if (language && map[language]) { req.push('/customize/translations/messages.' + language + '.js'); }

View File

@ -2,7 +2,7 @@ define([
'jquery',
'/common/common-util.js',
'/customize/messages.js',
'/customize/translations/messages.js',
'json!/common/translations/messages.json',
], function ($, Util, Messages, English) {
var $body = $('body');

View File

@ -5,6 +5,9 @@ define([
// fix up locations so that relative urls work.
baseUrl: window.location.pathname,
paths: {
// json plugin
text: '/bower_components/requirejs-plugins/lib/text',
json: '/bower_components/requirejs-plugins/src/json',
// jquery declares itself as literally "jquery" so it cannot be pulled by path :(
"jquery": "/bower_components/jquery/dist/jquery.min",
// json.sortify same

View File

@ -20,7 +20,6 @@
"button_newslide": "Nouvelle présentation",
"button_newwhiteboard": "Nouveau tableau blanc",
"button_newkanban": "Nouveau kanban",
"updated_0_common_connectionLost": "<b>Connexion au serveur perdue</b><br>Vous êtes désormais en mode lecture seule jusqu'au retour de la connexion.",
"common_connectionLost": "<b>Connexion au serveur perdue</b><br>Vous êtes désormais en mode lecture seule jusqu'au retour de la connexion.",
"websocketError": "Impossible de se connecter au serveur WebSocket...",
"typeError": "Ce pad n'est pas compatible avec l'application sélectionnée",
@ -81,7 +80,6 @@
"orangeLight": "Votre connexion est lente, ce qui réduit la qualité de l'éditeur",
"redLight": "Vous êtes déconnecté de la session",
"pinLimitReached": "Vous avez atteint votre limite de stockage",
"updated_0_pinLimitReachedAlert": "Vous avez atteint votre limite de stockage. Les nouveaux pads ne seront pas enregistrés dans votre CryptDrive.<br>Vous pouvez soit supprimer des pads de votre CryptDrive, soit vous <a href=\"https://accounts.cryptpad.fr/#!on={0}\" target=\"_blank\">abonner à une offre premium</a> pour augmenter la limite maximale.",
"pinLimitReachedAlert": "Vous avez atteint votre limite de stockage. Les nouveaux pads ne seront pas enregistrés dans votre CryptDrive.<br>Vous pouvez soit supprimer des pads de votre CryptDrive, soit vous <a href=\"https://accounts.cryptpad.fr/#!on={0}\" target=\"_blank\">abonner à une offre premium</a> pour augmenter la limite maximale.",
"pinLimitReachedAlertNoAccounts": "Vous avez atteint votre limite de stockage",
"pinLimitNotPinned": "Vous avez atteint votre limite de stockage.<br>Ce pad n'est pas enregistré dans votre CryptDrive.",
@ -352,7 +350,6 @@
"fm_info_unsorted": "Contient tous les pads que vous avez ouvert et qui ne sont pas triés dans \"Documents\" ou déplacés vers la \"Corbeille\".",
"fm_info_template": "Contient tous les fichiers que vous avez sauvés en tant que modèle afin de les réutiliser lors de la création d'un nouveau pad.",
"fm_info_recent": "Liste les derniers pads que vous avez modifiés ou ouverts.",
"updated_0_fm_info_trash": "Vider la corbeille permet de libérer de l'espace dans votre CryptDrive",
"fm_info_trash": "Vider la corbeille permet de libérer de l'espace dans votre CryptDrive",
"fm_info_allFiles": "Contient tous les fichiers de \"Documents\", \"Fichiers non triés\" et \"Corbeille\". Vous ne pouvez pas supprimer ou déplacer des fichiers depuis cet endroit.",
"fm_info_anonymous": "Vous n'êtes pas connecté, ces pads seront donc supprimés après 3 mois d'inactivité (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">découvrez pourquoi</a>). Ils sont stockés dans votre navigateur donc nettoyer votre historique peut les faire disparaître.<br><a href=\"/register/\">Inscrivez-vous</a> ou <a href=\"/login/\">connectez-vous</a> pour les maintenir en vie.",
@ -1026,4 +1023,4 @@
"crowdfunding_popup_yes": "Voir la page",
"crowdfunding_popup_no": "Pas maintenant",
"crowdfunding_popup_never": "Ne plus demander"
}
}

View File

@ -20,7 +20,6 @@
"button_newslide": "New Presentation",
"button_newwhiteboard": "New Whiteboard",
"button_newkanban": "New Kanban",
"updated_0_common_connectionLost": "<b>Server Connection Lost</b><br>You're now in read-only mode until the connection is back.",
"common_connectionLost": "<b>Server Connection Lost</b><br>You're now in read-only mode until the connection is back.",
"websocketError": "Unable to connect to the websocket server...",
"typeError": "This pad is not compatible with the selected application",
@ -81,7 +80,6 @@
"orangeLight": "Your slow connection may impact your experience",
"redLight": "You are disconnected from the session",
"pinLimitReached": "You've reached your storage limit",
"updated_0_pinLimitReachedAlert": "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>You can either remove pads from your CryptDrive or <a href=\"https://accounts.cryptpad.fr/#!on={0}\" target=\"_blank\">subscribe to a premium offer</a> to increase your limit.",
"pinLimitReachedAlert": "You've reached your storage limit. New pads won't be stored in your CryptDrive.<br>You can either remove pads from your CryptDrive or <a href=\"https://accounts.cryptpad.fr/#!on={0}\" target=\"_blank\">subscribe to a premium offer</a> to increase your limit.",
"pinLimitReachedAlertNoAccounts": "You've reached your storage limit",
"pinLimitNotPinned": "You've reached your storage limit.<br>This pad is not stored in your CryptDrive.",
@ -352,7 +350,6 @@
"fm_info_unsorted": "Contains all the files you've visited that are not yet sorted in \"Documents\" or moved to the \"Trash\".",
"fm_info_template": "Contains all the pads stored as templates and that you can re-use when you create a new pad.",
"fm_info_recent": "List the recently modified or opened pads.",
"updated_0_fm_info_trash": "Empty your trash to free space in your CryptDrive.",
"fm_info_trash": "Empty your trash to free space in your CryptDrive.",
"fm_info_allFiles": "Contains all the files from \"Documents\", \"Unsorted\" and \"Trash\". You can't move or remove files from here.",
"fm_info_anonymous": "You are not logged in so your pads will expire after 3 months (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">find out more</a>). They are stored in your browser so clearing history may make them disappear.<br><a href=\"/register/\">Sign up</a> or <a href=\"/login/\">Log in</a> to keep them alive.<br>",
@ -1026,4 +1023,4 @@
"crowdfunding_popup_yes": "Go to OpenCollective",
"crowdfunding_popup_no": "Not now",
"crowdfunding_popup_never": "Don't ask me again"
}
}