使用React-Native和Expo为iOS应用程序设置不同的语言

4
我有一个使用expo编写的react-native应用程序,我希望我的应用程序只支持一种语言 - 波兰语。问题是,一些内置组件没有被翻译,例如当应用程序请求权限时,它们是英文的,尽管手机语言设置为波兰语。这个问题只出现在iOS上,安卓没问题。
我认为我需要将主要语言设置为波兰语,但在以下选项中没有这样的选项: iTunes Connect -> My apps -> App Store -> App information -> Localizable Information
我也阅读了这篇文章: https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/DisplayInMoreLanguages.html 他们说如果我不能选择我想要的语言: “没有为该语言输入元数据” 所以如何添加一个?
我没有作为iOS开发人员的任何经验。
您有什么想法如何解决这个问题?

Xcode项目中的开发语言是什么?更改它是否会得到您想要的结果? - Mats
1
@Mats正在使用Expo进行开发,这不允许您访问Xcode项目环境。 - MattyK14
1个回答

2
当然,您可以在app.json中进行设置。示例如下(以下是我的应用程序的实际JSON,使用西班牙语)。
在expo.ios.infoPlist属性中添加如下内容:
        "CFBundleLocalizations" : ["es"],
        "CFBundleDevelopmentRegion" : "es",

请注意,CFBundleLocalizations是一个数组,因此您可以添加多个语言。

在expo属性中添加以下内容:

    "locales": {
      "es": "./locales/es.json"
    }

最后,创建./locales/es.json文件(记住,这是西班牙语的情况,只需将“es”更改为“fr”,“de”等),并使用空json填充其内容。
{
}

但是如果你需要使用多种语言,请注意:

  1. 每种语言需要一个本地化文件和一个json文件。
  2. 在本地化的json文件中填写名称、描述和权限信息。
{
    "NSLocationWhenInUseUsageDescription": "Necesitamos saber tu ubicación para poder mostrarte los eventos más cercanos a ti. Nunca la compartiremos con nadie."
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接