我正在尝试使用 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]
返回(空);它针对英语和法语两种语言设置执行此操作。
我不确定如何调试它。谢谢你提供的所有帮助。