// 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();