Les paramètres régionaux sont des préférences utilisateur qui se rapportent à votre culture.
Noms de paramètres régionaux
Sur toutes les variantes actuelles d'Unix que je connais (mais pas sur quelques antiquités), les noms de paramètres régionaux suivent le même modèle:
- Un code de langue minuscule ISO 639-1 à deux lettres ou un code de langue à trois lettres ISO 639-2 si la langue n'a pas de code à deux lettres. Par exemple,
en
pour l'anglais, de
pour l'allemand, ja
pour le japonais, uk
pour l'ukrainien, ber
pour le berbère,…
- Pour de nombreuses langues mais pas toutes, un trait de soulignement
_
suivi d'un code de pays à deux lettres majuscule ISO 3166 . Ainsi: en_US
pour l'anglais américain, en_UK
pour l'anglais britannique, le français fr_CA
canadien (Québec), de_DE
pour l'allemand de l'Allemagne, de_AT
pour l'allemand de l'Autriche, ja_JP
pour le japonais (du Japon), etc.
- En option, un point
.
suivi du nom d'un codage de caractères tels que UTF-8
, ISO-8859-1
, KOI8-U
, GB2312
, Big5
, etc. Avec GNU libc au moins (je ne sais pas l'ampleur de c'est), le cas et la ponctuation est ignorée dans le codage des noms. Par exemple, le zh_CN.UTF-8
chinois mandarin (simplifié) est-il codé en UTF-8, tandis que le zh_CN
chinois mandarin est codé en GB2312 et le zh_TW
chinois taïwanais (traditionnel) est codé en Big5.
- Facultativement, un signe at
@
suivi du nom d'une variante. La signification des variantes dépend des paramètres régionaux. Par exemple, de nombreux pays européens ont une @euro
variante locale où le signe monétaire est € et où l'encodage est celui qui inclut ce caractère (ISO 8859-15 ou ISO 8859-16), par opposition à la variante sans fioritures avec l'ancien signe monétaire. Par exemple, en_IE
(anglais, Irlande) utilise le codage latin1 (ISO 8859-1) et £ comme symbole monétaire tandis que en_IE@euro
le codage latin9 (ISO 8859-15) et € comme symbole monétaire.
De plus, il existe deux noms de paramètres régionaux qui existent sur tous les systèmes de type Unix: C
et POSIX
. Ces noms sont synonymes et signifient informatique, c'est-à-dire des paramètres par défaut appropriés pour les données analysées par un programme informatique.
Paramètres régionaux
Les catégories de paramètres régionaux suivantes sont définies par POSIX :
LC_CTYPE
: le jeu de caractères utilisé par les applications du terminal: données de classification (dont les caractères sont des lettres, ponctuation, espaces, invalides, etc.) et conversion de casse. Les utilitaires de texte tiennent généralement compte des LC_CTYPE
limites des caractères.
LC_COLLATE
: ordre de classement (ie tri). Ce paramètre est d'une utilité très limitée pour plusieurs raisons:
- La plupart des langues ont des règles complexes qui dépendent de ce qui est trié (par exemple, les mots du dictionnaire et les noms propres peuvent ne pas utiliser le même ordre) et ne peuvent pas être exprimés par
LC_COLLATE
.
- Il y a peu d'applications où un ordre de tri approprié est effectué par un logiciel qui utilise les paramètres régionaux. Par exemple, les traitements de texte stockent la langue et l'encodage d'un fichier dans le fichier lui-même (sinon le fichier ne serait pas traité correctement sur un système avec des paramètres régionaux différents) et ne se soucient pas des paramètres régionaux spécifiés par l'environnement.
LC_COLLATE
peut avoir des effets secondaires désagréables, en particulier parce qu'il provoque l'ordre de tri A <a <B <…, ce qui fait que «entre A et Z» inclut les lettres minuscules a à y. En particulier, des expressions régulières très courantes comme [A-Z]
casser certaines applications .
LC_MESSAGES
: la langue des messages d'information et d'erreur.
LC_NUMERIC
: formatage des nombres: séparateur décimal et milliers.
De nombreuses applications codent .
en dur comme séparateur décimal. Cela rend LC_NUMERIC
peu utile et potentiellement dangereux:
- Même si vous le définissez, vous verrez toujours le format par défaut assez souvent.
- Vous risquez de vous retrouver dans une situation où une application produit une sortie dépendante des paramètres régionaux et une autre application s'attend
.
à être le point décimal ou ,
à être un séparateur de champ.
LC_MONETARY
: comme LC_NUMERIC
, mais pour des montants en monnaie locale.
Très peu d'applications l'utilisent.
LC_TIME
: formatage de la date et de l'heure: noms des jours de la semaine et du mois, horloge 12 ou 24 heures, ordre des parties de la date, ponctuation, etc.
GNU libc, que vous trouverez sur Linux non intégré, définit des catégories de paramètres régionaux supplémentaires:
LC_PAPER
: le format de papier par défaut (défini par la hauteur et la largeur).
LC_NAME
, LC_ADDRESS
, LC_TELEPHONE
, LC_MEASUREMENT
, LC_IDENTIFICATION
: Je ne sais pas de toute application qui utilise ces derniers .
Variables d'environnement
Les applications qui utilisent les paramètres régionaux les déterminent à partir des variables d'environnement.
- Ensuite, la valeur de la
LANG
variable d'environnement est utilisée sauf si elle est remplacée par un autre paramètre. Si LANG
n'est pas défini, les paramètres régionaux par défaut sont C
.
- Les
LC_xxx
noms peuvent être utilisés comme variables d'environnement.
- Si
LC_ALL
est défini, toutes les autres valeurs sont ignorées; cela est principalement utile pour définir les LC_ALL=C
applications d'exécution qui doivent produire la même sortie, quel que soit l'endroit où elles sont exécutées.
- De plus, GNU libc utilise
LANGUAGE
pour définir des solutions de secours pour LC_MESSAGES
(par exemple, LANGUAGE=fr_BE:fr_FR:en
préférer le français belge, ou si le français français n'est pas disponible, ou si l'anglais n'est pas disponible).
Installation de paramètres régionaux
Les données locales peuvent être volumineuses, donc certaines distributions ne les expédient pas sous une forme utilisable et nécessitent à la place une étape d'installation supplémentaire.
- Sur Debian, pour installer les paramètres régionaux, exécutez
dpkg-reconfigure locales
et sélectionnez dans la liste de la boîte de dialogue, ou modifiez /etc/locale.gen
puis exécutez locale-gen
.
- Sur Ubuntu, pour installer les paramètres régionaux, exécutez
locale-gen
avec les noms des paramètres régionaux comme arguments.
Vous pouvez définir vos propres paramètres régionaux .
Recommandation
Les paramètres utiles sont:
- Définissez
LC_CTYPE
la langue et l'encodage dans lesquels vous encodez vos fichiers texte. Assurez-vous que vos terminaux utilisent cet encodage.
Pour la plupart des langues, seul l'encodage compte. Il y a quelques exceptions; par exemple, une majuscule i
est I
dans la plupart des langues mais İ
en turc ( tr_TR
).
- Définissez
LC_MESSAGES
la langue dans laquelle vous souhaitez voir les messages.
- Set
LC_PAPER
à en_US
si vous voulez Lettre US à la taille de papier par défaut et à peu près rien d' autre (par exemple en_GB
) si vous voulez A4.
- Vous pouvez éventuellement définir
LC_TIME
votre format d'heure préféré.
Comme expliqué ci-dessus, évitez de régler LC_COLLATE
et LC_NUMERIC
. Si vous utilisez LANG
, remplacez explicitement ces deux catégories en les définissant sur C
.
LC_PAPER
. Et puis-je mettre à jour cela sur le système sans redémarrer?/etc/default/locale
. Ces fichiers prennent effet lorsque vous vous connectez; vous pouvez faireexport LC_PAPER=…
dans un shell pour affecter les commandes lancées à partir de ce shell.