对于任何给定的语言(即多个.strings
文件),您可以拥有多个字符串表。当你想要一个本地化的字符串时,你可以通过以下方式获得它:
NSString *str;
// Look up string in Full.strings
str = [[NSBundle mainBundle] localizedStringForKey:@"SomeKey"
value:@"DefaultValue"
table:@"Full"];
// Look up strings in Lite.strings
str = [[NSBundle mainBundle] localizedStringForKey:@"SomeKey"
value:@"DefaultValue"
table:@"Lite"];
由于此方法的表可以是可变的,因此您甚至可以在运行时切换它。以上假设您有一张Full.strings
桌子和一张Lite.strings
桌子。
Full.strings
"SomeKey" = "This string appears in the full version";
Lite.strings
"SomeKey" = "This string appears in the lite version";
您可能不想将它们一起发送,如果是这种情况,您可以配置 Info.plist 以包含用于特定目标的表的名称(如果添加一个名为 的条目"TableToUse"
,您可以通过 获取它[[[NSBundle mainBundle] infoDictionary] objectForKey:@"TableToUse"]
)