org.apache.turbine.services.localization

## Class LocalizationTool

- java.lang.Object
- - org.apache.turbine.services.localization.LocalizationTool

- All Implemented Interfaces:
    ApplicationTool

      public class LocalizationTool
      extends Object
      implements ApplicationTool

  A pull tool which provides lookups for localized text by delegating to the configured Fulcrum `LocalizationService`.
  Author:
    Eric Pugh, Daniel Rall, Jon Stevens

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Locale` | `locale` The language and country information parsed from the request's `Accept-Language` header.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LocalizationTool()` Creates a new instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `format(String key, Object... args)` Formats a localized value using the provided objects.
    `String` | `get(String key)` Performs text lookups for localization.
    `protected String` | `getBundleName(Object data)` The return value of this method is used to set the name of the bundle used by this tool.
    `Locale` | `getLocale()` Gets the current locale.
    `org.apache.fulcrum.localization.LocalizationService` | `getLocalizationService()` Lazy load the LocalizationService.
    `void` | `init(Object data)` Sets the request to get the `Accept-Language` header from (reset on each request).
    `void` | `refresh()` No-op.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### locale

          protected Locale locale

      The language and country information parsed from the request's `Accept-Language` header. Reset on each request.

  - ### Constructor Detail

    - #### LocalizationTool

          public LocalizationTool()

      Creates a new instance. Used by `PullService`.

  - ### Method Detail

    - #### getLocalizationService

          public org.apache.fulcrum.localization.LocalizationService getLocalizationService()

      Lazy load the LocalizationService.
      Returns:
        a fulcrum LocalizationService

    - #### get

          public String get(String key)

      Performs text lookups for localization.

      Assuming there is a instance of this class with a HTTP request set in your template's context named `l10n`, the VTL `$l10n.HELLO` would render to `hello` for English requests and `hola` in Spanish (depending on the value of the HTTP request's `Accept-Language` header).

      Parameters:
        `key` - The identifier for the localized text to retrieve.
      Returns:
        The localized text.

    - #### getLocale

          public Locale getLocale()

      Gets the current locale.
      Returns:
        The locale currently in use.

    - #### getBundleName

          protected String getBundleName(Object data)

      The return value of this method is used to set the name of the bundle used by this tool. Useful as a hook for using a different bundle than specified in your `LocalizationService` configuration.
      Parameters:
        `data` - The inputs passed from `init(Object)`. (ignored by this implementation).

    - #### format

          public String format(String key,
                      Object... args)

      Formats a localized value using the provided objects.
      Parameters:
        `key` - The identifier for the localized text to retrieve,
        `args` - The objects to use as {0}, {1}, etc. when formatting the localized text.
      Returns:
        Formatted localized text.

    - #### init

          public void init(Object data)

      Sets the request to get the `Accept-Language` header from (reset on each request).
      Specified by:
        `init` in interface `ApplicationTool`
      Parameters:
        `data` - initialization data

    - #### refresh

          public void refresh()

      No-op.
      Specified by:
        `refresh` in interface `ApplicationTool`

Copyright © 2000-2015 The Apache Software Foundation. All Rights Reserved.