View Composerを使用して、翻訳をアプリケーションのすべてのビューにグローバルに挿入することができます。あなたが従うべき手順は次のとおりです。
- 作曲にあなたの翻訳を注入し、ワイルドカード演算子を使用して、すべてのビューにバインドするサービスプロバイダ
- へのView Composerを登録するView Composerの
- を作成します。あなたが取得するためにループを使用することができ作曲クラスは次のようになりますと、それは名前空間のApp \のHttp \ ViewComposersでなければなりません
(アプリケーションは、アプリケーションの名前空間に基づいて異なる場合があります)
class TranslationsComposer
{
protected $translations;
public function __construct()
{
$this->translations = [
'brand' => trans('global.brand'),
'my' => trans('global.my'),
];
}
public function compose(View $view)
{
$view->with('translations', $this->translations);
}
}
翻訳をしていますが、これは方法を示すための単純な例です。あなたがあなたのブレードテンプレートで{{translations.brand}}として、これらの変数を使用することができるはずそうした後、この
namespace App\Http\ViewComposers;
use Illuminate\Contracts\View\View;
use Illuminate\Users\Repository as UserRepository;
class ComposerServiceProvider extends ServiceProvider
{
public function boot()
{
view()->composer(
'*','App\Http\ViewComposers\TranslationsComposer'
);
}
public function register()
{
//
}
}
のようなものを使用する必要があり、サービスプロバイダのための今すぐ
。
あなたはLANG変数を解決するために、独自のヘルパーファイルを作成することができ、公式Laravelのドキュメント https://laravel.com/docs/5.1/views
これはアイデアのように聞こえますが、私は 'trans( 'brand')'のように言いたいと思います。私はこれが翻訳ファイルの翻訳を再利用する方法を提供できるかどうかは分かりません。 –