Community
Vereinbarung
Willkommen in der Howtos Sektion von OpenPHPNuke - das Open Source CMS
OpenPHPnuke
Tutorials zu OpenPHPnuke
Tutorials zu OpenPHPnuke
Eine 2-sprachige Webseite erstellen
Planung:
1.Fall: Anonymous betritt die Seite.
Tja, und wir wissen nicht, welche Sprache der Anon spricht. Es gibt zwar einige Tricks, das festzustellen (Browser abfragen, Javascript), aber die funktionieren nicht immer. Also lass ich das bleiben. Stattdessen wähle ich den direkten Weg: Ich biete ihm zwei Möglichkeiten, die Sprache selbst zu wählen:
- Durch eine Seitenbox mit dem Titel: Choose your language!(Wähle deine Sprache) Diese Box ist recht unscheinbar und hat als Inhalt nur 2 Links: English und deutsch
- und die 2. Möglichkeit, indem ich 2 Begrüssungsboxen, eine in englisch und eine in deutsch, als Centerboxen nebeneinander erzeuge. Diese Boxen muss er sehen, was er dann tut ist seine Sache :-)
2. Fall: Jemand der registriert ist, betritt die Seite.
Kein Problem, denn wer registriert ist, hat hoffentlich die gewünschte Sprache bei der Registrierung gewählt bzw kann sie auch nachträglich umstellen in seinem Benutzermenü oder über eine Seitenbox Wähle deine Sprache.
Realisierung:
Ich gehe in Admin --> Seitenboxen und erstelle eine Seitenbox: Wähle deine Sprache. Wenn die Installationssprache schon deutsch war (bei mir immer der Fall), dann meldet sich die Webseite beim Aufruf standardmässig mit deutsch. Somit braucht ein Deutscher üblicherweise keine Sprachumstellung. Deswegen wird der Titel dieser Box von mir gleich umbenannt in Choose your language. Ich lasse diese Box für alle sichtbar, dann kann ich damit auch als Webmaster meine Sprache umstellen, ohne dass ich in mein Benutzermenü muss.
Jetzt in Admin --> Centerboxen und eine Grosse HTML Box erstellen. Anker deaktivieren, Boxenbreite 50%. Unter Modul die Startseite auswählen, denn diese Box soll nur auf der Startseite angezeigt werden, sonst nirgends. Ausserdem den unregistrierten Benutzer anwählen. Der Titel der Box sei: Herzlich willkommen auf meiner Seite. Speichern! Das ist die Begrüssungsbox in deutscher Sprache.
Jetzt nochmal eine Grosse HTML Box erstellen mit dem Titel: Welcome to my page. Der Anker muss aktiviert sein und die Boxenbreite 50%. Unter Modul die Startseite auswählen, denn diese Box soll nur auf der Startseite angezeigt werden, sonst nirgends. Ausserdem den unregistrierten Benutzer anwählen. Speichern! Das ist jetzt die Begrüssungsbox in englischer Sprache.
Der Anker bei den Boxen wirkt wie ein Zeilenvorschub: Ist der Anker grün ( entspricht aktiviert), dann wird nach der Box eine neue Zeile angefangen. Wir haben bei der deutschen Box den Anker deaktiviert und 50% des Platzes für die Centerbox zugewiesen. Also wird die nachfolgende englische Box direkt daneben geschrieben.
Jetzt kann man die HTML Boxen mit einer netten Begrüssung füllen. Nicht vergessen, einen Link zur Sprachumschaltung zu erstellen: Click here to switch to english language ...oder so ähnlich. Und wie kommt man zu diesem Link? Ich benutze die Choose your Language Box, klicke auf English und somit schaltet die Seite auf die englische Startseite um und wird neu aufgebaut. Jetzt kopiere ich den Link dieser Seite, der im Browser typischerweise oben angezeigt wird. Dann gehe ich in den Admin --> Centerboxen und kopiere den Link in die entsprechende HTML Box und gebe dem Link nen schönen Titel.
Und wie gehts weiter?
Jetzt fängt die Arbeit erst richtig an, denn jede Box muss zweimal erstellt werden: Einmal deutsch und einmal englisch. Nicht schwierig, man muss nur die Übersicht behalten. Ich mache das so:
Mit Choose your language auf deutsch schalten und Seiten- und Centerboxen erstellen, aber mit Sprache: Alle. Die werden also fürs erste immer angezeigt. Wenn das dann einigermassen passt, dann schalte ich mit Choose your language auf englisch um. Jetzt sehe ich immer noch die deutschen Boxen ( weil ja Sprache = Alle) und erzeuge die englischen Boxen eine nach der anderen, schiebe sie unter die entsprechende deutsche Box und stelle immer gleich als Sprache englisch ein.
Wenn ich dann in Admin --> Seitenboxen oder Admin --> Centerboxen gehe und die Übersicht anschaue, muss sich immer in der Spalte Sprache der Eintrag Alle mit english abwechseln. Wenn ich damit fertig bin, schalte ich wieder auf deutsch um und ändere die Spracheinstellung aller deutschen Boxen auf die deutsche Sprache.
Noch ein paar Hinweise:
Es ist ganz wichtig, eine englische Box erst dann zu erzeugen, wenn die eigene Sprache auf englisch umgestellt ist! Das gilt natürlich auch umgekehrt: Eine deutsche Box erst dann erzeugen, wenn als eigene Sprache deutsch eingestellt ist.
Warum?
Ganz einfach. Wenn eine Box erzeugt wird, weiss OPN ja erst einmal die Sprache nicht und baut schlauerweise die Box in der Spracheinstellung zusammen, in der der Befehl zur Erzeugung der Box kommt. Also Vorsicht: Weil wenn eine Box in deutsch erstellt wird und nachträglich die Sprache auf englisch umgestellt wird, dann ändert sich nur die Sichtbarkeit für die Sprachgruppe, nicht aber der Inhalt der Box, also Titel etc bleiben deutsch!
Wer sich wundert, dass bei einem Sprachwechsel automatisch auf die Startseite gesprungen wird, dem sei gesagt, dass dies normal ist. Denn OPN cacht ja seine Seiten und muss beim Sprachwechsel den Cache leeren sonst purzelt da immer noch die alte Sprache raus :-)
zugefügt am: | 16.11.2006 08:00 |
Verfasser | manne () |
Bewertung | (gelesen: 8266 mal) |
Option: | Drucken | Drucken mit Kommentar | |
Es sind keine Kommentare für Gäste erlaubt, bitte registrieren Sie sich |
[ Zurück zum Howtos Index ]
Eine 2-sprachige Webseite erstellen
geschrieben von Webschmied von 24.11.2006 20:03:09
Meine Bewertung:
Eine Seite in der Praxis: www.dresden-store.com ist so aufgebaut. Je nach Spracheinstellung wird der deutsche oder US-Amazonshop (Centerbox) angezeigt.