diff --git a/apps/susidns/src/java/src/i2p/susi/dns/Messages.java b/apps/susidns/src/java/src/i2p/susi/dns/Messages.java new file mode 100644 index 000000000..2426606af --- /dev/null +++ b/apps/susidns/src/java/src/i2p/susi/dns/Messages.java @@ -0,0 +1,37 @@ +package i2p.susi.dns; + +import net.i2p.I2PAppContext; +import net.i2p.util.Translate; + +/** + * Translate strings for this package. + */ +public class Messages { + private static final String BUNDLE_NAME = "i2p.susi.dns.messages"; + private final I2PAppContext _context; + + public Messages() { + _context = I2PAppContext.getGlobalContext(); + } + + /** lang in routerconsole.lang property, else current locale */ + public String _(String key) { + return Translate.getString(key, _context, BUNDLE_NAME); + } + + /** + * translate a string with a parameter + * This is a lot more expensive than getString(s, ctx), so use sparingly. + * + * @param s string to be translated containing {0} + * The {0} will be replaced by the parameter. + * Single quotes must be doubled, i.e. ' -> '' in the string. + * @param o parameter, not translated. + * To tranlslate parameter also, use _("foo {0} bar", _("baz")) + * Do not double the single quotes in the parameter. + * Use autoboxing to call with ints, longs, floats, etc. + */ + public String _(String s, Object o) { + return Translate.getString(s, o, _context, BUNDLE_NAME); + } +} diff --git a/history.txt b/history.txt index 7e4a661b0..dcf850ba3 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,44 @@ +2009-12-11 zzz + * Addressbook, susidns: Rework addressbook into a + HttpServlet, so susidns can kick it when the subscription + list changes + * Build: Truncate the history in the updater (-80KB) + * Console: + - Add a nicer handler for missing webapps + - Restore the restart message + - Change "depth" to "length" + * Data: Cache the Hash hashcode + * EepGet: Use InternalSocket if available + * Fragmenter: Pull the new comments, new stats, and + debug log fix from i2p.i2p.zzz.batch in - but not the + batching mods, which need a fresh look. + * I2CP: Implement an internal "socket" class that + allows clients in the same JVM to connect to the + router without going through the kernel + * I2NP: Drop unused classes + * i2psnark: + - Translation support + - Tweak torrent name popup + * I2PTunnel: + - Translation support + - Switch all I2PThreads to I2PAppThreads + - Run an InternalSocket as well for the HTTP Proxy + * Naming Services: + - New EepGetAndAddNamingService that appends new + hosts to hosts.txt + - Move default reverseLookup to base class + - Deprecate unused services + * NetDb: + - Switch from ArrayList to ConcurrentHashSet in + KBucketImpl to reduce chance of deadlock; + remove periodic shuffling of the bucket, + needs to be addressed elsewhere + * SusiDNS: + - Translation support + - Remove jsp's from the war + * Translation: Move code from routerconsole to core, + to support translation of other webapps + * 2009-12-08 0.7.8 released 2009-12-08 zzz diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index b74a3a021..bd644cee5 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 1; + public final static long BUILD = 2; /** for example "-test" */ public final static String EXTRA = ""; public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;