mirror of
http://junepve.top:3000/chicrobot/CINC.git
synced 2026-10-29 23:31:29 +08:00
feat(menu) 完善菜单场景的功能与效果
This commit is contained in:
1 parent
6dbce8bdd5
commit
cb5c7ac51b
5 files changed
+467
-13
No files matched your search
@@ -0,0 +1,51 @@
|
||||
// lang/LanguageManager.js
|
||||
class LanguageManager {
|
||||
constructor() {
|
||||
this.translations = {};
|
||||
this.currentLanguage = '#^'; // 默认语言
|
||||
}
|
||||
|
||||
/**
|
||||
* 加载翻译文件
|
||||
* @param {Object} translations - 翻译对象
|
||||
*/
|
||||
loadTranslations(translations) {
|
||||
this.translations = translations;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当前语言
|
||||
* @param {string} lang - 语言代码,如 'en', 'zh'
|
||||
*/
|
||||
setLanguage(lang) {
|
||||
if (this.translations[lang]) {
|
||||
this.currentLanguage = lang;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取翻译文本
|
||||
* @param {string} key - 文本键值
|
||||
* @param {string} lang - 可选,指定语言,默认使用当前语言
|
||||
* @returns {string} 翻译后的文本
|
||||
*/
|
||||
t(key, lang = this.currentLanguage) {
|
||||
if (this.translations[lang] && this.translations[lang][key]) {
|
||||
return this.translations[lang][key];
|
||||
}
|
||||
return key; // 如果没有找到翻译,返回原键值
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取可用语言列表
|
||||
* @returns {string[]} 语言代码数组
|
||||
*/
|
||||
getAvailableLanguages() {
|
||||
return Object.keys(this.translations);
|
||||
}
|
||||
}
|
||||
|
||||
// 导出单例
|
||||
export default new LanguageManager();
|
||||
Reference in new issue
Block a user