Gettext间歇性地工作

时间:2013-11-24 22:53:52

标签: php twig gettext php-gettext

我已成功使用这些行在twig中成功启用国际化和{%trans%}标记:

$language = "...";
$domain = "project";
putenv("LC_MESSAGES=$language");
setlocale(LC_MESSAGES, $language);
bindtextdomain($domain, SITE_DIR . "locale");
textdomain($domain);
bind_textdomain_codeset($domain, "UTF-8");

和树枝模板:

...
{% trans "Translation.Key" %}
...

不幸的是它随机工作。我的意思是,虽然我一直按F5,比如每秒,或者在页面之间移动,但有时它会切换到应该翻译的字符串(“Translation.Key”变为“Localized value to output”),有时它会回落到输出{%trans%}标签下的字符串(“Translation.Key”)。

同时我在日志中看不到任何错误。我应该检查什么才能理解问题的根源并使其始终如一地工作?

提前致谢。

3 个答案:

答案 0 :(得分:2)

在我的情况下,每次我对翻译文件进行更改时,通过重新启动Apache(或者当我在远程服务器上使用nginx时重启php5-fpm)来解决问题。否则,gettext会像问题中描述的那样出现故障。

答案 1 :(得分:0)

确保在开发过程中禁用了Twig Cache。

答案 2 :(得分:0)

个人而言,它来自php-fpm。重新启动Apache没有任何作用。

要在centos7上重新启动php-fpm

systemctl restart php-fpm

对于其他操作系统,请检查此链接以重新启动php-fpm: https://serverfault.com/questions/189940/how-do-you-restart-php-fpm