Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用gwt实现定制国际化?_Gwt_Internationalization - Fatal编程技术网

如何使用gwt实现定制国际化?

如何使用gwt实现定制国际化?,gwt,internationalization,Gwt,Internationalization,我想为我的gwt应用程序定制国际化。这意味着什么?想象一下,我的应用程序必须针对男性和女性进行国际化。(id=男性,id=女性)。 是否可以创建两个不同的.properties文件,如 MyAppMessages\u men\u en.properties MyAppMessages_women_en.properties MyAppMessages\u men\u fr.properties MyAppMessages\u men\u fr.properties 等等 例如,我的应用程序主机页

我想为我的gwt应用程序定制国际化。这意味着什么?想象一下,我的应用程序必须针对男性和女性进行国际化。(id=男性,id=女性)。 是否可以创建两个不同的.properties文件,如 MyAppMessages\u men\u en.properties MyAppMessages_women_en.properties

MyAppMessages\u men\u fr.properties MyAppMessages\u men\u fr.properties

等等

例如,我的应用程序主机页将按如下方式访问 这必须为男性加载英文版本


谢谢。

对于其他地区,如何使用虚构的地区标识符,例如
en_US_Men
en_US_Men
等等? (请注意,只要包含区域设置的变体,就应该包含国家/地区)

否则,我建议对消息使用抽象工厂,并在不同的属性(男性与女性)上使用延迟绑定切换具体实现:

接口MyAppMessagesFactory{MyAppMessages create();}
类MyAppMessagesFactory\u实现MyAppMessagesFactory{
@凌驾
public MyAppMessages create(){return GWT.create(MyAppMessages_Men.class);}
}
类MyAppMessagesFactory\u实现MyAppMessagesFactory{
@凌驾
public MyAppMessages create(){返回GWT.create(MyAppMessages_.class);}
}

然后,您将拥有MyAppMessages\u Men\u en.properties和MyAppMessages\u Women\u en.properties。

是的,我想使用en\u US Men和en\u US Men,但我的gwt应用程序如何理解当我这样访问它时,它对用户en\u Men有什么影响:这样我请求我的应用程序使用locale en\u US和id=Men,所以我想使用en\u US Men。使用locale=en_US_Men(作为一个参数传递)也不是问题。我必须对不同的bing做些什么吗?如果你使用
locale=en\u US\u Men
你不应该再做任何改变。否则,您必须为
区域设置
属性提供自己的
属性提供程序(这将读取两个查询字符串参数并将它们连接起来以形成属性值)。我尝试了这个方法。我创建了两个属性文件MyMessages_en_US_Women.properties和MyMessages_en_US_Men.properties,我在myApp.gwt.xml中添加了这两个属性:当我用&locale=en_US_Men点击主机页时,我收到一个错误,说“找不到密钥的资源…”如果我将属性文件的名称更改为MyMessages_enumens.properties并使用locale=enumens(类似于女性),那么一切都会正常工作。