ASP.NET MVCアプリケーションをローカライズする方法


121

ASP.NET MVCアプリケーションをローカライズするためのベストプラクティスは何ですか?

2つの状況について説明します。

  • 複数の言語を処理するIISでの1つのアプリケーション展開
  • 1つの言語/アプリケーションのデプロイメント。

最初の状況では、〜/ View / EN、〜/ View / FI、〜/ View / SWE、または何か別のビューベースのものを使用する必要がありますか?

2番目のケースはどうでしょうか。Web.configを介したアプリケーションベースの構成だけで、これらの異なる言語を異なるURLにポイントしますか?


複製されたビューの代わりに、カルチャ固有の文字列を格納するために標準のResXファイルを使用できます。残念ながら、特に翻訳者によるこのファイルの管理と編集は、少し不快で難しいものです。リソースをデータベースに格納し、外部ローカリゼーションツールを使用することで、これを簡略化できます。データベースリソースプロバイダーを提供するこの無料のライブラリをご覧ください。globsite.net
Kryszal

回答:


72

ASP.NET MVC 2ローカリゼーションの完全なガイドローカリゼーションによるASP.NET MVC 2モデルの検証もご覧ください。ASP.NETMVC 2を使用している場合、これらの全体が役立ちます。


この更新された回答をありがとう!1年前、私はマットホーリーのアプローチを使用しましたが、ユニットテストで深刻な問題に遭遇しました。コントローラーコンテキストをモックしようとしましたが、それでも何か他のものが欠けていたため、あきらめました。私はこのMVC2の方法を実行し、彼らがこれを理解したことを願っています。
Lauri Larjo、2010

私は自分のプロジェクトでこのアプローチを使用していましたが、このアプローチの方が優れていると言えるでしょう。
fyasar 2010

@fyasarこんにちは、asp mvcにショッピングサイトがあるので、ユーザーがアラビア語を選択したときにサイト全体をアラビア語にしたいのですが、Microsoft Bing トランスレータまたはMicrosoft トランスレータAPIを使用できますか、localize.jsを購入てこれを高速に実現する必要がありますか??
Shaijut、2015年

22

ASP.NET MVCアプリケーションは、従来のASP.NET Webフォームアプリケーションと同じようにローカライズします。

言語ごとに異なるページ/ビューを使用することはありませんが、各ページはサテライトアセンブリを使用して複数の言語をサポートします。

あなたは見ることができますマット・ホーリーのブログエントリより詳細な説明と例については。


9

残念ながら、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



2

Elijahが示唆するように、フォーム内のローカライズを処理することを私は確信していません。

私はMVCから始めたばかりですが、分離方法を取ると、言語に関係なく同じコントローラーを使用したいでしょう(言語をビューとして扱う)-これにより、/ Controller / Action / language / formが得られます



1

実際には、DataAnnotationsMetadaDataProviderをオーバーライドすることで、まったく別のことを行い ました。そこで、DisplayNameAttribute値が正しい言語に解決されることを確認できます。実際、その属性を取り除き、それが何らかの助けになる場合にのみフィールド名で解決することもできます。


0

私はこの記事を少し前に書いた。カスタムビューエンジンを使用します。 http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/


1
あなたの記事が実際に質問に答える可能性がありますが、答えの本質的な部分をここに含め、参照用のリンクを提供することが望ましいでしょう。Stack Overflowはその質問と回答と同じくらい有用です。ブログホストがダウンしたり、URLが移動したりすると、この回答は役に立たなくなります。ありがとう!
サルノルド2012

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.