org.apache.turbine.services.localization
Class LocalizationTool

java.lang.Object
  extended by 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
protected  Locale locale
          The language and country information parsed from the request's Accept-Language header.
 
Constructor Summary
LocalizationTool()
          Creates a new instance.
 
Method Summary
 String format(String key, Object arg1)
          Formats a localized value using the provided object.
 String format(String key, Object[] args)
          Formats a localized value using the provided objects.
 String format(String key, Object arg1, Object arg2)
          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 arg1)
Formats a localized value using the provided object.

Parameters:
key - The identifier for the localized text to retrieve,
arg1 - The object to use as {0} when formatting the localized text.
Returns:
Formatted localized text.
See Also:
#format(String, Locale, String, Object[])

format

public String format(String key,
                     Object arg1,
                     Object arg2)
Formats a localized value using the provided objects.

Parameters:
key - The identifier for the localized text to retrieve,
arg1 - The object to use as {0} when formatting the localized text.
arg2 - The object to use as {1} when formatting the localized text.
Returns:
Formatted localized text.
See Also:
#format(String, Locale, String, Object[])

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-2011 The Apache Software Foundation. All Rights Reserved.