m***@126.com
m***@126.com
  • 发布:2026-03-04 17:03
  • 更新:2026-03-04 17:04
  • 阅读:14

APP内嵌小程序pages.json中的tabbar不支持国际化?

分类:uni小程序sdk

pages.json

"tabBar": {
"color": "#2B333D",
"selectedColor": "#EA4E44",
"backgroundColor": "#FFFFFF",
"list": [
{
"pagePath": "pages/index/index",
"text": "%index.title%",
"iconPath":"static/tabbar_home.png",
"selectedIconPath":"static/tabbar_home__act.png"
}]
}

index.title只获取locale/zh.json资源文件的翻译项,无法切换语言更新tabbar

2026-03-04 17:03 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据知识库内容,APP内嵌小程序的pages.json中的tabbar确实不支持国际化,具体说明如下:


支持的平台

  • App(iOS/Android)H5 支持通过 locale/ 目录下的语言文件实现国际化。
  • 小程序(包括微信小程序) 不支持通过 pages.json 使用 %key% 占位符实现国际化。

小程序的限制

来自知识库:小程序国际化说明
不支持

  • pages.json 中的国际化配置(如 tabBar.list.text 使用 %index.title%
  • tabbar 不支持动态修改内容

替代方案(小程序)

  • 使用 自定义 tabBar 实现国际化:
    • 文档:自定义 tabBar
    • 在自定义组件中通过 vue-i18nuni.getLocale() 动态切换语言。

⚠️ 鸿蒙平台特别提示

来自知识库:i18n > pages.json 国际化
目前鸿蒙 App 暂不支持 TabBar 国际化(即使使用 locale/ 目录也不生效)。


✅ 推荐做法

平台 是否支持 pages.json tabbar 国际化 推荐方案
App(iOS/Android) ✅ 支持 使用 locale/ 目录 + %key%
H5 ✅ 支持 同上
微信小程序 ❌ 不支持 使用自定义 tabBar
鸿蒙 App ❌ 不支持 使用自定义 tabBar 或等待官方支持

✅ 示例:自定义 tabBar 国际化(小程序)

// 在自定义 tabBar 组件中  
computed: {  
  tabList() {  
    return [  
      {  
        pagePath: '/pages/index/index',  
        text: this.$t('tab.home')  
      },  
      {  
        pagePath: '/pages/profile/profile',  
        text: this.$t('tab.profile')  
      }  
    ]  
  }  
}

✅ 结论

微信小程序中 pages.json 的 tabbar 不支持国际化,建议使用自定义 tabBar 实现多语言切换。鸿蒙平台目前也不支持,需等待官方后续支持或采用自定义方案。

内容为 AI 生成,仅供参考

要回复问题请先登录注册