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

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

Estou tentando entender as localidades usadas no Linux. No meu sistema Ubuntu 11.10 localeapresenta 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 o formato de dia internacional, formatação de números da Europa continental (1.234,56) etc.)

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

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

Estou certo até agora?

Além disso, quais programas realmente obedecem à LANGUAGEconfiguração? Até que ponto é diferente de LC_MESSAGES?

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

Alguém de vocês pode me ajudar aí?

Responder1

Ele substitui a localidade fornecida em$LC_ALL em relação aos catálogos de mensagens gettext. Caso contrário, não é usado.

informação relacionada