C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[50791] Re:Re:Re:Re:[질문] Translation Manager의 다국어 지원...
땅주인 [heaven2] 1360 읽음    2007-10-09 20:44
감사합니다.

이것 하나만 더 답해주실 수 있는 지?

하나의 프로그램(바이너리)이 두 개의 언어 리소스를 다 가지고 있다는 건데..

Translation Manager로 만들어서 어쩌구저쩌구 하니까..
한글 버젼, 영어 버젼 따로 바이너리가 만들어지던데..
하나의 바이너리가 두 언어의 리소스를 다 가지고 있는 건가요? 아닌 것 같던데.. -.-;;;;;


장성호 님이 쓰신 글 :
: 제어판에 언어설정이 아니구요
:
: 윈도우 레지스터리 Software\\Borland\\Locales 에 설정을 그냥 바꿔주는것입니다.
:
: 아래 함수로  지역 설정을 변경할수 있습니다.
: void SetLocalOverrides(char* FileName,char* LocaleOverride)
: {
:     HKEY Key;
:     const char* LocaleOverrideKey="Software\\Borland\\Locales";
:     if( RegOpenKeyEx(HKEY_CURRENT_USER,LocaleOverrideKey,0,KEY_ALL_ACCESS,&Key)== ERROR_SUCCESS )
:     {
:         if(lstrlen(LocaleOverride)==3)
:             RegSetValueEx(Key,FileName,0,REG_SZ,(const BYTE*)LocaleOverride,4);
:         RegCloseKey(Key);
:     }
: }
: //---------------------------------------------------------------------------
:
: 사용예
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:      SetLocalOverrides((Application->ExeName).c_str(),"KOR"); //한글로 설정
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
:       SetLocalOverrides((Application->ExeName).c_str(),"ENU");  //영어로 설정
: }
:
: 그런데 위와같이 변경하면 프로그램을 재시작해야 적용됩니다.
:
: 프로그램을 재시작하지 않고 run-time에 하는 방법도 있는 걸로 알고 있는데...
: LoadNewResourceModule , ReinitializeForms 로 google에서 검색해보세요
:
:
: 저도 Resource Dll Wizard를 사용해본지 너무 오래 되어서 기억이 가물가물 합니다.
: 프로그램을 재시작하지 않고 run-time에 바로 변경하는것은 해보지 않은 기능이구요
:
: 더 자세한것은 다른분들께..
:
: 그럼..
:
:
:
: 땅주인 님이 쓰신 글 :
: : 답변 감사합니다.
: : 그런데, 언어설정만 하면 된다고 하셨는데..제어판에서 언어 설정하는 걸 의미하나요?
: : (어쨌거나 영어로 컴파일한 건 영어버젼, 한국어로 컴파일하면 한국어 버젼인 거죠? )
: :
: : 제가 해야 할 것은..
: : 운영체재의 언어설정이나 이런 것에 상관없이....
: : 가령 프로그램이 사용하는 레지스트리에다가 영어 또는 말레이어로 설정해 놓고,
: : 동일한 프로그램으로 영어 또는 말레이어로 사용하는 것을 원하는 것입니다.
: :
: : 동일한 프로그램이 설정(레지스트리 또는 ini file)에 따라 영어 /한국어 등으로
: : 표현되어야 한다는 것입니다.
: :
: : 그냥 레지스트리 밖에 없는건가?
: :
: : 장성호 님이 쓰신 글 :
: : : 오래되서 잘 기억이 나지 않는데요..
: : :
: : : 메뉴의 File->New에 보면 Resource Dll Wizard라는 것이 있습니다.
: : :
: : :
: : : 이걸로 만들면 언어 설정만 하면 Design - Time에 결정 Caption들은 다 자동으로 가능합니다.
: : : 문론 Resurece Dll 만들때  영어 , 한국어 각 언어에 해당하는 string 리소스를 다 만들어 줘야하죠
: : :
: : : 안되는것도 있습니다.
: : : 코딩에서 직접 string을 입력되어있는것은 안됩니다.
: : :
: : : 개인적으로  코딩에 있는 string은  ini 파일을 이용했습니다.
: : :
: : : 그럼..
: : :
: : :
: : : 땅주인 님이 쓰신 글 :
: : : : 다국어 지원 프로그램을 제작해야 하는데..
: : : : 이리저리 뒤져서 Translation Manager를 찾아냈는데요..
: : : :
: : : : 한가지 의문,
: : : :
: : : : 해당 언어로 Compile하면 땡인거 아닌가요?
: : : : Build한 프로그램 자체가 한글버젼, 영어버젼,일본어 버젼 이렇게 되는 것이지요?
: : : :
: : : : 제가 필요한 것은 하나의 빌드에서 한글/영어가 동시에 지원되어야 하는데요..
: : : : 레지스트리나 기타 설정에서 이 프로그램을 한글로 쓰겠다고 하면 한글로 지원,
: : : : 영문으로 쓰겠다면 영문으로 지원하는 기능입니다.
: : : :
: : : : 말레이지아가 대상 국가인데.. 영어와 말레이어를 공통으로 쓰는데..
: : : : 웬만한 사람들은 영어와 말레이어를 같이 쓸 줄 알더군요. O/S도 영문을 쓰고요..
: : : :
: : : : 그래서, 하나의 빌드가지고 설정에 따라 말레이/영어로 전환하는 기능이
: : : : 필요합니다.
: : : :
: : : : 어떻게 해야 하나요?
: : : :
: : : : 리소스 파일(텍스트 파일이건, MDB던..)에 영어/말레이어 등록시키고,
: : : : 프로그램 실행 될 때 리소스 한꺼번에 다 읽어 들이고,
: : : : 설정에 따라 폼의 모든 컨트롤들의 켑션을 영어/말레이로 바꾸고,
: : : : 런타임 메세지도 설정에 따라 영어/말레이어로 표시하는 그런 식일 것으로 예상되는데..
: : : : 이 방법이 맞는 지? 상당히 노가다라....
: : : :
: : : : 좀 효율적인 방법은 ?
: : : :
: : : : 도와주세요..

+ -

관련 글 리스트
50786 [질문] Translation Manager의 다국어 지원... 땅주인 1214 2007/10/09
50788     Re:[질문] Translation Manager의 다국어 지원... 장성호 1340 2007/10/09
50789         Re:Re:[질문] Translation Manager의 다국어 지원... 땅주인 1786 2007/10/09
50790             Re:Re:Re:[질문] Translation Manager의 다국어 지원... 장성호 1683 2007/10/09
50791                 Re:Re:Re:Re:[질문] Translation Manager의 다국어 지원... 땅주인 1360 2007/10/09
50795                     Re:Re:Re:Re:Re:[질문] Translation Manager의 다국어 지원... 장성호 1439 2007/10/10
50799                         Re:Re:Re:Re:Re:Re:감사합니다.(냉무) 땅주인 1241 2007/10/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.