Привыкаю отвечать на мои собственные вопросы =) Вот перекрестная публикация моего «ответа» в группе GWT Google:
Кажется, есть ошибка с обработкой локали по умолчанию.Вот как я пришел к такому выводу:
Я хотел добавить несколько локалей в мой модуль.Подумал, что я мог бы получить табличку для файла свойств, если бы использовал аннотацию @Generate
.Я заметил, что он создал и файл _en.properties
, и файл _default.properties
.Что еще;в файле _ en
полностью отсутствует информация о множественном числе!Хотя в файле _ default
они есть.
Затем я переместил файл _defaults
в тот же каталог, что и мой файл TimeMessages.java
, и переименовал его в TimeMessages_default.properties
.
.место, где я могу удалить <extend-property name="locale" values="en"/>
из файла моего модуля .gwt.xml и, что более важно, &locale=en
из URL при запуске моего приложения.Мне по-прежнему нужна аннотация @DefaultLocale("en")
, хотя в документации четко указано, что в этом нет необходимости.
В заключение, если вы столкнулись с этой проблемой, попробуйте:
- генерацияфайлы свойств, использующие
@Generate
- место
YourMessages_default.properties
рядом с YourMessages.java
- с добавлением интерфейса YourMessages к аннотации
@DefaultLocale("en")
.
О программеэто @Generate
.Это то, что сработало для меня.Как раз перед моим расширением интерфейса сообщения:
@Generate(format = {"com.google.gwt.i18n.rebind.format.PropertiesFormat"})
В журнале GWT было указано, что он создал файл моих свойств, но я не смог его найти.Я исправил это, добавив флаг компилятора -extra extras
, а затем нашел файлы свойств, сгенерированные в каталоге extras
.Включая эту информацию здесь, так как я потратил больше часа на ее выяснение.