【发布时间】:2011-10-22 07:17:39
【问题描述】:
我正在尝试使用 InAppSettingsKit 来管理我的设置。这将 Settings.bundle 与 .plist 文件和 .strings 文件用于每种被翻译的语言。
我可以使用设置应用程序确认我的字符串翻译在我的应用程序之外正常工作。但是当我在我的应用程序中时,翻译没有发生。
我认为归结为这样的代码,来自 InAppSettingsKit 类 IASKSettingsReader,其中包含一些我认为对我有帮助的日志记录语句:
- (NSString*)titleForStringId:(NSString*)stringId {
NSLog(@"%@",[_bundle localizedStringForKey:stringId value:stringId table:self.localizationTable]);
NSLog(@"%@",[_bundle localizedInfoDictionary]);
return [_bundle localizedStringForKey:stringId value:stringId table:self.localizationTable];
}
如果我理解正确,这应该使用名称为self.localizationTable 的表作为翻译源。这个值只是“根”。这不是所选语言的Root.strings 文件的路径,所以我猜测localizedStringForKey:value:table: 方法必须使用一些指向正确路径的全局系统引用。
我已经确认字符串文件名是“Root.strings”,大写的 R,包括在 Root.plist 文件中。
[_bundle localizedInfoDictionary] 返回 (null);它针对英语和法语两种语言设置执行此操作。
我不确定如何调试它。感谢您提供的任何帮助。
【问题讨论】:
标签: ios localization settings.bundle