mehrsprachige Website

  • 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

  • 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 ;)

    Signatur sein ist doof, ich will ein Avatar werden, wenn ich gross bin!

  • 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...

    Let's mod something !
    Intel Core i7 12700K - Asus PRIME Z690-A - Kingston FURY Renegade 6000 MHz 2x 16 GB - MSI GeForce RTX 3090 GAMING X TRIO -
    be quiet! Silent Base 800 - Pure Rock CPU Cooler - System Power 8

  • 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


    Zitat

    Original 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...

  • 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

  • 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


    |---> it MUST be a spoon! <---|


      

  • @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

    Marktplatz Bewertung
    Kiste 1: Sloti 800 TB
    Kiste 2: DLT3C @ 2.6GhZ
    ...
    Kiste 7 & Kiste 8: PhII 720BE, 8GB ram. 1x mit X25-m II 80GB & 4870, 1x mit indilinx MLC 32GB

    [SIZE=7]Dieser Beitrag, inkl. vorhandenen Anhängen, ist ungeschützt und könnte während der Übermittlung oder nachträglich von 3. verändert werden. Der Absender schliesst deshalb jede Haftung oder rechtliche Verbindlichkeit für elektronisch versandte Nachrichten aus. Weiter ist der Inhalt des Postings frei erfunden, eventuelle Annäherungen an die Realität sind höchstens unbeabsichtigt und zufällig entstanden. Zu all meinen PCs haben mehrere Leute Zugang und nutzen diesen auch.[/SIZE]

  • 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


    |---> it MUST be a spoon! <---|


      

  • 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 lesen


    Ein 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.

    Signatur sein ist doof, ich will ein Avatar werden, wenn ich gross bin!

  • 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...


    |---> it MUST be a spoon! <---|