2012-05-19 39 views
2

我正在嘗試使用GWT編寫我的第一個項目。 我不明白GWI應用程序與UiBinder國際化的原則。 我之前使用過JSP。我清楚地瞭解該技術的國際化:GWT。國際化如何在UiBinder中工作?

<fmt:message key="myValue" /> 

在GWT相似標籤可以有一些內容:

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

目前還不清楚我。這個標籤的含義是什麼?它有什麼意義?根據我的理解,所有數據應取自.properties文件。 keydescription的含義是什麼?他們應該包含什麼值?

如果有人能解釋國際化如何在UiBinder中工作,我將不勝感激。提前致謝!

回答

10

UiBinder i18n通過生成一個Messages interface的內部工作,所以要了解UiBinder i18n,您實際上只需要瞭解GWT i18n。

每個ui:msg變成與界面中的方法中,ui:msg每個屬性轉變成在該方法的註解,並且ui:msg的含量變成@DefaultMessage註釋上的方法的值,與每個插件或ui:ph變成佔位符,並在運行時解決
類似地,頂級ui:UiBinder元素上的一些屬性屬性在生成的Messages接口上變成註釋。

在GWT國際化,你可以有一個區域集成到你的代碼,在註釋的形式(@DefaultMessage一個Messages接口內),而不需要一個*.properties文件爲該語言環境。區域設置在界面上的@DefaultLocale註釋中給出(UiBinder中的ui:defaultLocale)。只有*.properties文件中必須提供其他語言環境的消息。
(請注意,您不能使用從UiBinder的的Messages所有功能:複數形式,選擇,可選參數等)

因此,要回答你的更具體的問題:key給出應用於*.properties查找信息的關鍵字文件(除了ui:defaultLocale之外的所有語言環境,其中消息都在UiBinder文件中給出)以及description以及meaning僅作爲翻譯人員的提示。

+1

徹底簡潔 – pb2q