Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
SETLOCALE
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- CONFORMITÉ
- NOTES
- VOIR AUSSI
- TRADUCTION
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 (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() 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(), wcscoll() ou strxfrm(), wcsxfrm() 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É
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_TYPE=ISO-8859-1
pour que isprint() 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(4), locale(7)
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.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
|