From 6018f57ec1b8ee35c701b54cb7aec8293655349f Mon Sep 17 00:00:00 2001 From: yflory Date: Wed, 30 Jan 2019 14:38:21 +0100 Subject: [PATCH] Change translation format to JSON --- customize.dist/messages.js | 16 ++++++++++++++++ www/assert/translations/main.js | 2 +- www/common/requireconfig.js | 3 +++ www/common/translations/messages.fr.json | 5 +---- www/common/translations/messages.json | 5 +---- 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/customize.dist/messages.js b/customize.dist/messages.js index bffb95654..e3db0f1de 100755 --- a/customize.dist/messages.js +++ b/customize.dist/messages.js @@ -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'); } diff --git a/www/assert/translations/main.js b/www/assert/translations/main.js index db005ce0a..b1033f700 100644 --- a/www/assert/translations/main.js +++ b/www/assert/translations/main.js @@ -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'); diff --git a/www/common/requireconfig.js b/www/common/requireconfig.js index 85258ea8b..303f8bef0 100644 --- a/www/common/requireconfig.js +++ b/www/common/requireconfig.js @@ -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 diff --git a/www/common/translations/messages.fr.json b/www/common/translations/messages.fr.json index 1cdd73f8d..462a6afd4 100644 --- a/www/common/translations/messages.fr.json +++ b/www/common/translations/messages.fr.json @@ -20,7 +20,6 @@ "button_newslide": "Nouvelle présentation", "button_newwhiteboard": "Nouveau tableau blanc", "button_newkanban": "Nouveau kanban", - "updated_0_common_connectionLost": "Connexion au serveur perdue
Vous êtes désormais en mode lecture seule jusqu'au retour de la connexion.", "common_connectionLost": "Connexion au serveur perdue
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.
Vous pouvez soit supprimer des pads de votre CryptDrive, soit vous abonner à une offre premium pour augmenter la limite maximale.", "pinLimitReachedAlert": "Vous avez atteint votre limite de stockage. Les nouveaux pads ne seront pas enregistrés dans votre CryptDrive.
Vous pouvez soit supprimer des pads de votre CryptDrive, soit vous abonner à une offre premium pour augmenter la limite maximale.", "pinLimitReachedAlertNoAccounts": "Vous avez atteint votre limite de stockage", "pinLimitNotPinned": "Vous avez atteint votre limite de stockage.
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é (découvrez pourquoi). Ils sont stockés dans votre navigateur donc nettoyer votre historique peut les faire disparaître.
Inscrivez-vous ou connectez-vous 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" -} \ No newline at end of file +} diff --git a/www/common/translations/messages.json b/www/common/translations/messages.json index 524c00109..b4ec548d2 100644 --- a/www/common/translations/messages.json +++ b/www/common/translations/messages.json @@ -20,7 +20,6 @@ "button_newslide": "New Presentation", "button_newwhiteboard": "New Whiteboard", "button_newkanban": "New Kanban", - "updated_0_common_connectionLost": "Server Connection Lost
You're now in read-only mode until the connection is back.", "common_connectionLost": "Server Connection Lost
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.
You can either remove pads from your CryptDrive or subscribe to a premium offer to increase your limit.", "pinLimitReachedAlert": "You've reached your storage limit. New pads won't be stored in your CryptDrive.
You can either remove pads from your CryptDrive or subscribe to a premium offer to increase your limit.", "pinLimitReachedAlertNoAccounts": "You've reached your storage limit", "pinLimitNotPinned": "You've reached your storage limit.
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 (find out more). They are stored in your browser so clearing history may make them disappear.
Sign up or Log in to keep them alive.
", @@ -1026,4 +1023,4 @@ "crowdfunding_popup_yes": "Go to OpenCollective", "crowdfunding_popup_no": "Not now", "crowdfunding_popup_never": "Don't ask me again" -} \ No newline at end of file +}