Локализация html-файлов приложения iphone и странных предупреждений xcode 4.2 - PullRequest
1 голос
/ 30 июня 2011

У меня есть приложение, которое я пытаюсь локализовать для нескольких языков.Я делаю большую часть локализации через файлы .strings, но для более крупных файлов справки мне нужны локализованные версии html-файлов.

Я прочитал документацию Apple, а также сделал много поисков в Google, иЯ думаю, что все делаю правильно.

В моем каталоге проекта xcode у меня есть "en.lproj" и "ja.lproj" (японский).Я помещаю версии своего HTML-файла справки в каждый каталог и импортирую их в свою группу ресурсов в xcode.После этого файлы отображаются правильно.Я вижу файл "help.html" в разделе "Ресурсы", и это "группа", и если я загляну внутрь него, я вижу:

help.html (английский)
help.html (японский)

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

Однако, когда я строю свой проект, я получаю досадные предупреждения из xcode 4.2:

Предупреждение: несколько команд сборки для выходного файла ... / ja.lproj / StartQuizController.html
Предупреждение. Несколько команд сборки для выходного файла ... / en.lproj / StartQuizController.html

Насколько я понимаю, эти сообщения "несколько команд сборки" возникают, когда возникают конфликтыимена файлов, которые добавляются в ваше приложение.Однако, поскольку эти файлы локализованы и существуют в своих собственных подкаталогах, реального конфликта нет.

Я делаю что-то не так или предупреждения являются ошибкой в ​​xcode 4.2?

Спасибо,Рон

Ответы [ 2 ]

3 голосов
/ 09 декабря 2011

Я думаю, что вы можете предотвратить эти предупреждения, если вы сделаете это способом Xcode.

Xcode использует только одну команду копирования для копирования локализованных файлов, у вас, вероятно, две отдельные команды.

Вы можете сначала попытаться удалить файлы из фазы сборки «копировать ресурсы комплекта».Удалите команду копирования для локализованных файлов и добавьте новый.Если XCode обрабатывает ваши локализованные файлы правильно, он должен показывать один файл вместо файла для каждой локализации в "Выбор элементов для добавления" -пакет.


Если это не сработает, просто удалите их полностью и снова добавьте физические файлы.
Сделайте резервную копию всех ваших html-файлов.Затем удалите их из проекта (как логические, так и физические).

  • Добавьте английскую версию файла в Xcode, позвольте Xcode скопировать его в ваш каталог.
  • Выберите файл слевабоковая панель
  • Открыть первую вкладку правой боковой панели
  • добавить локализации с помощью кнопки + в разделе локализации
  • либо заменить содержимое файла через Xcode, либо использовать Finder длязаменить локализованные версии.
1 голос
/ 09 декабря 2011

Я тоже пытаюсь локализовать свой проект. Я всегда добавляю руководство пользователя в приложении в html-файл, который загружается в UIWebView.

Я еще не сделал этого, но я собираюсь создать разные файлы для каждого языка, например, например:

info_en.html // for english
info_es.html // for spanish
info_ca.html // for catalan

затем при загрузке webView вместо загрузки файла @"info_en.html" я загружу NSLocalizedString(@"info", nil); Затем в каждом файле локализованных строк имя файла html будет соответствовать языку.

Я считаю, что это должно помочь, но, опять же, я еще не попробовал себя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...