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