PHP Manual
Prev |  | Next

# setlocale

(PHP 3, PHP 4 )

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()

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 zero 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 usefull 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

Setlocale returns the new current locale, or `FALSE` if the locale functionality is not implemented in the platform, the specified locale does not exist or the category name is invalid. An invalid category name also causes a warning message.

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 */
        $loc_de = setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
        echo "Preferred locale for german on this system is '$loc_de'";
    ?>

Prev | Home | Next
rtrim | Up | similar_text