Loading

NOM

       setlocale - Fixe la localisation courante.

SYNOPSIS

       #include <locale.h>

       char *setlocale(int categorie, const char *locale);

       La  fonction  setlocale()  est  utilisée  pour  indiquer ou demander la
       localisation courante du programme.

       Si locale n’est pas NULL, la localisation  courante  du  programme  est
       modifiée  en  fonction  des  arguments.  L’argument categorie détermine
       quelle partie de la localisation sera concernée par la modification.

       LC_ALL toute la localisation,

       LC_COLLATE
              la mise en correspondance des expressions rationnelles  (classes
              d’équivalence  et  intervalles), et le classement des chaînes de
              caractères,

       LC_CTYPE
              la classification de caractère et les routines de conversions.la
              mise   en   correspondance   des  expressions  rationnelles,  la
              classification de caractères, les conversions, les  comparaisons
              dépendant  de  la  casse  et  les  fonctions pour les caractères
              larges.

       LC_MESSAGES
              les messages en langue naturelle

       LC_MONETARY
              l’affichage des valeurs monétaires.

       LC_NUMERIC
              le symbole décimal (point, virgule, ...)

       LC_TIME
              la forme de la date et l’heure.

       L’argument  locale  est  un  pointeur  sur  une  chaîne  de  caractères
       contenant  la configuration de la categorie. Une telle chaîne peut être
       une constante bien connue, comme « C » ou « fr_FR » (voir plus bas)  ou
       une  chaîne opaque renvoyée par un autre appel précédent à setlocale().

       Si locale est "", chaque partie de la localisation doit  être  modifiée
       en fonction des variables d’environnement. Les détails d’implémentation
       varient. Pour la glibc, d’abord  (quelle  que  soit  la  categorie)  la
       variable   d’environnement   LC_ALL  est  examinée,  puis  la  variable
       d’environnement  avec  le  même  nom  que  la  catégorie   (LC_COLLATE,
       LC_CTYPE,  LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME) et finalement
       la variable LANG. La première  variable  d’environnement  existant  est
       utilisée.  Si  sa  valeur  n’est  pas une spécification de localisation
       valide, la localisation n’est  pas  modifiée,  et  setlocale()  renvoie
       NULL.

       Les  localisations  "C" et "POSIX" sont portables, leur partie LC_CTYPE
       correspond au jeu de caractères ASCII 7 bits.

       Un   nom   de   localisation    est    typiquement    de    la    forme
       langue[_territoire][.codeset][@modificateur],  où la langue est un code
       linguistique ISO 639, le territoire  un  code  de  pays  ISO  3166,  et
       codeset  un  jeu  de  caractères  ou  un  identifiant d’encodage, comme
       ISO-8859-1 ou UTF-8. Pour voir une liste de  toutes  les  localisations
       disponibles, essayez « locale -a », cf. locale(1).

       Si  locale  est  NULL, la localisation courante est consultée, mais pas
       modifiée.

       Au démarrage, la localisation portable "C" est sélectionnée par défaut.
       Un programme peut être rendu portable en appelant :

           setlocale(LC_ALL, "");

       lors  de  son  initialisation,  en  utilisant les valeurs renvoyées par
       localeconv(3)  pour  les  valeurs  dépendant  de  la  localisation,  en
       utilisant  les  fonctions  multioctet et caractères larges pour traiter
       les chaînes si MB_CUR_MAX > 1, et en utilisant  strcoll(3),  wcscoll(3)
       ou strxfrm(3), wcsxfrm(3) pour comparer les chaînes de caractères.

VALEUR RENVOYÉE

       Un  appel  réussi  à  setlocale() renvoie une chaîne correspondant à la
       localisation. Cette chaîne peut être allouée dans une zone statique. La
       chaîne  est  renvoyée de telle manière qu’un appel ultérieur avec cette
       chaîne  et  la  catégorie  associée  restituera  cette  partie  de   la
       localisation du processus. La valeur renvoyée est NULL si la demande ne
       peut pas être honorée.

CONFORMITÉ

       C89, C99, POSIX.1-2001.

NOTES

       Linux (c’est-à-dire la glibc) supporte les localisations portables  "C"
       et  "POSIX".  Il y avait auparavant un support pour le Latin-1 européen
       "ISO-8859-1" (par exemple dans la libc-4.5.21  et  libc-4.6.27),  ainsi
       que   et   le   "KOI-8"   russe  (plus  précisément  "koi-8r"  dans  la
       libc-4.6.27).   Il   suffisait   alors   d’initialiser   la    variable
       d’environnement  LC_CTYPE=ISO-8859-1  pour  que  isprint(3)  fonctionne
       correctement. Désormais, les européens non anglophones  doivent  peiner
       un peu plus pour installer les véritables fichiers de localisation.

VOIR AUSSI

       locale(1),  localedef(1),  isalpha(3),  localeconv(3),  nl_langinfo(3),
       rpmatch(3), strcoll(3), strftime(3), charsets(7), locale(7)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».