questão Homem e LANG

2

My LANG = ru_RU.cp1251 por isso, se a página man foi traduzida, recebo lixo na saída.

O problema está fora do 'cp1251' porque / usr / share / man / ru store man pages na codificação diferente:

  /usr/share/man/ru/man1/mc.1.gz is UTF-8
  /usr/share/man/ru/man1/mplayer.1.gz is koi8-r

Além disso, man não suporta a recodificação de páginas em tempo real:

  $ ls -ld /usr/share/man/ru*
drwxr-xr-x+ 1 user root 0 июн 10  2010 /usr/share/man/ru
drwxr-xr-x+ 1 user root 0 окт 13 10:10 /usr/share/man/ru.KOI8-R
drwxr-xr-x+ 1 user root 0 окт 13 10:10 /usr/share/man/ru.UTF-8

  $ test -f /usr/share/man/ru.KOI8-R/ex.1.gz && OK
OK

  $ LANG=ru_RU.cp1251 man ex
... EN output ...
  $ LANG=ru_RU.UTF-8 man ex
... EN output ...

  $ LANG=ru.UTF-8-8 man ex
... !!RU output!! ...

para que o homem não possa despir '_RU' de 'ru_RU'!

Gostaria de ver apenas as páginas man do EN. De acordo com 'homem 1 homem' eu precisa definir 'LANG = C', mas eu gosto de 'LANG = ru_RU.cp1251'!

Eu tento adicionar:

  LANG C

para /etc/man.conf, mas recebeu um aviso:

  Unrecognized line in config file (ignored)
  LANG C

No bash eu posso definir o alias:

  $ alias man='LANG=C man'

Mas e o Emacs M-x man? Eu preciso escrever um wrapper e definir

  (setq manual-program "LANG=C man")

A fim de corrigir o page lang para MC e bash eu coloquei

  alias man='LANG=C man'

para ~ / .bashrc

Parece que eu cobri todos os meus casos de uso, mas tenho algumas perguntas:

  • É possível definir a configuração LANG para homem sem definir LANG = C para todos os outros aplicativos (como o Emacs, MC)? Eu gostaria de ver a opção em 'man.conf'
  • É certo fornecer / usr / share / man / ru / com arquivos com diferentes codificação? Eu acho que os pacotes devem ser corrigidos para 'ru.UTF-8', ru.KOI8-R caminho.
por gavenkoa 20.10.2011 / 10:41

0 respostas