Вопрос

У меня есть одноязычное приложение GWT (английское), и я хотел бы использовать локализованные форматы даты и чисел.

я добавил <inherits name="com.google.gwt.i18n.I18N"/> моему gwt.xml, но форматы остаются в en-us.Я проверил лакаль браузера с помощью этого скрипта

private native String getBrowserLocale() /*-{
      return navigator.language!=null ? navigator.language : navigator.browserLanguage; 
}-*/;

который сообщает da_DK.

Я также попытался принудительно указать локаль, добавив <meta name="gwt:property" content="locale=da"> к index.html, но не повезло.

Единственный способ получить правильные форматы — это напрямую добавить локали в файл. gwt.xml с использованием <extend-property name="locale" values="da" />, что весьма раздражает, поскольку доступно довольно много локалей.

Кто-нибудь знает обходной путь для этого?

Это было полезно?

Решение

Другого способа использовать встроенные форматы даты и чисел нет.

Это связано с тем, что I18N использует отложенное связывание.

Файлы свойств в локализованных форматах фактически компилируются в локализованный HTML/Javascript.Только один формат пр языка.Браузер загружает правильный локализованный пакет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top