X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2FL10nFilter.java;h=e56321d91b71229ec5353491167377956c07bfe0;hb=8dbd4962313978d19dd464ead0b413d405921ae3;hp=16dc9fbe280c169c79cd6e7b6e9e8f602cf3d49c;hpb=c41176c97933de44f2d2df08249429cb427b2978;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/freenet/L10nFilter.java b/src/main/java/net/pterodactylus/sone/freenet/L10nFilter.java index 16dc9fb..e56321d 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/L10nFilter.java +++ b/src/main/java/net/pterodactylus/sone/freenet/L10nFilter.java @@ -1,5 +1,5 @@ /* - * Sone - L10nFilter.java - Copyright © 2010 David Roden + * Sone - L10nFilter.java - Copyright © 2010–2016 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -52,7 +52,14 @@ public class L10nFilter implements Filter { * {@inheritDoc} */ @Override - public String format(TemplateContext templateContext, Object data, Map parameters) { + public String format(TemplateContext templateContext, Object data, Map parameters) { + if (data instanceof L10nText) { + L10nText l10nText = (L10nText) data; + if (l10nText.getParameters().isEmpty()) { + return webInterface.getL10n().getString(l10nText.getText()); + } + return new MessageFormat(webInterface.getL10n().getString(l10nText.getText()), new Locale(webInterface.getL10n().getSelectedLanguage().shortCode)).format(l10nText.getParameters().toArray()); + } if (parameters.isEmpty()) { return webInterface.getL10n().getString(String.valueOf(data)); } @@ -60,14 +67,10 @@ public class L10nFilter implements Filter { 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(webInterface.getL10n().getString(String.valueOf(data)), new Locale(webInterface.getL10n().getSelectedLanguage().shortCode)).format(parameterValues.toArray()); } + }