我正在用 PHP 和 Smarty 开发一个 webapp。我使用 gettext 进行国际化,但我有一个问题:它有时只能工作,绝对随机。我用 putenv+setlocale+bindtextdomain+textdomain 加载一个语言环境(例如'de_DE'),重新加载页面,然后查看“搜索”;再次重新加载,我看到“Suche”;再重新加载两次并获得“Suche”,但第三次再次给我“搜索”,然后我多次看到“搜索”,突然我又可以看到“Suche”......随机。
我已经为 Smarty 停用了缓存,但同样的问题。我已经将 Smarty 配置为针对不同的语言使用不同的目录,templates_c/en_GB、templates_c/de_DE 等等。以这种方式编译工作正常。
我正在使用 smarty-gettext 进行模板翻译。
使用 gettext 和 Smarty 是否有任何已知问题?
编辑以添加一些信息:我在 Linux 机器上运行我的测试:
阿帕奇2 2.2.14
获取文本 0.17
php 5.3.2
smarty 3-SVN$Rev: 3286