ICU资源包是否用于消息转换资源?


Are ICU resource bundles meant for message translation resources

我了解ICU的本地化部分-日期,时间和货币格式,排序等。当谈到消息翻译时,我看到有人说ICU不提供消息翻译的功能-例如检查这个SOF问题。

然而,当检查ICU文档时,我们发现它提供了资源包,并且文档似乎暗示使用它们进行消息转换:

在PHP intl文档中,例如:

本地化的软件产品通常需要一组数据根据当前语言环境自定义,例如:消息、标签、格式化的模式。ICU资源机制允许定义集合应用程序可以根据地区加载的资源,而以统一的独立于语言环境的方式访问它们

这里的文档:http://userguide.icu-project.org/locale/resources描述类似于键值存储的功能,具有可编译为二进制格式的文本源。

我的问题是ICU资源包(包括访问功能和存储格式)是否意味着——或者它是其目的的一部分——用于消息转换——例如gettext和.po文件。如果有,是否有任何资源或教程讨论这种用法。

或者换个说法:在其设计目标中,ICU是否意味着与单独的消息翻译工具一起使用,或者它是否努力自己提供这样的功能,或者这两个选项都是可能的。

是ICU资源包用于检索消息。关于ICU,另一个SOF问题的答案是不正确的。您提供的链接是正确的,并且还提到了在XLIFF和XLIFF之间转换ICU资源包格式。ICU还在http://icu-project.org/apiref/icu4c/ucat_8h.html

中提供了一个catgets()样式的包装器。

ICU不会阻止您使用单独的消息检索工具,但它确实意味着是一个消息检索工具,并且以这种方式使用。

-Steven, ICU项目

Edit ICU目前/正式没有类似于xgettext的提取工具。也许这就是区别的部分来源?

编辑2更多细节见:http://userguide.icu-project.org/locale/localizing