0

ユーザーエージェントに基づいて、どのコンテンツ(メッセージ)を表示するかを決定しようとしています。paramまたはmetaタグをユーザークエリすると、すべてが正しく機能します。Firefoxでも正しく動作します。Firefoxで、言語を英語からフランス語に変更し、ページをリロードすると、すべてが正しく表示されます。これは、ユーザーエージェントに基づいています。ページをchrome/IEで読み込むと、デフォルト(英語)のみが表示されます。システム言語をフランス語(他の言語)に設定すると、すべてがうまく機能しているように見えます。ChromeとIEで言語を設定しても、コンテンツに影響がない理由はありますか?ヘッダーを確認しましたが、フランス語のコンテンツがリクエストされていますか?私は何が欠けていますか?

私のgwt.xmlファイルは、ここで見つけたものに基づいていますhttp://code.google.com/p/google-web-toolkit/source/browse/releases/2.3/user/src/com/google/gwt/i18n /I18N.gwt.xml

追加する必要があるのは、gwt.xmlに次のとおりであるということを理解していました。set-configuration-propertyname = "locale.useragent" value = "Y"

また、次のことがわかりました。GWTがブラウザのロケールを無視するのはなぜですか?これはIEでは機能しないことを示しているようですが、Chromeはどうですか?

4

1 に答える 1

1

http://code.google.com/p/google-web-toolkit/issues/detail?id=4228を参照してください

TL; DR:JavaScriptで見ている情報を取得する信頼できる方法はありません。navigatorオブジェクトは、ユーザーの言語設定ではなく、ブラウザーのロケール(つまり、ブラウザー自体のメニューなどに使用されるロケール)を提供します( Firefoxを除く)。
最善の策は、動的ホストページを使用<meta>し、要求ヘッダーに応じてサーバー上で適切なものを生成することです(つまり、コンテンツネゴシエーション)。

于 2012-04-16T14:10:23.950 に答える