Provided by: manpages-fr_4.13-4_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 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.10 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 ⟨⟩.