import Vue from 'vue'
|
import VueI18n from 'vue-i18n'
|
import en from './en.json'
|
import india from '@/locales/hi.json'
|
import zh from '@/locales/zh.json'
|
import ty from '@/locales/th.json'
|
import ry from '@/locales/jp.json'
|
import hy from '@/locales/kor.json'
|
import de from '@/locales/de.json'
|
import fra from '@/locales/fra.json'
|
|
Vue.use(VueI18n)
|
const DEFAULT_LANG = window.localStorage.getItem('language') || 'ja'
|
const LOCALE_KEY = 'language'
|
window.localStorage.setItem('language', DEFAULT_LANG)
|
const locales = {
|
en: {
|
...en
|
},
|
hi: {
|
...india
|
},
|
'zh-CN': {
|
...zh
|
},
|
th: {
|
...ty
|
},
|
fr: {
|
...fra
|
},
|
de: {
|
...de
|
},
|
ja: {
|
...ry
|
},
|
ko: {
|
...hy
|
}
|
};
|
// en-us zh-cn
|
// let langLocale = getCookie(LOCALE_KEY) || 'en';
|
if (!window.localStorage.getItem(LOCALE_KEY)) {
|
window.localStorage.setItem(LOCALE_KEY, DEFAULT_LANG)
|
}
|
let langLocale = window.localStorage.getItem(LOCALE_KEY) || DEFAULT_LANG;
|
const i18n = new VueI18n({
|
locale: langLocale,
|
messages: locales,
|
silentTranslationWarn: true
|
});
|
const init = Vue.prototype._init;
|
Vue.prototype._init = function (options) {
|
init.call(this, {
|
i18n,
|
...options
|
})
|
};
|
|
export const setup = lang => {
|
if (lang === undefined) {
|
// lang = window.localStorage.getItem(LOCALE_KEY);
|
// const language = getCookie(LOCALE_KEY);
|
const language = window.localStorage.getItem(LOCALE_KEY)
|
if (language) {
|
langLocale = language.replace('-', '_').toLowerCase()
|
}
|
if (undefined !== langLocale && langLocale !== '') {
|
lang = langLocale
|
}
|
if (locales[lang] === undefined) {
|
lang = DEFAULT_LANG
|
}
|
// console.log(`lang-${lang}`);
|
}
|
|
Vue.config.lang = lang
|
i18n.locale = lang
|
}
|
|
setup()
|
|
export default i18n
|