PHP Manual
Prev |  | Next

# setlocale

(PHP 3, PHP 4 , PHP 5)

setlocale -- Set locale information

## Description

string setlocale ( mixed category, string locale [, string ...])
string setlocale ( mixed category, array locale)

`category` is a named constant (or string) specifying the category of the functions affected by the locale setting:

- LC_ALL for all of the below

- LC_COLLATE for string comparison, see strcoll()

- LC_CTYPE for character classification and conversion, for example strtoupper()

- LC_MONETARY for localeconv()

- LC_NUMERIC for decimal separator (See also localeconv())

- LC_TIME for date and time formatting with strftime()

> Note: As of PHP 4.2.0, passing `category` as a string is deprecated, use the above constants instead. Passing them as a string (within quotes) will result in a warning message.

If `locale` is the empty string `""`, the locale names will be set from the values of environment variables with the same names as the above categories, or from "LANG".

If `locale` is `NULL` or `"0"`, the locale setting is not affected, only the current setting is returned.

If `locale` is an array or followed by additional parameters then each array element or parameter is tried to be set as new locale until success. This is useful if a locale is known under different names on different systems or for providing a fallback for a possibly not available locale.

> Note: Passing multiple locales is not available before PHP 4.3.0

Setlocale returns the new current locale, or `FALSE` if the locale functionality is not implemented on your platform, the specified locale does not exist or the category name is invalid. An invalid category name also causes a warning message. Category/locale names can be found in RFC 1766 and ISO 639.

> Note: The return value of setlocale() depends on the system that PHP is running. It returns exactly what the system setlocale function returns.

> Tip: Windows users will find useful information about `locale` strings at Microsoft's MSDNwebsite. Supported language strings can be found at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp and supported country/region strings at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_country_strings.asp. Windows systems support the three letter codes for country/region specified by `ISO 3166-Alpha-3`, which can be found at this Unicode website .

Example 1. setlocale() Examples
`<?php /* Set locale to Dutch */ setlocale(LC_ALL, 'nl_NL'); /* Output: vrijdag 22 december 1978 */ echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978)); /* try different possible locale names for german as of PHP 4.3.0 */ $loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge'); echo "Preferred locale for german on this system is '$loc_de'"; ?>`

Example 2. setlocale() Examples for Windows
`<?php /* Set locale to Dutch */ setlocale(LC_ALL, 'nld_nld'); /* Output: vrijdag 22 december 1978 */ echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978)); /* try different possible locale names for german as of PHP 4.3.0 */ $loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu'); echo "Preferred locale for german on this system is '$loc_de'"; ?>`

Prev | Home | Next
rtrim | Up | sha1_file