PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seite nach der default Sprache anzeigen



Andislack
29-03-2004, 01:21
Hi!

Ich werde bald eine 4-sprachige Seite erstellen (französich, englisch, italienisch und deutsch) und möchte jeweils die Sprache angezeigt bekommen, die im Browser gerade als default eingestellt ist.

Wo setze ich da an? Ist da irgendeine Umgebungsvariable mit der Sprache gesetzt, die man auswerten kann oder ist das keine php Angelegenheit?

Nochwas in diesem Zusammenhang:
Die Seite soll natürlich auch in Suchmaschinen drin sein, muss ich da nur die index.php angeben und die Suchmaschinen übergeben auch ihre default Sprache und es wird danach ausgewählt oder muss ich in den jeweiligen Suchmaschinen dann die index.php mit den verschiedenen Sprachen eintragen z.B.:
index.php?lang=fr usw. ?

Vielen Dank Gruss Andi

Pingu
29-03-2004, 06:34
Das kannst Du ganz unabhängig von php schon vom Apachen machen lassen; nennt sich Content Negotiation: http://httpd.apache.org/docs/content-negotiation.html D.h. für jede Sprache ein eigenes php-File. Der Vorteil: es funktioniert auch für statische Seiten.

Ansonsten hilft Dir auch phpinfo() weiter. Denn wenn Du Da schaust, siehst Du eine Variable, die vom Apachen kommt, die da heißt: HTTP_ACCEPT_LANGUAGE.

Pingu

undefined
29-03-2004, 06:39
Wenn die gettext Extension auf deinem Server vorhanden ist dürfte das kein Problem sein.

function conf_show_extension($in)
{
$ext = get_loaded_extensions();
if ( in_array ( $in, $ext ) )
return true;
}
setlocale( LC_ALL, "de_DE" );
$lc_name = "meineDomain";
$lc_dir = realpath( "templates/locale" );
if ( is_dir( $lc_dir ) && conf_show_extension("gettext") == true ) {
bindtextdomain( $lc_name, $lc_dir );
textdomain( $lc_name );
} else {
die ( "Error: No LC_LOCALE Directory or gettext Extension found!" );
}
Die erkennung wie gewohnt mit dem USER_AGENT nehmen. Ich hatte hier mal ein Beispiel gepostet. (http://www.flashbattle.de/forumv2/thread.php?threadid=4635&sid=079c074226f8bdc351923a084e144bcd)
Die PO und MO dateien kannst du mit kBabel bearbeiten.