この種の操作には、ブートストラップファイル(との両方について話している)をBootstrap.php
使用しないでください。index.php
まず、それはあなたが求めるようには機能しません。次に、アプリの構造を大いに台無しにします。
代わりに、次のいずれかのアプローチを使用できます。
1)ユーザーのCookieをチェックして、選択が既に行われたかどうかをチェックするディスパッチ前フックを追加します。そうである場合は、通常どおりリクエストを続行します(おそらく、後で使用するZend_Registrylang
変数を設定します)。そうでない場合は、言語選択ページにリダイレクトします。後者は、Cookieで行われた選択を保存する必要があります。
2)Router / mod_rewriteに簡単なルールを実装します。要求されたURLに「言語部分」(http://example.com/lang/xx/...
または単にhttp://example.com/xx/...
)が含まれている場合、自動的にこの部分を使用するため、lang
パラメータを設定します。そうでない場合、リクエストは自動的に言語選択ページにリダイレクトされます。後者は、ユーザーを言語固有のページに導き、そこですべてのリンクが言語固有になります。
私の意見では、後者のアプローチは、ユーザーが常に言語調整されたゲートウェイを使用する必要があるため、劣っています。ただし、この情報をCookieに保存する必要はありません。