据我所知,XLIFF文件现在替换了Localizable.strings文件.在iOS 7 / OS X 10.9中,我们可以本地化复数形式.性别通过添加Localizable.stringsdict但这需要Localizable.strings存在.但是由于现在没有Localisable.strings文件,我如何才能使Localizable.stringsdict文件起作用?
解决方法
您可以参考此Objective-C project或此Swift project作为使用Xcode 6为复数使用字符串字典文件的示例.
关于XLIFF和Xcode 6的更多背景知识:
XLIFF (XML Localisation Interchange File Format) is an XML-based format created to standardize the way localizable data are passed between tools during a localization process. XLIFF was standardized by oasis in 2002.
当您单击编辑器 – >在Xcode中导出本地化,它将所有可本地化的资产打包成一个XLIFF文件,可以处理给翻译人员以本地化您的应用程序的字符串.由于XLIFF是标准化的文件格式,这意味着翻译人员和翻译工具不需要了解Apple的内部字符串格式.
这是一个example of the resulting XLIFF文档,通过导出上面引用的Swift project进行本地化.现在,翻译人员可以使用翻译平台或工具翻译您的应用程序内容,并返回本地化的XLIFF文件.作为开发人员,您可以使用Xcode的“导入本地化”功能将已翻译的XLIFF文件导入到项目中.这将导致Xcode从导入的XLIFF生成必要的特定于语言环境的字符串文件.
简而言之,您的项目开发方式没有任何改变. Xcode 6中添加的内容是一项简化本地化过程的新功能.
虽然有关复数和出口的本地化,但我应该提到一个警告.从Xcode 6.1开始,Apple的本地化导出功能仍缺乏正确导出复数形式的方法.这很可能是由于当前的XLIFF规范没有标准化的方法来管理字符串的多个表示.苹果有一个open bug来解决这个问题.