2015-09-13 2 views
7

Я пытаюсь установить ту же глобальную локаль Laravel, которая:Laravel 5 Carbon глобальный Locale

config('app.locale') 

работать с Carbon.

Похоже, что вы можете сделать это, используя либо:

Carbon::setLocale('fr') 

или

setlocale(LC_TIME, 'theLocale'); 

Так что я попытался с помощью промежуточного ПО или поставщиков, но не был успешным.

(почему это не функция по умолчанию Laravel?)

+0

В чем проблема или была проблема? Вы получили какую-либо ошибку или это просто не работает? Что вы сделали для отладки? дамп getLocale, config и т. д. вывод? – Gummibeer

ответ

6

Так что это мой плохой, углеродистая на самом деле с помощью PHP

setlocale(); 

метод

Carbon::setLocale('fr') 

только для

->diffForHumans() 

способ. Обратите внимание, что PHP Setlocale() ссылка на местности, хранящейся на ОС , чтобы выбрать один из установленного одноразового использования

locale -a 

на консоли

во-вторых, вы должны использовать

->formatLocalized() 

метод вместо

->format() 

Метод

и, наконец, все методы Полезные как

->toDateString() 
->toFormattedDateString() 
->toTimeString() 
->toDateTimeString() 
->toDayDateTimeString() 

не локализована

и, наконец, вы должны использовать эти разборе письма

http://php.net/manual/en/function.strftime.php

6

Я настроил его в AppServiceProvider.

class AppServiceProvider extends ServiceProvider 
{ 
    public function boot() 
    { 
     // Localization Carbon 

     \Carbon\Carbon::setLocale(config('app.locale')); 
    } 
} 
Смежные вопросы