LOCALE(7)        Manuel de l'administrateur Linux       LOCALE(7)


NAME
       locale - Description du support multi-langages.

SYNOPSIS
       #include <locale.h>

DESCRIPTION
       Une  localisation  est 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 sa localisation 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 indiquer
       la localisation et localeconv() pour obtenir des  informa­
       tions sur la mise en forme des nombres.

       Il  existe  différentes  catégories d'informations locales
       qui  peuvent  être  utiles  à  un  programme.  Elles  sont
       déclarées en tant que macros.  En les utilisant comme pre­
       mier argument de la fonction setlocale(), il devient  pos­
       sible de fixer l'une de ces informations :

       LC_COLLATE
              est utilisé pour modifier le comportement des fonc­
              tions 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_TYPE
              permet de modifier les manipulations et classifica­
              tions de caractères,  comme  celles  des  fonctions
              isupper()  et  toupper(),  et  celles des fonctions
              travaillant sur des caractères  multi-octets  comme
              mblen() ou wctomb().

       LC_MONETARY
              modifie les informations renvoyées par localeconv()
              pour décrire la mise en forme habituelle  des  nom­
              bres,  en  accord  avec  des détails comme le point
              décimal ou la virgule  décimale.  Ces  informations
              sont utilisées par les fonctions strfmon().

       LC_MESSAGES
              configure la langue utilisée pour afficher les mes­
              sages, et la saisie  de  réponses  affirmatives  ou
              négatives.   La  bibliothèque  C  GNU  contient  la



Linux                    20 Octobre 1996                        1





LOCALE(7)        Manuel de l'administrateur Linux       LOCALE(7)


              fonction  rpmatch()  pour  aider  à  utiliser   ces
              données.

       LC_NUMERIC
              modifie  les  informations  utilisées par les fonc­
              tions   des   familles   printf()    et    scanf(),
              lorsqu'elles   doivent  utiliser  la  configuration
              locale. Ces données peuvent également être obtenues
              avec la fonction localeconv().

       LC_TIME
              modifie  le  comportement de la fonction strftime()
              affichant l'heure dans un format local. Par exemple
              la  plupart  de  l'Europe utilise un format horaire
              sur 24 heures, alors que les USA utilisent un  for­
              mat 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 à la local­
       isation par défaut, déterminée avec les étapes suivantes :

       1.     Si une variable d'environnement  LC_ALL  n'est  pas
              nulle, 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
              nulle,  sa valeur est utilisée pour la catégorie en
              question.

       3.     Si une variable d'environnement LANG est non nulle,
              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            */
         /*
          * Chaque élément  indique  un  nombre de chiffres  dans  chaque
          * groupe.
          * Les éléments d'indice les plus élévés correspondent aux grou-
          * pes 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
          * utilisé pour tous les groupes plus à gauche.
          *
          * NDT : c'est pas clair ? ben, la V.O. non plus !  ;-)
          */



Linux                    20 Octobre 1996                        2





LOCALE(7)        Manuel de l'administrateur Linux       LOCALE(7)


         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


VOIR AUSI
       setlocale(3),   localeconv(3),   locale(1),  localedef(1),
       rpmatch(3),  strfmon(3),  strcoll(3),  strxfrm(3),   strf­
       time(3)



TRADUCTION
       Christophe Blaess, 1997.







Linux                    20 Octobre 1996                        3