Локализованные форматы даты и чисел в GWT
-
16-09-2019 - |
Вопрос
У меня есть одноязычное приложение 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.Только один формат пр языка.Браузер загружает правильный локализованный пакет.