feat(menu) 完善菜单场景的功能与效果

This commit is contained in:
wvellichor committed 2026-01-20 01:58:58 +08:00
1 parent 6dbce8bdd5
commit cb5c7ac51b
5 files changed
+467 -13

No files matched your search

+51
View File
@@ -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();
+18
View File
@@ -0,0 +1,18 @@
export default {
"#^": {
"title": "#*^#",
'start': "@%!$%",
"exit": "#@*%"
},
"en": {
"title": "CINC",
"start": "start",
"exit": "exit"
},
"中文": {
"title": "游戏",
"start": "开始",
"exit": "退出"
}
}