<?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.22 $ --> <!-- splitted from ./en/functions/strings.xml, last change in rev 1.2 --> <refentry id="function.setlocale"> <refnamediv> <refname>setlocale</refname> <refpurpose>Set locale information</refpurpose> </refnamediv> <refsect1> <title>Description</title> <methodsynopsis> <type>string</type><methodname>setlocale</methodname> <methodparam><type>mixed</type><parameter>category</parameter></methodparam> <methodparam><type>string</type><parameter>locale</parameter></methodparam> <methodparam choice="opt"><type>string</type><parameter>...</parameter></methodparam> </methodsynopsis> <methodsynopsis> <type>string</type><methodname>setlocale</methodname> <methodparam><type>mixed</type><parameter>category</parameter></methodparam> <methodparam><type>array</type><parameter>locale</parameter></methodparam> </methodsynopsis> <para> <parameter>category</parameter> is a named constant (or string) specifying the category of the functions affected by the locale setting: <itemizedlist> <listitem> <simpara> LC_ALL for all of the below </simpara> </listitem> <listitem> <simpara> LC_COLLATE for string comparison, see <function>strcoll</function> </simpara> </listitem> <listitem> <simpara> LC_CTYPE for character classification and conversion, for example <function>strtoupper</function> </simpara> </listitem> <listitem> <simpara> LC_MONETARY for <function>localeconv</function> </simpara> </listitem> <listitem> <simpara> LC_NUMERIC for decimal separator (See also <function>localeconv</function>) </simpara> </listitem> <listitem> <simpara> LC_TIME for date and time formatting with <function>strftime</function> </simpara> </listitem> </itemizedlist> </para> <note> <simpara> As of PHP 4.2.0, passing <parameter>category</parameter> as a string is deprecated, use the above constants instead. Passing them as a string (within quotes) will result in a warning message. </simpara> </note> <para> If <parameter>locale</parameter> is &null; or the empty string <literal>""</literal>, the locale names will be set from the values of environment variables with the same names as the above categories, or from "LANG". </para> <para> If <parameter>locale</parameter> is <literal>"0"</literal>, the locale setting is not affected, only the current setting is returned. </para> <para> If <parameter>locale</parameter> 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. </para> <note> <simpara> Passing multiple locales is not available before PHP 4.3.0 </simpara> </note> <para> 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 <ulink url="&url.rfc;1766">RFC 1766</ulink> and <ulink url="&url.iso-639;">ISO 639</ulink>. Different systems have different naming schemes for locales. </para> <note> <para> The return value of <function>setlocale</function> depends on the system that PHP is running. It returns exactly what the system setlocale function returns. </para> </note> <tip> <para> Windows users will find useful information about <parameter>locale</parameter> strings at Microsoft's <acronym>MSDN</acronym>website. Supported language strings can be found at <ulink url="&url.setlocale.lang.win32;">&url.setlocale.lang.win32;</ulink> and supported country/region strings at <ulink url="&url.setlocale.country.win32;"> &url.setlocale.country.win32;</ulink>. Windows systems support the three letter codes for country/region specified by <literal>ISO 3166-Alpha-3</literal>, which can be found at this <ulink url="&url.iso-3166-3;">Unicode website </ulink>. </para> </tip> <para> <example> <title><function>setlocale</function> Examples</title> <programlisting role="php"> <![CDATA[ <?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'"; ?> ]]> </programlisting> </example> </para> <para> <example> <title><function>setlocale</function> Examples for Windows</title> <programlisting role="php"> <![CDATA[ <?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'"; ?> ]]> </programlisting> </example> </para> </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->