Add l10n text and parameter container
[Sone.git] / src / main / java / net / pterodactylus / sone / freenet / L10nFilter.java
index c8075c5..e56321d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Sone - L10nFilter.java - Copyright © 2010–2013 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
@@ -53,6 +53,13 @@ public class L10nFilter implements Filter {
         */
        @Override
        public String format(TemplateContext templateContext, Object data, Map<String, Object> 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));
                }