LoginSignup
3
7

More than 1 year has passed since last update.

Laravel __( )は何を表してる?

Last updated at Posted at 2022-03-06

__( ) の意味が知りたい

Authのbladeテンプレートにそれはあった。

  <li class="nav-item">
     <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
  </li>

" __('Login') " この記述の意味を知りたい

ヘルパ関数の一つらしい

__(アンダーバー 2つ)はヘルパ関数の一つ

ヘルパ関数とは

通常「ヘルパ」と呼び、PHPとは別にLaravelが用意した関数で、自作も可能らしい

__() は何をする関数か

__関数は、指定した翻訳文字列か翻訳キーをローカリゼーションファイルを使用し、翻訳します。
(Laravel 日本語ドキュメントより引用)

config\app.php の Locale で指定されている言語ファイルを参照し、そこから翻訳文字列を読み込み出力する関数みたいです。

翻訳文字列の取得

例えば「{{ __('messages.hello') }}」の場合、日本語ならresources/lang/ja/messages.phpを参照、

resources/lang/ja/messages.php
'hello' => 'こんにちは'

と書いていれば、「こんにちは」が出力されると言った感じです。
ファイル名 . 翻訳文字列

翻訳文字列がキーになっている場合

別のパターンで「{{ __('hello') }}」の場合は、resources/lang/ja.jsonを参照、

resources/lang/ja.json
{
    "hello" : "こんにちは"
}

と書いていれば、「こんにちは」が出力されます。
翻訳文字列をキーにして使用する翻訳ファイルは、JSONファイルとしてresources/langに用意する必要があります。

まとめ

他にも、単数形と複数形の文字列を区別して指定することもできるらしいです。
詳細はドキュメントを見てください。

3
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
7