+ fix: minipath uses NP§ preferred language, if not configured

This commit is contained in:
Rainer Kottenhoff 2021-04-14 21:32:41 +02:00
parent 5edcfd6753
commit d2557805cc
3 changed files with 7 additions and 22 deletions

View File

@ -916,7 +916,6 @@ void LoadFlags()
#if defined(HAVE_DYN_LOAD_LIBS_MUI_LNGS)
const WCHAR* const PrefLngLocName = L"PreferredLanguageLocaleName";
if (!IniSectionGetString(Settings_Section2, PrefLngLocName, L"", g_tchPrefLngLocName, COUNTOF(g_tchPrefLngLocName))) {
// try to fetch Locale Name from Notepad3.ini
IniFileGetString(g_wchNP3IniFile, Settings_Section2, PrefLngLocName, L"", g_tchPrefLngLocName, COUNTOF(g_tchPrefLngLocName));
@ -1214,20 +1213,6 @@ void SaveSettings(BOOL bSaveSettingsNow)
// cleanup
IniSectionDelete(Settings_Section, L"WriteTest", FALSE);
#if defined(HAVE_DYN_LOAD_LIBS_MUI_LNGS)
// === prevents "Preferred Language not available" next time ===
const WCHAR* const Section2_Section = L"Settings2";
const WCHAR* const PrefLngLocName = L"PreferredLanguageLocaleName";
if (!IniSectionGetString(Section2_Section, PrefLngLocName, L"", wchTmp, COUNTOF(wchTmp))) {
// try fetch Locale Name from Notepad3.ini
IniFileGetString(g_wchNP3IniFile, Section2_Section, PrefLngLocName, L"", wchTmp, COUNTOF(wchTmp));
if (!StrEqual(wchTmp, g_tchPrefLngLocName)) {
IniSectionSetString(Section2_Section, PrefLngLocName, g_tchPrefLngLocName);
}
}
#endif
// === SaveSettingsNow(): query current Window Dimensions ===
if (bSaveSettingsNow) {
WINDOWPLACEMENT wndpl;

View File

@ -38,11 +38,7 @@
//=============================================================================
//
// ErrorMessage()
//
// L"Title\nMessage Text"
//
extern HWND hwndMain;
extern HICON g_hDlgIconSmall;
extern LANGID g_iUsedLANGID;

View File

@ -238,8 +238,13 @@ static HMODULE _LoadLanguageResources(const WCHAR* localeName, LANGID const lang
if (!hLangResourceContainer)
{
ErrorMessage(2, IDS_WARN_PREF_LNG_NOT_AVAIL, localeName);
// prevent (if saved) Error Dialog on next start
LangIDToLocaleName(MUI_BASE_LNG_ID, g_tchPrefLngLocName, COUNTOF(g_tchPrefLngLocName));
// === prevents "Preferred Language not available" next time ===
if (StrIsNotEmpty(g_wchIniFile)) {
IniFileSetString(g_wchIniFile, L"Settings2", L"PreferredLanguageLocaleName", g_tchPrefLngLocName);
}
return LangResourceInternalFallback();
}
@ -337,7 +342,6 @@ int WINAPI wWinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPWSTR lpCmdLine,int
if (res == 0) { // No preferred language defined or retrievable, try to get User UI Language
//~GetUserDefaultLocaleName(&g_tchPrefLngLocName[0], COUNTOF(g_tchPrefLngLocName));
ULONG numLngs = 0;
ULONG cchLngsBuffer = 0;
BOOL hr = GetUserPreferredUILanguages(MUI_LANGUAGE_NAME, &numLngs, NULL, &cchLngsBuffer);