WPMLが生成するXLIFFファイルをOmegaTで編集する方法を説明します。
1. 新規プロジェクトの作成と開始
メニューからProject → New…を選択します。
プロジェクトファイルを保存するフォルダーに移動し、翻訳プロジェクトの名前を入力します。この名前はメインのプロジェクトフォルダーに使用されます。すべてのプロジェクトファイルはこのフォルダーまたはそのサブフォルダーに保存されます。
以下のダイアログボックスを使用して、作成するプロジェクトフォルダーを確認または変更するようOmegaTから求められます。

ドロップダウンリストから言語コード(2文字)または言語と地域のコード(2文字+2文字)を選択するか、手動で入力します。
OmegaTで特定の方法でファイルをセグメント化する場合は、セグメンテーションルールを確認するか、後でメニューからOptions → Segmentationを選択して設定します。
OKをクリックしてプロジェクトのセットアップを承認すると、インポートするソースドキュメントを選択するようOmegaTから求められます。個別のファイルをインポートすることも、フォルダーツリー全体(すべてのサブフォルダー内のすべてのファイルを含む)をインポートすることもできます。
翻訳するファイルのリストを確認するには、Project Filesウィンドウを参照します(自動的に開かない場合は、メニュー:Project → Project Files…)。Sourceフォルダーの内容を変更する必要があった場合は、まずプロジェクトを再読み込みしてください(メニュー:Project → Reload)。デフォルトでは、OmegaTはプロジェクトリストの最初のファイルを開きます。
OmegaTは、ファイルフィルターで定義されたパターンに一致する場合にのみ、以下の形式のファイルを翻訳できます。その他のファイルは無視されます。
- OpenDocument/OpenOffice.org
- プレーンテキスト
- .po
- Bundle.properties Java
- XHTML、HTML
- HTML Help Compiler
- INI('key=value'形式)
- DocBook
- Microsoft Open XML
- Okapi monolingual XLIFF
- QuarkXPress CopyFlowGold
- 字幕ファイル(SRT)
- ResX
- Androidリソース
- LaTeX
2. XLIFFファイルのインポート方法
上記のファイルリストの中で注目すべきはXLIFFファイルです。*.xliff形式のファイルをインポートしようとすると、ファイルが認識されないことに驚くかもしれません。この問題は、ファイルフィルター(メニュー:Options → File Filters)を確認し、XLIFFファイルのソースファイル名パターンに*.xliff拡張子が含まれているかを確認することで簡単に解決できます。

残念ながら、OmegaTのデフォルト設定には*.xlf拡張子しか含まれていないため、XLIFFファイルの行をクリックしてからEditをクリックし、*.xliff拡張子を手動で追加する必要があります。既存の行と同じ行をAddで追加し、ソースファイル名のパターンを使用したいものに変更するだけです。

これらの操作が完了すると、ファイルはプロジェクトに正常にインポートされます。
3. ソースのセグメンテーション
OmegaTには、段落セグメンテーションと文セグメンテーションの2つのテキストセグメンテーション方法があります。セグメンテーションのタイプを選択するには、メインメニューからProject → Properties…を選択し、利用可能なチェックボックスを使用します。

段落セグメンテーションはかなり時代遅れであり、ほとんどのプロジェクトでは文セグメンテーションを選択することが推奨されます。文セグメンテーションを選択した場合は、メインメニューからOptions → Segmentation…を選択してルールをセットアップできます。
OmegaTはまず、構造レベルのセグメンテーションのためにテキストを解析します。このプロセスでは、セグメントの生成にソースファイルの構造のみが使用されます。
例えば、テキストファイルは改行や空行でセグメント化されるか、まったくセグメント化されない場合があります。書式設定されたファイル(OpenOffice.orgドキュメント、HTML/XLIFFドキュメントなど)は、ブロックレベル(段落)のタグでセグメント化されます。
ソースファイルを論理的な単位にセグメント化した後、OmegaTはこれらのブロックをさらに文にセグメント化します。
セグメンテーションルールには2つの種類があります。
• Break rules(分割ルール)は、ソーステキストをセグメントに分割します。例えば、「Did it make sense? I was not sure.」を2つのセグメントに分割する場合、「?」に対する分割ルールが必要です。

• Exception rules(例外ルール)は、テキストのどの部分を分割してはならないかを指定します。ピリオドがあるにもかかわらず、「Mrs. Dalloway 」は2つのセグメントに分割されるべきではないため、Mrs(およびMr、Dr、profなど)の後にピリオドが続く場合の例外ルールを設定する必要があります。
4. ルールの作成
既存のルールセットを編集または拡張するには、上部のテーブルで該当するルールセットをクリックするだけです。そのセットのルールがウィンドウの下半分に表示されます。

新しい言語やファイルパターンのタイプ用に空のルールセットを作成するには、ダイアログの上半分にあるAddをクリックします。上部のテーブルの一番下に空の行が表示されます(表示するには下にスクロールする必要がある場合があります)。ルールセットの名前と言語パターンを変更します。言語パターンの構文は正規表現の構文に準拠しています。ルールセットが言語と国のペアを処理する場合は、Move Upボタンを使用して一番上に移動することをお勧めします。

Break/Exceptionチェックボックスは、それが分割ルール(チェックボックスをオン)か例外ルール(チェックボックスをオフ)かを決定します。BeforeとAfterの2つの正規表現は、例外ルールまたは分割ルールの対象となるために、特定の位置の前後に何がなければならないかを指定します。
5. XLIFFファイル用のセグメンテーションルールの作成
XLIFFファイルを扱う場合、すぐにセグメンテーションルールを定義したくなるでしょう。そうしないと、翻訳するドキュメントは以下のようになります。

書式設定されたファイルでは、セグメンテーションが段落レベルのタグで行われていることに気づくでしょう。XLIFFファイルの場合、これはあまり整理されていないように見えるため、翻訳可能なコンテンツを別のセグメントに抽出したいと考えるはずです。結論として、セグメンテーションルールを作成する必要があります。
XLIFFファイルは標準的ですが、WordPressに固有の要素がいくつか含まれています。通常、HTMLでは改行を生成するために<br />タグを挿入します。WordPressでは、改行文字も改行を生成します。改行文字は現在、<br class="xliff-newline"/>というタグに置き換えられています。
「ルールの作成」セクションの手順に従い、このタグをセグメンテーション後のパターンとして使用し、任意の文字(行末文字を除く)をセグメンテーション前のパターン(「.」は定義済みの文字クラス)として使用することで、この種のファイル用のルールを簡単に作成できます。
次のようにルールを作成します。

ルールを適用すると、空行の場合や行に情報が含まれている文の前に、不便なタグが別々のセグメントに整理されます。これにより、翻訳可能なコンテンツが以前よりも目立つようになります。

6. 翻訳済みドキュメントの作成
すべてのセグメントの翻訳が完了すると(または希望する場合はそれより前に)、OmegaTは翻訳メモリに保存された翻訳を使用してターゲットドキュメントを更新します。これを行うには、メニューからProject → Create Translated Documentsを選択します。OmegaTは、完全に翻訳されているかどうかに関係なく、プロジェクトのSourceフォルダーにあるすべての翻訳可能なドキュメントの翻訳バージョンを構築します。完全または部分的に翻訳されたファイルは、ソースドキュメントと同じ名前と同じ拡張子でプロジェクトのTargetフォルダーに保存されます。翻訳を完成させるには、関連するアプリケーション(ブラウザー、ワードプロセッサなど)でターゲットファイルを開き、翻訳の内容と書式を確認します。その後、OmegaTに戻って必要な修正を行うことができます。翻訳済みドキュメントを再作成することを忘れないでください。
上記のスクリーンショットでは、プロジェクトのディレクトリ全体を確認できます。
例えば、XLIFFファイルの翻訳が完了し、それをWPMLにアップロードしたいとします。そのためには、Targetフォルダーで翻訳されたファイルを見つけ、その場所からアップロードするだけです。

コピーを作成して別の場所に保存することもできます。翻訳の書式に関する変更はWPMLで行われ、翻訳の修正はWPMLまたはOmegaTのいずれかで行うことができます。
