Skip to content

Commit 828f095

Browse files
committed
merge
1 parent 5ea724a commit 828f095

3 files changed

Lines changed: 21 additions & 9 deletions

File tree

DWMBlurGlass/Helper/Helper.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,20 @@ namespace MDWMBlurGlass
8787
return str;
8888
}
8989

90-
std::wstring GetSystemLocalName()
90+
std::pair<std::wstring, std::wstring> GetSystemLocaleAndParent()
9191
{
9292
WCHAR langName[LOCALE_NAME_MAX_LENGTH];
93-
if (GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT, LOCALE_SNAME, langName, LOCALE_NAME_MAX_LENGTH))
93+
if (GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT, LOCALE_SNAME, langName, LOCALE_NAME_MAX_LENGTH))
9494
{
95-
return langName;
95+
std::wstring locale = langName;
96+
auto pos = locale.find(L'-');
97+
if (pos != std::wstring::npos)
98+
{
99+
return { locale, std::wstring(locale.substr(0, pos)) };
100+
}
101+
return { locale, locale };
96102
}
97-
return L"en-US";
103+
return { L"en-US", L"en" };
98104
}
99105

100106
std::wstring hrToStr(HRESULT hr)

DWMBlurGlass/Helper/Helper.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ namespace MDWMBlurGlass
2626

2727
extern std::wstring ReadFileSting(std::wstring_view filePath);
2828

29-
extern std::wstring GetSystemLocalName();
29+
extern std::pair<std::wstring, std::wstring> GetSystemLocaleAndParent();
3030

3131
extern bool InstallScheduledTasks(std::wstring& errinfo);
3232

DWMBlurGlass/MainWindow.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,19 @@ namespace MDWMBlurGlass
3838
if (!LoadDefualtUIStyle(ui))
3939
return false;
4040

41-
if (!LoadLanguageString(ui, GetSystemLocalName(), true))
41+
auto [locale, parentLocale] = GetSystemLocaleAndParent();
42+
if (!LoadLanguageString(ui, locale, true))
4243
{
43-
if (!LoadLanguageString(ui, L"en-US", true))
44-
return false;
44+
if (!LoadLanguageString(ui, parentLocale, true))
45+
{
46+
if (!LoadLanguageString(ui, L"en-US", true))
47+
return false;
48+
}
4549
}
46-
else if(GetSystemLocalName() != L"en-US")
50+
else if (locale != L"en-US")
51+
{
4752
LoadLanguageString(ui, L"en-US", true, false);
53+
}
4854

4955
const HWND hWnd = (HWND)ctx->Base()->GetWindowHandle();
5056
//SetWindowLongW(hWnd, GWL_STYLE, GetWindowLongW(hWnd, GWL_STYLE) & ~(WS_MAXIMIZEBOX | WS_SIZEBOX));

0 commit comments

Comments
 (0)