ウェブサイトはローカライズ設定をどのように扱うべきですか? (“ UIの一般的な誤解や迷惑とは?”)

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

質問

私は、これを元の投稿

SOの多くの人々(開発者)がローカライズを取得していないことがわかるのは興味深いことです。これがどのように機能するかについての私の見解は次のとおりです。

私が調べたすべてのブラウザー(および.NET開発者向け)では、ユーザーのカルチャ設定を見ると、次の形式になっています。 言語文化。

つまり、次のとおりです。

  • en-GB-英語-英国文化
  • en-US-英語-米国文化
  • en-英語-不変文化。
  • fr-FR–フランス語–フランス文化
  • fr-CH–フランス語–スイス文化
  • de-CH–ドイツ語–スイス文化
  • de-DE–ドイツ語–ドイツ文化

MSDN を参照してください。 .NETフレームワークがサポートする完全なリストについては。

ウェブサイトにアクセスすると、英語の部分が必要であることがわかり、英国に傾いていることに興味があることがわかります(数値形式、日付形式)。したがって、google.comにアクセスしてgoogle.deに移動すると(IPアドレスが原因)、google.deがすべてを英語で表示する場合は問題ありませんが、google.deはドイツ語であるため完全に間違っています。 IPアドレスはほとんど制御できませんが、言語と文化の設定は完全に制御できます。興味がある場合は、Microsoftの新しい検索エンジン(bing.com)が適切に処理します。 MicrosoftがGoogleのように検索を行う方法を学習できるか、GoogleがMicrosoftのようにローカライズする方法を学習できることを期待しましょう;)

MSDN には、詳細についての別の良い記事があります

では、サイトがローカライズをどのように処理すべきかについての推奨事項は何ですか?

役に立ちましたか?

解決

ここでの解決策はとても単純で、開発者が他のことをするのは面倒です。

  1. ブラウザの設定を尊重します。それが英語だとすれば、それは神によるものです。

  2. どうしても必要な場合は、上部にボタンを追加して、他のものを選択するだけです。次に、そしてそれだけで、ブラウザをオーバーライドします。

  3. あなたのやり方がより良いと思うなら。やめて、誰かに平手打ちしてもらいましょう。そうではありません。必要に応じて繰り返します。

  4. 誰かの国を要求するWebスプラッシュページを取り除きます。ブラウザのデフォルトに基づいて通常のページを表示するだけで、上記の項目2をご覧ください。 実際に重要なサイトにアクセスすることはまだありません。 更新: 数年後、これを行う理由があります。 2013年、英国は、ウェブサイト運営者がその国の訪問者にページを提供しているその国に拠点を置くサイトを尊重する必要のあるクッキーに関するポリシーを制定しました。そのため、ホストしている国の法律に注意してください。

  5. 複数の国にまたがる複数のサーバーが実際にサービスを提供しているサイトがある場合、どのサーバーが実際にサービスを提供しているのかを検出できます。できない場合は、リダイレクトする狂気を止めてから、決意しようとしないでください。

他のヒント

ローカライズ設定が利用可能な場合-HTTP Accept-Languageヘッダーを含むがこれに限定されない-Webサイトは絶対にそれらを尊重する必要があります。

これに対する一般的な議論は、「平均的なユーザー」言語設定を見つけて独自の設定に一致するように構成するのに十分なスマートではないため、これらの設定は多くの場合、正しくありません(ユーザーが米国内にいる場合を除く)。

それは間違った解決策です。

ユーザー人口のかなりの部分がブラウザの言語設定を見つけられない(または気にすることができない)場合、正しい応答は見つけやすくすることですサイトが設定されているものを無視するようにします。複雑すぎる「環境設定」の中に言語設定を埋め込むのではなく、プログラムのトップレベルメニューから言語設定に直接アクセスできるようにすることもできます。ダイアログ。おそらく、プログラムを最初に実行するときに言語設定を要求してください。おそらく、オペレーティングシステムのローカライズ設定を使用してください。または、ブラウザがユーザーの設定に関する正しい情報を送信することをほぼ確実にするために必要な場合は、完全に異なるものかもしれません。しかし、ただ手を挙げて、「それは役に立たず、修正できない!」と言って、それを無視しないでください。

他の回答では、ユーザーがサイトのプロファイルで言語またはロケールを選択できるようになっています。これも重要であり、絶対に標準である必要がありますが、それはユーザーの通常の設定にサイト固有のオーバーライドを提供するためだけです。ただし、ユーザーがサイトでこれをオーバーライドしていない場合、正しいアクションは、IPアドレスの位置情報に基づいてではなく、ブラウザー設定で指定されている最も優先される使用可能な言語/ロケールにデフォルト設定することです。

私のキャリアのある時点で、TCP / IPスタックの一部を保守していました。そのため、IPアドレスをネットワーク層アドレス以外のものとして使用してはならないことを非常によく知っているという、ややまれな立場にいます。 IPアドレスと場所との関連付けはすべて偶然です-これはアドレスの配布方法のアーティファクトであり、IPアドレスの意味の基本的な部分ではありません。

(これらはコンピューターの一意の識別子としては有用ではありませんが、それは別の話です)

ジオロケーションを除外することをお勧めします。 HTTP標準には、ブラウザーまたは他のユーザーエージェントが各リクエストにユーザーカルチャープリファレンスを含める方法が含まれています(これは、1つのカルチャだけでなく、重み付けされたプリファレンスのリストであることを忘れないでください)。ブラウザはあなたよりもユーザーに近いため、少なくともデフォルトとしては、このリクエストを尊重する必要があります。

その後、ユーザーがサイトの設定を一時的または永続的に変更することを許可してもかまいません。ユーザーが異なるカルチャ設定で異なるコンテンツを表示することを選択できるようにすることも可能です。ワイルドな例は、政治ニュースと技術情報の両方を含むサイトです。誰かが自分の「自然な」ニュースを望んでいるのは非常に合理的です。言語ですが、技術情報は英語です。

最後に、フォールバックパターンを使用しても問題ありません。たとえば、地域(リセラーなど)に基づいてユーザーにサービスを提供するサイトがある場合、日本語のコンテンツがアジア地域のサブサイトにのみ存在する可能性があります。 EMEAサイトにアクセスする日本語を話すユーザーは、英語のコンテンツを見ているだけで動けなくなる可能性があります。

作成するサイトでは、通常このパターンに従います:

  • 各ページには、通常 / en / page または別の(サブ)ドメイン
  • のような言語の固有のURLがあります
  • ユーザーが / page などの指定されていない言語でURLを開くと、推測し始めます。
    • 前のセッションからのCookieは利用可能ですか?
    • 利用できない場合、 Accept-Language は利用できますが、サイトで利用可能な言語にマッピングできますか?
    • そうでない場合、可能であれば、IPで推測できますか?
    • そうでない場合は、デフォルトでサイトのデフォルト言語になります。
  • 推測された言語でCookieを設定し、適切なURLでサイトにユーザーをリダイレクトします
  • すべてのページに言語スイッチを配置したため、 / en / page / xx / page に簡単に切り替えることができます。
    • ユーザーが別のページに切り替えると、Cookieが更新されます

理想的には、ユーザーのCookieを使用してから1回だけ推測するか、ユーザーが目的のページに直接アクセスするだけです。

同意します。ユーザーにアプリのユーザー設定で上書きする機会を与えます。これは、ブラウザの設定から導出できないタイムゾーンのローカライズの問題などの場合に特に便利です。

失礼と見なされるリスクがありますが、このトピックへの投稿には、より有益な回答があります。これは主に私の投稿が本当に質問だからです。以前にその投稿を見つけられなかったことを申し訳ありません。

スマートデフォルトと、ユーザーがそれらをオーバーライドする機能には違いがあります。私が取り組んできた大きなアプリでは、ユーザーのロケールをブラウザー設定、地理位置情報などから想定していましたが、常にユーザーに簡単に切り替える方法を与えました。

他にどのようにそれを行うかはわかりません。ユーザーに仮定を修正する機会を与えないことは、問題を引き起こす可能性が高いため、深刻な問題です。

追加:

ここでの問題は、ロケール設定を編集することはできますが、基本的にデフォルトと同じに見える場合、アプリケーション開発者が意図的にそのままにしたのか、そうでないのかを判断する方法がないということです変更の方法または理由を知っている。

ユーザーのローカリゼーション設定を尊重することをお勧めします。設定が圧倒的なデフォルトであり、ユーザーが変更できない場合は、例外をお勧めします。たとえば、ベトナムでジオロケーション設定された en-us のユーザーの大多数(90 +%)は、ほとんどの場合、英語のコンテンツではなく、ベトナム語のコンテンツを表示することで、より良いサービスを提供できると思いますロケールを切り替える簡単な方法があるからです。逆に、米国にジオロケーションされたユーザーがベトナム語の設定を持っている場合、必ずベトナム語のコンテンツを提供してください。

これは、ベトナムのアメリカ英語のユーザーを苛立たせていますか?確かに。しかし、それはまた、多くの人にとって最大の利益であり、平均的な非技術ユーザーが最高の現実世界の経験を得るのを助けます。コンピューターの電源を入れる前に、ユーザーの頭に銃を持ち、ユーザーに言語/文化の好みを正直に宣言させるまで、このようなヒューリスティックが必要になります。

調査した結果、あるユーザーのブラウザーのカルチャ設定が間違っていたことが判明したため、顧客から構成設定を使用してブラウザーをオーバーライドできるようにする、十分な強力なバグレポートを見てきました。ブラウザーのカルチャ設定は頻繁に間違っているため、あまり有用ではありません。また、ほとんどのエンドユーザーがそれを見つけたり変更したりするのは非常に困難です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top