付録C OmegaT チームプロジェクト
戻る |  | 次へ

# 付録C OmegaT チームプロジェクト

## 1. バージョン管理 - はじめに

OmegaT はバージョン管理に基づいた共同翻訳機能を提供します。バージョン管理はソフトウェアの分野で広く使われている手法で、プログラムのソースコードに関する変更を維持・管理し、チームによる共同開発作業を強力に支援します。OmegaT は非常に普及している２つのバージョン管理システム（以下、VCS）に対応しています。Apache Subversion（コマンド名が svn であることから、しばしば SVN の略称で呼ばれる）と、Git です。翻訳者のチームが VCS を使うことには、次のような利点があります：

- 複数のチームメンバーが、お互いに邪魔することなく、同じ翻訳プロジェクトで同時に作業できます

- プロジェクトの翻訳メモリや用語集などを、共有できます

- デフォルトでは３分ごとに、最新データがチームメンバーに共有されます。

- システムが、共有データのバージョン管理を行います

- 競合（たとえば、同じ分節や用語を複数人が同時に編集している状態）を監視して、マージし、解決できます

以下は、本章で使用される用語の簡単な説明です：

- VCS サーバー：ここでは、SVN や Git のサーバーを指します。ネットワーク上で共有データを維持・管理する環境です。サーバーはローカルネットワーク上にも存在できますが、たいていの場合はインターネット上に存在し、URL を指定してアクセスします。少なくともチームの誰か一人は、プロジェクトの管理者として、サーバー側の管理に通じている必要があります。環境設定や OmegaT プロジェクトのインポート、メンバーに対するアクセス権の賦与、競合の解決などが仕事です。

- VCS クライアント：サーバーへのインターフェースです。プロジェクトの管理者は、SVN または Git 用のクライアントをコンピューターにインストールして、OmegaT プロジェクトを管理します。Windows 向けの汎用クライアントとしては、 TortoiseSVN や TortoiseGit が有名です。Linux や Mac OS X など、他の OS 向けにも同様のパッケージが存在します。

- リポジトリ：データを維持・管理する場所の単位です。ローカルネットワークに存在する場合もあれば、インターネット上の場合もあります。プロジェクトメンバーが、VCS クライアントを介して接続する先が、これになります。

- チェックアウト：ローカルコンピューター上にリポジトリの作業コピーを作成する操作を指します。（日本語訳註：Git では同様の操作を「クローン」と呼びます）サーバーは、チェックアウト情報を保持します。これによって、後でコミット（下記を参照）がうまく機能します。

- コミット：チェックアウトしたデータをローカルで編集して、あるていどの区切りが付いたら、リポジトリにコミットします。これによって、チームの他のメンバーにも最新のデータを共有可能になります。すべての衝突や競合（複数のメンバーがチェックアウトした同じデータを編集している状態）が解決されるまで、サーバーはコミットを受け付けません。

- 管理者：リポジトリの作成と維持の責任者。サーバー側の作業を担当します。問題を避けるために、最初のうちは決まったひとりの人が担当するとよいでしょう。

- ユーザー：プロジェクトで共同翻訳するチームのメンバー。

## 2. SVN でプロジェクトを共有する

SVN サーバーを使うには、２つの選択肢があります。自前のサーバーに SVN をインストールするか、ホスティングサービスを利用するか、です。外部サービスを利用するなら、元の文書を外部のサーバーにアップロードする前に、機密保持の観点から問題が無いか、よく検討した方が良いでしょう。この問題を避けるために、プライベートな SVN サーバーを立てるという手もあります。たとえば、すでに Apache サーバーを管理しているのであれば、VisualSVN のようなプログラムをインストールすれば済むかもしれません。

SVN サーバーを利用可能になったら、プロジェクト用のファイルを管理できます。管理者はそのために、SVN クライアントをローカルコンピューター上にインストールしておく必要があります。Windows 向けには、TortoiseSVN を勧めます。Mac 向けのクライアントは SourceForge などで見つけることができます。Linux 向けの情報は、『Subversion Commands and Scripts』（英語）を参照してください。

### 2.1. リポジトリの作成

ここでの説明には、ProjectLocker（フリープランは２ユーザーまで）の SVN サーバーを例に取ることにします。（日本語訳注：日本語で使える同様のサービスには、フリープランが 10 ユーザーまでの Backlog（www.backlog.jp）などがあります）リポジトリの作成者は、暗黙的に管理者権限を持つことになりますので、注意してください。まずサイトにログインします。サイトを利用するのがはじめての場合は、ユーザー登録をしましょう。後で必要になるので、ユーザー名とパスワードは忘れないようにしてください。

1. ProjectLocker で新しいプロジェクトを作成します

2. リポジトリの名前と説明を入力します（この例では「`OmegaT`」と「`OmegaT SL Localization`」と入力したものとします）

3. 「SVN」を選びます

4. 「Create Project」をクリックします

自分のアカウントの Projects ビューを開きましょう。プロジェクトサービスの下に表示されている URL は、SVN クライアントからサーバーに接続する際に使います。同じ画面から、チームメンバーを追加したり、権限を割り当てることができます。チームメンバーを追加するには、そのメンバーが先にユーザー登録を済ませている必要があります。ProjectLocker のフリープランは、１プロジェクト２ユーザーまでなので、注意してください。

プロジェクトは、自分のニーズと開発スタイルに合わせて管理できます。OmegaT プロジェクトの場合と同様に、言語ペアごとにリポジトリを分けてもかまいません。言語ペアが同じであっても、依頼主や案件が違うなら、やはりリポジトリを分けた方がよいでしょう。あるいは、ひとつのリポジトリ内で「`Project1`」、「`Project2`」のようにサブフォルダーを作って分ける方法もあります（日本語訳註：この方法は、SVN でのみ有効です。Git では１リポジトリを部分使用できないため、たとえば前述の Backlog ではフリープランでも Git のリポジトリ数は制限されません）。そして共有したいデータを `tm` フォルダー、`glossary` フォルダー、`dictionary` フォルダーに置きます。

以下では、説明を単純にするために、ひとつの OmegaT プロジェクトに対してひとつのリポジトリを使うことにします。

### 2.2. SVN リポジトリにプロジェクトをインポートする - Windows の場合

先ほど作成したリポジトリは、まだ空の状態です。では、まずローカルコンピューターのディスク上に空のフォルダーを作成しましょう。プロジェクトを配置するための空のフォルダーを作成したら、その上で右クリックします。TortoiseSVN をインストールしてあれば、コンテキストメニューに［SVN チェックアウト(K)...］というコマンドが出てきます。それを選ぶと、下図のようなダイアログが表示されます。

ProjectLocker から取得した URL を［リポジトリのURL］欄に入力します。［チェックアウト先のディレクトリ］欄が正しい（先ほど作成した空のフォルダーが指定されている）ことを確認し、［OK］ボタンを押します。この操作が完了すると、フォルダーは作業コピーとなって、サーバーの最新の状態に同期されます。フォルダーのアイコンの上には、緑色の OK バッジが重なって表示されます。またフォルダーの中には、管理用の .svn フォルダーが作成されています（ただし隠しフォルダーなので、シェルの設定によっては表示されません）。

次の手順として、作業コピーフォルダーに OmegaT のファイルを追加しましょう。以下は、チームメンバーと共有するファイルです。チームプロジェクトは、これらのファイルを含みます：

- omegat プロジェクトファイル -- `omegat.project`

- 翻訳メモリファイル -- `omegat\project_save.tmx`

- source フォルダー内の原文ファイル

- プロジェクト専用のフィルター定義ファイル（省略可）-- `omegat\filters.xml`

管理者は、次のフォルダーとその内容についても、同様に含めることができます：`tm` フォルダー、`glossary` フォルダー、`dictionary` フォルダー。また `omegat` フォルダーの中の `ignored_words.txt` と `learned_words.txt` も、チームで共有して維持していくに値します。`omegat` フォルダー内の `.bak` ファイルと `project_stats.txt` および `project_stats_match.txt` は、いかなる場合においても含めるべきではありません。これらのファイルを含めても、リポジトリが無意味に肥大化するだけで、何の役にも立ちません。`target` フォルダーとその内容についても、同じ方針でよいでしょう。

作業コピーフォルダーに必要なファイルをコピーしたら、フォルダーのアイコンが変化することに気づくでしょう。緑の OK バッジだったものが、作業コピーが変更されたことを示す赤い感嘆符に変わったはずです。次の２つの手順で、作業コピーの変更をサーバーに反映させます：

- 作業コピーフォルダーにコピーしたファイルを「追加」します：作業コピーフォルダーにファイルやフォルダーをコピーしただけでは、SVN の管理下に入りません。そのファイル/フォルダーを SVN が管理するよう、明示的に指定する必要があります。この操作を「追加」と呼びます。「追加」するには、ローカルにチェックアウトしたフォルダーを右クリックして、［TortoiseSVN］→［追加(A)...］を選びます。ダイアログが開くので、デフォルトの設定のまま［OK］ボタンをクリックします。（日本語訳註：右ドラッグでコピーすれば、一回の操作で追加まで完了します）「追加」が完了すると、下図のようなウィンドウが開きます。

  チェックアウトしたフォルダーの中身は、次のような状態になります。

- ローカルの変更をサーバーにコミットします：作業コピーフォルダーを右クリックして、［SVN コミット(C)...］を選びます。下図のようなウィンドウが開きます。同期したい変更にチェックを付けます。この場合は、追加したファイルとフォルダーが対象です。

  適切なログメッセージを入力して、［OK］ボタンを押します。コミットウィンドウが開き、処理の経過が表示されます。これはサーバー側のリポジトリに対する、はじめてのコミットになります。

- ローカルの作業コピーを「更新」します：「更新」とは、作業コピーに対してリポジトリの最新状態を反映させる操作を指します。作業コピーフォルダーの上で右クリックして、［SVN 更新(U)...］を選びます。作業コピーフォルダーを開き、リポジトリの最新の状態が反映されたことを確認してください。

## 3. OmegaT でチームプロジェクトを使う

管理者がチームプロジェクトの設定を済ませたら、メンバーに必要なのは OmegaT でそのチームプロジェクトをダウンロードすることだけです。初回は、メニューから［プロジェクト］→［チームプロジェクトをダウンロード...］を選びます。この操作によって、実際にはプロジェクトがローカルフォルダーにチェックアウトされます。認証情報は記憶されます。毎回入力する必要は、ありません。Linux の場合、もし OmegaT が認証情報の入力を毎回促してくるようであれば、［パスワードを暗号化しないで保存する］チェックボックスにチェックを入れてみてください。

２回目以降に使用する場合は、他の OmegaT プロジェクトとまったく同じように、チームプロジェクトを開くだけです。OmegaT はそれがチームプロジェクトであることを識別して、デフォルトでは３分ごとにすべて自動で同期します。

戻る |  | 次へ
付録B 編集ウィンドウのキーボードショートカット | ホーム | 付録D トークナイザー プラグイン