티스토리 뷰

다국어 지원 웹사이트 만들기

1. 리소스 파일을 만들다. (Global.resx, Global.ko.resx)

* Custom Tool Namespace를 "Language"로 설정

* Access Modifier는 "public"으로 설정

* Name은 동일하고 Value는 각 언어에 맞게 작성할것!!!


2. Global.asax 파일 소스 추가

protected void Application_AcquireRequestState(object sender, EventArgs e)

        {            

            string culture = "en-US";

            if (Request.UserLanguages != null)

            {

                culture = Request.UserLanguages[0];

            }

            

            Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(culture);

            Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(culture);

        }


3. .cshtml 소스 추가

<div>

    다국어 서비스(@Request.UserLanguages[0])

    <form action="/Home/Index" method="post" name="selectLanguageForm">

        <select name="selectLanguage" onchange="javascript:document.selectLanguageForm.submit()">

            <option value="en-us">언어변경</option>

            <option value="en-us">English</option>

            <option value="ko">Korea</option>

        </select>

    </form>

</div>

<div>기본 언어 : @Language.Global.language</div>


비고] .cs 

[HttpPost]

        public ActionResult Index(string selectLanguage)

        {

            Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(selectLanguage);

            Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(selectLanguage);

            return View();

        }


테스트 방법

브라우저의 언어를 변경한 후 페이지에 접속하여 테스트한다.

참조 사이트 https://docs.microsoft.com/ko-kr/aspnet/core/fundamentals/localization?view=aspnetcore-2.0


* 언어를 누른 다음, 위로 이동을 누릅니다.


728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함