Lokalisierung von Manpages unter Linux (Ubuntu)

12

Gibt es eine Option, eine Handbuchseite in einer anderen Sprache auszugeben? Ich möchte die Computersprache nicht komplett ändern, sondern nur bestimmte Handbuchseiten. Beispielsweise

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

Antworten:

17

Wenn Sie manaus dem Paket man-db stammen (man 2.x, wie bei den meisten GNU / Linux-Distributionen), können Sie am schnellsten das -LFlag von verwenden man. Sie müssen nur die Abkürzung des gewünschten Gebietsschemas kennen.

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

Wenn Sie die Implementierung eines anderen Mannes (man 1.x) verwenden, besteht die einzige Möglichkeit darin, die Umgebungsvariablen $LC_MESSAGESoder $LANGdie in den anderen Antworten beschriebenen zu ändern .

Jofel
quelle
1
Ich habe den Inhalt meines Posts nur gefunden, als ich auf der man manSeite nach "Sprache" gesucht habe . Wenn Sie jedoch nach "locale" suchen, finden Sie die sehr nützliche Option von jofels Beitrag. Dies kann hilfreich sein, wenn Sie eine andere sprachbezogene Konfiguration vornehmen.
Emanuel Berg
$ man -Len man man: invalid option -- 'L' man, version 1.6gauf gentoo
AD
1
@AD Ich habe meine Antwort erweitert. Mir war nicht bewusst, dass sich das manschon längst abgespalten hat. Verwenden Sie man aus dem man-dbPaket, wenn Sie die -LOption verwenden möchten .
Jofel
5

Um eine lokalisierte Handbuchseite zu erhalten, stellen Sie die LC_MESSAGES Umgebungsvariable Gebietsschema fest . Für einen einzelnen Aufruf von man:

LC_MESSAGES=ru_RU man man

Wenn Sie Handbuchseiten immer auf Russisch, andere Befehle jedoch Englisch sprechen möchten, können Sie einen Alias ​​in Ihrer .bashrcoder einer anderen Shell-Initialisierungsdatei einrichten :

alias man='LC_MESSAGES=ru_RU man'
Gilles 'SO - hör auf böse zu sein'
quelle
Die Manpages in verschiedenen Sprachen in Debian scheinen in Paketen wie manpages-ru für Russisch, manpages-fr für Französisch usw. zu kommen. Aber ich kann kein -se (für Schwedisch) finden. Wissen Sie (oder wissen Sie, wie Sie herausfinden können), ob dies tatsächlich so ist? Manpages in Ihrer Muttersprache wären ein Traum !
Emanuel Berg
1
@EmanuelBerg Das ist ein guter Punkt, in Ubuntu (und Debian und vielen anderen Distributionen) gibt es ein Paket mit Übersetzungen von Hilfeseiten aus vielen gängigen Quellen. Es gibt keinen manpages-svallerdings, vermutlich , weil nur wenige Menschen Englisch ins Schwedische übersetzen stören. Ich denke , dies ist , wo die aktive Übersetzung Bemühungen koordiniert werden, gibt es keinen Hinweis auf Schwedisch.
Gilles 'SO- hör auf böse zu sein'
Ich habe eine Mail an den Kerl auf Ihrem Link geschrieben. Wenn alles geklappt hat, beginne ich sofort mit dem Übersetzen. Ich kenne andere Leute, die ein solches Projekt auch lieben würden. Es ist natürlich ein riesiges Projekt, aber wenn es für all diese anderen Sprachen möglich wäre, wäre es auch für Schwedisch möglich. Ich habe so etwas noch nie gemacht. Wenn Sie glauben, ich sollte mit jemandem sprechen oder etwas lesen (oder was auch immer), zögern Sie nicht, mich zu kontaktieren.
Emanuel Berg
1

Lesen Sie man man, es scheint, Sie sollten Ihre Umgebungsvariablen ändern und dann den Menschen wie gewohnt verwenden. Wenn es nicht in Ihrer Sprache verfügbar ist, wird trotzdem die englische Version angezeigt.

   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.
Emanuel Berg
quelle