title besides title

 

Tuesday, November 27, 2012

PHP : Internationalization and Localization - [16.3] Using a Particular Locale

16.3.1 Problem

You want to tell PHP to use the settings of a particular locale.

16.3.2 Solution

Call setlocale( ) with the appropriate category and locale. Here's how to use the es_US (U.S. Spanish) locale for all categories:
setlocale(LC_ALL,'es_US');
Here's how to use the de_AT (Austrian German) locale for time and date formatting:
setlocale(LC_TIME,'de_AT');

16.3.3 Discussion

To find the current locale without changing it, call setlocale( ) with a NULL locale:
print setlocale(LC_ALL,NULL);
en_US
Many systems also support a set of aliases for common locales, listed in a file such as /usr/share/locale/locale.alias. This file is a series of lines including:
russian         ru_RU.ISO-8859-5
slovak          sk_SK.ISO-8859-2
slovene         sl_SI.ISO-8859-2
slovenian       sl_SI.ISO-8859-2
spanish         es_ES.ISO-8859-1
swedish         sv_SE.ISO-8859-1
The first column of each line is an alias; the second column shows the locale and character set the alias points to. You can use the alias in calls to setlocale( ) instead of the corresponding string the alias points to. For example, you can do:
setlocale(LC_ALL,'swedish');
instead of:
setlocale(LC_ALL,'sv_SE.ISO-8859-1');
On Windows, to change the locale, visit the Control Panel. In the Regional Options section, you can pick a new locale and customize its settings.