У меня есть проект с использованием ASP.NET Core MVC 2.2.
Для локализации я использовал SharedResource.В представлениях и контроллерах это работает нормально, но не для аннотаций данных в моделях.
Моя модель:
public class MyProfileModel : BaseModel
{
[Required(ErrorMessage = "HomeFirstNameRequired")]
[StringLengthWithErrorMessage(20)]
[Display(Name = "HomeFirstName")]
public string FirstName { get; set; }
}
Мой запуск:
public void ConfigureServices(IServiceCollection services)
{
...
services.AddLocalization();
services.AddMvc()
.AddDataAnnotationsLocalization(options =>
{
options.DataAnnotationLocalizerProvider = (type, factory) => factory.Create(typeof(SharedResources));
})
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
.AddDataAnnotationsLocalization()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture(DefaultCultureInfo),
SupportedCultures = SupportedCultures,
SupportedUICultures = SupportedCultures
});
...
}
Я прочитал, чтоЗначение ErrorMessage может использовать локализацию, но это не работает.Также мне это нужно для отображаемого имени ..
Кто-нибудь идея?