nl_langinfo_l(3)

nl_langinfo_l3

Language information

Part of nl_langinfo(3).

Usage

#include <langinfo.h>

char *

nl_langinfo(nl_item item);

char *

nl_langinfo_l(nl_item item, locale_t loc);

Library

Standard C Library (libc, -lc)

Overview

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.

Releases

32 releases since FreeBSD 9.2-RELEASE; the text changed 18 times.

  1. 9.2
  2. 9.3
  3. 10.0
  4. 10.1
  5. 10.2
  6. 10.3
  7. 10.4
  8. 11.0
  9. 11.1
  10. 11.2
  11. 11.3
  12. 11.4
  13. 12.0
  14. 12.1
  15. 12.2
  16. 12.3
  17. 12.4
  18. 13.0–13.2
  19. 13.3–16.0

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.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.