我有一个简单的问题,我无法弄清楚如何使其发挥作用。
我有两个目标:
我有两个Localizable.strings:
实施例: 我有一个按钮,一个文本或其他东西。在每个应用程序上它应该是不同的。
我尝试为两个目标保留第一个Localizable.strings,并仅为第二个目标创建第二个Localizable.strings。问题是一次只加载一个Localizable.strings。我想知道如何使TargetApp2使Localizable.strings互为补充。
答案 0 :(得分:1)
如果我已正确理解您的问题,您需要为Localizable.strings
个文件指定不同的名称,然后使用NSLocalizedStringFromTable,否则,正如您所发现的那样,它们会发生冲突,只有一个在运行时使用。
e.g。
Localizable.strings
原样Localizable.strings
Extra.strings
我在添加包含自己的NSLocalizedStringFromTable(key, @"Extra", comment)
的Amazon AWS库时首次遇到此问题,该库将被任意使用而不是我的。{1}}。但是,因为该文件中只有几个字符串,所以看起来好像本地化不起作用。这是一个有趣的2天调试!
Localizable.strings
与Swift中的确切名称不存在。相反,NSLocalizedStringFromTable
是table
NSLocalizedString
使用Swift,您只需要为受影响的字符串将func NSLocalizedString(
key: String,
tableName: String? = default,
bundle: NSBundle = default,
value: String = default,
#comment: String) -> String
更改为NSLocalizedString(key: key, comment: "")
。