add MessageFormat replacement possibility
[jSite2.git] / src / net / pterodactylus / jsite / i18n / I18n.java
index b6ff1f7..db97d0b 100644 (file)
@@ -24,6 +24,7 @@ import java.awt.event.KeyEvent;
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.Field;
+import java.text.MessageFormat;
 import java.util.Locale;
 import java.util.MissingResourceException;
 import java.util.Properties;
@@ -65,19 +66,27 @@ public class I18n {
        }
 
        /**
-        * Returns the translated value for a key.
+        * Returns the translated value for a key. The translated values may contain
+        * placeholders that are replaced with the given parameters.
         * 
+        * @see MessageFormat
         * @param key
         *            The key to get
+        * @param parameters
+        *            The parameters in case the translated value contains
+        *            placeholders
         * @return The translated message, or the key itself if no translation could
         *         be found
         */
-       public static String get(String key) {
+       public static String get(String key, Object... parameters) {
                String value = null;
                value = currentLanguage.getProperty(key);
                if (value == null) {
                        return key;
                }
+               if ((parameters != null) && (parameters.length > 0)) {
+                       return MessageFormat.format(value, parameters);
+               }
                return value;
        }