私はlaravelの同じグローバルロケールを設定しようとしています:
config('app.locale')
carbonで作業します。
あなたはどちらかを使用してそれを行うことができるようです:
Carbon::setLocale('fr')
または
setlocale(LC_TIME, 'theLocale');
したがって、ミドルウェアまたはプロバイダーを使用してみましたが、成功しませんでした。
(なぜこれがlaravelのデフォルト機能ではないのですか?)
これは私の悪いことです、Carbonは実際にphpを使用しています
setlocale();
の
Carbon::setLocale('fr')
メソッドは、
->diffForHumans()
方法。 php setlocale()がOSに保存されているロケールを参照し、インストールされている1つの用途の1つを選択することに注意してください。
locale -a
コンソールで
第二に、あなたは使用する必要があります
->formatLocalized()
代わりにメソッド
->format()
方法
そして最後に、すべての便利なメソッド
->toDateString()
->toFormattedDateString()
->toTimeString()
->toDateTimeString()
->toDayDateTimeString()
ローカライズされていません
最後に、これらの解析文字を使用する必要があります
AppServiceProviderで構成しました。
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
// Localization Carbon
\Carbon\Carbon::setLocale(config('app.locale'));
}
}
appServiceProvider
public function register()
{
// For example im gonna locale all dates to Indonesian (ID)
config(['app.locale' => 'id']);
\Carbon\Carbon::setLocale('id');
}
次に、ロケール出力に次のようなことをさせる
// Without locale, the output gonna be like this
Carbon\Carbon::parse('2019-03-01')->format('d F Y'); //Output: "01 March 2019"
// With locale
Carbon\Carbon::parse('2019-03-01')->translatedFormat('d F Y'); //Output: "01 Maret 2019"
ローカライズ日付の変換の詳細については、以下のリンク https://carbon.nesbot.com/docs/#api-localization を参照してください。