org.nuiton.i18n
Class I18n

java.lang.Object
  extended by org.nuiton.i18n.I18n
Direct Known Subclasses:
I18nf

public class I18n
extends Object

This class is a facility for internationalization. To use it in your soft, you can either :

Author:
poussin, chemit created 2 decembre 2003

Field Summary
static String DEFAULT_ENCODING
           
static Locale DEFAULT_LOCALE
           
protected static org.nuiton.i18n.I18nFilter filter
          Filtre a appliquer avant de retourner les chaines
static String ISO_8859_1_ENCONDING
           
protected static String recordFilePath
          Indique le chemin du fichier dans lequel ecrire les entrees non trouvees
protected static String uniqueBundleName
          le nom d'un unique bundle à utiliser.
static String UTF_8_ENCONDING
           
 
Constructor Summary
I18n()
           
 
Method Summary
static String _(String message)
          Retourne la chaine traduite si possible.
static String _(String message, Object... args)
          Retourne la chaine traduite si possible.
protected static String applyFilter(String message)
          Applique le filtre s'il y en a un
static void close()
          close i18n caches, says the loader if exists

This method should be called to reset all caches (languages, bundles,...)

static URL[] getExtraURL()
           
protected static org.nuiton.i18n.I18nFilter getFilter()
           
static I18nLoader getLoader()
          Get the i18n loader.
static String getRecordFilePath()
           
static String getUniqueBundleName()
           
static void init()
          Initialise la librairie avec encoding par defaut et locale par defaut
static void init(Locale locale)
          Initialize the library for given localeDEFAULT_ENCODING.
static void init(String language, String country)
          Initialise la librairie
static String n_(String message)
          Retourne la chaine passé en argument.
static String n_(String message, Object... args)
          Retourne la chaine passée en argument.
static Locale newLocale(String str)
           
static Locale newLocale(String language, String country)
           
static Locale[] parseLocales(String str)
          Parse a list of Locale seperated by comma.
static void setExtraURL(URL[] extraURL)
          Change extra urls to use in bundle discovering

Note: This method will close the i18n system.

static void setFilter(org.nuiton.i18n.I18nFilter filter)
          Change le filtre des chaines traduites
static void setRecordFilePath(String recordFilePath)
           
static void setUniqueBundleName(String uniqueBundleName)
          Change the unique bunlde name to use

Note: This method will close the i18n system.

 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ISO_8859_1_ENCONDING

public static final String ISO_8859_1_ENCONDING
See Also:
Constant Field Values

UTF_8_ENCONDING

public static final String UTF_8_ENCONDING
See Also:
Constant Field Values

DEFAULT_ENCODING

public static final String DEFAULT_ENCODING
See Also:
Constant Field Values

DEFAULT_LOCALE

public static final Locale DEFAULT_LOCALE

filter

protected static org.nuiton.i18n.I18nFilter filter
Filtre a appliquer avant de retourner les chaines


recordFilePath

protected static String recordFilePath
Indique le chemin du fichier dans lequel ecrire les entrees non trouvees


uniqueBundleName

protected static String uniqueBundleName
le nom d'un unique bundle à utiliser. Si l'on positionne cette propriété, on n'utilisera pas la recherche classique des bunldes à charger mais on se contentera de rechercher le bundle (et ses entrées) à cet emplacement META-INF/uniqueBundleName-XXX.properties. Cela permet de chargement I18n en une seule fois et de ne scruter qu'un seul jar (ou repertoire)... Un goal dans le plugin i18n (i18n:bundle) permet de construire le bundle englobant toutes les autres traductions avec gestion des dépendances.

Since:
1.0.6
Constructor Detail

I18n

public I18n()
Method Detail

init

public static void init()
Initialise la librairie avec encoding par defaut et locale par defaut


init

public static void init(Locale locale)
Initialize the library for given localeDEFAULT_ENCODING.

Parameters:
locale - language to use

init

public static void init(String language,
                        String country)
Initialise la librairie

Parameters:
language - une chaine representant la langue à utiliser fr, en, ...
country - une chaine representant le pays à utiliser FR, GB, ...

_

public static String _(String message)
Retourne la chaine traduite si possible.

Parameters:
message - la chaine a traduire
Returns:
la traduction si possible ou la chaine passee en parametre sinon.

_

public static String _(String message,
                       Object... args)
Retourne la chaine traduite si possible.

Parameters:
message - message formate avec la meme syntaxe que String.format(java.lang.String, java.lang.Object...)
args - les parametres pour le message.
Returns:
la traduction si possible ou la chaine passee en parametre sinon.

n_

public static String n_(String message,
                        Object... args)
Retourne la chaine passée en argument. Utile surtout pour collecter les chaines et ne pas les traduires à leur apparition. Par exemple :
String key = "nuitonutils.key";
 String result = _(key)
fonctionnera, mais la chaine n'aura pas été marquée comme devant être internationalisé. Tres utile par exemple, pour crée des objets non internationnalisé, et devant être traduit seulement à leur lecture suivant la locale du lecteur et non du créateur.

Parameters:
message - message formate avec la meme syntaxe que String.format(String, Object...)
args - les parametres pour le message.
Returns:
le message passe en argument mais formatté avec les parametres

n_

public static String n_(String message)
Retourne la chaine passé en argument. Utile surtout pour collecter les chaines et ne pas les traduires à leur apparition. Par exemple :
String key = "nuitonutils.key";
 String result = _(key)
fonctionnera, mais la chaine n'aura pas été marquée comme devant être internationalisé. Tres utile par exemple, pour crée des objets non internationnalisé, et devant être traduit seulement à leur lecture suivant la locale du lecteur et non du créateur.

Parameters:
message - la chaine à traduire
Returns:
la chaine passée en argument.

getRecordFilePath

public static String getRecordFilePath()

getExtraURL

public static URL[] getExtraURL()
Returns:
the array of extra url to include in bundle search

getUniqueBundleName

public static String getUniqueBundleName()
Returns:
the unique bundle name to use for loading of system
Since:
1.0.6

setFilter

public static void setFilter(org.nuiton.i18n.I18nFilter filter)
Change le filtre des chaines traduites

Parameters:
filter - l'objet filtre a utiliser

setRecordFilePath

public static void setRecordFilePath(String recordFilePath)

setExtraURL

public static void setExtraURL(URL[] extraURL)
Change extra urls to use in bundle discovering

Note: This method will close the i18n system.

Parameters:
extraURL - new extra urls to use

setUniqueBundleName

public static void setUniqueBundleName(String uniqueBundleName)
Change the unique bunlde name to use

Note: This method will close the i18n system.

Parameters:
uniqueBundleName - the new unique bundle pattern to use
Since:
1.0.6

close

public static void close()
close i18n caches, says the loader if exists

This method should be called to reset all caches (languages, bundles,...)


applyFilter

protected static String applyFilter(String message)
Applique le filtre s'il y en a un

Parameters:
message - le message qui devrait etre retourne avant application du filtre.
Returns:
le message filtre

getFilter

protected static org.nuiton.i18n.I18nFilter getFilter()

getLoader

public static I18nLoader getLoader()
Get the i18n loader.

If no loader found, then instanciate a new one.

Returns:
the instanciated i18n loader

parseLocales

public static Locale[] parseLocales(String str)
                             throws IllegalArgumentException
Parse a list of Locale seperated by comma. Example : fr_FR,en_GB

Parameters:
str - the string representation of locale separated by comma
Returns:
list of available locales
Throws:
IllegalArgumentException - ia a locale is not valid

newLocale

public static Locale newLocale(String str)

newLocale

public static Locale newLocale(String language,
                               String country)


Copyright © 2004-2009 CodeLutin. All Rights Reserved.