Provided by: manpages-fr_4.26.0-1_all 

NOM
locale - Description de la gestion multilingue
SYNOPSIS
#include <locale.h>
DESCRIPTION
Les paramètres régionaux (ou locale, en anglais) constituent un ensemble de règles linguistiques et
culturelles. Cela couvre des aspects tels que la langue utilisée pour les messages, le jeu de caractères,
les conventions lexicographiques, etc. Un programme doit être capable de déterminer les paramètres de
l'utilisateur et d'agir en conséquence pour être portable dans divers environnements culturels.
Le fichier d'en-tête <locale.h> déclare les types de données, les fonctions et les macros utilisés pour
ces tâches.
Les fonctions déclarées sont setlocale(3) pour définir les paramètres actuels et localeconv(3) pour
obtenir des informations sur la mise en forme des nombres.
Il existe différentes catégories de paramètres régionaux qui peuvent être utiles à un programme. Elles
sont déclarées en tant que macros. En les utilisant comme premier argument de la fonction setlocale(3),
il devient possible de définir l'une de ces catégories à la régionalisation désirée :
LC_ADDRESS (extension GNU, depuis la glibc 2.2)
Modification des réglages décrivant les formats (comme les adresses postales) utilisés pour
décrire les régionalisations et les éléments relatifs à la géographie. Les applications ayant
besoin de ces renseignements peuvent utiliser nl_langinfo(3) pour récupérer les éléments non
normalisés comme _NL_ADDRESS_COUNTRY_NAME (nom de pays, dans la langue des paramètres régionaux)
ou _NL_ADDRESS_LANG_NAME (nom de langue, dans la langue des paramètres régionaux) qui renvoient
des chaînes comme « France » ou « français » (pour des paramètres régionaux relatifs à la France).
(D’autres noms d’éléments sont dans <langinfo.h>.)
LC_COLLATE
Cette catégorie définit les règles d’assemblage utilisées pour le tri et les expressions
rationnelles, y compris les classes d’équivalence de caractères et les éléments d’assemblage
multicaractères. Cette catégorie de paramètres régionaux modifie le comportement des fonctions
strcoll(3) et strxfrm(3) qui permettent les comparaisons de chaînes dans l'alphabet régional. Par
exemple, le eszett allemand est ordonné comme « ss ».
LC_CTYPE
Cette catégorie définit l’interprétation des séquences d’octets comme des caractères (par exemple,
caractères simples ou multioctets), classifications de caractères (par exemple, alphabétique ou
numérique) et le comportement des classes de caractères. Sur les systèmes utilisant la glibc,
cette catégorie détermine aussi les règles de translittération pour iconv(1) et iconv(3). Elle
modifie le comportement des fonctions de manipulation et de classification de caractères, telles
que isupper(3) et toupper(3), et celui des fonctions travaillant sur des caractères multioctets
comme mblen(3) ou wctomb(3).
LC_IDENTIFICATION (extension GNU, depuis la glibc 2.2)
Modification des réglages relatifs aux métadonnées pour les paramètres régionaux. Les applications
ayant besoin de ces renseignements peuvent utiliser nl_langinfo(3) pour récupérer les éléments non
normalisés comme _NL_IDENTIFICATION_TITLE (titre du document actuel de paramètres régionaux) ou
_NL_IDENTIFICATION_TERRITORY (territoire géographique auquel ce document de paramètres régionaux
s’applique) qui pourraient renvoyer des chaînes comme « paramètres régionaux français pour la
France » ou « France ». (D’autres noms d’éléments sont dans <langinfo.h>.)
LC_MONETARY
Cette catégorie définit les règles de mise en forme utilisées pour les valeurs numériques
monétaires. Elle modifie l'information renvoyée par localeconv(3) qui décrit la mise en forme
habituelle des nombres, en accord avec des détails comme le point décimal ou la virgule décimale.
Ces informations sont utilisées en interne par la fonction strfmon(3).
LC_MESSAGES
Cette catégorie modifie la langue utilisée pour afficher les messages et la saisie de réponses
affirmatives ou négatives. La bibliothèque C de GNU contient les fonctions gettext(3), ngettext(3)
et rpmatch(3) pour faciliter l'utilisation de ces données. Les fonctions de la famille GNU gettext
obéissent aussi à la variable d'environnement LANGUAGE (contenant une liste de paramètres
régionaux séparés par des deux-points) si la catégorie désigne un ensemble de paramètres régionaux
valable autre que « C ». Cette catégorie modifie aussi le comportement de catopen(3).
LC_MEASUREMENT (extension GNU, depuis la glibc 2.2)
Modification des réglages relatifs au système utilisé pour les mesures avec les paramètres
régionaux (c’est-à-dire le système métrique ou les unités de mesure américaines). Les applications
peuvent utiliser nl_langinfo(3) pour récupérer les éléments non normalisés comme l’élément
_NL_MEASUREMENT_MEASUREMENT qui renvoie un pointeur vers un caractère qui vaut 1 (système
métrique) ou 2 (unités de mesure américaines).
LC_NAME (extension GNU, depuis la glibc 2.2)
Modification des réglages décrivant les formats utilisés pour s’adresser aux personnes. Les
applications ayant besoin de ces renseignements peuvent utiliser nl_langinfo(3) pour récupérer les
éléments non normalisés comme _NL_NAME_NAME_MR (titre pour les hommes) ou _NL_NAME_NAME_MS (titre
pour les femmes) qui renvoient des chaînes comme « monsieur » ou « madame » (pour des paramètres
régionaux relatifs au français). (D’autres noms d’éléments sont dans <langinfo.h>.)
LC_NUMERIC
Cette catégorie définit les règles de mise en forme utilisées pour les valeurs numériques non
monétaires — par exemple, le séparateur de milliers ou le séparateur décimal (un point dans la
plupart des pays anglophones, mais une virgule dans beaucoup d'autres régions). Elle modifie les
fonctions telles que printf(3), scanf(3) et strtod(3). Cette information peut aussi être lue avec
la fonction localeconv(3).
LC_PAPER (extension GNU, depuis la glibc 2.2)
Modification des réglages relatifs aux dimensions de la taille normalisée de papier (c’est-à-dire
A4 ou US Letter). Les applications ayant besoin des dimensions peuvent les obtenir en utilisant
nl_langinfo(3) pour récupérer les éléments _NL_PAPER_WIDTH et _NL_PAPER_HEIGHT non normalisés qui
renvoient des valeurs int indiquant les dimensions en millimètre.
LC_TELEPHONE (extension GNU, depuis la glibc 2.2)
Modification des réglages décrivant les formats à utiliser pour les services téléphoniques. Les
applications ayant besoin de ces renseignements peuvent utiliser nl_langinfo(3) pour récupérer les
éléments non normalisés comme _NL_TELEPHONE_INT_PREFIX (préfixe international utilisé pour appeler
les numéros selon les paramètres régionaux) qui renvoie une chaîne comme « 33 » (pour la France).
(D’autres noms d’éléments sont dans <langinfo.h>.)
LC_TIME
Cette catégorie définit les règles de mise en forme utilisées pour les valeurs d'heure et de date.
Par exemple, la plupart des pays européens utilisent une horloge de 24 h, alors que les États-Unis
utilisent une horloge de 12 h. Les paramètres de cette catégorie modifient les fonctions telles
que strftime(3) et strptime(3).
LC_ALL Toutes les catégories ci-dessus.
Si le second argument de la fonction setlocale(3) est une chaîne de caractères vide, "", les paramètres
régionaux par défaut sont déterminés selon les étapes suivantes :
(1) Si la variable d'environnement LC_ALL n'est pas NULL, sa valeur est utilisée.
(2) Si une variable d'environnement ayant le même nom que les catégories mentionnées ci-dessus n’est pas
NULL, sa valeur est utilisée pour la catégorie en question.
(3) Si la variable d'environnement LANG n’est pas NULL, sa valeur est utilisée.
Les valeurs concernant la mise en forme numérique sont disponibles dans une structure lconv renvoyée par
la fonction localeconv(3), déclarée de la manière suivante :
struct lconv {
/* Informations numériques (non monétaires) */
char *decimal_point; /* Séparateur décimal */
char *thousands_sep; /* Séparateur des milliers */
char *grouping; /* Chaque élément représente le nombre de
chiffres dans un groupe ; les éléments avec
les indices les plus hauts sont placés à gauche.
Un élément ayant la valeur CHAR_MAX signifie
qu'aucun regroupement ne peut plus être fait.
Un élément avec la valeur 0 signifie que
l'élément précédent est utilisé pour tous les
groupes restant à gauche. */
/* Les champs restants sont pour les informations monétaires */
char *int_curr_symbol; /* Les trois premiers caractères sont
un symbole monétaire ISO 4217.
Le quatrième est le séparateur,
le cinquième vaut « \0 ».
char *currency_symbol; /* Symbole monétaire régional */
char *mon_decimal_point; /* Séparateur décimal */
char *mon_thousands_sep; /* Identique à thousands_sep ci-dessus */
char *mon_grouping; /* Identique à grouping ci-dessus */
char *positive_sign; /* Signe des valeurs positives */
char *negative_sign; /* Signe des valeurs négatives */
char int_frac_digits; /* Chiffres fractionnaires internationaux. */
char frac_digits; /* Chiffres fractionnaires régionaux */
char p_cs_precedes; /* 1 si currency_symbol précède une
valeur positive, 0 s'il la suit */
char p_sep_by_space; /* 1 si une espace sépare currency_symbol
d'une valeur positive */
char n_cs_precedes; /* 1 si currency_symbol précède une
valeur négative, 0 s'il la suit */
char n_sep_by_space; /* 1 si une espace sépare currency_symbol
d'une valeur négative */
/* Positions des signes positifs et négatifs :
0 Parenthèses entourant la quantité et currency_symbol.
1 Le signe précède la quantité et currency_symbol.
2 Le signe suit la quantité et currency_symbol.
3 Le signe précède immédiatement currency_symbol.
4 Le signe suit immédiatement currency_symbol. */
char p_sign_posn;
char n_sign_posn;
};
Extensions POSIX.1-2008 à l’interface de programmation de paramètres régionaux.
POSIX.1-2008 a normalisé de nombreuses extensions à l’interface de programmation de paramètres régionaux,
à partir des implémentations qui sont d’abord apparues dans la glibc 2.3. Ces extensions sont conçues
pour apporter une solution au problème des interfaces de programmation traditionnelles de paramètres
régionaux qui s’intègrent mal aux applications en contexte multithread et aux applications devant gérer
plusieurs paramètres régionaux différents.
Les extensions prennent la forme de nouvelles fonctions pour créer et manipuler les objets de paramètres
régionaux (newlocale(3), freelocale(3), duplocale(3), uselocale(3)) et plusieurs nouvelles bibliothèques
avec le suffixe « _l » (par exemple toupper_l(3)) qui complètent les interfaces de programmation
traditionnelles dépendant des paramètres régionaux (par exemple toupper(3)) pour permettre d’indiquer un
objet de paramètres régionaux qui devrait être pris en compte lors de l’exécution de la fonction.
ENVIRONNEMENT
La variable d'environnement suivante est utilisée par newlocale(3) et setlocale(3) et modifie donc tous
les programmes régionalisés sans permission particulière :
LOCPATH
Une liste de chemins, séparés par des deux-points (« : »), qui doivent être parcourus pour
chercher des données de paramètres régionaux. Si cette variable est positionnée, seuls les
fichiers particuliers de données de paramètres régionaux se trouvant dans LOCPATH et le chemin de
paramètres régionaux par défaut du système sont utilisés ; les archives de paramètres régionaux
existantes sont ignorées (consulter localedef(1)). Les fichiers particuliers compilés de données
de paramètres régionaux sont cherchés dans des sous-répertoires qui dépendent des paramètres
régionaux en cours. Par exemple, si en_GB.UTF-8 est utilisé pour une catégorie, les répertoires
suivants seront parcourus dans cette ordre : en_GB.UTF-8, en_GB.utf8, en_GB, en.UTF-8, en.utf8 et
en.
FICHIERS
/usr/lib/locale/locale-archive
Chemin habituel par défaut de l'archive des paramètres régionaux.
/usr/lib/locale
Chemin par défaut habituel des fichiers compilés particuliers de paramètres régionaux.
STANDARDS
POSIX.1-2001.
VOIR AUSSI
iconv(1), locale(1), localedef(1), catopen(3), gettext(3), iconv(3), localeconv(3), mbstowcs(3),
newlocale(3), ngettext(3), nl_langinfo(3), rpmatch(3), setlocale(3), strcoll(3), strfmon(3), strftime(3),
strxfrm(3), uselocale(3), wcstombs(3), locale(5), charsets(7), unicode(7), utf-8(7)
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess
<https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud
<tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
<fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau
<jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François
<nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard
<simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot
<david@tilapin.org> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License
version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.
Pages du manuel de Linux 6.9.1 15 juin 2024 locale(7)