Provided by: manpages-fr_1.67.0-1_all bug

NOM

       locale - Description du support multilingue.

SYNOPSIS

       #include <locale.h>

DESCRIPTION

       Les  paramètres  régionaux  (ou  locale,  en  anglais)  constituent  un
       ensemble de règles  linguistiques  et  culturelles.   Ceci  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   qu’il  déclare  sont  setlocale()  pour  définir  ces
       paramètres et localeconv() pour obtenir des informations sur la mise en
       forme des nombres.

       Il  existe  différentes  catégories de paramètres régiouaux 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(), il
       devient possible de fixer l’une de ces informations :

       LC_COLLATE
              est  utilisée  pour  modifier  le  comportement  des   fonctions
              strcoll()  et  strxfrm(),  qui  permettent  les  comparaisons de
              chaînes  dans  l’alphabet  local.   Par  exemple   le   double-s
              allemand, est ordonné comme « ss ».

       LC_CTYPE
              permet de modifier le comportement des fonctions de manipulation
              et  classification  de  caractères,  telles  que  isupper()   et
              toupper(), et celui des fonctions travaillant sur des caractères
              multioctets comme mblen() ou wctomb().

       LC_MONETARY
              modifie les informations renvoyées par localeconv() pour décrire
              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 par la fonction strfmon().

       LC_MESSAGES
              configure  la  langue utilisée pour afficher les messages, et la
              saisie de réponses affirmatives ou négatives. La bibliothèque  C
              GNU  contient  les fonctions gettext(), ngettext(), et rpmatch()
              pour aider à utiliser ces données. Les fonctions de  la  famille
              GNU  gettext  obéissent  aussi  à  la  variable  d’environnement
              LANGUAGE.

       LC_NUMERIC
              modifie  les  informations  utilisées  par  les  fonctions   des
              familles printf() et scanf(), lorsqu’elles doivent respecter les
              paramètres régionaux  de  l’utilisateur.   Ces  données  peuvent
              également être obtenues avec la fonction localeconv().

       LC_TIME
              modifie  le comportement de la fonction strftime() pour afficher
              l’heure dans un format adéquat. Par exemple la plupart des  pays
              d’Europe  utilise un format horaire sur 24 heures, alors que les
              USA utilisent un format sur 12 heures.

       LC_ALL regroupe toutes les catégories ci-dessus.

       Si le second argument de la fonction  setlocale()  est  une  chaîne  de
       caractères  vide,  "",  ceci  correspond  aux  paramètres régionaux par
       défaut, déterminés par les étapes suivantes :

       1.     Si la variable d’environnement LC_ALL n’est pas vide, sa  valeur
              est utilisée.

       2.     Si  une  variable  d’environnement  ayant  le  même  nom que les
              catégories mentionnées ci-dessus est non  vide,  sa  valeur  est
              utilisée pour la catégorie en question.

       3.     Si  la variable d’environnement LANG est non vide, sa valeur est
              utilisée.

       Les valeurs concernant la mise en forme numérique sont disponibles dans
       une  structure  struct  lconv,  renvoyée  par la fonction localeconv(),
       déclarée ainsi :
       struct lconv
       {
         /* -------- Informations numériques (non-monétaires) ------- */

         char *decimal_point;    /* Séparateur décimal                 */
         char *thousands_sep;    /* Séparateur des milliers            */
         /*
          * Cette chaîne de caractères contient une liste de nombres,
          * séparés par des point-virgules. Chaque élément indique le
          * nombre de chiffres utilisé pour ce groupe.
          * Les éléments d’indice les plus élevés correspondent aux
          * groupes les plus à gauche.
          * Un élément de valeur CHAR_MAX signifie l’arrêt du groupement.
          * Un élément de valeur 0 signifie que l’élément précédent est
          * répété pour tous les groupes plus à gauche.
          *
          * NdT : c’est pas clair ? ben, la V.O. non plus !  ;-)
          */
         char *grouping;

         /* ----------------- Informations monétaires ---------------- */

         /* Les trois premiers caractères correspondent au symbole     */
         /* monétaire d’après ISO 4217. Le quatrième symbole est le    */
         /* séparateur, le cinquième est ’\0’.                         */
         char *int_curr_symbol;
         char *currency_symbol;        /* Symbole monétaire local.     */
         char *mon_decimal_point;      /* Caractère séparateur décimal */
         char *mon_thousands_sep;      /* Caract. séparateur milliers  */
         char *mon_grouping;           /* Comme ’grouping’ (ci-dessus) */
         char *positive_sign;          /* Signe pour valeurs positives */
         char *negative_sign;          /* Signe pour valeurs négatives */
         char int_frac_digits;         /* Int’l fractional digits.     */
         char frac_digits;             /* Local fractional digits.     */
         /* 1 : le symbole monétaire précède les valeurs positives,    */
         /* 0 : le symbole monétaire suit les valeurs positives.       */
         char p_cs_precedes;
         /* 1 si un espace sépare le symbole monétaire d’une valeur +  */
         char p_sep_by_space;
         /* 1 : le symbole monétaire précède les valeurs négatives,    */
         /* 0 : le symbole monétaire suit les valeurs négatives.       */
         char n_cs_precedes;
         /* 1 si un espace sépare le symbole monétaire d’une valeur -  */
         char n_sep_by_space;
         /* Positions des signes plus et moins :
          * 0 Parenthèses autour de la valeur et du symbole monétaire.
          * 1 Le signe précède la valeur et le symbole monétaire.
          * 2 Le signe suit la valeur et le symbole monétaire.
          * 3 Le signe précède immédiatement le symbole monétaire.
          * 4 Le signe suit immédiatement le symbole monétaire.
          */
         char p_sign_posn;
         char n_sign_posn;
       };

CONFORMITÉ

       POSIX.1
       Les fonctions de la bibliothèque GNU  gettext  sont  décrites  dans  le
       document LI18NUX2000.

VOIR AUSI

       setlocale(3),  localeconv(3),  locale(1), localedef(1), nl_langinfo(3),
       gettext(3),   ngettext(3),    rpmatch(3),    strfmon(3),    strcoll(3),
       strxfrm(3), strftime(3)

TRADUCTION

       Christophe Blaess, 1996-2003.