nl_langinfo()関数の構文は次のとおりです。
<span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(constant);
</span></span>この関数は、パラメーターとして定数を受信し、定数に対応するローカリゼーション情報を返します。定数は、特定のローカリゼーション項を表す事前定義されています。
サポートされていない定数を通過する場合、またはシステムが対応するローカリゼーション環境をサポートしない場合、 nl_langinfo()は空の文字列またはfalseを返します。
lc_ctype
この一定は、現在のロケールの文字分類を返します。文字がアルファベット順、数字、またはその他のタイプであるかどうかを決定します。この定数を使用して、文字の正しい処理を確保します。
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_CTYPE); </span><span><span class="hljs-comment">// 出力文字分類情報</span></span><span>
</span></span> LC_TIME
LC_TIMEは、ローカル時間関連形式を返します。この定数は非常に便利です。特に、さまざまなロケールに応じて日付と時刻の形式を表示する必要がある場合は、非常に便利です。
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_TIME); </span><span><span class="hljs-comment">// ローカル時間形式を出力します</span></span><span>
</span></span> LC_MONETARY
通貨シンボル、通貨セパレーターなど、通貨に関連する情報を返します。この定数は、国際通貨情報を扱うときに非常に役立ちます。
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_MONETARY); </span><span><span class="hljs-comment">// 出力通貨シンボル</span></span><span>
</span></span> LC_NUMERIC
この定数は、数値形式の設定を返します。通常、小数シンボル、サウザンドセパレーターなどの情報が含まれます。数字の形式は、異なる地域の設定によっても異なります。
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_NUMERIC); </span><span><span class="hljs-comment">// 出力デジタル形式</span></span><span>
</span></span> LC_PAPER
紙のサイズを返すために使用されるローカリゼーション設定。出力形式がローカルの紙の仕様を満たすことを確認するために、アプリケーションの印刷でよく使用されます。
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_PAPER); </span><span><span class="hljs-comment">// 出力用紙サイズ</span></span><span>
</span></span> LC_MEASUREMENT
この一定は、メトリック単位または帝国ユニットを使用するなど、測定単位に関連するローカライズされた設定を返します。
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_MEASUREMENT); </span><span><span class="hljs-comment">// 測定の出力単位</span></span><span>
</span></span> LC_Address
郵便番号形式、アドレス注文など、アドレス形式に関連するローカライズされた設定を返します。
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_ADDRESS); </span><span><span class="hljs-comment">// 出力アドレス形式</span></span><span>
</span></span> LC_TELEPHONE
この定数は、電話番号形式に関連するローカライズされた情報を返し、電話番号のフォーマットに適しています。
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_TELEPHONE); </span><span><span class="hljs-comment">// 出力電話番号形式</span></span><span>
</span></span> lc_identification
言語、地域などを含む現在のローカライズされた環境の識別情報を返します。
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_IDENTIFICATION); </span><span><span class="hljs-comment">// 出力ローカライズされた識別情報</span></span><span>
</span></span>複数の言語をサポートするオンラインストアを開発しているとしたら、この地域に応じて通貨記号と日付形式を表示する必要がある場合があります。この情報は、nl_langinfo()を介して取得できます。たとえば、価格を表示する場合、次のコードを使用してローカライズされた通貨シンボルを取得できます。
<span><span><span class="hljs-comment">// 現在のロケールで通貨記号を取得します</span></span><span>
</span><span><span class="hljs-variable">$currency_symbol</span></span><span> = </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_MONETARY);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"現在の通貨シンボルはです: "</span></span><span> . </span><span><span class="hljs-variable">$currency_symbol</span></span><span>;
</span></span>ローカル設定に基づいて日付を表示する必要がある場合は、 LC_TIME定数を使用できます。例えば:
<span><span><span class="hljs-comment">// 現在のロケールで日付形式を取得します</span></span><span>
</span><span><span class="hljs-variable">$date_format</span></span><span> = </span><span><span class="hljs-title function_ invoke__">nl_langinfo</span></span><span>(LC_TIME);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"現在の日付形式はです: "</span></span><span> . </span><span><span class="hljs-variable">$date_format</span></span><span>;
</span></span>ロケール設定: nl_langinfo()によって返されるコンテンツは、現在のロケール設定に基づいています。したがって、この関数を使用する前に、ロケールが正しく設定されていることを確認してください。 setlocale()を使用して、現在のロケールを設定できます。
<span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_ALL, </span><span><span class="hljs-string">'zh_CN.UTF-8'</span></span><span>); </span><span><span class="hljs-comment">// 中国の環境を設定します</span></span><span>
</span></span>プラットフォームの依存関係: nl_langinfo()関数の動作は、オペレーティングシステムとPHPのインストール構成に依存する場合があります。一部のシステムでは、ロケールが利用できないか、サポートされていない場合、ヌル値が返される場合があります。
移植性: NL_LANGINFO()は強力なローカリゼーションサポートを提供しますが、サポートされている定数はオペレーティングシステムとPHP環境間で異なる場合があります。したがって、ターゲット環境は、クロスプラットフォームの互換性を確保するために、開発中にテストする必要があります。
NL_LANGINFO()は、開発者がローカリゼーション関連情報を取得するのに役立つ非常に有用なPHP関数です。この関数と対応する定数を正しく使用することにより、さまざまな言語や地域に従ってディスプレイコンテンツを自動的に調整して、ユーザーエクスペリエンスを向上させることができます。 NL_LANGINFO()は、多言語および複数地域がサポートするアプリケーションを開発する場合、情報の正確性を確保するだけでなく、複雑なローカリゼーションの問題の処理を大幅に簡素化できます。