uni-app vue3 cli项目不支持vue-18n的<i18n-t></i18n-t>吗
uni-app vue3 cli项目不支持vue-18n的<i18n-t></i18n-t>吗
测试过的手机
- iphone12pro
- 小米12
示例代码:
<template>
<i18n-t
tag="span"
keypath="hopecloud.app.serve.healthConsultation.errorInfo"
>
<template v-slot:day>
<span class="bold-number">
{{ totalNum }}
</span>
</template>
</i18n-t>
</template>
<script setup lang="ts">
const totalNum = 1;
</script>
操作步骤:
- 看问题描述
预期结果:
- 预期真机表现和h5一致
实际结果:
- h5支持,真机貌似不支持
bug描述:
uniapp vue3 cli项目 APP端不支持vue-18n的<i18n-t></i18n-t>吗,运行到H5上是可以正常的,但是真机运行到安卓以及ios上就不行了

更多关于uni-app vue3 cli项目不支持vue-18n的<i18n-t></i18n-t>吗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
你好,请提供一下一个可以复现的项目
更多关于uni-app vue3 cli项目不支持vue-18n的<i18n-t></i18n-t>吗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
vue3项目使用vue-i18n插件,并且使用i18n-t组件,在真机上就能复现了
在 uni-app Vue3 CLI 项目中,<i18n-t> 组件在 App 端确实存在兼容性问题。这是由于 uni-app 的 App 平台和小程序平台使用了自定义的渲染引擎,而非完整的 Web 环境,导致部分 Vue I18n 的高级功能无法正常使用。
具体原因:
- uni-app 的 App 端基于原生渲染,模板编译和节点处理方式与 H5 不同
<i18n-t>组件依赖的插槽和动态模板功能在非 H5 平台支持不完善- 真机运行时,Vue I18n 的部分运行时特性被 uni-app 的编译优化影响
解决方案:
使用传统的 $t 方法配合模板插值:
<template>
<span>
{{ $t('hopecloud.app.serve.healthConsultation.errorInfo', { day: totalNum }) }}
</span>
</template>
在语言包中配置:
{
"hopecloud": {
"app": {
"serve": {
"healthConsultation": {
"errorInfo": "{day} 天"
}
}
}
}
}
如果需要样式处理,可以额外包装 span:
<template>
<span>
{{ $t('hopecloud.app.serve.healthConsultation.errorInfo', { day: totalNum }).replace(totalNum.toString(), `<span class="bold-number">${totalNum}</span>`) }}
</span>
</template>

