Re: Ausgabe in verschiedenen Sprachen ? - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 7.Oktober.2002, 16:36.
    Re: Ausgabe in verschiedenen Sprachen ?


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    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 ?

      >> Da hat sich Sander vertan (gibts das? ;-)) ). Muss ein % statt dem $ sein:
      

      Weißt doch, ich bin phpüberläufer ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 7.Oktober.2002, 16:34.
    Re: Ausgabe in verschiedenen Sprachen ? - noch eins... ;-)

      Noch 2 Verbesserungen: ;-)

      a) aussagekräftige Bezeichnungen für die Texte (nich "text1", "text2"...)
      b) verschiedene include-Dateien mit Namen "en", "de" etc. die dann wahlweise geladen werden (spart Speicherplatz & Ausführungszeit, da nich immer alle Sprachen geladen werden):

      Template "de":

      <perl>
      
      %lang=(
      day => Tag,
      night => Nacht,
      week => Woche
      );
      </perl>
      

      Template "en":

      <perl>
      
      %lang=(
      day => day,
      night => night,
      week => week
      );
      </perl>
      

      Im eigentlichen Template dann:

      <perl>$lang||="de"</perl>
      <include src=$lang>
      <perl>
      out $lang{day};
      
      ...
      </perl>

      Die erste perl-Zeile setzt $lang default-mässig auf "de" falls nich was anderes über die URL gegeben wurde. Dann wird mit include das entsprechende-Sprach-Template eingelesen. Als Bezeichner für den Hash habe ich die englischen Namen gewählt, is natürlich beliebig...

      ;-)

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

      Mhh, ja, aber is nich so schön wie die in den Template zu halten, weil man Sie vorher in ein bequemeres Format wandeln müsste. Oder, wenn Du mit Zahlen zur Benennung des richtigen Wortes klarkommst ginge es so:

      get "", "text";
      out $text{de}[0];
      

      In "text" stünden also alle Sprachen (für jede Sprache eine Felddefinition, also "de" "en" etc.) und mit $text{de}[0] greifst Du auf das 1. Wort zu, mit $text{de}[1] auf das 2. etc. Is vielleicht n bisschen verwirrend wenns viele, viele Wörter sind ;-)

     Antworten

    Beitrag von Spencer (109 Beiträge) am Mittwoch, 9.Oktober.2002, 22:00.
    Re: Ausgabe in verschiedenen Sprachen ? - noch eins... ;-)

      Hab noch ein Problem

      Variable $lang ist mit

      <perl>
      $lang||="de"
      </perl>
      

      standardmäßig auf "de" gestellt.

      Wie kann ich nun einen über die URL übergebenen Wert speichern ? Hab z.B. auf einer Seite eine Paßwortabfrage. Nach dem Login ist aber $lang wieder auf "de". Wird wohl beim blättern auch so sein.

     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


     
 Liste der Einträge von 43500 bis 43650:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!