각 언어별로 DLL를 만든다. DLL은 리소스를 가진다.
그리고 DLL에 스트링테이블을 만든다.
사실 ID는 달라도 상관없으나 값은 동일해야 한다.
#include <iostream>
#include <Windows.h>
#define IDS_STRING101 101
int main()
{
HMODULE hModule = nullptr;
// 만약에 한국어라면
//hModule = LoadLibraryW(TEXT("ko_lang.dll"));
// 만약에 영어라면
hModule = LoadLibraryW(TEXT("en_lang.dll"));
wchar_t buffer[100];
LoadStringW(hModule, IDS_STRING101, buffer, 100);
MessageBoxW(nullptr, buffer, TEXT("Test"), MB_OK);
FreeLibrary(hModule);
return 0;
}
이러면 코드는 동일하고 로드되는 DLL에 따라서 언어가 달라질 수 있음.
참으로 뭐같은 방법이군하
로드하는 게 json이냐 dll이냐 정도의 차이인 듯. 이러면 언어별로 다른 동작을 하는 클래스나 기능도 만들 수 있지
우아하진 않아도 괜찮은것같은데?
dll인거만 빼면 일반적인듯? - dc App
와 김상형 저 아님? 올만에 들어보네
맞음
올만에 생각나서 1,2권 찾는데 어디갔지... 하튼 책 좋았음ㅇㅇ
난 지금도 받침대로 잘 쓰는 중ㅋ
rc도 코드로 관리할 수 있어서 stringtable 줄기차게 만들어놓고 언어마다 코드 유동적으로 정하면 굳이 코드내에서 변경안해도 쓸수있긴함
헤더 한개 + 여러 rc로 다국어 관리하면되지롱