OmegaT私的メモ その2:GitHubにOmegaTのプロジェクトを登録、チームプロジェクトとして扱えるようにする
OmegaTには
OmegaT はバージョン管理に基づいた共同翻訳機能を提供します。バージョン管理はソフトウェアの分野で広く使われている手法で、プログラムのソースコードに関する変更を維持・管理し、チームによる共同開発作業を強力に支援します。
という複数人で同一のプロジェクトを翻訳する「チームプロジェクト」という機能があります。
私の場合は複数人ではなく「自分が複数の別マシン(Windows、macOS混在)から同期を取りつつ翻訳作業を行うこと」を目的としてチームプロジェクトを使用していました。
本記事では
OmegaTのローカルプロジェクトをGitHubへ登録、チームプロジェクトとして使用できるようにする
OmegaTでGitHubから「チームプロジェクトをダウンロード」実施
の手順を記載しています。
今回は個人(自分)用向けの説明なので、複数人でチームプロジェクトを更新する場合の設定などは記載していません。
「試しにチームプロジェクトを使用してみたい」という人には向いている内容となっています。
0.使用する環境、前提条件についてなど
*以下ユーザ名、パス、ファイル名などは環境、状況にあわせて読み替えてください
環境は前回同様Windows10+WSL2+Ubuntu+Z Shell(zsh)です。私はshellとしてzshを使用してますが、デフォルトのbashでも今回の作業は問題ないはずです。
macOS等でもOmegaTとGitコマンドが使える状態であれば今回の内容は実施できるはずです。Windowsの場合Git for Windowsを使用しても良いと思いますが、私はGit for Windowsを使用したことがないため使用感等は不明です。
GitHubはアカウント登録を済ませてあること、OmegaTで何らかのプロジェクトが作成済みであることを前提とします。
OmegaTの既存のプロジェクトを使用する場合、そのプロジェクトをコピーした新たなプロジェクトで作業することをおすすめします。手順を間違えた場合にやり直しが容易なためです。以下でもコピーを行っています。
Gitコマンド未経験の場合、この辺を見ながら試してみてもいいと思います。git switch等の記載がなく少し古い情報ですがわかりやすいです。また「とほほのWWW入門」内の「とほほのGit入門」と「とほほのGitHub入門」も入門としておすすめしておきます。ただしとほほのGitHub入門も更新が2019年のため、現状とは異なる情報も含まれている点に注意してください。
なおGitHubのprivateリポジトリは2019年から無料ユーザーでも使用できるようになりました。無料ユーザーの場合コラボレーター(共同作業者)は最大3人までという制限があります→ありました。
1.GitHubに新規リポジトリを作成
GitHubに新規リポジトリを作成します。今回はブラウザから作成を行います。
ここではリポジトリ名を"git_sample"としておきます。
Newを押下

・Repository nameは"git_sample"
・Descriptionは任意、今回は未入力
・非公開にするためprivateを選択
・Create repositoryを押下
(本筋とは関係ありませんがChromeだとこの操作(Windowsの場合Ctrl+Shift+P → Ctrl+Shift+I → "full"と入力)で表示中のページ内容全てが入ったスクリーンショットが撮影できます/以下のスクリーンショット撮影時に使用しました)

Create repositoryが終わると以下のQuick setup画面が開く
(*以下のスクショのcommand lineのようにmaster"以外"のブランチにすると、OmegaTでチームプロジェクトの読み込みに失敗します。現状OmegaTはmasterブランチしか参照できないようですが、BLMに伴う影響で改修される可能性がありそうです)

2.OmegaTのプロジェクトをGitHubに登録
OmegaTのローカルプロジェクトを"git_sample"リポジトリに登録します。
既存の"omega_base"プロジェクト(ディレクトリ)をコピー →
"omega_sample"プロジェクトを作成(コピーしたディレクトリをリネームするだけ) →
"omega_sample"をGitHubの"git_sample"リポジトリに登録します。
コピー元の"omega_base"プロジェクト(ディレクトリ)内の状態

"omega_base"をコピーし、プロジェクト(ディレクトリ)を"omega_sample"にリネーム

WSLを起動し"omega_sample"プロジェクトをGitHubの"git_sample"リポジトリに登録、ただし今回dicitonaryディレクトリ以下は除外する(大きなファイルが存在する可能性があるため/ファイル個別に除外する場合はその内容を踏まえて.gitignoreを記述する)、git pushするとユーザ名とパスワードの入力が求められる
(Windows上のドライブはWSL2だと"/mnt"以下に表示されます)
cd /mnt/c/Users/(Windowsのユーザ名)/Documents/omegat/omega_sample
echo "dictionary/" > .gitignore
git init
git add --all
git commit -m "初回コミット"
git remote add origin https://github.com/(GitHubのユーザ名)/git_sample.git
git push -u origin master
ユーザ名とパスワードが正しければ以下のような状態になるはず(完全一致である必要はない)、基本的にエラーが出ていなければ問題ないはず
Username for 'https://github.com': (GitHubのユーザ名)
Password for 'https://(GitHubのユーザ名)@github.com':(GitHubのパスワード)
Enumerating objects: 12, done.
Counting objects: 100% (12/12), done.
Delta compression using up to 8 threads
Compressing objects: 100% (8/8), done.
Writing objects: 100% (12/12), 1.92 KiB | 35.00 KiB/s, done.
Total 12 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), done.
To https://github.com/(GitHubのユーザ名)/git_sample.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
push完了後の"git_sample"リポジトリの状態

3.チームプロジェクトをダウンロード
OmegaTを起動しチームプロジェクトをダウンロードします。
OmegaT起動→プロジェクト→チームプロジェクトをダウンロード

今回作成したリポジトリのURLを入力、URL入力後にフォーカス遷移すると「ローカルプロジェクトフォルダー」にはデフォルト値が設定される(必要なら任意のパスに変更)

ユーザ名とパスワードを求められたら入力

チームでの作業時の名前/IDは変更可能、GitHub上にも"Translated by 更新者"とコミットメッセージとして表示される



以上です。
4.補足事項
チームプロジェクトはローカルのプロジェクトと同様に操作するだけでGitHubと同期(add/commit/push)します。
チームプロジェクトの場合、プロジェクトの起動時、終了時、保存時などにGitHubへのアクセスが発生するため、多少の待ち時間が発生します。
初回コミット時に使用したローカルのプロジェクト(今回なら"omega_sample"プロジェクト)は、不要であれば削除なり退避して構いません。今後はチームプロジェクト(今回なら"git_sample"プロジェクト)を更新するためです。
チームプロジェクトとローカルのプロジェクトに同名を使用したい場合、別パスを指定する必要があります(例、C:\local\omegat_project、C:\team\omegat_project)。
個人的には別プロジェクト(ディレクトリ)名のほうがわかりやすくて管理もしやすいと思います(例、C:\omegat\omegat_project1、C:\omegat\omegat_project2)。
プロジェクト内の空ディレクトリはGitHubに登録されませんが、.gitkeep等を作成する必要はありません。OmegaTが必要なディレクトリを自動で準備してくれます。
*2020/12/20追記
GitHubに二段階認証を設定している場合、個人アクセストークン(Personal access tokens)を生成し、それをパスワードとして使用することになります。今回の目的であればrepoにチェックが入っていればOKです。
【了】