nl_langinfo(3)

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() :
    Depuis la glibc 2.24 :
        _POSIX_C_SOURCE >= 200809L
    glibc 2.23 et antérieures :
        _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> :

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.

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 <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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.