![locale: Para que é usada a variável LANGUAGE? (e quando?)](https://rvso.com/image/1311332/locale%3A%20Para%20que%20%C3%A9%20usada%20a%20vari%C3%A1vel%20LANGUAGE%3F%20(e%20quando%3F).png)
Estou tentando entender as localidades usadas no Linux. No meu sistema Ubuntu 11.10 locale
apresenta 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:en
me lembra o Accept-Language
cabeç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 à LANGUAGE
configuração? Até que ponto é diferente de LC_MESSAGES
?
Infelizmente, man locale
apenas 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 locale
sem 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.