【发布时间】:2014-03-31 19:58:08
【问题描述】:
在 iOS/Objective-C 中,是否可以为相同的语言环境代码使用不同的可本地化字符串? 我的应用程序有两个非常不同的区域,我不想将两个区域中的所有字符串都填充到同一个 Localizable.strings 文件中。
【问题讨论】:
-
您能否提供对相关语言环境的更多了解。这可能是相关的。
标签: ios objective-c localization
在 iOS/Objective-C 中,是否可以为相同的语言环境代码使用不同的可本地化字符串? 我的应用程序有两个非常不同的区域,我不想将两个区域中的所有字符串都填充到同一个 Localizable.strings 文件中。
【问题讨论】:
标签: ios objective-c localization
绝对 - 第 3 方组件(应该)都这样做。
不要使用NSLocalizedString,而是使用NSLocalizedStringFromTable:
NSString * NSLocalizedStringFromTable(
NSString *key,
NSString *tableName,
NSString *comment
)
其中 tableName 是要使用的 .strings 文件的名称。
为程序的每个部分创建一个宏可能很有用,例如:
#define myComponentString(str) NSLocalizedStringFromTable(str, @"MyComponent", nil)
它将在名为“MyComponent.strings”的文件中查找字符串。
【讨论】: