3

我正在尝试使用 GWT 编写我的第一个项目。而且我不明白用 UiBinder 实现 GWT 应用程序国际化的原理。我以前用过JSP。我清楚地了解技术的国际化:

<fmt:message key="myValue" />

在 GWT 中,类似的标签可以有一些内容:

<ui:msg key="myKey" description="myDescription">My content</ui:msg>

我不清楚。这个标签的内容是什么意思?它有什么意义?据我所知,所有数据都应该从.properties文件中获取。属性keydescription含义是什么?它们应该包含哪些值?

如果有人可以解释 UiBinder 中的国际化是如何工作的,我将不胜感激。提前致谢!

4

2 回答 2

11

UiBinder i18n通过在后台生成Messages接口来工作,因此要了解 UiBinder i18n,您实际上只需要了解 GWT i18n。

接口中的每一个ui:msg都变成一个方法,该方法上的每个属性ui:msg变成该方法上的一个注解,该方法上一个注解的内容ui:msg变成@DefaultMessage该方法上一个注解的值,每个widget或者ui:ph变成一个占位符并解析在运行时
类似地,顶层元素上的一些属性属性在生成的界面ui:UiBinder上变成了注解。Messages

在 GWT i18n 中,您可以将一个语言环境以注释的形式(@DefaultMessageMessages接口内)集成到您的代码中,而无需*.properties该语言环境的文件。语言环境@DefaultLocale在接口上的注释中给出(ui:defaultLocale在 UiBinder 中)。只有其他语言环境的消息必须在*.properties文件中提供。
(请注意,您不能使用MessagesUiBinder 的所有功能:复数、选择、可选参数等)

因此,要回答您更具体的问题:key给出用于在*.properties文件中查找消息的密钥(对于除 之外的所有语言环境ui:defaultLocale,消息在 UiBinder 文件中直接给出),description以及meaning翻译人员。

于 2012-05-19T14:03:43.947 回答
1

我认为进行 uibinder 国际化的最佳方法是按照以下博客的步骤操作:http: //joergviola.blogspot.com.es/2011/07/gwt-uibuilder-internationalisation.html

我已经测试过它,它就像一个魅力!

于 2014-06-11T17:00:47.290 回答