diff --git a/base/applications/mscutils/eventvwr/evtdetctl.c b/base/applications/mscutils/eventvwr/evtdetctl.c index a0aa33682d3..103f37704d5 100644 --- a/base/applications/mscutils/eventvwr/evtdetctl.c +++ b/base/applications/mscutils/eventvwr/evtdetctl.c @@ -12,6 +12,17 @@ #include +/** + * @brief + * ReactOS-only feature: + * Enable or disable support for copying event info text using space padding + * between header titles and data, when pressing the SHIFT key while clicking + * on the "Copy" button, instead of using TABs as separators. + * + * @see CopyEventEntry(). + **/ +#define COPY_EVTTEXT_SPACE_PADDING_MODE + // FIXME: #define EVENT_MESSAGE_EVENTTEXT_BUFFER (1024*10) extern WCHAR szTitle[]; @@ -250,83 +261,291 @@ DisplayEventData( HeapFree(GetProcessHeap(), 0, pTextBuffer); } -static -HFONT -CreateMonospaceFont(VOID) +#ifdef COPY_EVTTEXT_SPACE_PADDING_MODE + +static inline +int my_cType3ToWidth(WORD wType, wchar_t ucs) { - LOGFONTW tmpFont = {0}; - HFONT hFont; - HDC hDC; - - hDC = GetDC(NULL); - - tmpFont.lfHeight = -MulDiv(8, GetDeviceCaps(hDC, LOGPIXELSY), 72); - tmpFont.lfWeight = FW_NORMAL; - wcscpy(tmpFont.lfFaceName, L"Courier New"); - - hFont = CreateFontIndirectW(&tmpFont); - - ReleaseDC(NULL, hDC); - - return hFont; + if (wType & C3_HALFWIDTH) + return 1; + else if (wType & (C3_FULLWIDTH | C3_KATAKANA | C3_HIRAGANA | C3_IDEOGRAPH)) + return 2; + /* + * HACK for Wide Hangul characters not recognized by GetStringTypeW(CT_CTYPE3) + * See: + * https://unicode.org/reports/tr11/ + * https://www.unicode.org/Public/UCD/latest/ucd/EastAsianWidth.txt + * https://www.unicode.org/Public/UCD/latest/ucd/extracted/DerivedEastAsianWidth.txt + * (or the /Public/UNIDATA/ files) + */ + else if ((ucs >= 0x1100 && ucs <= 0x115F) || (ucs >= 0x302E && ucs <= 0x302F) || + (ucs >= 0x3131 && ucs <= 0x318E) || (ucs >= 0x3260 && ucs <= 0x327F) || + (ucs >= 0xA960 && ucs <= 0xA97C) || (ucs >= 0xAC00 && ucs <= 0xD7A3)) + return 2; + else if (wType & (C3_SYMBOL | C3_KASHIDA | C3_LEXICAL | C3_ALPHA)) + return 1; + else // if (wType & (C3_NONSPACING | C3_DIACRITIC | C3_VOWELMARK | C3_HIGHSURROGATE | C3_LOWSURROGATE | C3_NOTAPPLICABLE)) + return 0; } +int my_wcwidth(wchar_t ucs) +{ + WORD wType = 0; + GetStringTypeW(CT_CTYPE3, &ucs, sizeof(ucs)/sizeof(WCHAR), &wType); + return my_cType3ToWidth(wType, ucs); +} + +int my_wcswidth(const wchar_t *pwcs, size_t n) +{ + int width = 0; + PWORD pwType, pwt; + + pwType = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, n * sizeof(WORD)); + if (!pwType) + return 0; + if (!GetStringTypeW(CT_CTYPE3, pwcs, n, pwType)) + goto Quit; + + for (pwt = pwType; n-- > 0; ++pwt, ++pwcs) + { + width += my_cType3ToWidth(*pwt, *pwcs); + } +Quit: + HeapFree(GetProcessHeap(), 0, pwType); + return width; +} + +#endif // COPY_EVTTEXT_SPACE_PADDING_MODE + +/** + * @brief + * Retrieves the already-gathered event information, structure it in + * text format and copy it into the clipboard for user consumption. + * + * The copied event information has the following text format, where + * each text line ends with CR-LF newlines: + * ``` + * Event Type: \r\n + * Event Source: \r\n + * Event Category: \r\n + * Event ID: \r\n + * Date: \r\n + * Time: \r\n + * User: \r\n + * Computer: \r\n + * Description:\r\n + * \r\n + * Data:\r\n + * \r\n + * ``` + * + * For the single-line fields, the spacing between the header title and + * information is either a TAB (default), to facilitate data import in + * spreadsheet programs, or space-padding (when the user presses the + * SHIFT key while copying the data) to prettify information display. + * (This latter functionality is supported only if the program is compiled + * with the @b COPY_EVTTEXT_SPACE_PADDING_MODE define.) + **/ static VOID -CopyEventEntry(HWND hWnd) +CopyEventEntry( + _In_ HWND hWnd) { - WCHAR tmpHeader[512]; - WCHAR szEventType[MAX_PATH]; - WCHAR szSource[MAX_PATH]; - WCHAR szCategory[MAX_PATH]; - WCHAR szEventID[MAX_PATH]; - WCHAR szDate[MAX_PATH]; - WCHAR szTime[MAX_PATH]; - WCHAR szUser[MAX_PATH]; - WCHAR szComputer[MAX_PATH]; - WCHAR evtDesc[EVENT_MESSAGE_EVENTTEXT_BUFFER]; - ULONG size = 0; - LPWSTR output; +#ifdef COPY_EVTTEXT_SPACE_PADDING_MODE + static const LONG nTabWidth = 4; +#endif + static const WCHAR szCRLF[] = L"\r\n"; + struct + { + WORD uHdrID; // Header string resource ID. + WORD nDlgItemID; // Dialog control ID containing the corresponding info. + WORD bSameLine : 1; // Info follows header on same line (TRUE) or not (FALSE). + WORD bOptional : 1; // Omit if info is empty (TRUE) or keep it (FALSE). + PCWCH pchHdrText; // Pointer to header string resource. + SIZE_T cchHdrLen; // Header string length (number of characters). + SIZE_T cchInfoLen; // Info string length (number of characters). +#ifdef COPY_EVTTEXT_SPACE_PADDING_MODE + UINT nHdrWidth; // Display width of the header string. + UINT nSpacesPad; // Padding after header in number of spaces. +#endif + } CopyData[] = + { + {IDS_COPY_EVTTYPE, IDC_EVENTTYPESTATIC , TRUE , FALSE, NULL, 0, 0}, + {IDS_COPY_EVTSRC , IDC_EVENTSOURCESTATIC , TRUE , FALSE, NULL, 0, 0}, + {IDS_COPY_EVTCAT , IDC_EVENTCATEGORYSTATIC, TRUE , FALSE, NULL, 0, 0}, + {IDS_COPY_EVTID , IDC_EVENTIDSTATIC , TRUE , FALSE, NULL, 0, 0}, + {IDS_COPY_EVTDATE, IDC_EVENTDATESTATIC , TRUE , FALSE, NULL, 0, 0}, + {IDS_COPY_EVTTIME, IDC_EVENTTIMESTATIC , TRUE , FALSE, NULL, 0, 0}, + {IDS_COPY_EVTUSER, IDC_EVENTUSERSTATIC , TRUE , FALSE, NULL, 0, 0}, + {IDS_COPY_EVTCOMP, IDC_EVENTCOMPUTERSTATIC, TRUE , FALSE, NULL, 0, 0}, + {IDS_COPY_EVTTEXT, IDC_EVENTTEXTEDIT , FALSE, FALSE, NULL, 0, 0}, + {IDS_COPY_EVTDATA, IDC_EVENTDATAEDIT , FALSE, TRUE , NULL, 0, 0}, + }; + USHORT i; +#ifdef COPY_EVTTEXT_SPACE_PADDING_MODE + BOOL bUsePad; // Use space padding (TRUE) or not (FALSE, default). + UINT nMaxHdrWidth = 0; +#endif + SIZE_T size = 0; + PWSTR output; + PWSTR pszDestEnd; + size_t cchRemaining; HGLOBAL hMem; /* Try to open the clipboard */ if (!OpenClipboard(hWnd)) return; - /* Get the formatted text needed to place the content into */ - size += LoadStringW(hInst, IDS_COPY, tmpHeader, ARRAYSIZE(tmpHeader)); - - /* Grab all the information and get it ready for the clipboard */ - size += GetDlgItemTextW(hWnd, IDC_EVENTTYPESTATIC, szEventType, ARRAYSIZE(szEventType)); - size += GetDlgItemTextW(hWnd, IDC_EVENTSOURCESTATIC, szSource, ARRAYSIZE(szSource)); - size += GetDlgItemTextW(hWnd, IDC_EVENTCATEGORYSTATIC, szCategory, ARRAYSIZE(szCategory)); - size += GetDlgItemTextW(hWnd, IDC_EVENTIDSTATIC, szEventID, ARRAYSIZE(szEventID)); - size += GetDlgItemTextW(hWnd, IDC_EVENTDATESTATIC, szDate, ARRAYSIZE(szDate)); - size += GetDlgItemTextW(hWnd, IDC_EVENTTIMESTATIC, szTime, ARRAYSIZE(szTime)); - size += GetDlgItemTextW(hWnd, IDC_EVENTUSERSTATIC, szUser, ARRAYSIZE(szUser)); - size += GetDlgItemTextW(hWnd, IDC_EVENTCOMPUTERSTATIC, szComputer, ARRAYSIZE(szComputer)); - size += GetDlgItemTextW(hWnd, IDC_EVENTTEXTEDIT, evtDesc, ARRAYSIZE(evtDesc)); - - size++; /* Null-termination */ - size *= sizeof(WCHAR); +#ifdef COPY_EVTTEXT_SPACE_PADDING_MODE + /* Use space padding only if the user presses SHIFT */ + bUsePad = !!(GetKeyState(VK_SHIFT) & 0x8000); +#endif /* - * Consolidate the information into one big piece and - * sort out the memory needed to write to the clipboard. + * Grab all the information and get it ready for the clipboard. */ - hMem = GlobalAlloc(GMEM_MOVEABLE, size); - if (hMem == NULL) goto Quit; + + /* Calculate the necessary string buffer size */ + for (i = 0; i < _countof(CopyData); ++i) + { + /* Retrieve the event info string length (without NUL terminator) */ + CopyData[i].cchInfoLen = GetWindowTextLengthW(GetDlgItem(hWnd, CopyData[i].nDlgItemID)); + + /* If no data is present and is optional, ignore it */ + if ((CopyData[i].cchInfoLen == 0) && CopyData[i].bOptional) + continue; + + /* Load the header string from resources */ + CopyData[i].cchHdrLen = LoadStringW(hInst, CopyData[i].uHdrID, (PWSTR)&CopyData[i].pchHdrText, 0); + size += CopyData[i].cchHdrLen; + + if (CopyData[i].bSameLine) + { + /* The header and info are on the same line */ +#ifdef COPY_EVTTEXT_SPACE_PADDING_MODE + if (bUsePad) + { + /* Retrieve the maximum header string displayed + * width for computing space padding later */ + CopyData[i].nHdrWidth = my_wcswidth(CopyData[i].pchHdrText, CopyData[i].cchHdrLen); + nMaxHdrWidth = max(nMaxHdrWidth, CopyData[i].nHdrWidth); + } + else +#endif + { + /* Count a TAB separator */ + size++; + } + } + else + { + /* The data is on a separate line, count a newline */ + size += _countof(szCRLF)-1; + } + + /* Count the event info string and the newline that follows it */ + size += CopyData[i].cchInfoLen; + size += _countof(szCRLF)-1; + } +#ifdef COPY_EVTTEXT_SPACE_PADDING_MODE + if (bUsePad) + { + /* Round nMaxHdrWidth to the next TAB width, and + * compute the space padding for each field */ + UINT nSpaceWidth = 1; // my_wcwidth(L' '); + nMaxHdrWidth = ((nMaxHdrWidth / nTabWidth) + 1) * nTabWidth; + for (i = 0; i < _countof(CopyData); ++i) + { + /* If no data is present and is optional, ignore it */ + if ((CopyData[i].cchInfoLen == 0) && CopyData[i].bOptional) + continue; + + /* If the data is on a separate line, ignore padding */ + if (!CopyData[i].bSameLine) + continue; + + /* Compute the padding */ + CopyData[i].nSpacesPad = (nMaxHdrWidth - CopyData[i].nHdrWidth) / nSpaceWidth; + size += CopyData[i].nSpacesPad; + } + } +#endif // COPY_EVTTEXT_SPACE_PADDING_MODE + /* Add NUL-termination */ + size++; + + /* + * Consolidate the information into a single buffer to copy in the clipboard. + */ + hMem = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, size * sizeof(WCHAR)); + if (!hMem) + goto Quit; output = GlobalLock(hMem); - if (output == NULL) + if (!output) { GlobalFree(hMem); goto Quit; } - StringCbPrintfW(output, size, - tmpHeader, szEventType, szSource, szCategory, szEventID, - szDate, szTime, szUser, szComputer, evtDesc); + /* Build the string */ + pszDestEnd = output; + cchRemaining = size; + for (i = 0; i < _countof(CopyData); ++i) + { + SIZE_T sizeDataStr; + + /* If no data is present and is optional, ignore it */ + if ((CopyData[i].cchInfoLen == 0) && CopyData[i].bOptional) + continue; + + /* Copy the header string */ + StringCchCopyNExW(pszDestEnd, cchRemaining, + CopyData[i].pchHdrText, CopyData[i].cchHdrLen, + &pszDestEnd, &cchRemaining, 0); + + if (CopyData[i].bSameLine) + { + /* The header and info are on the same line, add + * either the space padding or the TAB separator */ +#ifdef COPY_EVTTEXT_SPACE_PADDING_MODE + if (bUsePad) + { + UINT j = CopyData[i].nSpacesPad; + while (j--) + { + *pszDestEnd++ = L' '; + cchRemaining--; + } + } + else +#endif + { + *pszDestEnd++ = L'\t'; + cchRemaining--; + } + } + else + { + /* The data is on a separate line, add a newline */ + StringCchCopyExW(pszDestEnd, cchRemaining, szCRLF, + &pszDestEnd, &cchRemaining, 0); + } + + /* Copy the event info */ + sizeDataStr = min(cchRemaining, CopyData[i].cchInfoLen + 1); + sizeDataStr = GetDlgItemTextW(hWnd, CopyData[i].nDlgItemID, pszDestEnd, sizeDataStr); + pszDestEnd += sizeDataStr; + cchRemaining -= sizeDataStr; + + /* A newline follows the data */ + StringCchCopyExW(pszDestEnd, cchRemaining, szCRLF, + &pszDestEnd, &cchRemaining, 0); + } + /* NUL-terminate the buffer */ + *pszDestEnd++ = UNICODE_NULL; + cchRemaining--; GlobalUnlock(hMem); @@ -777,6 +996,27 @@ ClearContents( SetDlgItemTextW(hDlg, IDC_EVENTDATAEDIT, L""); } +static +HFONT +CreateMonospaceFont(VOID) +{ + LOGFONTW tmpFont = {0}; + HFONT hFont; + HDC hDC; + + hDC = GetDC(NULL); + + tmpFont.lfHeight = -MulDiv(8, GetDeviceCaps(hDC, LOGPIXELSY), 72); + tmpFont.lfWeight = FW_NORMAL; + wcscpy(tmpFont.lfFaceName, L"Courier New"); + + hFont = CreateFontIndirectW(&tmpFont); + + ReleaseDC(NULL, hDC); + + return hFont; +} + static VOID InitDetailsDlgCtrl(HWND hDlg, PDETAILDATA pData) diff --git a/base/applications/mscutils/eventvwr/lang/bg-BG.rc b/base/applications/mscutils/eventvwr/lang/bg-BG.rc index a16667dec01..5338f6fea59 100644 --- a/base/applications/mscutils/eventvwr/lang/bg-BG.rc +++ b/base/applications/mscutils/eventvwr/lang/bg-BG.rc @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/cs-CZ.rc b/base/applications/mscutils/eventvwr/lang/cs-CZ.rc index 9ee61e6829d..4a42700f2aa 100644 --- a/base/applications/mscutils/eventvwr/lang/cs-CZ.rc +++ b/base/applications/mscutils/eventvwr/lang/cs-CZ.rc @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Typ: %s\r\n\ -Zdroj: %s\r\n\ -Kategorie: %s\r\n\ -ID: %s\r\n\ -Datum: %s\r\n\ -Čas: %s\r\n\ -Uživatel: %s\r\n\ -Počítač: %s\r\n\ -Popis:\r\n%s" + IDS_COPY_EVTTYPE "Typ:" + IDS_COPY_EVTSRC "Zdroj:" + IDS_COPY_EVTCAT "Kategorie:" + IDS_COPY_EVTID "ID události:" + IDS_COPY_EVTDATE "Datum:" + IDS_COPY_EVTTIME "Čas:" + IDS_COPY_EVTUSER "Uživatel:" + IDS_COPY_EVTCOMP "Počítač:" + IDS_COPY_EVTTEXT "Popis:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/de-DE.rc b/base/applications/mscutils/eventvwr/lang/de-DE.rc index 168af21a94f..b61d57e971a 100644 --- a/base/applications/mscutils/eventvwr/lang/de-DE.rc +++ b/base/applications/mscutils/eventvwr/lang/de-DE.rc @@ -222,16 +222,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Typ: %s\r\n\ -Quelle: %s\r\n\ -Kategorie: %s\r\n\ -Ereignis-ID: %s\r\n\ -Datum: %s\r\n\ -Zeit: %s\r\n\ -Benutzer: %s\r\n\ -Computer: %s\r\n\ -Beschreibung:\r\n%s" + IDS_COPY_EVTTYPE "Typ:" + IDS_COPY_EVTSRC "Quelle:" + IDS_COPY_EVTCAT "Kategorie:" + IDS_COPY_EVTID "Ereignis-ID:" + IDS_COPY_EVTDATE "Datum:" + IDS_COPY_EVTTIME "Zeit:" + IDS_COPY_EVTUSER "Benutzer:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Beschreibung:" + IDS_COPY_EVTDATA "Daten:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/el-GR.rc b/base/applications/mscutils/eventvwr/lang/el-GR.rc index 2c638e4ec17..be3778eefd3 100644 --- a/base/applications/mscutils/eventvwr/lang/el-GR.rc +++ b/base/applications/mscutils/eventvwr/lang/el-GR.rc @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/en-US.rc b/base/applications/mscutils/eventvwr/lang/en-US.rc index 3f57d12908e..a12b912d608 100644 --- a/base/applications/mscutils/eventvwr/lang/en-US.rc +++ b/base/applications/mscutils/eventvwr/lang/en-US.rc @@ -223,16 +223,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/es-ES.rc b/base/applications/mscutils/eventvwr/lang/es-ES.rc index ae64548114d..cc9e8951e36 100644 --- a/base/applications/mscutils/eventvwr/lang/es-ES.rc +++ b/base/applications/mscutils/eventvwr/lang/es-ES.rc @@ -224,16 +224,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Tipo de evento: %s\r\n\ -Fuente del evento: %s\r\n\ -Categ. del evento: %s\r\n\ -ID del evento: %s\r\n\ -Fecha: %s\r\n\ -Hora: %s\r\n\ -Usuario: %s\r\n\ -Equipo: %s\r\n\ -Descripción:\r\n%s" + IDS_COPY_EVTTYPE "Tipo de evento:" + IDS_COPY_EVTSRC "Fuente del evento:" + IDS_COPY_EVTCAT "Categ. del evento:" + IDS_COPY_EVTID "ID de evento:" + IDS_COPY_EVTDATE "Fecha:" + IDS_COPY_EVTTIME "Hora:" + IDS_COPY_EVTUSER "Usuario:" + IDS_COPY_EVTCOMP "Equipo:" + IDS_COPY_EVTTEXT "Descripción:" + IDS_COPY_EVTDATA "Datos:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/fr-FR.rc b/base/applications/mscutils/eventvwr/lang/fr-FR.rc index 11e5d7e8ded..a1a8b8de100 100644 --- a/base/applications/mscutils/eventvwr/lang/fr-FR.rc +++ b/base/applications/mscutils/eventvwr/lang/fr-FR.rc @@ -222,16 +222,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Type d'événement : %s\r\n\ -Source de l'événement : %s\r\n\ -Catégorie de l'événement : %s\r\n\ -ID de l'événement : %s\r\n\ -Date : %s\r\n\ -Heure : %s\r\n\ -Utilisateur : %s\r\n\ -Ordinateur : %s\r\n\ -Description :\r\n%s" + IDS_COPY_EVTTYPE "Type de l'événement :" + IDS_COPY_EVTSRC "Source de l'événement :" + IDS_COPY_EVTCAT "Catégorie de l'événement :" + IDS_COPY_EVTID "ID de l'événement :" + IDS_COPY_EVTDATE "Date :" + IDS_COPY_EVTTIME "Heure :" + IDS_COPY_EVTUSER "Utilisateur :" + IDS_COPY_EVTCOMP "Ordinateur :" + IDS_COPY_EVTTEXT "Description :" + IDS_COPY_EVTDATA "Données :" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/he-IL.rc b/base/applications/mscutils/eventvwr/lang/he-IL.rc index 66d1007f9b4..53e806a37d6 100644 --- a/base/applications/mscutils/eventvwr/lang/he-IL.rc +++ b/base/applications/mscutils/eventvwr/lang/he-IL.rc @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/it-IT.rc b/base/applications/mscutils/eventvwr/lang/it-IT.rc index eb998df371c..1672d64296f 100644 --- a/base/applications/mscutils/eventvwr/lang/it-IT.rc +++ b/base/applications/mscutils/eventvwr/lang/it-IT.rc @@ -222,16 +222,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/ja-JP.rc b/base/applications/mscutils/eventvwr/lang/ja-JP.rc index 882aa21e605..2407c228bd1 100644 --- a/base/applications/mscutils/eventvwr/lang/ja-JP.rc +++ b/base/applications/mscutils/eventvwr/lang/ja-JP.rc @@ -222,16 +222,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -イベントの種類: %s\r\n\ -イベントのソース: %s\r\n\ -イベントのカテゴリ: %s\r\n\ -イベント ID: %s\r\n\ -日付: %s\r\n\ -時刻: %s\r\n\ -ユーザー: %s\r\n\ -コンピューター: %s\r\n\ -説明:\r\n%s" + IDS_COPY_EVTTYPE "イベントの種類:" + IDS_COPY_EVTSRC "イベントのソース:" + IDS_COPY_EVTCAT "イベントのカテゴリ:" + IDS_COPY_EVTID "イベント ID:" + IDS_COPY_EVTDATE "日付:" + IDS_COPY_EVTTIME "時刻:" + IDS_COPY_EVTUSER "ユーザー:" + IDS_COPY_EVTCOMP "コンピューター:" + IDS_COPY_EVTTEXT "説明:" + IDS_COPY_EVTDATA "データ:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/ko-KR.rc b/base/applications/mscutils/eventvwr/lang/ko-KR.rc index 56618b01c9f..5bc5efd5a73 100644 --- a/base/applications/mscutils/eventvwr/lang/ko-KR.rc +++ b/base/applications/mscutils/eventvwr/lang/ko-KR.rc @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/no-NO.rc b/base/applications/mscutils/eventvwr/lang/no-NO.rc index c37a5968842..1408838379f 100644 --- a/base/applications/mscutils/eventvwr/lang/no-NO.rc +++ b/base/applications/mscutils/eventvwr/lang/no-NO.rc @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/pl-PL.rc b/base/applications/mscutils/eventvwr/lang/pl-PL.rc index 54f9112ba78..5429e36d896 100644 --- a/base/applications/mscutils/eventvwr/lang/pl-PL.rc +++ b/base/applications/mscutils/eventvwr/lang/pl-PL.rc @@ -224,16 +224,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Typ zdarzenia: %s\r\n\ -Źródło zdarzenia: %s\r\n\ -Kategoria zdarzenia: %s\r\n\ -Idnetyfikator Zdarzenia: %s\r\n\ -Data: %s\r\n\ -Czas: %s\r\n\ -Użytkownik: %s\r\n\ -Komputer: %s\r\n\ -Opis:\r\n%s" + IDS_COPY_EVTTYPE "Typ zdarzenia:" + IDS_COPY_EVTSRC "Źródło zdarzenia:" + IDS_COPY_EVTCAT "Kategoria zdarzenia:" + IDS_COPY_EVTID "Identyfikator zdarzenia:" + IDS_COPY_EVTDATE "Data:" + IDS_COPY_EVTTIME "Czas:" + IDS_COPY_EVTUSER "Użytkownik:" + IDS_COPY_EVTCOMP "Komputer:" + IDS_COPY_EVTTEXT "Opis:" + IDS_COPY_EVTDATA "Dane:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/pt-BR.rc b/base/applications/mscutils/eventvwr/lang/pt-BR.rc index 3ac5cf826fc..bcf51d40621 100644 --- a/base/applications/mscutils/eventvwr/lang/pt-BR.rc +++ b/base/applications/mscutils/eventvwr/lang/pt-BR.rc @@ -211,7 +211,7 @@ STRINGTABLE BEGIN IDS_COLUMNTYPE "Tipo" IDS_COLUMNDATE "Data" - IDS_COLUMNTIME "Hora" + IDS_COLUMNTIME "Tempo" IDS_COLUMNSOURCE "Fonte" IDS_COLUMNCATEGORY "Categoria" IDS_COLUMNEVENT "Evento" @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Tipo de evento:" + IDS_COPY_EVTSRC "Fonte do evento:" + IDS_COPY_EVTCAT "Categoria:" + IDS_COPY_EVTID "ID do evento:" + IDS_COPY_EVTDATE "Data:" + IDS_COPY_EVTTIME "Tempo:" + IDS_COPY_EVTUSER "Usuário:" + IDS_COPY_EVTCOMP "Computador:" + IDS_COPY_EVTTEXT "Descrição:" + IDS_COPY_EVTDATA "Dados:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/pt-PT.rc b/base/applications/mscutils/eventvwr/lang/pt-PT.rc index b31b70c113d..624107c2a32 100644 --- a/base/applications/mscutils/eventvwr/lang/pt-PT.rc +++ b/base/applications/mscutils/eventvwr/lang/pt-PT.rc @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Tipo de evento: %s\r\n\ -Origem do evento: %s\r\n\ -Categoria: %s\r\n\ -ID do Evento: %s\r\n\ -Data: %s\r\n\ -Hora: %s\r\n\ -Utilizador: %s\r\n\ -Computador: %s\r\n\ -Descrição:\r\n%s" + IDS_COPY_EVTTYPE "Tipo de evento:" + IDS_COPY_EVTSRC "Origem do evento:" + IDS_COPY_EVTCAT "Categoria:" + IDS_COPY_EVTID "ID do evento:" + IDS_COPY_EVTDATE "Data:" + IDS_COPY_EVTTIME "Hora:" + IDS_COPY_EVTUSER "Utilizador:" + IDS_COPY_EVTCOMP "Computador:" + IDS_COPY_EVTTEXT "Descrição:" + IDS_COPY_EVTDATA "Dados:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/ro-RO.rc b/base/applications/mscutils/eventvwr/lang/ro-RO.rc index 7af071fd1ad..3b6d289c45f 100644 --- a/base/applications/mscutils/eventvwr/lang/ro-RO.rc +++ b/base/applications/mscutils/eventvwr/lang/ro-RO.rc @@ -93,7 +93,7 @@ BEGIN EDITTEXT IDC_EVENTCATEGORYSTATIC, 140, 15, 82, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "T&ip:", IDC_STATIC, 8, 25, 31, 8 EDITTEXT IDC_EVENTTYPESTATIC, 46, 25, 47, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL - LTEXT "ID &Eveniment:", IDC_STATIC, 103, 25, 36, 8 + LTEXT "ID &eveniment:", IDC_STATIC, 103, 25, 36, 8 EDITTEXT IDC_EVENTIDSTATIC, 140, 25, 82, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "&Utilizator:", IDC_STATIC, 8, 35, 36, 8 EDITTEXT IDC_EVENTUSERSTATIC, 46, 35, 152, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL @@ -218,21 +218,21 @@ BEGIN IDS_COLUMNCATEGORY "Categorie" IDS_COLUMNEVENT "Eveniment" IDS_COLUMNUSER "Utilizator" - IDS_COLUMNCOMPUTER "Computer" + IDS_COLUMNCOMPUTER "Calculator" END STRINGTABLE BEGIN - IDS_COPY "\ -Tip eveniment: %s\r\n\ -Sursă eveniment: %s\r\n\ -Categorie eveniment: %s\r\n\ -ID eveniment: %s\r\n\ -Dată: %s\r\n\ -Oră: %s\r\n\ -Utilizator: %s\r\n\ -Computer: %s\r\n\ -Descriere:\r\n%s" + IDS_COPY_EVTTYPE "Tip eveniment:" + IDS_COPY_EVTSRC "Sursă eveniment:" + IDS_COPY_EVTCAT "Categorie eveniment:" + IDS_COPY_EVTID "ID eveniment:" + IDS_COPY_EVTDATE "Dată:" + IDS_COPY_EVTTIME "Oră:" + IDS_COPY_EVTUSER "Utilizator:" + IDS_COPY_EVTCOMP "Calculator:" + IDS_COPY_EVTTEXT "Descriere:" + IDS_COPY_EVTDATA "Date:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/ru-RU.rc b/base/applications/mscutils/eventvwr/lang/ru-RU.rc index 455cf6738bb..4e975a15825 100644 --- a/base/applications/mscutils/eventvwr/lang/ru-RU.rc +++ b/base/applications/mscutils/eventvwr/lang/ru-RU.rc @@ -225,16 +225,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Тип события: %s\r\n\ -Источник события: %s\r\n\ -Категория события: %s\r\n\ -ID события: %s\r\n\ -Дата: %s\r\n\ -Время: %s\r\n\ -Пользователь: %s\r\n\ -Компьютер: %s\r\n\ -Описание:\n%s" + IDS_COPY_EVTTYPE "Тип события:" + IDS_COPY_EVTSRC "Источник события:" + IDS_COPY_EVTCAT "Категория события:" + IDS_COPY_EVTID "ID события:" + IDS_COPY_EVTDATE "Дата:" + IDS_COPY_EVTTIME "Время:" + IDS_COPY_EVTUSER "Пользователь:" + IDS_COPY_EVTCOMP "Компьютер:" + IDS_COPY_EVTTEXT "Описание:" + IDS_COPY_EVTDATA "Данные:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/sk-SK.rc b/base/applications/mscutils/eventvwr/lang/sk-SK.rc index 195c7095e4b..79b7e0efd21 100644 --- a/base/applications/mscutils/eventvwr/lang/sk-SK.rc +++ b/base/applications/mscutils/eventvwr/lang/sk-SK.rc @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/sq-AL.rc b/base/applications/mscutils/eventvwr/lang/sq-AL.rc index 2e749934629..437ddb31879 100644 --- a/base/applications/mscutils/eventvwr/lang/sq-AL.rc +++ b/base/applications/mscutils/eventvwr/lang/sq-AL.rc @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/sv-SE.rc b/base/applications/mscutils/eventvwr/lang/sv-SE.rc index 1c60e22b991..c28d0a8a424 100644 --- a/base/applications/mscutils/eventvwr/lang/sv-SE.rc +++ b/base/applications/mscutils/eventvwr/lang/sv-SE.rc @@ -221,16 +221,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/tr-TR.rc b/base/applications/mscutils/eventvwr/lang/tr-TR.rc index b93e50009c8..8c7bc0a8929 100644 --- a/base/applications/mscutils/eventvwr/lang/tr-TR.rc +++ b/base/applications/mscutils/eventvwr/lang/tr-TR.rc @@ -222,16 +222,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Olay Türü: %s\r\n\ -Olay Kaynağı: %s\r\n\ -Olay Kategorisi: %s\r\n\ -Olay Kimliği: %s\r\n\ -Tarih: %s\r\n\ -Saat: %s\r\n\ -Kullanıcı: %s\r\n\ -Bilgisayar: %s\r\n\ -Tanım:\r\n%s" + IDS_COPY_EVTTYPE "Olay Türü:" + IDS_COPY_EVTSRC "Olay Kaynağı:" + IDS_COPY_EVTCAT "Olay Kategorisi:" + IDS_COPY_EVTID "Olay Kimliği:" + IDS_COPY_EVTDATE "Tarih:" + IDS_COPY_EVTTIME "Saat:" + IDS_COPY_EVTUSER "Kullanıcı:" + IDS_COPY_EVTCOMP "Bilgisayar:" + IDS_COPY_EVTTEXT "Tanım:" + IDS_COPY_EVTDATA "Veri:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/uk-UA.rc b/base/applications/mscutils/eventvwr/lang/uk-UA.rc index 7c977803476..40b96c24a81 100644 --- a/base/applications/mscutils/eventvwr/lang/uk-UA.rc +++ b/base/applications/mscutils/eventvwr/lang/uk-UA.rc @@ -223,16 +223,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -Event Type: %s\r\n\ -Event Source: %s\r\n\ -Event Category: %s\r\n\ -Event ID: %s\r\n\ -Date: %s\r\n\ -Time: %s\r\n\ -User: %s\r\n\ -Computer: %s\r\n\ -Description:\r\n%s" + IDS_COPY_EVTTYPE "Event Type:" + IDS_COPY_EVTSRC "Event Source:" + IDS_COPY_EVTCAT "Event Category:" + IDS_COPY_EVTID "Event ID:" + IDS_COPY_EVTDATE "Date:" + IDS_COPY_EVTTIME "Time:" + IDS_COPY_EVTUSER "User:" + IDS_COPY_EVTCOMP "Computer:" + IDS_COPY_EVTTEXT "Description:" + IDS_COPY_EVTDATA "Data:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/zh-CN.rc b/base/applications/mscutils/eventvwr/lang/zh-CN.rc index 46b30b91d3f..7b6b3f5f58b 100644 --- a/base/applications/mscutils/eventvwr/lang/zh-CN.rc +++ b/base/applications/mscutils/eventvwr/lang/zh-CN.rc @@ -222,16 +222,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -事件类型: %s\r\n\ -事件源: %s\r\n\ -事件类别: %s\r\n\ -事件 ID: %s\r\n\ -日期: %s\r\n\ -时间: %s\r\n\ -用户: %s\r\n\ -电脑: %s\r\n\ -描述:\r\n%s" + IDS_COPY_EVTTYPE "事件类型:" + IDS_COPY_EVTSRC "事件源:" + IDS_COPY_EVTCAT "事件类别:" + IDS_COPY_EVTID "事件 ID:" + IDS_COPY_EVTDATE "日期:" + IDS_COPY_EVTTIME "时间:" + IDS_COPY_EVTUSER "用户:" + IDS_COPY_EVTCOMP "电脑:" + IDS_COPY_EVTTEXT "描述:" + IDS_COPY_EVTDATA "数据:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/zh-HK.rc b/base/applications/mscutils/eventvwr/lang/zh-HK.rc index 967d78d51ee..3c3ed1ae170 100644 --- a/base/applications/mscutils/eventvwr/lang/zh-HK.rc +++ b/base/applications/mscutils/eventvwr/lang/zh-HK.rc @@ -117,7 +117,7 @@ STYLE DS_SHELLFONT | WS_POPUP | WS_CAPTION CAPTION "一般" FONT 9, "新細明體" BEGIN - LTEXT "顯示名稱(&D):", IDC_STATIC, 7, 9, 60, 8 + LTEXT "顯示名稱(&D):", IDC_STATIC, 7, 9, 60, 8 EDITTEXT IDC_DISPLAYNAME, 67, 7, 178, 12, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP LTEXT "記錄檔名稱(&L):", IDC_STATIC, 7, 25, 60, 8 EDITTEXT IDC_LOGNAME, 67, 23, 178, 12, ES_LEFT | ES_AUTOHSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP @@ -126,7 +126,7 @@ BEGIN // The following 4 IDC_STATIC shall have accels in ReactOS, although MS doesn't have accels for them. // Translation note: First fill out ALL accels that MS has in this dialog for your language, // and only then as a final step use some remaining unused letters for those 4 controls! - LTEXT "大小(&S);", IDC_STATIC, 7, 57, 60, 8 + LTEXT "大小(&S):", IDC_STATIC, 7, 57, 60, 8 EDITTEXT IDC_SIZE_LABEL, 67, 57, 178, 12, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "建立日期(&C):", IDC_STATIC, 7, 69, 60, 8 EDITTEXT IDC_CREATED_LABEL, 67, 69, 178, 12, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL @@ -179,14 +179,14 @@ BEGIN \n\ EventVwr [電腦名稱] [/L:<事件記錄檔案>] [/?]\n\ \n\ -""電腦名稱"" : 指定要連線的遠端電腦\n\ +""電腦名稱"" :指定要連線的遠端電腦\n\ \t以擷取要顯示的事件。如果未指定名稱,\n\ \t則使用本地電腦。\n\ \n\ -/L:<事件記錄檔案> : 指定要開啟的事件記錄檔案。\n\ +/L:<事件記錄檔案> :指定要開啟的事件記錄檔案。\n\ \t只支援 .evt 格式檔案 (NT ≤ 5.2)。\n\ \n\ -/? : 顯示這個説明訊息。\n\ +/? :顯示這個説明訊息。\n\ " IDS_EVENTLOGFILE "事件記錄檔案" END @@ -222,16 +222,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -事件種類: %s\r\n\ -事件源: %s\r\n\ -事件種類: %s\r\n\ -事件 ID: %s\r\n\ -日期: %s\r\n\ -時間: %s\r\n\ -使用者: %s\r\n\ -電腦: %s\r\n\ -描述:\r\n%s" + IDS_COPY_EVTTYPE "事件種類:" + IDS_COPY_EVTSRC "事件源:" + IDS_COPY_EVTCAT "事件種類:" + IDS_COPY_EVTID "事件 ID:" + IDS_COPY_EVTDATE "日期:" + IDS_COPY_EVTTIME "時間:" + IDS_COPY_EVTUSER "使用者:" + IDS_COPY_EVTCOMP "電腦:" + IDS_COPY_EVTTEXT "描述:" + IDS_COPY_EVTDATA "資料:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/lang/zh-TW.rc b/base/applications/mscutils/eventvwr/lang/zh-TW.rc index 20640fb15ed..445e3890331 100644 --- a/base/applications/mscutils/eventvwr/lang/zh-TW.rc +++ b/base/applications/mscutils/eventvwr/lang/zh-TW.rc @@ -222,16 +222,16 @@ END STRINGTABLE BEGIN - IDS_COPY "\ -事件種類: %s\r\n\ -事件源: %s\r\n\ -事件種類: %s\r\n\ -事件 ID: %s\r\n\ -日期: %s\r\n\ -時間: %s\r\n\ -使用者: %s\r\n\ -電腦: %s\r\n\ -描述:\r\n%s" + IDS_COPY_EVTTYPE "事件種類:" + IDS_COPY_EVTSRC "事件源:" + IDS_COPY_EVTCAT "事件種類:" + IDS_COPY_EVTID "事件 ID:" + IDS_COPY_EVTDATE "日期:" + IDS_COPY_EVTTIME "時間:" + IDS_COPY_EVTUSER "使用者:" + IDS_COPY_EVTCOMP "電腦:" + IDS_COPY_EVTTEXT "描述:" + IDS_COPY_EVTDATA "資料:" END STRINGTABLE diff --git a/base/applications/mscutils/eventvwr/resource.h b/base/applications/mscutils/eventvwr/resource.h index 30956033cd7..a0f38db83a8 100644 --- a/base/applications/mscutils/eventvwr/resource.h +++ b/base/applications/mscutils/eventvwr/resource.h @@ -130,7 +130,16 @@ #define IDS_COLUMNUSER 226 #define IDS_COLUMNCOMPUTER 227 -#define IDS_COPY 240 +#define IDS_COPY_EVTTYPE 240 +#define IDS_COPY_EVTSRC 241 +#define IDS_COPY_EVTCAT 242 +#define IDS_COPY_EVTID 243 +#define IDS_COPY_EVTDATE 244 +#define IDS_COPY_EVTTIME 245 +#define IDS_COPY_EVTUSER 246 +#define IDS_COPY_EVTCOMP 247 +#define IDS_COPY_EVTTEXT 248 +#define IDS_COPY_EVTDATA 249 #define IDS_NONE 250 #define IDS_NOT_AVAILABLE 251