add internationalization / dynamic themes

This commit is contained in:
landaiqing
2024-08-09 19:51:56 +08:00
parent c13613ec07
commit 438965f2a2
28 changed files with 402 additions and 391 deletions

23
src/locales/index.ts Normal file
View File

@@ -0,0 +1,23 @@
// 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 = (navigator.language || 'en').toLocaleLowerCase(); // 这是获取浏览器的语言
const i18n = createI18n({
legacy: false,
globalInjection: true,
silentTranslationWarn: true,
locale: JSON.parse(localStorage.getItem("lang") as string).lang || language.split('-')[0] || 'zh', // 首先从缓存里拿,没有的话就用浏览器语言,
silentFallbackWarn: true,
missingWarn: true,
fallbackWarn: false,
messages
});
export default i18n;

View File

@@ -0,0 +1,6 @@
// en.ts
export default {
login: {
test: 'login',
}
};

View File

@@ -0,0 +1,9 @@
// zh.ts
export default {
login: {
test: '登录',
}
};