2012-01-31 61 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文件中您的特殊程序的統一代碼