【Laravel】日本語化した翻訳文字列を__()ヘルパ関数で取得

laravel-helper-lang
  • URLをコピーしました!

Laravelには__()というヘルパ関数があることをご存じだろうか。(アンダーバー2つ)
例えば、以下のように日本語メッセージファイルを作ったとして、それを取得するには、Lang::get()メソッドを使用していました。

目次

Laravelの多言語化

以前、Laravel日本語化する方法を紹介しましたので、今回は日本語化したメッセージを__()ヘルパ関数を利用して、便利に取得する方法をご紹介します。

あわせて読みたい
Laravelの日本語バリデーションのメッセージファイルを公開! 翻訳が面倒だったLaravelのバリデーションやページネーションなど4つのメッセージファイルを日本語化してGitHubで公開していますので、自由にダウンロードしてご利用く...

日本語ファイルのディレクトリ構成

前回のおさらいになりますが、日本語ファイルを配置するディレクトリ構成も意味がありますので、少し復習しておきます。

日本語メッセージの取得

冒頭にも記述しましたが、__()を使う前は以下のように取得していました。

しかし、そんなに長ったらしく書かなくても簡単に取得できることを知りました。
それが、__()というヘルパ関数です!
実際にはこのように取得します。

短っ!!
「短い=正義」です!

キーに文字列を使用する

さらに、resources/lang直下に、resources/lang/ja.jsonを作り、JSON形式で配列で言うキーに英文、値に日本語の翻訳文字列を設定して、

__()の引数に上記のキーを指定します。

このように取得すると、キーと値が設定されていれば「私はプログラミングが大好きです。」と日本語化されて表示され、もし言語ファイルが存在しない場合でも「I love programming.」をそのまま表示してくれるという優れものです。

プレースホルダを定義する

さらに!コレだけではありません!
プレースホルダを定義して指定した文字列を置き換えることも簡単にできます。
例えば、以下のように[:name](名前)を:~(コロン~)と定義して、

使い方としては、変更したいプレースホルダ__()関数第2引数に配列で入れるだけです。

上記を出力すると「ようこそ! 佐藤 さん」となります。
便利すぎるぞLaravel

あわせて読みたい
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次