NSLocalizedString"localizedStringForKey:value:table:"

Emp*_*ack 9 iphone localization objective-c ios

- (NSString *)localizedStringForKey:(NSString *)key 
                              value:(NSString *)value 
                              table:(NSString *)tableName
Run Code Online (Sandbox Code Playgroud)

Doc说上面方法中的tableName参数为:接收者要搜索的字符串表.如果tableName为nil或为空字符串,则该方法尝试使用Localizable.strings中的表...

我的问题是,如果我们创建一个Localizable.strings,它会单独创建一个字符串文件.我们的项目中没有创建表格.桌子实际上在哪里?是否可以手动创建此类字符串表?我需要在我的项目中这样做......

我的最后一个问题是 - 作为tableName参数的参数传递了什么值?

谢谢...

Jon*_*her 18

在该上下文中,"表"指的是翻译文件.因此对于Localizable.strings,您可以使用NSLocalizedStringFromTable(@"foo",@"Localizable",@"comment")从中获取翻译.但是,Localizable.strings是默认值,因此您通常只使用NSLocalizedString(@"foo",@"comment").如果添加新的翻译文件(例如,Settings.strings),那么您可以使用表名来引用它.