我使用了i18n进行了多语言翻译。
我有一项语言内容
"my.title1": "邀请码:{invitation}",
在页面中,我{{ $t('my.title1',{ invitation:data.invitation }) }} 用这样进行调用
在h5中会替换掉invitation,显示正常,得到我想要的目标结果。但是,在app中,却展示 邀请码:{invitation} 并不会将invitation这个替换成我设置的变量。
我使用了i18n进行了多语言翻译。
我有一项语言内容
"my.title1": "邀请码:{invitation}",
在页面中,我{{ $t('my.title1',{ invitation:data.invitation }) }} 用这样进行调用
在h5中会替换掉invitation,显示正常,得到我想要的目标结果。但是,在app中,却展示 邀请码:{invitation} 并不会将invitation这个替换成我设置的变量。
1***@qq.com (作者)
我把重要的代码粘贴上来吧。
前端 my.vue页面中
<text>{{$t('my.title1',{invitation:data.invitation})}}</text>
然后,这个data.invitation 是通过ajax从后端获取的数据
main.js中
import messages from './locale/index'
let i18nConfig = {
locale: uni.getLocale(),
messages,
silentFallbackWarn: true,
fallbackLocale: uni.getLocale()
}
// #ifndef VUE3
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n = new VueI18n(i18nConfig)
App.mpType = 'app'
const app = new Vue({
i18n,
...App
})
app.$mount()
// #endif
// #ifdef VUE3
import {
createSSRApp
} from 'vue'
import {
createI18n
} from 'vue-i18n'
const i18n = createI18n(i18nConfig)
export function createApp() {
const app = createSSRApp(App)
app.use(i18n)
return {
app
}
}
// #endif
接下来就是 locale目录下有zh-Hant.json 和index.js
index.js
import zhHant from './zh-Hant.json'
export default {
'zh-Hans': zhHant,
'zh-Hant': zhHant
}
zh-Hant.json中
{
"my.title1": "邀请码:{invitation}"
}
2025-08-04 10:05
DCloud_UNI_yuhe
回复 1***@qq.com: 请你提供一下可以复现的项目,这样有助于更快速的定位问题
2025-08-04 10:09
1***@qq.com (作者)
回复 DCloud_UNI_yuhe: 打包个apk给你,还是怎么操作呢?
2025-08-04 11:50
DCloud_UNI_yuhe
回复 1***@qq.com: 新建一个项目,保留能复现的最简代码
2025-08-04 12:02
1***@qq.com (作者)
回复 DCloud_UNI_yuhe: 我突然发现,新建的项目不会,但是,我再原有的项目上,把其他多余的都删了之后,还是会
2025-08-04 12:11
1***@qq.com (作者)
回复 DCloud_UNI_yuhe: 上传了
2025-08-04 12:14
DCloud_UNI_yuhe
回复 1***@qq.com: 提供的代码是有问题的版本,还是运行正常的版本?原有项目与新建项目的差别是什么?
2025-08-04 14:20
1***@qq.com (作者)
回复 DCloud_UNI_yuhe: 是这样子,这个版本,是在运行的版本也是有问题的版本。然后,我刚刚是,新建了个项目,把代码复制进去,就没问题。但是,如果在现有的这个里面,把东西都删干净了,只留下这段代码,一样还是有问题。所以,我也纳闷问题在哪里...
简单来说就是,我新建个项目,把代码复制进去,就没问题。用这个项目,连机测试就是有问题
2025-08-04 18:39