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> ».