.NET ] 멀티 랭귀지 지원 ...
멀티 랭귀지 지원에 대해 글을 한번 싸질러본다.
몇가지 글을 찾아보았는데... 영문에 장수도 만만치 않다.
따라해도 뭐가 빠졌는지 잘 안된다...
따라하기를 포기하고 그냥 내방식대로 코드 노가다와 감으로 짜보니 되더라...
1. 새 프로젝트를 생성한다. ( 응용프로그램 : Form )
2. 프로젝트내에 기본으로 있는 Resources.resx 에 [이름)Name / 값)Name] 을 추가해준다. ( 영문명 )
3. 새 항목 추가로 리소스를 추가한다. 이때 이름은 Resources.ko-kr.resx 이다. ( 한글명 )
동일한 Key로 써야 하니까 [이름)Name / 값) 이름] 이라고 추가한다.
4. 폼에 버튼 하나를 놓아둔다.
5. Form 소스에서 버튼.Text 에 Name을 할당해보자.
---- 소스 --------------------------------------------------------------------------------------
button1.Text = Demo_MultiLanguage.Properties.Resources.Name;
요렇게.... 넣으면 기본 리소스 이용으로 영문으로 "Name" 이 나온다.
Name으로 나오게 된다.
한글로 안나오는 이유를 보면..
Demo_MultiLanguage.Properties.Resources.Culture 요 값이 null 값으로
null이면 기본 리소스 값을 가져오는 듯 하다.
6. 이제 한글이 되도록 바꿔보자.
---- 소스 --------------------------------------------------------------------------------------
Demo_MultiLanguage.Properties.Resources.Culture = new System.Globalization.CultureInfo("ko-kr");
button1.Text = Demo_MultiLanguage.Properties.Resources.Name;
요러면... 버튼에 "이름" 이라고 표시된다.
## 중요 참고 사항 ###############################################################################
1. 새로 만든 리소스 파일명에 주의 한다.
Resources.resx
Resources.ko-kr.resx
2. 파일 위치를 잘 맞춘다.
끝!!!
--- 추가 내용 (잘못된 정보다)----------------------------------
{ // 또 실수할까봐... 남겨둔다.
all in one code framework 의 샘플들을 훑어보던 중 쇼킹..
Form아래 resx파일을 추가해두고
해당 resx에서 [이름)컨트롤명.프로퍼티 / 값) 값] 요거 하나로 끝나는걸 봤다.
코드를 넣을필요도 없네??? 멋지다.
}
>> 잘못된 정보다!!! 위!!
잘못된 정보대로 하니 안된다... 저걸로 하는게 아니고
의외로 간단하게 된다.
Form에 localizable 프로퍼티를 디자이너 에서 true 시켜놓고 디자인 작업을 하면
자동으로 생성이 되네? -> resx에...
다음 그냥 디자이너에서 속성창에서 Text수정하면 자동으로 resx를 만들어 저장한다.
정리하면
그냥 로컬라이즈 = true 걸어놓고
언어 선택 후
디자이너에서 컨트롤 프로퍼티를 조정하면 알아서 저장된다 ㅡ.,ㅡ;;
'# 4) .Net ( Vs 2010 ) > C#' 카테고리의 다른 글
2010 WinForm ] 컨트롤 리사이징 예제... (0) | 2012.07.20 |
---|---|
.Net] 버튼 Pressed Event!! (0) | 2012.05.09 |
ArrayList.Sort 하기... (4) | 2011.07.29 |
[IPC] Event 추가 ~~ (0) | 2011.05.14 |
LINQ] 로또 구하기? (1) | 2011.04.25 |