nl_langinfo

(PHP 4 >= 4.1.0, PHP 5)

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

Описание

string nl_langinfo ( int item )

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

Если аргумент item имеет недопустимое значение, возвращает FALSE.

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

Таблица 1. Константы 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 если число и обозначение валюты заключаются в скобки

  • Возвращает 1 если знак записывается перед числом и обозначением валюты

  • Возвращает 2 если знак записывается после числа и обозначения валюты

  • Возвращает 3 если знак записывается перед обозначением валюты

  • Возвращает 4 если знак записывается после обозначения валюты

N_SIGN_POSN
Константы в категории LC_NUMERIC
DECIMAL_POINTСимвол десятичной точки.
RADIXCHARАналогично DECIMAL_POINT.
THOUSANDS_SEPРазделитель тысяч (групп из 3 цифр).
THOUSEPАналогично THOUSANDS_SEP.
GROUPING 
Константы в категории LC_MESSAGES
YESEXPRРегулярное выражение, при совпадении с которым строка рассматривается как ответ 'да'.
NOEXPRРегулярное выражение, при совпадении с которым строка рассматривается как ответ 'нет'.
YESSTRСлово 'да'.
NOSTRСлово 'нет'.
Константы в категории LC_CTYPE
CODESETВозвращает строку с именем текущей кодировки.

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

See also setlocale() and localeconv().



nl_langinfo
avatar_at_hot_ee
11-Mar-2006 07:58
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.
zerof at terra dot com dot br
22-Apr-2005 10:34
<?php

$vlr19900
= nl_langinfo (CODESET);
$vlr19901 = nl_langinfo (D_T_FMT);
$vlr19902 = nl_langinfo (D_FMT);
$vlr19903 = nl_langinfo (T_FMT);
$vlr19904 = nl_langinfo (DAY_1);
$vlr19905 = nl_langinfo (ABDAY_1);
$vlr19906 = nl_langinfo (MON_1);
$vlr19907 = nl_langinfo (ABMON_1);
$vlr19908 = nl_langinfo (RADIXCHAR);
$vlr19909 = nl_langinfo (THOUSEP);
$vlr19910 = nl_langinfo (YESEXPR);
$vlr19911 = nl_langinfo (NOEXPR);
$vlr19912 = nl_langinfo (CRNCYSTR);

echo
"encoding codeset => " . $vlr19900;
echo
"<br /><br />date/time string para strftime => " . $vlr19901;
echo
"<br /><br />date string for strftime => " . $vlr19902;
echo
"<br /><br />time string for strftime => " . $vlr19903;
echo
"<br /><br />long form day name => " . $vlr19904;
echo
"<br /><br />short form day name => " . $vlr19905;
echo
"<br /><br />long form month name => " . $vlr19906;
echo
"<br /><br />short form month name => " . $vlr19907;
echo
"<br /><br />decimals separator => " . $vlr19908;
echo
"<br /><br />thousands separator => " . $vlr19909;
echo
"<br /><br />REGEXP for 'Yes' => " . $vlr19910;
echo
"<br /><br />REGEXP for 'No' => " . $vlr19911;
echo
"<br /><br />local currency simbol => " . $vlr19912;

?>

<money_formatnl2br>
 Last updated: Tue, 15 Nov 2005