Xcode 10 - Невозможно локализовать заголовок контроллера UINavigation - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть приложение, которое я хочу перевести на испанский.Приложение очень простое и использует базовый UINavigation Controller.Заголовок установлен на главной доске:

enter image description here

Чтобы добавить испанский, я сделал следующее:

  1. Добавлен испанскийв проекте Локализации

enter image description here Мой первый вопрос ко всем вам: зачем показывать 4 файла на английском и 3 файла на испанском, когда у меня фактически есть 2 файла на английскоми 2 файла для испанского

Я включил местоположение для контроллера вида

enter image description here

enter image description here

Я также добавил строковый файл в проект.Это для меток и динамического текста в представлениях, и это работает как ожидалось.

enter image description here

Отредактировано Main.strings (испанский)

enter image description here

При запуске приложения я отредактировал схему и установил язык приложенияна испанский.

Когда приложение запускается и попадает на главный экран, я все равно вижу «Добро пожаловать» вместо «Bienvenidos». Чего мне не хватает?

Другие вещи, которые вы должны знать, при добавлении локализации я несколько раз включал и отключал эту функцию для раскадровки, пробующей разные варианты.Кроме того, при тестировании приложения я меняю язык настроек на испанский, я также несколько раз удалял и устанавливал приложение.

Я использую Xcode 10.1, формат проекта совместим с Xcode 9.3, цель развертывания iOS12,1

Надеюсь, кто-то может помочь.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Надеюсь, это поможет кому-то еще.С Xcode 10 рекомендуемый способ сделать любую локализацию состоит в том, чтобы выбрать ваш проект и выполнить экспорт для локализации, просто перейдите к Редактор> Экспорт для локализации

После того, как вы экспортировали проект, сделайте любойизменения файлов .xliff, изображений и т. д. В файле .xliff каждый перевод должен иметь тег <source>, <target> and <note>.В моем случае многие теги отсутствуют.Я добавил их вручную, сделал перевод и импортировал перевод в свой проект.

Чтобы импортировать локализацию, просто выберите ваш проект и перейдите в Редактор> Импортировать локализации .Теперь все должно работать как положено.

Это видео с WWDC помогло мне решить мою проблему https://developer.apple.com/videos/play/wwdc2018/404/

Надеюсь, это поможет

0 голосов
/ 12 февраля 2019

По первому вопросу вы, вероятно, также локализовали файл LaunchScreen.storyboard.Таким образом, у вас должно быть всего 3 локализованных файла, за исключением того, что для вашего Main.storyboard вы отметили все три флажка (Base, English и Spanish) и, поскольку English является вашим языком разработки, он рассчитан на два.

Что касается вашего второго вопроса, если вы работаете в симуляторе, достаточно просто отредактировать схему.Поскольку вы сказали, что вы включили и отключили локализацию для своего проекта, возможно, что-то сломалось с XCode.Я тоже был там, когда пытался удалить локализацию.Попробуйте очистить проект (Product -> Clean Build Folder) перед запуском приложения или даже запустить проект с нуля (если это возможно) без добавления / удаления потока.Надеюсь, это поможет.

...