OSDN Git Service

(split) Update perkamon to catch up LDP 3.50
[linuxjm/LDP_man-pages.git] / README.JM
1 = How to translate =
2
3 LDP man-pages では、翻訳に po4a を利用しています。
4 roff ファイルと po4a ファイルの変換には、LDP man-pages のフランス語翻訳チームが
5 公開している perkamon を利用しています。
6 perkamon を git submodule として利用しているため、手順が少し複雑になっています。
7
8 (0) 前準備
9
10 git repository の top directory で以下のコマンドを実行します。
11
12   cd $JM_REPO_TOP
13   git submodule update --init
14
15 po4a 環境を用意します。
16
17   cd manual/LDP_man-pages
18   make jm-setup
19
20 これで po4a で作業して draft に反映する準備が整いました。
21
22 (1) 翻訳と draft への変換
23
24 (1-1) ja.po と man page の関係
25
26 一つの po ファイルは、LDP_man-pages の複数の man page に対応しています。
27 man page に対応する po ファイルを特定するには、以下のようにします。
28
29 $ grep -l strptime.3 perkamon/po4a/*/*.cfg
30 perkamon/po4a/time/time.cfg
31
32 上記の場合、strptime.3 が含まれる po ファイル (ja.po) は time 以下にあります。
33 po4a/time/po/ja.po を翻訳することになります。
34
35 $ find po4a/time/
36 po4a/time/
37 po4a/time/po
38 po4a/time/po/ja.po
39 po4a/time/po/time.pot
40
41 (1-2) 翻訳
42
43 上記で特定した ja.po を翻訳します。
44 エディタは po ファイルに対応しているものが便利です。
45
46 (1-3) draft page の生成
47
48 make または make translate を実行すると、ja.po から draft を生成します。
49 全ての ja.po が変換対象になるので、時間がかかります。
50 どのファイルが更新されたかは git status で確認して下さい。
51
52 特定のディレクトリ以下のみを変換したい場合は以下のようにします。
53
54   make translate-time
55
56 デフォルトでは、翻訳率が 100% の page のみが生成されます。
57 翻訳中のページなどで状況を確認したい場合は、
58 以下のように THRESH=70 のように翻訳率を指定して下さい。
59
60   make translate-time THRESH=70
61   make THRESH=70
62
63 (1-4) 翻訳状況の確認
64
65 make stats を実行すると、LDP_man-pages 以下の全ての po の翻訳状況が表示されます。
66
67 (2) リリース
68
69 make release を実行すると、ja.po から release ファイルが生成されます。
70 行っていることは draft の生成と同じですが、
71 翻訳率の閾値が 80% になっている点が異なります。
72
73 更新後は通常のリリース手順と同じです。
74  * release ファイルを git add -u → git commit
75  * (必要に応じて) www/index.m4, www/news/index.m4 を更新
76
77 80% にしているのは、ある程度翻訳されているページは公開してしまおうという
78 意図からです。draft の方は翻訳できていないページを検知する意味で、
79 100% の閾値にしています。
80
81 (3) 課題
82
83 以下の点が po4a 移行後の課題です。
84
85  * レビューをどのようにして行うか?
86  * translation-list の更新が手動になっている
87  * 複数のファイルが一つの ja.po の変更で更新されることがあり、管理が面倒
88
89 = How to update original =
90
91 (1) original を取得する
92   wget http://www.kernel.org/pub/linux/docs/man-pages/man-pages-3.40.tar.xz
93
94 (2) 展開する。tmp 以下に展開するものとする。
95   mkdir tmp
96   cd tmp
97   tar xJf man-pages-3.40.tar.xz
98
99 (3) original 以下にコピーする
100   cd man-pages-3.40
101   ../../../../admin/JM-orig-upd.sh ../../original
102   cp README man-pages-* Changes* ../../original
103
104 (4) COLOPHON 以下を削除する。
105     translation_list を更新するため、変更点のみを抽出するため。
106   cd ../../original
107   sh ../tmp/man-pages-3.40/scripts/remove_COLOPHON.sh man?/*.[1-8]
108
109 (5) original 以下を git で stage する。
110   (original 以下で作業する。基本的に original 以下の変更は全部取り込む)
111   git add .
112   git add man-pages-*
113
114 (6) translation_list の更新
115   cd ..  (LDP_man-pages の直下に移動する)
116   git status . | ../../admin/git2upd > upd.txt
117   vi upd.txt
118   (不要な行の削除を行う)
119   ../../admin/upd_tl.perl translation_list upd.txt 3.40
120   mv translation_list.3.40 translation_list
121
122 (7) Git commit
123   git add translation_list
124   git commit -m "LDP: Update original to LDP v3.40."
125
126 (8) POT の更新
127   (ここで Git Repo 以下はきれいな状態にしておく)
128   make clean-setup
129   make jm-setup
130   cd perkamon
131   make print-new-files
132   (何か表示されたら、po4a/*/*.cfg に追加)
133   make disable-removed
134   (何かないか確認)
135   git status
136   (更新があれば git commit)
137
138   cd ..
139   make translate FLAGS="--no-translations -v --force"
140   (これで POT と ja.po が更新される。
141    タイムスタンプを気にしなくてよいので --force を付けた方がよい。)
142   git add -u po4a/
143   git commit -m "LDP: Update POT and ja.po to LDP v3.40."
144
145 (9) 単純な fuzzy の更新
146   COLOPHON が更新されているので、fuzzy が少なくとも一つできるので、
147   ja.po を更新する。
148
149   make translate
150