2017-08-02 12 views
1

翻訳ストリングのドキュメントをRetrieving Translation Stringsに読みましたが、どういうわけかそれを適用する方法がわかりません。Laravelのキーとしての翻訳文字列

のは、私はビューposts.indexに応じて、英語、ドイツ語(「たIch MAG Programmieren 『)またはスペイン語(』 ミーENCANTA programar」)でを「私はプログラミングが好き」というメッセージをレンダリングしたいとしましょうApp :: setLocale()によって設定されたローカリゼーションに基づいています。

翻訳ファイルはどのように見え、どのように表示を設定できますか?

答えて

0

メッセージ(選択可能)は、翻訳ファイルの名前です。 言語ごとにlangフォルダにdirを作成します。スペイン語はesです。

resources/lang

{{トランス( 'messages.cool')}}

enter image description here

私はこれが役に立てば幸い...

+0

迅速なフォローアップをありがとう。実際、このアプローチも私には明らかです。私が理解できなかったことは、翻訳文字列をキーとして使用するアプローチでした。しかし最後に、私はポイントを得て答えを加えました。 – Andreas

1

ストアあなたの言語ファイル、および構造は次のようになります。

/resources 
    /lang 
     /en 
      messages.php 
     /es 
      messages.php 

すべての言語ファイルは、キー付き文字列の配列を返します。例:

<?php 

return [ 
    'welcome' => 'Welcome to our application' 
]; 

次に、ロケールを取得して設定するルートを定義する必要があります。この

Route::get('welcome/{locale}', function ($locale) { 
    App::setLocale($locale); 

    // your code here 
}); 

など、単に{{ __() }}で印刷するdot notationを使用するか、私は最終的に概念を理解@lang()

{{ __('messages.welcome') }} 

<!-- OR --> 

@lang('messages.welcome') 
+1

迅速なフォローアップをありがとう。実際、このアプローチも私には明らかです。私が理解できなかったことは、翻訳文字列をキーとして使用するアプローチでした。しかし最後に、私はポイントを得て答えを加えました。 – Andreas

+0

@Andreasそれは素晴らしいです:-) –

1

使用しています。 resources/langの中で、すべての言語の翻訳JSONファイルを作成します。 G:

/resources 
    /lang 
     /de.json 
     /es.json 

あなたはApp::setLocale()で言語を設定しない場合enはデフォルト言語になりますようen.jsonファイルを作成する必要はありません。

de.json:

{ 
    "I love programming.": "Ich mag programmieren." 
} 

es.json:

{ 
    "I love programming.": "Me encanta programar." 
} 

次は、App::setLocale();を経由して、あなたのコントローラで言語を設定し、今楽しい部分です。このビューでは、JSONのキー(e。 g。

{{ __('I love programming.') }}

やローカライズに応じて、Laravelは自動的に正しい翻訳をロードします。

+0

説明ありがとうございます。 –

関連する問題