Package org.ametys.core.util
Class I18nUtils
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.ametys.core.util.I18nUtils
- All Implemented Interfaces:
Disposable
,Initializable
,Component
,Contextualizable
,LogEnabled
,Serviceable
- Direct Known Subclasses:
I18nUtils
public class I18nUtils
extends AbstractLogEnabled
implements Component, Serviceable, Contextualizable, Initializable, Disposable
Utils for i18n
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
Class representing an i18n location -
Field Summary
Modifier and TypeFieldDescriptionprotected Context
The avalon contextprotected Map<String,
I18nUtils.Location> I18n cataloguesprotected SourceResolver
Source Resolverstatic final String
i18n cache idstatic final String
The avalon role -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Configure the i18n catalogueprotected void
Create the i18n cacheget the i18n cache (link language and I18nizable text to a translated value)protected String
_translate
(I18nizableText text, String language, boolean rawValue) Get the translation of the key.void
Clear the i18n cache.void
contextualize
(Context context) void
dispose()
static I18nUtils
Get the unique instanceGet the name of folders into WEB-INF/param which contains i18n cataloguesvoid
void
Reload the i18n catalogues and clear cache.void
service
(ServiceManager manager) translate
(I18nizable text) Get the translation of the key.translate
(I18nizable text, String language) Get the translation of the key.translate
(I18nizable i18nizable, String language, boolean rawValue) Get the translation of the key.Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Field Details
-
ROLE
The avalon role -
I18N_CACHE
i18n cache id -
_locations
I18n catalogues -
_context
The avalon context -
_resolver
Source Resolver
-
-
Constructor Details
-
I18nUtils
public I18nUtils()
-
-
Method Details
-
contextualize
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
service
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
initialize
- Specified by:
initialize
in interfaceInitializable
- Throws:
Exception
-
_createCache
Create the i18n cache -
_configure
Configure the i18n catalogue -
getParamsFoldersWithI18n
Get the name of folders into WEB-INF/param which contains i18n catalogues- Returns:
- the name of folders into WEB-INF/param which contains i18n catalogues
-
reloadCatalogues
Reload the i18n catalogues and clear cache. This method should be called as soon as the list of i18n catalogue was changed, when adding a new catalogue for example. -
getInstance
Get the unique instance- Returns:
- the unique instance
-
translate
Get the translation of the key.- Parameters:
text
- The i18n key to translate- Returns:
- The translation or null if there's no available translation
- Throws:
IllegalStateException
- if an error occured
-
translate
Get the translation of the key.- Parameters:
text
- The i18n key to translatelanguage
- The language code to use for translation. Can be null.- Returns:
- The translation or null if there's no available translation
- Throws:
IllegalStateException
- if an error occurred
-
translate
public String translate(I18nizable i18nizable, String language, boolean rawValue) throws IllegalStateException Get the translation of the key.- Parameters:
i18nizable
- TheI18nizable
to translatelanguage
- The language code to use for translation. Can be null.rawValue
- Set true to get the value corresponding strictly to the specified Locale, without escalading to parent Locale if not found. Note that there is no cache for strict values.- Returns:
- The translation or null if there's no available translation
- Throws:
IllegalStateException
- if an error occurred
-
clearCache
Clear the i18n cache. -
_translate
protected String _translate(I18nizableText text, String language, boolean rawValue) throws IllegalStateException Get the translation of the key. Only use in very specific cases (send mail for example)- Parameters:
text
- The i18n key to translatelanguage
- The language code to use for translation. Can be null.rawValue
- Set true to get the value corresponding strictly to the specified Locale, without escalading to parent Locale if not found- Returns:
- The translation or null if there's no available translation
- Throws:
IllegalStateException
- if an error occured
-
dispose
- Specified by:
dispose
in interfaceDisposable
-
_getI18NCache
get the i18n cache (link language and I18nizable text to a translated value)- Returns:
- the i18n cache
-