User Guide

SetLocale 677
ColdFusion determines the locale value as follows:
By default, ColdFusion uses the JVM locale, and the default JVM locale is the operating
system locale. You can set JVM locale value explicitly in ColdFusion MX in the ColdFusion
Administrator Java and JVM Settings page JVM Arguments field; for example: -
Duser.language=de -Duser.region=DE.
A locale set using the SetLocale function persists for the current request or until it is reset by
another
SetLocale function in the request.
If a request has multiple SetLocale functions, the current locale setting affects how locale-
sensitive ColdFusion tags and functions, such as the functions that start with LS format data.
The last
SetLocale function that ColdFusion processes before sending a response to the
requestor (typically the client browser) determines the value of the response
Content-
Language
HTTP header. The browser that requested the page displays the response according
to the rules for the language specified by the
Content-Language header.
ColdFusion ignores any SetLocale functions that follow a cfflush tag.
Because this function returns the previous locale setting, you can save the original locale value.
You can restore the original locale by calling
SetLocale again with the saved variable. For
example, the following line saves the original locale ins a Session variable:
<cfset Session.oldlocale = SetLocale(newLocale)>
The variable server.ColdFusion.SupportedLocales is initialized at startup with a comma-
delimited list of the locales that ColdFusion and the operating system support. If you call
SetLocale with a locale that is not in the list, the call generates an error.
Note: ColdFusion uses the Spanish (Standard) formats for Spanish (Modern) and Spanish
(Standard).
Example
<h3>SetLocale Example</h3>
<p>SetLocale sets the locale to the specified new locale for the current
session.
<p>A locale encapsulates the set of attributes that govern the display and
formatting of date, time, number, and currency values.
<p>The locale for this system is <cfoutput>#GetLocale()#</cfoutput>
<p><cfoutput><I>the old locale was #SetLocale("English (UK)")#</I>
<p>The locale is now #GetLocale()#</cfoutput>