Существует ли способ установить язык по умолчанию, который будет использоваться, когда устройство язык UI не поддерживается приложением?
Пример: Мое приложение локализуется на английский и немецкий язык:
// en.lproj:
"POWER_TO_THE_PEOPLE_BTN" = "Power";
"POWER_PLUG_BTN" = "Power";
// de.lproj:
"POWER_TO_THE_PEOPLE_BTN" = "Macht";
"POWER_PLUG_BTN" = "Spannung";
Теперь, если я запускаю приложение на устройстве с набором языка UI к Italian
приложение будет использовать строки ключа POWER_TO_THE_PEOPLE_BTN
и POWER_PLUG_BTN
.
Должен быть способ указать значение по умолчанию (нейтрализация) язык, который будет использоваться приложением в таком случае.
От вышеупомянутого примера должно быть ясно, что с помощью английской строки, поскольку ключ не будет работать.
Единственная опция, которую я вижу прямо сейчас, состоит в том, чтобы использовать NSLocalizedStringWithDefaultValue
вместо NSLocalizedString
.
Возможно, это должно помочь? - iPhone: файл строк по умолчанию для локализации / интернационализации
По умолчанию должен быть откат на английский. Я только что переключил свой телефон на язык, на который мое приложение не локализовано, и, как и ожидалось, весь текст был на английском.
Важно: как прокомментировал @hyperspasm: Чтобы расширить / перефразировать это, резервный язык - это язык, который последний раз был выбран пользователем в Настройках устройства, который также представлен в пакете приложения.