支持GWT中的i18n

时间:2013-05-29 04:54:57

标签: java gwt

到目前为止,我们的网络应用程序仅支持英语。现在我们也必须为意大利人提供支持。有一些功能的GWT模块。为了支持意大利语,我在文件“ APP_Module.gwt.xml ”中添加了以下行

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

我还在源代码下放置了“XXX_it.properties”文件,其中保存了en的属性文件。

通过以下行在jsp中设置语言环境:

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

现在,问题是如何编译代码。我正在调试应用程序,但它没有达到在WEB-INF / src下呈现的GWT的客户端代码。

我对GWT很新。请建议如何编译代码或不需要编译。它将自动进行“APP_Module.gwt.xml”中所做的更改,还有一些其他问题。我怎样才能看到GWT的日志?

2 个答案:

答案 0 :(得分:2)

要向GWT应用程序添加对语言环境的支持,您需要在xxx.gwt.xml中执行以下操作:

<{1>}在<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。就是这样,您可以将生成的源文件夹中的消息准备好使用。

答案 1 :(得分:0)

要查看gwt的日志,您可以使用gradlew gwt,也可以使用它来编译代码。