Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mehrsprachige Webseite zeigt nur englisch

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Mehrsprachige Webseite zeigt nur englisch

    Ich habe Idee, meine Seite mehrsprachig zu machen. Für Realisierung habe ich ziemlich beckante Scheme benutzt:
    PHP-Code:
    $sprache $_SERVER["HTTP_ACCEPT_LANGUAGE"];
        switch(
    $sprache) {
        case 
    'de'$weiterleitung 'de/index.php';break;
        case 
    'ru'$weiterleitung 'ru/index.php';break;
        default: 
    $weiterleitung 'en/index.php';
        }
        
    header ("location: $weiterleitung"); 
    Bei Test ist alles wunderbahr gelaufen. Wenn ich stecke im Brauser nur eine bestimte Sprache: Deutsch, Englisch u.s.w. - kommt richtige Inhalt.
    Problem bekommte ich von Fremdtest. Bei jenige im Browser war 3 Sprachen aktiviert: Deutsch, Amerikanisch und Englisch. Meine Seite kommte im Englisch raus, musste doch im Deutsch erscheinen.
    Hat jemand ewentuell eine Idee wie es verbessern kann?


  • #2
    Lass den User aktiv entscheiden.
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Den User haben selbstverstehndlich Sprache selber auszuwählen.
      Ganz wichtig ist die "Automatic"

      Kommentar


      • #4
        Der Browser kann mehr als eine bevorzugte Sprache senden, wie du schon bemerkt hast. Ausserdem können Dialekte angegeben werden.

        http://aktuell.de.selfhtml.org/artikel/php/httpsprache/
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          http://www.php.de/newreply.php?do=newreply&p=799497

          So wie ich verstehe, das soll ein Arrey oder besser ein Lagstring sein:
          PHP-Code:
          <?php
          printf
          ($_SERVER["HTTP_ACCEPT_LANGUAGE"]);
          ?>
          Als result: de,en-us;q=0.7,en;q=0.3
          Für mich bedeutet dass, primäre Sprache steht als erste
          PHP-Code:
          <?php
          printf
          (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 02));
          ?>
          Result:de

          E R L E D I G T

          Kommentar


          • #6
            Zitat von rtec Beitrag anzeigen
            http://www.php.de/newreply.php?do=newreply&p=799497

            So wie ich verstehe, das soll ein Arrey oder besser ein Lagstring sein:
            PHP-Code:
            <?php
            printf
            ($_SERVER["HTTP_ACCEPT_LANGUAGE"]);
            ?>
            Als result: de,en-us;q=0.7,en;q=0.3
            Für mich bedeutet dass, primäre Sprache steht als erste
            PHP-Code:
            <?php
            printf
            (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 02));
            ?>
            Result:de

            E R L E D I G T
            Hmm.. Schau dir mal dass da an: https://gist.github.com/mondalaci/5363944
            [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

            Kommentar


            • #7
              Das sage ich doch
              PHP-Code:
              <?php
                  
              //$sprache = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
                  
              $sprache substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 02);//Detecting Default Browser language
                  
              switch($sprache) {
                  case 
              'de'$weiterleitung 'de/index.php';break;
                  case 
              'ru'$weiterleitung 'ru/index.php';break;
                  default: 
              $weiterleitung 'en/index.php';
                  }
                  
              header ("location: $weiterleitung");
              ?>
              Ich bedanke mich hezlich beim alle, die mir geholfen haben

              Kommentar


              • #8
                Und was nutzt mir das jetzt als Nutzer, wenn ich im Internetcafe surfe, wo der Browser vielleicht englisch eingestellt ist?
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  Zitat von tr0y Beitrag anzeigen
                  Hmm.. Schau dir mal dass da an: https://gist.github.com/mondalaci/5363944
                  Orginal aus der Quelle:
                  PHP-Code:
                  <?php
                  $accepted_languages 
                  explode(','$_SERVER['HTTP_ACCEPT_LANGUAGE']);
                  $primary_language $accepted_languages[0];
                  if (
                  $pos=strpos($primary_language';') !== false) {
                      
                  $primary_language substr($primary_language0$pos+1);  // Throw away quality value.
                  }
                  if (
                  $pos=strpos($primary_language'-') !== false) {
                      
                  $primary_language substr($primary_language0$pos+1);  // Throw away dialect.
                  }
                  Funktioniert, aber was ist hier falsch?
                  PHP-Klassen auf github

                  Kommentar


                  • #10
                    Zum Thema Internetcafe:
                    Es ist egal welche Browser (ausnahme Opera: kenne ich nicht) im einstellungen kann Primäre sprache auswählen. Keine Adminrecht erforderlich!

                    Kommentar


                    • #11
                      User-def. Sprache ist leichteste Aufgabe, die könnte als normale Verlinkung realiesirt. Ich habe es mit Combobox "Select one Language" realisiert. Wer braucht eine extra Anfrage.
                      Die Theme war bei mir automatisierung des Web's.
                      Wieso: Im Internetpräsentation eine Firma oder/und einen Dienst ich erwarte das, Leute wurden nicht viel machen, wenn erste mal diese Seite sehen. Ich als Meister muss Sie zwiengen es zu lesen.
                      Populer: Jemand von Euch öffnet z.B. eine ukrainische oder noch besset usbekische Seite und siet da nur Fremdsprachetext. Was passiert - genau wir suchen im Google weiter.

                      Kommentar


                      • #12
                        Bitte sei doch etwas sorgfältiger beim Schreiben deiner Beiträge... ist echt hart, dem Geschreibsel noch Sinn abzugewinnen.
                        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                        Kommentar


                        • #13
                          Zum Thema Internetcafe:
                          Es ist egal welche Browser (ausnahme Opera: kenne ich nicht) im einstellungen kann Primäre sprache auswählen. Keine Adminrecht erforderlich!
                          Zum Thema verständliche Sprache: Die wenigsten Normalsurfer dürften diese Einstellung kennen. Und noch weniger dürften wissen, dass Deine Seite daran die Sprache auswählt. Ich surfe auch mit nem englischsprachigen Browser und treffe öfter mal auf englische Inhalte. Dann suche ich die Umschaltoption auf der Seite und stelle nicht den Browser um. Das erwarte ich einfach von einer mehrsprchigen Seite.
                          --

                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                          --

                          Kommentar


                          • #14
                            Naja, eine manuelle Umschaltoption hat er doch sowieso, soweit ich das verstanden habe. Bei der Automatisierung ging es ihm wohl darum die Wahrscheinlichkeit zu erhöhen, dass man schon beim ersten Aufruf zumindest bei einer halbwegs vertrauten Sprache landet. Stimmt ja was er schreibt, wenn ich auf einer russischen Seite beispielsweise lande wo ich nichts verstehe, dann suche ich in aller Regel nicht lange ob es eine Möglichkeit gibt die Sprache zu wechseln, sondern schaue weiter bei Google nach einer anderen Seite die sofort verständlich für mich ist.

                            Kommentar


                            • #15
                              Ne gute Praxis ist, die Sprache beim Standard zu belassen (meinedomain.de zeigt Inhalte auf 'deutsch') und eine kleine Notice im Kopf der Seite einzublenden, dass man durch GeoIP oder BrowserLanguage eine andere Usersprache ermittelt hat.
                              Standards - Best Practices - AwesomePHP - Guideline für WebApps

                              Kommentar

                              Lädt...
                              X