locale(7) Miscellaneous Information Manual locale(7) NOM locale - Description de la gestion multilingue SYNOPSIS #include DESCRIPTION Les parametres regionaux (ou locale, en anglais) constituent un ensemble de regles linguistiques et culturelles. Cela couvre des aspects tels que la langue utilisee pour les messages, le jeu de caracteres, les conventions lexicographiques, etc. Un programme doit etre capable de determiner les parametres de l'utilisateur et d'agir en consequence pour etre portable dans divers environnements culturels. Le fichier d'en-tete declare les types de donnees, les fonctions et les macros utilises pour ces taches. Les fonctions declarees sont setlocale(3) pour definir les parametres actuels et localeconv(3) pour obtenir des informations sur la mise en forme des nombres. Il existe differentes categories de parametres regionaux qui peuvent etre utiles a un programme. Elles sont declarees en tant que macros. En les utilisant comme premier argument de la fonction setlocale(3), il devient possible de definir l'une de ces categories a la regionalisation desiree : LC_ADDRESS (extension GNU, depuis la glibc 2.2) Modification des reglages decrivant les formats (comme les adresses postales) utilises pour decrire les regionalisations et les elements relatifs a la geographie. Les applications ayant besoin de ces renseignements peuvent utiliser nl_langinfo(3) pour recuperer les elements non normalises comme _NL_ADDRESS_COUNTRY_NAME (nom de pays, dans la langue des parametres regionaux) ou _NL_ADDRESS_LANG_NAME (nom de langue, dans la langue des parametres regionaux) qui renvoient des chaines comme << France >> ou << francais >> (pour des parametres regionaux relatifs a la France). (D'autres noms d'elements sont dans .) LC_COLLATE Cette categorie definit les regles d'assemblage utilisees pour le tri et les expressions rationnelles, y compris les classes d'equivalence de caracteres et les elements d'assemblage multicaracteres. Cette categorie de parametres regionaux modifie le comportement des fonctions strcoll(3) et strxfrm(3) qui permettent les comparaisons de chaines dans l'alphabet regional. Par exemple, le eszett allemand est ordonne comme << ss >>. LC_CTYPE Cette categorie definit l'interpretation des sequences d'octets comme des caracteres (par exemple, caracteres simples ou multioctets), classifications de caracteres (par exemple, alphabetique ou numerique) et le comportement des classes de caracteres. Sur les systemes utilisant la glibc, cette categorie determine aussi les regles de translitteration pour iconv(1) et iconv(3). Elle modifie le comportement des fonctions de manipulation et de classification de caracteres, telles que isupper(3) et toupper(3), et celui des fonctions travaillant sur des caracteres multioctets comme mblen(3) ou wctomb(3). LC_IDENTIFICATION (extension GNU, depuis la glibc 2.2) Modification des reglages relatifs aux metadonnees pour les parametres regionaux. Les applications ayant besoin de ces renseignements peuvent utiliser nl_langinfo(3) pour recuperer les elements non normalises comme _NL_IDENTIFICATION_TITLE (titre du document actuel de parametres regionaux) ou _NL_IDENTIFICATION_TERRITORY (territoire geographique auquel ce document de parametres regionaux s'applique) qui pourraient renvoyer des chaines comme << parametres regionaux francais pour la France >> ou << France >>. (D'autres noms d'elements sont dans .) LC_MONETARY Cette categorie definit les regles de mise en forme utilisees pour les valeurs numeriques monetaires. Elle modifie l'information renvoyee par localeconv(3) qui decrit la mise en forme habituelle des nombres, en accord avec des details comme le point decimal ou la virgule decimale. Ces informations sont utilisees en interne par la fonction strfmon(3). LC_MESSAGES Cette categorie modifie la langue utilisee pour afficher les messages et la saisie de reponses affirmatives ou negatives. La bibliotheque C de GNU contient les fonctions gettext(3), ngettext(3) et rpmatch(3) pour faciliter l'utilisation de ces donnees. Les fonctions de la famille GNU gettext obeissent aussi a la variable d'environnement LANGUAGE (contenant une liste de parametres regionaux separes par des deux-points) si la categorie designe un ensemble de parametres regionaux valable autre que << C >>. Cette categorie modifie aussi le comportement de catopen(3). LC_MEASUREMENT (extension GNU, depuis la glibc 2.2) Modification des reglages relatifs au systeme utilise pour les mesures avec les parametres regionaux (c'est-a-dire le systeme metrique ou les unites de mesure americaines). Les applications peuvent utiliser nl_langinfo(3) pour recuperer les elements non normalises comme l'element _NL_MEASUREMENT_MEASUREMENT qui renvoie un pointeur vers un caractere qui vaut 1 (systeme metrique) ou 2 (unites de mesure americaines). LC_NAME (extension GNU, depuis la glibc 2.2) Modification des reglages decrivant les formats utilises pour s'adresser aux personnes. Les applications ayant besoin de ces renseignements peuvent utiliser nl_langinfo(3) pour recuperer les elements non normalises comme _NL_NAME_NAME_MR (titre pour les hommes) ou _NL_NAME_NAME_MS (titre pour les femmes) qui renvoient des chaines comme << monsieur >> ou << madame >> (pour des parametres regionaux relatifs au francais). (D'autres noms d'elements sont dans .) LC_NUMERIC Cette categorie definit les regles de mise en forme utilisees pour les valeurs numeriques non monetaires -- par exemple, le separateur de milliers ou le separateur decimal (un point dans la plupart des pays anglophones, mais une virgule dans beaucoup d'autres regions). Elle modifie les fonctions telles que printf(3), scanf(3) et strtod(3). Cette information peut aussi etre lue avec la fonction localeconv(3). LC_PAPER (extension GNU, depuis la glibc 2.2) Modification des reglages relatifs aux dimensions de la taille normalisee de papier (c'est-a-dire A4 ou US Letter). Les applications ayant besoin des dimensions peuvent les obtenir en utilisant nl_langinfo(3) pour recuperer les elements _NL_PAPER_WIDTH et _NL_PAPER_HEIGHT non normalises qui renvoient des valeurs int indiquant les dimensions en millimetre. LC_TELEPHONE (extension GNU, depuis la glibc 2.2) Modification des reglages decrivant les formats a utiliser pour les services telephoniques. Les applications ayant besoin de ces renseignements peuvent utiliser nl_langinfo(3) pour recuperer les elements non normalises comme _NL_TELEPHONE_INT_PREFIX (prefixe international utilise pour appeler les numeros selon les parametres regionaux) qui renvoie une chaine comme << 33 >> (pour la France). (D'autres noms d'elements sont dans .) LC_TIME Cette categorie definit les regles de mise en forme utilisees pour les valeurs d'heure et de date. Par exemple, la plupart des pays europeens utilisent une horloge de 24 h, alors que les Etats-Unis utilisent une horloge de 12 h. Les parametres de cette categorie modifient les fonctions telles que strftime(3) et strptime(3). LC_ALL Toutes les categories ci-dessus. Si le second argument de la fonction setlocale(3) est une chaine de caracteres vide, "", les parametres regionaux par defaut sont determines selon les etapes suivantes : (1) Si la variable d'environnement LC_ALL n'est pas NULL, sa valeur est utilisee. (2) Si une variable d'environnement ayant le meme nom que les categories mentionnees ci-dessus n'est pas NULL, sa valeur est utilisee pour la categorie en question. (3) Si la variable d'environnement LANG n'est pas NULL, sa valeur est utilisee. Les valeurs concernant la mise en forme numerique sont disponibles dans une structure lconv renvoyee par la fonction localeconv(3), declaree de la maniere suivante : struct lconv { /* Informations numeriques (non monetaires) */ char *decimal_point; /* Separateur decimal */ char *thousands_sep; /* Separateur des milliers */ char *grouping; /* Chaque element represente le nombre de chiffres dans un groupe ; les elements avec les indices les plus hauts sont places a gauche. Un element ayant la valeur CHAR_MAX signifie qu'aucun regroupement ne peut plus etre fait. Un element avec la valeur 0 signifie que l'element precedent est utilise pour tous les groupes restant a gauche. */ /* Les champs restants sont pour les informations monetaires */ char *int_curr_symbol; /* Les trois premiers caracteres sont un symbole monetaire ISO 4217. Le quatrieme est le separateur, le cinquieme vaut << \0 >>. char *currency_symbol; /* Symbole monetaire regional */ char *mon_decimal_point; /* Separateur decimal */ char *mon_thousands_sep; /* Identique a thousands_sep ci-dessus */ char *mon_grouping; /* Identique a grouping ci-dessus */ char *positive_sign; /* Signe des valeurs positives */ char *negative_sign; /* Signe des valeurs negatives */ char int_frac_digits; /* Chiffres fractionnaires internationaux. */ char frac_digits; /* Chiffres fractionnaires regionaux */ char p_cs_precedes; /* 1 si currency_symbol precede une valeur positive, 0 s'il la suit */ char p_sep_by_space; /* 1 si une espace separe currency_symbol d'une valeur positive */ char n_cs_precedes; /* 1 si currency_symbol precede une valeur negative, 0 s'il la suit */ char n_sep_by_space; /* 1 si une espace separe currency_symbol d'une valeur negative */ /* Positions des signes positifs et negatifs : 0 Parentheses entourant la quantite et currency_symbol. 1 Le signe precede la quantite et currency_symbol. 2 Le signe suit la quantite et currency_symbol. 3 Le signe precede immediatement currency_symbol. 4 Le signe suit immediatement currency_symbol. */ char p_sign_posn; char n_sign_posn; }; Extensions POSIX.1-2008 a l'interface de programmation de parametres regionaux. POSIX.1-2008 a normalise de nombreuses extensions a l'interface de programmation de parametres regionaux, a partir des implementations qui sont d'abord apparues dans la glibc 2.3. Ces extensions sont concues pour apporter une solution au probleme des interfaces de programmation traditionnelles de parametres regionaux qui s'integrent mal aux applications en contexte multithread et aux applications devant gerer plusieurs parametres regionaux differents. Les extensions prennent la forme de nouvelles fonctions pour creer et manipuler les objets de parametres regionaux (newlocale(3), freelocale(3), duplocale(3), uselocale(3)) et plusieurs nouvelles bibliotheques avec le suffixe << _l >> (par exemple toupper_l(3)) qui completent les interfaces de programmation traditionnelles dependant des parametres regionaux (par exemple toupper(3)) pour permettre d'indiquer un objet de parametres regionaux qui devrait etre pris en compte lors de l'execution de la fonction. ENVIRONNEMENT La variable d'environnement suivante est utilisee par newlocale(3) et setlocale(3) et modifie donc tous les programmes regionalises sans permission particuliere : LOCPATH Une liste de chemins, separes par des deux-points (<< : >>), qui doivent etre parcourus pour chercher des donnees de parametres regionaux. Si cette variable est positionnee, seuls les fichiers particuliers de donnees de parametres regionaux se trouvant dans LOCPATH et le chemin de parametres regionaux par defaut du systeme sont utilises ; les archives de parametres regionaux existantes sont ignorees (consulter localedef(1)). Les fichiers particuliers compiles de donnees de parametres regionaux sont cherches dans des sous-repertoires qui dependent des parametres regionaux en cours. Par exemple, si en_GB.UTF-8 est utilise pour une categorie, les repertoires suivants seront parcourus dans cette ordre : en_GB.UTF-8, en_GB.utf8, en_GB, en.UTF-8, en.utf8 et en. FICHIERS /usr/lib/locale/locale-archive Chemin habituel par defaut de l'archive des parametres regionaux. /usr/lib/locale Chemin par defaut habituel des fichiers compiles particuliers de parametres regionaux. STANDARDS POSIX.1-2001. VOIR AUSSI 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) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Paul Guillonneau Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 locale(7)