Save This Page
Home » cocoon-2.1.11-src » org.apache » cocoon » transformation » [javadoc | source]
org.apache.cocoon.transformation
public class: I18nTransformer [javadoc | source]
java.lang.Object
   org.apache.avalon.framework.logger.AbstractLogEnabled
      org.apache.cocoon.xml.AbstractXMLProducer
         org.apache.cocoon.xml.AbstractXMLPipe
            org.apache.cocoon.transformation.AbstractTransformer
               org.apache.cocoon.transformation.I18nTransformer

All Implemented Interfaces:
    org.apache.avalon.framework.activity.Disposable, CacheableProcessingComponent, org.apache.avalon.framework.service.Serviceable, org.apache.avalon.framework.configuration.Configurable, Transformer, XMLPipe, org.apache.avalon.excalibur.pool.Recyclable, XMLProducer

Direct Known Subclasses:
    PortalToolsI18nTransformer

Nested Class Summary:
public final class  I18nTransformer.CatalogueInfo  Holds information about one catalogue. The location and name of the catalogue can contain references to input modules, and are resolved upon each transformer usage. It is important that releaseCatalog is called when the transformer is recycled. 
Field Summary
public static final  String I18N_NAMESPACE_URI    The namespace for i18n is "http://apache.org/cocoon/i18n/2.1". 
public static final  String I18N_OLD_NAMESPACE_URI    The old namespace for i18n is "http://apache.org/cocoon/i18n/2.0". 
public static final  String I18N_TEXT_ELEMENT    i18n:text element is used to translate any text, with or without markup. Example:
<i18n:text>
This is <strong>translated</strong> string.
</i18n:text>
 
public static final  String I18N_TRANSLATE_ELEMENT    i18n:translate element is used to translate text with parameter substitution. Example:
<i18n:translate>
<i18n:text>This is translated string with {0} param</i18n:text>
<i18n:param>1</i18n:param>
</i18n:translate>
The i18n:text fragment can include markup and parameters at any place. Also do parameters, which can include i18n:text, i18n:date, etc. elements (without keys only). 
public static final  String I18N_CHOOSE_ELEMENT    i18n:choose element is used to translate elements in-place. The first i18n:when element matching the current locale is selected and the others are discarded.

To specify what to do if no locale matched, simply add a node with locale="*". Note that this element must be the last child of <i18n:choose>.

<i18n:choose>
<i18n:when locale="en">
Good Morning
</en>
<i18n:when locale="fr">
Bonjour
</jp>
<i18n:when locale="jp">
Aligato?
</jp>
<i18n:otherwise>
Sorry, i don't know how to say hello in your language
</jp>
<i18n:translate>

You can include any markup within i18n:when elements, with the exception of other i18n:* elements.

 
public static final  String I18N_WHEN_ELEMENT    i18n:when is used to test a locale. It can be used within i18:choose elements or alone. Note: Using locale="*" here has no sense. Example:
<greeting>
<i18n:when locale="en">Hello</i18n:when>
<i18n:when locale="fr">Bonjour</i18n:when>
</greeting>
 
public static final  String I18N_IF_ELEMENT    i18n:if is used to test a locale. Example:
<greeting>
<i18n:if locale="en">Hello</i18n:when>
<i18n:if locale="fr">Bonjour</i18n:when>
</greeting>
 
public static final  String I18N_OTHERWISE_ELEMENT    i18n:otherwise is used to match any locale when no matching locale has been found inside an i18n:choose block. 
public static final  String I18N_PARAM_ELEMENT    i18n:param is used with i18n:translate to provide substitution params. The param can have i18n:text as its value to provide multilungual value. Parameters can have additional attributes to be used for formatting:
  • type: can be date, date-time, time, number, currency, currency-no-unit or percent. Used to format params before substitution.
  • value: the value of the param. If no value is specified then the text inside of the param element will be used.
  • locale: used only with number, date, time, date-time types and used to override the current locale to format the given value.
  • src-locale: used with number, date, time, date-time types and specify the locale that should be used to parse the given value.
  • pattern: used with number, date, time, date-time types and specify the pattern that should be used to format the given value.
  • src-pattern: used with number, date, time, date-time types and specify the pattern that should be used to parse the given value.
 
public static final  String I18N_PARAM_NAME_ATTRIBUTE    This attribute affects a name to the param that could be used for substitution.
    since: 2.1 -
 
public static final  String I18N_DATE_ELEMENT    i18n:date is used to provide a localized date string. Allowed attributes are: pattern, src-pattern, locale, src-locale. Usage examples:
<i18n:date src-pattern="short" src-locale="en_US" locale="de_DE">
12/24/01
</i18n:date>

<i18n:date pattern="dd/MM/yyyy" />
If no value is specified then the current date will be used. E.g.:
<i18n:date />
Displays the current date formatted with default pattern for the current locale. 
public static final  String I18N_DATE_TIME_ELEMENT    i18n:date-time is used to provide a localized date and time string. Allowed attributes are: pattern, src-pattern, locale, src-locale. Usage examples:
<i18n:date-time src-pattern="short" src-locale="en_US" locale="de_DE">
12/24/01 1:00 AM
</i18n:date>

<i18n:date-time pattern="dd/MM/yyyy hh:mm" />
If no value is specified then the current date and time will be used. E.g.:
<i18n:date-time />
Displays the current date formatted with default pattern for the current locale. 
public static final  String I18N_TIME_ELEMENT    i18n:time is used to provide a localized time string. Allowed attributes are: pattern, src-pattern, locale, src-locale. Usage examples:
<i18n:time src-pattern="short" src-locale="en_US" locale="de_DE">
1:00 AM
</i18n:time>

<i18n:time pattern="hh:mm:ss" />
If no value is specified then the current time will be used. E.g.:
<i18n:time />
Displays the current time formatted with default pattern for the current locale. 
public static final  String I18N_NUMBER_ELEMENT    i18n:number is used to provide a localized number string. Allowed attributes are: pattern, src-pattern, locale, src-locale, type. Usage examples:
<i18n:number src-pattern="short" src-locale="en_US" locale="de_DE">
1000.0
</i18n:number>

<i18n:number type="currency" />
If no value is specifies then 0 will be used. 
public static final  String I18N_CURRENCY_ELEMENT    Currency element name 
public static final  String I18N_PERCENT_ELEMENT    Percent element name 
public static final  String I18N_INT_CURRENCY_ELEMENT    Integer currency element name 
public static final  String I18N_CURRENCY_NO_UNIT_ELEMENT    Currency without unit element name 
public static final  String I18N_INT_CURRENCY_NO_UNIT_ELEMENT    Integer currency without unit element name 
public static final  String I18N_KEY_ATTRIBUTE    This attribute is used with i18n:text element to indicate the key of the according message. The character data of the element will be used if no message is found by this key. E.g.:
<i18n:text i18n:key="a_key">article_text1</i18n:text>
 
public static final  String I18N_ATTR_ATTRIBUTE    This attribute is used with any element (even not i18n) to translate attribute values. Should contain whitespace separated attribute names that should be translated:
<para title="first" name="article" i18n:attr="title name"/>
Attribute value considered as key in message catalogue. 
public static final  String I18N_EXPR_ATTRIBUTE    This attribute is used with any element (even not i18n) to evaluate attribute values. Should contain whitespace separated attribute names that should be evaluated:
<para title="first" name="{one} {two}" i18n:attr="name"/>
Attribute value considered as expression containing text and catalogue keys in curly braces. 
public static final  String I18N_SRC_PATTERN_ATTRIBUTE    This attribute is used with date and number formatting elements to indicate the pattern that should be used to parse the element value. 
public static final  String I18N_PATTERN_ATTRIBUTE    This attribute is used with date and number formatting elements to indicate the pattern that should be used to format the element value. 
public static final  String I18N_LOCALE_ATTRIBUTE    This attribute is used with date and number formatting elements to indicate the locale that should be used to format the element value. Also used for in-place translations. 
public static final  String I18N_SRC_LOCALE_ATTRIBUTE    This attribute is used with date and number formatting elements to indicate the locale that should be used to parse the element value. 
public static final  String I18N_VALUE_ATTRIBUTE    This attribute is used with date and number formatting elements to indicate the value that should be parsed and formatted. If value attribute is not used then the character data of the element will be used. 
public static final  String I18N_TYPE_ATTRIBUTE    This attribute is used with i18:param to indicate the parameter type: date, time, date-time or number, currency, percent, int-currency, currency-no-unit, int-currency-no-unit. Also used with i18:translate to indicate inplace translations: inplace
     
    public static final  String CURRENCY_LOCALE_ATTRIBUTE    This attribute is used to specify a different locale for the currency. When specified, this locale will be combined with the "normal" locale: e.g. the seperator symbols are taken from the normal locale but the currency symbol and possition will be taken from the currency locale. This enables to see a currency formatted for Euro but with US grouping and decimal char. 
    public static final  String I18N_CATALOGUE_ATTRIBUTE    This attribute can be used on i18n:text to indicate the catalogue from which the key should be retrieved. This attribute is optional, if it is not mentioned the default catalogue is used. 
    public static final  String I18N_LOCALE    This configuration parameter specifies the default locale to be used. 
    public static final  String I18N_DEFAULT_CATALOGUE_ID    This configuration parameter specifies the id of the catalogue to be used as default catalogue, allowing to redefine the default catalogue on the pipeline level. 
    public static final  String I18N_UNTRANSLATED    This configuration parameter specifies the message that should be displayed in case of a not translated text (message not found). 
    public static final  String I18N_PRELOAD    This configuration parameter specifies locale for which catalogues should be preloaded. 
    public static final  String I18N_FRACTION_DIGITS_ATTRIBUTE    fraction-digits attribute is used with i18:number to indicate the number of digits behind the fraction 
    protected  ServiceManager manager    Component (service) manager 
    protected  BundleFactory factory    Message bundle loader factory component (service) 
    protected  Map objectModel     
    protected  Locale locale    Locale 
    Fields inherited from org.apache.cocoon.xml.AbstractXMLProducer:
    EMPTY_CONTENT_HANDLER,  xmlConsumer,  contentHandler,  lexicalHandler
    Method from org.apache.cocoon.transformation.I18nTransformer Summary:
    characters,   configure,   dispose,   endElement,   getKey,   getLocale,   getMessage,   getValidity,   recycle,   service,   setup,   startElement
    Methods from org.apache.cocoon.xml.AbstractXMLPipe:
    characters,   comment,   endCDATA,   endDTD,   endDocument,   endElement,   endEntity,   endPrefixMapping,   ignorableWhitespace,   processingInstruction,   setDocumentLocator,   skippedEntity,   startCDATA,   startDTD,   startDocument,   startElement,   startEntity,   startPrefixMapping
    Methods from org.apache.cocoon.xml.AbstractXMLProducer:
    recycle,   setConsumer,   setContentHandler,   setLexicalHandler
    Methods from java.lang.Object:
    equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
    Method from org.apache.cocoon.transformation.I18nTransformer Detail:
     public  void characters(char[] ch,
        int start,
        int len) throws SAXException 
     public  void configure(Configuration conf) throws ConfigurationException 
      Implementation of Configurable interface. Configure this transformer.
     public  void dispose() 
     public  void endElement(String uri,
        String name,
        String raw) throws SAXException 
     public Serializable getKey() 
      Implemenation of CacheableProcessingComponents. Generates unique key for the current locale.
     public Locale getLocale() 
      Returns the current locale setting of this transformer instance.
     protected ParamSaxBuffer getMessage(String catalogueID,
        String key) 
      Helper method to retrieve a message from the dictionary.
     public SourceValidity getValidity() 
      Implementation of CacheableProcessingComponent. Generates validity object for this transformer or null if this instance is not cacheable.
     public  void recycle() 
     public  void service(ServiceManager manager) throws ServiceException 
     public  void setup(SourceResolver resolver,
        Map objectModel,
        String source,
        Parameters parameters) throws IOException, SAXException, ProcessingException 
      Setup current instance of transformer.
     public  void startElement(String uri,
        String name,
        String raw,
        Attributes attr) throws SAXException