Предназначены ли пакеты ресурсов ICU для ресурсов перевода сообщений - PullRequest
9 голосов
/ 08 ноября 2011

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

Однако при проверке документов ICU мы обнаруживаем, что он предоставляет пакеты ресурсов, и документация, похоже, намекает на их использование для перевода сообщений:

В Документация PHP intl , например:

Локализованным программным продуктам часто требуется набор данных, которые необходимо настраивать в зависимости от текущей локали, например: сообщения, метки, шаблоны форматирования.Механизм ресурсов ICU позволяет определять наборы ресурсов, которые приложение может загружать на основе локали, при одновременном доступе к ним единым, независимым от локали способом.

Документация здесь: http://userguide.icu -проект.org / locale / resources описывает функциональность, аналогичную хранилищу значений ключей, с текстовыми источниками, которые могут быть скомпилированы в двоичный формат.

Мой вопрос заключается в том, являются ли пакеты ресурсов ICU (включая функции доступа и хранилищеформат) предназначены для - или это часть их цели - для использования для перевода сообщений - например, как файлы gettext и .po.Если так, есть ли какие-либо ресурсы или учебные пособия, в которых обсуждается это использование.

Или переформулировка: в целях проектирования предназначен ли ICU для использования вместе с отдельным средством перевода сообщений или же он стремится кобеспечить такую ​​функциональность самостоятельно или возможны оба варианта.

1 Ответ

6 голосов
/ 08 ноября 2011

Да Пакеты ресурсов ICU предназначены для использования с целью получения сообщений. Ответ на другой вопрос SOF неверен в отношении ICU. Ссылка, которую вы предоставили, является правильной, а также упоминает преобразование форматов комплекта ресурсов ICU в и из XLIFF. ICU также предоставляет оболочку в стиле catgets() в http://icu -project.org / apiref / icu4c / ucat_8h.html

ICU не помешает вам использовать отдельное средство извлечения сообщений, но, безусловно, оно предназначено для одного - и используется таким образом.

-Стивен, проект ICU

Редактировать В настоящее время ICU не имеет / официально не имеет xgettext подобного средства извлечения. Может быть, это какой-то источник различия?

Изменить 2 подробности в: http://userguide.icu -project.org / locale / localizing

...