DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR.



Method Summary
String[]
getAvailableTimeZoneIDs()
Get the list of available time zones.
String[]
getCountries()
Gets the list of countries available for localization
String
getCurrentCountry()
Gets the current country; based on the current locale settings in the Servoy Client Locale preferences.
String
getCurrentLanguage()
Gets the current language; based on the current locale settings in the Servoy Client Locale preferences.
String
getCurrentTimeZone()
Gets the current time zone of the client; based on the current locale settings in the Servoy Client Locale preferences.
String
getDefaultDateFormat()
Gets the current default date format; based on the current locale settings in the Servoy Client Locale preferences.
String
getDefaultNumberFormat()
Gets the current default number format; based on the current locale settings in the Servoy Client Locale preferences.
String
getI18NMessage(i18nKey)
Gets the real message (for the clients locale) for a specified message key.
String
getI18NMessage(i18nKey, dynamicValues)
Gets the real message (for the clients locale) for a specified message key.
JSDataSet
getLanguages()
Returns a dataset with rows that contains a language key (en) and the displayname (English) column.
JSDataSet
getSystemMessages()
Returns a dataset with rows that contains 3 columns: 'key' (i18n key), 'reference' (reference text for that key) and 'locale ([CURRENT_LOCALE])' (where [CURRENT_LOCALE] is the current language) - with the system messages of servoy.
Number
getTimeZoneOffset(timeZoneId)
Returns the offset (in milliseconds) of this time zone from UTC for the current date or at the specified date.
Number
getTimeZoneOffset(timeZoneId, date)
Returns the offset (in milliseconds) of this time zone from UTC for the current date or at the specified date.
String[]
getTimeZones()
Returns an array of known timezones.
void
setI18NMessage(i18nKey, value)
Sets the value of i18n key for client scope,if value null the setting is removed.
void
setLocale(language, country)
Set/Overwrite the locale for this client.
void
setTimeZone()
Sets the current time zone of the client.



Method Details

getAvailableTimeZoneIDs

String[]
getAvailableTimeZoneIDs
()
Get the list of available time zones.

Returns

String[]

Sample

//Get the list of available time zones
var timezones = i18n.getAvailableTimeZoneIDs();
 

getCountries

String[]
getCountries
()
Gets the list of countries available for localization

Returns

String[] - a String array containing the available countries.

Sample

i18n.getCountries()
 

getCurrentCountry

String
getCurrentCountry
()

Gets the current country; based on the current locale settings in the Servoy Client Locale preferences.

NOTE: For more information on i18n, see the chapter on Internationalization (i18n) in the Servoy Developer User's Guide, beginning with the Introduction to i18n

Returns

String - a String representing the current country.

Sample

var currCountry = i18n.getCurrentCountry();
 

getCurrentLanguage

String
getCurrentLanguage
()

Gets the current language; based on the current locale settings in the Servoy Client Locale preferences.

NOTE: For more information on i18n, see the chapter on Internationalization (i18n) in the Servoy Developer User's Guide, beginning with the Introduction to i18n

Returns

String - a String representing the current language.

Sample

var currLang = i18n.getCurrentLanguage();
 

getCurrentTimeZone

String
getCurrentTimeZone
()
Gets the current time zone of the client; based on the current locale settings in the Servoy Client Locale preferences. For Servoy Web Clients the time zone is given by the browser (if it is possible to obtain it).

Returns

String - a String representing the current time zone.

Sample

var currTimeZone = i18n.getCurrentTimeZone();
 

getDefaultDateFormat

String
getDefaultDateFormat
()
Gets the current default date format; based on the current locale settings in the Servoy Client Locale preferences.

Returns

String - a String representing the default date format.

Sample

var defaultDateFormat = i18n.getDefaultDateFormat();
 

getDefaultNumberFormat

String
getDefaultNumberFormat
()
Gets the current default number format; based on the current locale settings in the Servoy Client Locale preferences.

Returns

String - a String representing the default number format.

Sample

var defaultNumberFormat = i18n.getDefaultNumberFormat();
 

getI18NMessage

String
getI18NMessage
(i18nKey)
Gets the real message (for the clients locale) for a specified message key.

Parameters

{String} i18nKey - The message key

Returns

String - a String that is the message for the message key.

Sample

// returns 'Welcome my_name in my solution'
// if the key 'mykey.username.text' is 'Welcome {0} in my solution'
i18n.getI18NMessage('mykey.username.text',new Array('my_name'))
 

getI18NMessage

String
getI18NMessage
(i18nKey, dynamicValues)
Gets the real message (for the clients locale) for a specified message key.
You can use parameter substitution by using {n}, where n is a index number of the value thats in the arguments array.

Parameters

{String} i18nKey - The message key
{Object[]} dynamicValues - Arguments array when using parameter substitution.

Returns

String - a String that is the message for the message key.

Sample

// returns 'Welcome my_name in my solution'
// if the key 'mykey.username.text' is 'Welcome {0} in my solution'
i18n.getI18NMessage('mykey.username.text',new Array('my_name'))
 

getLanguages

JSDataSet
getLanguages
()

Returns a dataset with rows that contains a language key (en) and the displayname (English) column.

See http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt for a list that could be returned.

Returns

JSDataSet - a JSDataSet with all the languages.

Sample

var set = i18n.getLanguages();
for(var i=1;i<=set.getMaxRowIndex();i++)
{
	application.output(set.getValue(i, 1) + " " + set.getValue(i, 2));
}
 

getSystemMessages

JSDataSet
getSystemMessages
()
Returns a dataset with rows that contains 3 columns: 'key' (i18n key), 'reference' (reference text for that key) and 'locale ([CURRENT_LOCALE])' (where [CURRENT_LOCALE] is the current language) - with the system messages of servoy.
This means all servoy messages, with all available translations.

Returns

JSDataSet - a JSDataSet with all the system messages.

Sample

var set = i18n.getSystemMessages();
for(var i=1;i<=set.getMaxRowIndex();i++)
{
	application.output(set.getValue(i, 1) + " " + set.getValue(i, 2)+ " " + set.getValue(i, 3));
}
 

getTimeZoneOffset

Number
getTimeZoneOffset
(timeZoneId)
Returns the offset (in milliseconds) of this time zone from UTC for the current date or at the specified date.

Parameters

{String} timeZoneId - The time zone to get the offset for.

Returns

Number - an int representing the time zone's offset from UTC.

Sample

var timeZoneOffset = i18n.getTimeZoneOffset('America/Los_Angeles');
 

getTimeZoneOffset

Number
getTimeZoneOffset
(timeZoneId, date)
Returns the offset (in milliseconds) of this time zone from UTC for the current date or at the specified date.

Parameters

{String} timeZoneId - The time zone to get the offset for.
{Date} date - The date in the time zone (default current date). Needed in case daylight saving time/GMT offset changes are used in the time zone.

Returns

Number - an int representing the time zone's offset from UTC.

Sample

var timeZoneOffset = i18n.getTimeZoneOffset('America/Los_Angeles');
 

getTimeZones

String[]
getTimeZones
()
Returns an array of known timezones.

Returns

String[] - an Array with all the timezones.

Sample

var timeZones = i18n.getTimeZones();
 

setI18NMessage

void
setI18NMessage
(i18nKey, value)
Sets the value of i18n key for client scope,if value null the setting is removed.
All forms not yet loaded will change (execute this in solution startup or first form)

Parameters

{String} i18nKey - The message key
{String} value - They value for the message key.

Returns

void

Sample

//sets the value of i18n key for client scope; if value null the setting is removed
//Warning: already created form elements with i18n text lookup will not change,
//so call this method in the solution startup method or in methods from first form
//this method saves message for current locale, so if locale is changed with setLocale, all messages set from scripting will be lost

i18n.setI18NMessage('mykey.username.text','my_name')
 

setLocale

void
setLocale
(language, country)

Set/Overwrite the locale for this client.
All forms not yet loaded will change (execute this in solution startup or first form).

The language must be a lowercase 2 letter code defined by ISO-639.
see http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
The country must be an upper case 2 letter code defined by IS-3166
see http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html

NOTE: For more information on i18n, see the chapter on Internationalization (i18n) in the Servoy Developer User's Guide, beginning with the Introduction to i18n

Parameters

{String} language - The lowercase 2 letter code
{String} country - The upper case 2 letter code.

Returns

void

Sample

//Warning: already created form elements with i18n text lookup will not change,
//so call this method in the solution startup method or in methods from first form

i18n.setLocale('en','US');
 

setTimeZone

void
setTimeZone
()
Sets the current time zone of the client.
The parameter should be a string having the format which can be retrieved via i18n.getAvailableTimeZones or
can be seen in the SmartClient Edit -> Preferences -> Locale at the "Default Timezone" combobox.
For instance the time zone for Netherlands is set using the ID "Europe/Amsterdam".

Returns

void

Sample

// This will set the default time zone to Central European Time
i18n.setTimeZone("Europe/Amsterdam");