Laravel 学習記録 #019 多言語化を学ぶ
Laravelの多言語化について学習したものをまとめてます。
多言語化について
resources/langディレクトリ配下に言語のディレクトリ、ファイルが必要
config/app.php ファイルのlocal キーの言語で指定のディレクトリが使われる
__()を使うことで言語ファイルが読み込まれる
やってみる
Laravel初期では言語ファイルはenのみなので、jaを作成します。
resources/lang/ja配下にlang.phpを作成
<?php
return [
'message' => '日本語メッセージ',
];
連想配列でメッセージを用意します。
キーを指定することで、メッセージが表示されます。
続いて、config/app.phpを編集します。
'locale' => 'ja',
これで作成したresources/lang/ja配下を読み込む準備ができました。
それでは確認してみます。
__('ファイル.キー')として呼び出します。
__('lang.message')
これで、「日本語メッセージ」と表示されているので、無事に読み込めました。
ここで、config/app.phpの言語設定をenに戻してみます。
locale' => 'en',
するとメッセージではなく、「lang.message」が表示されました。
これは、resources/lang/en配下にlang.messageが存在しないためです。
__()で呼び出した場合
言語設定のファイルを読み込み
該当がなければそのままの文字を返す
という風になっているようです。
resources/lang/enに同じようにlangファイルを作成し、messageを定義することで、同じように表示されるようになります。
多言語化が必要な際は検討してきたい。
この記事が気に入ったらサポートをしてみませんか?