Tom: Mehrsprachigkeit

Hello,

ich baue immer noch an einem inzwischen ausgeuferten System für die mehrsprachige Darstellung von Webseiten

Dazu ein paar Fragen:

Accept-Language: en,de;q=0.5

1. Was bedeutet das q=0.5  hinter dem Semikolon?
2. Wenn ich türkische Sprachunterstützung im Browser installiere,
   wird die dann in die Liste mit aufgenommen?
3. Wieso steht 'en' an erster Stelle?
   Ich war der Meinung, dass mein Browser auf deutsch eingestellt
   ist.

4. Welche Konsequenz kann ich aus der Reihenfolge ableiten?

5. Ist es sinnvoll, eine Seite z.B. russischer Sprache (+ Schrift)
   anzubieten, wenn der Browser gar nicht mitteilt, dass er dies
   unterstützt? Der normale User, der auf "русский" klickt,
   wird mit einer ggf. erscheinenden Fehlermeldung nichts anfangen
   können.

...

Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
  1. Hi,

    Accept-Language: en,de;q=0.5

    1. Was bedeutet das q=0.5  hinter dem Semikolon?

    dass Deutsch nur zum 0.5-Fachen des Möglichen akzeptiert wird.

    1. Wenn ich türkische Sprachunterstützung im Browser installiere,
         wird die dann in die Liste mit aufgenommen?

    Das kommt auf den Browser an.

    1. Wieso steht 'en' an erster Stelle?

    Weil es am akzeptabelsten ist.

    Ich war der Meinung, dass mein Browser auf deutsch eingestellt
       ist.

    Dein Browser ist augenscheinlich anderer Meinung :-)

    1. Welche Konsequenz kann ich aus der Reihenfolge ableiten?

    Dass derjenige, der den Accept-Language-Header beachtet, Dir präferiert englischsprachige Inhalte anbietet, ansonsten hoffentlich deutschsprachige.

    1. Ist es sinnvoll, eine Seite z.B. russischer Sprache (+ Schrift)
         anzubieten, wenn der Browser gar nicht mitteilt, dass er dies
         unterstützt?

    Unterstützt Dein Browser russische Sprache? Und sagt er es?

    Der normale User, der auf "русский" klickt,
       wird mit einer ggf. erscheinenden Fehlermeldung nichts anfangen
       können.

    Warum wird er dann wohl auf den Link klicken?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. hi,

      Der normale User, der auf "русский" klickt,
         wird mit einer ggf. erscheinenden Fehlermeldung nichts anfangen
         können.

      Warum wird er dann wohl auf den Link klicken?

      It's a phenomenon called "The Neugier of the Noob".

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hello,

        Warum wird er dann wohl auf den Link klicken?

        It's a phenomenon called "The Neugier of the Noob".

        Nee, es ist ein Russe, der in Deutschland in einem Internetcafé einen Browser benutzt, der aber Standard-out-of-the-Box ist und dessen Einstellungen er nicht ändern daf.

        Nun sieht er, dass ich русский anbiete und denkt sich: fein, das kann ich lesen.

        Aber sämtliche anderen Fonts sind dann vielleicht nicht da und es gibt nur Kästchen.

        Ich veruche herauszufinden, wieso denn русский überhaupt von meinem Browser angezeigt wird, obwohl kein ru installiert ist und dann versuche ich die Frage zu klären, wass alles passieren kann oder eben nicht passiert deshalb.

        Harzliche Grüße vom Berg
        esst mehr http://www.harte-harzer.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Nun sieht er, dass ich русский anbiete und denkt sich: fein, das kann ich lesen.
          Aber sämtliche anderen Fonts sind dann vielleicht nicht da und es gibt nur Kästchen.

          Tom,
          Wie kann er dann erst русский lesen?

          Live long and prosper,
          Gunnar

          --
          „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    2. Hello,

      Unterstützt Dein Browser russische Sprache? Und sagt er es?

      Nein, noch nicht. Aber die Schriftzeichen kann ich lesen.

      Der normale User, der auf "русский" klickt,
         wird mit einer ggf. erscheinenden Fehlermeldung nichts anfangen
         können.

      Warum wird er dann wohl auf den Link klicken?

      Weil ich in der Sprachauswahlleiste bisher (theoretisch)

      Deutsch | English | Français | Turkish | русский

      stehen habe. Wobei ich nicht weiß, wie "Turkish" auf Türkisch auszusehen hat :-)

      Nun wird der Besucher zuerst mit seiner präferierten Sprache aus dem Accept-Language Header behelligt, und wenn die nicht vorhanden ist, mit seiner zweitliebsten und wenn die nicht vorhanden ist... und sonst mit der default-Language der Website, und wenn die nicht akzeptiert wird...

      Und genau diesen Knoten versuche ich noch zu lösen.

      Was hilft es dem User, wenn ich ihm die Seite (in utf-8) auf русский anbiete, sein Browser das aber (vermutlich) gar nicht unterstützt? Es könnte dann also passieren, dass er nur Kästchen bekommt, oder der Browser sogar die passende Sprachunterstützung automatisch nnachzuladen versucht.

      Und _diese_ 'Fehlermeldung' versuch ich zu vermeiden. Convenience ist angesagt.

      Harzliche Grüße vom Berg
      esst mehr http://www.harte-harzer.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Hi,

        Unterstützt Dein Browser russische Sprache? Und sagt er es?
        Nein, noch nicht. Aber die Schriftzeichen kann ich lesen.

        nun, das kann man als niedere Form der Unterstützung betrachten. Aber sagt er es, dass er sie unterstützt?

        Warum wird er dann wohl auf den Link klicken?
        Weil ich in der Sprachauswahlleiste bisher (theoretisch)
           Deutsch | English | Français | Turkish | русский
        stehen habe.

        Das ist zwar eine Grundlage, aber kein Grund. Entweder klickt er drauf, um zu sehen was passiert (vrgl. wahsagas Antowort), (und/)oder weil er es als zielführend betrachtet.

        Nun wird der Besucher zuerst mit seiner präferierten Sprache aus dem Accept-Language Header behelligt, [...]

        Gut.

        Und genau diesen Knoten versuche ich noch zu lösen.

        Wo siehst Du einen Knoten?

        Was hilft es dem User, wenn ich ihm die Seite (in utf-8) auf русский anbiete, sein Browser das aber (vermutlich) gar nicht unterstützt?

        Tüj ponimajesch po-russkij?[1] Falls ja, sagt Dein Browser das? Und was schätzt Du, wird bei einem anderen Browser der Fall sein? Ich persönlich habe Russisch auch nicht in meiner Accept-Language-Liste stehen, aber es wäre mir immer noch lieber als Chinesisch, Koreanisch oder Swahili.

        Es könnte dann also passieren, dass er nur Kästchen bekommt, oder der Browser sogar die passende Sprachunterstützung automatisch nnachzuladen versucht.

        In beiden Fällen: Wo siehst Du den Nachteil?

        Cheatah

        [1] Sorry, mir ist es gerade zu mühsam, das Kyrillische rauszukramen :-)

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. Tach,

    Accept-Language: en,de;q=0.5

    http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4

    1. Was bedeutet das q=0.5  hinter dem Semikolon?

    dass du deutsch nur halb so gerne magst, wie englisch. Ein Wert von 1 ist die Voreinstellung für den quality factor.

    1. Wenn ich türkische Sprachunterstützung im Browser installiere,
         wird die dann in die Liste mit aufgenommen?

    Das hängt vermutlich vom Browser ab, aber eher nein; denn nur weil ich mir die chinesischen Schriftzeichen von CK hier ansehen möchte, hat chinesisch nichts in meinen Spracheinstellungen zu suchen.

    1. Wieso steht 'en' an erster Stelle?
         Ich war der Meinung, dass mein Browser auf deutsch eingestellt
         ist.

    Ist er nicht.

    1. Welche Konsequenz kann ich aus der Reihenfolge ableiten?

    Nichts, wenn mehrere Sprachen angegeben sind, sollten diese unterschiedliche quality factors angegeben werden.

    1. Ist es sinnvoll, eine Seite z.B. russischer Sprache (+ Schrift)
         anzubieten, wenn der Browser gar nicht mitteilt, dass er dies
         unterstützt?

    Wenn keine unterstützte Sprache ausgeliefert werden kann, dann sollst du irgendeine Sprache ausliefern, da alle anderen Sprachen ein Rating von 0 haben.

    Der normale User, der auf "русский" klickt,
       wird mit einer ggf. erscheinenden Fehlermeldung nichts anfangen
       können.

    Ein User, der auf русский klickt, wird wohl wissen, was er tut, oder? Ich wüßte es nicht.

    mfg
    Woodfighter

    1. hi,

      Accept-Language: en,de;q=0.5

      1. Was bedeutet das q=0.5  hinter dem Semikolon?

      dass du deutsch nur halb so gerne magst, wie englisch.

      M.E. nein.
      en und de sind durch ein Komma getrennt aufgelistet, also gilt der nachfolgende quality factor für Beide.

      Ein Wert von 1 ist die Voreinstellung für den quality factor.

      Anders läge der Fall, wenn die Angabe
      Accept-Language: en;de;q=0.5
      lauten würde (Semikolon dazwischen).
      Dann wäre in der Tat für en ein QF von 1 impliziert, und für de nur 0.5.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Tach,

        en und de sind durch ein Komma getrennt aufgelistet, also gilt der nachfolgende quality factor für Beide.

        nein, der quality factor gilt nur für das Element, für das er angegeben wurde: Aus der http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4title=RFC:

        Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5

        would cause the following values to be associated:

        text/html;level=1         = 1
               text/html                 = 0.7
               text/plain                = 0.3

        image/jpeg                = 0.5
               text/html;level=2         = 0.4
               text/html;level=3         = 0.7

        Deiner Logik nach müßte text/html;level=1 auch ein 0.4 zugewiesen bekommen. Das Komma trennt einzelne Einträge, das Semikolon die Eigenschaften der Einträge von einander.

        mfg
        Woodfighter

    2. Hello,

      Tach,

      Accept-Language: en,de;q=0.5

      http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4

      Habe ich schon gezogen

      1. Was bedeutet das q=0.5  hinter dem Semikolon?

      dass du deutsch nur halb so gerne magst, wie englisch. Ein Wert von 1 ist die Voreinstellung für den quality factor.

      es steht da     en,de;q=0.5
      und nicht       en;0.66;de=0.33     so würde ich Deutsch nur halb so lieb haben, wie Englisch ;-)

      Ich wollte eigentlich auch nicht wissen, was die Bedeutung der Zahl ist, sondern wie ich sie auszuwerten habe. Das hatte ich falsch gefragt...

      Gibts da bei PHP eine Funktion, um diesen gar nicht so ganz einfachen String auseinander zu nehmen?
      Sonst muss ich erst eine bauen.
      Sehe ich das richti, dass alle Sprachkürzel _ohne_ Faktor eine '1.0' bekommen?

      1. Wenn ich türkische Sprachunterstützung im Browser installiere,
           wird die dann in die Liste mit aufgenommen?

      Ist geklärt, wird aufgenommen. Mein Browser hat nur gezickt.

      1. Wieso steht 'en' an erster Stelle?
           Ich war der Meinung, dass mein Browser auf deutsch eingestellt
           ist.

      Ist er nicht.

      lag auch an der Browserzicke. Einmal schlie´ßen und neu starten... nun gehts

      Wie müsste ich denn die Wunschsprachen sortieren? Erst nach qs-Faktor und dann nach Reihenfolge in der Liste?

      Der normale User, der auf "русский" klickt,
         wird mit einer ggf. erscheinenden Fehlermeldung nichts anfangen
         können.

      Ein User, der auf русский klickt, wird wohl wissen, was er tut, oder? Ich wüßte es nicht.

      Da hast Du mich falsch verstanden.
      Ich hatte allerdings, als ich dieses Posting sendete, auch noch kein Russisch installiert und trotzdem werden mir die Schriftzeichen angezeigt.

      Da habe ich wohl noch ein Verständnisproblem oder ggf. eine Wissenslücke über die Abweichungen des IE vom geschriebenen Standard?

      Harzliche Grüße vom Berg
      esst mehr http://www.harte-harzer.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Tach,

        es steht da     en,de;q=0.5
        und nicht       en;0.66;de=0.33     so würde ich Deutsch nur halb so lieb haben, wie Englisch ;-)

        also steht da implizit en;1;de=0.5 und damit auch wieder die Hälfte

        Gibts da bei PHP eine Funktion, um diesen gar nicht so ganz einfachen String auseinander zu nehmen?

        Das kann ich ganz klar mit "Keine Ahnung" beantworten, für mich gilt PHP;q=0.1. Aber der Apache, kann den Language Header automatisch auswerten.

        Sehe ich das richti, dass alle Sprachkürzel _ohne_ Faktor eine '1.0' bekommen?

        Genau.

        Wie müsste ich denn die Wunschsprachen sortieren? Erst nach qs-Faktor und dann nach Reihenfolge in der Liste?

        Nach quality und dann, wie auch immer du willst, da ja Sprachen mit gleicher Quality gleichwertig sind.

        Da hast Du mich falsch verstanden.
        Ich hatte allerdings, als ich dieses Posting sendete, auch noch kein Russisch installiert und trotzdem werden mir die Schriftzeichen angezeigt.

        Das bedeutet für mich russische Sprachunterstützung: Wenn die Sprache angezeigt wird, sehe ich die passenden Schriftzeichen und keine Fragezeichen oder Kästchen.

        mfg
        Woodfighter

  3. Hallo Tom,

    ich baue immer noch an einem inzwischen ausgeuferten System für die mehrsprachige Darstellung von Webseiten

    Wozu bauen, wenn es fertige Systeme gibt? ;-)
    Stichwörter AddLanguage und LanguagePriority beim Apache.

    Grüße

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    http://emmanuel.dammerer.at/selfcode.html
  4. hi

    1. Ist es sinnvoll, eine Seite z.B. russischer Sprache (+ Schrift)
         anzubieten, wenn der Browser gar nicht mitteilt, dass er dies
         unterstützt? Der normale User, der auf "русский" klickt,
         wird mit einer ggf. erscheinenden Fehlermeldung nichts anfangen
         können.

    du ziehst dich zu sehr an dieser "Sprachunterstützung" hoch. Das sind lediglich Schriftarten für non-Latin Zeichensätze und betrifft nur Windows und afaik selbst da nur den IE. Alle anderen Browser kümmern sich nicht weiter um spezielle Zeichensätze und es ist denen ziemlich egal, wie wild sowas alles gemischt wird. Insofern kannst du problemlos eine Version liefern, die dann eben auf beispielsweise kyrillischen Buchstaben basiert. Wenn er den IE hat, bekommt er eben diese Meldung, und lädt die Unterstützung entweder runter, oder sieht nur Kästchen. Dagegen wirst du nichts machen können.

    Gruß Kai