Локализация работает на других языках, за исключением английского, довольно хорошо. Каждый раз, когда я компилирую свое приложение, я вижу имя ключа вместо локализованной строки. Пример:Интернационализация: вместо локализованной строки в Simulator отображается только имя ключа.
NSLocalizedString(@"WelcomeKey", @"")
В Localizable.strings у меня есть соответствующая запись:
"WelcomeKey" = "Welcome";
В тренажере я всегда получаю имя ключа WelcomeKey
вместо Welcome
. На устройстве это работает отлично. В симуляторе нет!
Я также узнал, что мой файл EN Localizable.strings был полон "???????" символы. Поэтому я добавил старые значения и сохранил их в Xcode. Я также добавил запись вручную вместо использования genstrings
. В симуляторе второй язык также отлично работает. Проблема в том, что только английский. Возможно, я удалил английский.lproj и создал папку EN.lproj?
Я попытался:
- Empty Cache
- Clean все мишеням
- Удалить "Поддержка пользователей/ххх/Library/Application/iPhone Simulator/пользователя" папку
- Restart Mac
- Конвертировать в UTF-16
- Создано new Localizable.strings для EN
- Del ete EN.lproj и файлы. Сделана локализация совершенно новой.
Что мне не хватает? Я думаю, что имитатор ненавидит английский ...
Edit:
Так что я пытался скомпилировать это приложение на другом компьютере. Там он работает без проблем в симуляторе! Таким образом, либо это параметр в Xcode, либо проблема с кешем.
No workie for me – jjxtra
Ха-ха, спасибо, такая простая вещь, но ни один из уроков не упоминает об этом! – Denis