c# - MVC 5 翻译 IdentityResult

标签 c# asp.net-mvc asp.net-mvc-5

我改写我之前问过的另一个问题。

我有一个基本的 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);
   }
}

问题是当用户名已被使用时(或任何其他错误消息),消息是英文的。比如

Name xxx is already taken

代替

L'identifiant xxx est déjà utilisé

问题是消息是由框架提供的

var result = await userManager.CreateAsync(user, password);

AddErrors(result); 枚举消息(英文)以将它们显示给用户。如何修改消息?

我用

更改了 webconfig 文件中的区域性
<globalization uiCulture="fr-FR" culture="fr-FR" />

但是我还有一条英文消息。事实上,真正的问题是,即使我想要另一条英文消息,我也无法更改框架提供的消息。

有谁知道如何更改 IdentityResult 提供的消息?

最佳答案

不要忘记从 nuget 安装你的语言包 例如:

Install-Package Microsoft.AspNet.Identity.Core.ru

关于c# - MVC 5 翻译 IdentityResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26162712/

相关文章:

c# - 如何为 Dictionary<string, T> 禁用 Nancy 的 JSON 到 C# 类自动大小写转换?

asp.net-mvc - ASP.NET MVC 从 Preview 5 升级到 Beta 期间的问题?

html - 在 MVC 中链接样式表的正确路径

c# - 在自定义 View 引擎中使用子文件夹

c# - 在 C# Winform 中设置 ListView 的位置位于 DataGridView Active Row 下方

c# - YouTube C# API V3,如何恢复中断的上传?

C#:最易读的字符串连接。最佳实践

asp.net-mvc - Html.ActionLink 给出错误 : Cannot resolve action

authentication - 无法连接到数据库以执行身份功能

javascript - 如何使用 AngularJS 和 MVC5 (ASP.NET Identity) 加载部分登录和注册 View