Author: nextgens
Date: 2007-04-22 11:42:46 +0000 (Sun, 22 Apr 2007)
New Revision: 12853

Modified:
   trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
   trunk/freenet/src/freenet/l10n/L10n.java
Log:
L10n :
        * Fix one charset conversion bug
        * Add a few comments
        * Trim values and keys before storing them in the translation override

Modified: trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java  2007-04-22 
08:32:32 UTC (rev 12852)
+++ trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java  2007-04-22 
11:42:46 UTC (rev 12853)
@@ -33,6 +33,7 @@
 import freenet.support.SimpleFieldSet;
 import freenet.support.api.Bucket;
 import freenet.support.api.HTTPRequest;
+import freenet.support.io.BucketTools;

 import freenet.frost.message.*;

@@ -87,7 +88,7 @@
                                return;
                        }
                        String key = request.getPartAsString("key", 256);
-                       L10n.setOverride(key, request.getPartAsString("trans", 
256));
+                       L10n.setOverride(key, new 
String(BucketTools.toByteArray(request.getPart("trans")), "UTF-8"));

                        MultiValueTable headers = new MultiValueTable();
                        headers.put("Location", "/?transupdated="+key);

Modified: trunk/freenet/src/freenet/l10n/L10n.java
===================================================================
--- trunk/freenet/src/freenet/l10n/L10n.java    2007-04-22 08:32:32 UTC (rev 
12852)
+++ trunk/freenet/src/freenet/l10n/L10n.java    2007-04-22 11:42:46 UTC (rev 
12853)
@@ -85,14 +85,22 @@
        }

        public static void setOverride(String key, String value) {
-               if(L10n.getString(key).equals(value)) {
+               key = key.trim();
+               value = value.trim();
+               
+               // If there is no need to keep it in the override, remove it
+               if("".equals(value) || L10n.getString(key).equals(value)) {
                        translationOverride.removeValue(key);
-                       return;
-               } else if(translationOverride == null) 
-                       translationOverride = new SimpleFieldSet(false);
-               
-               translationOverride.putOverwrite(key, value);
-               Logger.normal("L10n", "Got a new translation key: set the 
Override!");
+               } else {
+                       // Is the override already declared ? if not, create it.
+                       if(translationOverride == null)
+                               translationOverride = new SimpleFieldSet(false);
+                       
+                       // Set the value of the override
+                       translationOverride.putOverwrite(key, value);
+                       Logger.normal("L10n", "Got a new translation key: set 
the Override!");
+               }
+               // Save the file to disk
                _saveTranslationFile();
        }



Reply via email to