Почему мой файл XIB не локализуется (iPhone)? - PullRequest
8 голосов
/ 13 октября 2010

Положение: Я запускаю XCode, создаю новый проект для iPhone (просмотр приложения) и загружаю файл XIB в IB. Я манипулирую видом (добавляю метку со строкой «привет»), сохраняю, собираю, запускаю приложение, все нормально. Теперь я локализую XIB. Что я делаю: щелкните правой кнопкой мыши на xib-файле, добавив нужный язык, и после этого у меня есть два XIB-файла в моем XCode. Выглядит абсолютно идеально, как показано в моей книге по программированию для iPhone («Большое ранчо ботаников») Я изменяю метку в обеих XIB на другую строку, скажем «доброе утро!».

Проблема: Теперь я очищаю и перестраиваю приложение - но оно всегда показывает старый XIB-файл, всегда строку «привет». Даже когда я меняю настройки на iphone на другие языки, я всегда показываю строку «привет». Но XIB с "привет" нигде не существует в моем xcode!

Любые намеки для меня? Это сводит меня с ума - и я просто надеюсь, что мне не хватает простой вещи.

Я использую XCode 3.2.3 и SDK 4.0

Заранее большое спасибо!

Ответы [ 5 ]

8 голосов
/ 13 октября 2010

Есть несколько шагов, в том числе:

  • ibtool --generate-strings-file Example.strings en.lpoj / Example.xib
  • genstrings -o en.lproj * .m
  • перевод файла ресурсов
  • ibtool --strings-file fr.lproj / Example.strings en.lproj / Example.xib –write fr.lproj / Example.xib
  • перетаскивание переведенного файла ресурсов в проект (в правильном месте).

Посмотрите это руководство по локализации iPhone , чтобы увидеть все шаги + снимки экрана.

6 голосов
/ 06 января 2011

Имитатор iPhone и устройство содержат кеш NIB. на симуляторе его легко очистить, поскольку его можно удалить, но я пытаюсь выяснить, как очистить этот кэш на устройстве, не удаляя приложение.

3 голосов
/ 08 июля 2014

Попробуйте это:

  1. Проверьте, добавили ли вы параметр Localitations на вкладку "Информация" вашего файла проекта
  2. Окно - Органайзер - Выберите проект - Удалить производные данные
  3. Project Clean
  4. Удалить приложение с вашего устройства
  5. Запустите снова.
0 голосов
/ 02 сентября 2016

XCode имеет ошибку, когда дело доходит до локализованных строк в XIB-файле.Вместо замены локализованных строк фактическими строками XIB, XCode сохраняет исходные строки XIB.Все, что вам нужно сделать, это преобразовать файл Localizable Strings в файл Interface Builder.Это можно сделать в разделе «Локализация» в свойствах файла компоновщика интерфейса.

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

0 голосов
/ 24 апреля 2013

В моем случае мне пришлось перезапустить xcode в дополнение к удалению приложения на симуляторе, чтобы оно заработало.

...