12345678910111213141516171819202122232425262728293031323334353637 |
- const {defaultSettings} = require('./default.json');
- var i18n = require('../i18n/allLangs.json');
- Object.keys(i18n.allLangs.names).forEach( lang => i18n[lang] = require('../i18n/' + lang + '.json') );
- class Lang {
- constructor(lang = defaultSettings.lang, namespace = '') {
- this.lang = lang;
- this.namespace = namespace;
- }
- get(message = '') {
- if ( this.namespace.length ) message = this.namespace + '.' + message;
- let args = ( message.length ? message.split('.') : [] );
- let lang = this.lang;
- let text = i18n?.[lang];
- for (let n = 0; n < args.length; n++) {
- if ( text ) {
- text = text?.[args[n]];
- }
- else if ( lang !== defaultSettings.lang ) {
- lang = defaultSettings.lang;
- text = i18n?.[lang];
- n = 0;
- }
- else {
- n = args.length;
- }
- }
- return ( text || '⧼' + message + '⧽' );
- }
- static allLangs() {
- return i18n.allLangs;
- }
- }
- module.exports = Lang;
|