1***@qq.com
1***@qq.com
  • 发布:2025-07-28 16:45
  • 更新:2025-07-28 16:56
  • 阅读:226

【报Bug】国际化传参在App显示异常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 专业版

HBuilderX类型: 正式

HBuilderX版本号: 4.74

手机系统: Android

手机系统版本号: Android 11

手机厂商: 华为

手机机型: 红米 k20 pro

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

const timeTaskTip = computed(() => {
if (dateNum.value === 0) {
const list = times.map(item => {
return item.slice(0, 3)
})
return t('task.sl', {
time: list[singleTaskIndex.value],
hour: singleTaskIndex.value === 0 ? 'hour' : 'hours'
})
} else if (dateNum.value === 1) {
const list = everydayTimes.map(item => {
return item.slice(0, 3)
})
return t('task.el', {
time: list[everydayTaskIndex.value],
hour: everydayTaskIndex.value === 0 ? 'hour' : 'hours'
})
} else {
return t('task.esl')
}
})

操作步骤:

import { createI18n } from 'vue-i18n'
import en from './en.json'
import zhHans from './zh-Hans.json'

const messages = {
en,
'zh-Hans': zhHans
}

const getLocale = () => {
const locale = uni.getLocale() // 获取系统语言环境
return locale.startsWith('zh') ? 'zh-Hans' : 'en'
}

const i18n = createI18n({
legacy: false, // 使用 Composition API 模式
globalInjection: true, // 全局注入 $t
locale: getLocale(),
messages
})

export default i18n

"task.sl": "清洁一次,时长为 {time} 小时。",  
"task.el": "每24小时清洁一次,每次 {time} 小时。",  
"task.esl": "每48小时清洁一次,每次40分钟。",

预期结果:

传参后参数覆盖key

实际结果:

传参后参数不覆盖key

bug描述:

在PC端国际化传参显示正常,App显示异常
图一PC端图二App,App的{time}参数无效

2025-07-28 16:45 负责人:无 分享
已邀请:
DCloud_UNI_JBB

DCloud_UNI_JBB

要回复问题请先登录注册