Localization in ASP.NET MVC 4 using App_GlobalResources

前端 未结 2 1625
隐瞒了意图╮
隐瞒了意图╮ 2021-02-09 05:11

I am trying to accomplish two things:

  1. Localize the “built-in” error messages for “FieldMustBeDate” and \"FieldMustBeNumeric\".
  2. Localize some of the other
2条回答
  •  我在风中等你
    2021-02-09 05:47

    I figured this one out myself. If you are trying to accomplish the above you must separate the localized error messages.

    Create a *.resx file for the other error messages fx "PropertyValueRequired" and set the Build Action to “Embedded”, set the Copy to Output Directory to “Do no Copy”, set the Custom Tool to “PublicResXFileCodeGenerator” and set the Custom Tool Namespace to “Resources”.

    In my case I have moved "PropertyValueRequired" to a file called LocalDanish.resx (still in the App_GlobalResources folder) and changed the line in my "MyRequiredAttributeAdapter" from

    attribute.ErrorMessageResourceType = typeof(Resources.WebResources);
    

    to

    attribute.ErrorMessageResourceType = typeof(Resources.LocalDanish);
    

    In order to get the "built in" error messages to work, you must create two *.resx files. I have created WebResources.resx and WebResources.da.resx. Do NOT change anything, leave the settings on them on default (Build Action to "Content", etc.). I guess the website automatically looks for the *.da.resx files in my case because I have set the globalization in my WebConfig:

    
    

    Hope this helps anybody.

    Best regards, Andreas

提交回复
热议问题