Wicket имеет гибкую систему интернационализации StringResourceModel javadocs, например:
WeatherStation ws = new WeatherStation();
add(new Label("weatherMessage", new StringResourceModel(
"weather.${currentStatus}", this, new Model<String>(ws)));
Но я хочу что-то действительно просто, и не смог найти хороший пример этого.
Рассмотрим этот тип пользовательского интерфейса в файле .properties:
msg=Value is {0}
В частности, я бы не хотел создавать объект модели (с геттерами для значений, которые нужно заменить, например, WeatherStation в приведенном выше примере) только для этой цели. Это просто избыточно, если у меня уже есть значения в локальных переменных, и в противном случае нет необходимости в таком объекте.
Здесь глупый способ "грубой силы" заменить {0} на правильное значение:
String value = ... // contains the dynamic value to use
add(new Label("message", getString("msg").replaceAll("\\{0\\}", value)));
Есть ли чистый, более Wicket-y способ сделать это (это не намного длиннее, чем указано выше) ?