如何在国际化我的应用之前更改Xcode中的开发语言?

我正在接pipe一个完全用法文写的应用程序。 代码中的string用法语进行硬编码,故事板中的所有信息都是法文的。 但Info.plist中最初的开发区域是英文的。 所以我将CFBundleDevelopmentRegion更改为fr,以便它符合所使用的实际语言。 但XCode不断告诉我,我的开发语言是英语:

XCode 6.3.2项目信息选项卡

我该如何纠正? 目标是能够激活基地国际化,并使用法语作为基础语言而不是英语。

以下程序适用于我,但它包括手动编辑project.pbxproj文件:

  1. 退出XCode
  2. 用你最喜欢的文本编辑器打开project.pbxproj文件
  3. 更新以下部分(near developmentRegion ):

旧:

  developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); 

新:

 developmentRegion = fr; hasScannedForEncodings = 0; knownRegions = ( fr, Base, ); 

我创build了一个GitHub仓库,其中包含一个最初以英语作为默认开发语言创build的示例项目,然后按上述步骤进行更新,以使用法语作为开发语言。

项目ScreenShot

我可能已经知道了。

我已经build立了一个瑞典语的应用程序,但开发语言设置为英语。

我手动编辑了MyProject.xcodeproj/project.pbxproj 。 有这样两行:

 91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; }; 

和本节:

 developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); 

像这样将所有“en”改为“sv”:

 91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = "<group>"; }; 

 developmentRegion = Swedish; hasScannedForEncodings = 0; knownRegions = ( sv, Base, ); 

并将文件MyProject/en.lproj/InfoPlist.stringsMyProject/sv.lproj/InfoPlist.strings似乎已经修复它。 现在“发展语言”显示为瑞典语,我可以添加英文翻译。

添加翻译后,故事板上有一个展开三angular形,其中基本语言是现有的瑞典语版本,翻译是英语中的string文件。

故事板上有英文翻译。好极了。

我想用自己的“开发人员”语言来开发项目,在NSLocalizedString中使用占位符而不是实例“WLAN_NOT_AVAILABLE”中的实际文本,稍后将用不同的语言(包括英文)进行翻译。 我不喜欢什么时候必须在代码中写出完整的句子。

我只是打开* .xcodeproj文件夹中的* .pbxproj文件,并将以下行更改为:

 developmentRegion = Base; 

之后,英语不再是发展语言,我可以把它当作其他任何东西来对待。 这给了你作为开发者写短文本占位符的可能性,并把正确的拼写委托给你的团队中的另一个人。

我希望我能理解这个问题。 AFAIK,使用Xcode的GUI来实现你想要的东西非常简单,如下所述: https : //developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/InternationalizingYourUserInterface/InternationalizingYourUserInterface.html

select项目导航器(右侧)中Supporting Files组下的Info.plist文件。 然后,在Localization native development region的编辑器视图中,单击“英语”右侧的上下箭头并selectFrance

打开基本语言选择

这应该是。 尽pipeXcode有时不会更新项目设置的“Info”视图。

下面是一个使用cocoapods库来改变Xcode项目开发区域的Ruby脚本:

 require 'fileutils' require 'Xcodeproj' filename = ARGV.first raise "Argument '#{filename}' is not a valid .xcodeproject" unless filename && File.directory?(filename) && File.extname(filename).downcase == ".xcodeproj" puts "Region to set: " region = $stdin.gets.chomp project = Xcodeproj::Project.open(filename) project.root_object.development_region = region project.save puts "#{project.path}", "development_region = #{project.root_object.development_region}" 

https://www.ralfebert.de/snippets/ios/xcode-change-development-language/