Howto - Using the OmegaT text export function (scripting interface)

OmegaT 技術情報:
OmegaT のテキスト出力機能(外部スクリプト向け)の使用

OmegaT のバージョン 2.0.1 以降にはテキスト出力機能があります。この技術情報は、同機能とその利用方法について説明します。さらに、パッケージ te-scripts.zip には、この機能を説明するためのごく簡単な tcl/tk スクリプトが含まれています。

目的

テキスト出力機能は、現在作業中の OmegaT プロジェクトのデータを、プレーンテキストファイルとして出力します。現在時点では、以下のデータを出力できます。

- 編集中の分節の原文テキスト
- 編集中の分節の訳文テキスト
- しかるべきショートカットキーを押したときの、訳文中の選択されたテキスト

OmegaT へ機能を追加するためにプログラムやスクリプトを書くときに、このようなテキストを含むファイルを利用することができます。Java の知識がなくても、ほとんどのプログラミング言語を使用でき、プログラミング技術が限られていても、有用な機能を実現できます。

テキスト出力機能の使用

テキスト出力機能を使用するには、まず OmegaT 内で有効にする必要があります。

[設定]→[翻訳入力行]

次に、「分節をテキストファイルへ出力」ボックスをチェックします。

ファイルは、OmegaT の個人設定フォルダー配下の script フォルダーに作成されます。
(使用 OS の OmegaT 個人設定フォルダーの場所については、取扱説明書(OmegaT で F1)→[ファイルとフォルダー]→[個人設定ファイル]を参照してください。)

source.txt:編集中の分節の原文テキストが入っています。
target.txt:編集中の分節の訳文テキストが入っています。
selection.txt:Ctrl+Shift+Cを押すか、または[編集]→[選択領域を出力]を選択したときに、ユーザーが選択していたテキストが入っています。

ファイルの内容は、新しい分節へ移動したとき(source.txt と target.txt)、または新しい選択領域を出力したとき(selection.txt)に上書きされます。ファイル形式は、書式のないプレーンテキストファイルです。

サンプルスクリプトの使用

インストールされていなければ、Tcl/Tk をインストールする必要があります。Tcl/tk は、さまざまな入手先があります。よく知られているのは、tcl.activestate.com です。Mac OSX ユーザーは、OS 媒体から tcl/tk をインストールできます。Linux ユーザーは、初期設定でインストールされていなければ、ディストリビューションのリポジトリからインストールできます。(Ubuntu ユーザーへの注意:現バージョン(9.10)の Ubuntu で初期インストールされる tcl/tk の字体は、実装に不具合がありますが、是正可能です。)

スクリプトコードの機能を明確にするために、各スクリプトは実質的に 1 つの機能のみを果たします。複数の機能を同時に使用したい場合は、単一のスクリプトファイルに統合するのが効率的でしょう。

ここに示すサンプルスクリプトは、いずれもウィンドウを起動しますが、背後で機能を果たすスクリプトも十分に考えられます。

スクリプトの起動方法

OmegaT の「スクリプト」フォルダー(「source.txt」などが入っている)内にスクリプトをコピーします。(スクリプトは原則として任意の場所に置くことができますが、その場合、スクリプトファイルのパスを追加して編集する必要があります。)

システム構成によっては、単にマウスでクリックすることによってスクリプトを起動できます。別の方法としては、

コマンドラインウィンドウ(DOS プロンプト、ターミナル、コンソール)を開きます。

スクリプトフォルダーの場所(ディレクトリ)を変更します(Windows XP システムの例):

cd C:\Documents and Settings\User Name\Application Data\OmegaT\script

「wish」のあとにスクリプトファイル名を入力して、スクリプトを起動します。例:

wish te-basic-source.tcl

各スクリプトの説明

te-basic-source

このスクリプトは、原文テキストを別のウィンドウで表示します。OmegaT 編集ウィンドウでなされたことは、何も反映しません。スクリプトファイルからテキストを抽出でき、それをさらにスクリプトで処理できることを示すのが目的です。スクリプトウィンドウの内容は編集可能であり、コピーして OmegaT 編集ウィンドウに貼り付けることができます。

te-basic-target

te-basic-source と同様の機能ですが、訳文テキストを処理します。

te-warning

このスクリプトは、原文テキストを表示するほかに、単語などの文字列を入力するためのボックスを提供します。その文字列を含む OmegaT 分節が開かれたときに、スクリプトが警告を発します。警告は、黄色で強調されたスクリプトウィンドウ中のテキストとして表示されます。さらに、ハードウェアと OS が対応していれば(そうでないこともあります)、ビープ音が鳴ります。

この機能の使用例を以下に示します。原文テキストに含まれている「abc」という語句を、最初は「abc」と訳したとします。その後、「abc」ではなく「def」と訳すべきであることがわかりました。先に進む前に、すべての「abc」を検索して修正することも可能ですが、その方策には欠点もあります。そこで、次の訳文見直しの際に修正することにしました。この場合、該当する分節で「注意が喚起される」と便利でしょう。

te-notags

その名が示すように、このスクリプトは、OmegaT の分節の訳文からタグを自動削除します。これは、タグの多い分節を画面上でチェックする際に有用です。タグが多いと、スペースの抜けや重複を見逃しやすいからです。

te-tags

このスクリプトは、分節の訳文を、デフォルトの字体以外の特定の字体で表示します(スクリプトでハードコードされますが、編集可能です)。タグは、あまり目障りにならないように別の字体で表示されます。te-notags の場合とは異なり、表示ウィンドウ内で編集し、全体をコピーして OmegaT 編集ウィンドウに貼り付けることができます。

te-gloss-highlight

このスクリプトは、用語集ファイルの内容を読み込み、開いている分節の原文テキスト中に見つかった用語を強調します。用語集ファイルは、2 つの欄のみからなり、GLOSS.utf8 という名称で、script フォルダ内に置かれている必要があります。

te-gloss-subst

te-gloss-highlight と同様に機能しますが、用語集の原文用語を訳文用語に置き換えます。

te-gloss-subst-highlight

te-gloss-highlight の強調機能と te-gloss-subst の置換機能を組み合わせたものです。

tcl/tk のプログラミング

Tcl/tk は、スクリプト言語として数々の利点があります。

- 習得するのが簡単です。
- 無料です。
- 広く使われているので、インターネットで助言が見つかります
- Tk ツールによって、グラフィカルユーザーインターフェースを生成するのが簡単です。
- 多くの良書や関連リソースがあります(少なくとも英語では)。
- ストリング指向であり、テキストを扱う用途に特に適しています。

初心者向けに、下記のような手引き書サイトがあります。

www.dci.clrc.ac.uk/Publications/Cookbook/index.html
www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html
www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html

tcl/tk を本気で習得したい方には、Brent Welch著『Practical Programming in Tcl and Tk』(ISBN: 0-13-038560-3)が特にお勧めです。この本は、プログラミングの初心者にはやや高度かもしれませんが、いずれかのオンライン手引き書を通読したあとであれば、きっと有用でしょう。

Copyright Marc Prior 2009-2011