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

时间:2011-08-26 13:48:54

标签: gwt internationalization

我想为我的gwt应用程序进行自定义国际化。这意味着什么?想象一下,我的应用程序必须为男性和女性国际化。 (id =男,女=女)。 是否可以制作两个不同的.properties文件 MyAppMessages_men_en.properties MyAppMessages_women_en.properties

MyAppMessages_men_fr.properties MyAppMessages_men_fr.properties

等...

我的应用主机页面会像这样访问,例如http://blabla/MyAppHostPage.html?locale=en&id=men 这必须为男性加载英文版。

感谢。

1 个答案:

答案 0 :(得分:1)

如何将en_US_Menen_US_Women这样的虚构区域设置标识符用于其他区域设置? (请注意,只要您包含区域设置的变体, 应包含国家/地区)

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

interface MyAppMessagesFactory { MyAppMessages create(); }

class MyAppMessagesFactory_Men implements MyAppMessagesFactory {
   @Override
   public MyAppMessages create() { return GWT.create(MyAppMessages_Men.class); }
}


class MyAppMessagesFactory_Women implements MyAppMessagesFactory {
   @Override
   public MyAppMessages create() { return GWT.create(MyAppMessages_Women.class); }
}

然后您将拥有MyAppMessages_Men_en.properties和MyAppMessages_Women_en.properties。