| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // 自定义国际化配置
- import { createI18n } from 'vue-i18n';
- // 本地语言包
- import enUSLocale from './en_US';
- import zhCNLocale from './zh_CN';
- import Cookies from 'js-cookie';
- const messages = {
- zh_CN: {
- ...zhCNLocale
- },
- en_US: {
- ...enUSLocale
- }
- };
- /**
- * 获取当前系统使用语言字符串
- * @returns zh-cn|en ...
- */
- export const getLanguage = () => {
- // 本地缓存获取
- let language = Cookies.get('language');
- if (language) {
- return language;
- }
- // 浏览器使用语言
- language = navigator.language.toLowerCase();
- const locales = Object.keys(messages);
- for (const locale of locales) {
- if (language.indexOf(locale) > -1) {
- return locale;
- }
- }
- return 'zh_CN';
- };
- const i18n = createI18n({
- legacy: false,
- locale: getLanguage(),
- messages
- });
- export default i18n;
|