「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>ASP.NET の 国際化対応]] * 目次 [#pb2c5dac] #contents *概要 [#f23d6d30] -[[ASP.NET MVC]]の国際化対応方法について説明する。 [[ASP.NET MVC]]の国際化対応方法について説明する。 -こちらも、[[ASP.NET Web Formsの国際化対応]]と同様に、基本は、~ [[リソースファイル]]やglobalize.js などの jQuery プラグインを使用して、地道に国際化対応を行う。 *詳細 [#y782a3e2] こちらも、[[ASP.NET Web Formsの国際化対応]]と同様に、基本は、~ [[リソースファイル]]やglobalize.js などの jQuery プラグインを使用して、地道に国際化対応を行う。 **MVCではRazorが使える。 [#x8008851] なので、通常の[[リソースファイル]]を使用すると、インテリセンスを使用でき便利 。 -ASP.NET MVC におけるテキストの多言語対応 再考~ http://devadjust.exblog.jp/21514252/ **Model Binding時 [#saefd6c3] ***表示名 [#y30254c7] 国際化されていない表示名を、 [Display(Name = "表示名")] 以下のように国際化する。 [Display(Name = "リソースクラスのプロパティ名", ResourceType = typeof(リソースクラスの型))] -参考 --ASP.NET MVC 4でViewModelのDisplayName(ラベル)を多言語化する - 虎塚~ http://d.hatena.ne.jp/torazuka/20131206/displayname ***エラーメッセージ [#kb4d8f1e] -標準のエラーメッセージ(明示的にメッセージを指定しない場合) --→ 設定不要 -カスタムエラーメッセージ(明示的にメッセージを指定する場合) --→ アノテーションに、以下のプロパティを設定する。 ---ErrorMessageResourceName = "リソースクラスのプロパティ名" ---ErrorMessageResourceType = typeof(リソースクラスの型) --注意 ---リソースはアクセス修飾子を「Public」にしておかないと、~ リソースが見つからないという実行時エラーが発生するので注意。 ---これは、当該プロジェクトのアセンブリから直接ではなく、ValidationAttributeクラスが~ 格納されるSystem.ComponentModel.DataAnnotations.dll経由での取得になるため。 ---ただ、手動で都度で'internal'から'public'へ書き換えるのは大変なので、~ カスタムツールをResXFileCodeGeneratorから、PublicResXFileCodeGeneratorに変更すると良い。 ---c# - Visual Studio - Resx File default 'internal' to 'public' - Stack Overflow~ http://stackoverflow.com/questions/4274311/visual-studio-resx-file-default-internal-to-public -参考 --DataAnnotationsでリソースから文字列を取得する。~ http://karua.at.webry.info/201005/article_1.html --ValidationAttributeのErrorMessageResourceNameとErrorMessageResourceType~ http://d.hatena.ne.jp/yohfee/20090930/1254321397 ---- Tags: [[:.NET開発]], [[:ASP.NET]], [[:国際化対応]]