ハマログ

株式会社イーツー・インフォの社員ブログ

Laravel5でCarbon locale=>jaに設定

事の始まりは上長より
「setlocale(LC_ALL, ‘ja_JP.UTF-8’);がいろんな箇所にあるね、消しても動くはず!!」
からはじまりました。

「setlocale(LC_ALL, ‘ja_JP.UTF-8’)」を全て削除していざ動かしてみると、carbonの曜日指定が英語表記になってしまいました。

あれ、おかしい( *´艸`)日本設定にならない。
これを機会にlocale設定を勉強しました。

laravel ロケールの設定

多言語設定はconfig/app.php設定ファイルで指定できます。

/*
|--------------------------------------------------------------------------
| アプリケーションローカル設定
|--------------------------------------------------------------------------
|
| アプリケーションローカルは翻訳サービスプロバイダにより使用される
| デフォルトローカルを指定します。アプリケーションで提供するローカルを
| 自由に設定してください。
|
*/
'locale' => 'ja',

既に設定済です。

centos7のロケール確認

サーバー設定が怪しいと思い、確認してみました。

$ localectl
System Locale: LANG=ja_JP.utf8
VC Keymap: jp106
X11 Layout: jp

LANG=ja ですね。

php.iniのロケール確認

な、な、なんとー( ;∀;)

php.ini の ‘intl.default_locale’がここが未設定だったので英語表記になってしまっていました。

デフォルトのロケールの値を取得します。PHP の国際化においては、 この値は php.ini の ‘intl.default_locale’ の値となります。 この値が存在しない場合は ICU の関数 uloc_getDefault() で取得します。

ここを設定することで「setlocale(LC_ALL, ‘ja_JP.UTF-8’)」が無くても日本語表記できました。

ちなみにAppServiceProvider.phpに設定を記述することで共通化できます。


/**
* アプリケーションサービスの登録
*
* @return void
*/
public function register()
{
//setlocale(LC_ALL, 'ja_JP.UTF-8');
//Carbon::setLocale(config('app.locale'))
}

またひとつお勉強になりました。

carbonjaLaravel5ロケール日本化

  S.I   2018年1月23日


関連記事

AWS大規模障害とインフラ設計について

2019年8月23日(金)AWSの大規模障害が発生し、大手サイトやクラウドサービ…

Laravelのカスタムバリデーションで日付の妥当性チェック

はじめに Laravelの日付入力で入力画面が年/月/日に分割されているときに、…

Laravel5.6のUUID Methodsについて

はじめに Laravel5.6で、UUIDを生成するメソッドが実装されました (…


← 前の投稿

次の投稿 →