我已经为java提供了GWT的i18n特性,UI绑定器,并试图为i18n提供纯的、没有托管在java HTML文件中的特性。
在阅读"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?
发布于 2012-06-11 18:39:29
这里有一个问题:在加载从Java代码编译出来的JavaScript之前,HTML文件不知道要使用哪个文本,这是由页面完成的,所以在加载之后。
你必须使用标准的Java web app技术来国际化你的超文本标记语言页面,比如让它成为一个JSP,并从Accept-Languages
请求头中检测出你喜欢的语言。如果这样做了,那么生成适当的<meta name="gwt:property" content="locale=XX">
,这样GWT应用程序引导程序( .nocache.js
文件)就不必再猜测它,这可能会导致GWT应用程序在与生成HTML时所用的语言环境不同的语言环境中运行。
https://stackoverflow.com/questions/10977963
复制相似问题