Xcode 两个目标和两个可本地化的.Strings(一个基)
我有一个简单的问题,我不知道如何使它工作Xcode 两个目标和两个可本地化的.Strings(一个基),xcode,swift,target,localizable.strings,Xcode,Swift,Target,Localizable.strings,我有一个简单的问题,我不知道如何使它工作 我有两个目标: TargetApp1 TargetApp2 我有两个可本地化的.string: 第二语言的翻译 对于不同的名称(两种语言),仅适用于TargetApp2 例如: 我有一个按钮,一条文字,或者别的什么。在每个应用程序上,它应该是不同的 TargetApp1:en:“商店”-lg:“商店” TargetApp2:en:“经销商”-lg:“经销商” 我尝试为两个目标保留第一个Localizable.strings,并仅为第二个目标保
- 我有两个目标:
- TargetApp1
- TargetApp2
- 我有两个可本地化的.string:
- 第二语言的翻译
- 对于不同的名称(两种语言),仅适用于TargetApp2
- TargetApp1:en:“商店”-lg:“商店”
- TargetApp2:en:“经销商”-lg:“经销商”
我尝试为两个目标保留第一个Localizable.strings,并仅为第二个目标保留第二个Localizable.strings。问题是一次只加载一个Localizable.strings。我想知道如何使TargetApp2使这两个本地化.strings相互补充。如果我正确理解了您的问题,您需要为您的
本地化.strings文件指定不同的名称,然后使用,否则,正如您所发现的,它们会冲突,并且在运行时只使用一个
e、 g
- 将Target1的
保留为可本地化的.strings
- 将Target2的
可本地化的.strings
重命名为额外的.strings
- 使用第二个表中字符串的任何位置,请使用
NSLocalizedStringFromTable(键@“Extra”,注释)
我第一次遇到这个问题是在添加AmazonAWS库时,该库包含自己的Localizable.strings
,可以任意使用,而不是我的。然而,因为该文件中只有几个字符串,所以本地化似乎不起作用。那是一个有趣的2天调试
敏捷的
在Swift中,NSLocalizedStringFromTable
不存在该确切名称。相反,表
是NSLocalizedString
func NSLocalizedString(
key: String,
tableName: String? = default,
bundle: NSBundle = default,
value: String = default,
#comment: String) -> String
使用Swift,您只需将受影响字符串的NSLocalizedString(key:key,comment:)
更改为NSLocalizedString(key:key,table:“Extra”comment:)
。如果我正确理解了您的问题,您需要为可本地化的.strings文件指定不同的名称,然后使用,否则,正如您所发现的,它们将发生冲突,并且在运行时只使用一个
e、 g
- 将Target1的
保留为可本地化的.strings
- 将Target2的
可本地化的.strings
重命名为额外的.strings
- 使用第二个表中字符串的任何位置,请使用
NSLocalizedStringFromTable(键@“Extra”,注释)
我第一次遇到这个问题是在添加AmazonAWS库时,该库包含自己的Localizable.strings
,可以任意使用,而不是我的。然而,因为该文件中只有几个字符串,所以本地化似乎不起作用。那是一个有趣的2天调试
敏捷的
在Swift中,NSLocalizedStringFromTable
不存在该确切名称。相反,表
是NSLocalizedString
func NSLocalizedString(
key: String,
tableName: String? = default,
bundle: NSBundle = default,
value: String = default,
#comment: String) -> String
使用Swift,您只需将受影响字符串的NSLocalizedString(key:key,comment:)
更改为NSLocalizedString(key:key,table:“Extra”comment:)
。我实际上是在用Swift编程。NSLocalizedStringFromTable在swift中不存在。不,不是该名称。如果内存正常,“table”是Swift中NSLocalizedString
中的可选参数。value参数的用途是什么?我在苹果的文档中没有找到任何描述。如果您提供一个值,如果没有提供密钥的翻译,这将作为默认值使用。如果没有这个参数,密钥本身被用作默认值。我实际上是在用Swift编程。NSLocalizedStringFromTable在swift中不存在。不,不是该名称。如果内存正常,“table”是Swift中NSLocalizedString
中的可选参数。value参数的用途是什么?我在苹果的文档中没有找到任何描述。如果您提供一个值,如果没有提供密钥的翻译,这将作为默认值使用。如果没有此参数,则密钥本身将用作默认值