Laravel 5 Carbon global Locale
Я пытаюсь установить тот же глобальный язык laravel, который:
config('app.locale')
для работы с углеродом.
похоже, вы можете сделать это, используя либо:
Carbon::setLocale('fr')
или
setlocale(LC_TIME, 'theLocale');
поэтому я попытался использовать промежуточное ПО или поставщиков, но не был успешным.
(почему это не является функцией по умолчанию laravel?)
2 ответов
Я настроил его в AppServiceProvider.
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
// Localization Carbon
\Carbon\Carbon::setLocale(config('app.locale'));
}
}
так что это мой плохой, углерод на самом деле использует php
setlocale();
на
Carbon::setLocale('fr')
метод предназначен только для
->diffForHumans()
метод. Обратите внимание, что ссылка php setlocale() на локаль, хранящуюся в вашей ОС чтобы выбрать один из установленных, используйте
locale -a
консоль
во-вторых, вы должны использовать
->formatLocalized()
вместо
->format()
метод
и, наконец, все полезные методы, такие как
->toDateString()
->toFormattedDateString()
->toTimeString()
->toDateTimeString()
->toDayDateTimeString()
не локализуются
и, наконец, вы должны использовать эти буквы разбора