Ich benutze Laravel Framwork
für meine php
Software und ich lief auf ein Problem mit der Lokalisierung des Textes innerhalb der JaveScript
Dateien.JavaScript Lokalisierung in Laravael
Ich habe einen Datenbankwert, der die locale
jedes Benutzers setzt.
App::setLocale(Auth::user()->lang)
in der Middleware
Ordner. Es funktioniert wie erwartet auf den verschiedenen blades
mit @lang('file.name')
oder trans('file.name')
.
Für meine JavaScript
Dateien verwende ich this method. Es funktioniert gut, aber es scheint, dass es die locale
basierend auf dem Wert in der Middleware nicht aktualisiert, aber basierend auf dem Gebietsschema-Wert in config/app.php
. Die php
Seiten arbeiten alle und aktualisieren entsprechend dem Datenbankwert.
Irgendeine Idee, was ich vielleicht fehlen würde?
Funktioniert perfekt. Vielen Dank! – Nik
@Nik Wenn Sie Übersetzungsdateien eine neue Zeile hinzufügen oder vorhandene Übersetzungen aktualisieren, müssen Sie daran denken, dass Änderungen nicht sofort angezeigt werden. In meinem Beispiel habe ich 10 (Minuten) gesetzt, aber Sie können das optimieren, Sie können den Wert in der Konfigurationsdatei oder sogar .env verschieben – ljubadr
@Nik Ich würde auch empfehlen, die Sprache in der 'Route :: get (' /js/{language}/lang.js ', function ($ language) {'als nächstes Problem wird die Browser-Caching-Datei ** lang.js ** sein. Und dann wirst du das gleiche Problem haben - diese Sprache nicht ändern ... also vielleicht in Betracht ziehen, die Logik zu aktualisieren – ljubadr