1
0
mirror of https://github.com/php/doc-de.git synced 2026-04-26 08:28:03 +02:00
Files
2026-02-10 00:05:33 +00:00

298 lines
9.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: ec01a42be50e84f192c0b19fc6e9cf40a0f7ac31 Maintainer: sammywg Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision: 8cdc6621f9826d04abc3e50438c010804d7e8683 Reviewer: samesch -->
<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="function.setlocale">
<refnamediv>
<refname>setlocale</refname>
<refpurpose>Legt regionale (locale) Einstellungen fest</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 class="union"><type>string</type><type>null</type></type><parameter>locales</parameter></methodparam>
<methodparam rep="repeat"><type>string</type><parameter>rest</parameter></methodparam>
</methodsynopsis>
<simpara>
Alternative Signatur (benannte Parameter werden nicht unterstützt):
</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>
Legt regionale (locale) Einstellungen fest.
</para>
<warning>
<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
<function>setlocale</function>-Aufruf durchführt. Dies passiert, da andere
Skripte in verschiedenen Threads desselben Prozesses zur selben Zeit
prozessweit die Locale-Einstellungen mittels
<function>setlocale</function> ändern. Unter Windows wird die
Locale-Einstellung von PHP 7.0.5 an per Thread verwaltet.
</para>
</warning>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>category</parameter></term>
<listitem>
<para>
<parameter>category</parameter> ist eine benannte Konstante (oder
Zeichenkette), die die Kategorie der von den regionalen Einstellungen
(Locales) betroffenen Funktionen angibt:
<itemizedlist>
<listitem>
<simpara>
<constant>LC_ALL</constant> für alle folgenden Werte
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_COLLATE</constant> für String-Vergleiche, siehe
<function>strcoll</function>
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_CTYPE</constant> für Klassifizierung und Umwandlung von
Zeichen, zum Beispiel <function>ctype_alpha</function>
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_MONETARY</constant> für <function>localeconv</function>
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_NUMERIC</constant> für das Dezimal-Trennzeichen (Siehe
auch <function>localeconv</function>)
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_TIME</constant> für Zeit- und Datums-Formatierungen
mittels <function>strftime</function>
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LC_MESSAGES</constant> für Systemmeldungen (verfügbar, wenn
PHP mit <literal>liblintl</literal> kompiliert wurde)
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>locales</parameter></term>
<listitem>
<para>
Ist <parameter>locales</parameter> der leere String
<literal>""</literal> oder &null;, dann werden die Namen der Locales von
den Werten der Umgebungsvariablen gleichen Namens wie die obigen
Kategorien oder von "LANG" bestimmt.
</para>
<para>
Ist <parameter>locales</parameter> <literal>"0"</literal>, sind keine
regionalen Einstellungen betroffen, und es wird die aktuelle
Einstellung zurückgegeben.
</para>
<para>
Folgen auf <parameter>locales</parameter> 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.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>rest</parameter></term>
<listitem>
<para>
Optionale String-Parameter, die als Locale-Einstellung durchprobiert
werden, bis zum Erfolg.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>locale_array</parameter></term>
<listitem>
<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.
</para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para>
Unter Windows setzt setlocale(LC_ALL, '') die Locale-Namen aus den
Regional/Sprache Einstellungen des Systems; (erreichbar über die
Systemsteuerung).
</para>
</note>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt die neue Locale-Einstellung zurück oder &false;, wenn die
Locale-Funktionalität von Ihrer Plattform nicht unterstützt wird, die
angegebene Locale nicht existiert oder der Kategorie-Name ungültig ist.
</para>
<para>
Ein ungültiger Kategorie-Name erzeugt zusätzlich eine Warnmeldung.
Kategorien- und Locale-Namen können sie unter
<link xlink:href="&url.rfc;1766">RFC 1766</link> und
<link xlink:href="&url.iso-639;">ISO 639</link> nachlesen. Unterschiedliche
Systeme verwenden differierende Namensräume für die Locales.
</para>
<note>
<para>
Der Rückgabewert von <function>setlocale</function> ist von dem
System abhängig, auf dem PHP läuft. Es wird genau das zurückgegeben,
was die Systemfunktion <literal>setlocale</literal> zurückgibt.
</para>
</note>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.5.0</entry>
<entry>
Die Übergabe des Integerwertes <literal>0</literal> als
<parameter>locales</parameter>-Argument wird nicht mehr unterstützt und
löst nun eine <exceptionname>TypeError</exceptionname>-Ausnahme aus.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>setlocale</function>-Beispiele</title>
<programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
/* locale auf Holländisch setzen */
setlocale (LC_ALL, 'nl_NL');
/* Ausgabe: vrijdag 22 december 1978 */
echo strftime ("%A %e %B %Y", mktime (0, 0, 0, 12, 22, 1978));
/* versuche verschiedene mögliche locale Namen für Deutsch */
$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>: aktuellen Wert auslesen</title>
<programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
/* Aktuellen Wert auslesen */
$current = setlocale(LC_ALL, null);
echo "Aktuelle Locale '$current'";
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title><function>setlocale</function>-Beispiele for Windows</title>
<programlisting role="php" annotations="non-interactive">
<![CDATA[
<?php
/* locale auf Holländisch setzen */
setlocale(LC_ALL, 'nld_nld');
/* Ausgabe: vrijdag 22 december 1978 */
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));
/* versuche verschiedene mögliche locale Namen für Deutsch */
$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>
<refsect1 role="notes">
&reftitle.notes;
<tip>
<para>
Windowsuser finden weitergehende Informationen über
<parameter>locales</parameter>-Strings auf Microsofts
<acronym>MSDN</acronym>-Webseite. Unterstützte Language-Strings können Sie
in der
<link xlink:href="&url.setlocale.lang.win32;">Language Strings Dokumentation</link>,
Country/Region-Strings in der
<link xlink:href="&url.setlocale.country.win32;">Country/Region Strings Dokumentation</link>
nachschlagen.
</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
-->