Andreas: PHP-Sprachweiche mit Adresszeilen-Parameter (index.html?lang=en)

Hallo,

ich möchte eine Webpräsenz durchgehend dreisprachig gestalten (de, en, fr). Wenn eine Seite ohne Parameter in der Adressleiste eingegeben wird, soll sie auf Deutsch kommen, wenn ein Parameter lang=en bzw. lang=fr eingegeben wird, soll sie auf Englisch bzw. Französisch angezeigt werden. Dadurch kann ich die Inhalte jwls. in eine HTML-Datei (bzw. ja eigentlich PHP-Datei) schreiben. Kann mir jemand kurz erklären, wie man das am besten macht? Wie lese ich den Parameter aus und wie gestalte ich den Quelltext effizient? Kurzes Beispiel wäre super!

Im Quellcode soll also sowas folgender Art stehen:

...
<body>

<?php
 if lang=en { ausgabe("
    <h1>Headline</h1>
    <p>english</p>") }
 elseif lang=fr { ausgabe("...") }
 else {ausgabe ("<p>deutsch</p>"); }
 ?>

</body>
...

  1. Kann mir jemand kurz erklären, wie man das am besten macht?

    Die Suche benutzen?

    Kurzes Beispiel wäre super!

    Wird dir die Suche 100%ig erklären.

    1. Wird dir die Suche 100%ig erklären.

      Die Suche besteht den Turingtest nicht. Ich habe nichts über Sprachweichen mittels Parameterangabe gefunden. Wäre über eine kurze Antwort sehr dankbar.

      Andreas

      1. Mahlzeit,

        Die Suche besteht den Turingtest nicht. Ich habe nichts über Sprachweichen mittels Parameterangabe gefunden. Wäre über eine kurze Antwort sehr dankbar.

        Vielleicht ist auch einfach nur der Begriff "Sprachweiche" ungewöhnlich? Was sagt denn Dein Freund dazu? Wie wär's, wenn Du einfach gebräuchlichere Synonyme wie z.B. "mehrsprachig" o.ä. benutzt?

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      2. Hallo Andreas,

        das Thema "Sprachweiche" (nennen wir es einfach mal so) ist ziemlich komplex. Die Lösung hängt stark von Deinem Vorhaben und der Größe der Webpräsenz ab.

        Wenn die Webpräsenz genau aus einer einzigen Seite besteht mag ein if/elseif/else-Konstrukt oder auch switch genügen.

        Sobald mehrere Seiten dranhängen, musst Du dran denken die Sprache an jeden Link zu übergeben (bitte immer mit $_GET arbeiten). Du kannst aber auch, um das Anhängen zu vermeiden mit Sessions arbeiten.

        Du kannst die Inhalte Deiner Page mit Hilfe einer Datenbank füllen und nur die gebrauchte Sprache "SELECT"en. Du kannst aber auch Sprachdateien auslagern... Die Frage ist, ob die Inhalte statisch oder dynamisch sind, also einfach zu ändern sein sollen...

        Du siehst: Es ist schwierig Dir einfach irgendeine Lösung zu nennen...

        Gruß, Samoht

        --
        fl:| br:> va:) ls:< n4:( ss:) de:] js:| mo:}
        "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."
        (Kristian Wilson, Nintendo, 1989)
  2. hi $name,

    da ich gerade in switches verliebt bin *g*:

    z.b. so:

    switch ($lang) {
          case "eng":
               echo 'englischer kram';
                             break 1;
      case "de":
               echo 'deutscher kram';
                             break 1;
      default:
                             echo 'deutscher kram';;
                             break 1;
         }
    gruss
    shadow

    --
    Programmers don´t die, they GOSUB without RETURN.
    Quelle: unbekannt
    1. Mahlzeit,

      z.b. so:

      Nö. So nicht. So müsstest Du den "deutschen Kram" redundant in der Datei haben.

      switch ($lang) {  
        case 'en':  
          echo 'englischer Kram';  
        break;  
        
        default:  
          echo 'deutscher Kram';  
      }
      

      reicht völlig aus (ggf. um weitere Sprachen erweitert).

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      1. hi $name,

        Nö. So nicht. So müsstest Du den "deutschen Kram" redundant in der Datei haben.

        uups, stimmt *schäm* klarer fall von geistigem tiefflug :-)

        gruss
        shadow

        --
        Programmers don´t die, they GOSUB without RETURN.
        Quelle: unbekannt