setlocale

(PHP 4, PHP 5, PHP 7, PHP 8)

setlocaleロケール情報を設定する

説明

setlocale(int$category, string$locales, string...$rest): string|false

代替のシグネチャ (名前付き引数をサポートしていません):

setlocale(int$category, array$locale_array): string|false

ロケール情報を設定します。

警告

ロケール情報は、スレッド毎ではなくプロセス毎に維持されます。 もし PHP を マルチスレッドサーバーAPI 上で動作させている場合、 スクリプトを実行している間にロケールの設定が突然変わるのを 経験するかも知れませんが、スクリプト自身は決して setlocale() 自身をコールしていません。 これは同時に同一プロセスの異なるスレッドで実行されている他のスクリプトが setlocale() を使用してプロセスワイドなロケールを変更する事により発生します。 Windows では、PHP 7.0.5 以降、 ロケール情報はスレッド単位で維持されるようになっています。

パラメータ

category

categoryは、名前付きの定数(または文字列)であり、 ロケール設定により影響を受ける関数のカテゴリを指定します。

locales

localesが空の文字列 "" の場合、ロケール名は上記のカテゴリと同じ名前の環境変数の値、 または環境変数 "LANG" からセットされます。

locales"0" の場合、 ロケール設定は適用されず、単に現在の設定が返されます。

locales に追加のパラメータが続く場合、 それぞれのパラメータは成功するまで新規ロケールとしてセットされます。 これは、ロケールが異なるシステムで異なる名前を持っている、 もしくはロケールが利用できない場合のフォールバックを提供するといった場合に有用です。

rest

オプションの文字列。ロケール設定が成功するまで設定を試みます。

locale_array

それぞれの配列の要素が、 新しいロケールとして設定が成功するまで設定を試みます。 これは、異なるシステムでロケールが違う名前として認識されたり、 ロケールが利用できない可能性がある場合にフォールバックさせる目的で使うと便利です。

注意:

Windows では、setlocale(LC_ALL, '') を使用するとシステムの 地域と言語の設定の値を使用します (コントロールパネルで確認できます)。

戻り値

現在の新しいロケールを返します。ロケール機能が未実装、 指定されたロケールが存在しない、カテゴリ名が無効などの場合は false を返します。

また、カテゴリ名が無効の場合は警告メッセージが発生します。 カテゴリやロケール名は、 » RFC 1766» ISO 639 にあります。 ロケールの命名方式は、システムによって異なります。

注意:

setlocale() の戻り値は、 PHP が実行されているシステムに依存します。 システムの setlocale 関数が返す値を返すためです。

例1 setlocale() の例

<?php

setlocale(LC_ALL, 'nl_NL');


echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));


$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo
"Preferred locale for german on this system is '$loc_de'";
?>

例2 Windows での setlocale() の例

<?php

setlocale(LC_ALL, 'nld_nld');


echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));


$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo
"Preferred locale for german on this system is '$loc_de'";
?>

注意

ヒント

Windows ユーザーは Microsoft の MSDN の Web サイトに locales 文字列に関する有用な情報を見つけることができるでしょう。 サポートしている言語文字列は » 言語文字列のドキュメント、 そしてサポートしている国/地域文字列は » 国/地域文字列のドキュメント にあります。

To Top