https://git.reactos.org/?p=reactos.git;a=commitdiff;h=64657051c3cb60f1997ffa...
commit 64657051c3cb60f1997ffa6c6dfda57adffc7547 Author: Katayama Hirofumi MZ katayama.hirofumi.mz@gmail.com AuthorDate: Sat Nov 18 23:55:08 2017 +0900
[SHELL32] CDrivesFolder: Implement the eject and disconnect menu items. CORE-13841
- The items are shown only for the drives where they are applicable. - May not work fully yet due to bugs in the drivers. --- dll/win32/shell32/folders/CDrivesFolder.cpp | 185 ++++++++++++++++++++++++++-- dll/win32/shell32/lang/bg-BG.rc | 8 ++ dll/win32/shell32/lang/ca-ES.rc | 8 ++ dll/win32/shell32/lang/cs-CZ.rc | 8 ++ dll/win32/shell32/lang/da-DK.rc | 8 ++ dll/win32/shell32/lang/de-DE.rc | 8 ++ dll/win32/shell32/lang/el-GR.rc | 8 ++ dll/win32/shell32/lang/en-GB.rc | 8 ++ dll/win32/shell32/lang/en-US.rc | 8 ++ dll/win32/shell32/lang/es-ES.rc | 8 ++ dll/win32/shell32/lang/fi-FI.rc | 8 ++ dll/win32/shell32/lang/fr-FR.rc | 8 ++ dll/win32/shell32/lang/he-IL.rc | 8 ++ dll/win32/shell32/lang/hu-HU.rc | 8 ++ dll/win32/shell32/lang/it-IT.rc | 8 ++ dll/win32/shell32/lang/ja-JP.rc | 8 ++ dll/win32/shell32/lang/ko-KR.rc | 8 ++ dll/win32/shell32/lang/nl-NL.rc | 8 ++ dll/win32/shell32/lang/no-NO.rc | 8 ++ dll/win32/shell32/lang/pl-PL.rc | 8 ++ dll/win32/shell32/lang/pt-BR.rc | 8 ++ dll/win32/shell32/lang/pt-PT.rc | 8 ++ dll/win32/shell32/lang/ro-RO.rc | 8 ++ dll/win32/shell32/lang/ru-RU.rc | 8 ++ dll/win32/shell32/lang/sk-SK.rc | 8 ++ dll/win32/shell32/lang/sl-SI.rc | 8 ++ dll/win32/shell32/lang/sq-AL.rc | 8 ++ dll/win32/shell32/lang/sv-SE.rc | 8 ++ dll/win32/shell32/lang/tr-TR.rc | 8 ++ dll/win32/shell32/lang/uk-UA.rc | 8 ++ dll/win32/shell32/lang/zh-CN.rc | 8 ++ dll/win32/shell32/lang/zh-TW.rc | 8 ++ dll/win32/shell32/shresdef.h | 8 ++ 33 files changed, 429 insertions(+), 12 deletions(-)
diff --git a/dll/win32/shell32/folders/CDrivesFolder.cpp b/dll/win32/shell32/folders/CDrivesFolder.cpp index 7a088248c9..a708dc4d49 100644 --- a/dll/win32/shell32/folders/CDrivesFolder.cpp +++ b/dll/win32/shell32/folders/CDrivesFolder.cpp @@ -4,6 +4,7 @@ * Copyright 1997 Marcus Meissner * Copyright 1998, 1999, 2002 Juergen Schmied * Copyright 2009 Andrew Hill + * Copyright 2017 Katayama Hirofumi MZ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -57,6 +58,89 @@ static int iDriveTypeIds[7] = { IDS_DRIVE_FIXED, /* DRIVE_UNKNOWN */ * IShellFolder implementation */
+#define RETRY_COUNT 3 +#define RETRY_SLEEP 250 +static BOOL TryToLockOrUnlockDrive(HANDLE hDrive, BOOL bLock) +{ + DWORD dwError, dwBytesReturned; + DWORD dwCode = (bLock ? FSCTL_LOCK_VOLUME : FSCTL_UNLOCK_VOLUME); + for (DWORD i = 0; i < RETRY_COUNT; ++i) + { + if (DeviceIoControl(hDrive, dwCode, NULL, 0, NULL, 0, &dwBytesReturned, NULL)) + return TRUE; + + dwError = GetLastError(); + if (dwError == ERROR_INVALID_FUNCTION) + break; /* don't sleep if function is not implemented */ + + Sleep(RETRY_SLEEP); + } + SetLastError(dwError); + return FALSE; +} + +// NOTE: See also https://support.microsoft.com/en-us/help/165721/how-to-ejecting-removable-me... +static BOOL DoEjectDrive(const WCHAR *physical, UINT nDriveType, INT *pnStringID) +{ + /* GENERIC_WRITE isn't needed for umount */ + DWORD dwAccessMode = GENERIC_READ; + DWORD dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; + + HANDLE hDrive = CreateFile(physical, dwAccessMode, dwShareMode, 0, OPEN_EXISTING, 0, NULL); + if (hDrive == INVALID_HANDLE_VALUE) + return FALSE; + + BOOL bResult, bNeedUnlock = FALSE; + DWORD dwBytesReturned, dwError = NO_ERROR; + PREVENT_MEDIA_REMOVAL removal; + do + { + bResult = TryToLockOrUnlockDrive(hDrive, TRUE); + if (!bResult) + { + dwError = GetLastError(); + *pnStringID = IDS_CANTLOCKVOLUME; /* Unable to lock volume */ + break; + } + bResult = DeviceIoControl(hDrive, FSCTL_DISMOUNT_VOLUME, NULL, 0, NULL, 0, &dwBytesReturned, NULL); + if (!bResult) + { + dwError = GetLastError(); + *pnStringID = IDS_CANTDISMOUNTVOLUME; /* Unable to dismount volume */ + bNeedUnlock = TRUE; + break; + } + removal.PreventMediaRemoval = FALSE; + bResult = DeviceIoControl(hDrive, IOCTL_STORAGE_MEDIA_REMOVAL, &removal, sizeof(removal), NULL, + 0, &dwBytesReturned, NULL); + if (!bResult) + { + *pnStringID = IDS_CANTEJECTMEDIA; /* Unable to eject media */ + dwError = GetLastError(); + bNeedUnlock = TRUE; + break; + } + bResult = DeviceIoControl(hDrive, IOCTL_STORAGE_EJECT_MEDIA, NULL, 0, NULL, 0, &dwBytesReturned, NULL); + if (!bResult) + { + *pnStringID = IDS_CANTEJECTMEDIA; /* Unable to eject media */ + dwError = GetLastError(); + bNeedUnlock = TRUE; + break; + } + } while (0); + + if (bNeedUnlock) + { + TryToLockOrUnlockDrive(hDrive, FALSE); + } + + CloseHandle(hDrive); + + SetLastError(dwError); + return bResult; +} + HRESULT CALLBACK DrivesContextMenuCallback(IShellFolder *psf, HWND hwnd, IDataObject *pdtobj, @@ -70,6 +154,8 @@ HRESULT CALLBACK DrivesContextMenuCallback(IShellFolder *psf, PIDLIST_ABSOLUTE pidlFolder; PUITEMID_CHILD *apidl; UINT cidl; + UINT nDriveType; + DWORD dwFlags; HRESULT hr = SH_GetApidlFromDataObject(pdtobj, &pidlFolder, &apidl, &cidl); if (FAILED_UNEXPECTEDLY(hr)) return hr; @@ -82,35 +168,110 @@ HRESULT CALLBACK DrivesContextMenuCallback(IShellFolder *psf, _ILFreeaPidl(apidl, cidl); return E_FAIL; } + nDriveType = GetDriveTypeA(szDrive); + GetVolumeInformationA(szDrive, NULL, 0, NULL, NULL, &dwFlags, NULL, 0); + +// custom command IDs +#define CMDID_FORMAT 1 +#define CMDID_EJECT 2 +#define CMDID_DISCONNECT 3
if (uMsg == DFM_MERGECONTEXTMENU) { QCMINFO *pqcminfo = (QCMINFO *)lParam; - DWORD dwFlags;
- if (GetVolumeInformationA(szDrive, NULL, 0, NULL, NULL, &dwFlags, NULL, 0)) + UINT idCmdFirst = pqcminfo->idCmdFirst; + if (!(dwFlags & FILE_READ_ONLY_VOLUME) && nDriveType != DRIVE_REMOTE) { - /* Disable format if read only */ - if (!(dwFlags & FILE_READ_ONLY_VOLUME) && GetDriveTypeA(szDrive) != DRIVE_REMOTE) - { - _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); - _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, pqcminfo->idCmdFirst++, MFT_STRING, MAKEINTRESOURCEW(IDS_FORMATDRIVE), MFS_ENABLED); - } + /* add separator and Format */ + UINT idCmd = idCmdFirst + CMDID_FORMAT; + _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); + _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, idCmd, MFT_STRING, MAKEINTRESOURCEW(IDS_FORMATDRIVE), MFS_ENABLED); + } + if (nDriveType == DRIVE_REMOVABLE || nDriveType == DRIVE_CDROM) + { + /* add separator and Eject */ + UINT idCmd = idCmdFirst + CMDID_EJECT; + _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); + _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, idCmd, MFT_STRING, MAKEINTRESOURCEW(IDS_EJECT), MFS_ENABLED); + } + if (nDriveType == DRIVE_REMOTE) + { + /* add separator and Disconnect */ + UINT idCmd = idCmdFirst + CMDID_DISCONNECT; + _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, 0, MFT_SEPARATOR, NULL, 0); + _InsertMenuItemW(pqcminfo->hmenu, pqcminfo->indexMenu++, TRUE, idCmd, MFT_STRING, MAKEINTRESOURCEW(IDS_DISCONNECT), MFS_ENABLED); } + + pqcminfo->idCmdFirst += 3; } else if (uMsg == DFM_INVOKECOMMAND) { + WCHAR wszBuf[4] = L"A:\"; + wszBuf[0] = (WCHAR)szDrive[0]; + + INT nStringID = 0; + DWORD dwError = NO_ERROR; + if (wParam == DFM_CMD_PROPERTIES) { - WCHAR wszBuf[4]; - wcscpy(wszBuf, L"A:\"); - wszBuf[0] = (WCHAR)szDrive[0]; if (!SH_ShowDriveProperties(wszBuf, pidlFolder, apidl)) + { hr = E_FAIL; + dwError = ERROR_CAN_NOT_COMPLETE; + nStringID = IDS_CANTSHOWPROPERTIES; + } } else { - SHFormatDrive(hwnd, szDrive[0] - 'A', SHFMT_ID_DEFAULT, 0); + if (wParam == CMDID_FORMAT) + { + /* do format */ + DWORD dwRet = SHFormatDrive(hwnd, szDrive[0] - 'A', SHFMT_ID_DEFAULT, 0); + switch (dwRet) + { + case SHFMT_ERROR: case SHFMT_CANCEL: case SHFMT_NOFORMAT: + hr = E_FAIL; + break; + } + } + else if (wParam == CMDID_EJECT) + { + /* do eject */ + WCHAR physical[10]; + wsprintfW(physical, _T("\\.\%c:"), szDrive[0]); + + if (DoEjectDrive(physical, nDriveType, &nStringID)) + { + SHChangeNotify(SHCNE_MEDIAREMOVED, SHCNF_PATHW | SHCNF_FLUSHNOWAIT, wszBuf, NULL); + } + else + { + dwError = GetLastError(); + } + } + else if (wParam == CMDID_DISCONNECT) + { + /* do disconnect */ + dwError = WNetCancelConnection2W(wszBuf, 0, FALSE); + if (dwError == NO_ERROR) + { + SHChangeNotify(SHCNE_DRIVEREMOVED, SHCNF_PATHW | SHCNF_FLUSHNOWAIT, wszBuf, NULL); + } + else + { + nStringID = IDS_CANTDISCONNECT; + } + } + } + + if (nStringID != 0) + { + /* show error message */ + WCHAR szFormat[128], szMessage[128]; + LoadStringW(shell32_hInstance, nStringID, szFormat, _countof(szFormat)); + wsprintfW(szMessage, szFormat, dwError); + MessageBoxW(hwnd, szMessage, NULL, MB_ICONERROR); } }
diff --git a/dll/win32/shell32/lang/bg-BG.rc b/dll/win32/shell32/lang/bg-BG.rc index 642206abbb..cf7d217fd6 100644 --- a/dll/win32/shell32/lang/bg-BG.rc +++ b/dll/win32/shell32/lang/bg-BG.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Оразмеряване..." IDS_RENAME "Преименуване" IDS_PASTE "Вмъкване" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Файлове със значета (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Изпълними файлове (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Папка" IDS_BAT_FILE "Пакетен файл на РеактОС" IDS_CMD_FILE "Писание за управление на РеактОС" diff --git a/dll/win32/shell32/lang/ca-ES.rc b/dll/win32/shell32/lang/ca-ES.rc index 02bf0bcae6..a6c579e191 100644 --- a/dll/win32/shell32/lang/ca-ES.rc +++ b/dll/win32/shell32/lang/ca-ES.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Rename" IDS_PASTE "Paste" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc index 4e37b93e44..0b7eb71c90 100644 --- a/dll/win32/shell32/lang/cs-CZ.rc +++ b/dll/win32/shell32/lang/cs-CZ.rc @@ -689,6 +689,8 @@ BEGIN IDS_FORMATDRIVE "Formátovat..." IDS_RENAME "Přejmenovat" IDS_PASTE "Vložit" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Složku '%1' nebylo možné vytvořit" IDS_CREATEFOLDER_CAPTION "Složku nebylo možné vytvořit" @@ -782,6 +784,12 @@ BEGIN IDS_PICK_ICON_FILTER "Soubory ikon (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Spustitelné soubory (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Složka" IDS_BAT_FILE "ReactOS dávkový soubor" IDS_CMD_FILE "ReactOS příkazový skript" diff --git a/dll/win32/shell32/lang/da-DK.rc b/dll/win32/shell32/lang/da-DK.rc index 34566694be..c72a856a9d 100644 --- a/dll/win32/shell32/lang/da-DK.rc +++ b/dll/win32/shell32/lang/da-DK.rc @@ -689,6 +689,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Rename" IDS_PASTE "Paste" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -782,6 +784,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/de-DE.rc b/dll/win32/shell32/lang/de-DE.rc index 574e48e01a..bd80efef09 100644 --- a/dll/win32/shell32/lang/de-DE.rc +++ b/dll/win32/shell32/lang/de-DE.rc @@ -684,6 +684,8 @@ BEGIN IDS_FORMATDRIVE "Formatieren..." IDS_RENAME "Umbenennen" IDS_PASTE "Einfügen" + IDS_EJECT "Auswerfen" + IDS_DISCONNECT "Trennen"
IDS_CREATEFOLDER_DENIED " Der Ordner kann nicht erstellt werden '%1'" IDS_CREATEFOLDER_CAPTION " Der Ordner kann nicht erstellt werden." @@ -777,6 +779,12 @@ BEGIN IDS_PICK_ICON_FILTER "Symboldateien (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Alle Dateien (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Programme (*.exe)\0*.exe\0Alle Dateien (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Sperren des Volumes nicht möglich (Fehlercode: %lu)." + IDS_CANTDISMOUNTVOLUME "Ausbinden des Volumes nicht möglich (Fehlercode: %lu)." + IDS_CANTEJECTMEDIA "Auswerfen des Mediums nicht möglich (Fehlercode: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Fehlercode: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Dateiordner" IDS_BAT_FILE "ReactOS-Stapelverarbeitungsdatei" IDS_CMD_FILE "ReactOS-Befehlsskript" diff --git a/dll/win32/shell32/lang/el-GR.rc b/dll/win32/shell32/lang/el-GR.rc index f49f1c2333..2980b1d270 100644 --- a/dll/win32/shell32/lang/el-GR.rc +++ b/dll/win32/shell32/lang/el-GR.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Rename" IDS_PASTE "Paste" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/en-GB.rc b/dll/win32/shell32/lang/en-GB.rc index 9ea6c41dc0..44fcc213ff 100644 --- a/dll/win32/shell32/lang/en-GB.rc +++ b/dll/win32/shell32/lang/en-GB.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Rename" IDS_PASTE "Paste" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/en-US.rc b/dll/win32/shell32/lang/en-US.rc index 4bbc8ac521..adc28545c3 100644 --- a/dll/win32/shell32/lang/en-US.rc +++ b/dll/win32/shell32/lang/en-US.rc @@ -684,6 +684,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Rename" IDS_PASTE "Paste" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -777,6 +779,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/es-ES.rc b/dll/win32/shell32/lang/es-ES.rc index 9ef9bc00ff..7d69400e43 100644 --- a/dll/win32/shell32/lang/es-ES.rc +++ b/dll/win32/shell32/lang/es-ES.rc @@ -685,6 +685,8 @@ BEGIN IDS_FORMATDRIVE "Formatear..." IDS_RENAME "Renombrar" IDS_PASTE "Insertar" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -778,6 +780,12 @@ BEGIN IDS_PICK_ICON_FILTER "Archivos de icono (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Todos los archivos (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Programas (*.exe)\0*.exe\0Todos los archivos (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Directorio" IDS_BAT_FILE "Archivo por lotes de ReactOS" IDS_CMD_FILE "Script de comandos ReactOS" diff --git a/dll/win32/shell32/lang/fi-FI.rc b/dll/win32/shell32/lang/fi-FI.rc index 3e97c26eaa..bf35e972eb 100644 --- a/dll/win32/shell32/lang/fi-FI.rc +++ b/dll/win32/shell32/lang/fi-FI.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Rename" IDS_PASTE "Paste" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/fr-FR.rc b/dll/win32/shell32/lang/fr-FR.rc index 16126e1686..16aaf76420 100644 --- a/dll/win32/shell32/lang/fr-FR.rc +++ b/dll/win32/shell32/lang/fr-FR.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Formater..." IDS_RENAME "Renommer" IDS_PASTE "Insérer" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Impossible de créer le dossier '%1'" IDS_CREATEFOLDER_CAPTION "Impossible de créer un dossier" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Fichiers d'icônes (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Fichiers exécutables (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Dossier" IDS_BAT_FILE "Fichier Batch ReactOS" IDS_CMD_FILE "Script de commandes ReactOS" diff --git a/dll/win32/shell32/lang/he-IL.rc b/dll/win32/shell32/lang/he-IL.rc index 73cef872b0..39d3d6c48e 100644 --- a/dll/win32/shell32/lang/he-IL.rc +++ b/dll/win32/shell32/lang/he-IL.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "אתחול..." IDS_RENAME "שנה שם" IDS_PASTE "הכנס" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/hu-HU.rc b/dll/win32/shell32/lang/hu-HU.rc index 423519e25e..8ef8d4ec9d 100644 --- a/dll/win32/shell32/lang/hu-HU.rc +++ b/dll/win32/shell32/lang/hu-HU.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Rename" IDS_PASTE "Paste" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/it-IT.rc b/dll/win32/shell32/lang/it-IT.rc index e7feca35ea..bc88f8b998 100644 --- a/dll/win32/shell32/lang/it-IT.rc +++ b/dll/win32/shell32/lang/it-IT.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Formatta..." IDS_RENAME "Rinomina" IDS_PASTE "Inserisci" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icone (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Tutti i file (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "File eseguibili (*.exe)\0*.exe\0Tutti i file (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Cartella" IDS_BAT_FILE "File Batch ReactOS" IDS_CMD_FILE "Script di comandi ReactOS" diff --git a/dll/win32/shell32/lang/ja-JP.rc b/dll/win32/shell32/lang/ja-JP.rc index e0b9518f33..b375c2a3df 100644 --- a/dll/win32/shell32/lang/ja-JP.rc +++ b/dll/win32/shell32/lang/ja-JP.rc @@ -680,6 +680,8 @@ BEGIN IDS_FORMATDRIVE "フォーマット..." IDS_RENAME "名前の変更" IDS_PASTE "挿入" + IDS_EJECT "取り出し" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "フォルダ '%1' を作成できません" IDS_CREATEFOLDER_CAPTION "フォルダを作成できません" @@ -773,6 +775,12 @@ BEGIN IDS_PICK_ICON_FILTER "アイコンファイル (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "実行可能 ファイル (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "フォルダ" IDS_BAT_FILE "ReactOS バッチ ファイル" IDS_CMD_FILE "ReactOS コマンド スクリプト" diff --git a/dll/win32/shell32/lang/ko-KR.rc b/dll/win32/shell32/lang/ko-KR.rc index bf9d287530..204655eddd 100644 --- a/dll/win32/shell32/lang/ko-KR.rc +++ b/dll/win32/shell32/lang/ko-KR.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Rename" IDS_PASTE "Paste" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/nl-NL.rc b/dll/win32/shell32/lang/nl-NL.rc index 78a25cbb69..3777c458c3 100644 --- a/dll/win32/shell32/lang/nl-NL.rc +++ b/dll/win32/shell32/lang/nl-NL.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Rename" IDS_PASTE "Paste" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/no-NO.rc b/dll/win32/shell32/lang/no-NO.rc index fedc83209f..656dd8683e 100644 --- a/dll/win32/shell32/lang/no-NO.rc +++ b/dll/win32/shell32/lang/no-NO.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Formatering..." IDS_RENAME "Endre navn" IDS_PASTE "Sett inn" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Ikon Fil (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Kjørbare filer (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Mappe" IDS_BAT_FILE "ReactOS Batch fil" IDS_CMD_FILE "ReactOS Kommando skript" diff --git a/dll/win32/shell32/lang/pl-PL.rc b/dll/win32/shell32/lang/pl-PL.rc index 7327fbae2e..192b706f7f 100644 --- a/dll/win32/shell32/lang/pl-PL.rc +++ b/dll/win32/shell32/lang/pl-PL.rc @@ -687,6 +687,8 @@ BEGIN IDS_FORMATDRIVE "Formatuj..." IDS_RENAME "Zmień nazwę" IDS_PASTE "Włóż" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Nie mogę utworzyć folderu '%1'" IDS_CREATEFOLDER_CAPTION "Nie mogę utworzyć folderu" @@ -780,6 +782,12 @@ BEGIN IDS_PICK_ICON_FILTER "Pliki ikon (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Wszystkie pliki (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Programy (*.exe)\0*.exe\0Wszystkie pliki (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Katalog" IDS_BAT_FILE "Plik wsadowy ReactOS" IDS_CMD_FILE "Skrypt konsoli ReactOS" diff --git a/dll/win32/shell32/lang/pt-BR.rc b/dll/win32/shell32/lang/pt-BR.rc index 363c7859c9..c7a47b1877 100644 --- a/dll/win32/shell32/lang/pt-BR.rc +++ b/dll/win32/shell32/lang/pt-BR.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Formatar..." IDS_RENAME "Renomear" IDS_PASTE "Inserir" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Arquivos de Ícone (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Arquivos Executáveis (*.exe)\0*.exe\0Todos os arquivos (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Pasta" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/pt-PT.rc b/dll/win32/shell32/lang/pt-PT.rc index e3524050fb..8fc7335f23 100644 --- a/dll/win32/shell32/lang/pt-PT.rc +++ b/dll/win32/shell32/lang/pt-PT.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Formatar..." IDS_RENAME "Renaomear" IDS_PASTE "Inserir" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Impossivel de Criar Pasta '%1'" IDS_CREATEFOLDER_CAPTION "Impossivel de Criar Pasta" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Ficheiros de Ícones (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Ficheiros Executáveis (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Pasta" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/ro-RO.rc b/dll/win32/shell32/lang/ro-RO.rc index aa794089a9..05813a94dc 100644 --- a/dll/win32/shell32/lang/ro-RO.rc +++ b/dll/win32/shell32/lang/ro-RO.rc @@ -685,6 +685,8 @@ BEGIN IDS_FORMATDRIVE "F&ormatare…" IDS_RENAME "Rede&numește" IDS_PASTE "&Lipește" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Nu poate fi creat un dosar cu numele „%1”" IDS_CREATEFOLDER_CAPTION "Nu poate fi creat dosar" @@ -778,6 +780,12 @@ BEGIN IDS_PICK_ICON_FILTER "Fișiere pictogramă (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Orice fișier (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Fișiere executabile (*.exe)\0*.exe\0Orice fișier (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Dosar" IDS_BAT_FILE "Fișier de comenzi ReactOS" IDS_CMD_FILE "Script de comenzi ReactOS" diff --git a/dll/win32/shell32/lang/ru-RU.rc b/dll/win32/shell32/lang/ru-RU.rc index 803ba702fd..5c424adadf 100644 --- a/dll/win32/shell32/lang/ru-RU.rc +++ b/dll/win32/shell32/lang/ru-RU.rc @@ -685,6 +685,8 @@ BEGIN IDS_FORMATDRIVE "Форматировать..." IDS_RENAME "Переименовать" IDS_PASTE "Вставить" + IDS_EJECT "Извлечь" + IDS_DISCONNECT "Отсоединить"
IDS_CREATEFOLDER_DENIED "Невозможно создать папку '%1'" IDS_CREATEFOLDER_CAPTION "Невозможно создать папку" @@ -778,6 +780,12 @@ BEGIN IDS_PICK_ICON_FILTER "Файлы значков (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Все файлы (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Исполняемые файлы (*.exe)\0*.exe\0Все файлы (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Не удалось заблокировать том (код ошибки: %lu)." + IDS_CANTDISMOUNTVOLUME "Не удалось размонтировать том (код ошибки: %lu)." + IDS_CANTEJECTMEDIA "Не удалось извлечь носитель (код ошибки: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Папка с файлами" IDS_BAT_FILE "Пакетный файл ReactOS" IDS_CMD_FILE "Командный скрипт ReactOS" diff --git a/dll/win32/shell32/lang/sk-SK.rc b/dll/win32/shell32/lang/sk-SK.rc index 70894c80b0..bcc759b9ed 100644 --- a/dll/win32/shell32/lang/sk-SK.rc +++ b/dll/win32/shell32/lang/sk-SK.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Formátovať..." IDS_RENAME "Premenovať" IDS_PASTE "Vložiť" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Súbory ikon (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Všetky súbory (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Spustiteľné súbory (*.exe)\0*.exe\0Všetky súbory (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Priečinok" IDS_BAT_FILE "Dávkový súbor systému ReactOS" IDS_CMD_FILE "Príkazový skript systému ReactOS" diff --git a/dll/win32/shell32/lang/sl-SI.rc b/dll/win32/shell32/lang/sl-SI.rc index f0a5b186a0..ea4b4218c1 100644 --- a/dll/win32/shell32/lang/sl-SI.rc +++ b/dll/win32/shell32/lang/sl-SI.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Rename" IDS_PASTE "Paste" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/lang/sq-AL.rc b/dll/win32/shell32/lang/sq-AL.rc index c12d2611d8..eced885141 100644 --- a/dll/win32/shell32/lang/sq-AL.rc +++ b/dll/win32/shell32/lang/sq-AL.rc @@ -687,6 +687,8 @@ BEGIN IDS_FORMATDRIVE "Format..." IDS_RENAME "Riemërto" IDS_PASTE "Fut" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -780,6 +782,12 @@ BEGIN IDS_PICK_ICON_FILTER "Ikonë Programi (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0T'gjith Dokumentat (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Dokumente Ekzekutues (*.exe)\0*.exe\0T'gjith Dokumentat (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Dosje" IDS_BAT_FILE "ReactOS Dokument Batch" IDS_CMD_FILE "ReactOS Skript Komande" diff --git a/dll/win32/shell32/lang/sv-SE.rc b/dll/win32/shell32/lang/sv-SE.rc index e9c4590073..f2f4641a87 100644 --- a/dll/win32/shell32/lang/sv-SE.rc +++ b/dll/win32/shell32/lang/sv-SE.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Formatera..." IDS_RENAME "Byt namn" IDS_PASTE "Klistra in" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Kunde inte skapa mappen '%1'" IDS_CREATEFOLDER_CAPTION "Kunde inte skapa mapp" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Ikoner (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Alla filer (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Körbara filer (*.exe)\0*.exe\0Alla filer (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Mapp" IDS_BAT_FILE "ReactOS Batch-fil" IDS_CMD_FILE "ReactOS Kommandoradsskript" diff --git a/dll/win32/shell32/lang/tr-TR.rc b/dll/win32/shell32/lang/tr-TR.rc index 8d23faf0cd..a7aeae86c5 100644 --- a/dll/win32/shell32/lang/tr-TR.rc +++ b/dll/win32/shell32/lang/tr-TR.rc @@ -685,6 +685,8 @@ BEGIN IDS_FORMATDRIVE "Biçimlendir..." IDS_RENAME "Yeniden Adlandır" IDS_PASTE "Yapıştır" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED """%1"" dizini oluşturulamıyor." IDS_CREATEFOLDER_CAPTION "Dizin Oluşturulamıyor" @@ -778,6 +780,12 @@ BEGIN IDS_PICK_ICON_FILTER "Simge Kütükleri (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Tüm Kütükler (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Çalıştırılabilir Kütükler (*.exe)\0*.exe\0Tüm Kütükler (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Dizin" IDS_BAT_FILE "ReactOS Toplu İş Kütüğü" IDS_CMD_FILE "ReactOS Komut Betiği" diff --git a/dll/win32/shell32/lang/uk-UA.rc b/dll/win32/shell32/lang/uk-UA.rc index 434f55458c..114a03432e 100644 --- a/dll/win32/shell32/lang/uk-UA.rc +++ b/dll/win32/shell32/lang/uk-UA.rc @@ -683,6 +683,8 @@ BEGIN IDS_FORMATDRIVE "Форматувати..." IDS_RENAME "Перейменувати" IDS_PASTE "Вставити" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -776,6 +778,12 @@ BEGIN IDS_PICK_ICON_FILTER "Файли значків (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0Всі Файли (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Виконувані файли (*.exe)\0*.exe\0Всі Файли (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Папка" IDS_BAT_FILE "Пакетний файл ReactOS" IDS_CMD_FILE "Командний скрипт ReactOS" diff --git a/dll/win32/shell32/lang/zh-CN.rc b/dll/win32/shell32/lang/zh-CN.rc index 4d579987f6..7c40bed54b 100644 --- a/dll/win32/shell32/lang/zh-CN.rc +++ b/dll/win32/shell32/lang/zh-CN.rc @@ -690,6 +690,8 @@ BEGIN IDS_FORMATDRIVE "格式..." IDS_RENAME "重命名" IDS_PASTE "贴上" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -783,6 +785,12 @@ BEGIN IDS_PICK_ICON_FILTER "图标文件 (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "可执行文件 (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "文件夹" IDS_BAT_FILE "ReactOS 批处理文件" IDS_CMD_FILE "ReactOS 命令脚本" diff --git a/dll/win32/shell32/lang/zh-TW.rc b/dll/win32/shell32/lang/zh-TW.rc index eecd735d4b..6fb5a237ac 100644 --- a/dll/win32/shell32/lang/zh-TW.rc +++ b/dll/win32/shell32/lang/zh-TW.rc @@ -691,6 +691,8 @@ BEGIN IDS_FORMATDRIVE "格式化..." IDS_RENAME "重新命名" IDS_PASTE "插入" + IDS_EJECT "Eject" + IDS_DISCONNECT "Disconnect"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'" IDS_CREATEFOLDER_CAPTION "Unable to create folder" @@ -784,6 +786,12 @@ BEGIN IDS_PICK_ICON_FILTER "Icon Files (*.ico, *.icl, *.exe, *.dll)\0*.ico;*.icl;*.exe;*.dll\0All Files (*.*)\0*.*\0" IDS_OPEN_WITH_FILTER "Executable Files (*.exe)\0*.exe\0All Files (*.*)\0*.*\0"
+ IDS_CANTLOCKVOLUME "Unable to lock volume (Error Code: %lu)." + IDS_CANTDISMOUNTVOLUME "Unable to dismount volume (Error Code: %lu)." + IDS_CANTEJECTMEDIA "Unable to eject media (Error Code: %lu)." + IDS_CANTSHOWPROPERTIES "Unable to show properties (Error Code: %lu)." + IDS_CANTDISCONNECT "Unable to disconnect (Error Code: %lu)." + IDS_DIRECTORY "Folder" IDS_BAT_FILE "ReactOS Batch File" IDS_CMD_FILE "ReactOS Command Script" diff --git a/dll/win32/shell32/shresdef.h b/dll/win32/shell32/shresdef.h index 417759e82e..5b607a6943 100644 --- a/dll/win32/shell32/shresdef.h +++ b/dll/win32/shell32/shresdef.h @@ -134,6 +134,11 @@ #define IDS_RECYCLEBIN_LOCATION 153 #define IDS_RECYCLEBIN_DISKSPACE 154 #define IDS_OPEN_WITH_FILTER 155 +#define IDS_CANTLOCKVOLUME 156 +#define IDS_CANTDISMOUNTVOLUME 157 +#define IDS_CANTEJECTMEDIA 158 +#define IDS_CANTSHOWPROPERTIES 159 +#define IDS_CANTDISCONNECT 160
/* Friendly File Type Names */ #define IDS_DIRECTORY 200 @@ -206,6 +211,9 @@ #define IDS_FILEOOP_FROM 337 #define IDS_FILEOOP_PREFLIGHT 338
+#define IDS_EJECT 339 +#define IDS_DISCONNECT 340 + #define IDS_MENU_EMPTY 34561
/* Note: those strings are referenced from the registry */