Локализация моего приложения для iphone, неправильное использование локализованных файлов

#objective-c #xcode #localization #plist #xib

#objective-c #xcode #локализация #список #xib

Вопрос:

Я пытаюсь локализовать свое приложение. Я добавил локализацию «sv» (шведский). Я локализовал как свой файл xib, так и список с некоторой необходимой мне информацией.

При настройке симулятора на английский язык он использует английский xib. Кроме того, при настройке симулятора на шведский (как язык, так и регион) он по-прежнему использует английский xib по умолчанию.

Для списка все наоборот. Он всегда использует sv-версию, независимо от того, использую ли я настройки на английском или шведском языках.

Я всегда меняю язык и регион.

Я предполагаю, что мне не нужно делать ничего особенного в коде, приложение должно просто выбрать правильный файл на основе настроек на телефоне, верно?

Я не знаю, как отсюда отлаживать или устранить проблему. Пожалуйста, дайте совет.

Спасибо!

Ответ №1:

Вероятно, вы сделали что-то не так с конфигурацией вашего проекта — вы используете правильный языковой код.

Я могу только предположить, что у вас есть папка sv.lproj в каталоге вашего проекта, которая содержит локализованные версии файлов из en.lproj .

Я рекомендую вам создать новое приложение и добавить в него только локализованный список и проверить, работает ли оно. Возможно, это сработает, и вы сможете синхронизировать конфигурацию проекта или просто переместить код со старого на новый.

Комментарии:

1. На самом деле, у меня есть English.lproj, а не en.lproj. Может ли это быть проблемой? Могу ли я просто переименовать English.lproj в en.lproj или я что-то испорчу, если сделаю это? У меня также есть se.lproj в качестве оставшегося каталога после того, как я использовал неправильную локализацию для Швеции. Я удалил эту локализацию, но его каталог все еще остается. Думаю, это не должно быть проблемой, но с xCode никогда не знаешь наверняка…

2. Невозможно изменить название каталога на английском языке, если я это сделаю, то ссылка на эти файлы будет разорвана.

3. Вам следует изучить проблему со шведским каталогом, для английского это не имеет значения. Английский, немецкий, французский и испанский — единственные языки, которые могут иметь более длинные названия.

4. Я это сделал. Безуспешно… Я добавил все файлы, а затем локализовал некоторые файлы (plist и xib), теперь используется только английский по умолчанию. Я также пробовал немецкий (de), но безуспешно… Я предполагаю, что должна быть возможна локализация файла plist?

Ответ №2:

Очистите все целевые объекты… Я хотел это сделать, но это всегда было отключено. Но поскольку я такой новичок, я не подумал о том, что очистить target можно только тогда, когда приложение не запущено в симуляторе. Но очистка целевых объектов заставила его работать.

Сброса содержимого приложения было недостаточно, но мне нужно как очистить цели, так и сбросить симулятор, чтобы заставить его работать.

Я был бы очень рад получить подтверждение того, что это то, что должно быть необходимо, или если в моем приложении / xCode что-то не работает должным образом.