nl_langinfo, nl_langinfo_l - Demande d'informations sur la langue
et les paramètres régionaux
Bibliothèque C standard (libc, -lc)
#include <langinfo.h>
char *nl_langinfo(nl_item item);
char *nl_langinfo_l(nl_item item, locale_t locale);
nl_langinfo_l() :
Since glibc 2.24:
_POSIX_C_SOURCE >= 200809L
glibc 2.23 and earlier:
_POSIX_C_SOURCE >= 200112L
The nl_langinfo() and nl_langinfo_l() functions
provide access to locale information in a more flexible way than
localeconv(3). nl_langinfo() returns a string which is the
value corresponding to item in the program's current global locale.
nl_langinfo_l() returns a string which is the value corresponding to
item for the locale identified by the locale object locale,
which was previously created by newlocale(3). Individual and
additional elements of the locale categories can be queried.
setlocale(3) needs to be executed with proper arguments before.
Voici des exemples d'éléments de paramètres
régionaux qui peuvent être spécifiés à
l'aide de item en utilisant les constantes définies dans
<langinfo.h> :
- CODESET (LC_CTYPE)
- Renvoyer une chaîne contenant le nom du codage de caractères
utilisé dans les paramètres régionaux
sélectionnés, par exemple
« UTF-8 »,
« ISO-8859-1 » ou
« ANSI_X3.4-1968 » (mieux connu sous le nom
US-ASCII). Il s'agit de la même chaîne que celle obtenue
avec « locale charmap ». Pour une liste des
noms de codage de caractères, essayez « locale
-m », cf. locale(1).
- D_T_FMT (LC_TIME)
- Renvoyer une chaîne qui peut être utilisée en tant
que chaîne de format pour strftime(3) afin de
représenter l'heure et la date de façon spécifique
aux paramètres régionaux (spécification de conversion
%c).
- D_FMT (LC_TIME)
- Renvoyer une chaîne qui peut être utilisée en tant
que chaîne de format pour strftime(3) afin de
représenter la date de façon spécifique aux
paramètres régionaux (spécification de conversion
%x).
- T_FMT (LC_TIME)
- Renvoyer une chaîne qui peut être utilisée en tant
que chaîne de format pour strftime(3) afin de
représenter l'heure de façon spécifique à la
localisation (spécification de conversion %X).
- AM_STR (LC_TIME)
- Renvoyer une chaîne qui représente un affixe pour les heures
"ante meridiem" (avant midi, "AM") - Utilisé
dans la spécification de conversion %p de
strftime(3).
- PM_STR (LC_TIME)
- Renvoyer une chaîne qui représente un affixe pour les heures
"post meridiem" (après midi, "PM")
- utilisé dans la spécification de conversion
%p de strftime(3).
- T_FMT_AMPM (LC_TIME)
- Renvoyer une chaîne qui peut être utilisée en tant
que chaîne de format pour strftime(3) afin de
représenter une heure selon la notation a.m. ou p.m. de
façon spécifique aux paramètres régionaux
(spécification de conversion %r).
- ERA (LC_TIME)
- Renvoyer la description d'une ère qui contiendra des informations
sur la manière dont les années sont comptées et
affichées pour chaque ère de certains paramètres
régionaux. Chaque segment de description de l'ère doit
être au format :
- direction:décalage:date_début:date_fin:nom_ère:format_ère
- dont les champs sont décrits ci-dessous :
- direction
- Le caractère "+" ou "-". Le
caractère "+" signifie que les années
augmentent de date-début jusqu'à date_fin,
alors que le caractère "-" signifie
l'opposé.
- décalage
- L'année epoch de date-début.
- date_début
- Une date au format aaaa/mm/jj où aaaa,
mm et jj correspondent respectivement à
l'année, au mois et au jour du début de l'ère
considérée.
- date_fin
- La date de fin de l'ère considérée au même
format que date_début, ou une des deux valeurs
spéciales "-*" (moins l'infini) ou
"+*" (plus l'infini).
- nom_ère
- Le nom de l'ère considérée correspondant à la
spécification de conversion %EC de strftime(3).
- format_ère
- Le format de l'année de l'ère considérée
correspondant à la spécification de conversion %EY de
strftime(3).
- Les segments de description d'ères sont séparés par
des points-virgules. Les paramètres régionaux japonais et
thaï définissent cette valeur, mais la plupart des autres
paramètres régionaux ne le font pas.
- ERA_D_T_FMT (LC_TIME)
- Renvoyer une chaîne qui peut être utilisée en tant
que chaîne de format pour strftime(3) afin de
représenter l'heure de façon spécifique à la
localisation (spécification de conversion %Ec).
- ERA_D_FMT (LC_TIME)
- Renvoyer une chaîne qui peut être utilisée en tant
que chaîne de format pour strftime(3) afin de
représenter l'heure de façon spécifique à la
localisation.
- ERA_T_FMT (LC_TIME)
- Renvoyer une chaîne qui peut être utilisée en tant
que chaîne de format pour strftime(3) afin de
représenter l'heure de façon spécifique à la
localisation.
- DAY_{1–7}
(LC_TIME)
- Renvoyer le nom du n-ième jour de la semaine.
[Attention : cela suit la convention américaine stipulant
que DAY_1 = dimanche, et pas la convention internationale
(ISO 8601) spécifiant que lundi est le premier jour de la
semaine]
- ABDAY_{1–7}
(LC_TIME)
- Renvoyer le nom abrégé du n-ième jour de la
semaine (utilisé dans la spécification de conversion
%a de strftime(3)).
- MON_{1–12}
(LC_TIME)
- Renvoyer le nom du n-ième mois (utilisé dans la
spécification de conversion %B de strftime(3))
- ABMON_{1–12}
(LC_TIME)
- Renvoyer le nom abrégé du n-ième mois
(utilisé dans la spécification de conversion %b de
strftime(3)).
- RADIXCHAR (LC_NUMERIC)
- Renvoyer le séparateur décimal (point,
virgule, etc.).
- THOUSEP (LC_NUMERIC)
- Renvoyer le caractère séparateur pour les milliers (groupe
de trois chiffres).
- YESEXPR (LC_MESSAGES)
- Renvoyer une expression rationnelle qui peut être utilisée
avec la fonction regex(3) afin de reconnaître une
réponse affirmative à une question de type oui/non.
- NOEXPR (LC_MESSAGES)
- Renvoyer une expression rationnelle qui peut être utilisée
avec la fonction regex(3) afin de reconnaître une
réponse négative à une question de type oui/non.
- CRNCYSTR (LC_MONETARY)
- Renvoyer le symbole monétaire précédé par
« - » si le symbole doit apparaître
avant la valeur, « + » si le symbole doit
apparaître après la valeur, ou bien
« . » si le symbole doit remplacer le
séparateur décimal.
La liste ci-dessus ne couvre que quelques exemples des
éléments qui peuvent être obtenus. Pour une liste plus
détaillée, consultez The GNU C Library Reference
Manual.
En cas de succès, ces fonctions renvoient un pointeur vers
une chaîne correspondant à la valeur de item pour les
paramètres régionaux spécifiés.
Si aucune localisation n'a été
sélectionnée par setlocale(3) pour la catégorie
appropriée, nl_langinfo() renvoie un pointeur vers la
chaîne correspondante dans la localisation
« C ». C'est aussi vrai pour
nl_langinfo_l() si locale spécifie des
paramètres régionaux pour lesquels langinfo n'est pas
définie.
Si item n'est pas valable, un pointeur vers une
chaîne vide est renvoyé.
Le pointeur renvoyé par ces fonctions peut
référencer des données statiques qui peuvent
être écrasées ; il peut aussi être rendu
non valable par un appel subséquent à nl_langinfo(),
nl_langinfo_l() ou setlocale(3). Les mêmes
constatations s'appliquent à nl_langinfo_l() si l'objet
définissant les paramètres régionaux et
référencé par locale est désalloué
ou modifié par freelocale(3) ou newlocale(3).
POSIX stipule que l'application ne doit pas modifier la
chaîne de caractères renvoyée par ces fonctions.
Pour une explication des termes utilisés dans cette
section, consulter attributes(7).
Interface |
Attribut |
Valeur |
nl_langinfo() |
Sécurité des threads |
MT-Safe locale |
POSIX.1-2001, POSIX.1-2008, SUSv2.
Le comportement de nl_langinfo_l() est non défini si
locale est l’objet définissant les paramètres
régionaux spécial LC_GLOBAL_LOCALE ou n'est pas un
objet définissant les paramètres régionaux valable.
Le programme suivant définit les paramètres
régionaux pour le type de caractères et les valeurs
numériques en fonction de l'environnement et interroge le jeu de
caractères du terminal et le séparateur décimal.
#include <langinfo.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
int
main(void)
{
setlocale(LC_CTYPE, "");
setlocale(LC_NUMERIC, "");
printf("%s\n", nl_langinfo(CODESET));
printf("%s\n", nl_langinfo(RADIXCHAR));
exit(EXIT_SUCCESS);
}
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.