多言語サイトを開発しています。
Zend_TranslateオブジェクトをZend_Registryに配置し、それを使用してすべての静的テキストを選択したロケールに翻訳します。
私の質問は、ユーザーが別の言語を選択したときにロケールを変更するにはどうすればよいですか?
レジストリから変換オブジェクトを取得し、setLocaleを呼び出して、それをレジストリに再度配置した場合、それはそのユーザーに対してのみ保持されますか、それともアプリケーション全体に対して保持されますか?
ありがとう。
多言語サイトを開発しています。
Zend_TranslateオブジェクトをZend_Registryに配置し、それを使用してすべての静的テキストを選択したロケールに翻訳します。
私の質問は、ユーザーが別の言語を選択したときにロケールを変更するにはどうすればよいですか?
レジストリから変換オブジェクトを取得し、setLocaleを呼び出して、それをレジストリに再度配置した場合、それはそのユーザーに対してのみ保持されますか、それともアプリケーション全体に対して保持されますか?
ありがとう。
そのためにはプラグインを使用する必要があります。
要するに、プラグインを作成し、それにメソッドを追加しrouteStartup()
ますrouteShutdown()
。前者では、リクエスト パラメータにロケール文字列を設定し、必要に応じて、ロケール文字列を含むように requesr URI も設定します。正しいロケール文字列の検出はあなた次第です。Cookie、URL パラメーター、ブラウザーの受け入れ言語ヘッダー、または 3 つの任意の組み合わせを使用できます。後者では、Zend_Translate
以前に設定したロケールに基づいてオブジェクトを作成します。
URL での language パラメータの使用に関するチュートリアルを次に示します。私の CMS での方法を確認することもできます(_initRouter メソッドを参照してください)。
この情報がお役に立てば幸いです。
この目的には Poedit を使用してください。詳細については、このリンクを参照してください。
techie.ayyappadas.com/how-do-use-poeditor