mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-08 15:05:46 +01:00
fixes #3314
This commit is contained in:
@@ -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();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user