| locale(7) | Miscellaneous Information Manual | locale(7) |
locale - Description de la gestion multilingue
#include <locale.h>
Les paramètres régionaux (ou locale, en anglais) constituent un ensemble de règles linguistiques et culturelles. Cela couvre des aspects tels que la langue utilisée pour les messages, le jeu de caractères, les conventions lexicographiques, etc. Un programme doit être capable de déterminer les paramètres de l'utilisateur et d'agir en conséquence pour être portable dans divers environnements culturels.
The header <locale.h> declares data types, functions, and macros which are useful in this task.
Les fonctions déclarées sont setlocale(3) pour définir les paramètres actuels et localeconv(3) pour obtenir des informations sur la mise en forme des nombres.
Il existe différentes catégories de paramètres régionaux qui peuvent être utiles à un programme. Elles sont déclarées en tant que macros. En les utilisant comme premier argument de la fonction setlocale(3), il devient possible de définir l'une de ces catégories à la régionalisation désirée :
If the second argument to setlocale(3) is an empty string, "", for the default locale, it is determined using the following steps:
Les valeurs concernant la mise en forme numérique sont disponibles dans une structure lconv renvoyée par la fonction localeconv(3), déclarée de la manière suivante :
struct lconv {
/* Informations numériques (non monétaires) */
char *decimal_point; /* Séparateur décimal */
char *thousands_sep; /* Séparateur des milliers */
char *grouping; /* Chaque élément représente le nombre de
chiffres dans un groupe ; les éléments avec
les indices les plus hauts sont placés à gauche.
Un élément ayant la valeur CHAR_MAX signifie
qu'aucun regroupement ne peut plus être fait.
Un élément avec la valeur 0 signifie que
l'élément précédent est utilisé pour tous les
groupes restant à gauche. */
/* Les champs restants sont pour les informations monétaires */
char *int_curr_symbol; /* First three chars are a currency
symbol from ISO 4217. Fourth char
is the separator. Fifth char
is '\0'. */
char *currency_symbol; /* Local currency symbol */
char *mon_decimal_point; /* Radix character */
char *mon_thousands_sep; /* Like thousands_sep above */
char *mon_grouping; /* Like grouping above */
char *positive_sign; /* Sign for positive values */
char *negative_sign; /* Sign for negative values */
char int_frac_digits; /* International fractional digits */
char frac_digits; /* Local fractional digits */
char p_cs_precedes; /* 1 if currency_symbol precedes a
positive value, 0 if succeeds */
char p_sep_by_space; /* 1 if a space separates
currency_symbol from a positive
value */
char n_cs_precedes; /* 1 if currency_symbol precedes a
negative value, 0 if succeeds */
char n_sep_by_space; /* 1 if a space separates
currency_symbol from a negative
value */
/* Positive and negative sign positions:
0 Parentheses surround the quantity and currency_symbol.
1 The sign string precedes the quantity and currency_symbol.
2 The sign string succeeds the quantity and currency_symbol.
3 The sign string immediately precedes the currency_symbol.
4 The sign string immediately succeeds the currency_symbol. */
char p_sign_posn;
char n_sign_posn;
};
POSIX.1-2008 standardized a number of extensions to the locale API, based on implementations that first appeared in glibc 2.3. These extensions are designed to address the problem that the traditional locale APIs do not mix well with multithreaded applications and with applications that must deal with multiple locales.
Les extensions prennent la forme de nouvelles fonctions pour créer et manipuler les objets de paramètres régionaux (newlocale(3), freelocale(3), duplocale(3), uselocale(3)) et plusieurs nouvelles bibliothèques avec le suffixe « _l » (par exemple toupper_l(3)) qui complètent les interfaces de programmation traditionnelles dépendant des paramètres régionaux (par exemple toupper(3)) pour permettre d’indiquer un objet de paramètres régionaux qui devrait être pris en compte lors de l’exécution de la fonction.
La variable d'environnement suivante est utilisée par newlocale(3) et setlocale(3) et modifie donc tous les programmes régionalisés sans permission particulière :
POSIX.1-2001.
iconv(1), locale(1), localedef(1), catopen(3), gettext(3), iconv(3), localeconv(3), mbstowcs(3), newlocale(3), ngettext(3), nl_langinfo(3), rpmatch(3), setlocale(3), strcoll(3), strfmon(3), strftime(3), strxfrm(3), uselocale(3), wcstombs(3), locale(5), charsets(7), unicode(7), utf-8(7)
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 Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>
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.
| 5 février 2023 | Pages du manuel de Linux 6.03 |