GWT - 如何部署区域设置属性文件?

时间:2013-04-15 15:05:07

标签: gwt tomcat deployment ant internationalization

请帮助......这是我第一次部署国际化的GWT应用程序。 我在'共享'源文件夹中有3个语言环境属性文件:

  • com.blabla.shared
    • StringConstants.java
    • StringConstants.properties
    • StringConstants_fr.properties
    • StringConstants_es.properties

在开发模式下运行时,使用'& locale = fr'语法更改语言环境没有问题。但是,一旦我使用Ant构建并在Tomcat上部署,我在尝试执行相同操作时会收到404错误。

似乎属性文件未正确插入war文件中。任何人都可以解释一下这些文件应该放在哪里以及是否还需要做任何其他工作来链接它们?

非常感谢, 黎明

2 个答案:

答案 0 :(得分:0)

您是否尝试指定

<meta name="gwt:property" content="locale=fr">
主页中的

(如here所述)?至少它对我有用。

答案 1 :(得分:0)

就像Boris所说,这些本地化的属性文件(例如StringConstants_fr.properties)实际上并没有部署到服务器本身。相反,GWT使用这些文件(仅在GWT编译时)以46903BA33EA6F7A2F0D44EC84020A45D.cache.html(MD5 + .cache.html)的形式编译特定的浏览器/语言环境排列。这些文件包含所有应用程序代码,以及嵌入其中的本地化字符串。对于要编译的每个浏览器/区域设置,您将拥有其中一个排列文件。

例如:

<set-property name="user.agent" value="opera,safari,ie9,ie8,ie6,gecko1_8"/>
<extend-property name="locale" values="en"/>
<extend-property name="locale" values="es"/>

将为您提供12种排列(6种浏览器,每种都有2种语言环境)。你的war文件中有12个这样的MD5 + .cache.html文件。您可以对本地化的字符串文字执行快速文件搜索,以确保它确实嵌入其中一个文件中。

此外,您在WEB-INF / classes目录中看到StringConstants_fr.properties文件的事实是Ant构建和/或eclipse输出指令的工件。那些不应该在那里。它们不会伤害任何东西,但它们会给你的war文件增加不必要的体积。修改Ant构建以将其保留在源目录中。

希望有帮助...