public abstract class TranslationBundle extends Object
The usage pattern is shown with the following example. First define a new translation bundle:
public class TransportText extends TranslationBundle { public static TransportText get() { return NLS.getBundleFor(TransportText.class); } public String repositoryNotFound; public String transportError; }Second, define one or more resource bundle property files.
TransportText_en_US.properties: repositoryNotFound=repository {0} not found transportError=unknown error talking to {0} TransportText_de.properties: repositoryNotFound=repository {0} nicht gefunden transportError=unbekannter Fehler während der Kommunikation mit {0} ...Then make use of it:
NLS.setLocale(Locale.GERMAN); // or skip this call to stick to the JVM default locale ... throw new TransportException(uri, TransportText.get().transportError);The translated text is automatically injected into the public String fields according to the locale set with
NLS.setLocale(Locale)
. However, the
NLS.setLocale(Locale)
method defines only
prefered locale which will be honored only if it is supported by the provided
resource bundle property files. Basically, this class will use
ResourceBundle.getBundle(String, Locale)
method to load a
resource bundle. See the documentation of this method for a detailed
explanation of resource bundle loading strategy. After a bundle is created
the effectiveLocale()
method can be used to determine whether the
bundle really corresponds to the requested locale or is a fallback.
To load a String from a resource bundle property file this class uses the
ResourceBundle.getString(String)
. This method can throw the
MissingResourceException
and this class is not making any
effort to catch and/or translate this exception.
To define a concrete translation bundle one has to:
Constructor and Description |
---|
TranslationBundle() |
Modifier and Type | Method and Description |
---|---|
Locale |
effectiveLocale()
Get the locale used for loading the resource bundle from which the field
values were taken.
|
ResourceBundle |
resourceBundle()
Get the resource bundle on which this translation bundle is based.
|
public Locale effectiveLocale()
public ResourceBundle resourceBundle()
Copyright © 2017 Eclipse JGit Project. All rights reserved.