[JM:03197] Re: 悩ましいman日本語化不備

Back to archive index
matsuand michi****@gmail*****
2022年 1月 30日 (日) 16:41:45 JST


matsuand です。
本件について、私の現時点での結論(解消策)を
まとめておきます。多分に個人的趣味を含みます。

まず改めてですが、支障となっている問題としては
(主にBSD由来の) man ページにおいて、
1. man ページヘッダーが表示されない
2. おもにSYNOPSIS の項にて #include などが
 表示されない
といったものでした。

対応その1
回避策としては以下を実行します (root権限)。
(groff インストールdirはdistroで異なるので注意)

cat >> /usr/share/groff/site-tmac/mdoc.local <<"EOF"
.
.if "\*[locale]"japanese" \{\
. ds doc-section-name     \[u540D]\[u524D]
. ds doc-section-synopsis \[u66F8]\[u5F0F]
.\}
EOF

この状態で、
http://linuxjm.osdn.jp/guide/basic_info.html
に示されている man-ja.sh の手法 (ja.tmacを読み込む)
方式をとっていれば、日本語化manページについて
問題点が解消されます。

なお上記では name と synopsis しか日本語化
対応しておらず、本当はこの他にもあります。
現時点ではその対応をサボっています。

# ちなみにですが、上のヒアドキュメントによるファイル
# mdoc.local は ja.tmac の読み込みを前提として
# ja.tmac 内の lang japanese の定義を受けて
# その後に読み込まれます。

対応その2

上で述べた ja.tmac を読み込む方法ですが、
別解があります。
export MANROFFOPT=-mja
を利用する方法です。

たとえば
$ MANROFFOPT=-mja man 3 libmagic
とすれば、man-ja.sh と同じ結果になります。

そこで bashrc などにエイリアスを切って
alias man='MANROFFOPT=-mja man'
としておくと
$ man 3 libmagic
で難なく問題解決です。

一方、この状態で、オリジナル英文 man を参照すると
返ってオリジナルman の表記がおかしくなります。
そこでその場合は、エイリアスを一時無効にして
$ \man 3 libmagic
とすればよく、切り替えが容易です。

私は個人的趣味として、
このようにして対処していこうと思います。
alias の件は趣味の世界ですが、
mdoc.local の件は、後々当プロジェクト
ユーザーに向けての発信が必要になるか
と思います。


linuxjm-discuss メーリングリストの案内
Back to archive index