我正在创建一个具有多种变体的应用。
这些变体将由多个 Localizable.strings 文件中的几个字符串控制。
但是,90% 的字符串将保持不变。
我想要它,以便每个独特的 Localizable.strings 文件都导入“主”文件,这样当我想更改一个通用文件时,我就不必遍历每个应用程序变体文件字符串。
这可能吗?
最佳答案
两种选择:
在
NSLocalizedString
周围使用自定义包装函数为您进行分层查找,然后在默认情况下回退到NSLocalizedString
机制。我之前写了一个关于如何做到这一点的答案:Can .strings resource files be added at runtime?
每种语言使用多个 .strings 文件。 默认在“Localizable.strings”中查找内容,但
NSLocalizedStringFromTable()
函数允许您指定自定义“表”名称。因此,如果您将“Configuration”作为表名传入,它将在“Configuration.strings”文件中查找内容。我开发了一个应用程序来执行此操作。我们有两个不同的 .strings 文件。一个控制品牌设置(使用什么名称、使用什么图像、使用什么服务器等),另一个包含所有实际翻译的字符串。应用程序包中只有一个品牌信息副本,我们选择了正确的变体在编译时与一些自定义脚本一起使用。效果非常好。
关于iphone - IOS/iPhone : Nested Localizable. 字符串文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7712318/