46 lines
828 B
TypeScript
Raw Normal View History

2023-04-02 01:01:56 +08:00
// 自定义国际化配置
import { createI18n } from 'vue-i18n';
// 本地语言包
import enLocale from './en';
import zhCnLocale from './zh-cn';
const messages = {
2023-04-03 00:05:09 +08:00
'zh-cn': {
...zhCnLocale
},
en: {
...enLocale
}
2023-04-02 01:01:56 +08:00
};
/**
* 使
*
* @returns zh-cn|en ...
*/
export const getLanguage = () => {
2023-04-03 00:05:09 +08:00
// 本地缓存获取
let language = localStorage.getItem('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';
2023-04-02 01:01:56 +08:00
};
const i18n = createI18n({
2023-04-03 00:05:09 +08:00
legacy: false,
locale: getLanguage(),
messages: messages
2023-04-02 01:01:56 +08:00
});
export default i18n;