私の会社のプロジェクトでは、6つの言語で使用できるWebサイトがあります。サイトは顧客/メンバーにいくつかの電子メールを送信します。すべてのフレーズ/単語はデータベースに保存され、すべてがウェブサイトでうまく機能します。私たちの主な問題は電子メールにあります。複数のロケールで複数の言語が使用されているサイト
各メールには毎日のレポートがあります。 set_locale()を使用して各言語を定義し、曜日名(月も)を適切な選択言語に「表示」します。これは正常に動作します。
複数のメールが送信される場合があります(2つの言語で) - ここに問題があります。 電子メールのすべての情報が正しいように見える - データベースのテキスト/翻訳。 曜日名(および月も)は、両方の電子メールの最初の言語でのみ表示されます。 最初のメールがドイツ語で、2番目がフランス語であれば、フランス語のメールにはフランス語のすべての文字が含まれています(2番目のメールを送信する前にset_localeをもう一度実行しています)
なぜですか?これはいくつかのset_localeの動作が悪いですか?これを防ぐ/修正するにはどうすればよいですか?任意の洞察力をありがとう/ヒント
EDIT: 我々が使用するコードは次のとおりです。のsetlocale(LC_ALL、$にsetLocale)。あるsetLocaleは「fr_FR.UTF8」のようになります
'setLocale()'はスレッドセーフではないため、ロード時に不整合が発生する可能性があります。これが起こるとあなたのWebサーバーは高負荷状態になっていますか? – F21
時間を許す 'setlocale()'引数を使用していますか?コードの一部を見ることなく、具体的に何が問題なのかを言うのは難しいでしょう。 –
@S Morgan:私は私の質問で設定されたロケール部分を追加しました – andrew