基于Xcode 6的国际化

过去的国际化

app的国际化一直是很重要的环节,但是在Xcode 6以前,需要国际化的文件散落在不同的地方,例如Localizable.strings,InfoPlist.strings, storyboard.strings … 很多文件中,在国际化的过程中,往往是国际化团队翻译完成,然后移交给开发人员。开发人员在核对并填写入的过程中,难免有疏漏或错误,很是麻烦,直到Xcode 6

优点

  • 与开发人员分离,开发人员只需要导出与导入。
  • 对非开发人员友好,容易理解和操作。
  • 一个文件便可以解决所有的国际化工作。

准备工作

  • 确保development language是不需要翻译的语言。更改方式:进入项目的pbproject文件,然后以编辑器打开,搜索developmentRegion,把它的值改为你不需要翻译的语言,如果是简体中文就是zh-Hans,英文就是Enligsh,这里我也不是很明白,为什么其他语言使用的都是标准缩写,而英语确是用的English而不是en
  • 使用Xcode 6.3.2及以上版本。已知之前的版本在导出时做的不足够好,经常会失败。

导入与导出

在项目导航栏中点选项目,单击Editor,就可以执行导入与导出工作

其他

Xcode导出xliff文件的时候可能会遭遇各种问题,有的问题有错误信息提示有的没有,对于没有提示的错误,可以使用终端命令导出的方式,会遭遇到同样的错误,但是会有明确的提示告诉你问题出在哪里。

命令格式

1
xcodebuild -exportLocalizations -localizationPath <dirpath> -project <projectname> [[-exportLanguage <targetlanguage>]]

其中dirpath projectname targetlanguage是变量,记得去掉所有的尖括号和方括号