• Showing Page History #120622

LDP man-pages では、翻訳に po4a を利用しています。 そのため、手順が他の翻訳方法と少し異なっています。

準備作業

前提条件

1. 作業環境が Linux であること

作業用環境は Linux を想定しています。ディストリビューションは特に問いません。使用するコマンド類がインストールされていれば大丈夫です。

2. アカウントがあること

すでに osdn にアカウントがあり、jm プロジェクトに参加しているものとします。

本説明における環境等

1. アカウント名 foobar

2. ホームディレクトリ /home/foobar

3. 作業ディレクトリ /home/foobar/linuxjm  なお、コマンドプロンプトは % とします。

初期設定

1. 作業用ディレクトリの準備

任意の場所に作業用ディレクトリを作成します。たとえば ~/linuxjm とします。

2. コマンド類の導入

GNU Make と po4a が必要です。インストールしてください。多くのディストリビューションではすでにパッケージ化されていますので、リポジトリからのインストールコマンドを実行するだけでインストール出来ると思います。 なお、po4a のバージョンにより roff マクロの認識や文字列抽出方法に違いがあることを 確認しています。以下の環境で動作を確認しています (2021年3月時点)。
    • po4a 0.57 (Ubuntu 20.04 focal)
    • po4a 0.55 (Debian 10 buster)
    • po4a 0.52 (Ubuntu 18.04 focal/openSUSE 15.3)

3. リポジトリのクローンを取得

リポジトリは git.osdn.net:/gitroot/linuxjm/jm.git です。以下のコマンドを使用してリポジトリのクローンを取得してください。
カレントディレクトリが /home/foobar/linuxjm として、

% git clone foobar@git.osdn.net:/gitroot/linuxjm/jm.git

動作確認

翻訳更新の動作確認を行っておきます。 全ファイルを処理するので多少時間がかかります (2〜3分くらい)。

カレントディレクトリが、 /home/foobar/linuxjm/jm として
% cd manual/LDP_man-pages
% make setup
% make
% git status
全部のコマンドがエラーなく終了すること、 最後の git status コマンドで更新されているファイルがないこと、 を確認してください。 git status の出力で更新されているファイルがある場合は、 そのまま翻訳作業を進めると、意図しないファイルも更新してしまうことがあるので、 メーリングリストで相談するなどして対応を検討しましょう。 作業漏れ以外の可能性もあり、たとえば、 po4a のバージョンが変わって PO ファイルへの抜き出し方法が変わることもあります。

jm リポジトリの構成

jm リポジトリは以下のような構成になっています。

翻訳前処理

翻訳対象の選定

翻訳を開始するにあたっては、まず翻訳対象を決めます。以下では、at を翻訳対象として説明していきます。また、既存翻訳データの更新作業をするということを前提としています。新しく翻訳対象を追加する場合は別項目を参照してください。

翻訳更新作業

翻訳予約宣言

翻訳作業は、他の方とかち合わないようにしないと、後の調整が大変になります。そのため、以下の作業を行います。

  1. linuxjm-discuss にどのソフトウェアを翻訳するかを宣言 linuxjm-discuss メーリングリストに、翻訳対象のソフトウエアが何であるかを宣言します。宣言の書式はこちらをご覧下さい。
  2. translation_list を編集 git リポジトリの当該パッケージディレクトリ直下(今回の例では /home/foobar/linuxjm/jm/manual/at 以下同様) にある、translation_list に、て校正依頼することを示す記号や名前等を書き加えてコミットします。編集方法はこちらをご覧下さい。

翻訳更新対象ソースの準備

  1. 翻訳更新対象のオリジナルパッケージを入手します。入手方法は種々あり、オリジナル配布サイトから持ってきたり、既存のSRPMファイルからソース部分を抜き出したりして入手します。
  2. 翻訳更新対象のマニュアルを所定のディレクトリにコピーします。at の場合には、当該パッケージディレクトリ直下の original ディレクトリにコピーします。この時、カテゴリごとのサブディレクトリを作成し、コピーします。at の場合は man1,man5,man8 の3つのサブディレクトリにコピーします。

po4a-updatepo による翻訳データ更新

  1. 新しいオリジナルマニュアルファイルが用意できたら、既存の po ファイルを更新します。たとえば、at.1 に対応する po ファイル (ja.po) を更新するときには、まず、当該パッケージディレクトリ直下の、po4a ディレクトリ中の man1 ディレクトリに移動し(/home/foobar/linuxjm/jm/manual/at/po4a/man1)、po4a-updatepo -f man -m ../../original/man1/at.1 -p ja.po と入力します。このコマンドを入力後は、ja.po ファイルが更新され、バックアップとして ja.po~ ファイルが作成されます。
  2. at パッケージでは man8 には複数のマニュアルファイルがあります。複数のマニュアルファイルを更新する際には、たとえば、po4a-updatepo -f man -m ../../original/man8/atd.8 ../../original/man8/atrun.8 -p ja.po というように、マニュアルファイルを複数列挙します。

翻訳内容の更新

po4a-updatepo コマンドで翻訳データを更新したら、更新されたオリジナルデータを元に、po ファイルを編集します。po ファイルを編集するツールは複数ありますので、お好みのものをお使いください。KDE 環境下であれば、Qt Linguist がありますし、翻訳メモリや翻訳支援機能を備えた OmegaT などを使っても良いでしょう。 当該パッケージのディレクトリ直下には ChangeLog ファイルが存在する場合があります。このファイルは過去試用していたものですが、現在は使用していませんので特に編集する必要はありません。

翻訳結果の生成

翻訳データの編集が終わったら、翻訳結果を生成します。

  1. *.cfg ファイルの修正(必要であれば)を行います。*.cfg ファイルには、翻訳結果を生成する先のディレクトリ名が記載されています。既存のものは、生成先が release ディレクトリになっていますので、これを draft ディレクトリに変更します。たとえば、 at パッケージの場合は、当該ディレクトリのpo4a ディレクトリ配下の man1 ディレクトリには at-man1.cfg と言うファイルがあります。この中に release と書かれているところがあれば、 draft に変更します。
  2. translation_list を修正します。別途修正方法を記したページがありますので参照してください。
  3. 翻訳結果を生成します。これは、当該ディレクトリ直下 で、 make を実行します。
  4. 翻訳が仕上がったことをメーリングリストで通知します。