在我公司的一个项目中,有一个网站有6种语言版本。该网站向客户/会员发送一些电子邮件。每个短语/单词都存储在数据库中,并且在网站中都可以正常工作。我们的主要问题出现在电子邮件中。
在每封电子邮件中都有每日报告。我们使用set_locale()来定义每种语言,并将“日期名称(月份)”“显示”为正确的选定语言。这没问题。
在某些情况下,有多封电子邮件要发送(使用2种不同的语言) - 这里我们遇到了问题。 电子邮件中的每个信息都显示正确 - 数据库中的文本/翻译 日期名称(以及月份)仅在两封电子邮件中以第一语言显示。 因此,如果第一封电子邮件是德语,第二封电子邮件是法语,那么法语电子邮件将包含法语中的所有内容,以及德语中的日期名称(即使我们在发送第二封电子邮件之前再次执行set_locale)
为什么?这是一些set_locale不良行为吗?我们如何防止/解决这个问题?感谢您提供任何见解/提示
修改 我们使用的代码是:setlocale(LC_ALL,$ setLocale); 其中setLocale看起来像“fr_FR.UTF8”
答案 0 :(得分:-1)
你应该使用这个模块(来自Zend Framework):http://framework.zend.com/manual/en/zend.locale.html 识别浏览器上下文语言非常有用。
对于翻译,您可以使用Zend Translate:
http://framework.zend.com/manual/en/zend.translate.html
非常有用!