ASP.NET MVCアプリケーションをローカライズするためのベストプラクティスは何ですか?
次の2つの状況について説明します。
最初の状況では、〜/ View/EN、〜/ View/FI、〜/ View/SWEなどのビューベースのものを使用する必要がありますか?
2番目のケース、Web.configを介したアプリケーションベースの設定だけで、これらの異なる言語を異なるURLにポイントする場合はどうでしょうか?
こちらもご覧ください ASP.NET MVC 2ローカリゼーション完全ガイド および ASP.NET MVC 2ローカリゼーションによるモデル検証 ASPで作業する場合、これらの全体が役立ちます。 NET MVC 2。
ASP.NET MVCアプリケーションは、従来のASP.NET Webフォームアプリケーションと同じようにローカライズします。
言語ごとに異なるページ/ビューを使用することはありませんが、各ページはサテライトアセンブリを使用して複数の言語をサポートします。
Matt Hawleyのブログエントリ を参照して、詳細な説明と例を確認してください。
残念ながら、マットホーリーの元のコードはASP.NET MVCのリリースバージョンでは機能しません。更新された投稿を確認してください: http://blog.eworldui.net/post/2008/10/ASPNET-MVC-Localization-via-View-Engines.aspx
一般に、ローカリゼーションプロセスは、VS 2008/ASP.NET MVCの世界では従来のWebフォームほどスムーズではありません。 http://www.guysmithferrier.com/post/2009/05/Localizing-ASPNET-MVC.aspx
Rob ConneryのMvcStoreプロジェクトをご覧ください。彼は、グローバリゼーションの問題を解決する1つの方法を示すスクリーンキャストを行います。
Elijahが示唆するように、フォーム内でローカライズを処理することを確信したことはありません。長さと方向が異なると、ナフに見えるフォームが非常に複雑になったり変化したりする可能性があります。
私はMVCから始めているだけですが、言語に関係なく同じコントローラを使用するためにあなたが望む分離方法を採用しています(言語を単にビューとして扱う)-これは/ Controller/Action/language/formを与えます
DisplayNameのローカリゼーション、検証、ルーティングの使用(カルチャ名をURLに保存)、出力キャッシュの問題など、すべての側面をカバーするasp.net mvcアプリケーションのローカライズ方法に関する最近の更新に関する優れたチュートリアルがあります... Alex Adamyanブログ-キーボードがやさしく泣きながら
DataAnnotationsMetadaDataProvider をオーバーライドすることで、実際にはまったく異なるものになりました。そこで、DisplayNameAttribute値が正しい言語に解決されることを確認できます。実際には、その属性を取り除き、それが助けになる場合にのみフィールド名で解決することさえできます。
少し前にこの記事を書きました。カスタムビューエンジンを使用します。 http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/