Zur Navigation

Variable nach Browsersprache / Seitensprache definieren

1 Jörg Kruse

[Die folgenden Beiträge wurden aus diesem Thread abgetrennt]

Zum Ermitteln der Browsersprache lässt sich diese Funktion vielleicht gut nutzen:

http://aktuell.de.selfhtml.org/artikel/php/httpsprache/

Danach könntest du dann deine lang_id definieren

if ($lang == 'de') {
    $lang_id = 1;
} else {
    $lang_id = 2;
}

... und das Ergebnis in die Abfrage einbauen

$result = mysql_query("SELECT /* ... */ WHERE t2.lang_id=" . $lang_id . " && /* ... */");

16.06.2011 17:07 | geändert: 17.06.2011 10:37

2 Horst_Braun

Ok. Auch dies funktioniert, aber ist dann von der Logik her doch falsch. Nicht die Browsersprache zählt in dieses Fall sondern die Seitensprache.

Über http://www.domain.com/en/ wird diese auf englisch gestellt.

Dazu muss ich doch mit meinen Cookies arbeiten, oder?

17.06.2011 08:58 | geändert: 17.06.2011 08:59

3 Horst_Braun

Folgendes hab ich in meinem System gefunden:

		//Sprachen raussuchen die aktiv sind
		$sql = sprintf("SELECT * FROM %s WHERE more_lang='2'", $this->cms->tbname['papoo_name_language']);
		$result = $this->db->get_results($sql);
		//Warum das??
		#$sprachen = array (
		#"de"
		#	);
		$sprachen = array ();
		if (!empty($result))
		{
			foreach ($result as $treffer)
			{
				array_push($sprachen, $treffer->lang_short);
			}
		}
		#print_r($sprachen);

Vielleicht hilft das die aktuelle Sprache heraus zu finden.

Edit: Nein, das prüft bloß welche Sprachen ich in meinem System aktiviert habe. Welche Sprache gerade läuft muss ich anders herausfinden.

17.06.2011 10:34 | geändert: 17.06.2011 10:44

4 Jörg Kruse

Zitat von Horst_Braun
Ok. Auch dies funktioniert, aber ist dann von der Logik her doch falsch. Nicht die Browsersprache zählt in dieses Fall sondern die Seitensprache.

Über http://www.domain.com/en/ wird diese auf englisch gestellt.

Ich würde dann einfach auf den REQUEST_URI testen

if (strpos($_SERVER['REQUEST_URI'], '/en/') !== false) {
    // englische Seitensprache
} else {
    // sonstige
}

17.06.2011 10:41

5 Horst_Braun

So einfach ? Geht. Vielen Dank.

17.06.2011 10:48

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]