Reference

nl_langinfo(3)

language information

NAME

nl_langinfo – language information

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <langinfo.h>

char *

nl_langinfo(nl_item item);

char *

nl_langinfo_l(nl_item item, locale_t loc);

DESCRIPTION

The nl_langinfo() function returns a pointer to a string containing information relevant to the particular language or cultural area defined in the program or thread's locale, or in the case of nl_langinfo_l(), the locale passed as the second argument.

Calls to setlocale() with a category corresponding to the category of item, or to the category LC_ALL, may overwrite the buffer pointed to by the return value.

The manifest constant names and values of item are defined in ⟨langinfo.h⟩.

The following standard constants are recognized:

ConstantCategoryDescription
CODESETLC_CTYPEcodeset name
D_T_FMTLC_TIMEstring for formatting date and time
D_FMTLC_TIMEdate format string
T_FMTLC_TIMEtime format string
T_FMT_AMPMLC_TIMEa.m. or p.m. time format string
AM_STRLC_TIMEante-meridiem affix
PM_STRLC_TIMEpost-meridiem affix
DAY_1LC_TIMEname of the first day of the week
DAY_2LC_TIMEname of the second day of the week
DAY_3LC_TIMEname of the third day of the week
DAY_4LC_TIMEname of the fourth day of the week
DAY_5LC_TIMEname of the fifth day of the week
DAY_6LC_TIMEname of the sixth day of the week
DAY_7LC_TIMEname of the seventh day of the week
ABDAY_1LC_TIMEabbreviated name of the first day of the week
ABDAY_2LC_TIMEabbreviated name of the second day of the week
ABDAY_3LC_TIMEabbreviated name of the third day of the week
ABDAY_4LC_TIMEabbreviated name of the fourth day of the week
ABDAY_5LC_TIMEabbreviated name of the fifth day of the week
ABDAY_6LC_TIMEabbreviated name of the sixth day of the week
ABDAY_7LC_TIMEabbreviated name of the seventh day of the week
MON_1LC_TIMEname of the first month of the year
MON_2LC_TIMEname of the second month
MON_3LC_TIMEname of the third month
MON_4LC_TIMEname of the fourth month
MON_5LC_TIMEname of the fifth month
MON_6LC_TIMEname of the sixth month
MON_7LC_TIMEname of the seventh month
MON_8LC_TIMEname of the eighth month
MON_9LC_TIMEname of the ninth month
MON_10LC_TIMEname of the tenth month
MON_11LC_TIMEname of the eleventh month
MON_12LC_TIMEname of the twelfth month
ABMON_1LC_TIMEabbreviated name of the first month
ABMON_2LC_TIMEabbreviated name of the second month
ABMON_3LC_TIMEabbreviated name of the third month
ABMON_4LC_TIMEabbreviated name of the fourth month
ABMON_5LC_TIMEabbreviated name of the fifth month
ABMON_6LC_TIMEabbreviated name of the sixth month
ABMON_7LC_TIMEabbreviated name of the seventh month
ABMON_8LC_TIMEabbreviated name of the eighth month
ABMON_9LC_TIMEabbreviated name of the ninth month
ABMON_10LC_TIMEabbreviated name of the tenth month
ABMON_11LC_TIMEabbreviated name of the eleventh month
ABMON_12LC_TIMEabbreviated name of the twelfth month
ERALC_TIMEera description segments
ERA_D_FMTLC_TIMEera date format string
ERA_D_T_FMTLC_TIMEera date and time format string
ERA_T_FMTLC_TIMEera time format string
ALT_DIGITSLC_TIMEalternative symbols for digits
RADIXCHARLC_NUMERICradix character
THOUSEPLC_NUMERICseparator for thousands
YESEXPRLC_MESSAGESaffirmative response extended regular
NOEXPRLC_MESSAGESnegative response extended regular expression
CRNCYSTRLC_MONETARYlocal currency symbol, preceded by '-' if the

The following non-standard FreeBSD extensions are recognized:

ConstantCategoryDescription
D_MD_ORDERLC_TIMEmonth/day order
ALTMON_1LC_TIMEstandalone name of the first month
ALTMON_2LC_TIMEstandalone name of the second month
ALTMON_3LC_TIMEstandalone name of the third month
ALTMON_4LC_TIMEstandalone name of the fourth month
ALTMON_5LC_TIMEstandalone name of the fifth month
ALTMON_6LC_TIMEstandalone name of the sixth month
ALTMON_7LC_TIMEstandalone name of the seventh month
ALTMON_8LC_TIMEstandalone name of the eighth month
ALTMON_9LC_TIMEstandalone name of the ninth month
ALTMON_10LC_TIMEstandalone name of the tenth month
ALTMON_11LC_TIMEstandalone name of the eleventh month
ALTMON_12LC_TIMEstandalone name of the twelfth month
YESSTRLC_MESSAGESaffirmative response string
NOSTRLC_MESSAGESnegative response string

RETURN VALUES

In a locale where langinfo data is not defined, nl_langinfo() returns a pointer to the corresponding string in the POSIX locale. nl_langinfo_l() returns the same values as nl_langinfo(). In all locales, nl_langinfo() returns a pointer to an empty string if item contains an invalid setting.

EXAMPLES

For example:

nl_langinfo(ABDAY_1)

would return a pointer to the string "Dom" if the identified language was Portuguese, and "Sun" if the identified language was English.

SEE ALSO

setlocale(3)

STANDARDS

The nl_langinfo() function conforms to Version 2 of the Single UNIX Specification (“SUSv2”). The nl_langinfo_l() function conforms to IEEE Std 1003.1-2008 (“POSIX.1”).

HISTORY

The nl_langinfo() function first appeared in FreeBSD 4.6.

History