UNPKG

@ecip/ecip-web

Version:

A magical vue admin. An out-of-box UI solution for enterprise applications. Newest development stack of vue. Lots of awesome features

75 lines (70 loc) 1.83 kB
import Vue from 'vue' import VueI18n from 'vue-i18n' import { getStorageVal } from 'ecip-web/utils' import { LANGUAGE } from '@/store/mutation-types' import elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui lang import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN'// element-ui lang import elementEsLocale from 'element-ui/lib/locale/lang/es'// element-ui lang import elementJaLocale from 'element-ui/lib/locale/lang/ja'// element-ui lang import vxeZhCN from 'vxe-table/lib/locale/lang/zh-CN' import vxeEnUS from 'vxe-table/lib/locale/lang/en-US' import vxeJaJP from 'vxe-table/lib/locale/lang/ja-JP' import enLocale from './en' import zhLocale from './zh' import esLocale from './es' import jaLocale from './ja' Vue.use(VueI18n) const messages = { en: { ...enLocale, ...elementEnLocale, ...vxeEnUS }, 'zh-CN': { ...zhLocale, ...elementZhLocale, ...vxeZhCN }, 'zh_CN': { ...zhLocale, ...elementZhLocale, ...vxeZhCN }, zh: { ...zhLocale, ...elementZhLocale, ...vxeZhCN }, es: { ...esLocale, ...elementEsLocale, ...vxeEnUS }, ja: { ...jaLocale, ...elementJaLocale, ...vxeJaJP } } export function getLanguage() { const chooseLanguage = getStorageVal(LANGUAGE, '') if (chooseLanguage) return JSON.parse(chooseLanguage).value // if has not choose browserLanguage const browserLanguage = (navigator.language || navigator.browserLanguage).toLowerCase() const locales = Object.keys(messages) for (const locale of locales) { if (browserLanguage.indexOf(locale) > -1) { return locale } } return 'zh-CN' } const i18n = new VueI18n({ // set locale // options: en | zh | es locale: 'zh-CN', // set locale messages messages, silentTranslationWarn: true }) export default i18n