Date création : 30-03-2008 14:17:03
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section7 - Divers]
LOCALE
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- CONFORMITÉ
- VOIR AUSSI
- TRADUCTION
NOM
locale - Description de la gestion multilingue
SYNOPSIS
#include <locale.h>
DESCRIPTION
Les paramètres régionaux (ou locale, en anglais) constituent un ensemble
de règles linguistiques et culturelles. Ceci 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.
Le fichier d'en-tête <locale.h> déclare les types de données, les
fonctions et les macros utilisés pour ces tâches.
Les fonctions déclarées sont setlocale() pour définir les paramètres
actuels et localeconv() 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(), il devient
possible de définir l'une de ces catégories à la locale désirée :
- LC_COLLATE
-
est utilisée pour modifier le comportement des fonctions strcoll() et
strxfrm(), qui permettent les comparaisons de chaînes dans l'alphabet
local. Par exemple, le eszett allemand est ordonné comme « ss ».
- LC_CTYPE
-
permet de modifier le comportement des fonctions de manipulation et
classification de caractères, telles que isupper() et toupper(), et
celui des fonctions travaillant sur des caractères multioctets comme
mblen() ou wctomb().
- LC_MONETARY
-
modifie les informations renvoyées par localeconv() pour décrire la mise
en forme habituelle des nombres, en accord avec des détails comme le point
décimal ou la virgule décimale. Ces informations sont utilisées en interne
par la fonction strfmon().
- LC_MESSAGES
-
configure la langue utilisée pour afficher les messages, et la saisie de
réponses affirmatives ou négatives. La bibliothèque C GNU contient les
fonctions gettext(), ngettext() et rpmatch() pour faciliter
l'utilisation de ces données. Les fonctions de la famille GNU gettext
obéissent aussi à la variable d'environnement LANGUAGE.
- LC_NUMERIC
-
modifie les informations utilisées par les fonctions des familles
printf() et scanf(), lorsqu'elles doivent respecter les paramètres
régionaux de l'utilisateur. Ces données peuvent également être obtenues avec
la fonction localeconv().
- LC_TIME
-
modifie le comportement de la fonction strftime() pour afficher l'heure
dans un format adéquat. Par exemple, la plupart des pays d'Europe utilisent
un format horaire sur 24 heures, alors que les États-Unis utilisent un
format sur 12 heures.
- LC_ALL
-
regroupe toutes les catégories ci-dessus.
Si le second argument de la fonction setlocale() est une chaîne de
caractères vide, "", la locale par défaut est déterminée selon les étapes
suivantes :
- 1.
-
Si la variable d'environnement LC_ALL n'est pas nulle, sa valeur est
utilisée.
- 2.
-
Si une variable d'environnement ayant le même nom que les catégories
mentionnées ci-dessus est non nulle, sa valeur est utilisée pour la
catégorie en question.
- 3.
-
Si la variable d'environnement LANG est non nulle, sa valeur est
utilisée.
Les valeurs concernant la mise en forme numérique sont disponibles dans une
structure lconv renvoyée par la fonction localeconv(), 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 regroupage ne peut plus être fait.
Un élément avec la valeur 0 signifie que
l'élément précédent est utlisé pour tous les
groupes restant à gauche. */
/* Les champs restants sont pour les informations monétaires */
char *int_curr_symbol; /* Les trois premiers caractères
correspondent au symbol monétaire
ISO 4217. Le quatrième est le
séparateur, le cinquième vaut « ». */
char *currency_symbol; /* Symbole monétaire local */
char *mon_decimal_point; /* Séparateur décimal */
char *mon_thousands_sep; /* Identique à « thousands_sep » */
char *mon_grouping; /* Identique à « grouping » */
char *positive_sign; /* Signe des valeurs positives */
char *negative_sign; /* Signe des valeurs négatives */
char int_frac_digits; /* Chiffres fractionnaires internat. */
char frac_digits; /* Chiffres fractionnaires locaux */
char p_cs_precedes; /* 1 si currency_symbol précède une
valeur positive, 0 en cas de succès */
char p_sep_by_space; /* 1 si une espace sépare currency_symbol
d'une valeur postivie */
char n_cs_precedes; /* 1 si currency_symbol précède une
valeur négative, 0 en cas de succès */
char n_sep_by_space; /* 1 si une espace sépare currency_symbol
d'une valeur négative */
/* Positions des signes positifs et négatifs :
0 Parenthèses entourant la quantité et currency_symbol.
1 Le signe précède la quantité et currency_symbol.
2 Le signe suit la quantité et currency_symbol.
3 Le signe précède immédiatement currency_symbol.
4 Le signe suit immédiatement currency_symbol. */
char p_sign_posn;
char n_sign_posn;
};
CONFORMITÉ
POSIX.1-2001.
Les fonctions de la bibliothèque GNU gettext sont décrites dans le document
LI18NUX2000.
VOIR AUSSI
locale(1), localedef(1), gettext(3), localeconv(3),
ngettext(3), nl_langinfo(3), rpmatch(3), setlocale(3),
strcoll(3), strfmon(3), strftime(3), strxfrm(3)
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> ».
|