如何列出手册页的可用语言?

如何列出手册页的可用语言?

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

相关内容