2012-01-31 63 views
2

我有一些关于GWT的国际化解决方法的问题。GWT国际化的静态文本和特殊字符

1)使用直接写入ui.xml文件中的静态文本的最佳方式是什么? 目前,我正在使用消息接口来翻译Java生成的文本(这对我来说效果惊人),但是我们的应用程序有很多直接用HTML编写的文本。

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

3)有没有什么舒服的方法让GWT从现有的属性文件生成接口类?我写了一个对我来说很好的小工具,但我想这不是最专业的解决方案。

在此先感谢!

回答

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)如果使用的是行家,存在可用于产生通过特性的消息接口(也异步RPC和CSS接口)一个GWT插件文件: Generate i18n interfaces for message bundles

1

只要使用.properties文件中您的特殊程序的统一代码