forked from NginxProxyManager/nginx-proxy-manager
-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathi18n.js
23 lines (20 loc) · 807 Bytes
/
i18n.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const Cache = ('./cache');
const messages = require('../i18n/messages.json');
/**
* @param {String} namespace
* @param {String} key
* @param {Object} [data]
*/
module.exports = function (namespace, key, data) {
let locale = Cache.locale;
// check that the locale exists
if (typeof messages[locale] === 'undefined') {
locale = 'en';
}
if (typeof messages[locale][namespace] !== 'undefined' && typeof messages[locale][namespace][key] !== 'undefined') {
return messages[locale][namespace][key](data);
} else if (locale !== 'en' && typeof messages['en'][namespace] !== 'undefined' && typeof messages['en'][namespace][key] !== 'undefined') {
return messages['en'][namespace][key](data);
}
return '(MISSING: ' + namespace + '/' + key + ')';
};