![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip3NU6dBVlA6u7er7Vh-TBZT2kDfWS45wbi3TIcrIJo0h_oHTGT8WoE0nZMNU_672a8eQzXY-yT3FjVpVlBIftq9hu35bcyDCykP8GkPkbNf6rE2uFZbqEKVceKaXmkGLynF_zUIxpMQgJ/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png)
open/dolphin.client以下でそれらしいclassを探したところ、AbstractMenuFactory.javaを発見しました。中身は至ってシンプル、OSを調べてMacであればMacMenuFactoryのインスタンスを作成し、それ以外であればWindowsMenuFactoryのインスタンスを作成する典型的なFactory patternになっているようですね。
で、今回はMacの問題なので、MacMenuFactoryを見てみます。ん〜。普通のメニューのコードっぽいけど、、、。でも、なんかメニューを選択した後のアクションはアノテーションで指定しているっぽいな。メニュー項目は、英語決めうちの様に見えるのに、なんで見えないのかな?
で、ちょっと気になったコードが以下です。
ApplicationContext ctx = ClientContext.getApplicationContext();なんだかリソースっぽいものを読み込むコードの様ですが、具体的なファイルの指定がありません。どうやらApplicationContextを使ったリソースへのアクセスには、resources.MacMenuFactory.propertiesから得る事になっているようです。ってことでclient/resourcesを覗いてみるとMacMenuFactory.txtなるファイルがあるではないですか。
ResourceMap resMap = ctx.getResourceMap(MacMenuFactory.class);
これをpropertyファイルにかえなければならないようです。
で、そのままファイル名をかえてみたのですが、文字が出てくるには出てきたのですが、文字化けです。ここで、はたと気がつきました。Javaはもともとunicodeがデフォルトだったはずでは?そこで、native2asciiでunicodeにエンコーディングし直したところ、無事に日本語が表示されました。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinwVdxv-k5eLYBuXPtl0kv_5ZC5ruhuCgyBw8W9KTyw58WAxZYnQQuNOufjCRGpkDGL-8NLb7e0MGIi7kTBOR1GK-PlBZWxNdcLHhXeALd_7nyFd9DtBiNPiOu6sdqzOtYXO2w9MD5alIC/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png)
client/resourcesフォルダ以下には*.txtファイルが他にもあります。もしかしたらこれらもpropertiesファイルに変更しなければ、どこかで問題が出てくるかもしれません。
0 件のコメント:
コメントを投稿