locale: Para que serve a variável LANGUAGE? (e quando?)

4

Estou tentando entender as localidades usadas no Linux. No meu sistema Ubuntu 11.10 locale coloca o seguinte:

LANG=en_DK.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE=en_GB.UTF-8
LC_NUMERIC="en_DK.UTF-8"
LC_TIME="en_DK.UTF-8"
LC_COLLATE=en_GB.UTF-8
LC_MONETARY="en_DK.UTF-8"
LC_MESSAGES=en_GB.UTF-8
LC_PAPER="en_DK.UTF-8"
LC_NAME="en_DK.UTF-8"
LC_ADDRESS="en_DK.UTF-8"
LC_TELEPHONE="en_DK.UTF-8"
LC_MEASUREMENT="en_DK.UTF-8"
LC_IDENTIFICATION="en_DK.UTF-8"
LC_ALL=

( en_dk é para usar formato de dia internacional, formatação de número continental europeu (1.234,56) etc.)

Acho que entendo o que a família LC_* faz, que LANG é o substituto se um deles não estiver definido e que LC_ALL define todas as variáveis LC_* para seu valor.

O que eu não sei ainda é para que LANGUAGE é usado. A notação en_GB:en me lembra do Accept-Language cabeçalho HTTP. Com as configurações acima, isso significaria usar o inglês britânico, se existir uma tradução para ele. Caso contrário, qualquer tradução existente em inglês (en_US, en_AU, ..., whatever) seria usada.

Estou certo até agora?

Além disso, quais programas realmente obedecem à configuração LANGUAGE ? Em que medida é diferente de LC_MESSAGES ?

Infelizmente, man locale documenta somente a família LC_* . E pesquisar na web por 'linux locale LANGUAGE' ou similar é um ponto mudo. (É claro que a linguagem é uma palavra frequentemente usada quando se fala de localidades, e também pode ser mostrada apenas na saída de locale sem ser discutida).

Alguém de vocês pode me ajudar lá fora?

    
por seya 14.04.2012 / 04:20

1 resposta

2

Substitui a localidade dada em $LC_ALL no que diz respeito a catálogos de mensagens gettext Caso contrário, não é usado.

    
por 14.04.2012 / 04:35