Skip to content

setlocale()

The PHP setlocale() function sets the current locale information for a script. It is useful for adapting output to different languages and cultural conventions.

PHP syntax of setlocale()

php
string setlocale ( int $category , string $locale [, string ...$locales ] )

The function accepts the following parameters:

  • $category: Specifies which locale category to set. Common constants include LC_ALL (all categories), LC_COLLATE (string comparison), LC_CTYPE (character classification), and LC_TIME (date/time formatting).
  • $locale: Specifies the locale string to apply.
  • ...$locales: Optional. Allows specifying multiple locale strings. PHP will try them in order until one succeeds.

Example of PHP setlocale()

php
<?php
$result = setlocale(LC_ALL, 'en_US.utf8');
if ($result !== false) {
    echo "Locale set successfully to: $result";
} else {
    echo "Failed to set locale.";
}
?>

In this example, setlocale() attempts to set the locale to English (United States) with UTF-8 encoding. The function returns the new locale string on success, or false on failure. Checking the return value ensures the locale was applied correctly.

The setlocale() function is a useful tool for adapting PHP scripts to different languages and cultural conventions. It affects various operations, including string comparisons, number formatting, and date/time output.

Practice

What is the purpose of the setlocale() function in PHP?

Dual-run preview — compare with live Symfony routes.