| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import Vue from 'vue'
- import VueI18n from 'vue-i18n'
- Vue.use(VueI18n)
- const DEFAULT_LANG = 'en'
- const LOCALE_KEY = 'localeLanguage'
- const locales = {
- zh: require('./zh.json'),
- en: require('./en.json'),
- }
- const i18n = new VueI18n({
- locale: DEFAULT_LANG,
- messages: locales,
- silentTranslationWarn: true,
- })
- export const setup = lang => {
- if (lang === undefined) {
- lang = window.localStorage.getItem(LOCALE_KEY)
- if (locales[lang] === undefined) {
- lang = DEFAULT_LANG
- }
- }
- window.localStorage.setItem(LOCALE_KEY, lang)
- if(document.body.classList) {
- Object.keys(locales).forEach(lang => {
- document.body.classList.remove(`lang-${lang}`)
- })
- document.body.classList.add(`lang-${lang}`)
- }
- document.body.setAttribute('lang', lang)
- Vue.config.lang = lang
- i18n.locale = lang
- }
- setup("en")
- window.$i18n = i18n;
- export default i18n
|