mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Expose i18n in editor
This commit is contained in:
@@ -86,7 +86,7 @@ function init(adminApp,storage) {
|
||||
adminApp.get("/nodes/:mod/:set",needsPermission("nodes.read"),nodes.getSet);
|
||||
adminApp.put("/nodes/:mod/:set",needsPermission("nodes.write"),nodes.putSet);
|
||||
|
||||
adminApp.get(/^\/locales\/(.+?)\/(.*).json$/,needsPermission("nodes.read"),locales.get);
|
||||
adminApp.get(/locales\/(.+)\/?$/,needsPermission("nodes.read"),locales.get);
|
||||
|
||||
// Library
|
||||
library.init(adminApp);
|
||||
|
@@ -17,13 +17,10 @@ var i18n = require("../i18n");
|
||||
|
||||
module.exports = {
|
||||
get: function(req,res) {
|
||||
var lang = req.params[0];
|
||||
var namespace = req.params[1];
|
||||
var namespace = req.params[0];
|
||||
namespace = namespace.replace(/\.json$/,"");
|
||||
var lang = "en-US"; // TODO: determine requested lang
|
||||
var catalog = i18n.catalog(namespace,lang);
|
||||
if (catalog) {
|
||||
res.json(catalog);
|
||||
} else {
|
||||
res.send(404);
|
||||
}
|
||||
res.json(catalog||{});
|
||||
}
|
||||
}
|
||||
|
@@ -37,7 +37,6 @@ function registerMessageCatalog(namespace,dir,file) {
|
||||
return when.promise(function(resolve,reject) {
|
||||
resourceMap[namespace] = { basedir:dir, file:file};
|
||||
i18n.loadNamespace(namespace,function() {
|
||||
//console.log(namespace,dir);
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
@@ -47,14 +46,16 @@ var MessageFileLoader = {
|
||||
fetchOne: function(lng, ns, callback) {
|
||||
if (resourceMap[ns]) {
|
||||
var file = path.join(resourceMap[ns].basedir,lng,resourceMap[ns].file);
|
||||
//console.log(file);
|
||||
fs.readFile(file,"utf8",function(err,content) {
|
||||
if (err) {
|
||||
callback(err);
|
||||
} else {
|
||||
try {
|
||||
//console.log(">>",ns,file);
|
||||
//console.log(">>",ns,file,lng);
|
||||
resourceCache[ns] = resourceCache[ns]||{};
|
||||
resourceCache[ns][lng] = JSON.parse(content.replace(/^\uFEFF/, ''));
|
||||
//console.log(resourceCache[ns][lng]);
|
||||
callback(null, resourceCache[ns][lng]);
|
||||
} catch(e) {
|
||||
callback(e);
|
||||
@@ -84,6 +85,8 @@ function init() {
|
||||
}
|
||||
|
||||
function getCatalog(namespace,lang) {
|
||||
//console.log("+",namespace,lang);
|
||||
//console.log(resourceCache[namespace][lang]);
|
||||
var result = null;
|
||||
if (resourceCache.hasOwnProperty(namespace)) {
|
||||
result = resourceCache[namespace][lang];
|
||||
@@ -94,6 +97,7 @@ function getCatalog(namespace,lang) {
|
||||
}
|
||||
}
|
||||
}
|
||||
//console.log(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user