Xcode 6使用XLIFF对复数和性别进行本地化

Xcode 6中,XLIFF文件格式现在用于字符串的本地化.但是,我需要本地化复数和性别.我怎么能在Xcode 6中做到这一点?

据我所知,XLIFF文件现在替换了Localizable.strings文件.在iOS 7 / OS X 10.9中,我们可以本地化复数形式.性别通过添加Localizable.stringsdict但这需要Localizable.strings存在.但是由于现在没有Localisable.strings文件,我如何才能使Localizable.stringsdict文件起作用?

解决方法

从Xcode 6开始,Apple使用XLIFF作为导出项目进行本地化的文件格式.但是,项目内部没有任何变化.您应该继续使用Localisable.strings和Localizable.stringsdict文件来处理 Handling Noun Plurals and Units of Measurement上每个Apple文档的复数形式.

您可以参考此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解决这个问题.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...