キーに対応する多言語翻訳文字列を取得する


localization

 悩み事

言語固有のメッセージを返却する様にしたい

 解決方法

Lang::get()メソッドを利用します

Lang::get()にキーを指定すると、
現在設定されている言語のファイルの中から指定キーを探します
指定されたモノが見つからない場合は、元のキーが返却されます

echo \Lang::get('message.hello');

上記のサンプルは、app/lang/XX/message.php'hello'キーを探します
(XXは、現在の言語環境です)

メッセージにプレースホルダが含まれている場合は、
第二引数にそれを指定してください
app/lang/en/message.phpとした場合・・・

<?php
return [
    'hello' => 'Hi there',
    'hello2' => 'Hi there, :person',
];

"Hi there, Chuck"としたい場合は、次の様にします

echo \Lang::get('message.hello2', ['person' => 'Chuck']);

特定の言語を指定したい場合は、第三引数に言語を指定します

echo \Lang::get('message.hello', array(), 'en');

en つまり常に英語で取得する事になります

 アドバイス

それぞれの言語に対応したファイルを設置する場合に、
app/langディレクトリには次の様に設置しましょう

/app
   /lang
      /en
         pagination.php
         reminders.php
         validation.php
      /ja
         pagination.php
         reminders.php
         validation.php

この様にそれぞれの言語に対応したファイルを設置します


Author:Chuck Heintzelman

Editor and Translator:Yuuki Takezawa