您應該可以使用View Composer將您的翻譯全局注入到應用程序的所有視圖中。你應該遵循的步驟如下。
- 創建一個View Composer
- 註冊的View Composer向服務供應商
- 注入你翻譯成作曲,並將其綁定使用通配符的所有意見。
作曲家類應該是這樣的,它的命名空間應該是應用程序\ 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);
}
}
你可以使用一個循環來獲得翻譯,但這只是一個簡單的例子,只是爲了說明方式。
現在的服務提供商,你應該使用這樣的
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()
{
//
}
}
這樣做之後,你應該能夠使用這些變量如{{translations.brand}}在刀片模板。
您可以在官方Laravel文檔 https://laravel.com/docs/5.1/views
這聽起來像一個想法,但我想說它像'trans('品牌')'。我不知道這是否也可以提供重用翻譯文件中翻譯的方式。 –