Дата PHP - введите имя месяца на местном языке

У меня есть эта часть функции, которая дает мне название месяца на английском языке. Как я могу перевести их на мой родной язык (сербский)?

$month_name = date('F', mktime(0, 0, 0, $i));

Ответ 1

Вы должны использовать setlocale():

setlocale(LC_TIME, 'fr_FR');
$month_name = date('F', mktime(0, 0, 0, $i));

В этом случае он установит это на французский язык. Для вашего случая это должно быть одно из следующего:

  1. sr_BA - Сербский (Черногория)
  2. sr_CS - Сербский (Сербия)
  3. sr_ME - Сербский (Сербия и Черногория)

Ответ 2

Вы должны использовать setlocale() и strftime():

setlocale(LC_TIME, 'sr_CS');
$month_name = strftime('%B', mktime(0, 0, 0, $i));

Ответ 3

Вот пример с IntlDateFormatter

$format = new IntlDateFormatter('sr_CS', IntlDateFormatter::NONE, 
              IntlDateFormatter::NONE, NULL, NULL, "MMM");
$monthName = datefmt_format($format, mktime(0, 0, 0, $i));

Ответ 4

Рекомендуется использовать кодировку при настройке языка:

 <?php    
 date_default_timezone_set('Europe/Belgrade');
 setlocale(LC_TIME, array('sr_CS.UTF-8', 'sr.UTF-8'));