Files
AlgerMusicPlayer/src/i18n/main.ts

39 lines
828 B
TypeScript
Raw Normal View History

2025-01-23 11:02:55 +08:00
import enUS from './lang/en-US';
import zhCN from './lang/zh-CN';
const messages = {
'zh-CN': zhCN,
'en-US': enUS
} as const;
2025-01-23 11:02:55 +08:00
type Language = keyof typeof messages;
2025-01-23 11:02:55 +08:00
// 为主进程提供一个简单的 i18n 实现
const mainI18n = {
global: {
currentLocale: 'zh-CN' as Language,
get locale() {
return this.currentLocale;
},
set locale(value: Language) {
this.currentLocale = value;
},
t(key: string) {
const keys = key.split('.');
let current: any = messages[this.currentLocale];
for (const k of keys) {
if (current[k] === undefined) {
// 如果找不到翻译,返回键名
return key;
}
current = current[k];
}
return current;
},
messages
}
};
2025-01-23 11:02:55 +08:00
export type { Language };
export default mainI18n;