mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
locale exposed to editor
This commit is contained in:
committed by
Nick O'Leary
parent
2563649b3e
commit
e6ed8ee509
@@ -19,8 +19,12 @@ module.exports = {
|
||||
get: function(req,res) {
|
||||
var namespace = req.params[0];
|
||||
namespace = namespace.replace(/\.json$/,"");
|
||||
var lang = req.query["lang"]||"en-US"; // TODO: determine requested lang
|
||||
var catalog = i18n.catalog(namespace,lang);
|
||||
res.json(catalog||{});
|
||||
var lang = i18n.determineLangFromHeaders(req.acceptedLanguages);
|
||||
var prevLang = i18n.i.lng();
|
||||
i18n.i.setLng(lang, function(){
|
||||
var catalog = i18n.catalog(namespace,lang);
|
||||
res.json(catalog||{});
|
||||
});
|
||||
i18n.i.setLng(prevLang);
|
||||
}
|
||||
}
|
||||
|
19
red/i18n.js
19
red/i18n.js
@@ -101,12 +101,29 @@ function getCatalog(namespace,lang) {
|
||||
return result;
|
||||
}
|
||||
|
||||
function determineLangFromHeaders(acceptedLanguages){
|
||||
var lang = "en-US";
|
||||
|
||||
var supportedLanguages = ['en-US', 'es', 'fr', 'it', 'de', 'pt-BR', 'zh', 'zh-TW', 'ko', 'ja', 'zz-ZZ']; // TODO: pull this value from settings
|
||||
for (var i=0;i<acceptedLanguages.length;i++){
|
||||
if (supportedLanguages.indexOf(acceptedLanguages[i]) !== -1){
|
||||
lang = acceptedLanguages[i];
|
||||
break;
|
||||
// check the language without the country code
|
||||
} else if (supportedLanguages.indexOf(acceptedLanguages[i].split("-")[0]) !== -1) {
|
||||
lang = acceptedLanguages[i].split("-")[0];
|
||||
break;
|
||||
}
|
||||
}
|
||||
return lang;
|
||||
}
|
||||
|
||||
var obj = module.exports = {
|
||||
init: init,
|
||||
registerMessageCatalog: registerMessageCatalog,
|
||||
catalog: getCatalog,
|
||||
i: i18n
|
||||
i: i18n,
|
||||
determineLangFromHeaders: determineLangFromHeaders
|
||||
}
|
||||
|
||||
obj['_'] = function() {
|
||||
|
Reference in New Issue
Block a user