BlueJ 2.0

BlueJ 2.0 をダウンロードして使ってみたところ、日本語モードにして動作させるとダイアログメッセージが文字化けしていた。dialoguesファイルがUnicodeエスケープされていないからなので、Java2 SE にあるnative2asciiコマンドツールで変換してあげれば良い。

bashの場合は次のようにすればいい。もちろん、環境変数BLUEJ_HOMEはbluejをインストールしたディレクトリを設定するので、ユーザによって変わるはずだ。

$ BLUEJ_HOME=/usr/local/bluej
$ cp $BLUEJ_HOME/lib/japanese/dialogues \
$BLUEJ_HOME/lib/japanese/dialogues.sjis
$ native2ascii -encoding Shist_JIS \
$BLUEJ_HOME/lib/japanese/dialogues.sjis \
> $BLUEJ_HOME/lib/japanese/dialogues

Windowsの場合は次のようになる。環境変数BLUEJ_HOMEはbashの場合と同じで、ユーザの環境に応じて書き変えて使うこと。また、表示の都合上改行しているが各コマンドは1行で入力しないといけない。プロンプトをみて判断してもらいたい。

> set BLUEJ_HOME=C:\bluej
> copy %BLUEJ_HOME%\lib\japanese\dialogues
%BLUEJ_HOME%\lib\japanese\dialogues.sjis
> native2ascii -encoding Shist_JIS %BLUEJ_HOME%\lib\japanese\dialogues.sjis >
%BLUEJ_HOME%lib\japanese\dialogues

ところで、LinuxでBlueJを利用すると、新しいクラスを作成した場合に文字化けが発生する。tmplファイルがShift_JISコードで保存されているので、EUC-JPコードへ変換してあげればいい。とりあえず、BlueJのMLへ投稿しておかなければ…


シェルスクリプトを作成してみた。$BLUEJ_HOME/lib へ make.japanese.euc.sh という名前で作成しよう。

#! /bin/sh
mkdir japanese.euc
mkdir japanese.euc/templates
mkdir japanese.euc/templates/newclass

native2ascii -encoding Shift_JIS japanese/dialogues > japanese.euc/dialogues
nkf -e japanese/exception.help > japanese.euc/exception.help
nkf -e japanese/javac.help > japanese.euc/javac.help
nkf -e japanese/jikes.help > japanese.euc/jikes.help
cp japanese/labels japanese.euc/labels
nkf -e japanese/moe.help > japanese.euc/moe.help
nkf -e japanese/readme.txt > japanese.euc/readme.txt

nkf -e japanese/templates/README \
> japanese.euc/templates/README
nkf -e japanese/templates/html.tmpl \
> japanese.euc/templates/html.tmpl
nkf -e japanese/templates/method.tmpl \
> japanese.euc/templates/method.tmpl
nkf -e japanese/templates/readme.tmpl \
> japanese.euc/templates/readme.tmpl
nkf -e japanese/templates/readmeexp.tmpl \
> japanese.euc/templates/readmeexp.tmpl
nkf -e japanese/templates/newclass/README \
> japanese.euc/templates/newclass/README
nkf -e japanese/templates/newclass/abstract.tmpl \
> japanese.euc/templates/newclass/abstract.tmpl
nkf -e japanese/templates/newclass/appletj.tmpl \
> japanese.euc/templates/newclass/appletj.tmpl
nkf -e japanese/templates/newclass/enum.tmpl \
> japanese.euc/templates/newclass/enum.tmpl
nkf -e japanese/templates/newclass/interface.tmpl \
> japanese.euc/templates/newclass/interface.tmpl
nkf -e japanese/templates/newclass/stdclass.tmpl \
> japanese.euc/templates/newclass/stdclass.tmpl
nkf -e japanese/templates/newclass/unittest.tmpl \
> japanese.euc/templates/newclass/unittest.tmpl

ファイルを作成したら実行可能にして、実行すればいい。

$ chmod 755 make.japanese.euc.sh
$ ./make.japanese.euc.sh

$BLUEJ_HOME/lib/japanese.eucというディレクトリができあがっているので、$BLUEJ_HOME/lib/bluej.defs のbluej.language=englishをコメントアウトして、 bluej.language=japanese.eucを追加すればよい。以下に、該当部分を抜粋した。

#bluej.language=english
#bluej.language=afrikaans
#bluej.language=chinese
#bluej.language=czech
#bluej.language=french
#bluej.language=german
#bluej.language=italian
#bluej.language=japanese
bluej.language=japanese.euc
#bluej.language=korean
同じカテゴリの記事: Java