ArgoUMLメモ

注意:この文章は私が勝手に書いて勝手に公開しているものです。内容の保証はありませんので、ご了承を。また、この文章を実践して何らかの不利益があったとしても私は責任を取れません。このページに関するご意見などは私までお願いします。他の人に問い合わせたりはしないでください。

ArgoUMLとは

 ArgoUMLはBSDライセンスで開発されているオープンソースのUMLモデリングツールです。IIOSSなどいくつかのモデリングツールの元になっています。現状でUML1.1までしか対応していないIIOSSに対して、UML1.3に対応していたりなかなか良いソフト。ダウンロードはこちら(http://argouml.tigris.org/)から可能です。
 ソースも公開されているため、日本語化とかも可能です。以下はその時のメモです。

自分で日本語化するのは面倒&何となく日本語風だったらよい、という人は、私が何となく日本語化しかけた物を置いておくので、これでも使ってください。お節介にもショートカットとか作ってくれます(笑) Windows用です。

ArgoUMLの日本語化

 ArgoUMLは国際化しやすくなっています。まず、オフィシャルサイトからソースファイルとライブラリをダウンロードしてきましょう。二つのファイルを解凍して同じディレクトリに置いておきます。
 "src_new/org/argouml/i18n"の中に"〜Bundle.java"いうファイルがいくつかあると思います。それらを同じ場所に"Bundle_ja.java"と名前を変えてコピーします。開発バージョンだと"〜Bundle.properties"となっているかもしれません(現在公開しているVer.0.12はそうなっています)。その場合は、他の.javaとなっているファイルを参考に.javaに作り替えましょう。解らなければ、下のファイルでもダウンロードしてください。
 名前を変更してコピーした後は、中身を編集します。見れば解ると思いますが、ペアになっているうち、後ろの方をひたすら日本語に変更していきます。また、Javaなので、当然クラス名とファイル名は同じ必要があります。クラス名も変更しておきましょう。(Javaを知っているなら解ると思いますが、"〜Bundle.java"と書いてあるところを"〜Bundle_ja.java"変更します)

  日本語化ができたらコンパイルを行います。コンパイルにはAntを使用します。Antが無い場合はダウンロードしてきましょう。オフィシャルサイトはここ(http://jakarta.apache.org/ant/)ですね。Antのインストールが解らない、と言うのであれば、自前でのコンパイルはやめた方が良いかもしれませんが、とにかくダウンロード、解凍、実行時に"ant.bat"までのフルパスを入力すれば使えるようになるでしょう。

 コンパイルはAntさえあれば、簡単です。"src_new"のディレクトリでコマンドラインから

 ant compile

 でコンパイルできます。パスが通ってない人は

 Antをインストールしたディレクトリ\jakarta-ant-1.4\bin\ant.bat compile

 てな感じでやってみましょう。

 もしかすると、この辺で、「コンパイルできない!」 と叫んでいる人もいるかと思います。エラーメッセージを見れば解ると思いますが、〜ru.javaのファイルが邪魔しているようですね。文字コードの影響でしょう。これが必要な人は(日本語化する人には)少ないでしょうから、問題のファイルを削除してしまいましょう。必要な人はそれなりの環境でしょうから、コンパイルできていると思います。

 さらにjarパッケージを作るのであれば、

 ant package

 でOKです。これで実行してみると、メニューなどが日本語化されているはずです。実行時に自動的に言語を取得して、適した言語で起動してくれるため、特に設定は必要ありません。もし、全然日本語化されていない場合、コマンドラインからjarを実行してみましょう。

 java -jar argouml.jar

 で実行できます。この時、取得できた言語、国が表示されます。これが日本になっているかをチェック。なっていない場合……どうしたらいいのでしょう?(爆) 環境変数でLANGの指定をしても無駄だったので、よくわかりません(^^;

 さて、ちゃんと編集していても、一部日本語化できていない部分があります。その場合、上記リソースファイルに元の名前と日本語のペアを追加することで改善できる部分もありますが、それでも対応できないところもあります。それはArgoUMLだけを日本語化してもダメな部分です。日本語化したければ、GEFをダウンロードしてきて、日本語化、ArgoUMLのライブラリのGEFを置き換える必要があります。GEFの日本語化も概ね似たような感じで行えます。根性があれば、Let's Try!(笑) (下にあるファイルで置き換えれば、何となく日本語になったりもします)

 一応、私が中途半端に作ったファイルを置いておきます。日本語訳が気に入らない、間違っている、訳してない部分を訳した、と言うのがありましたら、ご連絡ください。修正します。なお、訳を行っていただいた場合は、原文と訳文を一緒に送ってもらえると助かります。

Download

ArgoUMLのフォントを変更

 はっきり言って、ArgoUMLのデフォルトフォントはイマイチです。日本語にすると読みにくくて耐えられません。それに、印刷とかには好きなフォントが使いたい物。そこで、フォントの変更です。フォントの変更は簡単です。

"src_new/org/argouml/ui"にある"JasonsTheme.java"を開きます。すると、45行目くらいに以下のような記述があるはずです。

private final FontUIResource controlFont =
new FontUIResource("SansSerif", Font.BOLD, 10);
private final FontUIResource systemFont =
new FontUIResource("Dialog", Font.PLAIN, 10);
private final FontUIResource windowTitleFont =
new FontUIResource("SansSerif", Font.BOLD, 10);
private final FontUIResource userFont =
new FontUIResource("SansSerif", Font.PLAIN, 10);
private final FontUIResource smallFont =
new FontUIResource("Dialog", Font.PLAIN, 9);


 ここを自分の好みで変更します。私は以下のようにしています。私の環境で見やすい文字の大きさなので、他の環境ではどうか解りません。参考までに、私は22インチのディスプレイで1940x1440の解像度にしています。
 フォント名は間違えないように入力しましょう。半角、全角、スペースの有無など間違えやすいです。Font.BOLDが太字、Font.PLAINにすれば普通の文字になります。最後の数字は大きさですね。整数で入力しましょう。
 なお、FixedSysのフォントだとサイズの指定は関係ありません。固定なので。

private final FontUIResource controlFont =
new FontUIResource("FixedSys", Font.PLAIN, 14);
private final FontUIResource systemFont =
new FontUIResource("FixedSys", Font.PLAIN, 12);
private final FontUIResource windowTitleFont =
new FontUIResource("FixedSys", Font.PLAIN, 12);
private final FontUIResource userFont =
new FontUIResource("FixedSys", Font.PLAIN, 12);
private final FontUIResource smallFont =
new FontUIResource("FixedSys", Font.PLAIN, 12);


 あとは、コンパイルすればOKです。

FAQ

使っているとパフォーマンスが低下するのですが。……というか、遅いぞ!

なぜでしょうね? 私にも解りません。ガーベッジコレクションでもやっているのでしょうか?(笑)
ヘルプからシステム情報を表示させるとガーベッジコレクションが手動で行えます(RUN GC)。ガーベッジコレクションを行うと改善されるかもしれません。
 また、メモリが潤沢にあるなら、割り当てるメモリを増やすと良いかも? 私の環境では"argouml.bat"を以下のように書き換えることでパフォーマンスの低下が無くなったように感じました。

java -Xmx256m -Xms128m -Xnoclassgc -jar ..\argouml.jar

ただ、このまま転載するのはお勧めできません。ちゃんと自分の環境に合わせて変更しましょう。-Xmx は搭載されているメモリの4分の1、-Xmsはさらにその半分に設定すると良いでしょう。仮に256MBのメモリを搭載しているのであれば、

java -Xmx64m -Xms32m -Xnoclassgc -jar ..\argouml.jar

という感じですね。ただ、参考ですので、自分のパソコンの空きメモリが少ない場合は厳密に4分の1にすると良くないかもしれません。使用する環境でどの程度空いているかを確認してから設定しましょう。無理に増やすと、ページングが起こってパフォーマンスが低下します。
 なお、「オレのパソコンは2Gのメモリを積んでるぜ、ヘイヘイ!」とか言って、512m,256mとかやっても無意味、ガーベッジコレクションが起きると逆にパフォーマンスが低下するので、たくさんメモリがあっても256m,128m程度にしておいた方がよいでしょう。

唐突に画面が乱れた!

 Windows2000でCtrl+Alt+Delとか押すと、一発で乱れてくれますねー、私の環境だと。諦めて、現在の図を保存して、再起動した方がよいでしょう。たぶん。

エラーが起きて動作がおかしい

 なにやらエラーが起きることがありますね。べつに日本語化が影響しているわけではありません。ちょーっと安定性に問題があるようです。

コンパイルできない、実行できない

コマンドラインから実行すればなぜダメなのか表示されると思います。JAVA_HOMEが設定されていなかったり、レジストリに記述されたデフォルトJavaのバージョンが1.3になっていたりすることがあるようです。JBuilderなんかをインストールすると書き換えられてしまうようです。良い迷惑です(笑) 1.4に戻しましょう。


Copyright itsuki@new-f.com http://www.new-f.com/