ОК, я официально ошеломлен.Некоторое время назад я запустил проект IOS и немного запутался с локализацией, которая стала чем-то вроде беспорядка, потому что я еще не знал, как это сделать правильно.
Теперь я решилсделать локализацию с нуля, и, следовательно, выбросил все файлы .strings и создал правильную многоязычную структуру.Я начал с пустых файлов Localizable.strings и запустил приложение, чтобы посмотреть, правильно ли я все почистил.С пустыми файлами Localizable.string я предположил, что мои вызовы «NSLocalizedString» просто вернут ключ в виде текста.Они неОни по-прежнему возвращают старый текст, который был у меня в старых файлах .strings.
Просто чтобы быть уверенным, я помещаю оператор NSLog в один из вызовов NSLocalizedString, например:
NSString *text = NSLocalizedString( key, nil );
NSLog(@"key=%@ text=%@", key, text);
Затем я ищу на всем жестком диске текст, который был возвращен.Ни один файл на моем жестком диске не содержит строку, которую возвращает NSLocalizedString.И эта строка полностью отличается от ключа, поэтому NSLocalizedString также не может ее сконструировать.
Кто-нибудь знает, как это может произойти?Кешируется ли старая информация где-то XCode?Как я могу убедить инструмент использовать новые файлы Localizable.strings?Очевидно, я уже «очистил» и перестроил весь проект.