在Xcode中更改开发语言


80

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

如“信息属性列表密钥参考”中所述CFBundleDevelopmentRegion指定默认语言。我需要将西班牙语设置为默认语言,我缺少什么?

谢谢

Answers:


89

这是您可以执行的操作:

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

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

项目信息

档案资讯


3
您是否将行更改为developmentRegion = francaisdevelopmentRegion = fr
Flimm

2
fr是您想要在这里使用的
镜头

3
请注意,您可能还需要将语言代码添加到knownRegions列表(在.pbxproj文件中),以使其在项目设置下显示属性。
Patrick Pijnappel

1
如果首先添加本地化,​​则无需这样做,这是此答案中说明的第1步。
lensovet

2
只是为了澄清。developmentRegion必须设置为fr而不是francais。原因:project.pbxproj的developmentRegion被传递给目标,export DEVELOPMENT_LANGUAGE=fr并且该值通常用于<key>CFBundleDevelopmentRegion</key<string>$(DEVELOPMENT_LANGUAGE)</string>Info.plist中,并且CFBundleDevelopmentRegion文档说它应该采用ISO 639-1或ISO 639-2格式developer.apple.com/documentation/bundleresources /…。因此,“ fr”是正确的,而“ francais”则不正确。
nacho4d

51

对于Xcode 9到11:

关闭Xcode。

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

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


2
要找到你的项目的.pbxproj:文件stackoverflow.com/a/3054073/4084269 😉
乔斯林

显然,不需要关闭Xcode(至少在Xcode 11中)
Snowy_1803,

如何在App Store中添加几种语言作为应用程序语言?例如,我已经发布的应用程序语言仅显示英语,但是我也想添加德语作为应用程序语言
David

@David,这是您可以在App Store Connect上执行的操作
ahbou

感谢您的答复@ahbou。但是我找不到任何地方可以这样做。你能指导我吗?
David

37

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

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


1
谢谢。我已经完成了您的解释,现在我将西班牙语设置为“信息”>“本地化”中的“开发目标”。但是,如果我将设备的语言更改为未在本地化中定义的语言(假设是法语,因为我只定义了英语和西班牙语的本地化),那么我仍然将应用程序本地化为英语,而不是西班牙语预期...
AppsDev

关于语言回退,该设备可能设置为首选英语而不是西班牙语。以下是关于应用程序的包是如何搜索本地化内容的一些见解:developer.apple.com/library/ios/documentation/CoreFoundation/...
Elwisz

1
如果要更改默认语言并在商店中已有您的应用程序,请不要忘记也在iTunes Connect中进行更改。
Vive 2015年

@在设备上的“语言和区域”设置中,点击右上角的“编辑”按钮,然后对语言列表进行重新排序,以使英语在语言列表中位于西班牙语下方。
lensovet

5

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


14
仅此一项是不够的。
lensovet

0

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

对我而言,Xcode 11.5是对我有用的,只是我需要为该特定目标更改“本地化本机开发区域”中的语言代码,并且它可以工作,而无需在projectname.xcodeproj / project.pbxproj PS中进行任何更改“本地化本地开发区域”必须输入国家代码,例如fr_Fr,在我的情况下,hr表示克罗地亚语

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.