在 ASP.NET 中选择合适的数据注释语言

问题描述 投票:0回答:1

我正在尝试本地化数据注释属性的错误消息。我创建了两个 resx 文件:

DataAnnotationsLocalization.resx
> DataAnnotationsLocalization.Designer.cs
DataAnnotationsLocalization.uk.resx

我正在

AddDataAnnotationsLocalization
中调用
Program.cs
,现在尝试在我的页面模型中使用它:

[MinLength(10, ErrorMessage = "LocationAddressFormatError")]
public string Address { get; set; }

但因此,我只看到我的英语资源,而对于其他本地化字符串,我根据当前文化看到它们 (

CultureInfo.CurrentUICulture
)。

我已将断点放入

Designer.cs
但它从未被击中。好像框架直接去
DataAnnotationsLocalization.resx
,不考虑其他语言版本。

如何显示适合当前文化的语言版本?

c# asp.net-core localization attributes data-annotations
1个回答
0
投票

您应该将 .resx 设为公开

https://i.imgur.com/zrGqYk4.png

并像这样使用你的资源

[MinLength(10, ErrorMessageResourceName = "LocationAddressFormatError", ErrorMessageResourceType = typeof(DataAnnotationsLocalization)]
public string Address { get; set; }
© www.soinside.com 2019 - 2024. All rights reserved.