import Vue from 'vue' import VueI18n from 'vue-i18n' import util from '@/libs/util' Vue.use(VueI18n) function loadLocaleMessages () { const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.json$/i) const messages = {} for (const key of locales.keys()) { const matched = key.match(/([A-Za-z0-9-_]+)\./i) if (matched && matched.length > 1) { const locale = matched[1] const localeElementUI = require(`element-ui/lib/locale/lang/${locales(key)._element}`) messages[locale] = { ...locales(key), ...localeElementUI ? localeElementUI.default : {} } } } return messages } const messages = loadLocaleMessages() Vue.prototype.$languages = Object.keys(messages).map(langlage => ({ label: messages[langlage]._name, value: langlage })) const i18n = new VueI18n({ locale: util.cookies.get('lang') || process.env.VUE_APP_I18N_LOCALE, fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE, messages }) export default i18n