Menu

Team_Project_howto

OmegaT のチーム機能の使い方

OmegaT には、Subversion や Git のような VCS(バージョン コントロール システム)と連携できる「チーム機能」があります。

ここでは OmegaT-jp リポジトリの日本語化作業を行う方を対象に、チーム機能の使い方を説明します。

なお OmegaT 3.1.0 時点での記述になるため、将来のバージョンには 当てはまらない可能性があります。

前提条件

必須

  1. チーム機能が実装されたのは、OmegaT 2.6 からです。2.6 以降のバージョンを使ってください。
  2. [設定]-[チーム] メニューから、自分の名前を適切に設定しておいてください。この情報は TMX ファイルに保存され、TMX ファイルはリポジトリで公開されます。公開されても問題ない名前を設定してください。
  3. リポジトリを更新するには、作業者が OmegaT-jp プロジェクトのメンバーである必要があります。まだメンバーでない方は、メーリングリスト上でご連絡ください。

推奨

  1. バージョン 2.6.x までは、トークナイザー プラグインの使用を強くお勧めします。参考訳文や用語集の照合精度などが改善します。詳しくは OmegaT 技術情報:トークナイザーの使用を参照してください。
  2. バージョン 3 からは、トークナイザーが本体に統合されたため、別途ダウンロード/インストールの必要はありません。

チーム機能を初めて使う

以下で、日本語版のインターフェイスを前提に、チーム機能の初回の設定手順を説明します。 他の言語版の UI を使う場合は、適宜読み替えてください。 また画像やサンプルコマンドは Windows OS を例にとっていますので、他の OS の場合は、 やはり適宜読み替えてください。

1. チームプロジェクトをダウンロードする

メニューから [プロジェクト]-[チームプロジェクトをダウンロード] を選択します。

download-team-project-menu

[チームプロジェクト] ダイアログが表示されます。

2. 設定する

以下の通りに設定を行います。

変更をコミットする場合(OmegaT-jp プロジェクトのメンバー限定)

項目 設定値 備考
リポジトリ URL svn+ssh://YourUserName@svn.code.sf.net/p/omegat-jp/code/omegat/trunk/ OmegaT の UI、取扱説明書用
ローカルフォルダー C:\Your\Working\Copy\omegat-jp-omegat OmegaT の UI、取扱説明書用
リポジトリ URL svn+ssh://YourUserName@svn.code.sf.net/p/omegat-jp/code/website/trunk/ Web サイト用
ローカルフォルダー C:\Your\Working\Copy\omegat-jp-website Web サイト用

変更をコミットしない場合(読み取り専用で誰でも OK)

項目 設定値 備考
リポジトリ URL svn://svn.code.sf.net/p/omegat-jp/code/omegat/trunk/ OmegaT の UI、取扱説明書用
ローカルフォルダー C:\Your\Working\Copy\omegat-jp-omegat OmegaT の UI、取扱説明書用
リポジトリ URL svn://svn.code.sf.net/p/omegat-jp/code/website/trunk/ Web サイト用
ローカルフォルダー C:\Your\Working\Copy\omegat-jp-website Web サイト用

team-project-dialog

  • 「リポジトリ URL」は2種類あります(上の表を参照)。自分の作業したい内容に応じて、どちらかを選んでください。
  • 「ローカルフォルダー」に指定するフォルダーは、まだ存在しないか、 あるいは空のフォルダーである必要があります。またパス末尾のフォルダー名 (「omegat-jp-omegat」または「omegat-jp-website」)を変更してはいけません (用語集のファイル名と連動しているため、変更すると同期に支障を来たします)。
  • 「変更をコミットする場合」において、上記のリポジトリ URL を入力すると、最初だけ、以下のような認証画面が表示されます。後述「5. 認証する」と同様、ご自身の sourceforge ユーザー名・パスワードを入力してください。

authentication-dialog1

3. 確定する

設定が済んだら、[確定] ボタンをクリックします。

プロジェクトのダウンロード(チェックアウト)が行われますので、少し待ちます。

4. 翻訳する

チームプロジェクトのローカル作業コピーが作成されると、ファイル一覧が表示されます。

project-files

ファイルはたくさんありますが、とりあえず UI の作業をするなら、リストの一番下にある Bundle.properties を選べばよいです。

あるいは単純に未訳分節から作業するなら、特にファイルを選ばずに、ショートカット Ctrl+U で未訳分節に移動します。

あとは、特にチーム機能を意識する必要はありません。 OmegaT 上で、ふつうに翻訳してください。

5. 認証する

ローカルで変更を保存すると、自動的にリモートリポジトリ(この場合は OmegaT-jp の svn リポジトリ)に変更がコミットされます。

このとき、以前に認証を済ませていない限り、次のような認証ダイアログが表示されます。

authentication-dialog

他のチェックボックスは、特に事情が無い限り、チェックする必要はありません。

項目を入力して [確定] ボタンを押すと、認証が完了してコミットが実行されます。一度この認証を済ませると、次回からは何も訊かれることなく、透過的にコミットが実行されます。

なお、もし初回の作業時に何も変更を保存しなかった場合は、認証を要求されません。

その場合は、二回目以降の作業時に、何かしらの変更を保存するタイミングで認証を要求されます。

項目 設定値 備考
ユーザー名 sourceforge.net のユーザー名
パスワード sourceforge.net のパスワード

チーム機能を二回目以降に使う

作成済みのチームプロジェクトを開く場合は、通常の OmegaT プロジェクトとまったく同じように、[プロジェクト]-[開く] からプロジェクトを開いてください。

チームプロジェクトのダウンロード作業は、初回以外は必要ありません。

open-project-menu

コンフリクトを解消する

同じプロジェクトについて複数のメンバーが並行して作業する場合、 同一分節を別々に訳してしまう可能性があります。

先に保存したユーザーの場合は問題ありませんが、 後から保存するユーザーの場合はコンフリクト(競合)が発生します。

このような場合、OmegaT 3.1.0 からは、マージ(競合解決)用のツールとして内蔵されている SuperTMXMerge が起動し、 ユーザーがグラフィカルに競合解決方法を選べるようになります。

具体例を見ていきましょう。

以下は、同じ文書を2人のユーザーが翻訳している状態を模したものです。

stm-conflict

左のユーザーが先に保存します。この時点では問題ありません。

次に、右のユーザーが保存します。この時点で競合が発生するため、 自動的に SuperTMXMerge の画面が起動します。

stm-detail01

画面は詳細表示のものです。

ローカルで自分の変更した情報、変更前の情報、サーバーの変更後の情報など、マージに必要な情報がすべて表示されていることが分かります。またデータの差分は書式付きで表示されているため、どこが違うのか一目瞭然です。

画面左下のボタンを押すと、一覧表示に切り替えることができます。

stm-list

競合分節の数が多い場合は、全体を把握しやすいよう、最初から一覧表示の方で表示されます。

一括してどれかを採用すれば良い場合は、画面上部の[~をすべて採用する]ボタンを押すだけです。

個別に決めていく場合は、採用したい枠をクリックします。採用すると、太枠に変わります。

stm-detail02

画面右下のボタンで移動しながら、次々と採用していきます。

すべて採用が決まると、右下隅の[完了]ボタンが有効になります。[完了]ボタンを押して、マージ終了です。

stm-detail03

svn や Git のマージ処理というと、CUI で作業するイメージをお持ちの方も多いかもしれませんが、 OmegaT の場合は、このように分かりやすい画面で誰でも簡単に作業できるようになっています。

FAQ

同期されるファイルはどれですか

同期対象は、project_save.tmx と、既定の用語集ファイル(ProjectName-glossary.txt)だけです。

それ以外のファイルについては、ローカルで何を変更しても、リモート リポジトリには影響しません。

たとえば訳文ファイルを生成したり、外部 TMX ファイルを追加したりしても、それはローカルのみの変更に留まります。

翻訳作業する PC に Subversion クライアントをインストールしておく必要はありますか

ありません。

OmegaT の svn アクセスは Java ライブラリの SVNKit を利用しているため、外部ツールには依存しません。OmegaT 自体が Subversion クライアントになっているため、OmegaT をインストールしたら、すでに Subversion クライアントをインストールしたのと同じことになります。

自分が翻訳作業しない原文ファイルを削除しても大丈夫ですか

はい。リモート リポジトリには影響しません。

ただし、同期した時点でリモート リポジトリに存在してワーキングコピーに無いファイルは再ダウンロードされますので、 削除してもすぐに復活することになります。ネットワークに負荷がかかるだけで、あまり意味はありませんので、お勧めはしません。

もう必要なくなったプロジェクトを削除する方法は

フォルダーごと削除してください。

ローカルのワーキングコピーを削除しても、リモート リポジトリには影響しません。

チームプロジェクトを削除すると認証情報も削除されますか

いいえ。

認証情報はチームプロジェクトとは別管理されています。 これは OmegaT が管理しているわけではなく、Subversion の管理下になります。

チームプロジェクトを削除しても認証情報は残るため、ある時点でもう一度 チームプロジェクトをダウンロードし直すと、認証済みの状態で利用を再開できます。

同じファイルの同じ分節を異なるユーザーが同時に編集すると、どうなりますか

バージョン 3.1.0 未満では、後に保存した人が勝ちます。 先に保存したユーザーによる変更は上書きされ、特に警告は上がりません。

現在の OmegaT-jp の活動頻度からすると、衝突の可能性は低いと考えられるため、 現時点では特に対策を立てる予定はありません。

なおバージョン 3.1.0 以降では、OmegaT に内蔵された差分・マージ用のツール SuperTMXMerge が起動して、競合の解決方法をユーザーが選べるようになります。

コミットログはどのように書き込まれますか

翻訳作業の結果、翻訳メモリファイル(TMX ファイル)が更新された場合は、 以下の形式でログに記録されます。

Translated by UserName

用語集ファイルが更新された場合は、以下の形式でログに記録されます。

Added glossaryitem(s) by UserName

実例は Code Log - omegat-jp をご覧ください。

もし一回のセッションで翻訳メモリと用語集の両方が更新された場合は、 それぞれ別々にコミットされます。つまり同期時に二回のコミットが発生し、 ログもそれぞれ個別に記録されます。

今のところ、コミットログの形式をカスタマイズする方法はありません。

仕事で OmegaT を使っていますが、それとは別の名前を使いたい

名前はプロジェクト固有の設定ができませんので、残念ながら、 簡単に使い分ける方法はありません。

作業時に名前を設定しなおすか、あるいは OS のユーザーアカウントを作業別に用意したり、 個人設定ファイルをリネームして切り替えるバッチファイルを用意するなどして、 対応してください。

現時点での代替策としては、JRE の起動オプションでユーザー名を指定する方法があります。

これはチーム機能の名前を未設定の場合(個人設定ファイル omegat.prefs に team_Author エントリが無い状態)に限り、指定が通ります。

Windows ユーザーの場合は、以下のようなコマンドラインで起動すると、 任意のユーザー名(YourUserName の部分で指定)でチームプロジェクトを開くことができます (OmegaT.jar のパスは環境によって異なる可能性があるため、適宜読み替えてください)。

java -Duser.name=YourUserName -jar "C:\Program Files (x86)\OmegaT\OmegaT.jar"

間違って保存した Subversion のパスワードをリセットしたい

Windows の場合、パスワードは以下に保存されています。

OS フォルダー
Vista, 7, 8 %APPDATA%\Subversion\auth\svn.simple C:\Users\YourUserName\appData\roaming\Subversion\auth\svn.simple
XP %APPDATA%\Subversion\auth\svn.simple C:\Documents and Settings\YourUserName\Application Data\Subversion\auth\svn.simple

上記の中に、拡張子無しの、英数字が羅列された名前のファイルがあります。 ひとつしか無ければ、それを削除してください。

ファイルが複数ある場合は、メモ帳などの任意のテキストエディタで開いてみてください。

credentials

ファイルの中に、リモートリポジトリの URL(https://sourceforge.net/p/omegat-jp)と、 あなたのユーザー名が記述されていれば、それが目的のファイルです。 そのファイルを削除してください。

なお OmegaT 3.4 アップデート 1 から、svn 認証情報を削除するためのスクリプトが付属します。

最新版をお使いの場合は、スクリプトを利用すると認証情報を簡単に管理できます。

オフラインでも作業できますか

はい。

2.6.1u2 で、コマンドライン オプション "--no-team" がサポートされました。

Windows ユーザーの場合は、以下のようなコマンドラインで起動すると、 同期を無効にしてチームプロジェクトを開くことができます(OmegaT.jar のパスは環境によって異なる可能性があるため、適宜読み替えてください)。

java -jar "C:\Program Files (x86)\OmegaT\OmegaT.jar" --no-team

また同期有効のままでも、 OmegaT がチームプロジェクトの同期を試みた時点で、 インターネットに接続していなかった場合は、 次のようなダイアログが表示されます。

vcs-offline-dialog

このとき、ログには同期エラーが記録されますが、 オフラインで問題なく作業できます。

作業中にインターネットへ接続可能になった場合は、 やはりチームプロジェクトの同期を試みた時点で、 次のようなダイアログが表示されます。

vcs-online-dialog

オフライン作業時の変更は、このタイミングでまとめて同期されます。

作業中に操作の反応がにぶくなることがあります

チームプロジェクトはリポジトリの同期中にリモートサーバーと通信をするため、 その間は操作のレスポンスが重くなることがあります。

同期はチームプロジェクトを開くときと、主に保存時に行われます。 これはユーザーが明示的に保存の操作を行った場合に限りません。 自動保存時などにも、暗黙的に保存が行われます。 チームプロジェクトの場合は、その結果として、同期処理が発生します (3.1.0 以降は、訳文ファイル生成時には同期しなくなりました)。

もしあまりにも頻繁に操作が重くなる場合は、[設定]-[保存と訳文ファイル生成] から自動保存の間隔を確認してみてください。

save-options-dialog

初期設定は 10 分間隔になっていますが、ユーザーによっては 5 分などの、 もっと短い間隔に設定しているかもしれません。 通常のプロジェクトでは問題になりませんが、チームプロジェクトで操作性に支障をきたす場合は、 20 分など少し長めの間隔に設定してみてください。

何も翻訳していないのにコミットされます

翻訳メモリファイル(project_save.tmx)のヘッダーには OmegaT のバージョンを記録する属性が存在します。

project_save-tmx-header

このため、メンバーが異なるバージョンの OmegaT を使用していると、 翻訳メモリファイルのヘッダーが差分とみなされ、 何も翻訳していなくても保存時にコミットされるという現象が起きます。

今のところ、この挙動を防ぐオプションはありません。

気になる場合は、使用する OmegaT のバージョンをメンバー間で揃えるようにしてください。

作業時の推奨設定はありますか

はい。

[設定]-[翻訳入力行...]-[原文と同じ訳文を許可] に、チェックを入れておいてください。

もしチェックが外れていると、原文と同じ訳文が設定されている分節を離れる (アクティブにしてから別の分節へ移動する)だけで、 訳文が削除されてしまいます。

この設定は今のところプロジェクト専用の設定が存在しないため、 作業者の環境によって設定値が異なる可能性があります。

なおバージョン 3.1.0 からは、この動作が改善されています。 [原文と同じ訳文を許可] の設定がオフになっている場合でも、 原文と同じ訳文が設定されている分節を離れるだけで訳文が削除されることは無くなりました。

また、やはり [原文と同じ訳文を許可] の設定がオフになっている場合でも、 分節単位で原文と同じ訳文を登録できるようになりました ("Register Identical Translation"「原文と同一訳文を登録」コマンド)。

ただ 3.1.0 以降のバージョンの使用を全メンバーに強制できない状況では、 依然として上記設定を推奨します。


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.