Author: nextgens
Date: 2007-04-11 13:21:23 +0000 (Wed, 11 Apr 2007)
New Revision: 12573

Modified:
   trunk/freenet/src/freenet/l10n/L10n.java
   trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
   trunk/freenet/src/freenet/l10n/freenet.l10n.fr.properties
   trunk/freenet/src/freenet/l10n/freenet.l10n.pl.properties
Log:
L10n:
        * Now we use ${} insteed of $() because it's less likely to happen in 
RealText
        * Fix a bug in getString(String, String[], String[] : we need to escape 
some characters!

Modified: trunk/freenet/src/freenet/l10n/L10n.java
===================================================================
--- trunk/freenet/src/freenet/l10n/L10n.java    2007-04-11 13:17:11 UTC (rev 
12572)
+++ trunk/freenet/src/freenet/l10n/L10n.java    2007-04-11 13:21:23 UTC (rev 
12573)
@@ -105,11 +105,30 @@
                String result = getString(key);

                for(int i=0; i<patterns.length; i++)
-                       result = result.replaceAll("\\$\\("+patterns[i]+"\\)", 
values[i]);
+                               result = 
result.replaceAll("\\${"+patterns[i]+"}", quoteReplacement(values[i]));

                return result;
        }

+       private static String quoteReplacement(String s) {
+               if ((s.indexOf('\\') == -1) && (s.indexOf('$') == -1))
+                       return s;
+               StringBuffer sb = new StringBuffer();
+               for (int i=0; i<s.length(); i++) {
+                       char c = s.charAt(i);
+                       if (c == '\\') {
+                               sb.append('\\');
+                               sb.append('\\');
+                       } else if (c == '$') {
+                               sb.append('\\');
+                               sb.append('$');
+                       } else {
+                               sb.append(c);
+                       }
+               }
+               return sb.toString();
+       }
+
        /**
         * Load a property file depending on the given name and using the prefix
         * 
@@ -131,6 +150,7 @@
                        result.load(in); // Can throw IOException
                }
         } catch (Exception e) {
+               Logger.error("L10n", "Error while loading the l10n file from " 
+ name + " :" + e.getMessage());
             result = null;
         } finally {
             if (in != null) try { in.close(); } catch (Throwable ignore) {}
@@ -138,6 +158,41 @@

         return result;
     }
+
+       public static String convert(String line) {
+               final StringBuffer sb = new StringBuffer();
+               int pos = 0;
+               while (pos < line.length())     {
+                       char c = line.charAt(pos++);
+                       if (c == '\\') {
+                               c = line.charAt(pos++);
+                               switch (c) {
+                                       case 'n':
+                                               sb.append('\n');
+                                               break;
+                                       case 't':
+                                               sb.append('\t');
+                                               break;
+                                       case 'r':
+                                               sb.append('\r');
+                                               break;
+                                       case 'u':
+                                               if (pos + 4 <= line.length()) {
+                                                       char uni = (char) 
Integer.parseInt(line.substring(pos, pos + 4), 16);
+                                                       sb.append(uni);
+                                                       pos += 4;
+                                               }// else throw something ?
+                                               break;
+                                       default:
+                                               sb.append(c);
+                                       break;
+                               }
+                       }
+                       else
+                               sb.append(c);
+               }
+               return sb.toString();
+       }

        public static String getSelectedLanguage() {
                return currentClass.selectedLanguage;
@@ -149,9 +204,9 @@

        public static void main(String[] args) {
                L10n.setLanguage("en");
-               System.out.println(L10n.getString("testing.test"));
+               
System.out.println(L10n.getString("QueueToadlet.failedToRestart"));
                L10n.setLanguage("fr");
-               System.out.println(L10n.getString("testing.test"));
-               System.out.println(L10n.getString("testing.test", new String[]{ 
"test1", "test2" }, new String[] { "a", "b" }));
+               
System.out.println(L10n.getString("QueueToadlet.failedToRestart"));
+               //System.out.println(L10n.getString("testing.test", new 
String[]{ "test1", "test2" }, new String[] { "a", "b" }));
        }
 }

Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties   2007-04-11 
13:17:11 UTC (rev 12572)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties   2007-04-11 
13:21:23 UTC (rev 12573)
@@ -8,10 +8,10 @@
 QueueToadlet.verylow=very low
 QueueToadlet.willneverfinish=will never finish
 QueueToadlet.failedToRemoveRequest=Failed to remove request
-QueueToadlet.failedToRemove=Failed to remove $(id): $(message)
+QueueToadlet.failedToRemove=Failed to remove ${id}: ${message}
 QueueToadlet.failedToRestartRequest=Failed to restart request
-QueueToadlet.failedToRestart=Failed to restart: $(id)
-QueueToadlet.failedToRemoveId=Failed to remove: $(id)
+QueueToadlet.failedToRestart=Failed to restart: ${id}
+QueueToadlet.failedToRemoveId=Failed to remove: ${id}
 QueueToadlet.fcpIsMissing=FCP server is missing
 QueueToadlet.pleaseEnableFCP=You need to enable the FCP server to access this 
page
 QueueToadlet.title=Global queue
@@ -29,16 +29,16 @@
 QueueToadlet.UinProgress=Uploads in progress
 QueueToadlet.DUinProgress=Directory uploads in progress
 QueueToadlet.legend=Legend
-QueueToadlet.completedDinTempDirectory=Completed: Downloads to temporary 
directory ($(size))
-QueueToadlet.completedDinDownloadDirectory=Completed: Downloads to download 
directory ($(size))
-QueueToadlet.completedU=Completed: Uploads ($(size))
-QueueToadlet.completedUDirectory=Completed: Directory Uploads ($(size))
-QueueToadlet.failedD=Failed: Downloads ($(size))
-QueueToadlet.failedU=Failed: Uploads ($(size))
-QueueToadlet.failedDU=Failed: Directory Uploads ($(size))
-QueueToadlet.wipD=In Progress: Downloads ($(size))
-QueueToadlet.wipU=In Progress: Uploads ($(size))
-QueueToadlet.wipDU=In Progress: Directory Uploads ($(size))
+QueueToadlet.completedDinTempDirectory=Completed: Downloads to temporary 
directory (${size})
+QueueToadlet.completedDinDownloadDirectory=Completed: Downloads to download 
directory (${size})
+QueueToadlet.completedU=Completed: Uploads (${size})
+QueueToadlet.completedUDirectory=Completed: Directory Uploads (${size})
+QueueToadlet.failedD=Failed: Downloads (${size})
+QueueToadlet.failedU=Failed: Uploads (${size})
+QueueToadlet.failedDU=Failed: Directory Uploads (${size})
+QueueToadlet.wipD=In Progress: Downloads (${size})
+QueueToadlet.wipU=In Progress: Uploads (${size})
+QueueToadlet.wipDU=In Progress: Directory Uploads (${size})
 QueueToadlet.unknown=Unknown
 QueueToadlet.starting=STARTING
 QueueToadlet.none=none
@@ -66,7 +66,7 @@
 QueueToadlet.persistenceRebootr=reboot
 QueueToadlet.persistenceNone=none
 QueueToadlet.errorAccessDenied=Error: Access Denied!
-QueueToadlet.errorAccessDeniedFile=The current configuration of the node 
prohibits you from uploading the file "$(file)".
+QueueToadlet.errorAccessDeniedFile=The current configuration of the node 
prohibits you from uploading the file "${file}".
 QueueToadlet.errorNoKey=No key specified to download
 QueueToadlet.errorNoKeyToD=You did not specify a key to download.
 QueueToadlet.errorInvalidURI=Invalid URI
@@ -81,4 +81,4 @@
 QueueToadlet.errorDownloadNotFoundExplanation=The download could not be found. 
Maybe it was already deleted?

 QueueToadlet.warningUnsafeContent=Potentially Unsafe Content
-QueueToadlet.warningUnsafeContentExplanation=The file you want to download is 
currently not filtered by Freenet\u2019s content filter! That means that your 
anonymity can be compromised by opening the file!
\ No newline at end of file
+QueueToadlet.warningUnsafeContentExplanation=The file you want to download is 
currently not filtered by Freenet\u2019s content filter! That means that your 
anonymity can be compromised by opening the file!

Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.fr.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.fr.properties   2007-04-11 
13:17:11 UTC (rev 12572)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.fr.properties   2007-04-11 
13:21:23 UTC (rev 12573)
@@ -7,7 +7,7 @@
 QueueToadlet.verylow=tr?s basse
 QueueToadlet.willneverfinish=ne finira jamais
 QueueToadlet.failedToRemoveRequest=Impossible d'annuler cette t?che
-QueueToadlet.failedToRemove=Impossible d'annuler cette t?che: $(id): $(message)
+QueueToadlet.failedToRemove=Impossible d'annuler cette t?che: ${id}: ${message}
 QueueToadlet.failedToRestartRequest=Impossible de relancer cette t?che
-QueueToadlet.failedToRestart=Impossible d'annuler la t?che: $(id)
-QueueToadlet.failedToRemoveId=Impossible d'annuler: $(id)
\ No newline at end of file
+QueueToadlet.failedToRestart=Impossible d'annuler la t?che: ${id}
+QueueToadlet.failedToRemoveId=Impossible d'annuler: ${id}

Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.pl.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.pl.properties   2007-04-11 
13:17:11 UTC (rev 12572)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.pl.properties   2007-04-11 
13:21:23 UTC (rev 12573)
@@ -1,7 +1,7 @@
 // polish translations
 // diacritical characters test: ????????????????

-testing.test=testpl$(test1)testpl$(test2)testpl
+testing.test=testpl${test1}testpl${test2}testpl
 QueueToadlet.emergency=nadzwyczajny
 QueueToadlet.veryhigh=bardzo wysoki
 QueueToadlet.high=wysoki
@@ -10,7 +10,7 @@
 QueueToadlet.verylow=bardzo niski
 QueueToadlet.willneverfinish=najni?szy
 QueueToadlet.failedToRemoveRequest=Usuni?cie ??dania nie powiod?o si?
-QueueToadlet.failedToRemove=Usuni?cie $(id) nie uda?o si?: $(message)
+QueueToadlet.failedToRemove=Usuni?cie ${id} nie uda?o si?: ${message}
 QueueToadlet.failedToRestartRequest=Wznowienie ??dania nie powiod?o si?
-QueueToadlet.failedToRestart=Ponowienie $(id) nie powiod?o si?
-QueueToadlet.failedToRemoveId=Usuni?cie $(id) nie powiod?o si?
\ No newline at end of file
+QueueToadlet.failedToRestart=Ponowienie ${id} nie powiod?o si?
+QueueToadlet.failedToRemoveId=Usuni?cie ${id} nie powiod?o si?
\ No newline at end of file


Reply via email to