Globalization and localization(다국어 지원)
다국어 지원 웹사이트 만들기
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
* 언어를 누른 다음, 위로 이동을 누릅니다.