多言語対応の方法について試してみる。
参考にしたページは下記のページ。
Internationalizing a GWT Application
意外に難しいかと思ったら簡単だった。
単純化すると、下記の手順でできる。
1.Constantsを拡張したInterface StockWatcherConstants を作成。
(デフォルト文字列は、@DefaultStringValueアノテーションをつけておく)
2.同じフォルダにStockWatcherConstants _de.properties
というファイルを作っておく
(deは言語により変わってくる)
ファイルの内容は、1で作成したInterFaceのメソッドに対応して下記のような
テキストファイルになる
============================
stockWatcher = Aktienbeobachter
symbol = Symbol
price = Kurs
change = Änderung
remove = Entfernen
add = Hinzufügen
============================
3.ソース本文は、下記のように宣言する
private StockWatcherConstants constants = GWT.create(StockWatcherConstants.class);
このインスタンスから、リソースストリングを取得する。
4.StockWatcher.gwt.xmlに下記の部分を追記
<extend-property name="locale" values="de"/>
これで、多言語対応が完了なはず。
ただ、実際に動作してみると、
http://localhost:8888/StockWatcher.html?locale=de
という風にアクセスしても正しく動かなかった。
ただ、もう一つの方法であるHTMLファイルに下記の分を記述する方法
<meta name="gwt:property" content="locale=de">
だとうまく動作してくれた。
バグなのかどうか良くわからないけども、とりあえず1つの方法はうまく動作することが
わかったので、よかった。
これで、多言語対応のアプリケーションも作成できることがわかった。
0 件のコメント:
コメントを投稿