翻訳更新方法

JM Repository の構成は リポジトリの構成 に書かれている通りです。

JM の翻訳の管理方法は

  • roff を直接翻訳
  • po4a を使って翻訳

の2つの方法が混在しています。

po4a を使用している場合には、各パッケージのディレクトリに po4a というフォルダが存在します。 存在しない場合は、roff を直接編集して翻訳しています。

roff を直接翻訳

release 版を編集する場合は、必ず draft を編集してから、 release に反映して下さい。 draft 側には、原文がコメントとして入っていますが、release には翻訳済みの文章のみが含まれます。

注釈

以下の説明は、各パッケージのディレクトリ (manual/fetchmail など) で作業することを前提に説明します。

  1. draft を更新します

  2. draft の更新が終わったら、release に反映します。 対象ファイルを draft 以下から release 以下にコピーするだけですが、 JM-release.sh コマンドを利用するのが楽です。

    $ ../../admin/JM-release.sh -f -g draft/man1/fetchmail.1 release
    draft/man1/fetchmail.1 -> release/man1/fetchmail.1
    
  3. Git でコミットして、sourceforge.jp に push します。

draft 以下の全ファイルを release に反映する場合は、JM-release-all.sh コマンドを実行します。 draft の全ファイルがリリース済みの場合に release への反映もれがないかを確認する際などに使います。

$ cd manual/fetchmail
$ ../../admin/JM-release-all.sh
(git status や git diff で変更内容を確認)
(git commit -> git push)

po4a を使って翻訳

LDP_man-pages と GNU_coreutils は管理方法が少し複雑です。詳細は下の方にありますので参照して下さい。

翻訳は po4a ディレクトリ以下の ja.po ファイルで管理しています。 ja.po ファイルは po4a/ja.po の場合と、po4a/<dir>/ja.po にある場合があります。

  1. man ページに対応する ja.po がどれかは po4a/**/*.cfg を見て判断します。 更新したいファイルが分かっている場合は以下のように grep して下さい。

    $ grep iptables-save.8 po4a/**/*.cfg
    
  2. ja.po を編集します。編集にあたっては Emacs の po-mode, poedit などが利用できます。

  3. make または make translate で ja.po の内容を draft 以下に反映します。

  4. (参考 make stat で ja.po の翻訳状況を表示できます)

  5. release に反映する必要がある場合は、「roff を直接翻訳」の場合と同様に JM-release.sh を使用して、release フォルダ以下に反映して下さい。

  6. git commit で更新を登録して、git push で sf.jp に送信して下さい

po4a 移行後の課題

  • レビューをどのようにして行うか?
  • ja.po を投稿してもレビューできない。 できあがった draft でレビューする必要がある。
  • translation-list の更新が手動になっている
  • 複数のファイルが一つの ja.po の変更で更新されることがあり、管理が面倒

LDP man-pages

LDP man-pages 翻訳ガイド を参照。

GNU_coreutils

GNU coreutils 翻訳ガイド を参照。

help2man の出力と、追加ファイル *.x の翻訳を合わせて、 日本語マニュアルを生成しています。 そのため、管理が他のものと異なっています。