如何用法语本地化AspNetCore内置消息?

时间:2016-10-31 00:17:26

标签: c# asp.net-core .net-core

使用AspNetCore 1.1预览1位我在documentation演示中可以找到的所有示例如何本地化我自己的资源,我想本地化内置消息,例如验证消息。

我的申请仅供法国人使用,所以我的默认文化是fr-FR。

如何将所有内置资源本地化为法语?

1 个答案:

答案 0 :(得分:1)

从1.1预览版1开始,没有API将所有框架消息转换为其他语言。

对于数据注释验证,您可以在代码中自定义错误消息。鉴于您只是想支持法语,您可能会发现覆盖ValidationAttribute.ErrorMessage属性最简单。

示例:

public class LoginViewModel
{
    [EmailAddress(ErrorMessage = "(Translation for 'this email is invalid' here)")]
    public string Email { get; set; }
}

您还可以使用ValidationAttribute.ErrorMessageResourceNameValidationAttribute.ErrorMessageResourceType属性。有关详细信息,请参阅https://docs.microsoft.com/en-us/dotnet/core/api/system.componentmodel.dataannotations.validationattribute

如果您想要更低级别的控制,则需要覆盖框架本地化。存在IStringLocalizer这样的API。 documentation you linked to引入了一些可扩展性点。 (如果要检查框架代码如何调用这些API,请选中https://aspnetsource.azurewebsites.net。)