私はman
このオプションを使用してページを別の言語で表示できることを発見しました-L
(たとえば、man -L fr man
フランス語でマニュアルページを表示)。ただし、言語が利用できない場合は、通常、米国英語のマニュアルページが表示されます。私は他の言語のいずれかを使用することができれば、アメリカ英語のマニュアルページを読むのが好きではありません。
どの言語が利用可能かを事前にどのように知ることができますか?
man --list-languages cal
(例えば)次のような結果を出力するコマンドがあれば良いでしょう。
ar
de
en
my
zh
答え1
どうですか?
#!/usr/bin/env bash
if [ "$#" -eq 2 ]
then
printf -v man_arg "%s %s" "$1" "$2"
elif [ "$#" -eq 1 ]
then
printf -v man_arg "%s" "$1"
else
printf "Wrong number of args\n" >&2
exit 1
fi
LANG=C
mandir="$(dirname "$(dirname "$(man -w $man_arg)")")"
manfile="$(basename "$(man -w $man_arg)")"
part_to_rm="$(basename "$(dirname "$(man -w $man_arg)")")"
find "$mandir" -name "$manfile" | cut -d / -f4 | sed "/$part_to_rm/ d"
manpage
このスクリプトは、英語以外の利用可能なすべての言語を表示します。例:
$ ./man-langs.sh cal
ja
$ ./man-langs.sh man
nl
pl
es
da
it
ja
de
zh_CN
ru
id
fr
$ ./man-langs.sh xfce4-terminal
pl
es
sr
sv
da
pt
lt
it
ja
ar
gl
pt_BR
ca
el
de
ko
zh_CN
tr
ru
id
uk
ug
fr
$ ./man-langs.sh 1 printf
ja