net.i2p.util
Class Translate

java.lang.Object
  extended by net.i2p.util.Translate
Direct Known Subclasses:
Messages

public abstract class Translate
extends Object

Translate strings efficiently. We don't include an English or default ResourceBundle, we simply check for "en" and return the original string. Support real-time language changing with the routerconsole.lang property.

Since:
0.7.9
Author:
zzz, from a base generated by eclipse.

Field Summary
static String PROP_COUNTRY
           
static String PROP_LANG
           
 
Constructor Summary
Translate()
           
 
Method Summary
static void clearCache()
          Clear the cache.
static String getCountry(I2PAppContext ctx)
          Two-letter upper case or ""
static String getDisplayLanguage(String langCode, String dflt, I2PAppContext ctx, String bun)
          Return the "display language", e.g.
static String getLanguage(I2PAppContext ctx)
          Two- or three-letter lower case
static String getString(int n, String s, String p, I2PAppContext ctx, String bun)
          Use GNU ngettext For .po file format see http://www.gnu.org/software/gettext/manual/gettext.html.gz#Translating-plural-forms
static String getString(String key, I2PAppContext ctx, String bun)
          lang in routerconsole.lang property, else current locale
static String getString(String s, I2PAppContext ctx, String bun, Object... oArray)
          Varargs
static String getString(String s, Object o, I2PAppContext ctx, String bun)
          translate a string with a parameter This is a lot more expensive than getString(s, ctx), so use sparingly.
static String getString(String s, Object o, Object o2, I2PAppContext ctx, String bun)
          for {0} and {1}
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_LANG

public static final String PROP_LANG
See Also:
Constant Field Values

PROP_COUNTRY

public static final String PROP_COUNTRY
Since:
0.9.10
See Also:
Constant Field Values
Constructor Detail

Translate

public Translate()
Method Detail

getString

public static String getString(String key,
                               I2PAppContext ctx,
                               String bun)
lang in routerconsole.lang property, else current locale


getString

public static String getString(String s,
                               Object o,
                               I2PAppContext ctx,
                               String bun)
translate a string with a parameter This is a lot more expensive than getString(s, ctx), so use sparingly.

Parameters:
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.
o - parameter, not translated. To translate parameter also, use _t("foo {0} bar", _t("baz")) Do not double the single quotes in the parameter. Use autoboxing to call with ints, longs, floats, etc.

getString

public static String getString(String s,
                               Object o,
                               Object o2,
                               I2PAppContext ctx,
                               String bun)
for {0} and {1}


getString

public static String getString(String s,
                               I2PAppContext ctx,
                               String bun,
                               Object... oArray)
Varargs

Parameters:
oArray - parameters
Since:
0.9.8

getString

public static String getString(int n,
                               String s,
                               String p,
                               I2PAppContext ctx,
                               String bun)
Use GNU ngettext For .po file format see http://www.gnu.org/software/gettext/manual/gettext.html.gz#Translating-plural-forms

Parameters:
n - how many
s - singluar string, optionally with {0} e.g. "one tunnel"
p - plural string optionally with {0} e.g. "{0} tunnels"
Since:
0.7.14

getLanguage

public static String getLanguage(I2PAppContext ctx)
Two- or three-letter lower case

Returns:
lang in routerconsole.lang property, else current locale

getCountry

public static String getCountry(I2PAppContext ctx)
Two-letter upper case or ""

Returns:
country in routerconsole.country property, else current locale
Since:
0.9.10

getDisplayLanguage

public static String getDisplayLanguage(String langCode,
                                        String dflt,
                                        I2PAppContext ctx,
                                        String bun)
Return the "display language", e.g. "English" for the language specified by langCode, using the current language. Uses translation if available, then JVM Locale.getDisplayLanguage() if available, else default param.

Parameters:
langCode - two- or three-letter lower-case
dflt - e.g. "English"
Since:
0.9.5

clearCache

public static void clearCache()
Clear the cache. Call this after adding new bundles to the classpath.

Since:
0.7.12