NOM¶
setlocale - Définir 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.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.
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.44 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¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Nicolas François
et l'équipe francophone de traduction de Debian (2006-2009).
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> ».