Scroll to navigation

NL_LANGINFO(3) Manuel du programmeur Linux NL_LANGINFO(3)

NOM

nl_langinfo, nl_langinfo_l - Demande d'informations sur la langue et les paramètres régionaux

SYNOPSIS

#include <langinfo.h>
char *nl_langinfo(nl_item item);
char *nl_langinfo_l(nl_item item, locale_t locale);

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

nl_langinfo_l() :

Depuis la version 2.24 de la glibc :
_POSIX_C_SOURCE >= 200809L
Versions 2.23 et antérieures de la glibc :
_POSIX_C_SOURCE >= 200112L

DESCRIPTION

Les fonctions nl_langinfo() et nl_langinfo_l() permettent d'accéder aux paramètres régionaux avec plus de souplesse que localeconv(3). nl_langinfo() renvoie une chaîne de caractères correspondant à la valeur de item pour les paramètres régionaux globaux courants du programme. nl_langinfo_l() renvoie une chaîne de caractères correspondant à la valeur de item pour les paramètres régionaux spécifiés par l'objet locale, lui-même créé au préalable à l'aide de newlocale(3). Des éléments individuels et additionnels des catégories des paramètres régionaux peuvent être demandés. setlocale(3) doit être exécutée au préalable avec des arguments appropriés.

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> :

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).
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).
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).
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).
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).
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).
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 en notation a.m. ou p.m. de façon spécifique aux paramètres régionaux (spécification de conversion %r).
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 :
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é.
L'année epoch de date-début.
Une date au format aaaa/mm/jjaaaa, mm et jj correspondent respectivement à l'année, au mois et au jour du début de l'ère considérée.
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).
Le nom de l'ère considérée correspondant à la spécification de conversion %EC de strftime(3).
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.
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).
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.
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.
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.] (utilisé dans la spécification de conversion %A de strftime(3)).
Renvoyer le nom abrégé du n-ième jour de la semaine (utilisé dans la spécification de conversion %a de strftime(3)).
Renvoyer le nom du n-ième mois (utilisé dans la spécification de conversion %B de strftime(3))
Renvoyer le nom abrégé du n-ième mois (utilisé dans la spécification de conversion %b de strftime(3)).
Renvoyer le séparateur décimal (point, virgule, etc.).
Renvoyer le caractère séparateur pour les milliers (groupe de trois chiffres).
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.
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.
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.

VALEUR RENVOYÉE

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.

ATTRIBUTS

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

CONFORMITÉ

POSIX.1-2001, POSIX.1-2008, SUSv2.

NOTES

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.

EXEMPLES

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(int argc, char *argv[])
{

setlocale(LC_CTYPE, "");
setlocale(LC_NUMERIC, "");
printf("%s\n", nl_langinfo(CODESET));
printf("%s\n", nl_langinfo(RADIXCHAR));
exit(EXIT_SUCCESS); }

VOIR AUSSI

locale(1), localeconv(3), setlocale(3), charsets(7), locale(7)

Le manuel de référence de la bibliothèque C GNU

COLOPHON

Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

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.

11 avril 2020 GNU