OmegaT私的メモ その2:GitHubにOmegaTのプロジェクトを登録、チームプロジェクトとして扱えるようにする

OmegaTには

OmegaT はバージョン管理に基づいた共同翻訳機能を提供します。バージョン管理はソフトウェアの分野で広く使われている手法で、プログラムのソースコードに関する変更を維持・管理し、チームによる共同開発作業を強力に支援します。

https://omegat.sourceforge.io/manual-standard/ja/appendix.TeamProjects.html

という複数人で同一のプロジェクトを翻訳する「チームプロジェクト」という機能があります。

私の場合は複数人ではなく「自分が複数の別マシン(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を押下

01 new スクリーンショット 2020-11-05 220018

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

画像11

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

Image 2020-12-08 12.09.52 リポジトリ作成後

2.OmegaTのプロジェクトをGitHubに登録

OmegaTのローカルプロジェクトを"git_sample"リポジトリに登録します。

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

コピー元の"omega_base"プロジェクト(ディレクトリ)内の状態

スクリーンショット 2020-12-08 121855

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

画像11

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"リポジトリの状態

Image 2020-12-08 12.28.52 git sample初回push後
dictionaryディレクトリが含まれていないこと(.gitignoreの内容が反映されていること)が確認できる

3.チームプロジェクトをダウンロード

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

OmegaT起動→プロジェクト→チームプロジェクトをダウンロード

チームプロジェクトをダウンロードスクリーンショット 2020-11-06 101401

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

Image 2020-12-08 12.33.34 チームプロジェクト

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

Image 2020-12-08 12.31.56 github omegat上での認証

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

環境設定1スクリーンショット 2020-11-07 180203
名前スクリーンショット 2020-11-07 180417
スクリーンショット 2020-11-07 181350

以上です。

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です。

【了】

いいなと思ったら応援しよう!