2015-08-10 4 views
1

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

и это результат: 10 august 2015.

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

+0

Какую операционную платформу? (коды локали отличаются от Windows до * nix) Вызывает ли вызов setLocale() логическое значение false? –

+1

Это работает? Я просто попробовал это на своем сервере, и в результате получим «10 août 2015». Если это не так, язык не может быть установлен или поддерживается для вашего сервера. – Qirel

ответ

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 août 2015

0

Ранее я использовал 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

Для Meta Tag 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")); 
Смежные вопросы