Multi-Language Support in JavaScript
Guten Abend werte Kolleginnen und Kollegen,
ich habe ein kl. privates Projekt auf Basis von PHP übernommen. Im Rahmen der Modernisierung (Bootstrap, jQuery, etc...) soll ich Muli-Languages Support implementieren.
Unter PHP habe ich dies wie folgt realisiert:
Mit Poedit habe ich die entsprechenden Übersetzungen erzeugt und die Dateien anschließend hochgeladen.
Das Ganze funktioniert wie es soll.
Auf der Webseite gibt es verschiedene Buttons vom Typ Submit. Wird einer angeklickt, wird über JavaScript der Text des Buttons geändert. Nun soll der Text natürlich auch aus der messages.po bzw. message.mo je Sprache bezogen werden. Bei meinen Recherchen bin u.a. auf diesen Thread bei Stackoverflow gestoßen. Die erste Kommentar scheint nach meinem Verständis mein Problem zu lösen.
Was ich nicht verstehe, warum wird eine Datei mit der Endung .php abgespeichert und anschließend in der index.php als text/javascript eingebunden?
Warum nicht die entsprechenden Code direkt in der betroffenen Javascript-Datei plazieren?
Gruß,
Dani
ich habe ein kl. privates Projekt auf Basis von PHP übernommen. Im Rahmen der Modernisierung (Bootstrap, jQuery, etc...) soll ich Muli-Languages Support implementieren.
Unter PHP habe ich dies wie folgt realisiert:
if (isset($_GET["lang"])) {
$locale = $_GET["lang"];
setlocale(LC_MESSAGES, $locale)
bindtextdomain("messages", "./locale");
textdomain("messages");
}
Das Ganze funktioniert wie es soll.
Auf der Webseite gibt es verschiedene Buttons vom Typ Submit. Wird einer angeklickt, wird über JavaScript der Text des Buttons geändert. Nun soll der Text natürlich auch aus der messages.po bzw. message.mo je Sprache bezogen werden. Bei meinen Recherchen bin u.a. auf diesen Thread bei Stackoverflow gestoßen. Die erste Kommentar scheint nach meinem Verständis mein Problem zu lösen.
Was ich nicht verstehe, warum wird eine Datei mit der Endung .php abgespeichert und anschließend in der index.php als text/javascript eingebunden?
Warum nicht die entsprechenden Code direkt in der betroffenen Javascript-Datei plazieren?
Gruß,
Dani
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 386796
Url: https://administrator.de/forum/multi-language-support-in-javascript-386796.html
Ausgedruckt am: 11.04.2025 um 07:04 Uhr
3 Kommentare
Neuester Kommentar
Ganz einfach: Wenn die Datei nicht auf .php endet, wird sie auch nicht vom PHP-Parser verarbeitet 
Würdest du sie .js nennen wird der PHP-Code ungeparased an den Browser gegeben und das hilft dir ja wenig weiter.
P.S.: Niemals, ich wiederhole, NIEMALS übernimmt man Nutzereingaben in Systemfunktionen ohne sie zu filtern.
In deinem Fall könnte ich zwar nur eher mäßig Schaden anrichten — aber falls $locale später mal z.B. für was anderes verwendet wird...
Würdest du sie .js nennen wird der PHP-Code ungeparased an den Browser gegeben und das hilft dir ja wenig weiter.
P.S.: Niemals, ich wiederhole, NIEMALS übernimmt man Nutzereingaben in Systemfunktionen ohne sie zu filtern.
In deinem Fall könnte ich zwar nur eher mäßig Schaden anrichten — aber falls $locale später mal z.B. für was anderes verwendet wird...