diff --git a/src/lang/index.js b/src/lang/index.js index 7c9c8af6..4a0f52cb 100644 --- a/src/lang/index.js +++ b/src/lang/index.js @@ -24,11 +24,22 @@ const messages = { ...elementEsLocale } } - +export function getLanguage() { + const chooseLanguage = Cookies.get('language') + if (chooseLanguage) return chooseLanguage + const language = (navigator.language || navigator.browserLanguage).toLowerCase() + const locales = Object.keys(messages) + for (const locale of locales) { + if (language.indexOf(locale) > -1) { + return locale + } + } + return 'en' +} const i18n = new VueI18n({ // set locale // options: en | zh | es - locale: Cookies.get('language') || 'en', + locale: getLanguage(), // set locale messages messages }) diff --git a/src/store/modules/app.js b/src/store/modules/app.js index fba4b05c..cfe6ce99 100644 --- a/src/store/modules/app.js +++ b/src/store/modules/app.js @@ -1,5 +1,5 @@ import Cookies from 'js-cookie' - +import { getLanguage } from '@/lang/index' const app = { state: { sidebar: { @@ -7,7 +7,7 @@ const app = { withoutAnimation: false }, device: 'desktop', - language: Cookies.get('language') || 'en', + language: getLanguage(), size: Cookies.get('size') || 'medium' }, mutations: { diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 00000000..782f1ada --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,12 @@ +/** + * 不是真实的 webpack 配置,仅为兼容 webstorm 和 intellij idea 代码跳转 + * ref: https://github.com/umijs/umi/issues/1109#issuecomment-423380125 + */ + +module.exports = { + resolve: { + alias: { + "@": require("path").resolve(__dirname, "src") + } + } +};