<?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 => 'de',
  ),
  'this' => 
  array (
    0 => 'function.setlocale.php',
    1 => 'setlocale',
    2 => 'Legt regionale (locale) Einstellungen fest',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'String-Funktionen',
  ),
  'prev' => 
  array (
    0 => 'function.rtrim.php',
    1 => 'rtrim',
  ),
  'next' => 
  array (
    0 => 'function.sha1.php',
    1 => 'sha1',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    '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">Legt regionale (locale) Einstellungen fest</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.setlocale-description">
  <h3 class="title">Beschreibung</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">
   Alternative Signatur (benannte Parameter werden nicht unterstützt):
  </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">
   Legt regionale (locale) Einstellungen fest.
  </p>
  <div class="warning"><strong class="warning">Warnung</strong>
   <p class="para">
    Die Locale-Informationen wirken auf den Prozess, nicht auf den Thread.
    Sofern Sie PHP auf einer Multithreading-Server-API ausführen, kann es zur
    Laufzeit des Skripts zu plötzlichen Änderungen der Locale-Einstellungen
    kommen, auch wenn das Skript selbst keinen
    <span class="function"><strong>setlocale()</strong></span>-Aufruf durchführt. Dies passiert, da andere
    Skripte in verschiedenen Threads desselben Prozesses zur selben Zeit
    prozessweit die Locale-Einstellungen mittels
    <span class="function"><strong>setlocale()</strong></span> ändern. Unter Windows wird die
    Locale-Einstellung von PHP 7.0.5 an per Thread verwaltet.
   </p>
  </div>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.setlocale-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">category</code></dt>
     <dd>
      <p class="para">
       <code class="parameter">category</code> ist eine benannte Konstante (oder
       Zeichenkette), die die Kategorie der von den regionalen Einstellungen
       (Locales) betroffenen Funktionen angibt:
       <ul class="itemizedlist">
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="string.constants.php#constant.lc-all">LC_ALL</a></code></strong> für alle folgenden Werte
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          <strong><code><a href="string.constants.php#constant.lc-collate">LC_COLLATE</a></code></strong> für String-Vergleiche, siehe
          <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> für Klassifizierung und Umwandlung von
          Zeichen, zum Beispiel <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> für <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> für das Dezimal-Trennzeichen (Siehe
          auch <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> für Zeit- und Datums-Formatierungen
          mittels <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> für Systemmeldungen (verfügbar, wenn
          PHP mit <code class="literal">liblintl</code> kompiliert wurde)
         </span>
        </li>
       </ul>
      </p>
     </dd>
    
    
     <dt><code class="parameter">locales</code></dt>
     <dd>
      <p class="para">
       Ist <code class="parameter">locales</code> der leere String
       <code class="literal">&quot;&quot;</code> oder <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>, dann werden die Namen der Locales von 
       den Werten der Umgebungsvariablen gleichen Namens wie die obigen 
       Kategorien oder von &quot;LANG&quot; bestimmt.
      </p>
      <p class="para">
       Ist <code class="parameter">locales</code> <code class="literal">&quot;0&quot;</code>, sind keine
       regionalen Einstellungen betroffen, und es wird die aktuelle
       Einstellung zurückgegeben.
      </p>
      <p class="para">
       Folgen auf <code class="parameter">locales</code> weitere Parameter, dann wird
       für jeden Parameter versucht, ihn als neuen Locale-Wert zu setzen, bis
       es gelingt. Dies ist dann sinnvoll, wenn eine Locale-Angabe auf
       unterschiedlichen Systemen unter verschiedenen Namen bekannt ist oder
       auch als Fallback für eine eventuell nicht vorhandene Locale-Angabe.
      </p>
     </dd>
    
    
     <dt><code class="parameter">rest</code></dt>
     <dd>
      <p class="para">
       Optionale String-Parameter, die als Locale-Einstellung durchprobiert
       werden, bis zum Erfolg.
      </p>
     </dd>
    
    
     <dt><code class="parameter">locale_array</code></dt>
     <dd>
      <p class="para">
       Für jedes Array-Element wird versucht, es als neue Locale zu setzen,
       bis zum Erfolg. Dies ist nützlich, wenn eine Locale unter
       verschiedenen Namen auf verschiedenen Systemen bekannt ist oder als
       Fallback für eine möglicherweise nicht verfügbare Locale.
      </p>
     </dd>
    
   </dl>
   <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
    <p class="para">
     Unter Windows setzt setlocale(LC_ALL, &#039;&#039;) die Locale-Namen aus den
     Regional/Sprache Einstellungen des Systems; (erreichbar über die
     Systemsteuerung).
    </p>
   </p></blockquote>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.setlocale-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt die neue Locale-Einstellung zurück oder <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, wenn die
   Locale-Funktionalität von Ihrer Plattform nicht unterstützt wird, die
   angegebene Locale nicht existiert oder der Kategorie-Name ungültig ist.
  </p>
  <p class="para">
   Ein ungültiger Kategorie-Name erzeugt zusätzlich eine Warnmeldung.
   Kategorien- und Locale-Namen können sie unter
   <a href="https://datatracker.ietf.org/doc/html/rfc1766" class="link external">&raquo;&nbsp;RFC 1766</a> und
   <a href="http://www.loc.gov/standards/iso639-2/php/code_list.php" class="link external">&raquo;&nbsp;ISO 639</a> nachlesen. Unterschiedliche
   Systeme verwenden differierende Namensräume für die Locales.
  </p>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Der Rückgabewert von <span class="function"><strong>setlocale()</strong></span> ist von dem
    System abhängig, auf dem PHP läuft. Es wird genau das zurückgegeben,
    was die Systemfunktion <code class="literal">setlocale</code> zurückgibt.
   </p>
  </p></blockquote>
 </div>


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

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.5.0</td>
      <td>
       Die Übergabe des Integerwertes <code class="literal">0</code> als
       <code class="parameter">locales</code>-Argument wird nicht mehr unterstützt und
       löst nun eine <span class="exceptionname"><a href="class.typeerror.php" class="exceptionname">TypeError</a></span>-Ausnahme aus.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>

 
 <div class="refsect1 examples" id="refsect1-function.setlocale-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 <span class="function"><strong>setlocale()</strong></span>-Beispiele</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">/* locale auf Holländisch setzen */<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">/* Ausgabe: 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">/* versuche verschiedene mögliche locale Namen für Deutsch */<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">"Preferred locale for german on this system is '</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>Beispiel #2 <span class="function"><strong>setlocale()</strong></span>: aktuellen Wert auslesen</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">/* Aktuellen Wert auslesen */<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">"Aktuelle Locale '</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>Beispiel #3 <span class="function"><strong>setlocale()</strong></span>-Beispiele for 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">/* locale auf Holländisch setzen */<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">/* Ausgabe: 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">/* versuche verschiedene mögliche locale Namen für Deutsch */<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">"Preferred locale for german on this system is '</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">Anmerkungen</h3>
  <div class="tip"><strong class="tip">Tipp</strong>
   <p class="para">
    Windowsuser finden weitergehende Informationen über
    <code class="parameter">locales</code>-Strings auf Microsofts
    <abbr title="Microsoft Developer Network">MSDN</abbr>-Webseite. Unterstützte Language-Strings können Sie
    in der
    <a href="http://msdn.microsoft.com/en-us/library/39cwe7zf.aspx" class="link external">&raquo;&nbsp;Language Strings Dokumentation</a>,
    Country/Region-Strings in der
    <a href="http://msdn.microsoft.com/en-us/library/cdax410z.aspx" class="link external">&raquo;&nbsp;Country/Region Strings Dokumentation</a>
    nachschlagen.
   </p>
  </div>
 </div>


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