매뉴얼 페이지에 사용 가능한 언어를 어떻게 나열할 수 있나요?

매뉴얼 페이지에 사용 가능한 언어를 어떻게 나열할 수 있나요?

나는 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

관련 정보