Ich möchte eine mehrsprachige Website erstellen. Doch ich weiss nicht recht wie ich das anpacken soll. Ich habe in Google gesucht aber kein Tutorial oder was ähnliches gefunden. Ich habe fast keine Ahnung von PHP, was ja zwingend notwendig ist. Ich hoffe jemand kann mir das hier verständlich erklären und helfen.
Vielen Dank
Dark22
mehrsprachige Website
-
-
-
Wieso ist PHP zwingend notwendig? Mach doch einfach 2 Pages, einmal Deutsch und einmal die andere Sprache. Das ist jedenfalls die einfachste Variante.
In PHP gäbe es mehrere möglichkeiten, das hier zu erklären würde jeden Rahmen sprengen. Wenn du es wirklich in PHP machen willst würde ich dir empfehlen klein anzufangen, mach iergendwas in PHP und kämpf dich weiter, iergendwann schnallst du es von selber wie du es am besten machst
-
also ich möchte eigentlich nur das menü der page mehrsprachig gestalten, ein wenig php erfahrung habe ich so include etc.
aber ich komme glaube ich nicht darum herum ein solches tutorial durchzuarbeiten. -
mach dir einfach zwei langauge files und lade je nach dem das eine oder das andere, und in der seite hast dann einfach die variablen...
-
was du so oder so musst wäre das ganze mit cookies zu speichern bzw. mit ner session. oder willst du, wenn du später die page nochmals besucht wieder eine andere sprache hat ?
-
die Sprache sollte eingentlich beim betreten der Website gewählt werden, und nachher auf wunsch wieder geändert werden
ZitatOriginal von melloman
mach dir einfach zwei langauge files und lade je nach dem das eine oder das andere, und in der seite hast dann einfach die variablen...soweit bin ich auch gekommen, aber wie weiter...
-
Zitat
Original von Dark22
soweit bin ich auch gekommen, aber wie weiter...Ja was musst do noch mehr Wissen?
Kennst du dich mit PHP aus?
-
Zitat
Original von Dark22
Ich habe fast keine Ahnung von PHP
Dark22
habe mich aber entschlossen dieses Tutorial durchzuarbeiten, danach denke ich werde ich das schon hinbringen http://tut.php-q.net/trotzdem vielen Dank
-
Hallo,
Ich werde dir nicht den kompletten Code vorkauen, aber ich sage dir wies funktioniert:
Beim ersten Betreten der Seite fragst du ab ob der User ein Cookie besitzt, in welchem der Locales-Code (z.B: de_CH für Deutsch (Schweiz)) besitzt und setzt es bei Gelegenheit. Dann kannst du in allen Text-Files die du einbauen willst aus einer seperaten String-Klasse die Texte holen, z.B. über ein Hashtable das für jede Locale exisitiert. Danach brauchst du nur noch ein kleines Frontend für das Spracheändern.So wird es gängigerweise gemacht =). Einfach sämtliche Texte und Fehler in eine separate Klasse auslagern, in welcher nur Strings gespeichert werden. Eine Alternative wäre eine abgeleitete Klasse für jede Locale von einer abstrakten Klasse in der sämtliche Strings vorgegeben sind, damit würdest du auch keinen String vergessen.
Gruss,
-Arrhok -
-
vielen dank für die tipps
bin jetz am das tutorial durchzuarbeiten -
wieso so kompliziert wenn's auch einfach geht?
Die page wird ja nicht ein umfang von mehr als 50 seiten haben
also: startseite wo man sprache wählen kann
dann die website parallel führen, einmal im ordner /en/ und einmal im ordner /de/die files heissen gleich. entweder mit frames schaffen oder halt auf jeder page ein link in das andere verzeichnis machen und fertig ist das ganze... ganz ohne PHP
-
@Xood:
wenn man es einfach will & kein PHP zur Verfügung hat würde ich deinen Weg wählen.
Allerdings habe ich extrem... hmm.. wie soll ich sagen, ich _hasse_ solche Lösungen.
Also ich würde die Strings in ner DB verwalten. Anz Sprachen etc. kann man alles dynamisch machen.
Da die DB evtl zu belastet/lahm ist um bei jedem Seitenzugriff noch die Übersetzungen zu liefern, würde ich von der DB raus ein File generieren, in welchem eben die Übersetzungen sind (Klasse?) - eben wie hier drin auch schon mal geschildert.Ein Cookie oder ein Select feld oder buttons sind da um die Sprache zu bestimmen.
Bei Änderung zur Laufzeit wird das Frameset o.Ä. (wenn man kein Frameset hat halt die CMS Seite) aufgerufen, dies setzt ne Session mit der Sprache...
die Seiten nehmen dann in der Folge immer die Sprache die in der Session definiert ist.Falls Frameset: -> Status der Frames muss auch in Session gespeichert werden, damit man bei Sprachumschalten zum 'alten' Platz zurück kommt...
aber jo, vermutl. ist das für dich zu komplex/aufwändig, also würde ich bei Xoods Methode bleiben... auch wenn die schnell inkosistent und schlecht wartbar ist. da wär ich viel zu faul die zu updaten
cya
-
will dich ja nicht angreiffen, aber deine lösung macht sehr beschränkt sinn.
1) wieso DB UND File?
2) File lesen braucht mehr ressourcen als DB lesen -
Zitat
Original von Xoood
will dich ja nicht angreiffen, aber deine lösung macht sehr beschränkt sinn.1) wieso DB UND File?
2) File lesen braucht mehr ressourcen als DB lesenEin statisches HTML File generiert auf einem Server ziemlich sicher weniger Last als ein File das erst per PHP aus einer DB generiert wird. Aber ich glaube im Umfang wie es Dark22 machen wird, braucht er sich um Serverressorucen keine Sorgen zu machen.
Korrigier mich wenn ich falsch liege.
-
nein darum muss ich mir keine sorgen machen :))
-
du willst pro besucher die statischen pages generieren?
das heisst, du hast die volllast der abfragen genau einmal und nacher nur noch Festplatten-Last. Ok, angenommen du hast 50 seiten, dann willst du pro user 50 statische seiten generieren? dann kommen noch 5 user auf einmal, dann hast du 250 seiten auf einmal... ansichtssache, ich würd die last verteilen, indem jede page einzeln geladen wird (DB Abfragen sind optimiert, files einlesen nur bedingt).
aber eben, für ein so kleines projekt würd ich die page doppelt führen...