- 追加された行はこの色です。
- 削除された行はこの色です。
[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]
-[[戻る>ASP.NET の 国際化対応]]
* 目次 [#f354fadc]
#contents
*概要 [#y93457a4]
-[[ASP.NET MVC]]の国際化対応方法について説明する。
-こちらも、[[ASP.NET Web Formsの国際化対応]]と同様に、基本は、~
[[リソースファイル]]やglobalize.js などの jQuery プラグインを使用して、地道に国際化対応を行う。
*MVCではRazorが使える。 [#sdb9b1e0]
なので、通常の[[リソースファイル]]を使用すると、インテリセンスを使用でき便利
。
-ASP.NET MVC におけるテキストの多言語対応 再考~
http://devadjust.exblog.jp/21514252/
*Model Binding時 [#z1d135ff]
**表示名 [#r6a7fc68]
国際化されていない表示名を、
[Display(Name = "表示名")]
以下のように国際化する。
[Display(Name = "リソースクラスのプロパティ名", ResourceType = typeof(リソースクラスの型))]
-参考
--ASP.NET MVC 4でViewModelのDisplayName(ラベル)を多言語化する - 虎塚~
http://d.hatena.ne.jp/torazuka/20131206/displayname
**エラーメッセージ [#z6b77910]
***標準のエラーメッセージ [#b8de1acc]
(明示的にメッセージを指定しない場合)
-→ 設定不要
***カスタムエラーメッセージ [#p5d045da]
(明示的にメッセージを指定する場合)
-→ アノテーションに、以下のプロパティを設定する。
--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]], [[:国際化対応]]