|
.NET Framework | |||||||||
PREV TYPE NEXT TYPE | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONST | PROP | METHOD | OP | EVENT | DETAIL: FIELD | CONST | PROP | METHOD | OP | EVENT |
Allows for transparent content negotiation in a manner mimicking Apache httpd's MultiViews.Reads the default language out of the ViewContext as
org.apache.velocity.tools.view.i18n.defaultLanguage. See {@link #findLocalizedResource(String, String)} and {@link #findLocalizedResource(String, Locale)} for usage.
Field Summary | |
---|---|
string |
DEFAULT_LANGUAGE_KEY
The key used to search initialization, context, and JVM parameters for the default language to use. |
string |
defaultLanguage
The two character abbreviation for the request's default language. |
Constructor Summary | |
---|---|
MultiViewsTool() Creates a new uninitialized instance. Call {@link #init} to initialize it. |
Method Summary | |
---|---|
string |
findLocalizedResource(string name, string language) Finds the a localized version of the requested Velocity resource (such as a file or template) which is most appropriate for the locale of the current request. Use in conjuction with Apache httpd's MultiViews, or by itself.Usage from a template would be something like the following: #parse ($multiviews.findLocalizedResource("header.vm", "en")) #include ($multiviews.findLocalizedResource("my_page.html", "en")) #parse ($multiviews.findLocalizedResource("footer.vm", "en"))You might also wrap this method using another pull/view tool which does internationalization/localization/content negation for a single point of access. |
string |
findLocalizedResource(string name) Calls {@link #findLocalizedResource(String, String)} using the default language. |
string |
findLocalizedResource(string name, System.Globalization.CultureInfo locale) Calls {@link #findLocalizedResource(String, String)} using the language extracted from locale. |
void |
Init(object obj) Extracts the default language from the specified ViewContext, looking first at the Velocity context, then the servlet context, then lastly at the JVM default. This "narrow scope to wide scope" pattern makes it easy to setup language overrides at different levels within your application. |
Methods inherited from class System.Object |
---|
Equals, Finalize, GetHashCode, GetType, MemberwiseClone, ToString |
Field Detail |
---|
protected internal string DEFAULT_LANGUAGE_KEY
The key used to search initialization, context, and JVM parameters for the default language to use.
protected internal string defaultLanguage
The two character abbreviation for the request's default language.
Constructor Detail |
---|
public MultiViewsTool()
Creates a new uninitialized instance. Call {@link #init} to initialize it.
Method Detail |
---|
public string findLocalizedResource(string name, string language)
Finds the a localized version of the requested Velocity resource (such as a file or template) which is most appropriate for the locale of the current request. Use in conjuction with Apache httpd's
MultiViews, or by itself.Usage from a template would be something like the following:
#parse ($multiviews.findLocalizedResource("header.vm", "en")) #include ($multiviews.findLocalizedResource("my_page.html", "en")) #parse ($multiviews.findLocalizedResource("footer.vm", "en"))You might also wrap this method using another pull/view tool which does internationalization/localization/content negation for a single point of access.
Parameters:
name
- The unlocalized name of the file to find.
language
- The language to find localized context for.
nameif it is not localizable.
public string findLocalizedResource(string name)
Calls {@link #findLocalizedResource(String, String)} using the default language.
public string findLocalizedResource(string name, System.Globalization.CultureInfo locale)
Calls {@link #findLocalizedResource(String, String)} using the language extracted from
locale.
public void Init(object obj)
Extracts the default language from the specified
ViewContext, looking first at the Velocity context, then the servlet context, then lastly at the JVM default. This "narrow scope to wide scope" pattern makes it easy to setup language overrides at different levels within your application.
Parameters:
obj
- the current ViewContext
@throws IllegalArgumentException if the param is not a ViewContext
|
.NET Framework | |||||||||
PREV TYPE NEXT TYPE | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONST | PROP | METHOD | OP | EVENT | DETAIL: FIELD | CONST | PROP | METHOD | OP | EVENT |