ASP.NET MVCアプリケーションをローカライズする方法
-
08-07-2019 - |
質問
ASP.NET MVCアプリケーションをローカライズするためのベストプラクティスは何ですか?
次の2つの状況について説明します。
- 複数の言語を処理するIISでの1つのアプリケーションの展開
- 1つの言語/アプリケーションの展開。
最初の状況では、〜/ 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のブログエントリを見ることができます詳細な説明と例。
残念ながら、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 /
そして別のソリューションのための別のチュートリアル