Files
doc-fr/reference/strings/functions/setlocale.xml
2022-05-27 17:46:58 -04:00

261 lines
8.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 8cdc6621f9826d04abc3e50438c010804d7e8683 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.setlocale">
<refnamediv>
<refname>setlocale</refname>
<refpurpose>Modifie les informations de localisation</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>setlocale</methodname>
<methodparam><type>int</type><parameter>category</parameter></methodparam>
<methodparam><type>string</type><parameter>locales</parameter></methodparam>
<methodparam rep="repeat"><type>string</type><parameter>rest</parameter></methodparam>
</methodsynopsis>
<simpara>Signature alternative (non supporté avec les arguments nommés) :</simpara>
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>setlocale</methodname>
<methodparam><type>int</type><parameter>category</parameter></methodparam>
<methodparam><type>array</type><parameter>locale_array</parameter></methodparam>
</methodsynopsis>
<para>
Définit les informations de localisation.
</para>
<warning>
<para>
L'information locale est maintenue par processus, non par thread. Si
vous faites fonctionner PHP sur un serveur multithreadé,
vous pourriez obtenir des changements soudains des
configurations locales pendant qu'un script fonctionne, même si celui-ci
n'appelle jamais la fonction <function>setlocale</function>.
Ceci survient à cause des autres scripts qui fonctionnent dans des
threads différents du même processus. Ces scripts changent les
configurations locales dans le processus au complet en utilisant la
fonction <function>setlocale</function>.
Sur Windows, les informations de locale sont maintenue par thread à partir
de PHP 7.0.5.
</para>
</warning>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>category</parameter></term>
<listitem>
<para>
<parameter>category</parameter> est une constante (ou une chaîne)
qui spécifie la catégorie de fonctions affectées par la configuration
de localisation :
<itemizedlist>
<listitem>
<simpara>
<constant>LC_ALL</constant> pour toutes les constantes suivantes
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_COLLATE</constant> pour la comparaison de chaînes de caractères. Voir
<function>strcoll</function>
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_CTYPE</constant> pour la classification et la conversion de caractères.
Voir <function>strtoupper</function>
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_MONETARY</constant> pour <function>localeconv</function>
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_NUMERIC</constant> pour le séparateur décimal. Voir
<function>localeconv</function>
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_TIME</constant> pour le format de date et d'heure avec
<function>strftime</function>
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_MESSAGES</constant> pour les réponses système (disponible
si PHP a été compilé avec <literal>libintl</literal>)
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>locales</parameter></term>
<listitem>
<para>
Si <parameter>locales</parameter> est la chaîne vide
(<literal>""</literal>), les noms de locales seront pris dans l'environnement,
à partir des variables de même nom que les catégories ci-dessus, ou
depuis "LANG".
</para>
<para>
Si <parameter>locales</parameter> vaut <literal>"0"</literal>,
la configuration locale ne sera pas modifiée, et la configuration
courante sera retournée.
</para>
<para>
Si <parameter>locales</parameter> est suivi
par des paramètres additionnels, alors
chaque paramètre tente d'être défini comme nouvelle locale jusqu'à ce
qu'un réussisse. Cela est pratique si la locale est connue sous
différents noms sur des systèmes différents ou bien pour prévoir une
autre valeur en cas de non disponibilité de la locale choisie.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>rest</parameter></term>
<listitem>
<para>
Paramètres optionnels de chaîne à essayer comme paramètre de locale
jusqu'à une réussite.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>locale_array</parameter></term>
<listitem>
<para>
Chaque élément du tableau est essayé à être définie comme la nouvelle
locale jusqu'à une réussite. Ceci est utile si une locale est connue
sous différent noms sur des systèmes différents ou pour fournis une
solution de repli pour une locale potentiellement indisponible.
</para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para>
Sous Windows, setlocale(LC_ALL, '') définit les noms de la locale depuis
la configuration de la langue/de la région du système d'exploitation
(accessible depuis le Panneau de Contrôle).
</para>
</note>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne la nouvelle configuration locale, ou &false; si la localisation
n'est pas implémentée sur votre plate-forme, si la variable de localisation
n'existe pas, ou si la catégorie spécifiée n'est pas valide.
</para>
<para>
Un nom de catégorie invalide générera un message
d'alerte. La liste des noms de locales/catégories peut être trouvée
en consultant la <link xlink:href="&url.rfc;1766">RFC 1766</link>
ainsi que l'<link xlink:href="&url.iso-639;">ISO 639</link>. Les différentes
plates-formes possèdent des conventions de nommages différentes.
</para>
<note>
<para>
La valeur retournée par <function>setlocale</function> dépend
du système sur lequel PHP est installé. <function>setlocale</function>
retourne exactement ce que la fonction système
<literal>setlocale</literal> retourne.
</para>
</note>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>setlocale</function></title>
<programlisting role="php">
<![CDATA[
<?php
/* Configure le script en hollandais */
setlocale(LC_ALL, 'nl_NL');
/* Affiche : vrijdag 22 december 1978 */
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));
/* Essai de différentes valeurs possible pour l'allemand */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "L'identifiant de l'allemand sur ce système est '$loc_de'";
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Exemple avec <function>setlocale</function> sous Windows</title>
<programlisting role="php">
<![CDATA[
<?php
/* Configure le script en hollandais */
setlocale(LC_ALL, 'nld_nld');
/* Affiche : vrijdag 22 december 1978 */
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));
/* Essai de différentes valeurs possible pour l'allemand */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "L'identifiant de l'allemand sur ce système est '$loc_de'";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<tip>
<para>
Les utilisateurs de Windows trouveront des informations utiles à
propos du paramètre <parameter>locales</parameter> sur le site web
<acronym>MSDN</acronym> de Microsoft.
Les valeurs de locales supportées peuvent être trouvées
<link xlink:href="&url.setlocale.lang.win32;">sur la page de la
documentation des chaînes du langage</link> et les chaînes de
pays/région <link xlink:href="&url.setlocale.country.win32;">sur la page
de la documentation des chaînes de pays/région</link>.
</para>
</tip>
</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:"~/.phpdoc/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
-->