6

GWT gets locale from either the locale property or the locale query string. If neither is specified, it uses the "default" (ie en_US) locale.

Why doesn't it get it from the browser settings?

It seems the only solution to this is to replace your static html launch page with something like a JSP that reads the browser locales and sets the locale or redirects using the query string. There has to be a better solution than this or simply hard-coding a locale, surely?

4

6 に答える 6

6

このスイッチを *.gwt.xml に入れることもできます

<set-configuration-property name="locale.useragent" value="Y"/>

これにより、ブラウザで選択された言語に基づいて言語選択が追加されます。設定することで、ロケールの検索順序を制御することもできます

  <set-configuration-property name="locale.searchorder" value="queryparam,cookie,meta,useragent"/>

ただし、IE ではこれが機能しないことに注意してください。IE によって送信される「Accept-Language」ヘッダーに基づいて、サーバー側の言語選択を開発する必要があります。

于 2011-11-03T09:19:44.500 に答える
3

使用可能な言語のリストを *.gwt.xml ファイルに入れると、デフォルトで最初にリストされた言語に切り替わります。

<!-- Slovenian in Slovenia -->
<extend-property name="locale" values="sl"/>

<!-- English language, independent of country -->
<extend-property name="locale" values="en"/>
于 2008-10-02T08:14:32.707 に答える
1

Cookie を使用してこの値を保存および送信できますが、そのためには最初に*.gwt.xmlを追加する必要があります

<set-configuration-property name="locale.cookie" value="yourCookieName"/>
<set-configuration-property name="locale.searchorder" value="queryparam,cookie,meta,useragent"/>

ここでは " queryparam" が最も優先度が高く、クエリを使用して新しいロケールを設定httpし、Cookie の値を無視できることに注意してください。

于 2013-05-18T18:30:55.050 に答える
0

エントリ ページが JSP の場合、リクエストのAccept-Languageヘッダーを調べて、ロケールを動的に設定できます。

于 2011-11-24T16:00:42.637 に答える
0

これは私にとってはうまくいきました。あなたにとってもうまくいくことを願っています。

私の問題は、.gwt.xml モジュール記述子でロケール値を宣言していないことでした。その場合、デフォルトのロケールのみが使用されます。サポートされているロケールが異なると、新しいコンパイルの反復/順列が必要になるため、GWT はそのようにします。したがって、宣言されたロケールのみが使用されます。

ここにあなたの例があります:

<!-- Locales -->
<extend-property name="locale" values="en_US"/>
<extend-property name="locale" values="es"/>    
<set-property-fallback name="locale" value="en_US"/>
<set-configuration-property name="locale.useragent" value="Y" />
<set-configuration-property name="locale.searchorder" value="queryparam,cookie,meta,useragent" />

1 行目と 2 行目は、利用可能な/サポートされているロケールを設定します (この例では、米国の英語と特定の国を含まないスペイン語)。3 行目は、誰も検出されなかった場合の既定のロケールを設定します (この既定の宣言は、extend-property行で既定値を宣言した後に設定する必要があります)。4 行目は、ブラウザから送信される HTTP-Headers Accept-Language を使用してロケール検出を有効にします (おそらくデフォルトで有効になっており、設定する必要はまったくありません)。最後の行は、さまざまな検出メカニズムがロケールを検出しようとする順序を設定します。

  1. URL クエリのパラメータとして
  2. クッキーから
  3. HTML ページのメタ値として
  4. ブラウザから送信された HTTP ヘッダーから
于 2015-02-10T15:21:11.187 に答える
0

このエントリを*.gwt.xmlファイルに追加して、効果を確認してください。

詳しくは下記ラインをチェック!

<set-configuration-property name="locale.useragent" value="Y"/>

于 2013-06-25T11:48:45.343 に答える