Seite 1 von 1
Sprache in Cookie speichern oder per URL übergeben?
Verfasst: 02.08.2009, 18:05
von peterX
Hallo,
ich ermittle mittels PHP die Sprache des users.
Alternativ kann der User auch auf eine Flagge auf der Webseite klicken.
Frage ist nun, wie speichere ich seine gewählte Sprache?
Übergebe ich diese einfach immer mit in der url? z.B. domain.de/de/produkt bzw. domain.de/en/product
Für für Suchmaschinen wäre ja die Cookie-methode (trotz Sitemap?) unbrauchbar... oder?
Hat jemand nen Tip?
Vielen Dank
Verfasst: 02.08.2009, 18:28
von net(t)worker
solltest beides machen... und das coockie lange gespeichert lassen, damit der user nicht jedesmal die Sprache neu auswählen muss wenn er wiederkommt... und für die suchmaschinen eben unterschiedliche URLs für die Sprachen...
bei mehrsprachigen Seiten sollteste aber keine .de domain nehmen, sondern besser eine .com oder ggf auch .eu
Verfasst: 02.08.2009, 20:58
von peterX
Vielen Dank für Deine Antwort.
Habe leider noch Probleme wie ich das (in der Theorie) realisieren soll.
Denn ich habe dann folgendes um die Sprache fest zu setzen:
1. Eingestellte Sprache (durch PHP rausfinden)
2. Cookie
3. URL
Pseudocode:
=== User kommt auf die Webseite (index) ===
Code: Alles auswählen
if ( cookie_nicht_vorhanden ) {
// finde eingestellte Sprache vom User heraus
$lang = xyz
// $lang in cookie speichern
}
else {
$lang = cookie_inhalt
}
<a href=".......$lang......>...</a>
=== User kommt auf die Webseite (und ruft irgend eine Unterseite direkt auf) ===
z.B:
https://domain.de/de/produkt
Code: Alles auswählen
if(isset($_GET["lang"]){
$lang = $_GET["lang"];
$cookie = $lang
}
=== User surft auf der Webseite und wechselt die Sprache===
Code: Alles auswählen
if(isset($_GET["lang"]){
$lang = $_GET["lang"];
$cookie = $lang
}
Das wären meine Überlegungen für die 3 Fälle..
Ist der Ansatz richtig?
... und wie würde ich das alles "zusammenfassen"?
Viele Grüße
Verfasst: 02.08.2009, 22:44
von Mork vom Ork
Auf die Cookie-Geschichte kannst du verzichten, denn das, was nahezu ausnahmslos jeder Browser in Accept-Language mitschickt, beschreibt ebenso nahezu ausnahmslos die Sprachen (Vorsicht, es können mehrere sein), die der Besucher auch wirklich versteht - denn wer benutzt schon einen Browser, dessen Anzeige in einer fremden, unverständlichen Sprache läuft? Da noch einen Cookie-Mechanismus obendrauf zu pflanzen ist die Mühe nicht wert, du würdest nur Daten mitschleppen, die du eigentlich von ganz alleine bekommst.
Einzige Ausnahme wäre, dass beispielsweise deine deutschen Texte so grottenschlecht sind, dass die Leute lieber auf die englischen Versionen wechseln, aber das hat dann eine gänzlich andere Ursache, die nicht mit einer Sprachwahl zu beheben ist.
Davon unabhängig täte ich mit solchen (halb-) automatischen Auswahlverfahren, egal ob per Cookie oder Accept-Language, vorsichtig sein und es gänzlich bei der URL-Methode belassen. Wenn jemand auf ein englischsprachiges Suchergebnis klickt oder einem Verweis aus einem englischsprachigem Umfeld folgt, dann kann er auch Englisch und muss nicht automatisch auf eine deutsche Version geschubst werden. Es reicht dann das kleine deutsche Fähnchen zum manuellen Wechseln zur anderen Sprach-URL.
Verfasst: 07.08.2009, 14:17
von ishmael
Vorsicht! Ich würde keine Flaggen als Sprachsymbol verwenden. Schreib lieber den Namen der Sprache in der entsprechenden Sprache als Klartext hin:
https://gregor-moellring.de/anleitungen ... achsymbol/