Latest web development tutorials
 

PHP setlocale() Function

< PHP String Reference

Example

Set the locale to US English and then back to default again:

<?php
echo setlocale(LC_ALL,"US");
echo "<br>";
echo setlocale(LC_ALL,NULL);
?>
Run example »

Definition and Usage

The setlocale() function sets locale information.

Locale information is language, monetary, time and other information specific for a geographical area.

Note: The setlocale() function changes the locale only for the current script.

Tip: The locale information can be set to system default with setlocale(LC_ALL,NULL)

Tip: To get numeric formatting information, see the localeconv() function.


Syntax

setlocale(constant,location)

Parameter Description
constant Required. Specifies what locale information should be set.

Available constants:

  • LC_ALL - All of the below
  • LC_COLLATE -  Sort order
  • LC_CTYPE - Character classification and conversion (e.g. all characters should be lower or upper-case)
  • LC_MESSAGES - System message formatting
  • LC_MONETARY - Monetary/currency formatting
  • LC_NUMERIC - Numeric formatting
  • LC_TIME - Date and time formatting
location Required. Specifies what country/region to set the locale information to. Can be a string or an array. It is possible to pass multiple locations.

If the location is NULL or the empty string "", the location names will be set from the values of environment variables with the same names as the constants above, or from "LANG".

If the location is "0", the location setting is not affected, only the current setting is returned.

If the location is an array, setlocale() will try each array element until it finds a valid language or region code. This is very useful if a region is known under different names on different systems.

Note: To view all available language codes, go to our Language code reference.

Technical Details

Return Value: Returns the current locale settings, or FALSE on failure. The return value depends on the system that PHP is running.
PHP Version: 4+
Changelog: Passing constant as a string was deprecated in PHP 4.2.0. Use the available constants instead. Passing them as a string will result in a warning message.

Passing multiple locations became possible in PHP 4.3.0.

If a string is passed to the constant parameter instead of one of the LC_ constants, this function throws an E_DREPRECATED notice as of PHP 5.3.0.

< PHP String Reference