Christian Seiler: ACCEPT_LANGUAGE

Beitrag lesen

Hallo Linker,

$config['default_language'] = 'de';
$config['allowed_languages'] = array ('de-ch', 'de-at','de', 'en');
bekomme ich von lang_getfrombrowser() leider 'de' und nicht 'de-ch' was ja mit q=0.60 angegeben ist.

Urgs, ja, Schönheitsfehler, vertausche die beiden Blöche, die mit den folgenden Kommentaren anfangen:

// now see if the language is allowed
// now see if the combination is allowed

Dann sollte es klappen.

Was ich mich gerade Frage, gibt es sowas schon im PEAR?

Ähm, ja, wieso mache ich mir eigentlich die Arbeit nochmal? http://pear.php.net/manual/en/core.http.http.php (HTTP::negotiateLanguage)

Moment mal, hab' gerade in den Source geschaut, die Implementation von denen ist nicht sehr sauber, zum einen verwendet sie die ereg-Funktionen (ok, ich nehme auch split, sollte ich vielleicht austauschen) und zum anderen arbeitet sie nicht konform. (sie erlaubt gar keine Bindestriche und eine beliebige Anzahl an Buchstaben für den Ländercode, dabei sind für den ersten Teil 1-8 Buchstaben erlaubt, und für den zweiten Teil (nach dem ersten Bindestrich) 1-8 Buchstaben und weitere Bindestriche erlaubt)

Mal ein paar Beispiele:

Code                      Erlaubt?      von PEAR akzeptiert?
------------------------------------------------------------
x-klingon                 X             -
hallodiesisteinesprache   -             X
x-diesisteinesprache      -             -
de-ch                     X             -
de-at                     X             -
de-ch-zuer                X             -
de-ch-zuerich             -             -
dech-zuerich              X             -
de-a-b-c                  X             -
------------------------------------------------------------
de                        X             X
at                        X             X
it                        X             X
es                        X             X
fr                        X             X

(ob die o.g. Sprachcodes teilweise Sinn ergeben, ist eine andere Frage)

Außerdem gibt's einen Fallback auf die Länder-TLD, was IMHO bestenfalls grober Unfug ist.

Grüße,

Christian

--
Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
0 39

httpd.conf

andy
  • webserver
  1. 0
    Christoph Schnauß
    1. 0
      Christian Seiler
      1. 0
        Christoph Schnauß
        1. 0
          Christian Seiler
        2. 0
          Der Linker aus www.php4-forum.de
          1. 0
            Christoph Schnauß
            1. 0
              Christian Seiler
              1. 0

                RFC2616-konformes parsen von Accept-Language

                Christian Seiler
                • php
                1. 0
                  Orlando
                  1. 0
                    Christian Seiler
                    1. 0
                      Orlando
                      1. 0
                        Christian Seiler
                        • menschelei
                        1. 0

                          (OT) Kein spezifisches Thema ;-)

                          Orlando
                          1. 0

                            (OT) Nichts besonderes ;-)

                            Christian Seiler
                            1. 0

                              (OT) Chat-o-Rama ;-)

                              Orlando
                              1. 0

                                (OT) Ähm, ja, irgendein Titel halt ;-)

                                Christian Seiler
  2. 0
    Christian Seiler
  3. 0
    Sven Rautenberg
  4. 0
    andy
  5. 0
    andy
  6. 0
    andy
    1. 0

      ACCEPT_LANGUAGE

      Der Linker
      • php
      1. 0
        Christian Seiler
        1. 0
          Der Linker
          1. 0
            Linker
          2. 0
            Christian Seiler
            1. 0
              Der Linker
              1. 0
                Christian Seiler
                1. 0
                  Der Linker
                  1. 0
                    Christian Seiler
                    1. 0
                      Der Linker
                      1. 0
                        Christian Seiler
                        1. 0
                          Der Linker
                          1. 0
                            Christian Seiler
                            1. 0

                              Auf Wiedersehen

                              Der Linker
                              • menschelei
                        2. 0
                          Harry
                          1. 0
                            Harry
                          2. 0
                            Christian Seiler