首页 > 解决方案 > PHP gettext 在 Homestead 中返回输入作为结果

问题描述

在我们公司的一个项目中,我们使用 gettext 来翻译文本。这已经工作了好几年,但现在我正在尝试在 Homestead 中运行该项目,除了 gettext 一切正常。例如,当使用gettext('input_string')它返回input_string. 在我们的服务器和 MAMP 中,一切正常。可能是什么问题呢?我在 Apache 和 PHP 7.0 上运行该项目(与服务器和 MAMP 相同)

语言环境的域绑定如下:

bindtextdomain('projectname', APPLICATION_PATH. DIRECTORY_SEPARATOR . 'locale');
textdomain('projectname');
bind_textdomain_codeset('projectname', 'UTF-8');

bindtextdomain 中的路径是正确的。文件结构为:

 - locale
   - en_US
     - LC_MESSAGES
       - projectname.mo
       - projectname.po
   - fr_FR
     - LC_MESSAGES
       - projectname.mo
       - projectname.po
   - nl_NL
     - LC_MESSAGES
       - projectname.mo
       - projectname.po
   - pt_PT
     - LC_MESSAGES
       - projectname.mo
       - projectname.po

标签: phpgettexthomesteadpo

解决方案


语言环境没有安装在 Homestead 上。通过使用修复它sudo locale-gen nl_NL


推荐阅读