我的问题是 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为什么用德语回答!
答案 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'],我知道它并不多,但至少您可以检查并在应用中更改它。