如何更改GWT中的默认语言环境

时间:2010-01-21 14:08:52

标签: gwt localization

我们的应用程序应该修复为使用eb-GB语言环境。现在我已添加:

<extend-property name="locale" values="en_GB"/>

但这意味着GWT为两者构建了前言。如何默认将GWT设置为eb-GB?或者如何从编译中删除default

6 个答案:

答案 0 :(得分:11)

<extend-property name="locale" values="sl_SI"/>
<set-property name="locale" value="sl_SI" />

首先添加可用语言环境集。

然后设置默认值。

如果default没有设置为与添加的语言环境相同的语言环境,gwt将为添加的语言环境和默认语言环境构建排列。

答案 1 :(得分:9)

怎么样:

<set-property name="locale" value="en_GB" />

答案 2 :(得分:8)

我在这里扮演考古学家,但是根据GWT docs about internationalization你应该使用属性回退“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设置为您的应用程序的区域设置,并且不会为您定义的其他区域设置创建排列。

希望这有帮助。

答案 3 :(得分:3)

您可以通过注释来设置默认值:@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

答案 4 :(得分:2)

请参阅this

您需要在主机页面中指定区域设置,如此...

<meta name="gwt:property" content="locale=x_Y">

您也可以编写自己的房产提供商。

答案 5 :(得分:1)

Here is a better hack(见第二条评论)。

请注意,只有此代码

<set-property name="locale" value="en_GB" />

导致LocaleInfo.getLocaleNativeDisplayName(localeName)返回默认语言环境的空字符串。