3 LDP man-pages では、翻訳に po4a を利用しています。
4 roff ファイルと po4a ファイルの変換には、LDP man-pages のフランス語翻訳チームが
5 公開している perkamon を利用しています。
6 perkamon を git submodule として利用しているため、手順が少し複雑になっています。
10 git repository の top directory で以下のコマンドを実行します。
13 git submodule update --init
17 cd manual/LDP_man-pages
20 これで po4a で作業して draft に反映する準備が整いました。
24 (1-1) ja.po と man page の関係
26 一つの po ファイルは、LDP_man-pages の複数の man page に対応しています。
27 man page に対応する po ファイルを特定するには、以下のようにします。
29 $ grep -l strptime.3 perkamon/po4a/*/*.cfg
30 perkamon/po4a/time/time.cfg
32 上記の場合、strptime.3 が含まれる po ファイル (ja.po) は time 以下にあります。
33 po4a/time/po/ja.po を翻訳することになります。
44 エディタは po ファイルに対応しているものが便利です。
48 make または make translate を実行すると、ja.po から draft を生成します。
49 全ての ja.po が変換対象になるので、時間がかかります。
50 どのファイルが更新されたかは git status で確認して下さい。
52 特定のディレクトリ以下のみを変換したい場合は以下のようにします。
56 デフォルトでは、翻訳率が 100% の page のみが生成されます。
57 翻訳中のページなどで状況を確認したい場合は、
58 以下のように THRESH=70 のように翻訳率を指定して下さい。
60 make translate-time THRESH=70
65 make stats を実行すると、LDP_man-pages 以下の全ての po の翻訳状況が表示されます。
69 make release を実行すると、ja.po から release ファイルが生成されます。
70 行っていることは draft の生成と同じですが、
71 翻訳率の閾値が 80% になっている点が異なります。
74 * release ファイルを git add -u → git commit
75 * (必要に応じて) www/index.m4, www/news/index.m4 を更新
77 80% にしているのは、ある程度翻訳されているページは公開してしまおうという
78 意図からです。draft の方は翻訳できていないページを検知する意味で、
86 * translation-list の更新が手動になっている
87 * 複数のファイルが一つの ja.po の変更で更新されることがあり、管理が面倒
89 = How to update original =
92 wget http://www.kernel.org/pub/linux/docs/man-pages/man-pages-3.40.tar.xz
94 (2) 展開する。tmp 以下に展開するものとする。
97 tar xJf man-pages-3.40.tar.xz
101 ../../../../admin/JM-orig-upd.sh ../../original
102 cp README man-pages-* Changes* ../../original
104 (4) COLOPHON 以下を削除する。
105 translation_list を更新するため、変更点のみを抽出するため。
107 sh ../tmp/man-pages-3.40/scripts/remove_COLOPHON.sh man?/*.[1-8]
109 (5) original 以下を git で stage する。
110 (original 以下で作業する。基本的に original 以下の変更は全部取り込む)
114 (6) translation_list の更新
115 cd .. (LDP_man-pages の直下に移動する)
116 git status . | ../../admin/git2upd > upd.txt
119 ../../admin/upd_tl.perl translation_list upd.txt 3.40
120 mv translation_list.3.40 translation_list
123 git add translation_list
124 git commit -m "LDP: Update original to LDP v3.40."
127 (ここで Git Repo 以下はきれいな状態にしておく)
132 (何か表示されたら、po4a/*/*.cfg に追加)
139 make translate FLAGS="--no-translations -v --force"
140 (これで POT と ja.po が更新される。
141 タイムスタンプを気にしなくてよいので --force を付けた方がよい。)
143 git commit -m "LDP: Update POT and ja.po to LDP v3.40."
146 COLOPHON が更新されているので、fuzzy が少なくとも一つできるので、