matsuand です。 jm.git/support/genmancfg.sh なるものを追加しました。 po4a コンフィグファイル (拡張子 cfg) を自動生成する スクリプトです。 コンフィグファイルは po4a 処理を行う「かなめ」のファイルであり、 これと合わせて Makefile も自動生成するので、 このスクリプトを初回実行するだけで、たいていは確実に po4a 翻訳が即座に進められます。 数点列記: ・po4a 翻訳を支援する目的です。 ・po4a の細かな設定などを知らなくても po4a 翻訳ができます。 ただしいったんエラーなどが発生すると、復旧の手立てが見い 出せず右往左往するかもしれません。極力サポートします。 同時にドキュメントも整備することを考えます。 ・現行において jm.git/admin/po4a/gencfg.py が存在し これと目的がかぶりますが、本スクリプトはかなり世話焼き な面があり、数多くのケースで支障なく処理できるはずです。 ・ただし po4a 処理は万能ではないため、本スクリプトも 発見的に修正を加えていく必要があると思っています。 どうぞ参考にしてください。 以下、本スクリプトの冒頭コメントを引用 # 概要 # 本スクリプトは po4a の cfg ファイルと対応する Makefile を自動生成します。 # これに伴って関連ファイルも自動生成します。処理にあたっては original ディ # レクトリ配下に original/man[0-9n]/* という、翻訳対象のオリジナル man ページ # が配置済みであることが必要です。 # # 生成ファイル # po4a{,/man[0-9n]}/<package name>.cfg: # po4a の cfg ファイル (上書き生成) # Makefile: cfg ファイルを処理する Makefile (上書き生成) # translation_list.tmp: # translation_list 相当の初期テンプレートファイル # (上書き生成) # po4a/add_ja/copyright/man[0-9n]/<manpage name>.[0-9n].txt: # いわゆる"copyright"ファイル (上書きはしない) # def.mk: パッケージ情報を提供するためのファイル # 非存在時にはエラー終了しテンプレートを生成する。 # テンプレート内容を適切に書き換えて再実行する。 # # 使用方法 # 翻訳パッケージディレクトリ (jm.git/manual/<package name>) にて実行。 # (manual ディレクトリと同列の support ディレクトリに本スクリプトを配置 # しており、相対パスで本スクリプトを実行することを前提とする) # # $ cd jm.git/manual/<package name> # $ ../../support/genmancfg.sh [options] # # オプションは genmancfg.sh -h の出力を参照してください。 # ほとんどのオプションは、処理に必要となる名称等を指定するものです。 # その中で重要なものが -m または -o であり、これは処理タイプを指定します。 # 以下に説明。 # # 本スクリプトにおける処理タイプ # 処理にあたっては二種類の po4a 処理タイプに対応します。 # デフォルト(-m, -o の未指定時) は -m (multi) です。 # 常時これにしておいて (オプション未指定で) 問題はありません。 # # これを用いる必要があるケースとして upstream がたった一つの po ファイルを # 提供していることがあり、それと同調して(upstream への提供も考慮して) # たった一つの po ファイルとしたい場合に -o (one) を指定します。 # # TYPE=one: # 1つめは処理タイプ one (オプション -o 指定時) です。 # original ディレクトリ配下の man ページソースに対応づく ja.po を1つだけ作るタイプです。 # # (top) --+--original--+--man1 # | +--man3 # | +--man5 # +--po4a--+--<package name>.cfg # +--<package name>.pot # +--ja.po # # TYPE=multi: # 2つめは処理タイプ multi (オプション -m 指定時; オプション未指定時の # デフォルト) です。 # original ディレクトリ配下のサブディレクトリ構造 (man1, man3 など) に合わせて # そのサブディレクトリごとに man1/ja.po, man3/ja.po などを分割して作るタイプです。 # # (top) --+--original--+--man1 # | +--man3 # | +--man5 # +--po4a--+--man1--+--<package name>-man1.cfg # | +--<package name>-man1.pot # | +--ja.po # +--man3--+--<package name>-man3.cfg # | +--<package name>-man3.pot # | +--ja.po # +--man5--+--<package name>-man5.cfg # +--<package name>-man5.pot # +--ja.po # # ----------