Child pages
  • i18n

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\ 

{table:id=|class=servoy sSummerysSummary}{colgroup}{column:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method SummerySummary{th}{tr}{tbody}{tr}{td}[String]\[]{td}{td}[#getAvailableTimeZoneIDs]\()
Get the list of available time zones.{td}{tr}{tbody}{tbody}{tr}{td}[String]\[]{td}{td}[#getCountries]\()
Gets the list of countries available for localization{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getCurrentCountry]\()
Gets the current country; based on the current locale settings in the Servoy Client Locale preferences.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getCurrentLanguage]\()
Gets the current language; based on the current locale settings in the Servoy Client Locale preferences.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getCurrentTimeZone]\()
Gets the current time zone of the client; based on the current locale settings in the Servoy Client Locale preferences.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getDefaultDateFormat]\()
Gets the current default date format; based on the current locale settings in the Servoy Client Locale preferences.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getDefaultNumberFormat]\()
Gets the current default number format; based on the current locale settings in the Servoy Client Locale preferences.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getI18NMessage]\(i18nKey)
{td}{tr}{
Gets the real message (for the clients locale) for a specified message key.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getI18NMessage]\(i18nKey, \[dynamicValues\])
Gets the real message (for the clients locale) for a specified message key.{td}{tr}{tbody}{tbody}{tr}{td}[JSDataSet]{td}{td}[#getLanguages]\()
Returns a dataset with rows that contains a language key (en) and the displayname (English) column.{td}{tr}{tbody}{tbody}{tr}{td}[JSDataSet]{td}{td}[#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.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getTimeZoneOffset]\(timezone, \[date\])
Returns the offset (in milliseconds) of this time zone from UTC for the current date or at the specified date.{td}{tr}{tbody}{tbody}{tr}{td}[String]\[]{td}{td}[#getTimeZones]\()
Returns an array of known timezones.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#setI18NMessage]\(i18nKey, value)
Sets the value of i18n key for client scope,if value null the setting is removed.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#setI18NMessagesFilter]\(columnName, value)
Call this if you want to add a filter for a column (created by you) in the i18n table.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#setI18NMessagesFilter]\(columnName, value)
Call this if you want to add a filter for a column (created by you) in the i18n table.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#setLocale]\(language, country)
Set/Overwrite the locale for this client.{td}{tr}{tbody}{tbody}{tabletr}\\ 

{table:id{td}void{td}{td}[#setTimeZone]\()
Sets the current time zone of the client.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=getCurrentCountrygetAvailableTimeZoneIDs|class=node}{tr:id=name}{td}h6.getCurrentCountrygetAvailableTimeZoneIDs{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getCurrentCountrygetAvailableTimeZoneIDs{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_des|text=|trigger=button}{sub-section}{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_des|trigger=none|class=sIndent}GetsGet the currentlist country;of basedavailable 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{sub-section}{td}{tr}{builder-show:permission=edit}{trtime zones.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_snc|text=|trigger=button}{sub-section}{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_prs|text=|trigger=button}{sub-section}{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_ret|text=|trigger=button}{sub-section}{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_ret|trigger=none|class=sIndent}[String] -- a String representing the current country.]\[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCurrentCountrygetAvailableTimeZoneIDs_sam|trigger=none}{code:language=javascript}
var//Get currCountrythe = list of available time zones 
var timezones = i18n.getCurrentCountrygetAvailableTimeZoneIDs();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getCurrentLanguagegetCountries|class=node}{tr:id=name}{td}h6.getCurrentLanguagegetCountries{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getCurrentLanguagegetCountries{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getCurrentLanguagegetCountries_des|text=|trigger=button}{sub-section}{sub-section:getCurrentLanguagegetCountries_des|trigger=none|class=sIndent}Gets the currentlist language;of basedcountries onavailable 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 i18nfor localization{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getCurrentLanguagegetCountries_snc|text=|trigger=button}{sub-section}{sub-section:getCurrentLanguagegetCountries_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getCurrentLanguagegetCountries_prs|text=|trigger=button}{sub-section}{sub-section:getCurrentLanguagegetCountries_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getCurrentLanguagegetCountries_ret|text=|trigger=button}{sub-section}{sub-section:getCurrentLanguagegetCountries_ret|trigger=none|class=sIndent}[String]\[] -- a String array representingcontaining the currentavailable languagecountries.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getCurrentLanguagegetCountries_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCurrentLanguagegetCountries_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getCurrentLanguagegetCountries_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCurrentLanguagegetCountries_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getCurrentLanguagegetCountries_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCurrentLanguagegetCountries_sam|trigger=none}{code:language=javascript}
var currLang = i18n.getCurrentLanguagegetCountries();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getCurrentTimeZonegetCurrentCountry|class=node}{tr:id=name}{td}h6.getCurrentTimeZonegetCurrentCountry{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getCurrentTimeZonegetCurrentCountry{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getCurrentTimeZonegetCurrentCountry_des|text=|trigger=button}{sub-section}{sub-section:getCurrentTimeZonegetCurrentCountry_des|trigger=none|class=sIndent}Gets the current time zone of the clientcountry; based on the current locale settings in the Servoy Client Locale preferences. 

NOTE: For more information Servoyon Webi18n, Clientssee the timechapter zoneon isInternationalization given(i18n) byin the browser (if it is possible to obtain it). Servoy Developer User's Guide, beginning with the Introduction to i18n{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getCurrentTimeZonegetCurrentCountry_snc|text=|trigger=button}{sub-section}{sub-section:getCurrentTimeZonegetCurrentCountry_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getCurrentTimeZonegetCurrentCountry_prs|text=|trigger=button}{sub-section}{sub-section:getCurrentTimeZonegetCurrentCountry_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getCurrentTimeZonegetCurrentCountry_ret|text=|trigger=button}{sub-section}{sub-section:getCurrentTimeZonegetCurrentCountry_ret|trigger=none|class=sIndent}[String] -- a String representing the current time zonecountry.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getCurrentTimeZonegetCurrentCountry_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCurrentTimeZonegetCurrentCountry_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getCurrentTimeZonegetCurrentCountry_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCurrentTimeZonegetCurrentCountry_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getCurrentTimeZonegetCurrentCountry_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getCurrentTimeZonegetCurrentCountry_sam|trigger=none}{code:language=javascript}
var currTimeZonecurrCountry = i18n.getCurrentTimeZonegetCurrentCountry();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getDefaultDateFormatgetCurrentLanguage|class=node}{tr:id=name}{td}h6.getDefaultDateFormatgetCurrentLanguage{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getDefaultDateFormatgetCurrentLanguage{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getDefaultDateFormatgetCurrentLanguage_des|text=|trigger=button}{sub-section}{sub-section:getDefaultDateFormatgetCurrentLanguage_des|trigger=none|class=sIndent}Gets the current default date formatlanguage; 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{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getDefaultDateFormatgetCurrentLanguage_snc|text=|trigger=button}{sub-section}{sub-section:getDefaultDateFormatgetCurrentLanguage_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getDefaultDateFormatgetCurrentLanguage_prs|text=|trigger=button}{sub-section}{sub-section:getDefaultDateFormatgetCurrentLanguage_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getDefaultDateFormatgetCurrentLanguage_ret|text=|trigger=button}{sub-section}{sub-section:getDefaultDateFormatgetCurrentLanguage_ret|trigger=none|class=sIndent}[String] -- a String representing the defaultcurrent date formatlanguage.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getDefaultDateFormatgetCurrentLanguage_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getDefaultDateFormatgetCurrentLanguage_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getDefaultDateFormatgetCurrentLanguage_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getDefaultDateFormatgetCurrentLanguage_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getDefaultDateFormatgetCurrentLanguage_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getDefaultDateFormatgetCurrentLanguage_sam|trigger=none}{code:language=javascript}
var defaultDateFormatcurrLang = i18n.getDefaultDateFormatgetCurrentLanguage();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getDefaultNumberFormatgetCurrentTimeZone|class=node}{tr:id=name}{td}h6.getDefaultNumberFormatgetCurrentTimeZone{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getDefaultNumberFormatgetCurrentTimeZone{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getDefaultNumberFormatgetCurrentTimeZone_des|text=|trigger=button}{sub-section}{sub-section:getDefaultNumberFormatgetCurrentTimeZone_des|trigger=none|class=sIndent}Gets the current time zone defaultof numberthe formatclient; 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).{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getDefaultNumberFormatgetCurrentTimeZone_snc|text=|trigger=button}{sub-section}{sub-section:getDefaultNumberFormatgetCurrentTimeZone_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getDefaultNumberFormatgetCurrentTimeZone_prs|text=|trigger=button}{sub-section}{sub-section:getDefaultNumberFormatgetCurrentTimeZone_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getDefaultNumberFormatgetCurrentTimeZone_ret|text=|trigger=button}{sub-section}{sub-section:getDefaultNumberFormatgetCurrentTimeZone_ret|trigger=none|class=sIndent}[String] -- a String representing the defaultcurrent numbertime formatzone.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getDefaultNumberFormatgetCurrentTimeZone_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getDefaultNumberFormatgetCurrentTimeZone_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getDefaultNumberFormatgetCurrentTimeZone_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getDefaultNumberFormatgetCurrentTimeZone_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getDefaultNumberFormatgetCurrentTimeZone_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getDefaultNumberFormatgetCurrentTimeZone_sam|trigger=none}{code:language=javascript}
var defaultNumberFormatcurrTimeZone = i18n.getDefaultNumberFormatgetCurrentTimeZone();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getI18NMessagegetDefaultDateFormat|class=node}{tr:id=name}{td}h6.getI18NMessagegetDefaultDateFormat{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getI18NMessagegetDefaultDateFormat{span}{span:id=iets|style=float: left;}\(i18nKey, \[dynamicValues\]){span}{td}{tr}{tr:id=des}{td}{sub-section:getI18NMessagegetDefaultDateFormat_des|text=|trigger=button}{sub-section}{sub-section:getI18NMessagegetDefaultDateFormat_des|trigger=none|class=sIndent}Gets the realcurrent messagedefault (fordate theformat; clientsbased locale)on forthe acurrent specifiedlocale messagesettings key. 
You can use parameter substitution by using \{n}, where n is a index number of the value thats in the arguments arrayin the Servoy Client Locale preferences.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getI18NMessagegetDefaultDateFormat_snc|text=|trigger=button}{sub-section}{sub-section:getI18NMessagegetDefaultDateFormat_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getI18NMessagegetDefaultDateFormat_prs|text=|trigger=button}{sub-section}{sub-section:getI18NMessagegetDefaultDateFormat_prs|trigger=none|class=sIndent}\{[String]} i18nKey -- The message key
\{[Object]\[]} \[dynamicValues\] -- Arguments array when using parameter substitution.
{sub-section}{td}{tr}{tr{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getI18NMessagegetDefaultDateFormat_ret|text=|trigger=button}{sub-section}{sub-section:getI18NMessagegetDefaultDateFormat_ret|trigger=none|class=sIndent}[String] -- a String that isrepresenting the messagedefault for the message keydate format.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getI18NMessagegetDefaultDateFormat_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getI18NMessagegetDefaultDateFormat_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getI18NMessagegetDefaultDateFormat_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getI18NMessagegetDefaultDateFormat_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getI18NMessagegetDefaultDateFormat_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getI18NMessagegetDefaultDateFormat_sam|trigger=none}{code:language=javascript}
//var returnsdefaultDateFormat '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'))
{code}{sub-section}{= i18n.getDefaultDateFormat();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getLanguagesgetDefaultNumberFormat|class=node}{tr:id=name}{td}h6.getLanguagesgetDefaultNumberFormat{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSDataSetString]{span}{span:id=iets|style=float: left; font-weight: bold;}getLanguagesgetDefaultNumberFormat{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getLanguagesgetDefaultNumberFormat_des|text=|trigger=button}{sub-section}{sub-section:getLanguagesgetDefaultNumberFormat_des|trigger=none|class=sIndent}ReturnsGets the acurrent datasetdefault withnumber rowsformat; thatbased containson athe languagecurrent keylocale (en)settings andin the displaynameServoy (English) column.

See http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt for a list that could be returned.{sub-section}{td}{tr}{builder-Client Locale preferences.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getLanguagesgetDefaultNumberFormat_snc|text=|trigger=button}{sub-section}{sub-section:getLanguagesgetDefaultNumberFormat_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getLanguagesgetDefaultNumberFormat_prs|text=|trigger=button}{sub-section}{sub-section:getLanguagesgetDefaultNumberFormat_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getLanguagesgetDefaultNumberFormat_ret|text=|trigger=button}{sub-section}{sub-section:getLanguagesgetDefaultNumberFormat_ret|trigger=none|class=sIndent}[JSDataSetString] -- a String JSDataSetrepresenting withthe alldefault thenumber languagesformat.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getLanguagesgetDefaultNumberFormat_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getLanguagesgetDefaultNumberFormat_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getLanguagesgetDefaultNumberFormat_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getLanguagesgetDefaultNumberFormat_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getLanguagesgetDefaultNumberFormat_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getLanguagesgetDefaultNumberFormat_sam|trigger=none}{code:language=javascript}
var setdefaultNumberFormat = i18n.getLanguagesgetDefaultNumberFormat();
for(var i=1;i<=set.getMaxRowIndex();i++)
{
	application.output(set.getValue(i, 1) + " " + set.getValue(i, 2));
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getSystemMessagesgetI18NMessage-String|class=node}{tr:id=name}{td}h6.getSystemMessagesgetI18NMessage{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSDataSetString]{span}{span:id=iets|style=float: left; font-weight: bold;}getSystemMessagesgetI18NMessage{span}{span:id=iets|style=float: left;}\(i18nKey){span}{td}{tr}{tr:id=des}{td}{sub-section:getSystemMessagesgetI18NMessage-String_des|text=|trigger=button}{sub-section}{sub-section:getSystemMessagesgetI18NMessage-String_des|trigger=none|class=sIndent}ReturnsGets the areal datasetmessage with(for rowsthe thatclients containslocale) 3for 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.{sub-a specified message key.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getSystemMessagesgetI18NMessage-String_snc|text=|trigger=button}{sub-section}{sub-section:getSystemMessagesgetI18NMessage-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getSystemMessagesgetI18NMessage-String_prs|text=|trigger=button}{sub-section}{sub-section:getSystemMessagesgetI18NMessage-String_prs|trigger=none|class=sIndent}{sub-\{[String]} i18nKey -- The message key
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getSystemMessagesgetI18NMessage-String_ret|text=|trigger=button}{sub-section}{sub-section:getSystemMessagesgetI18NMessage-String_ret|trigger=none|class=sIndent}[JSDataSetString] -- a JSDataSet with all String that is the message for the systemmessage messageskey.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getSystemMessagesgetI18NMessage-String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getSystemMessagesgetI18NMessage-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getSystemMessagesgetI18NMessage-String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getSystemMessagesgetI18NMessage-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getSystemMessagesgetI18NMessage-String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getSystemMessagesgetI18NMessage-String_sam|trigger=none}{code:language=javascript}
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));
}// 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'))
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getTimeZoneOffsetgetI18NMessage-String_|class=node}{tr:id=name}{td}h6.getTimeZoneOffsetgetI18NMessage{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[NumberString]{span}{span:id=iets|style=float: left; font-weight: bold;}getTimeZoneOffsetgetI18NMessage{span}{span:id=iets|style=float: left;}\(timezonei18nKey, \[date\]dynamicValues){span}{td}{tr}{tr:id=des}{td}{sub-section:getTimeZoneOffsetgetI18NMessage-String__des|text=|trigger=button}{sub-section}{sub-section:getTimeZoneOffsetgetI18NMessage-String__des|trigger=none|class=sIndent}ReturnsGets the real offsetmessage (in millisecondsfor the clients locale) offor thisa timespecified zone from UTC for the current date or at the specified datemessage key. 
You can use parameter substitution by using \{n}, where n is a index number of the value thats in the arguments array.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getTimeZoneOffsetgetI18NMessage-String__snc|text=|trigger=button}{sub-section}{sub-section:getTimeZoneOffsetgetI18NMessage-String__snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getTimeZoneOffsetgetI18NMessage-String__prs|text=|trigger=button}{sub-section}{sub-section:getTimeZoneOffsetgetI18NMessage-String__prs|trigger=none|class=sIndent}timezone\{[String]} i18nKey -- The time zone to get the offset for.message key
\{[dateObject]\[]} dynamicValues -- TheArguments datearray inwhen theusing time zone (default current date). Needed in case daylight saving time/GMT offset changes are used in the time zone.
parameter substitution.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getTimeZoneOffsetgetI18NMessage-String__ret|text=|trigger=button}{sub-section}{sub-section:getTimeZoneOffsetgetI18NMessage-String__ret|trigger=none|class=sIndent}[NumberString] -- ana String intthat representingis the timemessage zone'sfor offsetthe frommessage UTCkey.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getTimeZoneOffsetgetI18NMessage-String__see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getTimeZoneOffsetgetI18NMessage-String__see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getTimeZoneOffsetgetI18NMessage-String__link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getTimeZoneOffsetgetI18NMessage-String__link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getTimeZoneOffsetgetI18NMessage-String__sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getTimeZoneOffsetgetI18NMessage-String__sam|trigger=none}{code:language=javascript}
var// timeZoneOffsetreturns = i18n.getTimeZoneOffset('America/Los_Angeles');
{'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'))
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getTimeZonesgetLanguages|class=node}{tr:id=name}{td}h6.getTimeZonesgetLanguages{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]\[JSDataSet]{span}{span:id=iets|style=float: left; font-weight: bold;}getTimeZonesgetLanguages{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getTimeZonesgetLanguages_des|text=|trigger=button}{sub-section}{sub-section:getTimeZonesgetLanguages_des|trigger=none|class=sIndent}Returns an array of known timezones.{sub-section}{td}{ 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.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getTimeZonesgetLanguages_snc|text=|trigger=button}{sub-section}{sub-section:getTimeZonesgetLanguages_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getTimeZonesgetLanguages_prs|text=|trigger=button}{sub-section}{sub-section:getTimeZonesgetLanguages_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getTimeZonesgetLanguages_ret|text=|trigger=button}{sub-section}{sub-section:getTimeZonesgetLanguages_ret|trigger=none|class=sIndent}[StringJSDataSet]\[] -- ana ArrayJSDataSet with all the timezoneslanguages.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getTimeZonesgetLanguages_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getTimeZonesgetLanguages_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getTimeZonesgetLanguages_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getTimeZonesgetLanguages_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getTimeZonesgetLanguages_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getTimeZonesgetLanguages_sam|trigger=none}{code:language=javascript}
var timeZonesset = i18n.getTimeZones.getLanguages();
for(var i=1;i<=set.getMaxRowIndex();
{code}{sub-section}{div}{td}{tr}{i++)
{
	application.output(set.getValue(i, 1) + " " + set.getValue(i, 2));
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setI18NMessagegetSystemMessages|class=node}{tr:id=name}{td}h6.setI18NMessagegetSystemMessages{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void[JSDataSet]{span}{span:id=iets|style=float: left; font-weight: bold;}setI18NMessagegetSystemMessages{span}{span:id=iets|style=float: left;}\(i18nKey, value){span}{td}{tr}{tr:id=des}{td}{sub-section:setI18NMessagegetSystemMessages_des|text=|trigger=button}{sub-section}{sub-section:setI18NMessagegetSystemMessages_des|trigger=none|class=sIndent}SetsReturns thea valuedataset ofwith i18nrows keythat forcontains client scope,if value null the setting is removed. 
All forms not yet loaded will change (execute this in solution startup or first form)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.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setI18NMessagegetSystemMessages_snc|text=|trigger=button}{sub-section}{sub-section:setI18NMessagegetSystemMessages_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:setI18NMessagegetSystemMessages_prs|text=|trigger=button}{sub-section}{sub-section:setI18NMessagegetSystemMessages_prs|trigger=none|class=sIndent}\{[String]} i18nKey -- The message key
\{[String]} value -- They value for the message key.
{sub-section}{td}{tr}{{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:setI18NMessagegetSystemMessages_ret|text=|trigger=button}{sub-section}{sub-section:setI18NMessagegetSystemMessages_ret|trigger=none|class=sIndent}void[JSDataSet] -- a JSDataSet with all the system messages.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setI18NMessagegetSystemMessages_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagegetSystemMessages_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setI18NMessagegetSystemMessages_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagegetSystemMessages_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setI18NMessagegetSystemMessages_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagegetSystemMessages_sam|trigger=none}{code:language=javascript}
//setsvar theset value of= i18n key.getSystemMessages();
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

i18n.setI18NMessage('mykey.username.text','my_name')(var i=1;i<=set.getMaxRowIndex();i++)
{
	application.output(set.getValue(i, 1) + " " + set.getValue(i, 2)+ " " + set.getValue(i, 3));
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setI18NMessagesFiltergetTimeZoneOffset|class=node}{tr:id=name}{td}h6.setI18NMessagesFiltergetTimeZoneOffset{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}setI18NMessagesFiltergetTimeZoneOffset{span}{span:id=iets|style=float: left;}\(columnNametimezone, value\[date\]){span}{td}{tr}{tr:id=des}{td}{sub-section:setI18NMessagesFiltergetTimeZoneOffset_des|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFiltergetTimeZoneOffset_des|trigger=none|class=sIndent}CallReturns this if you want to add a filter for a column (created by you) in the i18n table.
So that you can have multiple default values and multiple values per locale for one keythe offset (in milliseconds) of this time zone from UTC for the current date or at the specified date.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setI18NMessagesFiltergetTimeZoneOffset_snc|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFiltergetTimeZoneOffset_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:setI18NMessagesFiltergetTimeZoneOffset_prs|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFiltergetTimeZoneOffset_prs|trigger=none|class=sIndent}\{[String]} columnName timezone -- The columntime namezone thatto isget the filter column in the i18n tableoffset for.
\{[Stringdate\]} value -- The date filterin value.
{subthe time zone (default current date). Needed in case daylight saving time/GMT offset changes are used in the time zone.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:setI18NMessagesFiltergetTimeZoneOffset_ret|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFiltergetTimeZoneOffset_ret|trigger=none|class=sIndent}void[Number] -- an int representing the time zone's offset from UTC.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setI18NMessagesFiltergetTimeZoneOffset_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagesFiltergetTimeZoneOffset_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setI18NMessagesFiltergetTimeZoneOffset_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagesFiltergetTimeZoneOffset_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setI18NMessagesFiltergetTimeZoneOffset_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagesFiltergetTimeZoneOffset_sam|trigger=none}{code:language=javascript}
var //timeZoneOffset Puts= i18n in filter mode - this allows you to have multiple default/per locale
// values for one key and to use one of them based on the filter parameters.
// Let's say you added a new column "message_variant" to your i18n table.
// Now you can have keys that will translate to a language differently depending on the used variant
// For example you have 2 rows in you table for key X, language EN, different values and different "message_variant" (let's say 1 and 2)
// If you want the solution to use the first variant, you will have to call:
i18n.setI18NMessagesFilter('message_variant', '1')

// ATTENTION: if you use setI18NMessagesFilter(...) it is not recommended to use the i18n Dialog (especially before the filter is applied through JS)..getTimeZoneOffset('America/Los_Angeles');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getTimeZones|class=node}{tr:id=name}{td}h6.getTimeZones{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getTimeZones{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getTimeZones_des|text=|trigger=button}{sub-section}{sub-section:getTimeZones_des|trigger=none|class=sIndent}Returns an array of known timezones.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getTimeZones_snc|text=|trigger=button}{sub-section}{sub-section:getTimeZones_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getTimeZones_prs|text=|trigger=button}{sub-section}{sub-section:getTimeZones_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getTimeZones_ret|text=|trigger=button}{sub-section}{sub-section:getTimeZones_ret|trigger=none|class=sIndent}[String]\[] -- an Array with all the timezones.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getTimeZones_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getTimeZones_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getTimeZones_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getTimeZones_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getTimeZones_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getTimeZones_sam|trigger=none}{code:language=javascript}
var timeZones = i18n.getTimeZones();
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setI18NMessage|class=node}{tr:id=name}{td}h6.setI18NMessage{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setI18NMessage{span}{span:id=iets|style=float: left;}\(i18nKey, value){span}{td}{tr}{tr:id=des}{td}{sub-section:setI18NMessage_des|text=|trigger=button}{sub-section}{sub-section:setI18NMessage_des|trigger=none|class=sIndent}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){sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setI18NMessage_snc|text=|trigger=button}{sub-section}{sub-section:setI18NMessage_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:setI18NMessage_prs|text=|trigger=button}{sub-section}{sub-section:setI18NMessage_prs|trigger=none|class=sIndent}\{[String]} i18nKey -- The message key
\{[String]} value -- They value for the message key.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:setI18NMessage_ret|text=|trigger=button}{sub-section}{sub-section:setI18NMessage_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setI18NMessage_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessage_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setI18NMessage_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessage_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setI18NMessage_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessage_sam|trigger=none}{code:language=javascript}
//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')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setI18NMessagesFilter-String_String|class=node}{tr:id=name}{td}h6.setI18NMessagesFilter{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setI18NMessagesFilter{span}{span:id=iets|style=float: left;}\(columnName, value){span}{td}{tr}{tr:id=des}{td}{sub-section:setI18NMessagesFilter-String_String_des|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFilter-String_String_des|trigger=none|class=sIndent}Call this if you want to add a filter for a column (created by you) in the i18n table.
So that you can have multiple default values and multiple values per locale for one key.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setI18NMessagesFilter-String_String_snc|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFilter-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:setI18NMessagesFilter-String_String_prs|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFilter-String_String_prs|trigger=none|class=sIndent}\{[String]} columnName -- The column name that is the filter column in the i18n table.
\{[String]} value -- The filter value.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:setI18NMessagesFilter-String_String_ret|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFilter-String_String_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setI18NMessagesFilter-String_String_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagesFilter-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setI18NMessagesFilter-String_String_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagesFilter-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setI18NMessagesFilter-String_String_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagesFilter-String_String_sam|trigger=none}{code:language=javascript}
// Puts i18n in filter mode - this allows you to have multiple default/per locale
// values for one key and to use one of them based on the filter parameters.
// Let's say you added a new column "message_variant" to your i18n table.
// Now you can have keys that will translate to a language differently depending on the used variant
// For example you have 2 rows in you table for key X, language EN, different values and different "message_variant" (let's say 1 and 2)
// If you want the solution to use the first variant, you will have to call:
i18n.setI18NMessagesFilter('message_variant', '1')

// Using filter fall back : if there is no key for 'message_variant' with value '1', it will
// search for value '2'
var filterValue = new Array();
filterValue[0] = '1';
filterValue[1] = '2';
i18n.setI18NMessagesFilter('message_variant', filterValue)

// ATTENTION: if you use setI18NMessagesFilter(...) it is not recommended to use the i18n Dialog (especially before the filter is applied through JS).
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setI18NMessagesFilter-String_|class=node}{tr:id=name}{td}h6.setI18NMessagesFilter{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setI18NMessagesFilter{span}{span:id=iets|style=float: left;}\(columnName, value){span}{td}{tr}{tr:id=des}{td}{sub-section:setI18NMessagesFilter-String__des|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFilter-String__des|trigger=none|class=sIndent}Call this if you want to add a filter for a column (created by you) in the i18n table.
So that you can have multiple default values and multiple values per locale for one key.
You can use filter fall back by setting the filter value as an array of strings.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setI18NMessagesFilter-String__snc|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFilter-String__snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:setI18NMessagesFilter-String__prs|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFilter-String__prs|trigger=none|class=sIndent}\{[String]} columnName -- The column name that is the filter column in the i18n table.
\{[String]\[]} value -- The filter value.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:setI18NMessagesFilter-String__ret|text=|trigger=button}{sub-section}{sub-section:setI18NMessagesFilter-String__ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setI18NMessagesFilter-String__see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagesFilter-String__see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setI18NMessagesFilter-String__link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagesFilter-String__link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setI18NMessagesFilter-String__sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setI18NMessagesFilter-String__sam|trigger=none}{code:language=javascript}
// Puts i18n in filter mode - this allows you to have multiple default/per locale
// values for one key and to use one of them based on the filter parameters.
// Let's say you added a new column "message_variant" to your i18n table.
// Now you can have keys that will translate to a language differently depending on the used variant
// For example you have 2 rows in you table for key X, language EN, different values and different "message_variant" (let's say 1 and 2)
// If you want the solution to use the first variant, you will have to call:
i18n.setI18NMessagesFilter('message_variant', '1')

// Using filter fall back : if there is no key for 'message_variant' with value '1', it will
// search for value '2'
var filterValue = new Array();
filterValue[0] = '1';
filterValue[1] = '2';
i18n.setI18NMessagesFilter('message_variant', filterValue)

// ATTENTION: if you use setI18NMessagesFilter(...) it is not recommended to use the i18n Dialog (especially before the filter is applied through JS).
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setLocale|class=node}{tr:id=name}{td}h6.setLocale{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setLocale{span}{span:id=iets|style=float: left;}\(language, country){span}{td}{tr}{tr:id=des}{td}{sub-section:setLocale_des|text=|trigger=button}{sub-section}{sub-section:setLocale_des|trigger=none|class=sIndent}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\-649.
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{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setLocale_snc|text=|trigger=button}{sub-section}{sub-section:setLocale_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:setLocale_prs|text=|trigger=button}{sub-section}{sub-section:setLocale_prs|trigger=none|class=sIndent}\{[String]} language -- The lowercase 2 letter code
\{[String]} country -- The upper case 2 letter code.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:setLocale_ret|text=|trigger=button}{sub-section}{sub-section:setLocale_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setLocale_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setLocale_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setLocale_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setLocale_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setLocale_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setLocale_sam|trigger=none}{code:language=javascript}
//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');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setLocalesetTimeZone|class=node}{tr:id=name}{td}h6.setLocalesetTimeZone{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}setLocalesetTimeZone{span}{span:id=iets|style=float: left;}\(language, country){span}{td}{tr}{tr:id=des}{td}{sub-section:setLocalesetTimeZone_des|text=|trigger=button}{sub-section}{sub-section:setLocalesetTimeZone_des|trigger=none|class=sIndent}Set/OverwriteSets the localecurrent for this client.
All forms not yet loaded will change (execute this in solution startup or first form).

The language musttime zone of the client.
The parameter should be a string lowercasehaving 2the letterformat codewhich definedcan by ISO\-649.
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 i18nbe 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".{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setLocalesetTimeZone_snc|text=|trigger=button}{sub-section}{sub-section:setLocalesetTimeZone_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:setLocalesetTimeZone_prs|text=|trigger=button}{sub-section}{sub-section:setLocale_prs|trigger=none|class=sIndent}\{[String]} language -- The lowercase 2 letter code
\{[String]} country -- The upper case 2 letter code.
-section}{sub-section:setTimeZone_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:setLocalesetTimeZone_ret|text=|trigger=button}{sub-section}{sub-section:setLocalesetTimeZone_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setLocalesetTimeZone_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setLocalesetTimeZone_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setLocalesetTimeZone_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setLocalesetTimeZone_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setLocalesetTimeZone_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:setLocalesetTimeZone_sam|trigger=none}{code:language=javascript}
//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'This will set the default time zone to Central European Time
i18n.setTimeZone("Europe/Amsterdam");
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}