lokalizacja stron man w systemie Linux (Ubuntu)

12

Czy istnieje opcja wydrukowania strony podręcznika w innym języku? Nie chcę całkowicie zmieniać języka komputera, ale tylko określone strony podręcznika. Na przykład

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

Odpowiedzi:

17

Jeśli twój manpochodzi z pakietu man-db (man 2.x, jak w większości dystrybucji GNU / Linux), najszybszym sposobem jest użycie -Lflagi man. Musisz tylko znać skrót poszukiwanej lokalizacji.

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

Jeśli używasz innej implementacji man (man 1.x), jedynym sposobem jest zmiana zmiennych środowiskowych $LC_MESSAGESlub $LANGw sposób opisany w innych odpowiedziach .

Jofel
źródło
1
Znalazłem tylko to, co umieściłem w swoim poście, gdy szukałem na man manstronie „języka”. Ale jeśli szukasz „locale”, znajdziesz bardzo przydatną opcję posta Jofela. Może to być przydatne do zapamiętania, jeśli wykonasz inną konfigurację związaną z językiem.
Emanuel Berg
$ man -Len man man: invalid option -- 'L' man, version 1.6gna Gentoo
AD
1
@ AD Rozszerzyłem swoją odpowiedź. Nie wiedziałem o tym, że manrozwidliło się dawno temu. Użyj man z man-dbpakietu, jeśli chcesz skorzystać z tej -Lopcji.
jofel
5

Aby uzyskać zlokalizowaną stronę podręcznika, ustaw zmienną środowiskową LC_MESSAGES locale . W przypadku pojedynczego wywołania man:

LC_MESSAGES=ru_RU man man

Jeśli zawsze chcesz stron podręcznika w języku rosyjskim, ale chcesz, aby inne polecenia mówiły po angielsku, możesz ustawić alias w .bashrcpliku inicjującym powłoki lub w innym pliku:

alias man='LC_MESSAGES=ru_RU man'
Gilles „SO- przestań być zły”
źródło
Strony podręcznika w różnych językach w Debianie wydają się być dostarczane w pakietach takich jak manpages-ru dla rosyjskiego, manpages-fr dla francuskiego itp. Ale nie mogę znaleźć -se (dla szwedzkiego). Czy wiesz (czy wiesz, jak się dowiedzieć), czy tak jest w rzeczywistości? Strony podręcznika w twoim ojczystym języku byłyby snem !
Emanuel Berg,
1
@EmanuelBerg To dobrze, że w Ubuntu (i Debianie oraz wielu innych dystrybucjach) jest pakiet z tłumaczeniami stron podręcznika z wielu popularnych źródeł. Nie ma manpages-svjednak, prawdopodobnie dlatego, że niewiele osób stara się tłumaczyć z angielskiego na szwedzki. Myślę, że to jest miejsce, gdzie są skoordynowane aktywne wysiłki tłumaczenia, nie ma wzmianki o szwedzkim.
Gilles „SO- przestań być zły”
Napisałem maila do faceta na twój link, jeśli wszystko się ułoży, zacznę od razu tłumaczyć. Znam też innych facetów, którzy pokochaliby taki projekt. Jest to oczywiście ogromny projekt, ale jeśli byłoby to możliwe dla wszystkich innych języków, możliwe jest również dla szwedzkiego. Nigdy wcześniej czegoś takiego nie robiłem, więc jeśli uważasz, że powinienem porozmawiać z kimś lub poczytać coś (lub cokolwiek innego), nie wahaj się ze mną skontaktować.
Emanuel Berg
1

Czytając man man, wydaje się, że powinieneś zmienić swoje zmienne środowiskowe, a następnie jak zwykle używać man. Jeśli nie ma go w Twoim języku, nadal będzie wyświetlać wersję angielską.

   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
źródło