2014-10-02 2 views
4

이전에 물어 보았던 다른 질문을 다시 말합니다.MVC 5 번역 IdentityResult

기본 C# Asp.net MVC 5 응용 프로그램이 있습니다. 나는 (대 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 기시

문제는 메시지가에 의해 제공되는 utilisé 추정 않도록주의한다 프레임 워크 :

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

그리고 AddErrors(result);은 메시지를 영어로 열거하여 사용자에게 표시합니다. 메시지를 수정하려면 어떻게해야합니까?

나는

<globalization uiCulture="fr-FR" culture="fr-FR" /> 

으로 webconfig 파일의 문화를 변경하지만 난 여전히 영어 메시지가 있습니다. 사실, 실제 문제는 영어로 다른 메시지를 원한다고해도 프레임 워크에서 제공하는 메시지를 변경할 수 없다는 것입니다.

누구든지 IdentityResult에서 제공하는 메시지를 변경하는 방법을 알고 있습니까?

+0

서버에서 프랑스 .NET 언어 팩을 설치 하시겠습니까? – GSerg

+3

이 글을 확인하세요 : http://stackoverflow.com/questions/19961648/how-to-localize-asp-net-identity-username-and-password-error-messages. ASP.NET 개발자의 최신 코멘트가 어제 게시되었습니다. 짧게 대답 :이 메시지는 현재 현지화 할 수 없습니다. – Andrei

+0

감사합니다. Andrei! 나는 그때 더러운 것 같아요 .... – Daniel

답변

5

예를 들어 nuget 에서 언어 패키지를 설치하는 것을 잊지 마십시오

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