public final class I18n extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
I18n.PluralMode
Enumeration of possible plural modes.
|
Modifier and Type | Field and Description |
---|---|
private static java.lang.String[] |
javaInternalMessageKeys |
private static java.util.Map<java.lang.String,I18n.PluralMode> |
languages |
private static java.lang.String |
loadedCode |
private static I18n.PluralMode |
pluralMode |
private static java.util.Map<java.lang.String,java.lang.String[]> |
pstrings |
private static java.util.Map<java.lang.String,java.lang.String> |
strings |
Modifier | Constructor and Description |
---|---|
private |
I18n() |
Modifier and Type | Method and Description |
---|---|
static void |
addTexts(java.io.File source) |
static java.lang.String |
escape(java.lang.String msg) |
static java.util.Locale[] |
getAvailableTranslations()
Get a list of all available JOSM Translations.
|
private static java.lang.String |
gettext_lazy(java.lang.String text,
java.lang.String ctx) |
private static java.lang.String |
gettext(java.lang.String text,
java.lang.String ctx) |
private static java.lang.String |
gettext(java.lang.String text,
java.lang.String ctx,
boolean lazy) |
private static java.lang.String |
gettextn(java.lang.String text,
java.lang.String plural,
java.lang.String ctx,
long num) |
static FeatureAdapter.TranslationAdapter |
getTranslationAdapter() |
private static java.net.URL |
getTranslationFile(java.lang.String lang) |
static boolean |
hasCode(java.lang.String code)
Determines if a language exists for the given code.
|
static void |
init()
I18n initialization.
|
private static boolean |
load(java.io.InputStream en,
java.io.InputStream tr,
boolean add) |
private static boolean |
load(java.lang.String l) |
static java.lang.String |
marktr(java.lang.String text)
Marks a string for translation (such that a script can harvest
the translatable strings from the source files).
|
static java.lang.String |
marktrc(java.lang.String context,
java.lang.String text) |
private static int |
pluralEval(long n) |
static void |
set(java.lang.String localeName)
Sets the default locale (see
Locale.setDefault(Locale) to the local
given by localName . |
static java.lang.String |
tr(java.lang.String text,
java.lang.Object... objects)
Translates some text for the current locale.
|
static void |
translateJavaInternalMessages()
Localizations for file chooser dialog.
|
static java.lang.String |
trc_lazy(java.lang.String context,
java.lang.String text) |
static java.lang.String |
trc(java.lang.String context,
java.lang.String text)
Translates some text in a context for the current locale.
|
static java.lang.String |
trn(java.lang.String singularText,
java.lang.String pluralText,
long n,
java.lang.Object... objects)
Translates some text for the current locale and distinguishes between
singularText and pluralText depending on n . |
static java.lang.String |
trnc(java.lang.String context,
java.lang.String singularText,
java.lang.String pluralText,
long n,
java.lang.Object... objects)
Translates some text in a context for the current locale and distinguishes between
singularText and pluralText depending on n . |
private static I18n.PluralMode pluralMode
private static java.lang.String loadedCode
private static final java.lang.String[] javaInternalMessageKeys
private static java.util.Map<java.lang.String,java.lang.String> strings
private static java.util.Map<java.lang.String,java.lang.String[]> pstrings
private static java.util.Map<java.lang.String,I18n.PluralMode> languages
private I18n()
public static final java.lang.String tr(java.lang.String text, java.lang.Object... objects)
tr("JOSM''s default value is ''{0}''.", val)
.
trn(java.lang.String, java.lang.String, long, java.lang.Object...)
for distinguishing singular from plural text, i.e.,
do not use tr(size == 1 ? "singular" : "plural")
nor
size == 1 ? tr("singular") : tr("plural")
text
- the text to translate.
Must be a string literal. (No constants or local vars.)
Can be broken over multiple lines.
An apostrophe ' must be quoted by another apostrophe.objects
- the parameters for the string.
Mark occurrences in text
with {0}
, {1}
, ...trn(java.lang.String, java.lang.String, long, java.lang.Object...)
,
trc(java.lang.String, java.lang.String)
,
trnc(java.lang.String, java.lang.String, java.lang.String, long, java.lang.Object...)
public static final java.lang.String trc(java.lang.String context, java.lang.String text)
context
- string that helps translators to find an appropriate
translation for text
.text
- the text to translate.tr(java.lang.String, java.lang.Object...)
,
trn(java.lang.String, java.lang.String, long, java.lang.Object...)
,
trnc(java.lang.String, java.lang.String, java.lang.String, long, java.lang.Object...)
public static final java.lang.String trc_lazy(java.lang.String context, java.lang.String text)
public static final java.lang.String marktr(java.lang.String text)
String[] options = new String[] {marktr("up"), marktr("down")};
lbl.setText(tr(options[0]));
text
- the string to be marked for translation.text
unmodified.public static final java.lang.String marktrc(java.lang.String context, java.lang.String text)
public static final java.lang.String trn(java.lang.String singularText, java.lang.String pluralText, long n, java.lang.Object... objects)
singularText
and pluralText
depending on n
.
trn("There was an error!", "There were errors!", i)
or
trn("Found {0} error in {1}!", "Found {0} errors in {1}!", i, Integer.toString(i), url)
.singularText
- the singular text to translate.
Must be a string literal. (No constants or local vars.)
Can be broken over multiple lines.
An apostrophe ' must be quoted by another apostrophe.pluralText
- the plural text to translate.
Must be a string literal. (No constants or local vars.)
Can be broken over multiple lines.
An apostrophe ' must be quoted by another apostrophe.n
- a number to determine whether singularText
or pluralText
is used.objects
- the parameters for the string.
Mark occurrences in singularText
and pluralText
with {0}
, {1}
, ...tr(java.lang.String, java.lang.Object...)
,
trc(java.lang.String, java.lang.String)
,
trnc(java.lang.String, java.lang.String, java.lang.String, long, java.lang.Object...)
public static final java.lang.String trnc(java.lang.String context, java.lang.String singularText, java.lang.String pluralText, long n, java.lang.Object... objects)
singularText
and pluralText
depending on n
.
There can be different translations for the same text within different contexts.context
- string that helps translators to find an appropriate
translation for text
.singularText
- the singular text to translate.
Must be a string literal. (No constants or local vars.)
Can be broken over multiple lines.
An apostrophe ' must be quoted by another apostrophe.pluralText
- the plural text to translate.
Must be a string literal. (No constants or local vars.)
Can be broken over multiple lines.
An apostrophe ' must be quoted by another apostrophe.n
- a number to determine whether singularText
or pluralText
is used.objects
- the parameters for the string.
Mark occurrences in singularText
and pluralText
with {0}
, {1}
, ...tr(java.lang.String, java.lang.Object...)
,
trc(java.lang.String, java.lang.String)
,
trn(java.lang.String, java.lang.String, long, java.lang.Object...)
private static final java.lang.String gettext(java.lang.String text, java.lang.String ctx, boolean lazy)
private static final java.lang.String gettext(java.lang.String text, java.lang.String ctx)
private static final java.lang.String gettext_lazy(java.lang.String text, java.lang.String ctx)
private static final java.lang.String gettextn(java.lang.String text, java.lang.String plural, java.lang.String ctx, long num)
public static java.lang.String escape(java.lang.String msg)
private static java.net.URL getTranslationFile(java.lang.String lang)
public static final java.util.Locale[] getAvailableTranslations()
public static boolean hasCode(java.lang.String code)
code
- The language codetrue
if a language exists, false
otherwisepublic static void init()
public static void addTexts(java.io.File source)
private static boolean load(java.lang.String l)
private static boolean load(java.io.InputStream en, java.io.InputStream tr, boolean add)
public static void set(java.lang.String localeName)
Locale.setDefault(Locale)
to the local
given by localName
.
Ignored if localeName is null. If the locale with name localName
isn't found the default local is set to en (english).localeName
- the locale name. Ignored if null.public static void translateJavaInternalMessages()
private static int pluralEval(long n)
public static FeatureAdapter.TranslationAdapter getTranslationAdapter()