2

私はすでに Java 用の GWT の i18n 機能、UI Binder を提供しており、Java HTML ファイルでホストされていない純粋な i18n を提供しようとしています。

「 UiBinder を使用した宣言型レイアウト」を読んだ後、いくつかのコードを実装しましたが、機能しませんでした:

<html xmlns:ui="urn:ui:com.google.gwt.uibinder">
<ui:with field='i18n' type='//.exampleConstants'/>
  <head>
   <title>Title of none-hosted HTML file and i18n part: <ui:text from='{i18n.title}'/></title>
 </head>
 <body>
  ...
 </body>
</html>

ID を使用したソリューション (同じページで説明: https://developers.google.com/web-toolkit/doc/latest/tutorial/i18n/ ) は、RootPanel によってピックアップされます。

RootPanel.get("appTitle").add(new Label(constants.stockWatcher()));

私のHTMLファイルはJavaにバンドルされていないため、うまくいきませんでした。

HTMLファイルでi18nを行う方法は?

4

1 に答える 1

1

HTML ファイルは、Java コードからコンパイルされた JavaScript が読み込まれるまで、使用するテキストを認識できませんでした。読み込みはページによって行われます。つまり、読み込まれた後です。

HTML ページを国際化するには、標準の Java Web アプリケーション技術を使用する必要があります。たとえば、HTML ページを JSP にしたり、Accept-Languages要求ヘッダーから優先言語を検出したりします。<meta name="gwt:property" content="locale=XX">これを行う場合は、GWT アプリのブートストラップ (ファイル) がそれを推測する必要がないように、適切なものを生成します.nocache.js。その結果、HTML が生成されたロケールとは異なるロケールで GWT アプリが実行される可能性があります。

于 2012-06-11T10:39:29.220 に答える