Wie sollte Websites beschäftigen sich mit Lokalisierungseinstellungen? (Von „Was sind gemeinsame UI Missverständnisse und Belästigungen?“)

StackOverflow https://stackoverflow.com/questions/1016709

Frage

Ich habe dies als eine Frage in seinem eigenen Recht nehmen gewählt, da es so viele Diskussionen in den Kommentaren des Original-Beitrag .

Es ist interessant zu sehen, dass eine Menge Leute auf SO (der Entwickler) sind nicht nur die Lokalisierung bekommt. Hier ist mein nehmen, wie es funktionieren soll:

In allen Browsern, die ich sehe (und für den .NET-Entwickler da draußen auch), wenn Sie an einem Benutzerpräferenzen Kultur aussehen es in folgendem Format ist: Sprachkultur.

So haben wir:

  • en-GB - English language - UK Kultur
  • en-US - englische Sprache - US Kultur
  • en - in englischer Sprache -. Unveränderliche Kultur
  • fr-FR - Französisch Sprache - Französisch Kultur
  • fr-CH - Französisch Sprache - Schweizer Kultur
  • de-CH - Deutsche Sprache - Schweizer Kultur
  • de-DE - Deutsche Sprache - deutsche Kultur

Siehe MSDN eine vollständige Liste, die auf .NET Framework unterstützt.

Wenn ich auf eine Website gehen weiß, dass ich die englische Sprache aus dem en Teil will, und es weiß, ich bin daran interessiert, es in dem Vereinigten Königreich geneigt ist (Zahlenformatierung, Datumsformatierung). Also, wenn ich gehe zu google.com und es nimmt mich auf google.de (wegen meiner IP-Adresse), das ist völlig in Ordnung, wenn google.de mir alles in Englisch angezeigt, aber völlig falsch, da google.de in deutscher Sprache. Ich habe nur wenig Kontrolle über meine IP-Adresse, aber die vollständige Kontrolle über meine Sprache und Kultur Einstellungen. Wenn Sie interessiert sind Microsofts neue Suchmaschine (bing.com) behandelt Dinge richtig. Lassen Sie uns hoffen, dass Microsoft lernen, wie Suche auch tun, wie Google oder Google lernen können, sowie Microsoft zu lokalisieren;)

MSDN hier noch einen guten Artikel hat für weitere Informationen

Also, was sind Ihre Empfehlungen, wie Websites mit Lokalisierungen umgehen sollten?

War es hilfreich?

Lösung

Die Lösung hier ist so einfach, es ärgerlich ist, dass Entwickler das etwas anderes tun.

  1. Respektieren Sie die Browser-Einstellung. Wenn sie sagt Englisch dann von Gott ist es Englisch.

  2. Wenn Sie unbedingt, dann einfach auf einen Knopf an der Spitze hinzuzufügen, etwas anderes zu wählen. Dann, und nur dann, nicht außer Kraft setzen Sie den Browser.

  3. Wenn Sie denken, dass Ihr Weg besser ist. Stoppen Sie, haben Sie jemand schlagen. Es ist nicht. Bei Bedarf wiederholen.

  4. Get diese Web-Splash-Seiten befreien, die für jemandes Land bitten. Zeigen Sie einfach Ihre normale Seite, basierend aus den Browser-Standardwerten, und siehe Punkt 2 oben. Ich habe noch in eine Stelle zu laufen, wo es wichtig ist eigentlich Update:. ein paar Jahre später, und es gibt jetzt einen Grund, dies zu tun. Im Jahr 2013 leitete die britische Politik rund um Cookies, die Website-Betreiber für Websites in diesem Land basierten respektieren müssen, die aus diesem Land Seiten für die Besucher dienen. Also achten Sie auf die Gesetze in den Ländern, die Sie in gehostet werden.

  5. Wenn Sie eine Website haben, passieren, die wirklich von mehreren Servern in mehreren Ländern serviert wird, dann können Sie wahrscheinlich feststellen, welcher einer Ihres Server ist wirklich näher zu dienen aus. Wenn Sie nicht können, sondern nur den Ablen Wahnsinn stoppen und dann versuchen Sie nicht, und eine Bestimmung für sie zu machen.

Andere Tipps

Wenn die Lokalisierungseinstellungen stehen zur Verfügung - einschließlich, aber nicht beschränkt auf, die HTTP-Header Accept-Language -. Dann sollten Websites absolut respektieren sie

Das gemeinsame Argument dagegen ist, dass „durchschnittliche Nutzer“ sind nicht intelligent genug, um die Spracheinstellungen zu finden und konfigurieren, dass sie ihre eigenen Vorlieben anpassen, so dass diese Einstellungen sind, mehr als oft nicht, falsch (es sei denn, der Benutzer geschieht sein innerhalb der USA).

Das ist die falsche Lösung.

Wenn ein wesentlicher Abschnitt der Benutzerpopulation nicht finden kann (oder nicht gestört werden kann, zu finden), um ihre Browser-Spracheinstellungen, dann die richtige Antwort ist zu um sie leichter zu finden , nicht für Websites zu ignorieren, was sie haben, um festgesetzt ist. Vielleicht direkt machen Spracheinstellungen zugänglich von dem obersten Menüebene des Programms statt es in einem über komplizierten Dialog „Einstellungen“ zu begraben. Vielleicht Präferenzen Sprache fragen das erste Mal das Programm ausgeführt wird. verwenden möglicherweise die Lokalisierungseinstellungen des Betriebssystems. Oder vielleicht etwas ganz anderes, wenn das, was es braucht, um es zu machen nahezu sicher, dass der Browser korrekte Informationen über die Vorlieben des Benutzers wird zu senden. Aber nicht nur Ihre Hände werfen, sagen: „Es ist sinnlos und kann nicht repariert werden!“, Und ignoriert es.

Andere Antworten haben gesprochen über das Lassen der Benutzer eine Sprache oder Gebietsschema in ihrem Profil auf der Website wählen, was auch wichtig ist und absolut Standard sein sollten, aber das ist nur eine ortsspezifische bereitzustellen Überschreibung zu dem normalen Einstellungen des Benutzers. Wenn der Benutzer dieses auf der Website nicht außer Kraft gesetzt hat, obwohl die richtige Aktion ist auf die am meisten bevorzugten verfügbare Sprache / locale Werkseinstellungen im Browser-Einstellungen festgelegt, nicht auf Geolocation ihrer IP-Adresse zu stützen.

An einem Punkt in meiner Karriere, ich beibehalten Teile von TCP / IP-Stack. Das bringt mich in der etwas seltenen Lage sehr gut zu wissen, dass IP-Adressen nicht als irgendetwas verwendet werden sollen andere als Netzwerk-Layer-Adressen. Jede Verbindung zwischen einer IP-Adresse und einer Lage ist alles andere als zufällig -. Es ist ein Artefakt der Art und Weise Adressen verteilt sind, nicht grundlegend von dem, was eine IP-Adresse bedeutet

(Sie sind auch nicht sinnvoll, als eindeutige Kennung eines Computers, aber das ist eine andere Geschichte)

Ich schlage vor, die Entfernung zu kennen es aus zu verlassen. Der HTTP-Standard enthält eine Möglichkeit für einen Browser oder eine andere User-Agent die Benutzer Kultur Präferenzen mit jeder Anforderung enthalten (und denken Sie daran, es ist eine Liste von gewichteten Präferenzen, die nicht unbedingt nur eine Kultur). Da der Browser dem Benutzer näher ist, als Sie sind, sollten Sie diesen Antrag, zumindest als Standard.

Es ist in Ordnung, um dann den Benutzer zu erlauben, ihre Vorliebe für Ihre Website zu ändern, entweder vorübergehend oder endgültig einzustellen. Es ist auch in Ordnung, damit der Benutzer wählt unterschiedliche Inhalte mit unterschiedlichen Kultureinstellungen anzuzeigen. Ein wildes Beispiel wäre eine Website, die sowohl politische Nachrichten und technische Informationen enthält. Es ist durchaus sinnvoll, dass jemand die Nachrichten in ihrer „natürlichen“ Sprache wollen würde, aber die technische Informationen in Englisch.

Schließlich ist es in Ordnung, ein Ausweich Muster zu haben. Wenn zum Beispiel, Sie haben eine Website, die Benutzer auf der Grundlage ihrer Region (Reseller, zum Beispiel) Dienstleistungen, dann ist es möglich, dass die japanischen Inhalte nur auf dem asiatischen regionalen Unter existiert. Eine japanische sprachige Benutzer Ihre EMEA Website besuchen könnte nur Englisch Inhalt stecken zu sehen, die sehr gut seine letzte Wahl sein könnte.

Auf den Seiten, die ich schaffe ich in der Regel folgen diesem Muster:

  • Jede Seite verfügt über eine eindeutige URL mit der Sprache in ihm irgendwo, in der Regel wie /en/page oder eine andere (Unter-) Domain
  • Wenn der Benutzer öffnet eine URL mit einer unbestimmten Sprache wie /page ich zu erraten, zu starten:
    • Ist ein Cookie von einer früheren Sitzung zur Verfügung steht?
    • Falls nicht, ist Accept-Language verfügbar und kann ich wo es sich auf eine Sprache auf der Website verfügbar?
    • Falls nicht, ob es eine Möglichkeit ist, kann ich denke, von IP?
    • Wenn nicht, standardmäßig auf die Standardsprache der Website.
  • Ich habe ein Cookie mit dem erraten Sprache und den Benutzer auf eine Website mit der entsprechenden URL umleiten
  • Ich habe eine Sprachumschaltung auf jeder Seite, so /en/page kann leicht umgeschaltet werden, um /xx/page
    • Cookie aktualisiert wird, wenn der Benutzer wird auf eine andere Seite

Im Idealfall muss ich nur einmal erraten, und von da an die Verwendung des Cookies des Benutzers oder der Benutzer besucht die gewünschte Seite direkt.

Ich bin damit einverstanden, gibt dem Anwender die Möglichkeit, sie mit Benutzereinstellungen in Ihrer Anwendung außer Kraft zu setzen. Das ist besonders praktisch für Dinge wie Zeitzone Lokalisierungsprobleme, die Sie nicht von Browser-Einstellungen ableiten können.

Ich riskiere wird als unhöflich, aber ich denke, mein Beitrag zu diesem Thema wird informative Antworten hat, vor allem, weil mein Beitrag ist wirklich eine Frage. Es tut mir leid aber, dass ich nicht vor, dass die Post gefunden werden.

Es gibt einen Unterschied zwischen Smart-Vorgaben und der Fähigkeit der Benutzer, um sie außer Kraft zu setzen. In großen Anwendungen auf denen ich gearbeitet habe, habe ich den Benutzer locale von Browser-Einstellungen angenommen, Geolocation, etc. - aber immer Benutzern eine Möglichkeit gegeben leicht zu wechseln

.

Ich weiß nicht, wie sonst sollte man das tun. Nicht-Benutzer eine Chance zu geben Sie Ihre Annahmen zu korrigieren zutiefst problematisch ist, weil Sie es bekommen falsch einige Zeit fahren.

ADDITION:

Ich denke, Ihr Problem hier ist, dass, während Sie Ihre locale-Einstellungen bearbeiten können, wenn sie auf den Standard im Grunde identisch aussehen, gibt es keine Möglichkeit für einen Anwendungsentwickler zu sagen, wenn Sie es verlassen haben absichtlich, wie sie ist, oder weil Sie don‘ t wissen, wie oder warum es zu ändern.

Ich schlage vor, Benutzer Lokalisierungseinstellungen zu ehren, außer , wenn die Einstellung die überwältigende Standard ist, der Benutzer kann sich ändern nicht. Zum Beispiel, ich glaube, die große Mehrheit (90 +%) des Benutzers mit einer en-us Einstellung in Vietnam geolokalisiert wäre fast immer besser durch Sehen Vietnamesen Inhalt bedient wird, nicht auf US-Englisch Inhalt, solange es eine triviale Weise ist locales zu wechseln. Auf der anderen Seite, wenn ein Benutzer geolokalisiert ein vietnamesisches Einstellung in den USA, mit allen Mitteln geben Sie ihm Vietnamesen Inhalt.

Ist das irritierend für US-Englisch-Benutzer in Vietnam? Sicher. Aber es ist auch das größte Gut für die größte Zahl, und trägt dazu bei, dass die durchschnittliche nicht-technischer Anwender die besten praktischen Erfahrungen zu bekommen. Bis wir eine Waffe an Benutzer Köpfe halten kann und sie zwingen, zu ehrlich ihre Sprache / Kultur Präferenzen zu erklären, bevor auf einem Computer drehen, wir gehen Heuristik wie diese benötigen.

Ich habe genug energisch Bugreports von Kunden gesehen, dass, wenn untersucht entpuppt, dass man von dort Benutzern den Browsers hatte falsche Kultur einstellen, dass wir jetzt die Kunden lassen den Browser mit einer Config-Einstellung außer Kraft setzen. Die Kultureinstellung des Browsers ist falsch oft genug, dass es nicht sehr nützlich ist, ist es für die meisten Endverbraucher auch zu hart ist, es zu finden oder zu ändern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top