在 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 提供翻译。
我跟随 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 提供翻译。