2013-05-29 90 views
3

到目前爲止,我們的Web應用程序僅支持英文。現在我們也必須爲意大利人提供支持。有一些功能的GWT模塊。爲了支持意大利語我已經在文件中添加以下行「APP_Module.gwt.xml在GWT中支持國際郵件

<extend-property name="locale" values="it"/> 

我也放在「XXX_it.properties」文件的源代碼中的屬性文件連接下保持。

通過以下線設置在JSP語言環境:現在

<meta name="gwt:property" content="locale=${locale}"> 

,問題是如何編譯的代碼。我正在調試應用程序,但它沒有觸及WEB-INF/src下提供的GWT的客戶端代碼。

我對GWT很新。請建議我如何編譯代碼或者不需要編譯。它會自動接受在「APP_Module.gwt.xml」中完成的更改,還有其他一些問題。我怎樣才能看到GWT的日誌?

回答

2

要添加的語言環境GWT應用程序的支持,你需要做你的xxx.gwt.xml如下:

<module>下添加這包括支持:

<inherits name="com.google.gwt.i18n.I18N" /> 

和這它配置:

<extend-property name="locale" values="en,it"/> 
<set-property-fallback name="locale" value="en"/> 

添加所有的屬性文件下的一些包是這樣的:

src/main/resources/foo/bar/client/i18n/MyMessages.properties 
src/main/resources/foo/bar/client/i18n/MyMessages_it.properties 

然後你需要告訴GWT將它們編譯成類。這是一個來自pom.xml文件的例子(如果你不使用maven,你將不得不使用不同的方式,但你仍然需要配置它)。

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>gwt-maven-plugin</artifactId> 
      <version>1.3.1.google</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>i18n</goal> 
         <goal>generateAsync</goal> 
         <goal>compile</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <i18nMessagesBundles> 
        <resourceBundle>foo.bar.client.i18n.MyMessages</resourceBundle> 
       </i18nMessagesBundles> 
      </configuration> 
     </plugin> 

然後您需要重新編譯代碼。在maven mvn compile。就這樣,您將在生成的源文件夾中準備好您的消息。

+0

大部分信息可以在這裏找到:https://developers.google.com/web-toolkit/doc/latest/DevGuideI18n – sm4

+0

謝謝@ sm4它的工作正常。但是現在發生的是像ù這樣的字符,ì顯示不正確。有沒有我們設置編碼的地方? – Infotechie

+0

這很可能是因爲您直接將UTF-8(或任何其他編碼)放入.properties中。這些文件必須採用ISO-8859-1編碼。嘗試使用這個問題的插件:http://stackoverflow.com/q/863838/1667977正確的方法是讓屬性中的所有特殊字符都轉義出來,這個插件會爲你做。 – sm4

0

爲了查看gwt的日誌,你可以使用gradlew gwt,你也可以使用它來編譯代碼。