+ if (parameters.isEmpty()) {
+ return l10n.getString(String.valueOf(data));
+ }
+ List<Object> parameterValues = new ArrayList<Object>();
+ int parameterIndex = 0;
+ while (parameters.containsKey(String.valueOf(parameterIndex))) {
+ Object value = parameters.get(String.valueOf(parameterIndex));
+ if (((String) value).startsWith("=")) {
+ value = ((String) value).substring(1);
+ } else {
+ value = templateContext.get((String) value);
+ }
+ parameterValues.add(value);
+ ++parameterIndex;
+ }
+ return new MessageFormat(l10n.getString(String.valueOf(data)), new Locale(l10n.getSelectedLanguage().shortCode)).format(parameterValues.toArray());