GWT:语言环境没有改变?
为了使我的 GWT 应用程序国际化,我创建了一个消息界面,如下所示:
@DefaultLocale("fr")
@Generate(format =
{ "com.google.gwt.i18n.rebind.format.PropertiesFormat" }, fileName = "Messages", locales =
{ "fr", "en" })
public interface MessageResources extends Messages
{
public static final MessageResources MR = GWT.create(MessageResources.class);
@DefaultMessage("Identifiant")
public String login();
@DefaultMessage("Mot de passe")
public String password();
}
然后我将我的项目配置为支持英语和法语,如下所示:
<inherits name='com.google.gwt.i18n.I18N' />
<extend-property name="locale" values="fr" />
<extend-property name="locale" values="en" />
我使用选项 -extra extra 编译了我的项目,然后复制了这两个文件。属性与接口位于同一包中。但是当我运行我的应用程序时,参数 ?Locale=en 不起作用,应用程序仍保持法语!
To make my GWT application internationalizable, I created a message interface as follows:
@DefaultLocale("fr")
@Generate(format =
{ "com.google.gwt.i18n.rebind.format.PropertiesFormat" }, fileName = "Messages", locales =
{ "fr", "en" })
public interface MessageResources extends Messages
{
public static final MessageResources MR = GWT.create(MessageResources.class);
@DefaultMessage("Identifiant")
public String login();
@DefaultMessage("Mot de passe")
public String password();
}
Then I configured my project to support the English and French as follow:
<inherits name='com.google.gwt.i18n.I18N' />
<extend-property name="locale" values="fr" />
<extend-property name="locale" values="en" />
I compiled my project with the option -extra extra, and I copied the two files. properties in the same package as the interface. But when I run my application the parameter ?Locale=en has no effect and the application remains in French!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
属性文件是在编译时读取的,因此每次修改它们时都必须重新编译(GWT 编译)。
使用 -extra 进行的第一次编译只是生成“骨架”属性文件的“帮助”;你可以自己写(只要你知道要放什么)。
哦,顺便说一句,它是
locale=en
,而不是Locale=en
(小写 L)The properties files are read at compile-time, so you have to re-compile (GWT compile) each time you modify them.
The first compilation with -extra is only a "help" in generating a "skeleton" properties file; you could have written it by yourself (provided you know what to put in there).
Oh, and BTW, it's
locale=en
, notLocale=en
(lowercase L)