Laravel4の翻訳(ローカリゼーション)
言語ファイルのディレクトリ構造
app/langディレクトリ以下に、en、jaなど言語ごとのディレクトリが並びます。
このディレクトリ内に複数の言語ファイルを格納できます。ファイル名はメソッドで翻訳情報を取得する際に指定する仕組みになっているため、自由に命名して整理することができます。
言語ファイルの書き方
連想配列で指定します。
//app/lang/ja/messages.php <?php return array( 'welcome' = 'ようこそ!' );
利用法
Lang::getの引数に[言語ファイル名.配列のキー]という形の文字列を渡して値を取得します。echo Lang::get('messages.welcome');
翻訳の中に変数を使う
言語ファイルでプレースホルダーを設定し
<?php return array( 'welcome' = 'ようこそ! :nameさん' );Lang::getの第二引数で置換する文字列を指定します。
echo Lang::get('messages.welcome', array('name' => '太郎'));Laravel4の翻訳にはSymfony Translation componentが利用されており 複数形化なども簡単に対応できます。