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

NOM

       setlocale - Fixe la localisation courante.

SYNOPSIS

       #include <locale.h>

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

DESCRIPTION

       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.

       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  (quelque  soit  la  catgorie)  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 est n’est pas une spécification de localication
       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 identificateur 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()   pour  les  valeurs  dépendant  de  la  localisation,  en
       utilisation les fonctions multioctets et caractères larges pour traiter
       les  chaines si MB_CUR_MAX > 1, et en utilisant strcoll(), wcscoll() ou
       strxfrm(), wcsxfrm() pour comparer les chaînes de caractères.

VALEUR RENVOYÉE

       Un appel reussi à setlocale() renvoie une  chaine  correspondant  à  la
       localisation.   Cette  chaîne peut être allouée dans une zone statique.
       La chaine 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 renovyée est NULL si la demande ne
       peut pas être honorée.

CONFORMITÉ

       ANSI C, POSIX.1

       Linux  (c’est  à dire la libc) 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écisement   "koi-8r"   dans   la
       libc-4.6.27).    Il   suffisait   alors   d’initialiser   la   variable
       d’environnement  LC_TYPE=ISO-8859-1  pour  que   isprint()   fonctionne
       correctement.   Désormais  les européens non-anglicistes doivent peiner
       un peu plus pour installer les véritables fichiers de localisation.

VOIR AUSSI

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

TRADUCTION

       Christophe Blaess, 1996-2003.