Provided by: manpages-fr_4.15.0-9_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.

       The  header <locale.h> declares data types, functions, and macros which are useful in this
       task.

       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
       version 2.3  de  la  bibliothèque C  de GNU. 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.

CONFORMITÉ

       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)

COLOPHON

       Cette  page  fait partie de la publication 5.13 du projet man-pages Linux. Une description
       du projet et des instructions pour signaler des anomalies et la dernière version de  cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.