void CPreferences::SetLanguage() { InitLanguages(GetMuleDirectory(EMULE_INSTLANGDIR), GetMuleDirectory(EMULE_ADDLANGDIR, false)); bool bFoundLang = false; if (m_wLanguageID) bFoundLang = LoadLangLib(GetMuleDirectory(EMULE_INSTLANGDIR), GetMuleDirectory(EMULE_ADDLANGDIR, false), m_wLanguageID); if (!bFoundLang){ LANGID lidLocale = (LANGID)::GetThreadLocale(); //LANGID lidLocalePri = PRIMARYLANGID(::GetThreadLocale()); //LANGID lidLocaleSub = SUBLANGID(::GetThreadLocale()); bFoundLang = LoadLangLib(GetMuleDirectory(EMULE_INSTLANGDIR), GetMuleDirectory(EMULE_ADDLANGDIR, false), lidLocale); if (!bFoundLang){ LoadLangLib(GetMuleDirectory(EMULE_INSTLANGDIR), GetMuleDirectory(EMULE_ADDLANGDIR, false), LANGID_EN_US); m_wLanguageID = LANGID_EN_US; CString strLngEnglish = GetResString(IDS_MB_LANGUAGEINFO); AfxMessageBox(strLngEnglish, MB_ICONASTERISK); } else m_wLanguageID = lidLocale; } // if loading a string fails, set language to English if (GetResString(IDS_MB_LANGUAGEINFO).IsEmpty()) { LoadLangLib(GetMuleDirectory(EMULE_INSTLANGDIR), GetMuleDirectory(EMULE_ADDLANGDIR, false), LANGID_EN_US); m_wLanguageID = LANGID_EN_US; } InitThreadLocale(); }
bool CPreferences::IsLanguageSupported(LANGID lidSelected, bool bUpdateBefore){ InitLanguages(GetLangDir(), bUpdateBefore); if (lidSelected == LANGID_EN_US) return true; const SLanguage* pLang = _aLanguages; for (;pLang->lid;pLang++){ if (pLang->lid == lidSelected && pLang->bSupported){ return CheckLangDLLVersion(GetLangDir()+CString(pLang->pszISOLocale) + _T(".dll")); } } return false; }
bool CPreferences::IsLanguageSupported(LANGID lidSelected, bool bUpdateBefore){ InitLanguages(GetMuleDirectory(EMULE_INSTLANGDIR), GetMuleDirectory(EMULE_ADDLANGDIR, false), bUpdateBefore); if (lidSelected == LANGID_EN_US) return true; const SLanguage* pLang = _aLanguages; for (;pLang->lid;pLang++){ if (pLang->lid == lidSelected && pLang->bSupported){ bool bResult = CheckLangDLLVersion(GetMuleDirectory(EMULE_INSTLANGDIR) + CString(pLang->pszISOLocale) + _T(".dll")); return bResult || CheckLangDLLVersion(GetMuleDirectory(EMULE_ADDLANGDIR, false) + CString(pLang->pszISOLocale) + _T(".dll")); } } return false; }
void CPreferences::SetLanguage() { InitLanguages(GetLangDir()); bool bFoundLang = false; if (m_wLanguageID) bFoundLang = LoadLangLib(GetLangDir(), m_wLanguageID); if (!bFoundLang){ LANGID lidLocale = (LANGID)::GetThreadLocale(); //LANGID lidLocalePri = PRIMARYLANGID(::GetThreadLocale()); //LANGID lidLocaleSub = SUBLANGID(::GetThreadLocale()); bFoundLang = LoadLangLib(GetLangDir(), lidLocale); if (!bFoundLang){ LoadLangLib(GetLangDir(), LANGID_EN_US); m_wLanguageID = LANGID_EN_US; CString strLngEnglish = GetResString(IDS_MB_LANGUAGEINFO); AfxMessageBox(strLngEnglish, MB_ICONASTERISK); // [ionix] - WiZaRd/Aireoreion - Multiple Instances added by lama CString strQuestion; strQuestion = _T("Allow multiple instances of ReSuRReCTioN?"); if (IDYES!=MessageBox(0, strQuestion.GetBuffer(),_T("iONiX"),MB_YESNO | MB_DEFBUTTON2)) //SyruS make "no" the default for users thePrefs.m_bAllowMultipleInstances = false; // [ionix] - WiZaRd/Aireoreion - Multiple Instances added by lama } else m_wLanguageID = lidLocale; } // if loading a string fails, set language to English if (GetResString(IDS_MB_LANGUAGEINFO).IsEmpty()) { LoadLangLib(GetLangDir(), LANGID_EN_US); m_wLanguageID = LANGID_EN_US; } InitThreadLocale(); }