Author: simoneg
Date: Thu Jan 14 03:39:09 2010
New Revision: 899047

URL: http://svn.apache.org/viewvc?rev=899047&view=rev
Log:
Double step in localizing with string parameters

Added:
    
labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/LocalizableStringTest.java
    labs/magma/trunk/foundation-i18n/src/test/resources/META-INF/
    
labs/magma/trunk/foundation-i18n/src/test/resources/META-INF/messages.properties
Modified:
    
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/LocalizeLocalizableString.aj

Modified: 
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/LocalizeLocalizableString.aj
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/LocalizeLocalizableString.aj?rev=899047&r1=899046&r2=899047&view=diff
==============================================================================
--- 
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/LocalizeLocalizableString.aj
 (original)
+++ 
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/LocalizeLocalizableString.aj
 Thu Jan 14 03:39:09 2010
@@ -38,7 +38,15 @@
                message = CurrentLocale.convert(message);
                Object[] args = ls.getArgs();
                if (args == null || args.length == 0) return message;
-               return MessageFormat.format(message, args);
+               Object[] nargs = new Object[args.length];
+               for (int i = 0; i < args.length; i++) {
+                       if (args[i] instanceof String) {
+                               nargs[i] = 
CurrentLocale.convert((String)args[i]);
+                       } else {
+                               nargs[i] = args[i];
+                       }
+               }
+               return MessageFormat.format(message, nargs);
        }
        
 }

Added: 
labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/LocalizableStringTest.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/LocalizableStringTest.java?rev=899047&view=auto
==============================================================================
--- 
labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/LocalizableStringTest.java
 (added)
+++ 
labs/magma/trunk/foundation-i18n/src/test/java/org/apache/magma/i18n/LocalizableStringTest.java
 Thu Jan 14 03:39:09 2010
@@ -0,0 +1,34 @@
+package org.apache.magma.i18n;
+
+import static org.junit.Assert.*;
+
+import java.util.Locale;
+
+import org.apache.magma.basics.LocalizableString;
+import org.junit.Test;
+
+
+public class LocalizableStringTest {
+
+       @Test
+       public void translation() throws Exception {
+               CurrentLocale.setLocale(Locale.ITALY);
+               LocalizableString ls = null;
+               ls = new LocalizableString("no translation");
+               assertEquals("no translation", ls.toString());
+               ls = new LocalizableString("untranslated {0}", 1);
+               assertEquals("untranslated 1", ls.toString());
+               ls = new LocalizableString("My test");
+               assertEquals("Mio test", ls.toString());
+               ls = new LocalizableString("People");
+               assertEquals("persone", ls.toString());
+               ls = new LocalizableString("List of {0}", "animals");
+               assertEquals("Lista di animals", ls.toString());
+               ls = new LocalizableString("List of {0}", "people");
+               assertEquals("Lista di persone", ls.toString());
+               ls = new LocalizableString("List of {0}", "pets");
+               assertEquals("Lista di animali domestici", ls.toString());
+               
+       }
+       
+}

Added: 
labs/magma/trunk/foundation-i18n/src/test/resources/META-INF/messages.properties
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/test/resources/META-INF/messages.properties?rev=899047&view=auto
==============================================================================
--- 
labs/magma/trunk/foundation-i18n/src/test/resources/META-INF/messages.properties
 (added)
+++ 
labs/magma/trunk/foundation-i18n/src/test/resources/META-INF/messages.properties
 Thu Jan 14 03:39:09 2010
@@ -0,0 +1,4 @@
+mytest=Mio test
+listof_0_=Lista di {0}
+people=persone
+pets=animali domestici
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to