|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.util.ResourceBundle org.stellarium.Translator
public class Translator
Class used to translate strings to any language. Implements a nice interface to gettext which is UTF-8 compliant and is somewhat multiplateform All its operations do not modify the global locale. The purpose of this class is to remove all non-OO C locale functions from stellarium. It could be extended for all locale management using e.g the portable IBM ICU library.
Changes: - Reimplementation of getext in Java by Jerome Beau Reading the .po files and make a map of language (Locale), englishMsgId, translation - Full usage of Java ResourceBundle for Locale and cache management by Fred Simon
Nested Class Summary | |
---|---|
(package private) static class |
Translator.POResourceControl
|
Nested classes/interfaces inherited from class java.util.ResourceBundle |
---|
java.util.ResourceBundle.Control |
Field Summary | |
---|---|
private static java.util.TreeSet<java.lang.String> |
availableLanguages
All languages supported by Stellarium |
private static Translator |
currentTranslator
The currently used translator |
private static java.lang.String |
PO_COMMENT_START
|
static java.util.List<java.lang.String> |
PO_FORMATS
Supports po files |
private static java.lang.String |
PO_KEY
|
private static java.lang.String |
PO_VALUE
|
private static Translator.POResourceControl |
poControl
|
private java.io.File |
poFile
|
private java.util.Map<java.lang.String,java.lang.String> |
properties
|
private static java.util.Map<java.util.Locale,java.io.File> |
supportedLocales
Contains the set of locales (lang,country) supported by stellarium With the File containing the translations. |
Fields inherited from class java.util.ResourceBundle |
---|
parent |
Constructor Summary | |
---|---|
private |
Translator(java.io.File poFile)
|
Method Summary | |
---|---|
static java.util.Locale |
codeToLocale(java.lang.String localeCode)
|
static Translator |
getCurrentTranslator()
|
java.util.Enumeration<java.lang.String> |
getKeys()
|
static java.util.Set<java.lang.String> |
getNamesOfAvailableLanguages()
Get available language codes from directory tree |
static java.util.Set<java.util.Locale> |
getSupportedLocales()
|
static Translator |
getTranslator(java.util.Locale locale)
|
java.lang.String |
getTrueLocaleName()
|
protected java.lang.Object |
handleGetObject(java.lang.String key)
Gets an object for the given key from this resource bundle. |
static void |
initSystemLanguage()
Try to determine system language from system configuration |
private java.lang.String |
interpretValue(java.lang.String currentValue)
|
private static java.util.Locale |
langToLocale(java.lang.String language)
|
private java.lang.String |
normalizeKey(java.lang.String key)
|
private void |
processComment(java.lang.String comment)
|
private void |
processKeyValue(java.lang.String currentKey,
java.lang.String currentValue)
|
private void |
read()
|
static void |
setCurrentTranslator(java.util.Locale locale)
|
java.lang.String |
translate(java.lang.String s)
Translate input message. |
Methods inherited from class java.util.ResourceBundle |
---|
clearCache, clearCache, containsKey, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, handleKeySet, keySet, setParent |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.util.List<java.lang.String> PO_FORMATS
private static final java.util.Map<java.util.Locale,java.io.File> supportedLocales
private static final java.util.TreeSet<java.lang.String> availableLanguages
private static final Translator.POResourceControl poControl
private static Translator currentTranslator
private static final java.lang.String PO_KEY
private static final java.lang.String PO_VALUE
private static final java.lang.String PO_COMMENT_START
private final java.util.Map<java.lang.String,java.lang.String> properties
private final java.io.File poFile
Constructor Detail |
---|
private Translator(java.io.File poFile)
Method Detail |
---|
public static void initSystemLanguage()
public static Translator getTranslator(java.util.Locale locale)
public static java.util.Locale codeToLocale(java.lang.String localeCode)
private static java.util.Locale langToLocale(java.lang.String language)
public static java.util.Set<java.util.Locale> getSupportedLocales()
public static java.util.Set<java.lang.String> getNamesOfAvailableLanguages()
public static Translator getCurrentTranslator()
public static void setCurrentTranslator(java.util.Locale locale)
public java.lang.String getTrueLocaleName()
public java.lang.String translate(java.lang.String s)
s
- input string in english.
private java.lang.String normalizeKey(java.lang.String key)
private void read()
private java.lang.String interpretValue(java.lang.String currentValue)
private void processKeyValue(java.lang.String currentKey, java.lang.String currentValue)
private void processComment(java.lang.String comment)
protected java.lang.Object handleGetObject(java.lang.String key)
handleGetObject
in class java.util.ResourceBundle
key
- the key for the desired object
java.lang.NullPointerException
- if key
is null
public java.util.Enumeration<java.lang.String> getKeys()
getKeys
in class java.util.ResourceBundle
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |