uni-app 手机语言繁体中文 地区台湾 IOS APP 调用chooseImage时 用户点击相册拍照 提示文字均为英文 未国际化

发布于 1周前 作者 yuanlaile 来自 Uni-App

uni-app 手机语言繁体中文 地区台湾 IOS APP 调用chooseImage时 用户点击相册拍照 提示文字均为英文 未国际化

操作步骤:

  • 打开相机

预期结果:

  • 出现繁体中文按钮

实际结果:

  • 出现英文按钮

bug描述:

只有一个繁体中文的时候 打开相机按钮都是英文
如果添加一个简体中文 就可以显示出繁体
按照官方解决办法
https://uniapp.dcloud.net.cn/tutorial/i18n.html#框架内置组件和api国际化
根目录已经添加过

  • locale
    • uni-app.zh-Hant.json
    • uni-app.zh-Hant-TW.json

都无效

Image 1 Image 2 Image 3


1 回复

在处理uni-app中关于国际化的问题时,尤其是涉及到手机语言设置为繁体中文(地区为台湾)、iOS系统上调用chooseImage时相册拍照提示文字未国际化的问题,我们需要确保uni-app的国际化配置正确,并且系统语言能够被正确识别和应用。

首先,确保你的uni-app项目中已经配置了国际化文件。在uni-app中,国际化通常通过pages.json中的globalStyle.i18n字段和对应的语言文件(如zh-TW.json)来实现。

以下是一个简化的示例,展示如何配置繁体中文(台湾)的国际化:

  1. 配置pages.json
{
  "globalStyle": {
    "i18n": {
      "common": {
        "zh-TW": "path/to/zh-TW.json"
      }
    }
  }
}
  1. 创建语言文件zh-TW.json

在你的项目根目录或指定的path/to/路径下创建zh-TW.json文件,并添加必要的翻译内容。对于chooseImage的提示,虽然uni-app的API通常会自动根据系统语言显示,但如果有特定的提示需要覆盖,可以在此文件中定义。

{
  "chooseImage": {
    "拍照": "攝影",
    "从相册选择": "從相簿選擇"
  }
}

注意:实际上,chooseImage的提示文字通常是由原生系统控制的,uni-app可能无法直接修改这些提示。如果系统语言设置为繁体中文(台湾),但提示仍然是英文,这可能是由于iOS系统的特定行为或uni-app的bug。

  1. 在代码中引用国际化

对于可控制的文本(如按钮标签、页面标题等),你可以在代码中通过$t函数引用国际化内容:

// 假设你有一个按钮,其文本需要国际化
<button>{{$t('chooseImage.拍照')}}</button>

然而,对于chooseImage的原生提示,如果上述方法无效,可能需要考虑以下几种解决方案:

  • 向uni-app官方反馈:这可能是一个需要官方修复的bug。
  • 自定义UI:如果系统提示无法修改,考虑使用自定义的拍照和相册选择界面,以完全控制提示文本。

最后,确保在测试时,设备的系统语言已经正确设置为繁体中文(台湾),并且应用已经重启以应用新的语言设置。

回到顶部