#java #gwt #internationalization #duration
#java #gwt #интернационализация #Продолжительность
Вопрос:
Я хочу включить длительность тайм-аута, например «25 секунд» или «1 минута», в пользовательское сообщение. Есть ли способ сделать это в gwt?
Из этого ресурса я знаю, что могу делать такие даты:
@DefaultMessage("Last update: {0,date,medium} {0,time,medium}")
String lastUpdate(Date timestamp);
но, похоже, нет ничего подобного:
// hypothetical
@DefaultMessage("Requests time out after {0,duration}")
String timeout(Interval duration); // also Interval is a JodaTime concept...
Есть ли?
Ответ №1:
JodaTime по-прежнему недоступен для GWT (есть / было несколько проектов, но, к сожалению, ни один из них так и не зарекомендовал себя). Я надеюсь, что когда-нибудь мы увидим новый API даты JavaSE 8 в GWT!
До тех пор я бы использовал следующий подход:
- Сохранение длительности в виде количества секунд (или миллисекунд, если требуется).
- Создание одного интернационализированного сообщения на 0-59 секунд, одного на 1-59 минут и одного на 1-… часов.
- Каждое из этих сообщений может использовать формы множественного числа.
- Выбор наилучшего сообщения (секунды / минуты / часы) программно.