Je suis habitué aux variables d'environnement telles que LANG
et LC_*
, mais j'ai récemment remarqué une variable LANGUAGE
sur mon bureau Ubuntu. Sa valeur était pt_BR:pt:en
, et je me demande exactement ce que veut dire. LANG
, pour une chose, était pt_BR.UTF-8
, donc si ce premier champ est censé être le jeu de caractères/paramètres régionaux par défaut, il était en contradiction avec LANG
set.
Alors, quelle est la signification exacte et le format de LANGUAGE
?
LANGUAGE
a un objectif similaire à LANG
et LC_MESSAGES
en ce qu'il contrôle la langue d'affichage de l'interface utilisateur.
La principale différence entre eux est que tandis que LANG
et LC_MESSAGES
ne peut prendre qu'un seul spécificateur de paramètres régionaux, LANGUAGE
peut prendre une liste de spécificateurs de paramètres régionaux séparés par deux-points.
Par exemple, cela permettrait à un utilisateur d'avoir des programmes affichés en catalan s'ils sont disponibles et de revenir à l'espagnol sinon avant de retomber finalement sur un anglais non traduit, ce qui n'est pas possible avec les autres variables. Dans ce cas, ce serait LANGUAGE="ca:es:en"
(Codes ISO 639-1).
Les autres variables d'environnement sont définies pour les applications n'utilisant pas gettext pour la traduction qui ne prennent en charge que les anciennes variables d'environnement.
LANGUAGE détermine l'ordre de préférence pour la localisation des messages de l'interface utilisateur avec gettext. http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable