在 ASP.NET Core 5 中本地化数据注释错误消息中的标题

Localize the title in data annotation error message in ASP.NET Core 5

我跟随 this official documentation 为数据注释约束提供翻译。

一切正常,除了响应中的标题未翻译。 您可以在下图中看到此标题。 (即 发生一个或多个验证错误。

这个标题不知何故是由 .Net Core 自动添加的。

我不知道它在哪里,也不知道是否可以本地化。您可以看到图片中与密码相关的错误消息是德文的,但标题不是。

您可以找到示例代码 here

仅供参考:我什至在我的 SharedResource.resx 中输入了一个名为 One or more validation errors occurred. 的条目,但是没有用。

这段文字似乎无法翻译。这是源代码的link:https://github.com/dotnet/aspnetcore/blob/a450cb69b5e4549f5515cdb057a68771f56cefd7/src/Http/Http.Extensions/src/HttpValidationProblemDetails.cs

private HttpValidationProblemDetails(Dictionary<string, string[]> errors)
{
    Title = "One or more validation errors occurred.";
    Errors = errors;
}

我建议您在前端捕获此错误并直接在那里提供翻译版本。

在大多数情况下,API 无论如何都不应该提供翻译后的文本。他们应该不了解语言,实际上是 UI 提供翻译。