翻訳手順チートシート¶
本節は、 翻訳作業を進めるにあたり、JM git リポジトリの操作も含めた手続き全体のチートシートです。 git リポジトリを操作するシステム操作者(翻訳者自身を含む)が適宜参照してください。
1. 翻訳対象パッケージ選定¶
- 対象パッケージが未翻訳/翻訳済みであるかどうかの確認。
jm.git/manual/<パッケージ名>
の存在確認。- JM インデックス (作業状況) の確認。
- 翻訳済みである場合のステータス確認(翻訳終了かどうかの確認)。
jm.git/manual/<パッケージ名>/translation_list
のステータス記号確認。
2. 翻訳予約に向けた準備¶
対象パッケージが未翻訳であった場合のデータ整備。
パッケージディレクトリ
jm.git/manual/<パッケージ名>
の生成。$ mkdir jm.git/manual/<パッケージ名>
オリジナルソース収容ディレクトリ
jm.git/manual/<パッケージ名>/original
の生成。 その配下にman[0-9n]
等のサブディレクトリを適宜生成。$ mkdir jm.git/manual/<パッケージ名>/original
jm.git/manual/<package>/translation_list
の初期生成。注釈
translation_list
の生成スクリプトとして以下がある。jm.git/admin/JM-tl-modify.sh
jm.git/admin/mktrlist2.sh
upd_tl.perl
po4a 利用方式を取る場合、po4a 全般の関連ファイルを生成する
jm.git/support/genmancfg.sh
があり、これを用いた場合は、初期 translation_list のテンプレート(ひながたとなる)ファイルを生成する。
対象パッケージのオリジナルソースのコピー。
original
ディレクトリ配下の削除(対象パッケージが既翻訳であった場合)。$ rm -fr jm.git/manual/<パッケージ名>/original/*
注釈
既翻訳時と現時点でのオリジナルソースでの差異=かつて含まれていたものが含まれなくなった場合に対して、不要なオリジナルソースを残さないため。 この後に
git rm
の実行を必要とするかもしれない。original
ディレクトリ配下にman[0-9n]
等のサブディレクトリを適宜生成。$ mkdir jm.git/manual/<パッケージ名>/original/man{1,5} # man1, man5 が必要な場合
対象パッケージソースから man ページオリジナルソースをコピー。
$ cp <オリジナルソースディレクトリ>/*.1 jm.git/manual/<パッケージ名>/original/man1 $ cp <オリジナルソースディレクトリ>/*.5 jm.git/manual/<パッケージ名>/original/man5 $ ...
translation_list のステータス記号記入。
場合分け ページ種類 ステータス ステータス内容 新規翻訳時 通常manページ ▲
翻訳予約・作業中 リンクページ ※
リンク先が未翻訳・未公開 既翻訳時 通常manページ ■
改訂予約・作業中 リンクページ ※
リンク先が未翻訳・未公開 その他作業日付、作業者メールアドレス、作業者名記入。
$ cd jm.git/manual/<パッケージ名> $ vi translation_list
3. 翻訳予約¶
翻訳予約時のソースコミット。
original
ソース、translation_list
$ cd jm.git/manual/<パッケージ名> $ git commit \ original \ translation_list
JM discuss メーリングリスト への翻訳予約メール送信。
TR
は翻訳の予約(Translation Reservation)件名: [POST:TR] <パッケージ名> [<ページ名>] メール本文: <STATUS> stat: TR ppkg: <パッケージ名> page: <ページ名> date: YYYY/MM/DD mail: EMAIL@ADRRESS name: FULL NAME </STATUS>
チケット起票(利用時)。
4. 翻訳作業¶
ローカル環境にて翻訳作業実施。
po4a を用いた作業。
標準的手法の整備なし。
jm.git/support/genmancfg.sh
あり。いわゆる draft ファイルを用いた作業(旧来)。
draft
ディレクトリにて draft ファイルの編集。$ cd jm.git/manual/<パッケージ名> $ mkdir -p draft; cd draft $ mkdir -p man{1,5} # man1, man5 が必要な場合 $ cd man1 $ vi <ページ名>.1
5. 校正依頼に向けた準備¶
translation_list のステータス記号記入。
場合分け ページ種類 ステータス ステータス内容 新規翻訳時 通常manページ △
翻訳終了。校正者募集中 リンクページ @
リンク先が翻訳・公開済み 既翻訳時 通常manページ □
改訂終了。校正者募集 リンクページ @
リンク先が翻訳・公開済み その他作業日付、作業者メールアドレス、作業者名記入。
$ cd jm.git/manual/<パッケージ名> $ vi translation_list
6. 校正依頼¶
校正依頼時のソースコミット。
旧来の draft ファイル利用の場合、
draft
,translation_list
のコミット。$ cd jm.git/manual/<パッケージ名> $ git commit \ draft \ translation_list
po4a を用いた作業時の draft ファイルについては、標準的運用なし。
jm.git/admin/po4a/gendraft.perl
により draft ファイルを生成する手立てあり。po4a を用いた作業ではこの時点で po4a サブディレクトリを合わせてコミットする。
$ cd jm.git/manual/<パッケージ名> $ git commit \ draft \ po4a \ translation_list
JM discuss メーリングリスト への校正依頼メール送信。
DP
はドラフトの投稿。引き続き自分で校正を行う。(Draft and Proof reservation)件名: [POST:DP] <パッケージ名> [<ページ名>] メール本文: <STATUS> stat: DP ppkg: <パッケージ名> page: <ページ名> date: YYYY/MM/DD mail: EMAIL@ADRRESS name: FULL NAME </STATUS> <draft ファイル本文>
チケット更新(利用時)。
8. リリース判断とその準備¶
リリースするかどうかを翻訳者当人が判断。
release
ディレクトリの生成とリリース成果物の準備- 旧来の draft ファイル編集方式に対しては
jm.git/admin/JM-release.sh
がある。 - po4a 利用方式の場合は、最終出力ファイルを release ディレクトリに配置するようにする。
- 旧来の draft ファイル編集方式に対しては
translation_list のステータス記号記入。
ページ種類 ステータス ステータス内容 通常manページ ○
校正終了 リンクページ @
リンク先が翻訳・公開済み その他作業日付、作業者メールアドレス、作業者名記入。
$ cd jm.git/manual/<パッケージ名> $ vi translation_list
9. リリース¶
リリース時のソースコミット。
$ cd jm.git/manual/<パッケージ名> $ git commit \ release \ translation_list
JM discuss メーリングリスト へのリリース報告メール送信。
RO
はリリースの投稿。(Release Only)件名: [POST:RO] <パッケージ名> [<ページ名>] メール本文: <STATUS> stat: RO ppkg: <パッケージ名> page: <ページ名> date: YYYY/MM/DD mail: EMAIL@ADRRESS name: FULL NAME </STATUS>
チケット更新(利用時)。
注釈
リリース tarball の生成などは、この後に定例バッチジョブが行うため、作業者は必要ソースをコミットするだけでよい。