Ankündigung

Einklappen
Keine Ankündigung bisher.

Multilinguale Webseite - suche gutes Konzept!

Einklappen

Neue Werbung 2019

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

  • Multilinguale Webseite - suche gutes Konzept!

    Hallo,
    ich plane eine Seite in mehreren Sprachen. Habe bis jetzt aber nur in einer Sprache Webseiten erstellt. Ich suche ein gutes Konzept, wie man das am besten umsetzen könnte.

    Ich will nicht jede Datei ( .html, .php ) extra in einer anderen Sprache schreiben, weil ich alles dann doppelt bzwm dreifach hätte.

    Ich habe mir auch überlegt, dass man als Standart zum Beispiel Englisch nimmt, bis der Benutzer eine Sprache seiner Wahl anklickt und dabei ein Cookie bekommt. Dieses Cookie wird dann in einer if-Anweisung abgefragt und die gewählte Sprache eingeblendet. Aber dann müsste ich jeden Begriff ( "Registrieren", "Anmelden" etc. ) eine if-Anweisung schreiben.

    Könntet ihr mir bitte einen Tipp geben, wie man das am besten lösen kann?

  • #2
    Trenne Programmlogik von Inhalt, lege den Inhalt mehrsprachig an.

    Kommentar


    • #3
      Hilfreich sind in jedem Fall ist die PHP-Erweiterung [man]gettext[/man] in Kombination mit PoEdit, schau dir das mal an.

      Kommentar


      • #4
        Hier hilft auch das hier zu lesen
        http://googlewebmastercentral.blogsp...-websites.html

        denn das was du vor hast ist blödsinn.

        am besten je Sparache eine Domain oder Subdomain oder /de/ bzw. /en/ etc. verzeichnisse.
        alles andere ist aus Suma sicht quatsch.

        Kommentar


        • #5
          Das mit den Cookies war ein guter Ansatz.
          Je nach Inhalt des Cookies kann dan entweder de.php oder en.php geladen werden,
          in denen dann die Variablen definiert werden.

          de.php
          PHP-Code:
          $hallo "Hallo"
          en.php
          PHP-Code:
          $hallo "Hello"
          index.php
          PHP-Code:
          echo $hallo

          Kommentar


          • #6
            Zitat von phpde Beitrag anzeigen
            am besten je Sparache eine Domain oder Subdomain oder /de/ bzw. /en/ etc. verzeichnisse.
            alles andere ist aus Suma sicht quatsch.
            Die verlinkte Seite selbst stellt verschiedene Ansätze vor, und nennt auch jeweils einige Pros/Cons.

            Und sagt dann auch noch,
            As you can see, geotargeting is not an exact science
            Damit bleibt als Fazit zu deiner Pauschalbewertung nur zu sagen,
            denn das was du vor hast ist blödsinn.
            Das, was du schreibst, ist Blödsinn.

            Kommentar


            • #7
              Zitat von Niklas Beitrag anzeigen
              Das mit den Cookies war ein guter Ansatz.
              Nein, war und ist es absolut nicht.

              Unterschiedliche Inhalte rechterfertigen nicht nur unterschiedliche URLs, sie verlangen sie geradezu.

              Und Suchmaschinen benutzen keine Cookies.

              Kommentar


              • #8
                Hier werden jetzt gerade verschiedene Themen gleichzeitig diskutiert. Welches Thema willst Du denn besprechen?

                Kommentar


                • #9
                  Ich denke, ich werde es folgendermaßen machen:

                  Zuerst werden verschiedene Subdomains erstellt:

                  de.seite.net
                  en.seite.net

                  Danach erstelle ich eine PHP-Funktion, die in der SQL Datenbank eine ID erstellt. Zu dieser ID wird ein deutscher und ein englischer Text eingetragen.

                  Zuletzt schreibe ich eine Funktion, die feststellt, ob sich ein "de" oder "en" in der Domain befindet und dementsprechend den richtigen Text ausgibt.

                  So komme ich auch ohne Cookies aus.

                  Was haltet ihr davon?

                  Kommentar


                  • #10
                    Das könnte man sich durch entsprechende Konfiguration ebenfalls sparen... die Inhalte in der Datenbank sind in einer Sprache, der Zugriff auf verschiedene Sprachen läuft über die Domain (hast dann 2 gleiche Anwendungen, die mit getrennten Datenstämmen arbeiten).

                    Gibt im Prinzip 2 Wege:
                    a) EINE Applikation (ein Verzeichnis), wo in der App entschieden wird, welche Sprache benutzt wird (1 Datenbank, pro Sprache 1 Eintrag/Tabelle)
                    b) MEHRERE Applikationen (gleiche App in unterschiedlichen Verzeichnissen), die nicht auf Sprache unterscheidet, sondern einfach die eingestellte Sprache verwendet.

                    Beides hat Vor- und Nachteile...

                    Kommentar


                    • #11
                      Entscheidend ist die Sichtweise des späteren Redakteurs. Und da kann ich mir für Version b) keine echten Vorteile vorstellen. Auch ein Entwickler hat keine Vorteile darin, die Anwendung doppelt pflegen zu müssen. Wenn es benötigt wird, muss eben das Page-Controlling etc. so flexibel gestaltet werden können, dass die Sprachvarianten autonom agieren können.

                      Kommentar


                      • #12
                        Hi, also ich bin ja "immernoch" Anfänger, habe aber zur zeit an der selben Sache gearbeitet und bin jetzt mit dem Script fertig. Auch wenn ich nach jetzt schon mehreren schweren Hirnbrüchen nicht mehr ganz sicher bin wieso das jetzt funktioniert. Was das Script macht ist folgendes:
                        1. wird untersucht ob eine Sprache gewählt wurde
                        2. falls keine gewählt wurde, wird nachgesehen ob es eine sprachdatei gibt die mit der Browser länderkennung übereinstimmt, falls ja wird die entsprechende sprachdatei genutzt.
                        3. Falls die browsersprache nicht unterstützt wird, wird die default sprachdatei englich ausgewählt.
                        4.Falls eine Sprache manuell gewählt wurde wird die entsprechende sprachdatei ausgewählt.

                        Hier der Code der spracherkennung
                        PHP-Code:
                        <?php
                        session_start
                        ();
                            
                        $AvailableLanguages="en,de,tr";
                            
                        $DefaultLanguage="en";
                            
                        $available=explode(",",$AvailableLanguages);
                        if (!isset(
                        $_SESSION['sprache']))
                            {
                                
                        $status="0";
                                   
                        $_SESSION['sprache']=substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 02);
                                foreach (
                        $available as $available)
                                    if (
                        $_SESSION['sprache']==$available)
                                        {
                                            
                        $status="1";
                                        }
                                    if(
                        $status=="0")
                                        {
                                            
                        $_SESSION['sprache']=$DefaultLanguage;
                                        }
                            }
                        elseif (isset(
                        $_REQUEST["sprachwahl"])) 
                            {
                                
                        $_SESSION['sprache']=$_REQUEST["sprachwahl"];
                            }
                        ?>
                        Hier der code des sprachschalters

                        PHP-Code:
                        <form action="" method="post" name="sprachwechsel">
                        <select name="sprachwahl" class="std" onchange="document.sprachwechsel.submit()">
                        <option value="en"<?php echo ($_SESSION['sprache']=="en" "selected" ""); ?>>Englisch</option>
                        <option value="de"<?php echo ($_SESSION['sprache']=="de" "selected" ""); ?>>Deutsch</option>
                        <option value="tr"<?php echo ($_SESSION['sprache']=="tr" "selected" ""); ?>>T&uuml;rkisch</option>
                        </select>
                        </form>

                        Das wechseln der sprachdatei in der verschieden seiten (noch vor dem sprachschalter eingebunden)

                        PHP-Code:
                        include_once($_SESSION['sprache'].'.inc.php'); 

                        Naja, das ganze funktioniert, nur hab ich iwi das Gefühl das ich es wohl einfacher auch hätte machen können und das mit den suchmaschinen war mir auch nicht ganz klar. Was ich noch ändern möchte ist der schalter, würde gerne das mit Grafiken machen, also flaggen der Länder anstat ein Formular.
                        nur atm ka wie^^.

                        Bin für jeden Hinweis auf Fehler und Anregungen dankbar. Wer es sich antun möchte kann das ganze gerne weiter verwenden.

                        Kommentar


                        • #13
                          Wenn man mit Templates arbeitet, dann hat man für jede Sprache halt einen Satz HTML-Seiten, die je nach eingestellter Sprache eingeladen werden und in denen dann auch schon sprachtypische Bilder und Texte stehen.

                          Ausgaben, die das Script dann noch beisteuert kann man per DB speichern und abholen. Eine Möglichkeit:

                          tabelle texte
                          id int autoincrement primary key
                          sprache char(2) key
                          textid varchar(30)
                          text varchar(255)

                          1 | de | formular_ausfuellen | Bitte füllen Sie das Formular aus
                          2 | en | formular_ausfuellen | please fill in this form

                          In einer Funktion werden dann die passenden texte aus der DB gelesen und geliefert:
                          echo texte($lang,'formular_ausfuellen);

                          Kommentar


                          • #14
                            Zitat von syNTax Beitrag anzeigen
                            2. falls keine gewählt wurde, wird nachgesehen ob es eine sprachdatei gibt die mit der Browser länderkennung übereinstimmt, falls ja wird die entsprechende sprachdatei genutzt.
                            Diese absolut primitive Überprüfung des Header-Inhaltes ist total unzureichend.

                            4.Falls eine Sprache manuell gewählt wurde wird die entsprechende sprachdatei ausgewählt.
                            Das funktioniert bei deinem Code nur, wenn JavaScript zur Verfügung steht.

                            Was ich noch ändern möchte ist der schalter, würde gerne das mit Grafiken machen, also flaggen der Länder anstat ein Formular.
                            Keine gute Idee - http://gregor-moellring.de/anleitung...-sprachsymbol/

                            Kommentar


                            • #15
                              Danke für die Antwort, würde gern wissen wie ich das ausreichenden und nicht primitiv mache^^ Ich Meine, die Prüfung auf unterstütze sprachen des Besuchers.


                              Und naja, JavaScript, hmm. Scheiss drauf^^ Wers aus hat ka also wirklich, wer das aus hat rofl xD bzw eingeschränkt nutzt tja der ist es wohl gewöhnt bei vielen vielen webseiten die Arschkarte zu ziehen. Kriegt er eben englisch vorn Latz geknallt und kann es auch nicht umstellen, da das Formular per JS Ereignis den wechseln verursacht. Wer Header Daten sperrt muss auch mit englisch klarkommen und es wohl auch gewöhnt. Außerdem sind es echt die wenigsten die JS aus haben.
                              Eine so geringe Zahl an usern, und noch weniger echte User mit wirklich gewichtigen gründen, das ich auf diese User auch verzichten kann.
                              Der Link mit den übersetzen Artikel war doch recht informativ auch wenn er sehr subjektiv gehalten ist, und manche Argumente waren eher dürftig und weniger von Bedeutung, die Kommentare zu dem Artikel hingegen haben mich überzeugt auf Grafiken Umzugschwenken, jedoch erst später wenn ich mit dem Rest der Seite fertig bin was noch dauern kann und es so erstmal online stelle. Wird eben eine vom Design her relevante Änderung, weniger wichtig eben evt Baue ich dann auch das JS aus dem sprachwechsel raus.


                              Gibt sicher noch andere vll bessere Statistiken

                              Kommentar

                              Lädt...
                              X