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,
enpour l'anglais, depour l'allemand, japour le japonais, ukpour l'ukrainien, berpour 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_USpour l'anglais américain, en_UKpour l'anglais britannique, le français fr_CAcanadien (Québec), de_DEpour l'allemand de l'Allemagne, de_ATpour l'allemand de l'Autriche, ja_JPpour 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-8chinois mandarin (simplifié) est-il codé en UTF-8, tandis que le zh_CNchinois mandarin est codé en GB2312 et le zh_TWchinois 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 @eurovariante 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@eurole 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: Cet 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_CTYPElimites 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_COLLATEpeut 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_NUMERICpeu 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
LANGvariable d'environnement est utilisée sauf si elle est remplacée par un autre paramètre. Si LANGn'est pas défini, les paramètres régionaux par défaut sont C.
- Les
LC_xxxnoms peuvent être utilisés comme variables d'environnement.
- Si
LC_ALLest défini, toutes les autres valeurs sont ignorées; cela est principalement utile pour définir les LC_ALL=Capplications 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:enpré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 localeset sélectionnez dans la liste de la boîte de dialogue, ou modifiez /etc/locale.genpuis exécutez locale-gen.
- Sur Ubuntu, pour installer les paramètres régionaux, exécutez
locale-genavec 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_CTYPEla 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 iest Idans la plupart des langues mais İen turc ( tr_TR).
- Définissez
LC_MESSAGESla langue dans laquelle vous souhaitez voir les messages.
- Set
LC_PAPERà en_USsi 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_TIMEvotre format d'heure préféré.
Comme expliqué ci-dessus, évitez de régler LC_COLLATEet 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?