元木です。 On Tue, Mar 9, 2021 at 5:45 AM K.Shirakata <argra****@ub32*****> wrote: > > 白方です。 # 自分もほとんど活動していませんが… > > On 2021/03/08 8:48, Akihiro Motoki wrote: > > > では、基本的には po4a を使う方向であっているみたいですね。 > > > > ただ、どうすれば "make it simple" になるのかが、なかなか想像できません。 > > アイデアがあれば提案してもらえると助かります。 > > 端から見ていて難しそうだな、と感じるのは「perkamonが何をしているのか > よく分からない」ということです。 > > おそらく何か便利なことをしてくれているのだろうとは思うのですが、 > リポジトリにドキュメントもほとんどないし元サイトは消えているしで > ブラックボックス化してしまっているように思います。 この疑問はもっともだと思います。 現在は、元の perkamon のレポジトリは消えてしまっていて、 私が fork した github のレポジトリを JM からは参照しているので、 私のプロジェクトになってしまっていると考えた方が早いです(過去の遺産ですが)。 これを使い始めたのも私ですし、説明責任は私にあると思っています。 po4a で翻訳する際に、オプション、変換ルール、対象となるファイルなどを po4a の cfg として書いておいて、 po4a -k 80 --variable langs='ja' --previous --srcdir . --destdir . po4a/wchar/wchar.cfg のような形で一括で変換することができます。 perkamon がやっていることは、以下です。 ・この po4a の cfg 自体を提供 [1] ・po4a cfg を使った翻訳生成用の Makefile の提供 (make translate や make translate-aio などで翻訳できるようにする) ・LDP man-pages 更新時の po4a cfg 更新の helper script の提供 (make disable-removed や make print-new-files) ・po4a cfg の中で、翻訳時に追加する header や footer の定義なども含まれている。 [1] の add_$lang の部分。 (JM では昔の copyright や翻訳履歴を生成した man に入れるのに使っています) JM の LDP_man-pages レポジトリの Makefile は perkamon の wrapper になっています。 perkamon を別レポジトリとして使っているために、LDP_man-pages/Makefile では symlink を 作成するなど手順が煩雑になっている点は認めます。当時はフランス語のチームがけっこう 積極的に新しい LDP man-pages に追従していたので、po4a cfg の更新とかもいつの間にか 行われていて、こちらはそれを利用するだけというメリットがありました。 [1] https://github.com/amotoki/perkamon/blob/15952bc6fa82c4d45a29b96188656a68e0c78bd7/po4a/aio/aio.cfg > po4aを使った翻訳手順自体に関しては長南さんは確立されているようですので、 > 「perkamonが何をしているのか」言い換えると「一旦perkamonを > 使わないことにした場合、(手間以外に)どういう問題があるか」ということが > 分かれば手を出しやすくなるのかな、という気がします。 長南さんが上げていた po4a のやり方との違い (po4a のマニュアルでの基本編) は、 そこと違うところは、po4a-translate とかのコマンドラインでの指定内容を po4a cfg を使って管理、 1 po ファイルと複数の roff ファイルが対応している、という点だけだと思います。 perkamon を使わないようにした場合は、 1000 近くある LDP man-pages の po4a の変換定義を自分たちで用意する、 ってだけですね。結局似たようなことをすることになると思います。 # po4a のコマンドラインを毎回打つのは個人的には勘弁してほしい 導入当時に私が考えたのは上記でカバーされていると思います。