Локализация: сбой приложения при смене языка в симуляторе - PullRequest
11 голосов
/ 08 июля 2011

Чтобы локализовать свое приложение, я создал Localizable.strings для трех языков. Мне не нужно было локализовывать какие-либо файлы пера, так как я не использую их в своем проекте. Изображения не были локализованы, только строки. В коде я читаю строки, используя NSLocalizedStrings (@ "ключ", @ "комментарий"). Файлы Localized.strings используют формат UTF-16. Строки выглядят так: "Projects" = "Projekte";.

Когда я запускаю приложение в симуляторе и меняю язык, мое приложение, работающее в спине, падает (SIGKILL). Если я перезапущу приложение, я увижу, что язык был изменен, потому что метка кнопки «Редактировать» на немецком языке, но все мои строки все еще на английском.

Я прочитал много веток о локализации, у меня дома три книги по iOS, но я до сих пор не знаю, что я делаю неправильно.

Я забыл настроить что-то еще? Есть идеи?

1 Ответ

17 голосов
/ 08 июля 2011

Это потому, что когда вы меняете язык вашего устройства, SpringBoard убивает все приложения, так что они будут «загружать» новый язык при следующем запуске. Вы не можете изменить язык системы, не убив ваше приложение. У него есть , который нужно убить, если вы хотите сохранить новый язык.

Ваше приложение не падает. Это убито (SIGKILL) iOS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...