具有区域设置目录结构的PHP setlocale

具有区域设置目录结构的PHP setlocale,php,localization,gettext,Php,Localization,Gettext,我正在使用PHP的gettext工具翻译一个多语言web应用程序。它在我的本地服务器上运行良好,但在托管时不起作用 locale.po和.mo消息的我的目录结构 locale/ ar_IQ/ LC_MESSAGES/ messages.mo messages.po ku_IQ/ LC_MESSAGES/ messages.mo messages.po

我正在使用PHP的
gettext
工具翻译一个多语言web应用程序。它在我的本地服务器上运行良好,但在托管时不起作用

locale.po和.mo消息的我的目录结构

locale/
    ar_IQ/
        LC_MESSAGES/
            messages.mo
            messages.po
    ku_IQ/
        LC_MESSAGES/
            messages.mo
            messages.po
和我的php代码来设置语言环境

// get $locale from URL parameter or cookie
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "/locale");
textdomain("messages");
bind_textdomain_codeset('messages', 'UTF-8');
当将locale更改为ar_IQ时,效果很好,但使用ku_IQ时,文本根本不会被翻译


我知道在我的主机提供商的服务器上可能没有
ku_IQ
的区域设置,但它是否仍然应该从适当的文件夹(即ku_IQ)获取翻译文本?只有日期、时间和其他区域格式在这种情况下不起作用。

可能重复,但答案不能解决我的问题。因为我在本地服务器上没有ku_IQ的语言环境,仍然能够显示翻译的文本。正如我所说,只有日期和时间格式是不可用的。如果您没有安装区域设置,它就不应该工作。显示两个系统的
locale-a
输出。我检查了,我的系统上没有该区域设置。我仍然得到翻译文本,但不是正确的日期和时间格式,这是我所期望的,无论出于什么原因,它在您的本地系统上工作。。。您是否已尝试在服务器上安装区域设置。。。?!