У меня странная проблема с локализацией приложения. В предыдущей версии он работал нормально, но в последнее время он почему-то перестал работать, без каких-либо заметных изменений в файлах локализации (я добавил один язык, но это все).
Когда я устанавливаю сборку с помощью Xcode Organizer (Xcode 3.2.5), локализация работает только иногда. Изменение языковых настроек в ОС, похоже, ничего не дает. Удаление из Xcode Organizer, а затем повторная установка не помогают.
Похоже, API локализации не могут найти мои ресурсы. Я добавил несколько операторов NSLog() в один из моих ViewController, чтобы распечатать строку, которая должна быть локализована, используя эту функцию:
NSLog(@"Value: %@", [[NSBundle mainBundle] localizedStringForKey:@"MY_KEY" value:@"none found" table:nil]);
Когда локализация работает, это выводит ожидаемый результат. Когда локализация не работает, выводится «ничего не найдено». Я проверил содержимое пакета, все файлы .lproj есть. Что мне не хватает?
Изменить: я обнаружил, что после сборки некоторые из полученных файлов *.lproj/Localizable.strings для различных языков не создаются должным образом - иногда. Я могу коснуться немецкого файла, и он будет сгенерирован правильно, но в следующий раз, когда я запущу сборку, он будет неправильным. Кодировка для всех файлов Localizable.strings в настоящее время установлена на UTF-16, и я безуспешно пытался переключиться на UTF-8. Я не вижу никаких предупреждений или ошибок в журнале сборки, указывающих на проблему со строковыми файлами.