델파이로 개발한 프로그램이 갑자기 일본에서도 필요해서 그쪽으로 납품을 해야하는데
Hint나 Caption등을 일본어로 해야합니다.
그런데..일어로 번역된 부분을 Copy해서 넣으니깐 어떤글자는 ? 로 표시가 되네요
큰일이예요..
일본어 OS를 깔아야만 이게 제대로 된 글자가 보이나요
아니면 일본 폰트만 깔면 되나요?
전에 베트남어도 이런식으로 하려니깐..자꾸 깨져서 그냥 영문으로 보냈는데
일본어는 꼭 일본어로 바꿔서 가야한다는데..
급해서 그러는데 꼭 좀 가르쳐주세요
25일날까지 나가야하는거라 18일 안에는 프로그램을 끝내야하는데
왜 이걸 이제야 가르쳐주는지...흑.....
각 언어별 다국어 Ini 파일을 만드세요
예)
Lang.kor
=======================================
[Title]
Label1.Caption=테스트
Label1.Hint=테스트 힌트
[Resource]
MSG_LABLE1=다국어 테스트
=======================================
Lang.eng
=======================================
[Title]
Label1.Caption=Test
Label1.Hint=Test hint
[Resource]
MSG_LABLE1=Multilang Test
=======================================
Lang.jpn ==> 이 파일은 일본어 OS에서만 만드시고
절대 한글이나 영문 OS에서 파일을 편집 저장하면 안됩니다. 깨져 버립니다.
그리고 메모장에서 인코딩을 UNICODE 인가 ANSI 인가로 해야 합니다. 실제 해보면서 확인 해보세염...(ㅜ.ㅜ 지금 기억이 안나네여)
(참고로 영어를 제외하고는 다른 OS에서 열면 깨지더라구요)
=======================================
[Title]
Label1.Caption=??
Label1.Hint=??.?
[Resource]
MSG_LABLE1=??.??>
=======================================
OS의 기본 Language가 무엇인지 알아내는 Function을 만드시고(인터넷에 찾아보면 있어염...ㅡ.ㅡ)
var
LangFileExt: string;
function GetLanguage: integer;
begin
...
end;
procedure InitMultiString(Lang: integer);
begin
case GetLanguage of
0: // English
begin
LangFileExt := '.kor'
end;
1: // Korea
begin
LangFileExt := '.eng'
end;
2: // Japanese
begin
LangFileExt := '.jpn'
end;
end;
end;
procedure SetMultiLang;
var
MultiLangFile: string;
begin
MultiLangFile := IniFile.Create(IncludeTrailingBackSlash(Application.ExeName) + 'Lang' + LangFileExt);
try
Label1.Caption := MultiLangFile.ReadString('Title', 'Label1.Caption');
Label1.Hint := MultiLangFile.ReadString('Title', 'Label1.Hint);
finally
MultiLangFile.Free;
end;
end;
하시면 됩니다. 그리 어렵지 않죠?
이만 내공이 약한 관계로 설명이 그리 좋지 못하네여.... 그럼 즐프 하세요...