1

您好,感谢您提供任何见解/信息/提示。

我们有一个页面同时发送 2 封不同的电子邮件。每封电子邮件都使用不同的语言。几乎所有的电子邮件内容都来自数据库,除了一个包含日期名称和数字的小表格。

对于每封电子邮件,我们使用一个函数来发送它。就像是:

function sendemail($locale, $var1, $var2, $var3)
{
    setlocale(LC_ALL, $locale); 
    // build email body text
    //day names are presented like: strftime("%a, %d %b %Y %H:%M", $checkDate)
    //send email
}

主页使用这些功能发送 2 封电子邮件

sendemail($locale1, $var1, $var2, $var3);
sendemail($locale2, $var1, $var2, $var3);

问题仅出现在第二封电子邮件中。那里的日期名称基于第一个语言环境,而不是第二个语言环境。因此,如果第一种语言是英语,第二种是法语,那么第二封电子邮件将使用英语日期名称而不是法语。

有没有办法来解决这个问题?或者以某种方式破坏/取消设置/删除/重置第一个语言环境,以便第二个语言环境正常应用?

我们确定我们在函数中传递了不同的语言/语言环境。

我们目前使用以下语言环境:en_EN.UTF8, fr_FR.UTF8, el_GR.UTF8, de_DE.UTF8, it_IT.UTF8, ru_RU.UTF8, zh_CN.UTF8, ko_KR.UTF8, es_ES.UTF8, sr_RS.UTF8

4

0 回答 0