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