Adobe ColdFusion 8

GetLocale

Description

Gets the current ColdFusion geographic/language locale value.

To set the default display format of date, time, number, and currency values in a ColdFusion application session, you use the SetLocale function.

Returns

The current locale value, as an English string. If a locale has a Java name and a name that ColdFusion used prior to the ColdFusion MX 7 release (for example, en_US and English (US)), ColdFusion returns the ColdFusion name (for example, English (US)).

Category

Display and formatting functions, International functions, System functions

Function syntax

GetLocale()

See also

GetLocaleDisplayName, SetLocale

History

ColdFusion MX 7: Added support for all Java locales and locale names.

ColdFusion MX: Changed behavior to that described in usage.

Usage

This function returns the locale name as it is represented in ColdFusion; for example, Portuguese (Brazilian), or ca_ES. To get a locale name in the language of the locale, use the GetLocaleDisplayName function, which returns português (Brasil) and(Espanya).

This function determines whether a locale value is set for ColdFusion. (The value is set with the SetLocale function.)

  • If the ColdFusion locale value is present, the function returns it.
  • If the ColdFusion locale has not been explicitly set, ColdFusion now determines whether the default locale of the ColdFusion server computer operating system is among the locale values it supports. (The default locale is stored in the user environment variables user.language and user.region.)

    If the default locale value is not supported, the function returns English (US). ColdFusion sets the locale in the JVM to this value; it persists until the server is restarted or it is reset with the SetLocale function.

This function does not access a web browser's Accept-Language HTTP header setting.

Note: When ColdFusion is started, it stores the supported locale values in the variable Server.ColdFusion.SupportedLocales. ColdFusion supports the locales supported by its Java runtime environment. The SupportedLocales value lists the Java names for the supported locales and the corresponding names that ColdFusion used prior to the ColdFusion MX 7 release.

For more information, see "Locales" in the ColdFusion Developer's Guide.

Example

<h3>Example: Using SetLocale and GetLocale</h3>
<cfoutput>
    <!--- For each new request, the locale gets reset to the JVM locale --->
    Initial locale's ColdFusion name: #GetLocale()#<br>
    <br>
    <!--- Do this only if the form was submitted. --->
    <cfif IsDefined("form.mylocale")>
        <b>Changing locale to #form.mylocale#</b><br>
        <br>
        <!--- Set the locale to the submitted value and save the old ColdFusion locale name.--->
        <cfset oldlocale=SetLocale("#form.mylocale#")>
        <!--- Get the current locale. It should have changed. --->
        New locale: #GetLocale()#<br>
    </cfif>

    <!--- Self-submitting form to select the new locale. --->
    <cfform>
        <h3>Please select the new locale:</h3>
        <cfselect name="mylocale">
            <!--- The server.coldfusion.supportedlocales variable is a 
                    list of all supported locale names. Use a list cfloop tag 
                    to create an HTML option tag for each name in the list. --->
            <cfloop index="i" list="#server.coldfusion.supportedlocales#">
                <option value="#i#">#i#</option>
            </cfloop>
        </cfselect><br>
        <br>
        <cfinput type="submit" name="submitit" value="Change Locale">
    </cfform>
</cfoutput>