|
감사합니다.
이것 하나만 더 답해주실 수 있는 지?
하나의 프로그램(바이너리)이 두 개의 언어 리소스를 다 가지고 있다는 건데..
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던..)에 영어/말레이어 등록시키고,
: : : : 프로그램 실행 될 때 리소스 한꺼번에 다 읽어 들이고,
: : : : 설정에 따라 폼의 모든 컨트롤들의 켑션을 영어/말레이로 바꾸고,
: : : : 런타임 메세지도 설정에 따라 영어/말레이어로 표시하는 그런 식일 것으로 예상되는데..
: : : : 이 방법이 맞는 지? 상당히 노가다라....
: : : :
: : : : 좀 효율적인 방법은 ?
: : : :
: : : : 도와주세요..
|