静态文本的GWT国际化&特殊字符

时间:2012-01-31 10:18:39

标签: gwt internationalization translation toolkit

我对GWT的国际化解决方案有一些疑问。

1)使用直接写在ui.xml文件中的静态文本的最佳方法是什么? 目前,我正在使用Messages-Interface来翻译Java生成的文本(这对我来说效果非常好),但是我们的应用程序有很多直接用HTML编写的文本。

2)如何显示德语中使用的“ä”等特殊字符?我已经将index.html设置为UTF-8,并且在访问应用程序时仍然会得到奇怪的占位符而不是实际的字符。我真的不想知道当我开始使用中文翻译时会发生什么。

3)有没有什么方法让GWT从现有的属性文件中生成接口类?我自己写了一个看起来不错的小工具,但我认为这不是最专业的解决方案。

提前致谢!

2 个答案:

答案 0 :(得分:2)

1)在我工作的GWT项目中,为了在UiBinder内部化HTML代码,我们只是将InlineLabel插入到html中。例如:

<table>
<tr>
   <td><g:InlineLabel text="{myMessages.myText}" /></rd>
</tr>
</table>

所以内联标签将由GWT在纯HTML span元素中翻译。我们没有找到更好的方法。

2)对于特殊字符,请在.properties文件中使用unicode表示。

  

上述所有类型都使用基于传统Java属性文件格式的属性文件,尽管GWT使用允许UTF-8的增强属性文件格式,因此允许属性文件直接包含Unicode字符。   See Properties Files paragraph

3)如果您使用的是maven,则有一个gwt插件可用于通过属性文件生成Message接口(也是async rpc和css接口): Generate i18n interfaces for message bundles

答案 1 :(得分:1)

只需在.properties文件中使用特殊字符的unicode

即可