既存の Zend 1.12 プロジェクトに言語サポートを追加する必要があります。HTMLセレクトボックスを使用して言語を変更することはできますか? 私が知っている唯一の方法は、選択ボックスの「onChange」属性を使用して、選択したオプションを分析できる特定の js 関数を挿入することです。
javascriptでzend_translate言語切り替えを開始することは可能ですか?
既存の Zend 1.12 プロジェクトに言語サポートを追加する必要があります。HTMLセレクトボックスを使用して言語を変更することはできますか? 私が知っている唯一の方法は、選択ボックスの「onChange」属性を使用して、選択したオプションを分析できる特定の js 関数を挿入することです。
javascriptでzend_translate言語切り替えを開始することは可能ですか?
選択した変更で Web サイトをリロードするか、新しい html をロードする ajax 呼び出しを行う必要があります。
このようなものがうまくいくはずです(ルーティングに言語コードがあると思います):
HTML コード:
<select id="languageSwitch">
<option value="en">English</option>
<option value="de">Deutsch</option>
</select>
JS (jQuery を使用):
$('#languageSwitch').change(function() {
window.location = '/' + $(this).val() + '/';
});
これにより、ドメイン名に追加された /en/ または /de/ (選択に基づく) でページがリロードされます。
http://www.yourwebsite.com/en/
http://www.yourwebsite.com/de/
ルーティングの設定についてサポートが必要な場合は、このビデオが役に立ちます。
これは、アプリケーション内でロケール切り替え機能が必要なようです。Zend ロケールの手動定義を調べて、アクティブなロケールをユーザーのセッションに保存してください: http://framework.zend.com/manual/1.12/en/zend. locale.functions.html
次に、「Pre-Dispatch Plugin」を構築して、アクティブなセッション ロケールを認識および変更し、ドロップダウン メニューの選択で定義された GET パラメータを反映させます。ロケール変更パラメーターを渡す方法は多数あります。上記の回答の「ルート」アプローチ、リンク付きの単純な GET パラメーターを使用するか、ドロップダウン ロケール アプローチに設定されている場合は、JQuery を試すことができます。例: http://jetlogs.org/2007/09/03/jquery-select-boxes-and-change-events/
あなたが言ったように、最も簡単なのはon-changeスニペットです-しかし、ブラウザがonchange属性を認識することが期待されているため、標準の観点からは醜いです。
チョイエはあなたのものです。