Я пытаюсь использовать InAppSettingsKit для управления своими настройками. При этом используется файл Settings.bundle с файлом .plist и файлы .strings для каждого из переводимых языков.
Я могу подтвердить, что перевод моих строк работает правильно вне моего приложения, с помощью приложения Setting. Но когда я нахожусь в своем приложении, перевод не происходит.
Я думаю, что все сводится к такому коду из класса IASKSettingsReader InAppSettingsKit с парой операторов регистрации, которые, как мне показалось, были полезны:
- (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" с большой буквы, в том числе в файле Root.plist.
[_bundle localizedInfoDictionary]
возвращает (ноль); Это делается для двух языковых настроек: английского и французского.
Я не знаю, как это отладить. Спасибо за любую помощь, которую вы можете оказать.