PHP と Smarty を使用して Web アプリケーションを開発しています。国際化のために gettext を使用していますが、問題があります。putenv+setlocale+bindtextdomain+textdomain でロケール (たとえば「de_DE」) をロードし、ページをリロードすると、「検索」が表示されます。もう一度リロードすると、「Suche」が表示されます。さらに2回リロードして「Suche」を取得しますが、3番目に「Search」を再度表示すると、「Search」が何度も表示され、突然「Suche」が再び表示されます...ランダムに。
Smarty のキャッシュを無効にしましたが、同じ問題です。私は Smarty が異なる言語、templates_c/en_GB、templates_c/de_DE などに対して異なるディレクトリを使用するように設定しました。コンパイルはそのようにうまく機能します。
テンプレートの翻訳には smarty-gettext を使用しています。
gettext と Smarty の使用に関する既知の問題はありますか?
編集していくつかの情報を追加します: Linux マシンでテストを実行しています:
Apache2 2.2.14
gettext 0.17
PHP 5.3.2
smarty 3-SVN$Rev: 3286