2010-09-24 2 views
5

Локализация работает на других языках, за исключением английского, довольно хорошо. Каждый раз, когда я компилирую свое приложение, я вижу имя ключа вместо локализованной строки. Пример:Интернационализация: вместо локализованной строки в Simulator отображается только имя ключа.

NSLocalizedString(@"WelcomeKey", @"") 

В Localizable.strings у меня есть соответствующая запись:

"WelcomeKey" = "Welcome"; 

В тренажере я всегда получаю имя ключа WelcomeKey вместо Welcome. На устройстве это работает отлично. В симуляторе нет!

Я также узнал, что мой файл EN Localizable.strings был полон "???????" символы. Поэтому я добавил старые значения и сохранил их в Xcode. Я также добавил запись вручную вместо использования genstrings. В симуляторе второй язык также отлично работает. Проблема в том, что только английский. Возможно, я удалил английский.lproj и создал папку EN.lproj?

Я попытался:

  1. Empty Cache
  2. Clean все мишеням
  3. Удалить "Поддержка пользователей/ххх/Library/Application/iPhone Simulator/пользователя" папку
  4. Restart Mac
  5. Конвертировать в UTF-16
  6. Создано new Localizable.strings для EN
  7. Del ete EN.lproj и файлы. Сделана локализация совершенно новой.

Что мне не хватает? Я думаю, что имитатор ненавидит английский ...

Edit:

Так что я пытался скомпилировать это приложение на другом компьютере. Там он работает без проблем в симуляторе! Таким образом, либо это параметр в Xcode, либо проблема с кешем.

ответ

2

Таким образом, вы должны удалить приложение из iPhone/iPhone симулятор первым.

Нажмите и удерживайте мыши на приложение в симуляторе, пока она не начнет шевелить. Затем нажмите X. Он удалит. Затем нажмите кнопку «домой», чтобы кнопки перестали шевелить.

+0

No workie for me – jjxtra

+1

Ха-ха, спасибо, такая простая вещь, но ни один из уроков не упоминает об этом! – Denis

0

Убедитесь, что ваша кодировка Localizable.strings - UTF-16.

+0

Как я могу следить за форматом кодирования? Я создал файл, используя File> New File> Under «Mac OS X» в «Other», выберите «Empty File». Как изменить кодировку? – testing

+0

Сохранить как ... в TextEdit. Вы можете выбрать кодировку для текстовых файлов. – diederikh

+0

Спасибо, но это не решило проблему ... – testing

0

У меня также был Localizable.strings полный тарабарщины, он помог сохранить файл как UTF-8.

0

Единственный вариант, который работал для меня - это сброс содержимого и настроек симулятора в меню iOS Simulator.

0

1 - Попробуйте удалить и перестроить проект.

ИЛИ

2 - Перейти к Localizable.strings файла инспектора и снимите флажок из состава целевой. Создавайте эти параметры один раз и удаляйте эту сборку. Теперь вернитесь в меню локализации файла Localizable.string и добавьте целевое членство.

ИЛИ

3 - Вы можете иметь несколько Localizable.strings (например sharekit) в вашем проекте. Попробуйте снять целевое членство для других localizable.strings.

Смежные вопросы