Beitrag von Spencer (109 Beiträge) am Freitag, 4.Oktober.2002, 08:07.
Ausgabe in verschiedenen Sprachen ?
Hallo
Ich möchte eine Datenbank per loop ausgeben. Nun möchte ich aber, dass der Anwender vorher eine Sprache auswählen kann. Ich könnte ja jedes Template in verschiedenen Sprachversionen anbieten. Gibt es da eine elegantere Lösung? Es geht nicht um den Datenbankinhalt, sondern um das Blabla außenrum. Hat jemand sowas schon gemacht oder hat einer eine Idee?
Besten Dank schonmal im vorraus
Spencer
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 4.Oktober.2002, 11:01.
Re: Ausgabe in verschiedenen Sprachen ?
Mmh, wenns um das drumherum geht, warum nich einfach verschiedene Seiten mit dem Landeskürzel hintendran, also
template_en
template_de
...etc.
oder wenn es mehrere Templates sind, dann mach verschiedene Verzeichnisse:
en
de
...etc.
und da drin sind dann immer die gleichen Templates drin, aber halt mit verschiedenen Sprachen...
Antworten
Beitrag von Spencer (109 Beiträge) am Freitag, 4.Oktober.2002, 11:29.
Re: Ausgabe in verschiedenen Sprachen ?
Hallo CB
Ja schon klar, aber wenn ich mehrere Templates laufen habe mit sagen wir mal 4 Sprachenversionen oder mehr (steht noch nicht ganz fest) dann muß ich bei einer Änderung am Template alle betreffenden Templates ändern. Wenn man da irgendwie eine Bedingung einbauen könnte und dann die Variablen mit den entsprechenden Sprachinhalten per include einfügen könnte, das wäre eine enorme Arbeitserleichterung. Vielleicht hat ja doch noch einer eine Idee.
Gruß Spencer
Antworten
Beitrag von Sander (8133 Beiträge) am Freitag, 4.Oktober.2002, 12:16.
Re: Ausgabe in verschiedenen Sprachen ?
du sagst es ja schon... mit include ;-)
deine includedatei:
<perl>
$de{text1}="Tag";
$en{text1}="day";
</perl>
dein Template:
<include src=texte>
<perl>
$lang="en";
out $$lang{text1};
</perl>
wobei $lang im normalfall per link kommt und nicht im Template angewiesen wird
Das Sprachenarray kann auch besser aufgebaut werden:
<perl>
$de=('text1'=>'Tag',
'text2'=>'Nacht',
'text3'=>'Woche');
$en=('text1'=>'day',
'text2'=>'night',
'text3'=>'week');
</perl>
Sander
Antworten
Beitrag von Spencer (109 Beiträge) am Montag, 7.Oktober.2002, 10:35.
Re: Ausgabe in verschiedenen Sprachen ?
Hallo Sander
Danke für Deinen Tipp.
Mit dem ersten Beispiel komme ich gut zurecht. Mit dem verbesserten Array jedoch nicht. Bei mir wird dann auf der Ausgabeseite nichts angezeigt.
Wie muß der Code im Template genau aussehen ?
Danke
Spencer
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 7.Oktober.2002, 16:36.
Re: Ausgabe in verschiedenen Sprachen ?
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 7.Oktober.2002, 18:18.
Re: Ausgabe in verschiedenen Sprachen ?
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 7.Oktober.2002, 16:34.
Re: Ausgabe in verschiedenen Sprachen ? - noch eins... ;-)
Antworten
Beitrag von Spencer (109 Beiträge) am Dienstag, 8.Oktober.2002, 08:23.
Re: Ausgabe in verschiedenen Sprachen ? - noch eins... ;-)
Danke Christoph
Klappt wunderbar. Noch eine Frage. Kann man vielleicht die Hashes aus einer Datenbank füllen lassen ?
Spencer
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 8.Oktober.2002, 16:13.
Re: Ausgabe in verschiedenen Sprachen ? - noch eins... ;-)
Antworten
Beitrag von Spencer (109 Beiträge) am Mittwoch, 9.Oktober.2002, 22:00.
Re: Ausgabe in verschiedenen Sprachen ? - noch eins... ;-)
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 9.Oktober.2002, 22:31.
Re: Ausgabe in verschiedenen Sprachen ? - noch eins... ;-)
na die mußt du im form als hidden oder im link mit übergeben
lang=$lang
Sander
Antworten
Beitrag von Christian Ries (60 Beiträge) am Samstag, 5.Oktober.2002, 14:10. WWW: www.new.islekerart.lu
Re: Ausgabe in verschiedenen Sprachen ?
Ich habe verschiedene websites mehrsprachig gestaltet:
www.islekerart.lu
www.new.islekerart.lu (neue Testversion)
www.leader.lu
Das Problem mit demselben template und verschiedenen Variablen die per include eingefügt werden, ist dass das Layout im Endeffekt meistens nicht klappt, und dies aus dem einfachen Grund, dass ein Text in Deutsch und Französisch z.B. recht lang ist, der gleiche Text in English aber meistens um 1/4 bis 1/3 kürzer.
So kriegst Du es kaum hin, die adäquate Fläche in Deinem Layout so zu gestalten, dass sie optimal ausgenutzt ist.
Ich habe jeweils ein template pro Sprache, dass mit dem Anhängsel _DE oder _FR identifiziert ist. So stehen sie immer beieinander wenn man sie bearbeitet und der Aufruf bzw. die Zusammenstellung eines template-Aufrufs in perl lässt sich spielend leicht gestalten, auch der interaktive Wechsel zwischen den Sprachen auf jeder Seite.
Dasselbe Prinzip wende ich auf Variablen an. In jeder Datenbank sind die Felder doppelt angelegt: $variable_DE und $variable_FR
Egal wieviel Sprachen Du vorsiehst, Du hast immer den Überblick über die Variablennamen, Du behälst sie also leicht im Gedächtnis, egal in welcher Sprache Du gerade programmierst.
Antworten