From e81b48ff572b5a1c1d4d9be8da12c7747f83b465 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=98=8A=E5=A4=A9?= <442384644@qq.com> Date: Thu, 8 Oct 2026 14:24:07 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E7=94=A8=E6=88=B7=E7=AB=AF):=20uni=20?= =?UTF-8?q?=E6=A1=86=E6=9E=B6=E7=BB=84=E4=BB=B6=E8=AF=AD=E8=A8=80=E4=B8=8E?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=20locale=20=E5=AF=B9=E9=BD=90=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=B9=E7=AA=97=E6=8C=89=E9=92=AE=E4=B8=AD?= =?UTF-8?q?=E8=8B=B1=E6=96=87=E6=B7=B7=E6=8E=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit uni.showModal 等内置组件文案跟随浏览器系统语言(测试环境 en-US 显示 Cancel/OK),与 vue-i18n 的中文文案混排;main.js 启动时 uni.setLocale 对齐项目 locale(zh-CN 映射为 uni 的 zh-Hans) --- frontend/uni-app/src/main.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/frontend/uni-app/src/main.js b/frontend/uni-app/src/main.js index 589417444..bbf14c4e1 100644 --- a/frontend/uni-app/src/main.js +++ b/frontend/uni-app/src/main.js @@ -96,6 +96,20 @@ function loadStatisticsScript(src) { export function createApp() { const app = createSSRApp(App) + // uni 框架内置组件(showModal 确认/取消按钮等)语言跟随浏览器系统, + // 与项目 vue-i18n 的 locale 不一致时会出现中英文混排(如按钮显示 Cancel/OK), + // 这里将 uni 框架语言与项目 locale 对齐(legacy 模式下 global.locale 是 ref) + try { + var uniLocale = i18n.global.locale + if (uniLocale && typeof uniLocale.value === 'string') uniLocale = uniLocale.value + // uni 框架使用 BCP 47 风格(zh-Hans/zh-Hant/en),项目用 zh-CN 需映射 + if (uniLocale === 'zh-CN') uniLocale = 'zh-Hans' + else if (uniLocale === 'zh-TW' || uniLocale === 'zh-HK') uniLocale = 'zh-Hant' + if (typeof uniLocale === 'string' && uniLocale) uni.setLocale(uniLocale) + } catch (e) { + // 部分 uni 版本/平台无此 API,忽略 + } + // Pinia(实例已在 store/index.js 模块加载时创建并 setActivePinia) app.use(pinia) app.use(i18n)