Automatische Sprachauswahl (über Browsersprache)

Gesperrt
Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Automatische Sprachauswahl (über Browsersprache)

Beitrag von Horst1234 »

Hallo,

mein Kunde hat eine zweisprachige Contenido-Installation (deutsch und englisch) und möchte nun gerne je nach Browsersprache einen automatisierten Aufruf:
deutscher Browser: deutsch
nicht-deutscher Browser: englisch

Läßt Sich so was umsetzten, im Forum fand ich nur http://forum.contenido.org/viewtopic.ph ... GE#p106230, leider wird dort die Frage nicht beantwortet.

Vielen Dank aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Automatische Sprachauswahl (über Browsersprache)

Beitrag von Spider IT »

Hallo Horst,

da steht aber im nächsten Beitrag, dass es u.U. geht, wenn die .htaccess im ANSI-Format gespeichert ist, also sollten die Angaben korrekt sein (natürlich Domain und Sprachangabe in den URLs anpassen).

Gruß
René
Horst1234
Beiträge: 366
Registriert: Sa 25. Okt 2008, 12:45
Wohnort: Bremen
Kontaktdaten:

Re: Automatische Sprachauswahl (über Browsersprache)

Beitrag von Horst1234 »

Hallo René,

ja peinlich, lesen müsste man können ...

Danke für deine schnelle Antwort, ich habs ausprobiert in der Art:
#falls sprache deutsch:
RewriteCond %{HTTP:Accept-Language} ^.*de.*$ [NC]
RewriteRule .* http://www.domain.com/1/ [L,R]

#ansonsten:
RewriteCond %{HTTP:Accept-Language} !^.*de.*$ [NC]
RewriteRule .* http://www.domain.com//2/ [L,R]
erhielt aber immer nur
Fehler: Umleitungsfehler
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.


auch wenn ich stattdessen
http://www.domain.com/1/startseite.html [L,R]
oder
http://www.domain.com/1/startseite.html/ [L,R]
schreibe bleibt das Ergebnis gleich.
Ich verwende con 4.8.15 mit mod_rewrite.

Grüße aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Re: Automatische Sprachauswahl (über Browsersprache)

Beitrag von xmurrix »

Hallo Horst1234,

das Problem bei dir ist, dass jede Anfrage umgeleitet wird, auch die umgeleitete Anfrage, ist also eine Endlosschleife an Umleitungen.

Die Verwendung der Regel kann unter umständen auch kontraproduktiv sein, weil Einträge wie "en-US,en,de-DE" in der HTTP-Header Accept-Language immer auf die deutsche Seite gehen würde, obwohl hier der User als erste Preferenz amerikanisches Englisch angegeben hat. Außerdem möchte der User vielleicht die Sprache wechseln, d. h. wenn mal eine Sprache gewählt wurde, sollte man dem User immer die Seite mit der präferierten Sprache zeigen. Das würde auch nicht mit den jetzigen Regeln in der .htaccess gehen. Solche komplizierten Bedingungen kann man schwer in der.httaccess lösen, ich würde vorschlagen, du machts das Serverseitig.

Dort kann man HTTP-Header Accept-Language besser analysieren und darauf reagieren.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Automatische Sprachauswahl (über Browsersprache)

Beitrag von Spider IT »

Hmmm, das hier scheint zu funktionieren:

Code: Alles auswählen

# Falls Sprache deutsch:
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ /de [L,R]

# Falls andere Sprache:
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP:Accept-Language} !^de [NC]
RewriteRule ^$ /en [L,R]
(laut Anleitung von http://www.tudas.de/blog/uncategorized/ ... t-htaccess)

Gruß
René
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Re: Automatische Sprachauswahl (über Browsersprache)

Beitrag von xmurrix »

Ja, das sieht gut aus.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
walter999
Beiträge: 161
Registriert: Di 24. Mai 2005, 11:23
Wohnort: Rain/Dürnhart
Kontaktdaten:

Re: Automatische Sprachauswahl (über Browsersprache)

Beitrag von walter999 »

Generell funktioniert es auch noch mit dem Auslesen von $_SERVER['HTTP_ACCEPT_LANGUAGE'] und dem verarbeiten des ausgelesenen Werts. Man kann dann z.b. sagen, wenn "de" und noch keine Sprache gsetzt dann auf Sprache DE umschalten. Wenn manuell eine Sprache gewählt oder wenn man über einen Deeplink von den Suchmaschinen kommt dann mache nichts.

Außerdem kann man weitere Kriterien dazu nehmen wie evtl. eine IP-Adressweiche.

Wir haben solche Weichen sowohl für contenido-Webseiten als auch für Shopsysteme schon programmiert. Bei einem Shopsystem kann man z.b. noch weitere Parameter damit steuern wie z.B. die Währung etc.

Ist ein interessantes Thema und wollte ich nur noch ergänzen dass man es nicht nur über die .htaccess machen kann.

Viele Grüße
Walter
https://www.lenk.gmbh
Seit über 15 Jahren Erfahrung mit contenido
Umgesetzte Projekte mit contenido: über 300
Größtes Projekt: >2500 Einzelseiten
Gesperrt