локализация man-страниц в Linux (Ubuntu)

12

Есть ли возможность вывести страницу руководства на другом языке? Я не хочу полностью менять язык компьютера, а только конкретные страницы руководства. Например

$ man -English man
Man is a manual program
…
$ man -Russian man
Инструцтия для Unix, BSD и Linux.
…
Kosta
источник

Ответы:

17

Если вы manиз пакета man-db (man 2.x, как в большинстве дистрибутивов GNU / Linux), самый быстрый способ - использовать -Lфлаг man. Вам нужно просто знать аббревиатуру искомого языка.

man -Len man   # -> English man-page of man
man -Lru man   # -> Russian man-page of man

Если вы используете другую реализацию man (man 1.x), единственный способ - это изменить переменные окружения $LC_MESSAGESили $LANGкак описано в других ответах .

jofel
источник
1
Я нашел материал, который положил в свой пост, когда искал на man manстранице «язык». Но если вы ищете «локаль», вы найдете очень полезную опцию в сообщении Джофеля. Это может быть полезно помнить, если вы когда-либо выполняете настройку, связанную с другим языком.
Эмануэль Берг
$ man -Len man man: invalid option -- 'L' man, version 1.6gна папуасских
AD
1
@ Я расширил свой ответ. Я не знал о том, что manдавно разветвился. Используйте man из man-dbпакета, если вы хотите использовать эту -Lопцию.
Джофель
5

Чтобы получить локализованную справочную страницу, установите переменную среды LC_MESSAGES locale . Для одного вызова man:

LC_MESSAGES=ru_RU man man

Если вам всегда нужны страницы руководства на русском языке, но вы хотите, чтобы другие команды говорили по-английски, вы можете установить псевдоним в вашем .bashrcили другом файле инициализации оболочки:

alias man='LC_MESSAGES=ru_RU man'
Жиль "ТАК - перестань быть злым"
источник
Похоже, что man-страницы на разных языках в Debian поставляются в пакетах, таких как manpages-ru для русского, manpages-fr для французского и т. Д. Но я не могу найти -se (для шведского). Знаете ли вы (или знаете, как узнать), действительно ли это так? Страницы руководства на вашем родном языке были бы мечтой !
Эмануэль Берг
1
@EmanuelBerg Это хороший момент, в Ubuntu (и Debian, и во многих других дистрибутивах) есть пакет с переводами man-страниц из многих распространенных источников. manpages-svХотя нет , вероятно, потому что мало кто потрудился перевести английский на шведский. Я думаю, что именно здесь координируются активные переводческие усилия, нет упоминания о шведском.
Жиль "ТАК - перестань быть злым"
Я написал письмо парню по твоей ссылке, если все получится, я сразу начну переводить. Я знаю и других ребят, которым тоже понравился бы такой проект. Конечно, это огромный проект, но если это было возможно для всех остальных языков, то возможно и для шведского. Я никогда не делал ничего подобного раньше, поэтому, если вы считаете, что я должен поговорить с кем-то или прочитать что-то (или что-то еще), не стесняйтесь связаться со мной.
Эмануэль Берг
1

Читая man man, кажется, что вы должны изменить свои переменные окружения, а затем использовать man как обычно. Если его нет на вашем языке, он все равно покажет английскую версию.

   International support is available with this package.   Native  lan‐
   guage  manual pages are accessible (if available on your system) via
   use of locale functions.  To activate such support, it is  necessary
   to  set either $LC_MESSAGES, $LANG or another system dependent envi‐
   ronment variable to your language locale, usually specified  in  the
   POSIX 1003.1 based format:

   <language>[_<territory>[.<character-set>[,<version>]]]

   If  the  desired  page  is available in your locale, it will be dis‐
   played in lieu of the standard (usually American English) page.
Эмануэль Берг
источник