v1.18.x
Julian Lam 10 years ago
parent e2c4f668a1
commit ad38c55b12

@ -364,6 +364,15 @@ var fs = require('fs'),
translator.addTranslation(language, filename, lang.file);
});
var fallbackPath;
for(var resource in Plugins.customLanguageFallbacks) {
fallbackPath = Plugins.customLanguageFallbacks[resource];
params.router.get('/language/:lang/' + resource + '.json', function(req, res, next) {
winston.verbose('[translator] No resource file found for ' + req.params.lang + '/' + resource + ', using provided fallback language file');
res.sendFile(fallbackPath);
});
}
callback(null);
}

@ -159,7 +159,8 @@ module.exports = function(Plugins) {
return callback();
}
var pathToFolder = path.join(__dirname, '../../node_modules/', pluginData.id, pluginData.languages);
var pathToFolder = path.join(__dirname, '../../node_modules/', pluginData.id, pluginData.languages),
fallbackMap = {};
utils.walk(pathToFolder, function(err, languages) {
var arr = [];
@ -183,13 +184,20 @@ module.exports = function(Plugins) {
route: pathToLang.replace(pathToFolder, '')
});
if (pluginData.defaultLang) {
fallbackMap[path.basename(pathToLang, '.json')] = path.join(pathToFolder, pluginData.defaultLang, path.basename(pathToLang));
}
next();
});
}, function(err) {
if (err) {
return callback(err);
}
Plugins.customLanguages = Plugins.customLanguages.concat(arr);
Plugins.customLanguageFallbacks = fallbackMap;
callback();
});
});

Loading…
Cancel
Save