Files
app.ethica-spinoza.net/assets/modules/i18n.js
T

56 lines
1.3 KiB
JavaScript

module.exports = {
t(key){
if(this.locales[key]){
if(this.lang){
if(this.locales[key][this.lang]){
return this.locales[key][this.lang];// key for current language
}else{this.log(`Key "${key}" does not exists for language ${this.lang}`);}
}else if(this.locales[key][this.fallback]){
return this.locales[key][this.fallback];// key for fallback language
}else{this.log(`Key "${key}" does not exists for fallback language ${this.fallback}`);}
}else{this.log(`Key "${key}" does not exists.`);}
return key;// if nothing else retrn key it self
},
setLang(l){
this.lang = l
},
log(msg){
console.log(`i18n : ${msg}`);
},
fallback:'en',
lang: null,
locales:{
'Parts':{
'en':'Parts',
'fr':'Parties',
'bra':'Peças',
'lat':'Pars'
},
'Mode':{
'en':'Mode',
'fr':'Mode',
'bra':'Modo',
'lat':'Modus'
},
'Language':{
'en':'Language',
'fr':'Langue',
'bra':'Língua',
'lat':'Lingua'
},
'Text':{
'en':'Text',
'fr':'Texte',
'bra':'Texto',
'lat':'Illud'
},
'Connections':{
'en':'Connections',
'fr':'Connections',
'bra':'Conexões',
'lat':'Hospites'
},
}
}