開発サーバーで必要なロケールを生成し、使用setlocale
して PHP にロケールを提供すると、フォーマットされた日付strftime
が期待どおりに完全に翻訳されて表示されます。
ただし、ページをリロードした後、日付はサーバーのデフォルト ロケールで表示されました: en_US
. ページを複数回リロードすると、ほぼ 50/50 の確率で日付が翻訳されました。変。ここで何が起きてるの?
問題なく使用できるようにするには、ロケールを生成した後、 ApacheとNginxの両方のWeb サーバーを再起動する必要があるようです。
service apache2 restart
またはを使用service nginx restart
して問題を解決してください。場合によっては、問題を解決するためにサーバー全体を再起動する必要があります。
Helmut Strasser のブログ投稿のおかげで、問題を特定することができました。