* @brief Load a string from resource. * @param [in] Resource string ID. * @return String loaded from resource. */
| 441 | * @return String loaded from resource. |
| 442 | */ |
| 443 | std::wstring WinMergeContextMenu::GetResourceString(UINT id) const |
| 444 | { |
| 445 | if (!s_pLang) |
| 446 | s_pLang = new CLanguageSelect(); |
| 447 | if (m_langID == 0) |
| 448 | { |
| 449 | CRegKeyEx reg; |
| 450 | if (reg.Open(HKEY_CURRENT_USER, f_RegLocaleDir) == ERROR_SUCCESS) |
| 451 | m_langID = static_cast<LANGID>(reg.ReadDword(f_LanguageId, m_langID)); |
| 452 | } |
| 453 | if (s_pLang->GetLangId() != m_langID) |
| 454 | { |
| 455 | TCHAR szFileName[1024] = {0}; |
| 456 | GetModuleFileName(m_hInstance, szFileName, sizeof(szFileName) / sizeof(TCHAR)); |
| 457 | PathRemoveFileSpec(szFileName); |
| 458 | String languagesFolder = String(szFileName) + _T("\\Languages\\ShellExtension"); |
| 459 | s_pLang->LoadLanguageFile(m_langID, languagesFolder); |
| 460 | } |
| 461 | return s_pLang->GetResourceString(m_hInstance, id); |
| 462 | } |
nothing calls this directly
no test coverage detected