Sie können einen View Composer verwenden, um Ihre Übersetzungen global in alle Ansichten der Anwendung zu übertragen. Die Schritte, denen Sie folgen sollten, sind die folgenden.
- einen Komponisten Ansicht Erstellen Sie die Ansicht Komponist an einen Service Provider
- spritzen Sie Ihre Übersetzungen in den Komponisten
- registrieren und binden Sie es an allen Ansichten die Wildcard-Operator.
sollte der Komponist Klasse wie folgt aussehen und es ist Namespace-App \ \ ViewComposers Http sein sollte (App kann auf der Grundlage der Namensraum der Anwendung unterschiedlich sein)
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);
}
}
Sie eine Schleife verwenden könnte zu erhalten die Übersetzungen, aber dies ist ein einfaches Beispiel, nur um den Weg zu demonstrieren.
Jetzt für den Service Provider sollten Sie so etwas wie diese
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()
{
//
}
}
Nach Dabei sollten Sie in der Lage sein zu verwenden, um diese Variablen als {{translations.brand}} in den Blade-Vorlagen verwenden.
Sie können https://laravel.com/docs/5.1/views
Das klingt wie eine Idee, aber ich möchte es sagen wie 'trans ('Marke')'. Ich weiß nicht, ob dies auch eine Möglichkeit bietet, die Übersetzung in den Übersetzungsdateien wiederzuverwenden. –