Я разрабатываю приложение для клиента в Европе. Я - англоговорящий в США. Наше приложение будет поддерживать несколько языков, но не английский. У меня есть все строки в нашем приложении в переведенных файлах Localized.strings, правильно настроенные для разных языков, и все они отлично работают, когда устройство настроено на правильный язык (язык устройства - немецкий = приложение правильно локализовано для немецкого).
Существует проблема, когда устройство не настроено на один из поддерживаемых нами языков, например, на моем телефоне, который установлен на английский. Мы хотим, чтобы телефон вернулся на немецкий язык в таких случаях, но этого не происходит. Мы видим, что телефон использует язык, который отображается в списке языков в разделе "Международный" в разделе "Настройки". Для моего телефона самый высокий неанглийский язык в списке - французский, поэтому, когда я запускаю приложение, он локализован для французского языка. Если я поменю свой телефон на немецкий, а затем вернусь на английский (который изменяет порядок в списке "Языки" ), приложение затем локализуется на нем.
Как я могу гарантировать, что приложение по умолчанию использует немецкий язык для не поддерживаемых языков? Я использовал этот учебник, чтобы настроить локали для проекта. Это включает удаление стандартного "английского" языка, созданного при первой локализации файла. В файле проекта я добавил:
developmentRegion = de;
Кроме того, в Info.plist у меня есть
<key>CFBundleDevelopmentRegion</key>
<string>de</string>
Без успеха.
Любые идеи будут оценены!