X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ffreenet%2FL10nFilter.java;h=7ca9a5cae02fe1ac65f77e8e6e079bc04f242bf0;hp=e56321d91b71229ec5353491167377956c07bfe0;hb=51e20ad24f9b0eae0b08ed5dbe0c69299d17116e;hpb=8dbd4962313978d19dd464ead0b413d405921ae3 diff --git a/src/main/java/net/pterodactylus/sone/freenet/L10nFilter.java b/src/main/java/net/pterodactylus/sone/freenet/L10nFilter.java index e56321d..7ca9a5c 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/L10nFilter.java +++ b/src/main/java/net/pterodactylus/sone/freenet/L10nFilter.java @@ -23,6 +23,8 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import javax.annotation.Nonnull; + import net.pterodactylus.sone.web.WebInterface; import net.pterodactylus.util.template.Filter; import net.pterodactylus.util.template.TemplateContext; @@ -53,15 +55,23 @@ public class L10nFilter implements Filter { */ @Override 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()); + List parameterValues = getParameters(data, parameters); + String text = getText(data); + if (parameterValues.isEmpty()) { + return webInterface.getL10n().getString(text); } - if (parameters.isEmpty()) { - return webInterface.getL10n().getString(String.valueOf(data)); + return new MessageFormat(webInterface.getL10n().getString(text), new Locale(webInterface.getL10n().getSelectedLanguage().shortCode)).format(parameterValues.toArray()); + } + + @Nonnull + private String getText(Object data) { + return (data instanceof L10nText) ? ((L10nText) data).getText() : String.valueOf(data); + } + + @Nonnull + private List getParameters(Object data, Map parameters) { + if (data instanceof L10nText) { + return ((L10nText) data).getParameters(); } List parameterValues = new ArrayList(); int parameterIndex = 0; @@ -70,7 +80,7 @@ public class L10nFilter implements Filter { parameterValues.add(value); ++parameterIndex; } - return new MessageFormat(webInterface.getL10n().getString(String.valueOf(data)), new Locale(webInterface.getL10n().getSelectedLanguage().shortCode)).format(parameterValues.toArray()); + return parameterValues; } }