danke
Mehrsprachige Homepage
Einklappen
X
-
Re: Mehrsprachige Homepage
Ich habe es mal so gelösst:
PHP-Code:if (!isset($sprache) or empty($sprache))
{
$sprache = 'de';
}
include('./sprachen/sprache.' . $sprache . '.inc.php');
// Inkludiert die Datei sprache.de.inc.php
In der Sprachdatei liegt alles in einem mehrdimensionalen array vor, dessen phrasen ich dann nur noch in die jeweiligen bereiche meiner Webseite einfügen muss.
PHP-Code:$text = array(
'login' => 'Einloggen',
'Delete' => 'Löschen'
);
Sers
Der BorisZuletzt geändert von boris-schneider; 04.05.2006, 22:46.
-
@boris-schneider
ich glaube, dass mit datenbank so was zu lösen wäre sinnvoller als mit dem array, weil
1)in DB ist es viel leichter die Daten zu pflegen
2)über DB ist es leichter eine Suchfunktion einzubauen
3)über ein Array, werden in den Speicher unnötige Daten geladen
wenn man sich aber auf eine lösung ohne DB entscheidet, dann würde ich auch von der Mehrdemensionalen-Array-geschichte abratten.
und wenn mit dem Array, dann für jede Seite und für jede Sprache, eine Getrennte datei mit dazugehöriger Array-defenition, die durch sein name
z.b.s "de_s1.php" dünamisch geladen sein könnte.
include($_GET['sprachenkuerzel']."_".$_GET['seitenid'].".php");Slava
bituniverse.com
Kommentar
-
@Slava
Es war auch nur eine anregung
Was bringt es fertige Scripte zu posten die dann nur stumpf implementiert werden, ein paar nette anregungen sollen dafür sorgen, das die Threadsteller eigeninitiative ergreifen und vielleicht das lokale modell in ein Datenbankmodell mit mySQL "verwandeln"
wenn man sich aber auf eine lösung ohne DB entscheidet, dann würde ich auch von der Mehrdemensionalen-Array-geschichte abratten.
würde mich mal interessieren
und wenn mit dem Array, dann für jede Seite und für jede Sprache, eine Getrennte datei mit dazugehöriger Array-defenition, die durch sein name
z.b.s "de_s1.php" dünamisch geladen sein könnte.
include($_GET['sprachenkuerzel']."_".$_GET['seitenid'].".php");
Ob nun mit einem wert oder zwei order drei, das "System" ändert sich dadurch nicht
PS: Wichtig (finde ich) ist auch noch das setzen eines Cookies mit der ausgewählten Sprache vom Besucher, damit dieser bei jedem betreten der Seite seine zuvor ausgewählte Sprache wieder vorfindet und nicht jedesmal neu auswählen muss!
Sers
Der BorisZuletzt geändert von boris-schneider; 05.05.2006, 00:12.
Kommentar
-
hi Boris!
natürlich werden hier verschiedene Möglichkeiten angesprochen und gerade aus disem Grund habe ich meine Meinung ausgesprochen( die nicht unbedingt als die richtige verstanden sein muss)
<<Genauso habe ich es auch in meinem beispiel stehen
Ob nun mit einem wert oder zwei order drei, das "System" ändert sich dadurch nicht >>
Ich meine, dass es doch unterschied macht ob es um ein Array der Inhalte von allen Sprachen hat, oder ein Array der nur eine ausgewählte Sprache und nur für eine ausgewälte Seite hat.
die Arrays einzusetzen, hat fur mich auch erst dann Vorteil, wenn er in Template verwendet wird, sonnst kannman der Inhalt sogar einfach in Textdateien halten.
Die Sprache in Session zu halten ist möglich, ist aber nicht zwingend erförderlich(es spricht nichts gegen GET und Post, ausser ständiger anhang an url).
sorry! für die Schreibfehler( habe erst mit 27 erste deutsche Wort gehört)Slava
bituniverse.com
Kommentar
-
Original geschrieben von Slava
Die Sprache in Session zu halten ist möglich, ist aber nicht zwingend erförderlich(es spricht nichts gegen GET und Post, ausser ständiger anhang an url).
Und wenn Cookies Browserabhängig nicht gehen, kann man immernoch was an die URI hängen.
Ist doch auch sonst kein ding Slava, deswegen sind wir ja alle hier um auch verschiedene herangehensweisen kennen zu lernen, jeder hat halt nunmal so seine eigene verogehensweise
Sers
Der Boris
Kommentar
-
Du kannst doch einen default wert bei der abfrage der Sprache wählen, zb. 1 für Deutsch und 2 für kroatisch, 3 für Englisch etc.
Wie du diese Session setzt ist eigentlich völlig Schnurz, du kannst einen Formularbutton einfügen und dann eine abfrage dafür einbauen, du kannst auch lediglich nur die GET variable s (für sprache zb.) abändern und dann eine abfrage dafür einbauen, usw usw.Zuletzt geändert von boris-schneider; 05.05.2006, 07:45.
Kommentar
-
was ist denn, wenn ich als User deutsch auswähle, die Session
wird gestartet und ich wähle dann englisch
- flieg ich dann aus der Session raus? Muß ich mich neu einloggen?
Ich mein, es müßte während der selben Session möglich sein
die Sprache zu wechseln.
Kommentar
-
Aah. Kam mir nur, weil ich kürzlich mit einem kroatischstämmigen Kollegen ein ganz ähnliches Projekt besprochen hab... Und da die Welt klein ist....
Sessions: Setzt der Benutzer die Sprache auf Deutsch, klickt er dazu einen Link nach dem Muster "xyz.php?setlang=de" an; Das Skript wertet "setlang" aus und ändert die entsprechende Sessionvariable; und Anhand des Wertes in der Sessionvariable holt mySQL die entsprechenden Vokabeln aus der Datenbank. Wo liegt das Problem?
Kommentar
Kommentar