不同语言的 Linux 手册页

不同语言的 Linux 手册页

我的 Ubuntu 18.04 设置为西班牙语:

在此处输入图片描述

但是手册页以英文显示,而不是根据配置显示(西班牙语)。

$ man cp | head -n4
CP(1)                            User Commands                       CP(1)

NAME
   cp - copy files and directories

以下是我尝试获取的西班牙语手册页:

$ LANG=es_ES.utf8 man cp   # result is in English
$ LANGUAGE=es_ES:es man cp # result is in English
$ man -Les cp              # result is in English
$ man --locale=es cp       # result is in English

要验证 es_ES 是否正确安装:

$ locale -a | grep es_ES
es_ES.utf8

要验证是否安装了西班牙语的手册页:

$ sudo dpkg -l | grep language-pack-es
ii  language-pack-es                           1:18.04+20180712                             
all          translation updates for language Spanish; Castilian
ii  language-pack-es-base                      1:18.04+20180712                             
all          translations for language Spanish; Castilian

强制重新创建手册页

$ sudo mandb -c

完成所有这些后,尝试前 3 个命令,但没有一个能生成西班牙语的手册页。


参考:

这里的解决方案均不起作用:

我怎样才能阅读我的母语的手册页? https://unix.stackexchange.com/questions/283660/how-to-change-the-language-for-man-command https://unix.stackexchange.com/questions/43384/localization-of-man-pages-on-linux-ubuntu

答案1

man-L选项以及环境变量和$LC_MESSAGES考虑$LANG在内,但它无法以man尚未翻译成的语言显示页面。使用find我们可以轻松获得可用翻译的列表,例如cp

$ find /usr/share/man -name "cp.*"
/usr/share/man/man1/cp.1.gz

这意味着只有一个版本,不位于任何语言子目录中,即默认的英语版本。让我们看一下该man命令的结果:

$ find /usr/share/man -name "man.*"
/usr/share/man/nl/man1/man.1.gz
/usr/share/man/zh_CN/man1/man.1.gz
/usr/share/man/ru/man1/man.1.gz
/usr/share/man/ja/man1/man.1.gz
/usr/share/man/sv/man1/man.1.gz
/usr/share/man/sr/man1/man.1.gz
/usr/share/man/es/man1/man.1.gz

列表继续显示可用的语言,es这是其中之一。您可以使用以下语言之一

LANGUAGE=es_ES.utf8 man man
man -L es_ES.utf8 man
man -Les man

来显示它。事实上,如果您的终端中的语言环境变量设置正确,man将始终显示man西班牙语页面,并且只有在没有西班牙语翻译时才会返回英语,就像您在使用 时遇到的那样man cp。要设置此功能,请运行locale并查看 是否$LANGUAGE设置为es_ES.utf8。如果不是,请LANGUAGE=es_ES.utf8在您的 中添加一行~/.bashrc或定义一个别名,如alias man='man -Les'

迎合沃尔蒂纳特的回答可能还有其他包含翻译的软件包,你可以查看它们的文件列表https://packages.ubuntu.com或使用例如apt-file list manpages-esmanpages-esmanpages-es-extra看起来很有希望,但是它们都没有包含命令man的页面cp

答案2

由于不是每个人都有磁盘空间来存储每种语言的man页面,并且LANG变量不会导致翻译,因此您可能需要安装一个或多个软件包:

$ apt-cache search Spanish|grep man
aptitude-doc-es - Spanish manual for aptitude, a terminal-based package manager
drascula-german - classic 2D point and click adventure game -- German version
drgeo-doc - Dr. Geo online user manual
manpages-es - Spanish man pages
manpages-es-extra - Spanish extra manpages
apertium-es-ro - Apertium translation data for the Spanish-Romanian pair

相关内容