Подтвердить что ты не робот

Как изменить стандартную локаль в GWT

Наше приложение должно быть исправлено для использования локали eb-GB. На данный момент я добавил:

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

Но это означает, что GWT строит премудры для обоих. Как настроить GWT для eb-GB по умолчанию? Или как удалить default из компиляции?

4b9b3361

Ответ 1

Как насчет:

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

Ответ 2

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

сначала добавляет к множеству доступных локалей.

затем устанавливает значение по умолчанию.

Если значение по умолчанию не установлено в том же языке, что и добавленные, gwt будет строить перестановки для добавленного языкового стандарта и локали по умолчанию.

Ответ 3

Я играю здесь археолога, но согласно GWT docs о интернационализации, вы должны использовать свойство fallback для "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 в качестве языка вашего приложения и не будет создавать перестановку для других локалей, которые вы определили.

Надеюсь, что это поможет.

Ответ 4

Вы можете установить значение по умолчанию с помощью аннотации: @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

Ответ 5

См. this.

Вам нужно указать локаль на главной странице, например...

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

Вы также можете написать своего собственного поставщика услуг.

Ответ 6

Вот лучший взлом (см. второй комментарий).

Обратите внимание, что имея только этот код

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

заставляет LocaleInfo.getLocaleNativeDisplayName(localeName) возвращать пустую строку для языкового стандарта по умолчанию.