我正在尝试使用InAppSettingsKit来管理我的设置。这将使用带.plist文件的Settings.bundle以及所翻译的每种语言的.strings文件。使用InAppSettingsKit从Settings.bundle本地化字符串
我可以使用设置应用程序确认我的字符串的翻译在我的应用程序之外正常工作。但是,当我在我的应用程序中,翻译没有发生。
我认为它归结为这样的代码,从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]
returns(null);这是对英语和法语的两种语言设置。
我不知道如何调试。谢谢你提供的所有帮助。