Локализация в Swift 2

Я хочу локализовать свое приложение; Я использую Swift 2. Я следил за этим уроком, но у меня есть 2 проблемы.

1. Локализованное изображение исчезает для обоих языков

Я локализовал несколько изображений таким же образом для немецкого и английского языков. Один набор изображений (en и версии изображения) исчезает для обоих языков. Я добавил их, они находятся в папке проекта, и я не вижу никакой разницы с другими изображениями, которые я локализовал.

Я пробовал

  • очистка и запуск проекта (без ошибок)
  • удалили изображения и добавили их снова
  • удален и добавлена ​​локализация

... ничего не помогло. Любая идея?

2. Ошибка w/ NSLocalizedString и Localizable.strings

Я создал Localizable.strings для локализации строк приложения. Вот как я делаю их локализуемыми:

button.setTitle(NSLocalizedString("buttonTitle", comment: "MyButton"), forState: .Normal)

В Localizable.strings для английского я добавил:

"buttonTitle" = "MyButton"

... и для немецкого языка:

"buttonTitle" = "MeinButton"

Теперь Xcode не показывает ошибок в коде, но он говорит

Сбой чтения:
Данные не могут быть прочитаны, потому что они не в правильном формате.


Есть идеи?
Спасибо заранее:)


Изменить

Проблема № 2 была решена, я пропустил там ;. Благодаря кодированию Voldemort!

Ответ 1

  1. Я думаю, что вы пропустили точку с запятой на Localizable.strings после каждой пары значений ключа.

Ответ 2

В Localizable.strings для английского и немецкого вы пропустили запятую в конце инструкции.

Он должен выглядеть следующим образом:

"buttonTitle" = "MyButton"; и

"buttonTitle" = "MeinButton";

Для этого вы можете сослаться на Apple docs.

Снимок экрана

Ответ 3

Я немного опоздал, но если вы все еще ищете решение для задачи № 1:

Вы можете использовать решения, представленные в этом руководстве; есть раздел Интернационализация изображений.

"После выбора [вашего изображения] в Навигаторе проектов нажмите кнопку" Локализовать "в разделе" Инспектор файлов ". Это должно предоставить вам возможность" Локализовать файл на английском и немецком языках ".

При этом я не уверен, будет ли это работать на Swift 2 (если вы все еще там); но это должно быть возможно с современной версией Xcode/IDE.