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);
|
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);
|
callback(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -159,7 +159,8 @@ module.exports = function(Plugins) {
|
|||||||
return callback();
|
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) {
|
utils.walk(pathToFolder, function(err, languages) {
|
||||||
var arr = [];
|
var arr = [];
|
||||||
@@ -183,13 +184,20 @@ module.exports = function(Plugins) {
|
|||||||
route: pathToLang.replace(pathToFolder, '')
|
route: pathToLang.replace(pathToFolder, '')
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (pluginData.defaultLang) {
|
||||||
|
fallbackMap[path.basename(pathToLang, '.json')] = path.join(pathToFolder, pluginData.defaultLang, path.basename(pathToLang));
|
||||||
|
}
|
||||||
|
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
}, function(err) {
|
}, function(err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return callback(err);
|
return callback(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
Plugins.customLanguages = Plugins.customLanguages.concat(arr);
|
Plugins.customLanguages = Plugins.customLanguages.concat(arr);
|
||||||
|
Plugins.customLanguageFallbacks = fallbackMap;
|
||||||
|
|
||||||
callback();
|
callback();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user