mirror of
http://junepve.top:3000/chicrobot/CINC.git
synced 2026-10-30 00: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();
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
export default {
|
||||
"#^": {
|
||||
"title": "#*^#",
|
||||
'start': "@%!$%",
|
||||
"exit": "#@*%"
|
||||
},
|
||||
"en": {
|
||||
"title": "CINC",
|
||||
"start": "start",
|
||||
"exit": "exit"
|
||||
},
|
||||
"中文": {
|
||||
"title": "游戏",
|
||||
"start": "开始",
|
||||
"exit": "退出"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user