我了解 ICU 的本地化部分 - 日期、时间和货币格式、排序规则等。当谈到消息翻译时,我看到人们说 ICU 不提供消息翻译功能 - 例如检查这个 SOF 问题 https://stackoverflow.com/questions/5644412/php-gettext-analog-in-intl-library.
然而,在检查 ICU 文档时,我们发现它提供了资源包,并且文档似乎暗示使用它们进行消息翻译:
In PHP 国际文档 http://www.php.net/manual/en/class.resourcebundle.php例如:
本地化软件产品通常需要一组数据
根据当前区域设置进行定制,例如:消息、标签、
格式化模式。 ICU 资源机制允许定义一组
应用程序可以根据区域设置加载的资源,而
以独立于语言环境的统一方式访问它们。
文档在这里:http://userguide.icu-project.org/locale/resources http://userguide.icu-project.org/locale/resources描述了类似于键值存储的功能,具有可以编译为二进制格式的文本源。
我的问题是 ICU 资源包(包括访问功能和存储格式)是否旨在(或者是其目的的一部分)用于消息翻译 - 例如 gettext 和 .po 文件。如果是这样,是否有任何资源或教程讨论这种用法。
或者重新措辞:在其设计目标中,ICU 是否旨在与单独的消息翻译设施结合使用,或者它是否努力本身提供此类功能,或者这两种选择都是可能的。
是的 ICU 资源包旨在用于检索消息。关于 ICU,另一个 SOF 问题的答案是不正确的。您提供的链接是正确的,并且还提到将 ICU 资源包格式转入和转出 XLIFF。 ICU 还提供catgets()
样式包装器http://icu-project.org/apiref/icu4c/ucat_8h.html http://icu-project.org/apiref/icu4c/ucat_8h.html
ICU 不会阻止您使用单独的消息检索工具,但它确实应该是一个,并且就是这样使用的。
-史蒂文,重症监护病房项目
EditICU 目前/官方没有xgettext http://www.gnu.org/s/hello/manual/gettext/xgettext-Invocation.html像提取设施。也许这就是区别的一些根源?
Edit 2更多详情请参阅:http://userguide.icu-project.org/locale/localizing http://userguide.icu-project.org/locale/localizing
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)