2012-01-19 16 views
0

Zend_Gdata_Calendar_EventEntryの回答はすべてドイツ語で私のアプリケーションに送信されますが、それは自動的にサーバー言語が使用されるためです。私はGDataの言語を強制する方法を知りたいですか?Zend_Gdata_Calendar_EventEntryはドイツ語で回答します

これは私のアプリケーションのコードの一部です:

//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); 

私は私のGoogleカレンダーオブジェクトを印刷する場合、言語が英語に設定されています。私はなぜGoogleがドイツ語で答えるのか分からない!

+0

これは単なるEventEntryですか? $ this-> getReponseをvar_dumpして、手がかりがあるかどうか確認してください。 – RockyFord

答えて

1

私は、Googleが、我々はZFで行うことができます何かをすることができると思う:

若干異なる振る舞いを持っている3つのロケールがあります。

のブラウザ ' - Zend_Localeのはどの情報で動作するはずですが、ユーザのウェブブラウザによって提供される である。これはPHPによってグローバル変数$ _SERVER ['HTTP_ACCEPT_LANGUAGE']の で公開されています。

ユーザがブラウザ内に複数のロケールを提供する場合、 Zend_Localeは最初に見つかったロケールを使用します。ユーザが ロケールを提供していない場合、またはコマンドラインからスクリプトが呼び出されている場合、 自動ロケールの「環境」が自動的に使用され、 が返されます。

「環境」 - Zend_Localeは、ホストサーバーによって提供される という情報で動作する必要があります。これは内部で 関数setlocale()を介してPHPによって公開されています。

環境が複数のロケールを提供する場合、Zend_Localeは最初に見つかったロケールを とします。ホストがロケールを提供しない場合、自動ロケール 'browser'が自動的に使用されて返されます。

'auto' - Zend_Localeは、 が動作するロケールを自動的に検出する必要があります。最初にユーザーロケールを検索し、 が成功しなかった場合は、ホストロケールを検索します。

ロケールが検出されない場合、例外がスローされ、 に自動検出が失敗したことが伝えられます。

サーバーは、DEに$ _SERVER [「HTTP_ACCEPT_LANGUAGE」]を設定することができる、私はそれがあまりありません知っているが、少なくとも、あなたはチェックして、多分アプリでそれを変更することができます。

関連する問題