ASP.NET MVC는 간단한 다국어 지원(2019 사랑합니다)

개요


ASP.NET MVC에서 다중 언어 대응을 시도해 보십시오.다국어에 대처하는 방법만이 간단하다.
(2015-03-07) 업그레이드 버전을 썼어요.
  • ASP.NET MVC 버전 단순 다국어 지원 2020
  • 간단한 다국어 지원

  • 언어별 자원 파일 제작
  • http 요청Accept-Language에 따라 언어 전환
  • 설정
    이거 할게요.

    이번에는 할 일을 그림으로 정리해 보겠습니다.


    그림에서 보듯이 이렇다.

    제가 설명해 드릴게요.

    이번에 사용한 항목


    이번에 사용한 항목은 아래와 같다.
  • ASP.NET Web Application (.NET Framework)
  • .NET Framework 4.7.2
  • MVC
  • Authentication: No Authentication
  • 각 언어 리소스 파일 만들기


    자원 파일은 확장자resx 파일이죠.다국적 언어를 지원하는 자원 파일은 xxxxxxx입니다.[culture name].resx라는 이름으로 제작되었습니다.기본 언어 자원과 다중 언어 자원을 같은 층에 배열합니다.자원 파일에 대한 접근 수식자 Public 를 잊지 마십시오.
  • Localize.resx: 기본 사용
  • Localize.ja.resx:ja문화에서 사용하는 것들
  • Localize.en.resx:en 카드에 사용되는 물건
  • 주소는?
    장소는 어디든지 될 것 같아요.Resource/I18n/Foo/Localize입니다.resx와 같은 폴더 등급을 만듭니다.I18n은 국제ization의 약칭이다.
    칼차톤?
    문화는 http 요청 헤더Accept-Language의 값을 가리킨다.사이트의 열람자 선생이 어떤 언어를 찾고 있는지 말입니다.
    결말이 없다?
    아니요.

    없을 때도 있는 것 같은데.이 경우 목록에 국한되지 않고resx의 확장명으로 수동으로 파일을 만들면 됩니다.?!
    또는 Add Existing Item에 추가된 resx 파일을 찾을 수 있습니다.

    자원에 쓴 텍스트를 사용하시겠습니까?String1 이런 텍스트를 준비했다면...

    이렇게 부르다.
    Views/Home/Index.cshtml
    @MyApp.Resources.I18n.Foo.Localize.String1
    
    사실상 이때CurrentUICulture의 값에 대응하는 언어 스위치가 가능하다.CurrentUICultureSystem.Threading.Thread.CurrentThread.CurrentUICulture를 가리키며 상술한 카드 정보를 설정한 항목인 것 같다.가격을 en-GB로 정하면 로컬라이즈.en.resx의 String1 를 호출합니다.
    Controllers/HomeController.cs
    // CurrentUICulture の変更。
    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-GB");
    
    프로그램 내에서 언어만 바꾸면 된다면, 여기까지다.

    Accept-Language 언어로 전환


    최상위 디렉토리의 웹config의 system.web 라벨에 기술<globalization culture="auto" uiCulture="auto" />.
    Web.config
    <system.web>
      <compilation debug="true" targetFramework="4.7.2" />
      <httpRuntime targetFramework="4.7.2" />
      <globalization culture="auto" uiCulture="auto" />  <!-- 追加 -->
    </system.web>
    
    요청 헤더의 Accept-Language에 따라 자동으로 변경CurrentUICulture.Accept-Language 언어에 따라 전환되는 셈이다.
    어떻게 바꿔요?
  • Chrome: 메뉴 > 설정 > 세부 설정 > 언어
  • Firefox: 메뉴 > 옵션 > 언어
  • 매번 브라우저를 다시 시작해야 하기 때문에 두 개의 각각 방문 확인을 켜면 쉽다.

    좋은 웹페이지 즐겨찾기