public class I18n
extends java.lang.Object
To learn how message strings wrapped in one of the tr*()
methods can be extracted and localized, see this tutorial.
Constructor and Description |
---|
I18n(java.util.ResourceBundle bundle)
Constructs an I18n object for a resource bundle.
|
I18n(java.lang.String baseName,
java.util.Locale locale,
java.lang.ClassLoader loader)
Constructs an I18n object by calling
setResources(String, Locale,
ClassLoader) . |
Modifier and Type | Method and Description |
---|---|
java.util.Locale |
getLocale()
Returns the locale this instance was created with.
|
java.util.ResourceBundle |
getResources()
Returns the current resource bundle.
|
static java.lang.String |
marktr(java.lang.String text)
Marks
text to be translated, but doesn't return the
translation but text itself. |
boolean |
setLocale(java.util.Locale locale)
Tries to load a resource bundle for the locale.
|
void |
setResources(java.util.ResourceBundle bundle)
Sets a resource bundle to be used for message translations.
|
void |
setResources(java.lang.String baseName,
java.util.Locale locale,
java.lang.ClassLoader loader)
Tries to load a resource bundle using
ResourceBundle.getBundle(java.lang.String, java.util.Locale,
java.lang.ClassLoader) . |
void |
setSourceCodeLocale(java.util.Locale locale)
Sets the locale of the text in the source code.
|
java.lang.String |
tr(java.lang.String text)
Returns
text translated into the currently selected
language. |
java.lang.String |
tr(java.lang.String text,
java.lang.Object o1)
Convenience method that invokes
tr(String, Object[]) . |
java.lang.String |
tr(java.lang.String text,
java.lang.Object[] objects)
Returns
text translated into the currently selected
language. |
java.lang.String |
tr(java.lang.String text,
java.lang.Object o1,
java.lang.Object o2)
Convenience method that invokes
tr(String, Object[]) . |
java.lang.String |
tr(java.lang.String text,
java.lang.Object o1,
java.lang.Object o2,
java.lang.Object o3)
Convenience method that invokes
tr(String, Object[]) . |
java.lang.String |
tr(java.lang.String text,
java.lang.Object o1,
java.lang.Object o2,
java.lang.Object o3,
java.lang.Object o4)
Convenience method that invokes
tr(String, Object[]) . |
java.lang.String |
trc(java.lang.String context,
java.lang.String text)
Disambiguates translation keys.
|
java.lang.String |
trn(java.lang.String text,
java.lang.String pluralText,
long n)
Returns the plural form for
n of the translation of
text . |
java.lang.String |
trn(java.lang.String text,
java.lang.String pluralText,
long n,
java.lang.Object o1)
Overloaded method that invokes
trn(String, String, long, Object[]) passing Object
arguments as an array. |
java.lang.String |
trn(java.lang.String text,
java.lang.String pluralText,
long n,
java.lang.Object[] objects)
Returns the plural form for
n of the translation of
text . |
java.lang.String |
trn(java.lang.String text,
java.lang.String pluralText,
long n,
java.lang.Object o1,
java.lang.Object o2)
Overloaded method that invokes
trn(String, String, long, Object[]) passing Object
arguments as an array. |
java.lang.String |
trn(java.lang.String text,
java.lang.String pluralText,
long n,
java.lang.Object o1,
java.lang.Object o2,
java.lang.Object o3)
Overloaded method that invokes
trn(String, String, long, Object[]) passing Object
arguments as an array. |
java.lang.String |
trn(java.lang.String text,
java.lang.String pluralText,
long n,
java.lang.Object o1,
java.lang.Object o2,
java.lang.Object o3,
java.lang.Object o4)
Overloaded method that invokes
trn(String, String, long, Object[]) passing Object
arguments as an array. |
java.lang.String |
trnc(java.lang.String context,
java.lang.String singularText,
java.lang.String pluralText,
long n)
Returns the plural form for
n of the translation of
text . |
java.lang.String |
trnc(java.lang.String comment,
java.lang.String singularText,
java.lang.String pluralText,
long n,
java.lang.Object obj)
Overloaded method that invokes
trnc(String, String, String, long, Object[]) passing obj
arguments as an array. |
java.lang.String |
trnc(java.lang.String context,
java.lang.String singularText,
java.lang.String pluralText,
long n,
java.lang.Object[] objects)
Returns the plural form for
n of the translation of
text . |
java.lang.String |
trnc(java.lang.String comment,
java.lang.String singularText,
java.lang.String pluralText,
long n,
java.lang.Object obj1,
java.lang.Object obj2)
Overloaded method that invokes
trnc(String, String, String, long, Object[]) passing obj1 and obj2
arguments as an array. |
java.lang.String |
trnc(java.lang.String comment,
java.lang.String singularText,
java.lang.String pluralText,
long n,
java.lang.Object obj1,
java.lang.Object obj2,
java.lang.Object obj3)
Overloaded method that invokes
trnc(String, String, String, long, Object[]) passing obj1 , obj2 and obj3
arguments as an array. |
java.lang.String |
trnc(java.lang.String comment,
java.lang.String singularText,
java.lang.String pluralText,
long n,
java.lang.Object obj1,
java.lang.Object obj2,
java.lang.Object obj3,
java.lang.Object obj4)
Overloaded method that invokes
trnc(String, String, String, long, Object[]) passing obj1 , obj2 , obj3 and obj4
arguments as an array. |
public I18n(java.util.ResourceBundle bundle)
bundle
- must not be null
java.lang.NullPointerException
- if bundle
is nullpublic I18n(java.lang.String baseName, java.util.Locale locale, java.lang.ClassLoader loader)
setResources(String, Locale,
ClassLoader)
.java.util.MissingResourceException
- if the resource bundle could not be loadedjava.lang.NullPointerException
- if one of the arguments is null
public java.util.ResourceBundle getResources()
public java.util.Locale getLocale()
getResources()
.public void setResources(java.util.ResourceBundle bundle)
If this is called, the possibly previously specified class loader and
baseName are invalidated, since the bundle might be from a different
context. Subsequent calls to setLocale(Locale)
won't have any
effect.
public void setResources(java.lang.String baseName, java.util.Locale locale, java.lang.ClassLoader loader)
ResourceBundle.getBundle(java.lang.String, java.util.Locale,
java.lang.ClassLoader)
.java.util.MissingResourceException
- if the bundle could not be loadedjava.lang.NullPointerException
- if one of the arguments is null
public static final java.lang.String marktr(java.lang.String text)
text
to be translated, but doesn't return the
translation but text
itself.public boolean setLocale(java.util.Locale locale)
The resource bundle is then used for message translations. Note, you have to retrieve all messages anew after a locale change in order for them to be translated to the language specified by the new locale.
setResources(ResourceBundle)
.java.util.MissingResourceException
- if the resource bundle for locale
could not be
foundjava.lang.NullPointerException
- if locale
is nullpublic void setSourceCodeLocale(java.util.Locale locale)
Only languages that have one singular and one plural form can be used as
source code locales, since trn(String, String, long)
takes
exactly these two forms as parameters.
locale
- the localejava.lang.NullPointerException
- if locale
is null
trc(String, String)
public final java.lang.String tr(java.lang.String text)
text
translated into the currently selected
language. Every user-visible string in the program must be wrapped into
this function.text
- text to translatepublic final java.lang.String tr(java.lang.String text, java.lang.Object[] objects)
text
translated into the currently selected
language.
Occurrences of {number} placeholders in text are replaced by
objects
.
Invokes
MessageFormat.format(java.lang.String, java.lang.Object[])
.
text
- text to translateobjects
- arguments to MessageFormat.format()
public final java.lang.String tr(java.lang.String text, java.lang.Object o1)
tr(String, Object[])
.public final java.lang.String tr(java.lang.String text, java.lang.Object o1, java.lang.Object o2)
tr(String, Object[])
.public final java.lang.String tr(java.lang.String text, java.lang.Object o1, java.lang.Object o2, java.lang.Object o3)
tr(String, Object[])
.public final java.lang.String tr(java.lang.String text, java.lang.Object o1, java.lang.Object o2, java.lang.Object o3, java.lang.Object o4)
tr(String, Object[])
.public final java.lang.String trn(java.lang.String text, java.lang.String pluralText, long n)
n
of the translation of
text
.text
- the key string to be translated.pluralText
- the plural form of text
.n
- value that determines the plural formpublic final java.lang.String trn(java.lang.String text, java.lang.String pluralText, long n, java.lang.Object[] objects)
n
of the translation of
text
.text
- the key string to be translated.pluralText
- the plural form of text
.n
- value that determines the plural formobjects
- object args to be formatted and substituted.public final java.lang.String trn(java.lang.String text, java.lang.String pluralText, long n, java.lang.Object o1)
trn(String, String, long, Object[])
passing Object
arguments as an array.public final java.lang.String trn(java.lang.String text, java.lang.String pluralText, long n, java.lang.Object o1, java.lang.Object o2)
trn(String, String, long, Object[])
passing Object
arguments as an array.public final java.lang.String trn(java.lang.String text, java.lang.String pluralText, long n, java.lang.Object o1, java.lang.Object o2, java.lang.Object o3)
trn(String, String, long, Object[])
passing Object
arguments as an array.public final java.lang.String trn(java.lang.String text, java.lang.String pluralText, long n, java.lang.Object o1, java.lang.Object o2, java.lang.Object o3, java.lang.Object o4)
trn(String, String, long, Object[])
passing Object
arguments as an array.public final java.lang.String trc(java.lang.String context, java.lang.String text)
context
- the context of the text to be translatedtext
- the ambiguous key message in the source localetext
if the locale of the underlying resource
bundle equals the source code locale, the translation of
comment
otherwise.setSourceCodeLocale(Locale)
public final java.lang.String trnc(java.lang.String context, java.lang.String singularText, java.lang.String pluralText, long n)
n
of the translation of
text
.context
- the context of the message to disambiguate it when translatingtext
- the key string to be translated.pluralText
- the plural form of text
.n
- value that determines the plural formpublic final java.lang.String trnc(java.lang.String context, java.lang.String singularText, java.lang.String pluralText, long n, java.lang.Object[] objects)
n
of the translation of
text
.context
- the context of the message to disambiguate it when translatingtext
- the key string to be translated.pluralText
- the plural form of text
.n
- value that determines the plural formobjects
- object args to be formatted and substituted.public final java.lang.String trnc(java.lang.String comment, java.lang.String singularText, java.lang.String pluralText, long n, java.lang.Object obj)
trnc(String, String, String, long, Object[])
passing obj
arguments as an array.public final java.lang.String trnc(java.lang.String comment, java.lang.String singularText, java.lang.String pluralText, long n, java.lang.Object obj1, java.lang.Object obj2)
trnc(String, String, String, long, Object[])
passing obj1
and obj2
arguments as an array.public final java.lang.String trnc(java.lang.String comment, java.lang.String singularText, java.lang.String pluralText, long n, java.lang.Object obj1, java.lang.Object obj2, java.lang.Object obj3)
trnc(String, String, String, long, Object[])
passing obj1
, obj2
and obj3
arguments as an array.public final java.lang.String trnc(java.lang.String comment, java.lang.String singularText, java.lang.String pluralText, long n, java.lang.Object obj1, java.lang.Object obj2, java.lang.Object obj3, java.lang.Object obj4)
trnc(String, String, String, long, Object[])
passing obj1
, obj2
, obj3
and obj4
arguments as an array.