OmegaTプロジェクトパス名の取得
2012-12-06


OmegaTのエディタ機能を補完するために、OmegaTとサクラエディタとの間でデータをやりとりする仕組みを作った。特に用語集を使いやすくする必要性から、試用・改良を進めている。

OmegaTには、作業中の原文および訳文セグメント(分節)をテキストファイルとしてエクスポートする機能が用意されている。各セグメントを開いたときやプロジェクトを保存したときにファイルが更新され、プロジェクトを終了するとファイルは空になる。

テキストファイルがエクスポートされるディレクトリはOSによって異なり、マニュアルに記載されている。文字コードはUTF-8だ。この機能を利用すれば、OmegaTの作業対象セグメントを外部のアプリで処理しやすい。

もう1つ必要な情報は、作業中プロジェクトのパスであり、それを足掛かりにしてtmxファイルや用語集などに外部アプリからアクセスできる。YU-TANGさんのブログを参考に、見よう見まねで、作業中プロジェクトのパスをテキストファイルに書き出すgroovyスクリプトを書いた。

import javax.swing.JOptionPane;
def prop = project.getProjectProperties()
def folder = prop.getProjectRoot()
if (folder == null) {
  def title = "open project folder"
  def msg = "Open a project."
  JOptionPane.showMessageDialog(null, msg, title, JOptionPane.INFORMATION_MESSAGE);
} else {
  def fw=new File("c:\\project_path.txt").newWriter()
  fw.writeLine(folder)
  fw.close()
}

エクスポートするファイルの保存場所"c:\\project_path.txt"は適宜変更する。原文・訳文セグメントのほかにプロジェクトパスも書き出す機能がOmegaTの標準仕様になれば、一部のユーザにとっては便利だろう。

テキストエディタで処理した結果は、AutoHotkeyを介し、クリップボード経由でOmegaTに戻す(ほかのやり方を知らないので)。

こうしたアクセス手段を得たうえで、テキストエディタ上でどのような処理をするのか、別記事に記そうと思う。
[OmegaT]

コメント(全0件)
コメントをする


記事を書く
 powered by ASAHIネット