Получить название месяца на французском языке

У меня есть этот скрипт:

setLocale(LC_TIME,'fr_FR','fra');

strftime("%d %B %Y);

и вот результат: 10 august 2015,

Однако мне нужен выход на французском языке. Какие-либо предложения?

1

Решение

Ваш код должен работать. Вы можете сделать это таким образом, если setlocale не работает на вашем сервере, и вы не можете это исправить:

<?php

$mos        = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
$index      = date("n")-1;
$mo         = $mos[$index];

echo date("d ") . $mo . date(" Y");

?>

Результат:

10 октября 2015 г.

1

Другие решения

Ранее я использовал setlocale() а также strftime() тоже, но он показал себя медленным и сложным (особенно из-за побочных эффектов, вы захотите сохранить и восстановить предыдущую локаль впоследствии).

Я закончил с тупым поиском и заменой. Вы можете принять это за вдохновение:

class MyCarbon extends Carbon\Carbon
{
public function fr($format)
{
$replacements = [
'Monday'    => 'lundi',
'Tuesday'   => 'mardi',
'Wednesday' => 'mercredi',
'Thursday'  => 'jeudi',
'Friday'    => 'vendredi',
'Saturday'  => 'samedi',
'Sunday'    => 'dimanche',

'January'   => 'janvier',
'February'  => 'février',
'March'     => 'mars',
'April'     => 'avril',
'May'       => 'mai',
'June'      => 'juin',
'July'      => 'juillet',
'August'    => 'août',
'September' => 'septembre',
'October'   => 'octobre',
'November'  => 'novembre',
'December'  => 'décembre',
];

$from = array_keys($replacements);
$to = array_values($replacements);

return str_replace($from, $to, $this->format($format));
}
}
0

Для мета-тега Tittle:

$month        = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");

$monthindex      = date("n")-1;

$month         = $month[$monthindex];

$current_date = ucwords(strftime("$month %Y"));
0
По вопросам рекламы [email protected]