我正在嘗試使用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);這是對英語和法語的兩種語言設置。
我不知道如何調試。謝謝你提供的所有幫助。