【问题标题】:Internationalization in Google Web ToolkitGoogle Web Toolkit 中的国际化
【发布时间】:2012-01-01 00:39:42
【问题描述】:

我想为我的 GWT 应用程序使用国际化。

我读到我需要一个 Languages.properties 文件,我在其中编写了例如 ticketHomeSiteLabelDemnaechst="Activities due soon"

一个我称之为 Languages.java 的类:

import com.google.gwt.i18n.client.Messages;

public interface Languages extends Messages{

    String ticketHomeSiteLabelDemnaechst();
}

应用程序名称.gwt.xml:

<inherits name='com.google.gwt.i18n.I18N'/>
<extend-property name="locale" values="de"/>
<extend-property name="locale" values="en"/>
<set-property-fallback name="locale" value="en"/>

在我想使用它的类中:

final Languages language = GWT.create(Languages.class);
    labelDemnaechst.setText(Int.get(language.ticketHomeSiteLabelDemnaechst()));

当我这样做时:

我收到此错误:没有可用于类型 Languages 的源代码;你忘了继承一个必需的模块吗?

【问题讨论】:

    标签: gwt internationalization


    【解决方案1】:

    错误信息表明 Languages.java 可能在错误的包中。确保它在 client 包中,假设这是您保存其他 gwt 代码(入口点,以及最后一个代码 sn-p 来自什么)的地方。

    【讨论】:

    • 谢谢...它有效。为什么 GWT 在客户端包中需要 taht?
    • 任何可以编译成javascript代码的代码都必须作为可以在客户端运行的代码向编译器指出。这是通过在模块文件中指定相关包来完成的(例如,&lt;source path="client" /&gt; 标记)。你可以添加client以外的其他包,只要确保这个包,以及那个包中引用的所有包,都可以翻译成JS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多