net.i2p.util

## Class Translate

- java.lang.Object
- - 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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `PROP_LANG`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Translate()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `clearCache()` Clear the cache.
    `static String` | `getLanguage(I2PAppContext ctx)`
    `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, 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

  - ### 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 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.

    - #### getString

          public static String getString(String s,
                         Object o,
                         Object o2,
                         I2PAppContext ctx,
                         String bun)

      for {0} and {1}

    - #### 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)

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

    - #### clearCache

          public static void clearCache()

      Clear the cache. Call this after adding new bundles to the classpath.
      Since:
        0.7.12