ASP.NET MVCアプリケーションが完了すると、言語切り替え機能が必要と判断されました。それは単に英語と日本語の2つの言語になります。それらは2つの間で切り替えることができるはずですが、選択されていない場合は、ブラウザのデフォルト言語のいずれかを選択する必要があります。言語切り替えツールの構築 - 2言語のみ - ASP.NET MVC
この場合、最良の解決策が何であるか不思議です。
最初の考え、ルート!だから私はすべてのルートの最後に/{l}
を持つようにルートを変更し、デフォルトはl = ""
です。次に、私のBaseController(すべてのコントローラはそれに基づいている)で、私はルートのl変数をチェックします。各アクションは、言語に基づくビューを返します。
URLの最後に単純にhack/ja-jpできたら、日本語で表示されます。それは正しく経路を決めるようには思われませんでした。それから、私は私の見解で本当に悪く、手でリンクをコード化しました...私はヘルパーに最初に正しいリンクを出力することができませんでした...そして、それらを手書きする悪い習慣に陥りました。だから、私は最後に言語変数をハックするために、すべてのリンクをもう一度再コーディングする必要があります。
2番目の考え ... ok、jQueryを使用して、すべてのアンカーのhrefに言語変数を追加してください。それはあまりにも不器用で難しいと思われ、必要になるまで隠れている特定の状況などです。
だから、私は何とかこれを行うことに決めました。リソースファイルを使用せずに2つの言語を切り替える最もエレガントな方法は何ですか?私は、アクションを言語に基づいて2つのビューの中から選択するだけです。
私はHtmlヘルパーを使用する必要があるすべてのリンクを書き直して、ルートを稼働させますか? BaseControllerで、値がない場合は、言語を英語に設定します。
アドバイスをいただきありがとうございます。
で英語のコンテンツを見ることができました?:http://oddiandeveloper.blogspot.com/2008/11/localization-with-aspnet- mvc.html – grenade