2011-12-31 9 views
2

自分のGWTアプリケーションに国際化を使用したいと思います。Google Web Toolkitの国際化

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

public interface Languages extends Messages{ 

    String ticketHomeSiteLabelDemnaechst(); 
} 

applicationname.gwt:

は、私は私が例えば

私はLanguages.javaと呼ばれるクラスをticketHomeSiteLabelDemnaechst =「すぐに起因する活動を」書きするLanguages.propertiesファイルが必要であることを読んで.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())); 

私が行うと、この:

私はこのエラーを取得する:いいえソースコードは種類の言語のために利用可能ではありません。必要なモジュールを継承することを忘れましたか?

答えて

2

エラーメッセージは、Languages.javaが間違ったパッケージに含まれている可能性があることを示しています。 clientパッケージに含まれていることを確認します。これは、他のgwtコード(EntryPointなど、最後のコードスニペットの由来)を保持していることを前提としています。

+0

ありがとうございます...それは動作します。 なぜGWTはクライアントパッケージにtahtが必要ですか? –

+0

javascriptコードにコンパイルできるコードは、クライアントで実行できるコードとしてコンパイラーに指摘する必要があります。これは、モジュールファイル( ''タグなど)に相対パッケージを指定することによって行われます。 'client'以外のパッケージを追加することができます。このパッケージとそのパッケージで参照されるすべてのパッケージをJSに変換できることを確認してください。 –