<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.strings.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.setlocale.php',
    1 => 'setlocale',
    2 => 'Modifie les informations de localisation',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'Fonctions sur les cha&icirc;nes de caract&egrave;res',
  ),
  'prev' => 
  array (
    0 => 'function.rtrim.php',
    1 => 'rtrim',
  ),
  'next' => 
  array (
    0 => 'function.sha1.php',
    1 => 'sha1',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/strings/functions/setlocale.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.setlocale" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">setlocale</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">setlocale</span> &mdash; <span class="dc-title">Modifie les informations de localisation</span></p>

 </div>
 
 <div class="refsect1 description" id="refsect1-function.setlocale-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>setlocale</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$category</code></span>, <span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$locales</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">...$rest</code></span>): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="simpara">Signature alternative (non supportée avec les arguments nommés) :</p>
  <div class="methodsynopsis dc-description"><span class="methodname"><strong>setlocale</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$category</code></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$locale_array</code></span>): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   Définit les informations de localisation.
  </p>
  <div class="warning"><strong class="warning">Avertissement</strong>
   <p class="para">
    L&#039;information locale est maintenue par processus, non par thread. Si
    l&#039;on fait fonctionner PHP sur un serveur multithreadé,
    il serait possible d&#039;obtenir des changements soudains des
    configurations locales pendant qu&#039;un script fonctionne, même si celui-ci
    n&#039;appelle jamais la fonction <span class="function"><strong>setlocale()</strong></span>.
    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 <span class="function"><strong>setlocale()</strong></span>.
    Sur Windows, les informations de locale sont maintenue par thread à partir
    de PHP 7.0.5.
   </p>
  </div>
 </div>

 
 <div class="refsect1 parameters" id="refsect1-function.setlocale-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">category</code></dt>
     <dd>
      <p class="para">
       <code class="parameter">category</code> est une constante (ou une chaîne)
       qui spécifie la catégorie de fonctions affectées par la configuration
       de localisation :
       <ul class="itemizedlist">
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="string.constants.php#constant.lc-all">LC_ALL</a></code></strong> pour toutes les constantes suivantes
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="string.constants.php#constant.lc-collate">LC_COLLATE</a></code></strong> pour la comparaison de chaînes de caractères. Voir 
          <span class="function"><a href="function.strcoll.php" class="function">strcoll()</a></span>
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="string.constants.php#constant.lc-ctype">LC_CTYPE</a></code></strong> pour la classification et la conversion de caractères. 
          Voir <span class="function"><a href="function.ctype-alpha.php" class="function">ctype_alpha()</a></span>
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="string.constants.php#constant.lc-monetary">LC_MONETARY</a></code></strong> pour <span class="function"><a href="function.localeconv.php" class="function">localeconv()</a></span>
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="string.constants.php#constant.lc-numeric">LC_NUMERIC</a></code></strong> pour le séparateur décimal. Voir 
          <span class="function"><a href="function.localeconv.php" class="function">localeconv()</a></span>
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="string.constants.php#constant.lc-time">LC_TIME</a></code></strong> pour le format de date et d&#039;heure avec
          <span class="function"><a href="function.strftime.php" class="function">strftime()</a></span>
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="string.constants.php#constant.lc-messages">LC_MESSAGES</a></code></strong> pour les réponses système (disponible
          si PHP a été compilé avec <code class="literal">libintl</code>)
         </span>
        </li>
       </ul>
      </p>
     </dd>
    
    
     <dt><code class="parameter">locales</code></dt>
     <dd>
      <p class="para">
       Si <code class="parameter">locales</code> est la chaîne vide
       <code class="literal">&quot;&quot;</code> ou est <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>, les noms de locales seront pris dans l&#039;environnement,
       à partir des variables de même nom que les catégories ci-dessus, ou
       depuis &quot;LANG&quot;.
      </p>
      <p class="para">
       Si <code class="parameter">locales</code> vaut <code class="literal">&quot;0&quot;</code>,
       la configuration locale ne sera pas modifiée, et la configuration
       courante sera retournée.
      </p>
      <p class="para">
       Si <code class="parameter">locales</code> est suivi
       par des paramètres additionnels, alors
       chaque paramètre tente d&#039;être défini comme nouvelle locale jusqu&#039;à ce
       qu&#039;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.
      </p>
     </dd>
    
    
     <dt><code class="parameter">rest</code></dt>
     <dd>
      <p class="para">
       Paramètres optionnels de chaîne à essayer comme paramètre de locale
       jusqu&#039;à une réussite.
      </p>
     </dd>
    
    
     <dt><code class="parameter">locale_array</code></dt>
     <dd>
      <p class="para">
       Chaque élément du tableau est essayé pour être défini comme la nouvelle
       locale jusqu&#039;à une réussite. Ceci est utile si une locale est connue
       sous différents noms sur des systèmes différents ou pour fournir une
       solution de repli pour une locale potentiellement indisponible.
      </p>
     </dd>
    
   </dl>
   <blockquote class="note"><p><strong class="note">Note</strong>: 
    <p class="para">
     Sous Windows, setlocale(LC_ALL, &#039;&#039;) définit les noms de la locale depuis
     la configuration de la langue/de la région du système d&#039;exploitation
     (accessible depuis le Panneau de Contrôle).
    </p>
   </p></blockquote>
  </p>
 </div>

 
 <div class="refsect1 returnvalues" id="refsect1-function.setlocale-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Retourne la nouvelle configuration locale, ou <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si la localisation
   n&#039;est pas implémentée sur le plate-forme, si la variable de localisation
   n&#039;existe pas, ou si la catégorie spécifiée n&#039;est pas valide.
  </p>
  <p class="para">
   Un nom de catégorie invalide générera un message
   d&#039;alerte. La liste des noms de locales/catégories peut être trouvée
   en consultant la <a href="https://datatracker.ietf.org/doc/html/rfc1766" class="link external">&raquo;&nbsp;RFC 1766</a>
   ainsi que l&#039;<a href="http://www.loc.gov/standards/iso639-2/php/code_list.php" class="link external">&raquo;&nbsp;ISO 639</a>. Les différentes
   plates-formes possèdent des conventions de nommages différentes.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    La valeur retournée par <span class="function"><strong>setlocale()</strong></span> dépend
    du système sur lequel PHP est installé. <span class="function"><strong>setlocale()</strong></span>
    retourne exactement ce que la fonction système
    <code class="literal">setlocale</code> retourne.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.setlocale-changelog">
  <h3 class="title">Historique</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.5.0</td>
      <td>
       Passer un entier <code class="literal">0</code> comme argument <code class="parameter">locales</code>
       n&#039;est plus supporté et lance désormais une <span class="classname"><a href="class.typeerror.php" class="classname">TypeError</a></span>.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.setlocale-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Exemple avec <span class="function"><strong>setlocale()</strong></span></strong></p>
    <div class="example-contents">
<div class="annotation-non-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* Configure le script en hollandais */<br /></span><span style="color: #0000BB">setlocale</span><span style="color: #007700">(</span><span style="color: #0000BB">LC_ALL</span><span style="color: #007700">, </span><span style="color: #DD0000">'nl_NL'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Affiche : vrijdag 22 december 1978 */<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">strftime</span><span style="color: #007700">(</span><span style="color: #DD0000">"%A %e %B %Y"</span><span style="color: #007700">, </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">12</span><span style="color: #007700">, </span><span style="color: #0000BB">22</span><span style="color: #007700">, </span><span style="color: #0000BB">1978</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">/* Essai de différentes valeurs possible pour l'allemand */<br /></span><span style="color: #0000BB">$loc_de </span><span style="color: #007700">= </span><span style="color: #0000BB">setlocale</span><span style="color: #007700">(</span><span style="color: #0000BB">LC_ALL</span><span style="color: #007700">, </span><span style="color: #DD0000">'de_DE@euro'</span><span style="color: #007700">, </span><span style="color: #DD0000">'de_DE'</span><span style="color: #007700">, </span><span style="color: #DD0000">'de'</span><span style="color: #007700">, </span><span style="color: #DD0000">'ge'</span><span style="color: #007700">);<br />echo </span><span style="color: #DD0000">"L'identifiant de l'allemand sur ce système est '</span><span style="color: #0000BB">$loc_de</span><span style="color: #DD0000">'"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Exemple #2 Récupérer le paramètre actuel de <span class="function"><strong>setlocale()</strong></span></strong></p>
    <div class="example-contents">
<div class="annotation-non-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* Récupérer le paramètre actuel */<br /></span><span style="color: #0000BB">$current </span><span style="color: #007700">= </span><span style="color: #0000BB">setlocale</span><span style="color: #007700">(</span><span style="color: #0000BB">LC_ALL</span><span style="color: #007700">, </span><span style="color: #0000BB">null</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #DD0000">"Locale actuelle '</span><span style="color: #0000BB">$current</span><span style="color: #DD0000">'"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   <div class="example" id="example-3">
    <p><strong>Exemple #3 Exemple avec <span class="function"><strong>setlocale()</strong></span> sous Windows</strong></p>
    <div class="example-contents">
<div class="annotation-non-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* Configure le script en hollandais */<br /></span><span style="color: #0000BB">setlocale</span><span style="color: #007700">(</span><span style="color: #0000BB">LC_ALL</span><span style="color: #007700">, </span><span style="color: #DD0000">'nld_nld'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Affiche : vrijdag 22 december 1978 */<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">strftime</span><span style="color: #007700">(</span><span style="color: #DD0000">"%A %d %B %Y"</span><span style="color: #007700">, </span><span style="color: #0000BB">mktime</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">12</span><span style="color: #007700">, </span><span style="color: #0000BB">22</span><span style="color: #007700">, </span><span style="color: #0000BB">1978</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">/* Essai de différentes valeurs possible pour l'allemand */<br /></span><span style="color: #0000BB">$loc_de </span><span style="color: #007700">= </span><span style="color: #0000BB">setlocale</span><span style="color: #007700">(</span><span style="color: #0000BB">LC_ALL</span><span style="color: #007700">, </span><span style="color: #DD0000">'de_DE@euro'</span><span style="color: #007700">, </span><span style="color: #DD0000">'de_DE'</span><span style="color: #007700">, </span><span style="color: #DD0000">'deu_deu'</span><span style="color: #007700">);<br />echo </span><span style="color: #DD0000">"L'identifiant de l'allemand sur ce système est '</span><span style="color: #0000BB">$loc_de</span><span style="color: #DD0000">'"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>

 
 <div class="refsect1 notes" id="refsect1-function.setlocale-notes">
  <h3 class="title">Notes</h3>
  <div class="tip"><strong class="tip">Astuce</strong>
   <p class="para">
    Les utilisateurs de Windows trouveront des informations utiles à
    propos du paramètre <code class="parameter">locales</code> sur le site web
    <abbr title="Microsoft Developer Network">MSDN</abbr> de Microsoft.
    Les valeurs de locales supportées peuvent être trouvées
    <a href="http://msdn.microsoft.com/en-us/library/39cwe7zf.aspx" class="link external">&raquo;&nbsp;sur la page de la
    documentation des chaînes du langage</a> et les chaînes de
    pays/région <a href="http://msdn.microsoft.com/en-us/library/cdax410z.aspx" class="link external">&raquo;&nbsp;sur la page
    de la documentation des chaînes de pays/région</a>.
   </p>
  </div>
 </div>

 
</div><?php manual_footer($setup); ?>