Ankündigung

Einklappen
Keine Ankündigung bisher.

seite mehrsprachig aufbauen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • seite mehrsprachig aufbauen

    Hallo,

    kennt jemand eine einfache Lösung für eine mehrsprachigen Seite, mit/ohne Switch oder Sessions, so daß von jeder seite aus die sprache geändert wird?

    obern steht eine sprachauswahl: de - en - fr

    meine seitenstruktur ist (für die jeweilige sprache) gleich, nur in einem anderen ordner, also /de, /en, /fr...etc.
    d.h die erste seite ist /en/index.php und deutsch dann /de/index.php

    nun müsste man eine art switch einbauen, was die verzeichnisbezeichnung von en in de beispielsweise ändern kann.
    wie würde so ein skript aussehen?

    meine seite sieht formatmäßig momentan so aus:

    http://www.yyyy.com/en/index.php?lang=en

    http://www.yyyy.com/en/index.php?lang=de

    http://www.yyyy.com/en/index.php?lang=fr


    ich habe eine datei ssi/detector.php:

    PHP-Code:
    <?php
    if (isset($_GET["lang"])) {
      
    $siteSelector $_GET["lang"];
    }
    else {
      
    header("Location: index.php?lang=en");
    }
    ?>

    <?php
    if (isset($_GET["lang"])) {
      
    $countrySelector $_GET["lang"];
    }
    else {
      
    $countrySelector "default";
    }
    ?>
    und eine datei ssi/language.php:


    PHP-Code:
    <?php
    switch($countrySelector) {

    // Website in english language 
    case "en":
    ?>
    <span class="language_choose">Choose your language:</span><a href="http://www.php.de/common/index1.php?lang=en" target="_self">en</a> - de <a href="http://www.php.de/common/index1.php?lang=de" target="_self">de</a> - fr
    <?php
    break;

    // Website in german language 
    case "de":
    ?>
    <span class="language_choose">Choose your language: <a href="http://www.php.de/common/index1.php?lang=de" target="_self">de</a> - </span><a href="http://www.php.de/common/index1.php?lang=en" target="_self">en</a> - fr
    <?php
    break;

    // Default language 
    default:
    ?>
    <span class="language_choose">Choose your language:</span><a href="http://www.php.de/common/index1.php?lang=en" target="_self">en</a> - de <a href="http://www.php.de/common/index1.php?lang=de" target="_self">de</a> - fr
    <?php
    break;

      }
    ?>
    momentan beschränkt sich das ganze auf die index.php datei.

    ich will aber auch eine beliebige datei im en verzeichniss ansprechen wie

    en/xy.php

    wenn ich auf deutsch klicke dann soll de/xy.php erscheinen/switchen.

    wie sieht dann der link aus? es muss auch ein skript sein...



    danke im vorraus

  • #2
    wie wärs mit einer generellen hauptseite

    http://www.yyy-y.com/index.php?lang=en

    die dann weiterleitet zu
    http://www.yyy-y.com/en/index.php
    http://www.yyy-y.com/de/index.php
    ....

    Kommentar


    • #3
      Ich verstehe nicht was das werden soll. Es sieht mir so aus, als ob wir deine Aufgabe erledigen sollen.

      Informiere dich über mod_rewrite.
      Oder du verwendest Cookies für das Ganze.

      Kommentar


      • #4
        Du kannst es so machen:
        Frag zu Beginn den Cookie X ab. Wenn dieser gesetzt ist, dann fragst du seinen Inhalt ab... wenn dieser DE, EN oder FR hat, lädst du die entsprechende Seite!
        Wenn der Cookie X nicht gesetzt ist, lädst du z.B. EN.

        Und du solltest dem benutzer dann noch ermöglichen, seine favorisierte Sprache auch im Cookie X zu speichern

        Alternative Möglichkeit (praktisch):
        Du Teilst deine HP in...
        HEADER (Alles, was in jeder Sprache gleich ist und auf jeder Webpage gleich bleibt)
        NAVI (also das, was auf jeder Webpage gleich bleibt, bis auf in den verschiedenen Sprachen)
        CONTENT alles, was sich sowohl in Sprache als auch pro Webpage ändert)
        FOOTER (alles, was am Ende jeder Webpage ist und sich in den SPrachen auch nicht unterscheidet.)

        Dann kannst du eine Seite index.php machen, die eine GET-Variable für die Textseite entgegennimmt, die dann halt die entsprechenden Inhalte includet, z.B. :

        1.) eine Variable wird auf die entsprechende Sprache gestellt!
        Wenn im Cookie nix steht, wird die Variable einfach auf eine Standard-Sprache gestellt...
        2.) der HEADER wird geladen
        3.) Je nach Sprache wird das NAVI z.B. aus dem ordner de/ geladen (bzw. en/ oder fr/)
        4.) Je nach Sprache wird aus dem ordner de/, en/ oder fr/ geladen. Dann wird dort die entsprechende Textseite includet.
        5.) Je nach Sprache wird aus dem entsprechenden ordner [... wie oben] der FOOTER geladen.

        Klingt vielleicht verwirrend, aber wenn du es verstehst und so probierst, wirst du es wahrscheinlich einfacher haben, neue Textseiten zu machen!
        Du musst schliesslich für Textseiten nurnoch die Texte (in HTML) schreiben!
        Du solltest es trotzdem als .php abspeichern... dann können die textseiten auch noch was machen xD

        Kommentar

        Lädt...
        X