PHP 8.3.4 Released!

nl_langinfo

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

nl_langinfoВозвращает информацию о языке и локали

Описание

nl_langinfo(int $item): string|false

nl_langinfo() используется для доступа к отдельным элементам различных категорий текущей локали. В отличие от localeconv(), возвращающей все элементы, nl_langinfo() позволяет выбрать отдельный элемент.

Список параметров

item

item может быть целым числом или соответствующей константой. Ниже приведены возможные константы для item и их описания. Для некоторых локалей отдельные константы могут быть не определены.

Константы nl_langinfo
Константа Описание
Константы в категории LC_TIME
ABDAY_(1-7) Сокращённое название n-го дня недели.
DAY_(1-7) Полное название n-го дня недели (DAY_1 соответствует воскресенью).
ABMON_(1-12) Сокращённое название n-го месяца.
MON_(1-12) Полное название n-го месяца.
AM_STR Обозначение "до полудня".
PM_STR Обозначение "после полудня".
D_T_FMT Строка, которую можно использовать в качестве формата с функцией strftime() для вывода даты и времени.
D_FMT Строка, которую можно использовать в качестве формата с функцией strftime() для вывода даты.
T_FMT Строка, которую можно использовать в качестве формата с функцией strftime() для вывода времени.
T_FMT_AMPM Строка, которую можно использовать в качестве формата с функцией strftime() для вывода времени в 12-часовом формате.
ERA Эра
ERA_YEAR Год в формате с эрой
ERA_D_T_FMT Дата и время в формате с эрой (строка, которую можно использовать в качестве формата с функцией strftime()).
ERA_D_FMT Дата в формате с эрой (строка, которую можно использовать в качестве формата с функцией strftime()).
ERA_T_FMT Время в формате с эрой (строка, которую можно использовать в качестве формата с функцией strftime()).
Константы в категории LC_MONETARY
INT_CURR_SYMBOL Международное обозначение валюты.
CURRENCY_SYMBOL Национальное обозначение валюты.
CRNCYSTR Аналог CURRENCY_SYMBOL.
MON_DECIMAL_POINT Символ десятичной точки.
MON_THOUSANDS_SEP Разделитель тысяч (групп из 3 цифр).
MON_GROUPING Аналогичен элементу "grouping".
POSITIVE_SIGN Знак для положительных чисел.
NEGATIVE_SIGN Знак для отрицательных чисел.
INT_FRAC_DIGITS Количество знаков после запятой (международный формат).
FRAC_DIGITS Количество знаков после запятой (национальный формат).
P_CS_PRECEDES Возвращает 1, если CURRENCY_SYMBOL записывается перед положительным значением.
P_SEP_BY_SPACE Возвращает 1, если CURRENCY_SYMBOL отделяется от положительного значения пробелом.
N_CS_PRECEDES Возвращает 1, если CURRENCY_SYMBOL записывается перед отрицательным значением.
N_SEP_BY_SPACE Возвращает 1, если CURRENCY_SYMBOL отделяется от отрицательного значения пробелом.
P_SIGN_POSN
  • Возвращает 0, если число и обозначение валюты CURRENCY_SYMBOL заключаются в скобки
  • Возвращает 1, если знак записывается перед числом и обозначением валюты CURRENCY_SYMBOL
  • Возвращает 2, если знак записывается после числа и обозначения валюты CURRENCY_SYMBOL
  • Возвращает 3, если знак записывается перед обозначением валюты CURRENCY_SYMBOL
  • Возвращает 4, если знак записывается после обозначения валюты CURRENCY_SYMBOL
N_SIGN_POSN
Константы в категории LC_NUMERIC
DECIMAL_POINT Символ десятичной точки.
RADIXCHAR Аналогично DECIMAL_POINT.
THOUSANDS_SEP Разделитель тысяч (групп из 3 цифр).
THOUSEP Аналогично THOUSANDS_SEP.
GROUPING  
Константы в категории LC_MESSAGES
YESEXPR Регулярное выражение, при совпадении с которым строка рассматривается как положительный ответ ("yes").
NOEXPR Регулярное выражение, при совпадении с которым строка рассматривается как отрицательный ответ ("no").
YESSTR Слово "да" ("yes").
NOSTR Слово "нет" ("no").
Константы в категории LC_CTYPE
CODESET Возвращает строку с именем текущей кодировки.

Возвращаемые значения

Возвращает элемент в виде строки, или false, если item передан неправильно.

Примеры

Пример #1 Пример использования nl_langinfo()

<?php

var_dump
(nl_langinfo(CODESET));
var_dump(nl_langinfo(YESEXPR));
?>

Вывод приведённого примера будет похож на:

string(14) "ANSI_X3.4-1968"
string(5) "^[yY]"

Примечания

Замечание: Для Windows-платформ эта функция не реализована.

Смотрите также

  • setlocale() - Устанавливает региональные настройки
  • localeconv() - Возвращает информацию о форматировании чисел

add a note

User Contributed Notes 2 notes

up
4
avatar_at_hot_ee
18 years ago
The value MON_(1-12) has special behavior in Russian locale: it returns declinated month names, that can be used as part of a date string, but not on their own.

For instance instead of "Январь" (the proper nominative form) it returns "Января" (form declinated for use in dates).

There seems to be no way to get the nominative form of the month name - one has to use translations instead.
up
-1
mark at moderndeveloper dot com
10 years ago
If you are looking for the stand-alone (nominative form) of a month, you may not be able to use nl_langinfo(), but with PHP 5.5 you can use something like:

<?php
echo IntlDateFormatter::formatObject(
new
DateTime('2013-01-01 00:00:00 Europe/Moscow'),
'LLLL',
'ru_RU');
?>

Note that the format uses the ICU patterns, not the PHP date() patterns.
To Top