【问题标题】:Changing the development language in Xcode在 Xcode 中更改开发语言
【发布时间】:2014-11-10 09:11:04
【问题描述】:

我需要将西班牙语设置为 iOS 应用的开发语言。我已经在使用 Xcode 6,并且我将应用程序的 Info.plist (CFBundleDevelopmentRegion) 中的 Localization native development region 条目从“en”更改为“es”。但是,在 Project > Info > Localizations 中,英语仍然设置为开发语言。

正如Information Property List Key Reference 中所说,CFBundleDevelopmentRegion 指定默认语言。我需要将西班牙语设置为默认语言,我缺少什么?

谢谢

【问题讨论】:

    标签: ios localization internationalization info.plist


    【解决方案1】:

    对于像我一样需要帮助的人,我有两个目标,一个我想成为 EN Base 本地化,第二个目标我需要成为另一种语言。 上面提到的选项:“更改 projectname.xcodeproj/project.pbxproj 并搜索 developmentRegion 并更改 ...”由于目标而对我不起作用。

    Xcode 11.5 对我有用的是,我只需要为该特定目标更改“本地化本地开发区域”中的语言代码,它就可以工作,无需更改 projectname.xcodeproj/project.pbxproj 中的任何内容 附: 这里的“本地化本地开发区域”必须使用国家代码,如 fr_Fr 或在我的情况下为克罗地亚语的 hr

    【讨论】:

      【解决方案2】:

      对于 Xcode 9 到 11:

      关闭 Xcode。

      1. 在文本编辑器中打开您的 project.pbxproj
      2. 查找 developmentRegion 并设置其值(es 表示西班牙语,fr 表示法语,...)
      3. 查找 knownRegions 并将新语言添加到列表中

      打开 Xcode:您的项目信息现在应该显示语言名称,旁边是开发语言。

      【讨论】:

      • 找到你项目的.pbxproj文件:stackoverflow.com/a/3054073/4084269?
      • 显然不需要关闭 Xcode(至少在 Xcode 11 中)
      • 如何在 App Store 中添加几种语言作为应用语言?例如,我已经发布的应用语言只显示英语,但我想添加德语作为应用语言
      • @David 那是你可以在 App Store connect 上做的事情
      • 感谢您的回答@ahbou。但我找不到任何地方可以这样做。你能指导我吗?
      【解决方案3】:

      您可以这样做:

      1. 首先添加您想要作为基本语言的语言。 取消选中 Xcode 为您提供本地化的所有文件。
      2. Info.plist 中,将开发区域更改为您希望作为基本语言的语言。请注意,该属性的名称有点错误,因为它的值应该是语言代码(带有可选的国家/地区代码),而不是地区或国家/地区代码。
      3. 在 Xcode 中关闭您的项目。在另一个代码编辑器中,打开 projectname.xcodeproj/project.pbxproj 并搜索 developmentRegion。您应该会看到类似developmentRegion = English; 的行。更改此项以引用您在 Info.plist 文件中输入的相同语言。
      4. 在 Xcode 中重新打开项目。浏览所有可本地化的文件并选中英语旁边的框以生成可本地化的资源。请注意,对于故事板和 xib,Xcode 可能会创建故事板而不是字符串文件。如果发生这种情况,只需将文件类型更改为字符串文件。

      这是我使用fr 作为基本语言的结果示例:

      【讨论】:

      • 你是改成developmentRegion = francais,还是developmentRegion = fr
      • fr 是你要在这里使用的
      • 请注意,您可能还需要将语言代码添加到 knownRegions 列表(在 .pbxproj 文件中),以便它在项目设置下显示属性。
      • 如果您先添加本地化,​​则不需要这样做,这是此答案中说明的第 1 步。
      • 只是为了澄清。 developmentRegion 必须设置为 fr 而不是 francais。原因:project.pbxproj 的 developmentRegion 以export DEVELOPMENT_LANGUAGE=fr 传递给目标,该值通常在 Info.plist 中用作<key>CFBundleDevelopmentRegion</key<string>$(DEVELOPMENT_LANGUAGE)</string>CFBundleDevelopmentRegion 文档说它应该是 ISO 639-1 或 ISO 639-2 格式developer.apple.com/documentation/bundleresources/…。所以 'fr' 是正确的,而 'francais' 不是。
      【解决方案4】:

      打开您的目标 -> 信息 -> 将 “本地化原生开发区域” 更改为您的语言

      【讨论】:

      • 仅此还不够。
      【解决方案5】:

      在项目的 .xcodeproj 文件中,搜索字符串 developmentRegion。据说,它现在说的是“英语”。如果您将其更改为“西班牙语”,只要您将“西班牙语”添加到列表中,Xcode 6 就会在“信息”选项卡中将西班牙语识别为项目的默认本地化语言。

      您可以在http://eschatologist.net/blog/?p=224阅读有关此主题的更多信息

      【讨论】:

      • 谢谢。我刚刚完成了您解释的操作,现在我已在 Info > Localoizations 中将西班牙语设置为开发目标。但是,如果我将设备的语言更改为我未在本地化中定义的语言(假设是法语,因为我只定义了英语和西班牙语本地化),我的应用程序仍然以英语本地化,而不是像我一样以西班牙语本地化预计...
      • 在语言回退方面,设备可能设置为更喜欢英语而不是西班牙语。以下是有关如何在应用程序包中搜索本地化内容的一些见解:developer.apple.com/library/ios/documentation/CoreFoundation/…
      • 如果您想更改默认语言并且您的应用已经在商店中,请不要忘记在 iTunes Connect 中也进行更改。
      • @Arefly 在设备的语言和地区设置中,点击右上角的编辑按钮并重新排列语言列表,使英语在语言列表中低于西班牙语。
      猜你喜欢
      • 2015-09-08
      • 2015-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多