ASP.NET MVC는 간단한 다국어 지원(2019 사랑합니다)
4306 단어 ASP.NET_MVC다국어 지원C#
개요
ASP.NET MVC에서 다중 언어 대응을 시도해 보십시오.다국어에 대처하는 방법만이 간단하다.
(2015-03-07) 업그레이드 버전을 썼어요.
간단한 다국어 지원
Accept-Language
에 따라 언어 전환이거 할게요.
이번에는 할 일을 그림으로 정리해 보겠습니다.
그림에서 보듯이 이렇다.
제가 설명해 드릴게요.
이번에 사용한 항목
이번에 사용한 항목은 아래와 같다.
각 언어 리소스 파일 만들기
자원 파일은 확장자resx 파일이죠.다국적 언어를 지원하는 자원 파일은 xxxxxxx입니다.[culture name].resx라는 이름으로 제작되었습니다.기본 언어 자원과 다중 언어 자원을 같은 층에 배열합니다.자원 파일에 대한 접근 수식자
Public
를 잊지 마십시오.장소는 어디든지 될 것 같아요.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
의 값에 대응하는 언어 스위치가 가능하다.CurrentUICulture
는 System.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
언어에 따라 전환되는 셈이다.어떻게 바꿔요?
Reference
이 문제에 관하여(ASP.NET MVC는 간단한 다국어 지원(2019 사랑합니다)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuu-eguci/items/27211b706e4fb9969ec6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)