devegram-ml
Version:
Devegram multi-language translation for web development
47 lines (45 loc) • 1.38 kB
JavaScript
export const ml = {
on: false,
lang: null,
langs: {},
getM(t, d, translate) {
if (!translate) return d
return this.langs[this.lang][t] || d || console.error('Devegram ML: Missing Translations for ', t)
},
getFrom(l, t, d) {
if (!this.on) return t
return this.langs[l][t] || d || console.error('Devegram ML: Missing Translations for ', t, 'in ' + l + ' language')
},
get: function (t, d) {
if (!this.on) return t
return this.langs[this.lang][t] || d || console.error('Devegram ML: Missing Translations for ', t)
},
hasLang: function (l) {
return this.langs.hasOwnProperty(l)
},
hasTrans: function (t) {
return this.langs[this.lang].hasOwnProperty(t)
},
addTrans: function (c) {
this.langs[c.lang][c.key] = c.value
},
addLang: function (lang, trans) {
if (lang.constructor === Array) {
lang.forEach((config) => {
this.langs[config.lang] = config.translation
})
} else {
this.langs[lang] = trans
}
},
setLang: function (l) {
this.lang = l
},
getLangs: function () {
return Object.keys(this.langs)
},
getLang: function (l) {
return this.langs[l]
}
}
export default ml