다국어 버전을 만들려고 하다보니 간단한 Culture 사용법을 찾았다.
기본적으로 IE 언어 옵션에 맞춰서 Resource파일로 나누면 되지만 우리 나라는 유독 로그인
화면에서 언어 선택을 하고 들어가서도 보고 싶어 한다.
일단 대략적인 플로우는
선택에 대한 값은 쿠키로 갖고 있고 각 페이지마다 InitializeCulture구문을 넣을 수 없기에
baseclass를 만들어서 그 안에 InitializeCulture를 넣는다.
각 페이지를 baseclass를 상속하면 될듯하다.
Culture에 대한 상세 설명은 아래에 있다.
http://msdn.microsoft.com/ko-kr/library/bz9tc508.aspx (VB)
Protected Overrides Sub InitializeCulture()
If Request.Form(
"ListBox1")
IsNot Nothing Then Dim selectedLanguage
As String = _
Request.Form(
"ListBox1")
UICulture = Request.Form(
"ListBox1")
Culture = Request.Form(
"ListBox1")
Thread.CurrentThread.CurrentCulture = _
CultureInfo.CreateSpecificCulture(selectedLanguage)
Thread.CurrentThread.CurrentUICulture =
New _
CultureInfo(selectedLanguage)
End If MyBase.InitializeCulture()
End Sub
(C#)
protectedoverridevoidInitializeCulture()
{
if(Request.Form["ListBox1"] != null)
{
String selectedLanguage = Request.Form["ListBox1"];
UICulture = selectedLanguage ;
Culture = selectedLanguage ;
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = new
CultureInfo(selectedLanguage);
}
base.InitializeCulture();
}
최근 덧글