Если я хорошо вижу проблему, вы хотите отобразить сообщения с MessageFormat
, например:
Object[] arguments = {
new Integer(7),
new Date(System.currentTimeMillis()),
"a disturbance in the Force"
};
String result = MessageFormat.format(
"At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
arguments);
(пример из javadoc)
Я проверил источник MessageFormat
и я вижу, что getLocale()
является общим для всего сообщения.Вы не можете сделать отдельный параметр для параметра.
Почему бы вам не создать параметр с самой форматированной строкой даты?Например:
Object[] arguments = {
new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa", Locale.UK).format(new Date())
};
String result = MessageFormat.format(
"This is the date format which I always want independently of the locale: {1} ",
arguments);
Первый параметр методов форматирования может быть из локализованных файлов свойств.