4
我重申了之前提到的另一个问题。MVC 5翻译IdentityResult
我有一个基本的C#Asp.net MVC 5应用程序。我通过下面的代码(由模板Vs中2013提供)
protected async Task<bool> CreateAccountAndAddRoleAsync(UserManager<ApplicationUser> userManager, ApplicationUser user, string password, string role)
{
var result = await userManager.CreateAsync(user, password);
if (result.Succeeded)
{
try
{
var roleResult = await userManager.AddToRoleAsync(user.Id, role);
if (roleResult.Succeeded)
{
//await SignInAsync(userManager, user, isPersistent: false);
return true;
}
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}
AddErrors(result);
return false;
}
protected void AddErrors(IdentityResult result)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError("", error);
}
}
的问题是,当用户名已被使用(或任何其它的错误消息),消息是在英语中创建一个帐户。如
名称XXX已经采取
而不是
L'identifiant XXX EST似曾相识utilisé
的问题是,该消息是由提供框架与
var result =等待userManager.CreateAsync(user,password);
而AddErrors(result);
枚举消息(英文)将它们显示给用户。我如何修改消息?
我改变了文化在webconfig文件,
<globalization uiCulture="fr-FR" culture="fr-FR" />
但我仍然有一个英语消息。实际上,真正的问题是我无法更改框架提供的消息,即使我想用英语发送另一条消息。
有谁知道如何更改IdentityResult
提供的信息?
在服务器上安装的.NET法语语言包? – GSerg 2014-10-02 14:14:58
看看这个线程:http://stackoverflow.com/questions/19961648/how-to-localize-asp-net-identity-username-and-password-error-messages。来自ASP.NET开发人员的最新评论于昨天发布。简短的回答是:这些消息现在不是本地化的。 – Andrei 2014-10-02 14:18:37
谢谢安德烈!我想我会把它弄脏然后...... – Daniel 2014-10-02 14:22:03