我刚刚发现可以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