ColdBox Platform Version 3.7.0

coldbox.system.plugins
Class i18n

WEB-INF.cftags.component
        extended by coldbox.system.FrameworkSupertype
            extended by coldbox.system.Plugin
                extended by coldbox.system.plugins.i18n

public class i18n
extends Plugin

This is the i18N plugin based on Paul Hastings cfc. It uses standard Java locale names and has its own storage mechanism via RBundles['Locale']. In order to use the plugin, you must instantiate it and call its setfwLocale() method with the appropriate locale to initialize with. Then you may use its methods.


Constructor Summary
init(any controller)
          Constructor
 
Method Summary
private any buildLocale([string thisLocale='en_US'])
          creates valid core java locale from java style locale ID
 any dateLocaleFormat(date date, [string style='LONG'])
          locale version of dateFormat
 any datetimeLocaleFormat(date date, [string dateStyle='SHORT'], [string timeStyle='SHORT'])
          locale date/time format
 string formatDateTime(numeric thisOffset, string thisPattern, [any tz='[runtime expression]'])
          formats a date/time to given pattern
 date fromEpoch(numeric thisOffset)
          converts java epoch offset to datetime
 array getAvailableTZ()
          returns an array of timezones available on this server
 string getCurrencySymbol([boolean localized='true'])
          returns currency symbol for this locale
 numeric getDST([any thisTZ='[runtime expression]'])
          returns DST savings in hours
 string getDateTimePattern([numeric thisDateFormat='1'], [numeric thisTimeFormat='3'])
          returns locale date/time pattern
 numeric getDay(numeric thisOffset, [any tz='[runtime expression]'])
          returns day from epoch offset
 struct getDecimalSymbols()
          returns strucure holding decimal format symbols for this locale
 any getDefaultLocale()
          Get the default locale string
 any getDefaultResourceBundle()
          Get the default resource bundle path
 string getFWCountry()
          returns a human readable country name for the chosen application locale
 string getFWCountryCode()
          returns 2-letter ISO country name for the chosen application locale
 string getFWISO3CountryCode()
          returns 3-letter ISO country name for the chosen application locale
 string getFWISO3LanguageCode()
          Returns the ISO 3 code for the locale's language
 string getFWLanguage()
          Returns a human readable name for the locale's language
 string getFWLanguageCode()
          Returns the two digit code for the locale's language
 string getFWLocaleDisplay()
          Returns a name for the locale that is appropriate for display to the user
 numeric getHour(numeric thisOffset, [any tz='[runtime expression]'])
          returns hour of day, 24 hr format, from epoch offset
 array getISOcountries()
          returns array of 2 letter ISO countries
 array getISOlanguages()
          returns array of 2 letter ISO languages
 string getLocaleNames()
          returns list of locale names, UNICODE direction char (LRE/RLE) added as required
 query getLocaleQuery()
          returns a sorted query of locales (locale,country,language,dspName,localname
 any getLocaleStorage()
          Get the locale storage string
 array getLocales()
          returns array of locales
 any getLocalizedDays()
          Facade to getShortWeedDays
 string getLocalizedMonth(numeric month)
          Returns localized month
 string getLocalizedYear(numeric thisYear)
          Returns localized year, probably only useful for BE calendars like in thailand, etc
 numeric getMinute(numeric thisOffset, [any tz='[runtime expression]'])
          returns minute from epoch offset
 numeric getMonth(numeric thisOffset, [any tz='[runtime expression]'])
          returns month from epoch offset
 struct getRBundles()
          Get a reference to the loaded language keys
 numeric getRawOffset([any tZ='[runtime expression]'])
          returns rawoffset in hours
 numeric getSecond(numeric thisOffset, [any tz='[runtime expression]'])
          returns second from epoch offset
 any getServerTZ()
          returns server TZ
 array getShortWeekDays([boolean calendarOrder='true'])
          returns short day names for this calendar
 array getTZByOffset(numeric thisOffset)
          returns a list of timezones available on this server for a given raw offset
 string getTZDisplayName([any thisTZ='[runtime expression]'], [string dspType=''])
          returns the display name of the timezone requested in either long, short, or default style
 any getTZOffset(numeric thisOffset, [any thisTZ='[runtime expression]'])
          returns offset in hours
 query getTZQuery(boolean returnUnique='true')
          returns a sorted query of timezones, optionally filters for only unique display names (fields:id,offset,dspName,longname,shortname,usesDST)
 struct getVersion()
           returns version of this CFC and icu4j library it uses
 numeric getYear(numeric thisOffset, [any tz='[runtime expression]'])
          returns year from epoch offset
 any getfwLocale()
          Get the user's locale
 numeric i18nDateAdd(numeric thisOffset, string thisDatePart, numeric dateUnits, [any thisTZ='[runtime expression]'])
 numeric i18nDateDiff(numeric thisOffset, numeric thatOffset, string thisDatePart, [any thisTZ='[runtime expression]'])
 string i18nDateFormat(numeric thisOffset, [numeric thisDateFormat='1'], [any tz='[runtime expression]'])
 numeric i18nDateParse(string thisDate)
          parses localized date string to datetime object or returns blank if it can't parse
 string i18nDateTimeFormat(numeric thisOffset, [numeric thisDateFormat='1'], [numeric thisTimeFormat='1'], [any tz='[runtime expression]'])
 numeric i18nDateTimeParse(string thisDate)
          parses localized datetime string to datetime object or returns blank if it can't parse
 string i18nTimeFormat(numeric thisOffset, [numeric thisTimeFormat='1'], [any tz='[runtime expression]'])
 boolean inDST(numeric thisOffset, [any tzToTest='[runtime expression]'])
          determines if a given date in a given timezone is in DST
 void init_i18N(string rbFile, [string rbLocale='en_US'])
          Reads,parses,saves the locale and resource bundles defined in the config
 boolean isBidi()
          determines if given locale is BIDI
 boolean isValidLocale(string thisLocale)
          Validate a locale
 any setDefaultLocale(any defaultLocale)
          Set the default locale
 any setDefaultResourceBundle(any defaultResourceBundle)
          Set the default resource bundle
 any setLocaleStorage(any localeStorage)
          Set the locale storage
 any setfwLocale([string locale=''], [boolean dontloadRBFlag='false'])
          Set the default locale to use in the framework for a specific user
 any timeLocaleFormat(date date, [string style='SHORT'])
          locale version of timeFormat
 numeric toEpoch(date thisDate)
          converts datetime to java epoch offset
 boolean usesDST([any tz='[runtime expression]'])
          determines if a given timezone uses DST
 string weekStarts()
          Determines the first DOW
 
Methods inherited from class coldbox.system.Plugin
getPluginDescription, getPluginName, getPluginVersion, getRequestCollection, getRequestContext, getpluginAuthor, getpluginAuthorURL, getpluginPath, setPluginDescription, setPluginName, setPluginVersion, setpluginAuthor, setpluginAuthorURL
 
Methods inherited from class coldbox.system.FrameworkSupertype
$abort, $dump, $htmlhead, $include, $rethrow, $throw, addAsset, announceInterception, getColdboxOCM, getController, getDatasource, getDebugMode, getInterceptor, getMailService, getMailSettings, getMemento, getModel, getModuleSettings, getMyPlugin, getNewMail, getPlugin, getResource, getSetting, getSettingStructure, getSettingsBean, getValidationManager, includeUDF, loadGlobalUDFLibraries, locateDirectoryPath, locateFilePath, persistVariables, populateModel, relocate, renderExternalView, renderLayout, renderView, runEvent, setDebugMode, setNextEvent, setNextRoute, setSetting, settingExists, validateModel
 
Methods inherited from class WEB-INF.cftags.component
 

Constructor Detail

init

public init(any controller)
Constructor

Parameters:
controller
Method Detail

buildLocale

private any buildLocale([string thisLocale='en_US'])
creates valid core java locale from java style locale ID

Parameters:
thisLocale

dateLocaleFormat

public any dateLocaleFormat(date date, [string style='LONG'])
locale version of dateFormat. Needs object instantiation. That is your job not mine.

Parameters:
date
style - FULL=0, LONG=1, MEDIUM=2, SHORT=3

datetimeLocaleFormat

public any datetimeLocaleFormat(date date, [string dateStyle='SHORT'], [string timeStyle='SHORT'])
locale date/time format. Needs object instantiation. That is your job not mine.

Parameters:
date
dateStyle - FULL=0, LONG=1, MEDIUM=2, SHORT=3
timeStyle - FULL=0, LONG=1, MEDIUM=2, SHORT=3

formatDateTime

public string formatDateTime(numeric thisOffset, string thisPattern, [any tz='[runtime expression]'])
formats a date/time to given pattern

Parameters:
thisOffset
thisPattern
tz

fromEpoch

public date fromEpoch(numeric thisOffset)
converts java epoch offset to datetime

Parameters:
thisOffset - java epoch offset to convert to datetime

getAvailableTZ

public array getAvailableTZ()
returns an array of timezones available on this server


getCurrencySymbol

public string getCurrencySymbol([boolean localized='true'])
returns currency symbol for this locale

Parameters:
localized - return international (USD, THB, etc.) or localized ($,etc.) symbol

getDST

public numeric getDST([any thisTZ='[runtime expression]'])
returns DST savings in hours

Parameters:
thisTZ

getDateTimePattern

public string getDateTimePattern([numeric thisDateFormat='1'], [numeric thisTimeFormat='3'])
returns locale date/time pattern

Parameters:
thisDateFormat - FULL=0, LONG=1, MEDIUM=2, SHORT=3
thisTimeFormat - FULL=0, LONG=1, MEDIUM=2, SHORT=3

getDay

public numeric getDay(numeric thisOffset, [any tz='[runtime expression]'])
returns day from epoch offset

Parameters:
thisOffset - java epoch offset
tz

getDecimalSymbols

public struct getDecimalSymbols()
returns strucure holding decimal format symbols for this locale


getDefaultLocale

public any getDefaultLocale()
Get the default locale string


getDefaultResourceBundle

public any getDefaultResourceBundle()
Get the default resource bundle path


getFWCountry

public string getFWCountry()
returns a human readable country name for the chosen application locale. Eg: United States


getFWCountryCode

public string getFWCountryCode()
returns 2-letter ISO country name for the chosen application locale. Eg: us


getFWISO3CountryCode

public string getFWISO3CountryCode()
returns 3-letter ISO country name for the chosen application locale. Eg: USA


getFWISO3LanguageCode

public string getFWISO3LanguageCode()
Returns the ISO 3 code for the locale's language. Eg: eng


getFWLanguage

public string getFWLanguage()
Returns a human readable name for the locale's language. Eg: English


getFWLanguageCode

public string getFWLanguageCode()
Returns the two digit code for the locale's language. Eg: en


getFWLocaleDisplay

public string getFWLocaleDisplay()
Returns a name for the locale that is appropriate for display to the user. Eg: English (United States)


getHour

public numeric getHour(numeric thisOffset, [any tz='[runtime expression]'])
returns hour of day, 24 hr format, from epoch offset

Parameters:
thisOffset - java epoch offset
tz

getISOcountries

public array getISOcountries()
returns array of 2 letter ISO countries


getISOlanguages

public array getISOlanguages()
returns array of 2 letter ISO languages


getLocaleNames

public string getLocaleNames()
returns list of locale names, UNICODE direction char (LRE/RLE) added as required


getLocaleQuery

public query getLocaleQuery()
returns a sorted query of locales (locale,country,language,dspName,localname. 'localname' will contain the locale's name in its native characters). Suitable for use in creating select lists.


getLocaleStorage

public any getLocaleStorage()
Get the locale storage string


getLocales

public array getLocales()
returns array of locales


getLocalizedDays

public any getLocalizedDays()
Facade to getShortWeedDays. For compatability


getLocalizedMonth

public string getLocalizedMonth(numeric month)
Returns localized month.

Parameters:
month

getLocalizedYear

public string getLocalizedYear(numeric thisYear)
Returns localized year, probably only useful for BE calendars like in thailand, etc.

Parameters:
thisYear

getMinute

public numeric getMinute(numeric thisOffset, [any tz='[runtime expression]'])
returns minute from epoch offset

Parameters:
thisOffset - java epoch offset
tz

getMonth

public numeric getMonth(numeric thisOffset, [any tz='[runtime expression]'])
returns month from epoch offset

Parameters:
thisOffset - java epoch offset
tz

getRBundles

public struct getRBundles()
Get a reference to the loaded language keys


getRawOffset

public numeric getRawOffset([any tZ='[runtime expression]'])
returns rawoffset in hours

Parameters:
tZ

getSecond

public numeric getSecond(numeric thisOffset, [any tz='[runtime expression]'])
returns second from epoch offset

Parameters:
thisOffset - java epoch offset
tz

getServerTZ

public any getServerTZ()
returns server TZ


getShortWeekDays

public array getShortWeekDays([boolean calendarOrder='true'])
returns short day names for this calendar

Parameters:
calendarOrder

getTZByOffset

public array getTZByOffset(numeric thisOffset)
returns a list of timezones available on this server for a given raw offset

Parameters:
thisOffset

getTZDisplayName

public string getTZDisplayName([any thisTZ='[runtime expression]'], [string dspType=''])
returns the display name of the timezone requested in either long, short, or default style

Parameters:
thisTZ
dspType

getTZOffset

public any getTZOffset(numeric thisOffset, [any thisTZ='[runtime expression]'])
returns offset in hours

Parameters:
thisOffset
thisTZ

getTZQuery

public query getTZQuery(boolean returnUnique='true')
returns a sorted query of timezones, optionally filters for only unique display names (fields:id,offset,dspName,longname,shortname,usesDST). Suitable for use in creating select lists.

Parameters:
returnUnique

getVersion

public struct getVersion()
returns version of this CFC and icu4j library it uses.


getYear

public numeric getYear(numeric thisOffset, [any tz='[runtime expression]'])
returns year from epoch offset

Parameters:
thisOffset - java epoch offset
tz

getfwLocale

public any getfwLocale()
Get the user's locale

Overrides:
getfwLocale in class FrameworkSupertype

i18nDateAdd

public numeric i18nDateAdd(numeric thisOffset, string thisDatePart, numeric dateUnits, [any thisTZ='[runtime expression]'])

Parameters:
thisOffset
thisDatePart
dateUnits
thisTZ

i18nDateDiff

public numeric i18nDateDiff(numeric thisOffset, numeric thatOffset, string thisDatePart, [any thisTZ='[runtime expression]'])

Parameters:
thisOffset
thatOffset
thisDatePart
thisTZ

i18nDateFormat

public string i18nDateFormat(numeric thisOffset, [numeric thisDateFormat='1'], [any tz='[runtime expression]'])

Parameters:
thisOffset - java epoch offset
thisDateFormat - FULL=0, LONG=1, MEDIUM=2, SHORT=3
tz

i18nDateParse

public numeric i18nDateParse(string thisDate)
parses localized date string to datetime object or returns blank if it can't parse

Parameters:
thisDate

i18nDateTimeFormat

public string i18nDateTimeFormat(numeric thisOffset, [numeric thisDateFormat='1'], [numeric thisTimeFormat='1'], [any tz='[runtime expression]'])

Parameters:
thisOffset - java epoch offset
thisDateFormat - FULL=0, LONG=1, MEDIUM=2, SHORT=3
thisTimeFormat - FULL=0, LONG=1, MEDIUM=2, SHORT=3
tz

i18nDateTimeParse

public numeric i18nDateTimeParse(string thisDate)
parses localized datetime string to datetime object or returns blank if it can't parse

Parameters:
thisDate

i18nTimeFormat

public string i18nTimeFormat(numeric thisOffset, [numeric thisTimeFormat='1'], [any tz='[runtime expression]'])

Parameters:
thisOffset - java epoch offset
thisTimeFormat - FULL=0, LONG=1, MEDIUM=2, SHORT=3
tz

inDST

public boolean inDST(numeric thisOffset, [any tzToTest='[runtime expression]'])
determines if a given date in a given timezone is in DST

Parameters:
thisOffset
tzToTest

init_i18N

public void init_i18N(string rbFile, [string rbLocale='en_US'])
Reads,parses,saves the locale and resource bundles defined in the config. Called only internally by the framework. Use at your own risk

Parameters:
rbFile - This must be the path + filename UP to but NOT including the locale. We auto-add .properties to the end.
rbLocale

isBidi

public boolean isBidi()
determines if given locale is BIDI


isValidLocale

public boolean isValidLocale(string thisLocale)
Validate a locale

Parameters:
thisLocale - Locale to validate

setDefaultLocale

public any setDefaultLocale(any defaultLocale)
Set the default locale

Parameters:
defaultLocale

setDefaultResourceBundle

public any setDefaultResourceBundle(any defaultResourceBundle)
Set the default resource bundle

Parameters:
defaultResourceBundle

setLocaleStorage

public any setLocaleStorage(any localeStorage)
Set the locale storage

Parameters:
localeStorage

setfwLocale

public any setfwLocale([string locale=''], [boolean dontloadRBFlag='false'])
Set the default locale to use in the framework for a specific user.

Overrides:
setfwLocale in class FrameworkSupertype
Parameters:
locale - The locale to change and set. Must be Java Style: en_US. If none passed, then we default to default locale from configuration settings
dontloadRBFlag - Flag to load the resource bundle for the specified locale (If not already loaded) or just change the framework's locale.

timeLocaleFormat

public any timeLocaleFormat(date date, [string style='SHORT'])
locale version of timeFormat. Needs object instantiation. That is your job not mine.

Parameters:
date
style - FULL=0, LONG=1, MEDIUM=2, SHORT=3

toEpoch

public numeric toEpoch(date thisDate)
converts datetime to java epoch offset

Parameters:
thisDate - datetime to convert to java epoch

usesDST

public boolean usesDST([any tz='[runtime expression]'])
determines if a given timezone uses DST

Parameters:
tz

weekStarts

public string weekStarts()
Determines the first DOW.


ColdBox Platform Version 3.7.0