使用AspNetCore 1.1预览1位我在documentation演示中可以找到的所有示例如何本地化我自己的资源,我想本地化内置消息,例如验证消息。
我的申请仅供法国人使用,所以我的默认文化是fr-FR。
如何将所有内置资源本地化为法语?
答案 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.ErrorMessageResourceName
和ValidationAttribute.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。)