javaの最近のブログ記事

翻訳作業にOmegaTという翻訳メモリを使っている。
  • javaのpropertiesに対応している。
  • (翻訳メモリ的には当たり前だろうけど)用語集を定義できる。
  • 既翻訳文から類似した部分を提示してくれる。
  • 無償で利用できる。
  • UIがすっきりしていると思う。
てなところが選定理由。

原文ファイルから訳文ファイルを生成するのは、GUIメニューから実行するのだけど、これを自動化したい(antのbuildに組み込めないか)と思って調べた。

こういうときオープンソースはいいよなーとソースを読んだら期待通りCLIが実装されてた。
※けど、よくよく見れば(英語版の)マニュアルにばっちり書いてあったのだった。

■antを実行するbat
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_15
set OMEGAT_HOME=c:\Program Files\OmegaT
cmd /c c:\path\to\ant\bin\ant.bat

■build.xml(部分)
	<property name="project" location="omegat"/>
<property environment="env"/>

<target name="gentext">
<java
fork="true"
jar="${env.OMEGAT_HOME}/OmegaT.jar"
failonerror="true">
<arg value="${project}"/>
<arg value="--mode=console-translate"/>
</java>
</target>

ディレクトリ構成
 ./
  build.xml
  omegat/ ・・・OmegaTのプロジェクト
   source/ ・・・原文ファイル置き場
   target/ ・・・訳文ファイル出力先


環境:
 Windows XP Pro SP3
  JRE 6
   OmegaT 2.0.3
   Ant 1.7

Jad
というイメージだったのだけど、
Java Decompilerてのがあるらしい。


  • JDK 1.5.0、1.6.0に対応している。Generic/アノテーション
  • jarを一括して解析してくれる
  • 解析結果を一括して保存できる
  • jar、クラスごとにタブ表示され、クラス/インタフェース名をクリックすると当該jar/クラスにさくっと移動できる(これが結構いい)
てなところがうれしい。

時々逆コンパイルできなかった、みたいなメッセージが出てるのが気になるけど、ポストJadを探していたので非常に助かる。


2010/01/30追記:
今となってはjadよりもJava Decompilerをおすすめしたい。

便利なJadで、よく使っているオプション。
Jad - the fast JAva Decompiler
jad.exe -8 -t -pi 100 -o -lnc -i -s .java *.class
  • -8:文字列をUNICODEのエスケープ表現を使わないで通常の文字列で出力する。
  • -t:インデントにタブを使う
  • -pi <num>:import行を「*」を使ってまとめる閾値。100だと、ほぼ纏められずにClass単位でimport行が吐かれるので、参照しているclassを探しやすい。Fully qualified namesで出力する方法もあるが、これだと出力結果が「うるさく」なるので、このオプションを使っている。
  • -o:プロンプトなしで上書き出力する
  • -lnc:元のソースの行番号をコメントで挿入する。例外のスタックトレースに元のソースの行番号が出てくる場合があり、これを追いかけやすくなるから。
  • -i:フィールドのデフォルト初期化も出力する。
  • -s <ext>:逆コンパイル後出力ファイルの拡張子。デフォルトは「.jad」。
>>サイトトップへ

address

このアーカイブについて

このページには、過去に書かれたブログ記事のうちjavaカテゴリに属しているものが含まれています。

前のカテゴリはhardwareです。

次のカテゴリはjrubyです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.261