// 多语言配置 import zh from './zh.js'; import en from './en.js'; import ja from './ja.js'; import ru from './ru.js'; // 语言配置对象 const messages = { zh, en, ja, ru }; // 创建一个响应式的语言状态 let currentLanguage = uni.getStorageSync('language') || 'zh'; // 获取当前语言 function getCurrentLanguage() { return currentLanguage; } // 设置语言 function setLanguage(lang) { console.log('设置语言:', lang); currentLanguage = lang; uni.setStorageSync('language', lang); // 触发语言变化事件 uni.$emit('languageChanged', lang); // 强制更新所有页面组件 const pages = getCurrentPages(); pages.forEach(page => { if (page.$vm && page.$vm.$forceUpdate) { page.$vm.$forceUpdate(); } }); // 触发全局更新 if (typeof uni.$vm !== 'undefined' && uni.$vm.$forceUpdate) { uni.$vm.$forceUpdate(); } } // 获取翻译文本 function t(key) { const langMessages = messages[currentLanguage] || messages.zh; return langMessages[key] || key; } // 获取所有支持的语言 function getSupportedLanguages() { return [ { code: 'zh', name: '中文' }, { code: 'en', name: 'English' }, { code: 'ja', name: '日本語' }, { code: 'ru', name: 'Русский' } ]; } export default { messages, getCurrentLanguage, setLanguage, t, getSupportedLanguages };