在我们公司的一个项目中,我们使用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');
绑定文本域中的路径是正确的。文件结构为:
- 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
区域设置未安装在 Homestead 上。通过使用sudo locale-gen nl_NL
修复了它