[freenet-cvs] r12573 - trunk/freenet/src/freenet/l10n

nextgens at freenetproject.org nextgens at freenetproject.org
Wed Apr 11 13:21:23 UTC 2007


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




More information about the cvs mailing list