sprache des users erkennen?
Roger
- php
hallo!
kann ich per php automatisch die sprache des users erkennen? meinetwegen an der signatur des browsers.., oder vielleicht ip?
ich habe ne seite, da kann man eben die sprache auswählen: deutsch, englisch, französisch. allerdings ist das ja langweilig :)
kann man das nicht automatisieren?
gruß.
roger.
Hi,
kann ich per php automatisch die sprache des users erkennen?
nein, PHP hat keine Verbindung zum Menschen.
meinetwegen an der signatur des browsers..,
Die bevorzugte(n) Sprache(n) schickt der Client im HTTP-Header Accept-Language mit. Siehe auch unter dem Stichwort Content-Negotiation.
oder vielleicht ip?
Was hat die Nummer(!) bzw. der eventuell(!) willkürlich dieser zugeordnete Name des letzten Knotens auf dem Weg zwischen Client und Server mit der Sprache zu tun? Er läst ja nicht mal Rückschlüsse auf das Land zu, in welchem sich der User befindet, geschweige denn auf dessen Sprache.
ich habe ne seite, da kann man eben die sprache auswählen: deutsch, englisch, französisch. allerdings ist das ja langweilig :)
Im Prinzip ja :-) aber bedenke, dass *keine* Automatisierung zu erkennen in der Lage ist, was der Mensch in diesem Moment gerade möchte. Was immer Du also tust, *darf* nur eine Vorauswahl sein und niemals den manuellen Mechanismus ersetzen.
Cheatah
Hi,
nein, PHP hat keine Verbindung zum Menschen.
aha.
Er läst ja nicht mal Rückschlüsse auf das Land zu, in welchem sich der User befindet [...]
da muss ich dir leider wiedersprechen. anhand von geotargeting kann ich sehr wohl herausfinden, wo sich der user eingewählt hat! sicherlich funktioniert das nicht bei jedem (ip-masquerading), aber es funktioniert.
Im Prinzip ja :-) aber bedenke, dass *keine* Automatisierung zu erkennen in der Lage ist, was der Mensch in diesem Moment gerade möchte. Was immer Du also tust, *darf* nur eine Vorauswahl sein und niemals den manuellen Mechanismus ersetzen.
hab ja nie was gegenteiliges behauptet. ich wollte nur wissen ob das funktioniert. der kunde soll nat. nach wie vor auswählen können...
gruß.
roger.
Hi,
Er läst ja nicht mal Rückschlüsse auf das Land zu, in welchem sich der User befindet [...]
da muss ich dir leider wiedersprechen. anhand von geotargeting kann ich sehr wohl herausfinden, wo sich der user eingewählt hat!
falsch. Du gehst von nur einem Knoten zwischen Client und Server aus. Eine Zeitlang war es übrigens in Brasilien sehr beliebt, sich über T-Online einzuwählen (also in Deutschland), ich weiß allerdings nicht, warum. Selbst wenn Du aber Recht hättest bliebe nach wie vor das Problem, dass das Land etwas anderes ist als die Sprache, selbst wenn Du die Landessprache meinst anstatt der vom User bevorzugten Sprache. Was beispielsweise spricht der Schweizer?
der kunde soll nat. nach wie vor auswählen können...
Prima, ich wollte nur sicher gehen.
Cheatah
Moin!
Selbst wenn Du aber Recht hättest bliebe nach wie vor das Problem, dass das Land etwas anderes ist als die Sprache, selbst wenn Du die Landessprache meinst anstatt der vom User bevorzugten Sprache. Was beispielsweise spricht der Schweizer?
Schweizerisch, ist doch klar! :) Und der Belgier spricht belgisch. Der Amerikaner amerikanisch, der Brasilianer brasilianisch - und der Deutsche natürlich deutsch. Alle Deutschen sprechen deutsch. Sogar die, die eine ganz andere Staatsbürgerschaft haben, sich aber hier aufhalten - alle sprechen sie deutsch. Auch die japanischen Geschäftsdelegationen, die hier mal eine Woche lang Geschäfte machen.
;)
- Sven Rautenberg
Hi,
Was beispielsweise spricht der Schweizer?
Ricola ;-)
cu,
Andreas
Hi,
kann ich per php automatisch die sprache des users erkennen?
Nein. Solange nicht im Hirn des Users ein Implantat vorhanden ist, daß die Sprache an Deinen Webserver übermittelt.
meinetwegen an der signatur des browsers..,
Die http-header enthalten höchstens die Sprache(n), die im Browser eingestellt ist/sind.
Ob diese auch die Sprache des Users ist, kannst Du nicht feststellen (nicht jeder User weiß, daß man da was einstellen kann, und außerdem hat nicht jeder User die Möglichkeit, den benutzten Browser zu konfigurieren).
oder vielleicht ip?
Eine IP hat nichts mit einer Sprache zu tun.
ich habe ne seite, da kann man eben die sprache auswählen: deutsch, englisch, französisch. allerdings ist das ja langweilig :)
Warum bietest Du ein langweiliges Feature an? ;-)
kann man das nicht automatisieren?
Wenn überhaupt, sollte der User auf jeden Fall die Möglichkeit haben, diese Automatik zu überstimmen.
cu,
Andreas
Hallo,
kann ich per php automatisch die sprache des users erkennen? meinetwegen an der signatur des browsers.., oder vielleicht ip?
Beides waere falsch. Ich surfe mit einem englischen Mozilla,
koennte in Frankreich sitzen (und haette eine entsprechende IP),
aber habe im Browser in den Voreinstellungen "Deutsch" als
Lieblingssprache eingestellt. (Oft ist Englisch voreingestellt...)
Diese Lieblings-Sprache(n) wird/werden im HTTP-Accept-Header
mitgeschickt, wenn der Browser eine Datei anfordert.
Geh mal auf die Seite, da siehst Du es:
http://www.christian-gerner.de/computer/status406-lang.php
In PHP ist dies verfuegbar in der Variable
$_SERVER['HTTP_ACCEPT_LANGUAGE']
http://www.php.net/manual/en/reserved.variables.php#reserved.variables.server
ich habe ne seite, da kann man eben die sprache auswählen: deutsch, englisch, französisch. allerdings ist das ja langweilig :)
Du kannst durchaus eine automatische Sprachwahl
aufgrund der obigen Angaben machen - als ersten "Vorschlag".
Trotzdem solltest Du aber immer auf allen Seiten, von denen es
Uebersetzungen gibt, auch ganz normale Links auf
die Uebersetzungen machen, damit der Besucher dennoch
bequem waehlen kann.
Und nicht etwa mit Landesfahnen, sonst gibt es von
gewissen Leuten [1] "Haue", sondern mit Textlinks
in der Sprache selbst: English, Francais, Deutsch.
Das Konzept der "Content Negotiation" laesst sich auf
dem Apache uebrigens auch mit anderen Mitteln loesen:
http://httpd.apache.org/docs/content-negotiation.html
Gruesse,
Thomas
Tach auch,
Diese Lieblings-Sprache(n) wird/werden im HTTP-Accept-Header
mitgeschickt, wenn der Browser eine Datei anfordert.
Wobei mir nicht so ganz klar ist wie ich da die Werte zu interpretieren habe.
Geh mal auf die Seite, da siehst Du es:
http://www.christian-gerner.de/computer/status406-lang.php
Da sagt meiner naemlich folgendes:
en-gb,en-us;q=0.8,en;q=0.5,de;q=0.3
Heisst das hier das Britisches und Amerikanisches Englisch gleich bewertet werden? Zugegeben, es ist unwahrscheinlich dass eine Seite beides anbietet, aber was muesste mir der Server dann ausliefern? Geht er dann die Werte der Reihenfolge nach durch, auch wenn beide den gleichen Wert (0.8 in diesem Fall) haben?
Gruss,
Armin
Hi,
Wobei mir nicht so ganz klar ist wie ich da die Werte zu interpretieren habe.
das erfährst Du in RFC 2616, http://www.ietf.org/rfc/rfc2616.txt.
en-gb,en-us;q=0.8,en;q=0.5,de;q=0.3
en, de - in dieser Reihenfolge.
Heisst das hier das Britisches und Amerikanisches Englisch gleich bewertet werden?
Ja.
Zugegeben, es ist unwahrscheinlich dass eine Seite beides anbietet, aber was muesste mir der Server dann ausliefern?
Was dem Server lieber ist.
Cheatah
en-gb,en-us;q=0.8,en;q=0.5,de;q=0.3
Heisst das hier das Britisches und Amerikanisches Englisch gleich bewertet werden?
Ja.
Nein, es handelt sich hier um (eine Liste von (Sprachangaben mit Qualitätswerten)). Definiert in RFC 2616, Abschnitt 14.4 sowie 2.1.
Listen werden mit Kommata getrennt, so daß wir im Beispiel folgende Elemente haben:
en-gb
en-us;q=0.8
en;q=0.5
de;q=0.3
Angaben ohne Qualitätswert haben die Qualität 1. Daraus ergibt sich, daß en-gb mit Wert 1 mehr wert ist als en-us mit Wert 0.8. Sie werden also nicht gleich behandelt.
Es würde davon mal abgesehen auch keinerlei Sinn machen, die Liste mit einem Qualitätswert von 0.8 für die ersten beiden Elemente beginnen zu lassen.
Schönen Abend,
soenk.e
Tach auch,
Schönen Abend,
Wuensche ich auch und Vielen Dank fuer die ausfuehrliche Erklaerung. Da kann ich mich ja beruhigt zuruecklehnen und in Zukunft in richtigem Englisch lesen ;-)
Gruss,
Armin
Hallo Armin,
Wuensche ich auch und Vielen Dank fuer die ausfuehrliche Erklaerung. Da kann ich mich ja beruhigt zuruecklehnen und in Zukunft in richtigem Englisch lesen ;-)
Wie viele Seiten kennst Du, die (per Content-Negotiation oder auch auf andere Weise) zwischen AE und BE unterscheiden? Die Frage ist durchaus ernst gemeint.
Viele Grüße,
Christian
Tach auch,
Wie viele Seiten kennst Du, die (per Content-Negotiation oder auch auf andere Weise) zwischen AE und BE unterscheiden? Die Frage ist durchaus ernst gemeint.
Um ehrlich zu sein: Keine. Deswegen ist ja auch der Smiley dahinter. Aber waere doch toll wenn es sowas gaebe. Fuer Mozilla und fuer PaintShop Pro gibt es ja auch unterschiedliche Sprachversionen (color -vs- colour, favorite -vs- favourite, etc), bei Windows an sich bin ich mir nicht sicher (von den Laendereinstellungen mal abgesehen).
Allerdings gibt es durchaus Seiten die etwas aehnliches machen:
Bei der BBC kann man z.B. einstellen ob man die Britische oder die internationale Edition haben moechte, das wird dann in einem Cookie gespeichert.
Bei der britischen Version der Homepage bekommt man dann mehr Nachrichten die sich eher an Leute die hier leben richten, bei der internationalen Version halt mehr globale Nachrichten.
Etwas in der Art koennte man doch auch auf die Sprache ausweiten.
Also traeume ich weiter...
Gruss,
Armin
Hallo Armin,
Fuer Mozilla und fuer PaintShop Pro gibt es ja auch unterschiedliche Sprachversionen (color -vs- colour, favorite -vs- favourite, etc),
Ich kann mich noch gut an damals (10 Jahre her) erinnern, als ich zum ersten Mal mit einer Textverarbeitung konfrontiert wurde: WordPerfect. Die war in BE. Das war so ziemlich die einzige Software in BE, der ich begegnet bin.
Also traeume ich weiter...
Ich habe die Befürchtung, dass es im Englischen eher zu einer Vereinheitlichung als zu einer stärkeren Differentierung kommen wird. Ich hoffe, ich liege falsch...
Viele Grüße,
Christian
Tach auch,
Ich habe die Befürchtung, dass es im Englischen eher zu einer Vereinheitlichung als zu einer stärkeren Differentierung kommen wird. Ich hoffe, ich liege falsch...
Ja und nein, irgendwie sehe ich beides. Zum einen wird auch hier durch amerikanisches Fernsehen und Filme (und zum Teil Musik) die Sprache beeinflusst, zum einen besinnen sich die Leute auch immer wieder auf regionale Dialekte und aehnliches.
Mancunian, Scouse, Geordie, Cockney, die verschiedenen Schottischen Dialekte um nur ein paar zu nennen. Und bei den meisten dieser Dialekte werden die Leute wieder stolz darauf diese zu sprechen.
Auch andere Sprachen leben immer wieder auf: Ich kenne Blogs oder Websites in Welsh und Gaelic (wo ich kein Wort von verstehe) und Scots (was ich einigermassen verstehen kann, da es mit dem Englischen verwandt ist). Auch werden diese Sprachen zum Teil gefoerdert, insbesondere Gaelic und Welsh. In Wales sind praktisch alle Verkehrsschilder zweisprachig, in Schottland (insbesondere in abgelegenen Gegenden) gibt es sogar einsprachige Verkehrsschilder. In Gaelic, nicht Englisch (recht interessant wenn man nur den Englischen Namen des Ortes kennt wo man hin muss...)
Soweit ich das hier mitbekomme scheint das in Deutschland auch gar nicht so viel anders zu sein. Gerade neulich war hier ein Beitrag im Radio darueber wie in Bayern gerade auch junge Leute Tracht tragen und bayrisch sprechen. Ich kann mich noch daran erinnern wie einige Studienkollegen sich in Platt unterhielten (Ich habe in Oldenburg studiert).
Also, alles in allem sehe ich nicht zu schwarz. Ich glaube nicht dass sich die Leute an eine uniformierte Weltkultur gewoehnen wollen. Ueberall nur McD und Starbucks und AOL wird auch schnell langweilig. Und dann kehren sie schnell zurueck zu Labskaus, Leberkaes, Yorkshire Pudding oder Haggis. Und ihrer eigenen Sprache.
Gruss,
Armin
Hallo,
danke! sehr informativ!
hat mir weiter geholfen :)
gruß.
roger.
Hallo Roger,
kann ich per php automatisch die sprache des users erkennen?
http://aktuell.de.selfhtml.org/tippstricks/php/httpsprache/
Viele Grüße,
Christian