NOM

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

BIBLIOTHÈQUE

Bibliothèque C standard ( libc, -lc)

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() :
    Since glibc 2.24:
        _POSIX_C_SOURCE >= 200809L
    glibc 2.23 and earlier:
        _POSIX_C_SOURCE >= 200112L

DESCRIPTION

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/jjaaaa, 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.

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
 

STANDARDS

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(void) { 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

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 <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]>, David Prévot <[email protected]> et Lucien Gentis <[email protected]>
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 à [email protected]