我想为我的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 这必须为男性加载英文版。
感谢。
答案 0 :(得分:1)
如何将en_US_Men
和en_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。