From 0416dadbba062d692d58d24df2f791c2b80f3691 Mon Sep 17 00:00:00 2001 From: yuanyuanxiang <962914132@qq.com> Date: Tue, 8 Sep 2026 16:34:45 +0200 Subject: [PATCH] Feature: Add language-switch toolbar button and bilingual dialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a 15th toolbar button "Lang/语言" after the Help button so Chinese readers can switch language without knowing English; it opens the existing language-select dialog. The dialog title is now bilingual ("切换语言 / Switch Language") and its label/buttons use Chinese source strings ("语言:", "确定", "取消"), which still localize to en/de via TranslateDialog. The toolbar bitmap is extended with a globe icon. Co-Authored-By: deepseek-v4-pro --- server/2015Remote/2015Remote.rc | Bin 162044 -> 162108 bytes server/2015Remote/2015RemoteDlg.cpp | 3 ++- server/2015Remote/LangManager.h | 16 ++++++++-------- server/2015Remote/res/ToolBar_Main.bmp | Bin 96822 -> 103734 bytes 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/server/2015Remote/2015Remote.rc b/server/2015Remote/2015Remote.rc index d9bb5a954bd6c23c297fbe05c332dbadad368648..9b2da0f6ea535d169b39cd8091f7983eb0b78f33 100644 GIT binary patch delta 28 kcmezKk#o-{&W0AoElgtS(>>IfRHofzl-Vw(&h#u00Ifv|iU0rr delta 19 bcmdn= 14) { + if (hiddenCount >= 15) { m_ToolBar.ShowWindow(SW_HIDE); } diff --git a/server/2015Remote/LangManager.h b/server/2015Remote/LangManager.h index 6091e73..ad73c94 100644 --- a/server/2015Remote/LangManager.h +++ b/server/2015Remote/LangManager.h @@ -709,7 +709,7 @@ protected: LPCDLGTEMPLATE CreateDialogTemplate() { - const WORD DLG_WIDTH = 200; + const WORD DLG_WIDTH = 260; const WORD DLG_HEIGHT = 75; m_templateBuffer.clear(); @@ -723,24 +723,24 @@ protected: AppendData(&dlgTemplate, sizeof(DLGTEMPLATE)); AppendWord(0); // 菜单 AppendWord(0); // 窗口类 - AppendString(_T("Select Language")); + AppendString(_T("切换语言 / Switch Language")); AlignToDword(); // 静态文本 AddControl(0x0082, 15, 15, 50, 12, (WORD)-1, - SS_LEFT | WS_CHILD | WS_VISIBLE, _T("Language:")); + SS_LEFT | WS_CHILD | WS_VISIBLE, _T("语言:")); // ComboBox - AddControl(0x0085, 65, 13, 120, 150, 1001, + AddControl(0x0085, 65, 13, 180, 150, 1001, CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, _T("")); // OK 按钮 - AddControl(0x0080, 45, 50, 50, 14, IDOK, - BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, _T("OK")); + AddControl(0x0080, 75, 50, 50, 14, IDOK, + BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, _T("确定")); // Cancel 按钮 - AddControl(0x0080, 105, 50, 50, 14, IDCANCEL, - BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, _T("Cancel")); + AddControl(0x0080, 135, 50, 50, 14, IDCANCEL, + BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, _T("取消")); return (LPCDLGTEMPLATE)m_templateBuffer.data(); } diff --git a/server/2015Remote/res/ToolBar_Main.bmp b/server/2015Remote/res/ToolBar_Main.bmp index 96afc163e6ea2532f0f6654bac99876466a5c24b..5435fd10bee99fc42265ee357ba33a8b281a7f8a 100644 GIT binary patch delta 3163 zcmdn?g>~C1HXSElv#E>>AYcZ>8bEx3iGjfYNHa1>07)PK${*ol0OHAvaaJ1x_{BB` za4~L<7hB6XF<`>vcrikF^=5O~HB2D2ovQ5<131Z~=5Ov)H31tVpf+JLemryYHJu}1 zwGO62o7d={U?!IpD#v-vq7Uvc_&w0yIU`1}=xJ z0m8;K2qF&GGSSg~vRx?W<}YC&vxGe061a5Y7l&(~=x8=MFNJgS#W=9JesBq({rHW* z;|aJSlN&>fC;R1aZr+%NY&?EH6JssJhKY^_leJ4YH}~a%O%H*H!W~A8L2$)D2AX=9 z9a@`{${qj%ou3UNGI?T{%H#!Mq96$e}>*R-oHX`8~5J<*$6H{;3*!?pkmSo z<+S-v9)ofk9ZC?D%}sB>AxRgzlD>e$5KCHzr*mL={s-)N+=?a_Mi_6`V`01wiVqsq zJ-U;?vQ#1b0A9WMx!fA2$tTs@CkAkmNzLDUQr(1Ua)8DJ0(j=;W%@^$CNHoM+RS5o zf*q)uZL)wP=jLMTbL^ALJ^433a6ZSr+0N%K`{cYJp3U1suCPzO7sa_*B^Jog%jVoX zF%`&|UCgtYF%QV#uHoFAS9XPc^QF26?33gX8>9K3xLG`6+j|?Bapbi z6G-?U0uuXA0SW!fKw|!FAi@6xNYuXp67Rn}X5XCj_W}F%ORS7Q(ut4pG1&g?`@|Tp zgYDgJC=X;!x6@_h+`dqq@fJi{!~i4>bn*6f3m|LzI|qw#P&