ドイツ語の PHP での「setlocale は効果がありません」問題のトラブルシューティング
PHP では、setlocale() 関数を使用して開発者がロケールを構成できます特定のカテゴリの言語や国などの設定。ただし、ユーザーは、setlocale() が目的の言語を設定していないように見えるという問題に遭遇することがあります。
次のシナリオを考えてみましょう:
date_default_timezone_set('Europe/Berlin'); setlocale(LC_ALL, 'de_DE.utf8'); // Or setlocale(LC_ALL, 'de_DE@euro'); // Or setlocale(LC_ALL, 'de_DE'); // Or setlocale(LC_ALL, 'de'); // Or setlocale(LC_ALL, 'ge'); echo strftime('%B');
このコードが実行されると、 June のドイツ語訳である「Juni」ではなく「 June」を出力します。これは、setlocale() がドイツ語ロケールを正常に設定していないことを示しています。
考えられる原因と解決策
setlocale() が機能しない最も可能性の高い理由の 1 つは次のとおりです。スクリプトを実行しているサーバーにはドイツ語ロケールがインストールされていません。これを確認するには、サーバー上で次のコマンドを実行します。
locale -a
このコマンドは、サーバーにインストールされているすべてのロケールを一覧表示します。ドイツ語ロケールが存在しない場合は、インストールする必要があります。インストール手順はサーバーのオペレーティング システムによって異なる場合があります。サーバーのドキュメントを参照するか、ホスティング プロバイダーに問い合わせて支援を受けてください。
ドイツ語ロケールがインストールされたら、Web サーバーまたは PHP アプリケーションを再起動して、変更が有効であることを確認します。 setlocale() と strftime() を使用して、ドイツ語で月の名前を出力できるようになりました。
以上が`setlocale()` で PHP コードの言語が変更されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。