2

多言語サイトを開発しています。

Zend_TranslateオブジェクトをZend_Registryに配置し、それを使用してすべての静的テキストを選択したロケールに翻訳します。

私の質問は、ユーザーが別の言語を選択したときにロケールを変更するにはどうすればよいですか?

レジストリから変換オブジェクトを取得し、setLocaleを呼び出して、それをレジストリに再度配置した場合、それはそのユーザーに対してのみ保持されますか、それともアプリケーション全体に対して保持されますか?

ありがとう。

4

2 に答える 2

2

そのためにはプラグインを使用する必要があります。

要するに、プラグインを作成し、それにメソッドを追加しrouteStartup()ますrouteShutdown()。前者では、リクエスト パラメータにロケール文字列を設定し、必要に応じて、ロケール文字列を含むように requesr URI も設定します。正しいロケール文字列の検出はあなた次第です。Cookie、URL パラメーター、ブラウザーの受け入れ言語ヘッダー、または 3 つの任意の組み合わせを使用できます。後者では、Zend_Translate以前に設定したロケールに基づいてオブジェクトを作成します。

の CMS では次のようになります

URL での language パラメータの使用に関するチュートリアルを次に示します。私の CMS での方法を確認することもできます(_initRouter メソッドを参照してください)。

この情報がお役に立てば幸いです。

于 2011-12-05T10:46:38.077 に答える
0

この目的には Poedit を使用してください。詳細については、このリンクを参照してください。

techie.ayyappadas.com/how-do-use-poeditor
于 2011-12-05T10:35:40.430 に答える