Provided by:
manpages-fr_1.67.0-1_all 
NOM
locale - Description du support 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 qu’il déclare sont setlocale() pour définir ces
paramètres et localeconv() pour obtenir des informations sur la mise en
forme des nombres.
Il existe différentes catégories de paramètres régiouaux 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 fixer l’une de ces informations :
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 double-s
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 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 aider à utiliser 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 utilise un format horaire sur 24 heures, alors que les
USA 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, "", ceci correspond aux paramètres régionaux par
défaut, déterminés par les étapes suivantes :
1. Si la variable d’environnement LC_ALL n’est pas vide, 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 vide, sa valeur est
utilisée pour la catégorie en question.
3. Si la variable d’environnement LANG est non vide, sa valeur est
utilisée.
Les valeurs concernant la mise en forme numérique sont disponibles dans
une structure struct lconv, renvoyée par la fonction localeconv(),
déclarée ainsi :
struct lconv
{
/* -------- Informations numériques (non-monétaires) ------- */
char *decimal_point; /* Séparateur décimal */
char *thousands_sep; /* Séparateur des milliers */
/*
* Cette chaîne de caractères contient une liste de nombres,
* séparés par des point-virgules. Chaque élément indique le
* nombre de chiffres utilisé pour ce groupe.
* Les éléments d’indice les plus élevés correspondent aux
* groupes les plus à gauche.
* Un élément de valeur CHAR_MAX signifie l’arrêt du groupement.
* Un élément de valeur 0 signifie que l’élément précédent est
* répété pour tous les groupes plus à gauche.
*
* NdT : c’est pas clair ? ben, la V.O. non plus ! ;-)
*/
char *grouping;
/* ----------------- Informations monétaires ---------------- */
/* Les trois premiers caractères correspondent au symbole */
/* monétaire d’après ISO 4217. Le quatrième symbole est le */
/* séparateur, le cinquième est ’\0’. */
char *int_curr_symbol;
char *currency_symbol; /* Symbole monétaire local. */
char *mon_decimal_point; /* Caractère séparateur décimal */
char *mon_thousands_sep; /* Caract. séparateur milliers */
char *mon_grouping; /* Comme ’grouping’ (ci-dessus) */
char *positive_sign; /* Signe pour valeurs positives */
char *negative_sign; /* Signe pour valeurs négatives */
char int_frac_digits; /* Int’l fractional digits. */
char frac_digits; /* Local fractional digits. */
/* 1 : le symbole monétaire précède les valeurs positives, */
/* 0 : le symbole monétaire suit les valeurs positives. */
char p_cs_precedes;
/* 1 si un espace sépare le symbole monétaire d’une valeur + */
char p_sep_by_space;
/* 1 : le symbole monétaire précède les valeurs négatives, */
/* 0 : le symbole monétaire suit les valeurs négatives. */
char n_cs_precedes;
/* 1 si un espace sépare le symbole monétaire d’une valeur - */
char n_sep_by_space;
/* Positions des signes plus et moins :
* 0 Parenthèses autour de la valeur et du symbole monétaire.
* 1 Le signe précède la valeur et le symbole monétaire.
* 2 Le signe suit la valeur et le symbole monétaire.
* 3 Le signe précède immédiatement le symbole monétaire.
* 4 Le signe suit immédiatement le symbole monétaire.
*/
char p_sign_posn;
char n_sign_posn;
};
CONFORMITÉ
POSIX.1
Les fonctions de la bibliothèque GNU gettext sont décrites dans le
document LI18NUX2000.
VOIR AUSI
setlocale(3), localeconv(3), locale(1), localedef(1), nl_langinfo(3),
gettext(3), ngettext(3), rpmatch(3), strfmon(3), strcoll(3),
strxfrm(3), strftime(3)
TRADUCTION
Christophe Blaess, 1996-2003.