add MessageFormat replacement possibility
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sat, 5 Apr 2008 16:26:40 +0000 (16:26 +0000)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Sat, 5 Apr 2008 16:26:40 +0000 (16:26 +0000)
git-svn-id: http://trooper/svn/projects/jSite/trunk@604 c3eda9e8-030b-0410-8277-bc7414b0a119

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;
        }