2013年11月24日

OmegaTを使ってます

今まで公開文書の翻訳にはGoogle Translator Toolkitを使ってきたのですが、改悪に改悪を重ねられ、あまりにも使えないツールとなってしまいました。
中でも、いつの間にか翻訳メモリのダウンロードができなくなっていたのには驚きました。以前は確かにできていたのに…。ユーザの利便性を犠牲にしてまでも囲い込みたいのか? まさに「Do the evil」の企業スローガンどおりですね。w

と言うわけで、その代わりにOmegaTという翻訳メモリソフトを使うことにしました。
OmegaTは、確か1.3くらいのときにちょっと使ったことがあったのですが、最新版(2.6.3 Update 6)ではだいぶ変わっていてちょっと戸惑ったのも事実です。
いろいろとググったりしたのですが意外と情報がなく、最終的には自力で解決したのですが、同じようなことで困っている方もいらっしゃるのではないかと思い、ここにまとめておくことにしました。
参考にしていただければ幸いです。

ちなみに、11月22日にリリースされた最新版では、エディタが異常に遅くなるという問題が解決されています。
最近OmegaTを使っていて、エディタが遅いという症状に悩まされていた方、ぜひ最新版を試してみてください。

(1) 改行で段落を区切りたい

私は翻訳対象のテキストファイルは1段落1行(つまり改行で段落を区切る)にしているのですが、OmegaTの初期値は「空行(=連続する改行2個)で段落を区切る」になっています。
これを変更するのは、以前は「分節化規則」のところでできたような記憶があるのですが、最新版ではここにはありませんでした。
取説を見ても「たとえば、テキストファイルの場合は、改行で分節化するか、空行で分節化するか、または、まったく分節化しないかのいずれかです。」とあるだけで、じゃあどうすればいいのかは書いてありません。(><)
実はこれ、「ファイルフィルター」で設定するんですね…。
「ファイルフィルター」ウィンドウを開き、「テキストファイル」を選択して「設定」ボタンを押すと、「原文を分節化する位置:『改行』『空行』『しない』」というラジオボタンが出てきて、初期値は『空行』が選択されているので、これを『改行』に変更し、「確定」ボタンを押し、もう一度「ファイルフィルター」ウィンドウの「確定」ボタンを押せばOKです。
ちなみに、ファイルフィルターや分節化規則の変更は、プルダウンメニューの「設定」からもできますが、これだとマシンごとの設定になってしまいますので、一度プロジェクトを設定してからプルダウンの「プロジェクト」→「プロジェクト設定」で出てくる画面から「ファイルフィルター」または「分節化規則」ボタンを押して、「分節化規則をプロジェクト専用にする」または「ファイルフィルター規則をプロジェクト専用にする」にチェックを入れてから設定するほうがよいと思います。
こうしておけば、ファイルサーバ上のプロジェクトを別のマシンで開いた場合にも、その設定が適用されますので。

(2) 変なところで文節が区切られる

次に困ったのが、「23 November 2013」とか「2.1 Assumptions」という日付や見出しの場合、最初のスペースで分節化されてしまうことでした。
これはデフォルトの分節化規則に余計なおせっかいが書いてあるからなのですが、そちらは一応尊重して、カスタム分節化規則を追加することで対応しました。
そう、OmegaTは分節化規則を自分で設定できるのです。ただし、正規表現の知識が必要ですが…。
例として、私の設定した分節化規則をお目にかけましょう。(クリックで拡大)
20131124.png
「分節または例外」の欄にチェックが入っている場合、「この規則に該当すれば、その位置で分節化する」を意味します。チェックが入っていない場合、「この規則に該当すれば、その位置では分節化しない」を意味します。わかりにくいですよね…。
「その位置」とは、「分節前の構成例」と「分節後の構成例」の間に挟まれた地点です。
例えば、下から5番目を見てみます(ちなみに、これより上はOmegaTデフォルトで設定されていた分節化規則、これを含めてこれより下は私の設定した規則です)。

「分節または例外」:チェックあり→分節化する
「分節前の構成例」:\S→これは「空白文字以外」を意味します。
「分節後の構成例」:\t→これは「タブ」を意味します。

つまり、「空白文字以外の後にタブが続いたら、その間で分節化する」という意味になります(私は表のある文書を翻訳することが多く、表の要素はタブで区切るので、こうしておくと好都合なのです)。

では次。
「分節または例外」:チェックなし→分節化しない
「分節前の構成例」:U\.S\.→これは「U.S.」を意味します(正規表現では「.」は特別な意味を持つため、「\」でエスケープしています)。
「分節後の構成例」:\s→これは「空白文字」を意味します。
つまり、「U.S.」の後に空白文字が続いても、分節を区切らないでね、ということです(例えば「The U.S. Government is ...」みたいな文章が途中で文節に区切られてしまうことが防げます)。

だいたいわかってきたでしょうか。では次に行きましょう。
「分節または例外」:チェックなし→分節化しない
「分節前の構成例」:\s[a-z]\.→これは空白文字の後に英小文字、さらにその後にピリオドを意味します。
「分節後の構成例」:\s[a-z]→これは、そう、空白文字の後に英小文字を意味します。
これは例えば、「Which do you like: a. apples b. pears c. dates?」みたいな文章が、途中のピリオドで分節化されることを防ぐために追加した規則です。

次はちょっと難しいです。
「分節または例外」:チェックなし→分節化しない
「分節前の構成例」:^\d(\.?\d)+\s→ちょっと順を追って説明しますね。
まず\dは「数字」を意味します。以前出てきたように、\.はピリオド、\sは空白文字です。
それでは^は何かと言うと、文頭を意味します。+は、その前の文字またはグループ(括弧でくくられている)が1回以上繰り返されるという意味。?は、その前の文字またはグループが0回か1回あるという意味。
つまり、これらをまとめると、「文頭に数字があって、その後に(ピリオドを挟んでも挟まなくてもいいけど)数字が1回以上繰り返されて、その後に空白文字がある」という意味になります。
「分節後の構成例」:[A-Z]→これは、英大文字を意味します。
これが実は最初に例に挙げた、「23 November 2013」とか「2.1 Assumptions」の最初の空白では分節化するな、という意味になるんですね~。
わからなかった方は、もう一度よーく考えてみてください。

最後は、簡単ですね。
「分節または例外」:チェックあり→分節化する
「分節前の構成例」:\.”\s+→これは、ピリオドの後に閉じ二重引用符、次に空白文字の1回以上の繰り返しを意味します。
「分節後の構成例」:[A-Z]→これは、英大文字を意味します。
つまり、「He said, “This is a pen.”」みたいな文章の後で分節を分けてくれるようにするために追加した規則です。

いかがでしょうか?
分節化規則のカスタマイズができるようになると、OmegaTの使いこなしの幅がぐんと広がると思います。
参考になれば幸いです。OmegaT、いいですよ!
posted by ぽそこし at 23:56| Comment(2) | TrackBack(0) | 日記 | 更新情報をチェックする
この記事へのコメント
なるほどー、分節化規則にこんな丁寧な解説がついていると、分かりやすいですね。
分節化規則の設定ウィンドウには何の説明欄もないので、現状でどういう意図の規則なのか理解しようと思うと、ほとんど暗号解読状態になってハードル高すぎる気がします。
人間向けに、説明欄つけてくれないかな…。
Posted by YU-TANG at 2013年11月25日 04:06
YU-TANGさん:
ありがとうございます。
OmegaTは良いツールだと思うんですが、おっしゃるようにちょっと不親切というか、わかりにくい面がありますよね。
とりあえず、分節化規則に関して疑問がありましたら、ここにコメントいただければ、私にできる範囲でお答えしたいと思います。
Posted by ぽそこし at 2013年11月25日 10:10
コメントを書く
コチラをクリックしてください

この記事へのトラックバック