gpt4 book ai didi

java - 使用 UiBinder 构建的 GWT 应用程序的本地化在托管模式下不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 03:12:02 27 4
gpt4 key购买 nike

使用 UiBinder 构建的 GWT 应用程序的本地化是否在托管模式下工作?它不适合我。这是我所做的:

1) 向 GWT 模块的 XML 添加了语言环境属性

< inherits name="com.google.gwt.i18n.I18N" / >
< extend-property name='locale' values='en'/>
< extend-property name='locale' values='ru'/>
< set-property-fallback name="locale" value="en"/>

2) 在 *.ui.xml 文件中用 , 标记消息

< ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
ui:generateFormat="com.google.gwt.i18n.rebind.format.PropertiesFormat"
ui:generateKeys="com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator"
ui:generateLocales="default"
xmlns:g="urn:import:com.google.gwt.user.client.ui">

< g:HTMLPanel>
< ui:msg description="Hello Description">Hello!< /ui:msg>
< /g:HTMLPanel>
< /ui:UiBinder>

3) 添加了 GWT 编译器选项 -extra

4) 编译项目。在 extra 文件夹中找到后缀为 .GenMessages.properties 的文件。

5) 本地化生成的消息。将每个 .GenMessages.properties 文件复制到与相应 .ui.xml 文件相同的文件夹中。在文件名中用我的语言环境重命名它,例如.GenMessages_en.properties.GenMessages_ru.properties

6) 重新编译项目。

7) 启动应用程序并更改 URL 中的语言环境变量以进行检查,例如 http://127.0.0.1:8888/TestLocale.html?gwt.codesvr=127.0.0.1:9997&locale=ru

它仍然显示资源的默认英文版本。

我错过了什么?我怎么调试它?日志或输出中没有任何内容。

我在 Windows 下,使用 IntelliJ IDEA 和 Chrome 作为浏览器。

谢谢!

更新:它没有用,因为我有额外的 < set-property name="locale" value="en"/ >在模块配置中 :( 也许它覆盖了 extend-property 标签中的值。

我写了如何使它工作的分步说明 here 以防有人感兴趣。

最佳答案

默认情况下,GWT 生成以包名称开头的属性文件。您是否从文件名中删除了包?

在我的 GWT 项目中最适合我的一件事是使用 LocalizableResource_.properties 作为文件名并将它们全部保存在 com/google/gwt/i18n/client 包中。在 Localization with UiBinder 上查看 GWT 文档

关于java - 使用 UiBinder 构建的 GWT 应用程序的本地化在托管模式下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064371/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com