マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

ASP.NET MVCの国際化対応方法について説明する。

詳細

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

MVCではRazorが使える。

なので、通常のリソースファイルを使用すると、インテリセンスを使用でき便利 。

Model Binding時

表示名

国際化されていない表示名を、

[Display(Name = "表示名")]

以下のように国際化する。

[Display(Name = "リソースクラスのプロパティ名", ResourceType = typeof(リソースクラスの型))]

エラーメッセージ

  • 標準のエラーメッセージ(明示的にメッセージを指定しない場合)
    • → 設定不要
  • カスタムエラーメッセージ(明示的にメッセージを指定する場合)
    • → アノテーションに、以下のプロパティを設定する。
      • 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

Tags: :.NET開発, :ASP.NET, :国際化対応


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-08-02 (金) 16:39:09 (79d)