Provided by: manpages-fr_4.23.1-1_all bug

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.8                       2 mai 2024                                          locale(7)