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.warn(`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' }, 'Filters':{ 'en':'Filters', 'fr':'Filtres', 'bra':'Filtros', 'lat':'Filtra' }, 'definition':{ 'en':'definition', 'fr':'definition', 'bra':'definições', 'lat':'definitione' }, 'def.':{ 'en':'def.', 'fr':'def.', 'bra':'def.', 'lat':'def.' }, 'explication':{ 'en':'explanation', 'fr':'explication', 'bra':'explicaçaõ', 'lat':'explicatio' }, 'axiom':{ 'en':'axiom', 'fr':'axiom', 'bra':'axioma', 'lat':'axiomata' }, 'ax.':{ 'en':'ax.', 'fr':'ax.', 'bra':'ax.', 'lat':'ax.' }, 'proposition':{ 'en':'proposition', 'fr':'proposition', 'bra':'proposiçaõ', 'lat':'propositio' }, 'prop.':{ 'en':'prop.', 'fr':'prop.', 'bra':'prop.', 'lat':'prop.' }, 'demonstration':{ 'en':'demonstration', 'fr':'demonstration', 'bra':'demonstraçaõ', 'lat':'demonstratio' }, 'demo.':{ 'en':'demo.', 'fr':'demo.', 'bra':'demo.', 'lat':'demo.' }, 'corollaire':{ 'en':'corollary', 'fr':'corollaire', 'bra':'corolário', 'lat':'corollarium' }, 'cor.':{ 'en':'cor.', 'fr':'cor.', 'bra':'cor.', 'lat':'cor.' }, 'prop-axiom':{ 'en':'prop-axiom', 'fr':'prop-axiom', 'bra':'prop-axioma', 'lat':'prop-axiomata' }, 'scolie':{ 'en':'scholium', 'fr':'scolie', 'bra':'escólio', 'lat':'scholium' }, 'scol.':{ 'en':'schol.', 'fr':'scol.', 'bra':'escól.', 'lat':'schol.' }, 'appendice':{ 'en':'appendix', 'fr':'appendice', 'bra':'apêndice', 'lat':'appendix' }, 'preface':{ 'en':'preface', 'fr':'preface', 'bra':'prefácio', 'lat':'preface' }, 'corollaire-demo':{ 'en':'corollary-demo', 'fr':'corollaire-demo', 'bra':'corolário-demo', 'lat':'corollarium-demo' }, 'lemme':{ 'en':'lemma', 'fr':'lemme', 'bra':'lema', 'lat':'lemma' }, 'lem.':{ 'en':'lem.', 'fr':'lem.', 'bra':'lem.', 'lat':'lem.' }, 'lemme-demonstration':{ 'en':'lemma-demo', 'fr':'lemme-demo', 'bra':'lema-demo', 'lat':'lemma-demo' }, 'lemme-corrollaire':{ 'en':'lemma-corollary', 'fr':'lemme-corollaire', 'bra':'lema-corolário', 'lat':'lemma-corollarium' }, 'lemme-scolie':{ 'en':'lemma-scholium', 'fr':'lemme-scolie', 'bra':'lema-escólio', 'lat':'lemma-scholium' }, 'postulat':{ 'en':'postulat', 'fr':'postulat', 'bra':'postulado', 'lat':'postulata' }, 'post.':{ 'en':'post.', 'fr':'post.', 'bra':'post.', 'lat':'post.' }, 'def-affect':{ 'en':'definitions of the emotions', 'fr':'définitions des affections', 'bra':'definições dos afetos', 'lat':'affectuum definitiones' }, 'def-gen-affect':{ 'en':'general definition of the emotions', 'fr':'définition générale des affections', 'bra':'definição geral dos afetos', 'lat':'affectum generalis definitio' }, 'chapitre':{ 'en':'chapter', 'fr':'chapitre', 'bra':'capítulo', 'lat':'caput' }, 'Ethica, work without obstacle':{ 'en':'Ethica, work without obstacle', 'fr':'Ethica, du travail sans obstacle' } } }