2016-10-31 2 views
0

AspNetCore 1.1 미리보기를 사용하여 1 비트 예를 들어 documentation 데모에서 내 자원을 현지화하는 방법을 발견했습니다. 예를 들어 유효성 검사 메시지와 같이 내장 메시지를 현지화하고 싶습니다.프랑스어로 작성된 AspNetCore의 메시지를 어떻게 현지화 할 수 있습니까?

내 응용 프로그램은 프랑스 사람들 만 사용하도록 의도되었으므로 기본 문화권은 fr-FR입니다.

내장 된 모든 리소스를 프랑스어로 어떻게 현지화 할 수 있습니까?

+0

클라이언트의 브라우저는'Accept-Language' http 헤더를 사용하여 프랑스어로 요청해야합니다 (예 : 프레임 워크 코드가이 API를 호출하는 방법을 검사하려면 https://aspnetsource.azurewebsites.net을 확인하십시오). 그러나 요청 필터를 사용하고 현재 스레드 (Thread.Current.CurrentLocale = [...]'와 같은 것, 정확히 기억할 수없는 것)에서 로케일을 설정하여 기본 로케일을 설정할 수 있습니다. – sturcotte06

+0

"기본 제공 메시지"는 무엇을 의미합니까? –

+0

유효성 검사 속성의 표준 유효성 검사 메시지, 신원 확인 결과의 인증 메시지 등과 같이 프레임 워크에서 반환되는 메시지입니다. –

답변

1

1.1 미리보기에서 현재 모든 프레임 워크 메시지를 다른 언어로 변환 할 API가 없습니다.

데이터 주석 유효성 검사의 경우 코드에서 오류 메시지를 사용자 지정할 수 있습니다. 프랑스를 지원하려는 경우 ValidationAttribute.ErrorMessage 속성을 재정의하는 것이 가장 쉽습니다.

예 :

public class LoginViewModel 
{ 
    [EmailAddress(ErrorMessage = "(Translation for 'this email is invalid' here)")] 
    public string Email { get; set; } 
} 

당신은 또한 ValidationAttribute.ErrorMessageResourceNameValidationAttribute.ErrorMessageResourceType 속성을 사용할 수 있습니다. 자세한 내용은 https://docs.microsoft.com/en-us/dotnet/core/api/system.componentmodel.dataannotations.validationattribute을 참조하십시오.

더 낮은 수준의 제어가 필요한 경우 프레임 워크 현지화를 재정의해야합니다. API 등 IStringLocalizer가 존재합니다. documentation you linked to은 이러한 확장 지점 중 일부를 소개합니다.

+0

이 방법의 문제점은 유효성 검사 메시지가 어렵지 않기 때문에 지역화 할 모든 문자열을 알아야한다는 것입니다. 악몽입니다. ​​신원 확인 결과 메시지를 처리해야합니다. 답변을 주셔서 감사합니다. –

관련 문제