Web-Proxy für Spracheinstellungen
Hallo Zusammen
ich habe hier eine kleiner Herausforderung wo ich ein wenig Unterstützung benötige:
Wir haben eine Webapplikation die Mehrsprachig ist (alles was gängig ist), die Anforderung ist allerdings, dass jeder User der über den Browser nicht die Sprache "deutsch" mitliefert (bspw. FR oder ITA) so eingestellt wird, dass der für diesen Webdienst den Sprachcode Englisch anfordert. Damit soll sichergestellt werden, dass die angezeigte Sprache immer Englisch oder Deutsch ist. Leider kann man die restlichen Sprachen nicht deaktivieren in der Applikation (was unsere erste Idee war).
Ich bin mittlerweile soweit, dass man das via WPAD Datei und einem Proxy lösen kann, allerdings bin ich mir noch ein wenig unschlüssig über die Wahl des Proxies (egal ob OS oder Payed) und der damit verbundene Verwaltungsaufwand, das ganze sollte recht simpel sein, da wir nicht planen, den gesamten Traffic darüber abzubilden sondern lediglich die eine Webapplikation und das sollte nicht mit einem erheblichen Mehraufwand einhergehen .
Vielleicht kann mir da einer auf die Sprünge helfen :>
Oder gibt es evtl. eine einfacherer Lösung dafür die man ggf. nur auf den Client vornehmen kann das der für eine bestimmte URL immer den Sprachcode EN anfordert?
Gruß
@clSchak
ich habe hier eine kleiner Herausforderung wo ich ein wenig Unterstützung benötige:
Wir haben eine Webapplikation die Mehrsprachig ist (alles was gängig ist), die Anforderung ist allerdings, dass jeder User der über den Browser nicht die Sprache "deutsch" mitliefert (bspw. FR oder ITA) so eingestellt wird, dass der für diesen Webdienst den Sprachcode Englisch anfordert. Damit soll sichergestellt werden, dass die angezeigte Sprache immer Englisch oder Deutsch ist. Leider kann man die restlichen Sprachen nicht deaktivieren in der Applikation (was unsere erste Idee war).
Ich bin mittlerweile soweit, dass man das via WPAD Datei und einem Proxy lösen kann, allerdings bin ich mir noch ein wenig unschlüssig über die Wahl des Proxies (egal ob OS oder Payed) und der damit verbundene Verwaltungsaufwand, das ganze sollte recht simpel sein, da wir nicht planen, den gesamten Traffic darüber abzubilden sondern lediglich die eine Webapplikation und das sollte nicht mit einem erheblichen Mehraufwand einhergehen .
Vielleicht kann mir da einer auf die Sprünge helfen :>
Oder gibt es evtl. eine einfacherer Lösung dafür die man ggf. nur auf den Client vornehmen kann das der für eine bestimmte URL immer den Sprachcode EN anfordert?
Gruß
@clSchak
Please also mark the comments that contributed to the solution of the article
Content-ID: 8085826877
Url: https://administrator.de/contentid/8085826877
Printed on: October 16, 2024 at 00:10 o'clock
3 Comments
Latest comment
Moin.
Also ein Anpassen des Accept-Language Headers über einen (reverse) Proxy wäre möglich nginx wäre etwa eine Option wenn man dort per IF den Header prüft und angepasst an den internen Server übermittelt.
ungetestet etwa so (nginx)
Ich würde da eher direkt an der Applikation ansetzen und für alternative Sprachen die englische Übersetzungsdatei auf diese Sprachen mappen, bzw. ein Fallback auf Englisch sofern die Sprache nicht vorhanden ist.
Gruß siddius
Also ein Anpassen des Accept-Language Headers über einen (reverse) Proxy wäre möglich nginx wäre etwa eine Option wenn man dort per IF den Header prüft und angepasst an den internen Server übermittelt.
ungetestet etwa so (nginx)
location / {
set $newlang $http_accept_language;
if ( $http_accept_language !~* "de" ){
set $newlang "en"
}
proxy_set_header Accept-Language $newlang;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass https://domain.tld;
}
Ich würde da eher direkt an der Applikation ansetzen und für alternative Sprachen die englische Übersetzungsdatei auf diese Sprachen mappen, bzw. ein Fallback auf Englisch sofern die Sprache nicht vorhanden ist.
Gruß siddius
Dann probiert es mal einen Reverse-Proxy mit add_header direktive in einer Condition, oben ein Beispiel hinzugefügt wie es in etwa aussehen könnte.