36 lines
910 B
TypeScript
36 lines
910 B
TypeScript
// index.ts
|
|
import {createI18n} from 'vue-i18n';
|
|
import zh from './language/zh.ts';
|
|
import en from './language/en.ts';
|
|
|
|
|
|
const messages = {
|
|
en,
|
|
zh
|
|
};
|
|
|
|
|
|
const language: string = (navigator.language || 'en').toLocaleLowerCase(); // 获取浏览器的语言
|
|
function getLanguage(): string | null {
|
|
let lang: string | null = null;
|
|
const langStr: string | null = localStorage.getItem('lang');
|
|
if (langStr) {
|
|
lang = JSON.parse(langStr).lang;
|
|
}
|
|
return lang;
|
|
}
|
|
|
|
const i18n: any = createI18n({
|
|
legacy: false,
|
|
compositionOnly: false,
|
|
globalInjection: true,
|
|
silentTranslationWarn: true,
|
|
locale: getLanguage() || language.split('-')[0] || 'zh', // 首先从缓存里拿,没有的话就用浏览器语言,
|
|
silentFallbackWarn: true,
|
|
missingWarn: true,
|
|
fallbackWarn: false,
|
|
messages
|
|
})
|
|
;
|
|
export default i18n;
|