Files
cafeberry/Minecraft.Client/Windows64/Windows64Extras/Windows64Stubs.cpp
T
2026-08-19 23:10:58 -04:00

91 lines
2.2 KiB
C++

#include "stdafx.h"
//str1k3r - both XGetLanguage & XGetLocale were able to be stolen from Durango as its the exact same as windows
DWORD XGetLanguage()
{
WCHAR wchLocaleName[LOCALE_NAME_MAX_LENGTH];
GetUserDefaultLocaleName(wchLocaleName,LOCALE_NAME_MAX_LENGTH);
eMCLang eLang=(eMCLang)app.get_eMCLang(wchLocaleName);
#ifdef _XGETLANGDEBUG //str1k3r - make this its own def so we dont spam output on debug
app.DebugPrintf("XGetLanguage() ==> '%ls'\n", wchLocaleName);
#endif
switch(eLang)
{
case eMCLang_jaJP:
return XC_LANGUAGE_JAPANESE;
case eMCLang_deDE:
case eMCLang_deAT:
return XC_LANGUAGE_GERMAN;
case eMCLang_frFR:
case eMCLang_frCA:
return XC_LANGUAGE_FRENCH;
case eMCLang_esES:
case eMCLang_esMX:
return XC_LANGUAGE_SPANISH;
case eMCLang_itIT:
return XC_LANGUAGE_ITALIAN;
case eMCLang_koKR:
return XC_LANGUAGE_KOREAN;
case eMCLang_zhHK:
case eMCLang_zhSG:
case eMCLang_zhTW:
case eMCLang_zhCHT:
return XC_LANGUAGE_TCHINESE;
case eMCLang_zhCN:
return XC_LANGUAGE_SCHINESE;
case eMCLang_ptPT:
case eMCLang_ptBR:
return XC_LANGUAGE_PORTUGUESE;
case eMCLang_ruRU:
return XC_LANGUAGE_RUSSIAN;
case eMCLang_nlNL:
case eMCLang_nlBE:
return XC_LANGUAGE_DUTCH;
case eMCLang_fiFI:
return XC_LANGUAGE_FINISH;
case eMCLang_svSV:
case eMCLang_svSE:
return XC_LANGUAGE_SWEDISH;
case eMCLang_daDA:
case eMCLang_daDK:
return XC_LANGUAGE_DANISH;
case eMCLang_noNO:
case eMCLang_nnNO:
case eMCLang_nbNO:
return XC_LANGUAGE_BNORWEGIAN;
case eMCLang_plPL:
return XC_LANGUAGE_POLISH;
case eMCLang_trTR:
return XC_LANGUAGE_TURKISH;
case eMCLang_laLAS:
return XC_LOCALE_LATIN_AMERICA;
case eMCLang_elEL:
case eMCLang_elGR:
case eMCLang_enGR:
return XC_LANGUAGE_GREEK;
case eMCLang_csCZ:
case eMCLang_enCZ:
return XC_LANGUAGE_CZECH;
case eMCLang_skSK:
case eMCLang_enSK:
return XC_LANGUAGE_SLOVAK;
case eMCLang_enUS:
case eMCLang_enGB:
case eMCLang_enIE:
case eMCLang_enAU:
case eMCLang_enNZ:
case eMCLang_enCA:
default:
return XC_LANGUAGE_ENGLISH;
}
}
DWORD XGetLocale()
{
WCHAR wchLocaleName[LOCALE_NAME_MAX_LENGTH];
GetUserDefaultLocaleName(wchLocaleName,LOCALE_NAME_MAX_LENGTH);
return app.get_xcLang(wchLocaleName);
}