Zend_Gdata_Calendar_EventEntry以德语回答

时间:2012-01-19 08:55:12

标签: php zend-framework google-calendar-api

我的问题是 Zend_Gdata_Calendar_EventEntry 的所有响应都以德语发送到我的应用程序,我猜是因为它自动采用服务器语言。我想知道如何强制GData的语言?

这是我的应用程序代码的一部分:

//on récupère le nom du service
$this->gcal = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;

//on s'authentifie
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $this->gcal);
$client->setConfig(array('language' => 'en'));

//on crée un nouvel objet calendar
$this->gcal = new Zend_Gdata_Calendar($client);

如果我打印我的GCal对象,则语言设置为英语。我不明白Google为什么用德语回答!

1 个答案:

答案 0 :(得分:1)

我认为谷歌可能正在做一些我们可以在ZF做的事情:

  

有三种语言环境的行为略有不同:

     

'browser' - Zend_Locale应该使用的信息   由用户的Web浏览器提供。它由PHP发布   全局变量$ _SERVER ['HTTP_ACCEPT_LANGUAGE']。

     

如果用户在其浏览器中提供多个区域设置,   Zend_Locale将使用第一个找到的语言环境。如果用户没有   提供语言环境或从命令行调用脚本   将自动使用自动语言环境“环境”   回。

     

'environment' - Zend_Locale应该使用的信息   由主机服务器提供。它由PHP通过内部发布   function setlocale()。

     

如果环境提供多个语言环境,Zend_Locale将使用   第一个找到的语言环境。如果主机没有提供语言环境   将自动使用并返回自动语言环境“浏览器”。

     

'auto' - Zend_Locale应该自动检测任何可以的语言环境   与之合作。它将首先搜索用户区域设置,然后,如果   不成功,搜索主机区域设置。

     

如果没有检测到区域设置,它将抛出异常并告诉您   自动检测失败了。

您的服务器可能正在为DE设置$ _SERVER ['HTTP_ACCEPT_LANGUAGE'],我知道它并不多,但至少您可以检查并在应用中更改它。