Xcode 6 iOS launchScreen.xib проблема локализации

В моем приложении у меня три языка. В файле launchScreen.xib также есть три локации.

enter image description here

Как и localizable.strings, я изменил текст, который должен использоваться Object-ID.

enter image description here

При запуске приложения всегда используется английский текст, а не локализованный. И есть символ "X", который является символом LaunchScreen.xib и LaunchScreen.xib(Base). Зачем? Как я могу решить эту проблему?

Ответы

Ответ 1

Правильный ответ на конкретную локализацию экрана запуска находится здесь:

Локализация Default.png не работает

И для краткости я вложу основные шаги:

  • Создайте файл InfoPlist.strings. (File, New, Resource, струнные)
  • Локализовать его и добавить ключ "UILaunchStoryboardName" со значением, являющимся именем xib, которое вы хотите отобразить в качестве экрана запуска для этой локализации.

Например, для испанской версии добавьте ключ и имя экрана запуска для испанской версии экрана запуска в недавно созданных InfoPlist.strings, локализованных для испанского.

"UILaunchStoryboardName" = "Launch_es";

Ответ 2

Как документ Apple, экран запуска никогда не будет локализовать ваш текст:

"Избегайте включения текста на экране запуска. Поскольку экраны запуска являются статическими, любой отображаемый текст не будет локализован."

https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen/

Ответ 3

Я хотел бы дать четкое описание исправления в соответствии с предыдущей информацией. У меня такая же проблема, и я не могу найти четкое описание. У меня теперь есть Xcode 8.2.1 и Swift 3.0. В заключение: Я скопировал LaunchScreen.storyboard и добавил его в проект с именем Launch_ru.storyboard. После того, как я сделал локализацию Launch_ru.storyboard. Затем нужно выбрать его и добавить базовую локализацию. Затем нужно добавить к добавлению в основной файл локализации ключ InfoPList.string "UILaunchStoryboardName" = "Launch_ru"; где Launch_ru - это имя моей новой Launch_ru.storyboard. Эти три действия исправили мою проблему.

Ответ 4

Fawkes ответ является правильным:

  • Создайте файл InfoPlist.strings. (File, New, Resource, струнные)
  • Локализовать его и добавить ключ "UILaunchStoryboardName" со значением, являющимся именем xib, которое вы хотите отобразить в качестве экрана запуска для этой локализации.

Следует отметить, что все раскадровки экрана запуска, которые вам в конечном итоге должны быть решены как "базовая локализация" в инспекторе файлов:

введите описание изображения здесь

Если вы случайно пометили их как локализацию для другого языка, это не сработает (он просто отобразит черный экран!)

Ответ 5

У меня была такая же проблема, после чего я использовал MCLocalization, и это очень легко интегрировать в ваше приложение. Он отлично работал у меня.