我目前正在努力学习PHP中的gettext.
Gettext使用缓存.这是一件好事,但是当我更新我的翻译时,我无法访问它们,这很烦人.
我读过除了重启Web服务器之外我们无法刷新缓存,这不是一个可行的解决方案.
其他人使用具有不同名称的.mo文件的副本来强制它们再次加载.
第一个问题
我正在搜索gettext缓存内存中文件的时间,以考虑我的应用程序是否可以在字符串出现之前等待那段时间.但我找不到那些信息……持续时间是无限的吗?
第二个问题
我无法想象一个像gettext这样受欢迎的项目还没有找到解决这个问题的解决方案.它是特定于PHP的吗?
在此先感谢我将拥有的冬天.
问候.
解决方法:
每个使用gettext的应用程序在应用程序运行时始终使用缓存,文件可能在启动/首次使用时打开,然后存储在内存中直到关闭. PHP作为apache的一部分(通过mod_php)不断运行,而不是启动和关闭.
如果你使用php-cgi它没有这个问题,因为PHP在需要时由apache启动.
Gettext最初是为桌面应用程序开发的,没有长时间运行的服务器端应用程序,“sysadmin”无法控制停止和启动.您不希望桌面应用在运行时更改.