Como listar os idiomas disponíveis para uma página man?

2

Acabei de descobrir que é possível exibir man páginas em línguas diferentes usando a opção -L (por exemplo, man -L fr man mostra uma página man em francês). No entanto, quando um idioma não está disponível, uma página do manual de inglês americano é geralmente mostrada. Eu não prefiro ler man pages em inglês americano se uma das minhas outras línguas estiver disponível.

Como posso saber quais idiomas estão disponíveis com antecedência?

Seria ótimo se houvesse um comando (por exemplo, man --list-languages cal ) que gerasse algo como:

ar
de
en
my
zh
    
por Flux 20.12.2017 / 01:42

1 resposta

1

Que tal:

#!/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"

Este script exibirá todos os idiomas em que o manpage está disponível, além do inglês. Exemplos:

$ ./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
    
por 20.12.2017 / 02:31

Tags