l***@163.com
l***@163.com
  • 发布:2022-04-19 10:38
  • 更新:2024-02-18 15:25
  • 阅读:1725

国际化 vue-i18n v9 $t()格式化无效

分类:uni-app

1、使用vue3/vite创建项目(typescript版本)
2、项目中引入vue-i18n v9版本
3、创建相应的多语言文件和vue文件
4、执行npm run dev:mp-weixin

多语言文件: hello: '{0} world'  
vue: <p>{{ $t('hello', ['hello']) }}</p>

预期结果: hello world
实际结果: {0} world

2022-04-19 10:38 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

因运行平台限制,目前在小程序和App端不支持插值方式定义国际化
需要使用 Messages Functions 定义国际化信息,参考文档:https://vue-i18n.intlify.dev/guide/advanced/function.html
示例:

export default {  
    hello: ({ list }) => `${list(0)} world`,  
    test: '你好'  
}  

  • 1***@163.com

    使用 消息模式,引入的语言包必须为 js文件, 但是 page.json 里面的 tabBar %tabbar.home% 语法 必须只有json文件才能正确翻译,两者之间有冲突。


    2022-09-20 11:54

  • x***@foxmail.com

    回复 1***@163.com: 请问最后有什么解决方法吗


    2023-06-14 15:42

l***@163.com

l***@163.com (作者)

有人遇到过这个问题么

  • j***@qq.com

    太坑了,我今天也遇到了,找了半天原因


    2023-02-28 15:44

DCloud_UNI_FXY

DCloud_UNI_FXY

发测试工程

l***@163.com

l***@163.com (作者)

问题复现demo如附件所示

x***@foxmail.com

x***@foxmail.com

请问最后有什么解决方法吗

要回复问题请先登录注册