我们的应用程序应该固定使用en-GB区域设置。现在我已经添加了:
<extend-property name="locale" values="en_GB"/>
但这意味着GWT为两者构建了预置项。如何设置GWT默认为en-GB?或者如何从编译中删除default
?
我们的应用程序应该固定使用en-GB区域设置。现在我已经添加了:
<extend-property name="locale" values="en_GB"/>
但这意味着GWT为两者构建了预置项。如何设置GWT默认为en-GB?或者如何从编译中删除default
?
<extend-property name="locale" values="sl_SI"/>
<set-property name="locale" value="sl_SI" />
首先将可用语言环境添加到集合中。
然后设置默认语言环境。
如果默认语言环境与添加的语言环境不同,则 GWT 将为添加的语言环境和默认语言环境构建排列组合。
我在这里扮演考古学家的角色,但根据有关国际化的GWT文档,您应该使用“locale”属性回退而不是强制使用区域设置本身。
因此,在您的模块XML(.gwt.xml
文件)中,您应该使用以下代码:
<!-- Let say you app supports the english language, independent of country -->
<extend-property name="locale" values="en"/>
<!-- Now set the fallback locale so your app will be in british english by default, Sir -->
<set-property-fallback name="locale" value="en_GB"/>
<set-property name="locale" value="en_GB"/>
只会将应用程序的语言环境设置为 en_GB
,并不会为您定义的其他语言环境创建排列组合。怎么样:
<set-property name="locale" value="en_GB" />
default
,但我们希望它是英国英语而不是美国英语。这就是为什么我问如何配置默认语言环境的原因。 - Mike Chaliy@DefaultLocale("en_GB")
,在扩展i18接口的接口上,例如com.google.gwt.i18.client.Messages
。@DefaultLocale("en_GB")
public interface MyMessages extends com.google.gwt.i18.client.Messages {
...
我不确定这是否真正解决了你的问题,但是似乎有一种设置默认值的方法。 另请参阅http://code.google.com/p/google-web-toolkit/wiki/I18nAnnotations
这里有一个更好的解决方案(请查看第二条评论)。
请注意,仅具有此代码的情况
<set-property name="locale" value="en_GB" />
导致 LocaleInfo.getLocaleNativeDisplayName(localeName)
对于默认语言环境返回空字符串。