GWT i18n HTML文件

时间:2012-06-11 09:59:59

标签: java html gwt

我已经为java,UI Binder提供了GWT的i18n功能,并尝试在java HTML文件中为i18n提供纯粹的,无托管的。

阅读“Declarative Layout with 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?

1 个答案:

答案 0 :(得分:1)

嗯,你在这里有一个Catch-22:HTML文件无法知道在加载编译出Java代码的JavaScript之前要使用哪个文本,这是由页面,所以在它加载后。

您必须使用标准Java Web应用程序技术来实现HTML页面的国际化,例如:使其成为JSP,并从Accept-Languages请求标头中检测首选语言。如果你这样做,那么生成适当的<meta name="gwt:property" content="locale=XX">,这样GWT应用程序引导程序(.nocache.js文件)也不必猜它,这可能导致GWT应用程序在不同的语言环境中运行HTML生成的那个。