OSDN Git Service

(split) LDP: Change Makefile to stamp-based compilation
[linuxjm/LDP_man-pages.git] / README.JM
index 95663bc..17b7eaa 100644 (file)
--- a/README.JM
+++ b/README.JM
@@ -1,6 +1,90 @@
 = How to translate =
 
-To be written.
+LDP man-pages では、翻訳に po4a を利用しています。
+roff ファイルと po4a ファイルの変換には、LDP man-pages のフランス語翻訳チームが
+公開している perkamon を利用しています。
+perkamon を git submodule として利用しているため、手順が少し複雑になっています。
+
+(0) 前準備
+
+git repository の top directory で以下のコマンドを実行します。
+
+  cd $JM_REPO_TOP
+  git submodule update --init
+
+po4a 環境を用意します。
+
+  cd manual/LDP_man-pages
+  make jm-setup
+
+これで po4a で作業して draft に反映する準備が整いました。
+
+(1) 翻訳と draft への変換
+
+(1-1) ja.po と man page の関係
+
+一つの po ファイルは、LDP_man-pages の複数の man page に対応しています。
+man page に対応する po ファイルを特定するには、以下のようにします。
+
+$ grep -l strptime.3 perkamon/po4a/*/*.cfg
+perkamon/po4a/time/time.cfg
+
+上記の場合、strptime.3 が含まれる po ファイル (ja.po) は time 以下にあります。
+po4a/time/po/ja.po を翻訳することになります。
+
+$ find po4a/time/
+po4a/time/
+po4a/time/po
+po4a/time/po/ja.po
+po4a/time/po/time.pot
+
+(1-2) 翻訳
+
+上記で特定した ja.po を翻訳します。
+エディタは po ファイルに対応しているものが便利です。
+
+(1-3) draft page の生成
+
+make または make translate を実行すると、ja.po から draft を生成します。
+全ての ja.po が変換対象になるので、時間がかかります。
+どのファイルが更新されたかは git status で確認して下さい。
+
+特定のディレクトリ以下のみを変換したい場合は以下のようにします。
+
+  make translate-time
+
+デフォルトでは、翻訳率が 100% の page のみが生成されます。
+翻訳中のページなどで状況を確認したい場合は、
+以下のように THRESH=70 のように翻訳率を指定して下さい。
+
+  make translate-time THRESH=70
+  make THRESH=70
+
+(1-4) 翻訳状況の確認
+
+make stats を実行すると、LDP_man-pages 以下の全ての po の翻訳状況が表示されます。
+
+(2) リリース
+
+make release を実行すると、ja.po から release ファイルが生成されます。
+行っていることは draft の生成と同じですが、
+翻訳率の閾値が 80% になっている点が異なります。
+
+更新後は通常のリリース手順と同じです。
+ * release ファイルを git add -u → git commit
+ * (必要に応じて) www/index.m4, www/news/index.m4 を更新
+
+80% にしているのは、ある程度翻訳されているページは公開してしまおうという
+意図からです。draft の方は翻訳できていないページを検知する意味で、
+100% の閾値にしています。
+
+(3) 課題
+
+以下の点が po4a 移行後の課題です。
+
+ * レビューをどのようにして行うか?
+ * translation-list の更新が手動になっている
+ * 複数のファイルが一つの ja.po の変更で更新されることがあり、管理が面倒
 
 = How to update original =
 
@@ -24,8 +108,8 @@ To be written.
 
 (5) original 以下を git で stage する。
   (original 以下で作業する。基本的に original 以下の変更は全部取り込む)
+  git add -u
   git add .
-  git add man-pages-*
 
 (6) translation_list の更新
   cd ..  (LDP_man-pages の直下に移動する)