[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]
「[[マイクロソフト系技術情報 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の国際化対応]]と同様に、基本は、~

*詳細 [#y782a3e2]
こちらも、[[ASP.NET Web Formsの国際化対応]]と同様に、基本は、~
[[リソースファイル]]やglobalize.js などの jQuery プラグインを使用して、地道に国際化対応を行う。

*MVCではRazorが使える。 [#x8008851]
**MVCではRazorが使える。 [#x8008851]
なので、通常の[[リソースファイル]]を使用すると、インテリセンスを使用でき便利
。

-ASP.NET MVC におけるテキストの多言語対応 再考~
http://devadjust.exblog.jp/21514252/

*Model Binding時 [#saefd6c3]
**表示名 [#y30254c7]
**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]
***標準のエラーメッセージ [#fc693b92]
(明示的にメッセージを指定しない場合)
-→ 設定不要
***エラーメッセージ [#kb4d8f1e]

***カスタムエラーメッセージ [#s7e3e9e4]
(明示的にメッセージを指定する場合)
-→ アノテーションに、以下のプロパティを設定する。
--ErrorMessageResourceName = "リソースクラスのプロパティ名"
--ErrorMessageResourceType = typeof(リソースクラスの型)
-標準のエラーメッセージ(明示的にメッセージを指定しない場合)
--→ 設定不要

-注意
--リソースはアクセス修飾子を「Public」にしておかないと、~
-カスタムエラーメッセージ(明示的にメッセージを指定する場合)
--→ アノテーションに、以下のプロパティを設定する。
---ErrorMessageResourceName = "リソースクラスのプロパティ名"
---ErrorMessageResourceType = typeof(リソースクラスの型)

--注意
---リソースはアクセス修飾子を「Public」にしておかないと、~
リソースが見つからないという実行時エラーが発生するので注意。
--これは、当該プロジェクトのアセンブリから直接ではなく、ValidationAttributeクラスが~
---これは、当該プロジェクトのアセンブリから直接ではなく、ValidationAttributeクラスが~
格納されるSystem.ComponentModel.DataAnnotations.dll経由での取得になるため。
--ただ、手動で都度で'internal'から'public'へ書き換えるのは大変なので、~
---ただ、手動で都度で'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]], [[:国際化対応]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS