table of contents
- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
setlocale(3) | Library Functions Manual | setlocale(3) |
NOM¶
setlocale - Définir les paramètres régionaux courants
BIBLIOTHÈQUE¶
Bibliothèque C standard (libc, -lc)
SYNOPSIS¶
#include <locale.h>
char *setlocale(int catégorie, const char *locale);
DESCRIPTION¶
La fonction setlocale() permet de définir ou d'obtenir les paramètres régionaux courants du programme.
Si locale n'est pas NULL, les paramètres régionaux courants du programme sont modifiés en fonction des arguments. L'argument catégorie détermine quelle partie des paramètres régionaux courants du programme seront concernés par la modification.
Catégorie | Paramètres impactés |
LC_ALL | Tous les paramètres régionaux |
LC_ADDRESS | Mise en forme des adresses et des items relatifs à la géographie (*) |
LC_COLLATE | Ordre de tri des chaînes |
LC_CTYPE | Classification des caractères |
LC_IDENTIFICATION | Métadonnées décrivant les paramètres régionaux (*) |
LC_MEASUREMENT | Paramètres liés aux mesures (système métrique et mesures US) (*) |
LC_MESSAGES | Messages localisables en langue d'origine |
LC_MONETARY | Mise en forme des valeurs monétaires |
LC_NAME | Mise en forme des titres pour les personnes (*) |
LC_NUMERIC | Mise en forme des valeurs numériques non monétaires |
LC_PAPER | Paramètres liés au format de papier standard (*) |
LC_TELEPHONE | Formats à utiliser pour les services de téléphonie (*) |
LC_TIME | Mise en forme des valeurs de date et heure |
Les catégories avec une astérisque dans la table ci-dessus sont des extensions GNU. Pour plus d'informations sur ces catégories de paramètres régionaux, consultez locale(7).
L'argument locale est un pointeur sur une chaîne de caractères indiquant la configuration de la catégorie. 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 la chaîne vide "", chaque partie des paramètres régionaux doit être modifiée en fonction des variables d'environnement. Les détails varient en fonction de l'implémentation. Pour la glibc, (quelle que soit la catégorie) la variable d'environnement LC_ALL est examinée dans un premier temps, puis c'est au tour de la variable d'environnement possédant le même nom que la catégorie (consultez la table ci-dessus) et c'est enfin celui de la variable LANG. C'est la première variable d'environnement définie qui est prise en compte. Si sa valeur n'est pas une spécification de paramètres régionaux valable, les paramètres régionaux courants ne sont pas modifiés, et setlocale() renvoie NULL.
Les paramètres régionaux « C » et « POSIX » sont portables et ils existent sur tous les systèmes compatibles.
Un nom de paramètres régionaux est typiquement de la forme langue[_territoire][.codage][@modificateur], où langue est un code linguistique ISO 639, territoire un code de pays ISO 3166 et codage un jeu de caractères ou un identifiant d'encodage comme ISO-8859-1 ou UTF-8. Pour obtenir la liste de tous les paramètres régionaux disponibles, utilisez la commande « locale -a » (voir locale(1)).
Si locale est NULL, les paramètres régionaux courants sont consultés, mais pas modifiés.
Au démarrage du programme principal, la valeur de paramètres régionaux portable « C » est sélectionnée par défaut. Un programme peut être rendu portable pour tous les paramètres régionaux en appelant :
setlocale(LC_ALL, "");
après l'initialisation du programme, puis :
- en utilisant les valeurs renvoyées par un appel à localeconv(3) pour obtenir des informations dépendant des paramètres régionaux ;
- en utilisant les fonctions de traitement des textes avec caractères larges ou multioctets si MB_CUR_MAX > 1 ;
- en utilisant strcoll(3) et strxfrm(3) pour comparer les chaînes ; et
- en utilisant wcscoll(3) et wcsxfrm(3) pour comparer les chaînes à caractères larges.
VALEUR RENVOYÉE¶
Un appel réussi à setlocale() renvoie une chaîne opaque correspondant aux paramètres régionaux. Cette chaîne peut être allouée statiquement. La chaîne renvoyée associée à la catégorie considérée permet (à l'aide d'un appel ultérieur à setlocale()) de restituer la partie correspondante des paramètres régionaux du processus. La valeur renvoyée est NULL si la demande ne peut pas aboutir.
ATTRIBUTS¶
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur |
setlocale() | Sécurité des threads | MT-Unsafe const:locale env |
STANDARDS¶
C11, POSIX.1-2008.
Catégories¶
- LC_ALL
- LC_COLLATE
- LC_CTYPE
- LC_MONETARY
- LC_NUMERIC
- LC_TIME
- C11, POSIX.1-2008.
- LC_MESSAGES
- POSIX.1-2008.
- Autres :
- GNU.
HISTORIQUE¶
POSIX.1-2001, C89.
Catégories¶
- LC_ALL
- LC_COLLATE
- LC_CTYPE
- LC_MONETARY
- LC_NUMERIC
- LC_TIME
- C89, POSIX.1-2001.
- LC_MESSAGES
- POSIX.1-2001.
- Autres :
- GNU.
VOIR AUSSI¶
locale(1), localedef(1), isalpha(3), localeconv(3), nl_langinfo(3), rpmatch(3), strcoll(3), strftime(3), charsets(7), locale(7)
TRADUCTION¶
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Lucien Gentis <lucien.gentis@waika9.com>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
2 mai 2024 | Pages du manuel de Linux 6.8 |