appointment_system/utils/i18n.js
2025-12-11 22:50:18 +08:00

63 lines
1.5 KiB
JavaScript

// 国际化工具函数
export const i18nUtils = {
// 切换语言
changeLanguage(locale) {
// 保存到本地存储
uni.setStorageSync('language', locale)
// 如果在页面中,可以通过 getCurrentPages 获取当前页面实例
const pages = getCurrentPages()
if (pages.length > 0) {
const currentPage = pages[pages.length - 1]
if (currentPage.$vm && currentPage.$vm.$i18n) {
currentPage.$vm.$i18n.locale = locale
}
}
// 显示切换成功提示
uni.showToast({
title: '语言切换成功',
icon: 'success'
})
},
// 获取当前语言
getCurrentLanguage() {
return uni.getStorageSync('language') || 'zh'
},
// 获取系统语言
getSystemLanguage() {
let language = 'zh'
try {
const systemInfo = uni.getSystemInfoSync()
language = systemInfo.language
// 处理语言代码
if (language.indexOf('zh') !== -1) {
language = 'zh'
} else if (language.indexOf('en') !== -1) {
language = 'en'
} else if (language.indexOf('pt') !== -1) {
language = 'pt'
} else {
language = 'zh' // 默认中文
}
} catch (e) {
console.log('获取系统语言失败:', e)
}
return language
},
// 获取语言显示名称
getLanguageName(code) {
const languageMap = {
'zh': '中文',
'en': 'English',
'pt': 'Português'
}
return languageMap[code] || '中文'
}
}