diff --git a/reactos/base/applications/regedit/framewnd.c b/reactos/base/applications/regedit/framewnd.c index ba52ff1164c..a15c6b32320 100644 --- a/reactos/base/applications/regedit/framewnd.c +++ b/reactos/base/applications/regedit/framewnd.c @@ -260,7 +260,7 @@ BuildFilterStrings(TCHAR *Filter, PFILTERPAIR Pairs, int PairCount) static BOOL InitOpenFileName(HWND hWnd, OPENFILENAME* pofn) { - FILTERPAIR FilterPairs[3]; + FILTERPAIR FilterPairs[4]; static TCHAR Filter[1024]; memset(pofn, 0, sizeof(OPENFILENAME)); @@ -271,10 +271,12 @@ static BOOL InitOpenFileName(HWND hWnd, OPENFILENAME* pofn) /* create filter string */ FilterPairs[0].DisplayID = IDS_FLT_REGFILES; FilterPairs[0].FilterID = IDS_FLT_REGFILES_FLT; - FilterPairs[1].DisplayID = IDS_FLT_REGEDIT4; - FilterPairs[1].FilterID = IDS_FLT_REGEDIT4_FLT; - FilterPairs[2].DisplayID = IDS_FLT_ALLFILES; - FilterPairs[2].FilterID = IDS_FLT_ALLFILES_FLT; + FilterPairs[1].DisplayID = IDS_FLT_HIVFILES; + FilterPairs[1].FilterID = IDS_FLT_HIVFILES_FLT; + FilterPairs[2].DisplayID = IDS_FLT_REGEDIT4; + FilterPairs[2].FilterID = IDS_FLT_REGEDIT4_FLT; + FilterPairs[3].DisplayID = IDS_FLT_ALLFILES; + FilterPairs[3].FilterID = IDS_FLT_ALLFILES_FLT; BuildFilterStrings(Filter, FilterPairs, COUNT_OF(FilterPairs)); pofn->lpstrFilter = Filter; @@ -432,11 +434,15 @@ static BOOL UnloadHive(HWND hWnd) static BOOL ImportRegistryFile(HWND hWnd) { + BOOL bRet = FALSE; OPENFILENAME ofn; TCHAR Caption[128], szTitle[256], szText[256]; HKEY hKeyRoot; LPCTSTR pszKeyPath; + /* Figure out in which key path we are importing */ + pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot); + InitOpenFileName(hWnd, &ofn); LoadString(hInst, IDS_IMPORT_REG_FILE, Caption, COUNT_OF(Caption)); ofn.lpstrTitle = Caption; @@ -444,21 +450,65 @@ static BOOL ImportRegistryFile(HWND hWnd) /* ofn.lCustData = ;*/ if (GetOpenFileName(&ofn)) { - FILE *fp = _wfopen(ofn.lpstrFile, L"r"); - if (fp == NULL || !import_registry_file(fp)) + /* Look at the extension of the file to determine its type */ + if (ofn.nFileExtension >= 1 && + _tcsicmp(ofn.lpstrFile + ofn.nFileExtension, TEXT("reg")) == 0) /* REGEDIT4 or Windows Registry Editor Version 5.00 */ { - LPSTR p = GetMultiByteString(ofn.lpstrFile); - fprintf(stderr, "Can't open file \"%s\"\n", p); - HeapFree(GetProcessHeap(), 0, p); - if (fp != NULL) - fclose(fp); - return FALSE; + /* Open the file */ + FILE *fp = _wfopen(ofn.lpstrFile, L"r"); + + /* Import it */ + if (fp == NULL || !import_registry_file(fp)) + { + LPSTR p = GetMultiByteString(ofn.lpstrFile); + fprintf(stderr, "Can't open file \"%s\"\n", p); + HeapFree(GetProcessHeap(), 0, p); + bRet = FALSE; + } + else + { + /* Show successful import */ + LoadString(hInst, IDS_APP_TITLE, szTitle, COUNT_OF(szTitle)); + LoadString(hInst, IDS_IMPORTED_OK, szText, COUNT_OF(szText)); + MessageBox(NULL, szText, szTitle, MB_OK); + bRet = TRUE; + } + + /* Close the file */ + if (fp) fclose(fp); + } + else /* Registry Hive Files */ + { + LoadString(hInst, IDS_QUERY_IMPORT_HIVE_CAPTION, szTitle, COUNT_OF(szTitle)); + LoadString(hInst, IDS_QUERY_IMPORT_HIVE_MSG, szText, COUNT_OF(szText)); + + /* Display a confirmation message */ + if (MessageBox(g_pChildWnd->hWnd, szText, szTitle, MB_ICONWARNING | MB_YESNO) == IDYES) + { + LONG lResult; + HKEY hSubKey; + + /* Open the subkey */ + lResult = RegOpenKeyEx(hKeyRoot, pszKeyPath, 0, KEY_WRITE, &hSubKey); + if (lResult == ERROR_SUCCESS) + { + /* Enable the 'restore' privilege, restore the hive then disable the privilege */ + EnablePrivilege(SE_RESTORE_NAME, NULL, TRUE); + lResult = RegRestoreKey(hSubKey, ofn.lpstrFile, REG_FORCE_RESTORE); + EnablePrivilege(SE_RESTORE_NAME, NULL, FALSE); + + /* Flush the subkey and close it */ + RegFlushKey(hSubKey); + RegCloseKey(hSubKey); + } + + /* Set the return value */ + bRet = (lResult == ERROR_SUCCESS); + + /* Display error, if any */ + if (!bRet) ErrorMessageBox(hWnd, Caption, lResult); + } } - LoadString(hInst, IDS_APP_TITLE, szTitle, sizeof(szTitle)); - LoadString(hInst, IDS_IMPORTED_OK, szText, sizeof(szTitle)); - /* show successful import */ - MessageBox(NULL, szText, szTitle, MB_OK); - fclose(fp); } else { @@ -470,7 +520,7 @@ static BOOL ImportRegistryFile(HWND hWnd) pszKeyPath = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hKeyRoot); RefreshListView(g_pChildWnd->hListWnd, hKeyRoot, pszKeyPath); - return TRUE; + return bRet; } static UINT_PTR CALLBACK ExportRegistryFile_OFNHookProc(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) @@ -529,6 +579,7 @@ static UINT_PTR CALLBACK ExportRegistryFile_OFNHookProc(HWND hdlg, UINT uiMsg, W BOOL ExportRegistryFile(HWND hWnd) { + BOOL bRet = FALSE; OPENFILENAME ofn; TCHAR ExportKeyPath[_MAX_PATH]; TCHAR Caption[128]; @@ -553,20 +604,78 @@ BOOL ExportRegistryFile(HWND hWnd) ofn.lpTemplateName = MAKEINTRESOURCE(IDD_EXPORTRANGE); if (GetSaveFileName(&ofn)) { - BOOL result; - DWORD format; - - if (ofn.nFilterIndex == 1) - format = REG_FORMAT_5; - else - format = REG_FORMAT_4; - result = export_registry_key(ofn.lpstrFile, ExportKeyPath, format); - if (!result) + switch (ofn.nFilterIndex) { - LPSTR p = GetMultiByteString(ofn.lpstrFile); - fprintf(stderr, "Can't open file \"%s\"\n", p); - HeapFree(GetProcessHeap(), 0, p); - return FALSE; + case 2: /* Registry Hive Files */ + { + LONG lResult; + HKEY hSubKey; + + /* Open the subkey */ + lResult = RegOpenKeyEx(hKeyRoot, pszKeyPath, 0, KEY_READ, &hSubKey); + if (lResult == ERROR_SUCCESS) + { + /* Enable the 'backup' privilege, save the hive then disable the privilege */ + EnablePrivilege(SE_BACKUP_NAME, NULL, TRUE); + lResult = RegSaveKey(hSubKey, ofn.lpstrFile, NULL); + if (lResult == ERROR_ALREADY_EXISTS) + { + /* + * We are here, that means that we already said "yes" to the confirmation dialog. + * So we absolutely want to replace the hive file. + */ + if (DeleteFile(ofn.lpstrFile)) + { + /* Try again */ + lResult = RegSaveKey(hSubKey, ofn.lpstrFile, NULL); + } + } + EnablePrivilege(SE_BACKUP_NAME, NULL, FALSE); + + if (lResult != ERROR_SUCCESS) + { + /* + * If we are here, it's because RegSaveKey has failed for any reason. + * The problem is that even if it has failed, it has created or + * replaced the exported hive file with a new empty file. We don't + * want to keep this file, so we delete it. + */ + DeleteFile(ofn.lpstrFile); + } + + /* Close the subkey */ + RegCloseKey(hSubKey); + } + + /* Set the return value */ + bRet = (lResult == ERROR_SUCCESS); + + /* Display error, if any */ + if (!bRet) ErrorMessageBox(hWnd, Caption, lResult); + + break; + } + + case 1: /* Windows Registry Editor Version 5.00 */ + case 3: /* REGEDIT4 */ + default: /* All files ==> use Windows Registry Editor Version 5.00 */ + { + if (!export_registry_key(ofn.lpstrFile, ExportKeyPath, + (ofn.nFilterIndex == 3 ? REG_FORMAT_4 + : REG_FORMAT_5))) + { + LPSTR p = GetMultiByteString(ofn.lpstrFile); + fprintf(stderr, "Can't open file \"%s\"\n", p); + HeapFree(GetProcessHeap(), 0, p); + bRet = FALSE; + } + else + { + bRet = TRUE; + } + + break; + } } } else @@ -574,7 +683,7 @@ BOOL ExportRegistryFile(HWND hWnd) CheckCommDlgError(hWnd); } - return TRUE; + return bRet; } BOOL PrintRegistryHive(HWND hWnd, LPTSTR path) diff --git a/reactos/base/applications/regedit/lang/bg-BG.rc b/reactos/base/applications/regedit/lang/bg-BG.rc index 1d453a8ee86..192f8444299 100644 --- a/reactos/base/applications/regedit/lang/bg-BG.rc +++ b/reactos/base/applications/regedit/lang/bg-BG.rc @@ -383,6 +383,8 @@ BEGIN IDS_ERR_DELETEVALUE "Изтриването на всички указани стойности е невъзможно!" IDS_ERR_RENVAL_CAPTION "Грешка при преиманеуването" IDS_ERR_RENVAL_TOEMPTY "Неуспешно преименуване на %s. Указаната стойност не е празна. Опитайте отново с друго име." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Нов ключ #%d" IDS_NEW_VALUE "Нова стойност #%d" END @@ -406,6 +408,8 @@ BEGIN IDS_FLT_REGFILE "Вписващ файл" IDS_FLT_REGFILES "Вписващи (регистърни) файлове (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 вписващи файлове (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Всички файлове (*.*)" diff --git a/reactos/base/applications/regedit/lang/cs-CZ.rc b/reactos/base/applications/regedit/lang/cs-CZ.rc index 566308b5092..f8b9a0f78a0 100644 --- a/reactos/base/applications/regedit/lang/cs-CZ.rc +++ b/reactos/base/applications/regedit/lang/cs-CZ.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "Nelze odstranit všechny vybrané položky!" IDS_ERR_RENVAL_CAPTION "Chyba při přejmenování položky" IDS_ERR_RENVAL_TOEMPTY "Nelze přejmenovat %s. Vybraná položka je prázdná. Vyzkoušejte jiný název." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Nový klíč #%d" IDS_NEW_VALUE "Nová hodnota #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "Soubor registru" IDS_FLT_REGFILES "Soubory registru (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Soubory registru Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Všechny soubory (*.*)" diff --git a/reactos/base/applications/regedit/lang/de-DE.rc b/reactos/base/applications/regedit/lang/de-DE.rc index 01e59ec6e75..4b5b5dcaeb7 100644 --- a/reactos/base/applications/regedit/lang/de-DE.rc +++ b/reactos/base/applications/regedit/lang/de-DE.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "Es konnten nicht alle Werte gelöscht werden!" IDS_ERR_RENVAL_CAPTION "Fehler beim Umbenennen des Wertes" IDS_ERR_RENVAL_TOEMPTY "Kann %s nicht umbenennen. Der angegebene Name ist leer." + IDS_QUERY_IMPORT_HIVE_CAPTION "Wiederherstellen des Schlüssels bestätigen" + IDS_QUERY_IMPORT_HIVE_MSG "Ein Schlüssel wird über den aktuell ausgewählten Schlüssel wiederhergestellt.\nAlle Werte und Unterschlüssel dieses Schlüssels werden dabei gelöscht.\nMöchten Sie den Vorgang fortsetzen?" IDS_NEW_KEY "Neuer Schlüssel #%d" IDS_NEW_VALUE "Neuer Wert #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "Registrierungsdatei" IDS_FLT_REGFILES "Registrierungsdateien (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry-Hive-Dateien (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4-Registrierungsdateien (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Alle Dateien (*.*)" diff --git a/reactos/base/applications/regedit/lang/el-GR.rc b/reactos/base/applications/regedit/lang/el-GR.rc index 2ad05972e96..93509c70668 100644 --- a/reactos/base/applications/regedit/lang/el-GR.rc +++ b/reactos/base/applications/regedit/lang/el-GR.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "Δεν ήτνα δυνατή η διαγραφή όλων των τιμών!" IDS_ERR_RENVAL_CAPTION "Σφάλμα κατά τη Μετονομασία Τιμών" IDS_ERR_RENVAL_TOEMPTY "Δεν είναι δυνατή η μετονομασία του %s. Το όνομα της συγκεκριμένης τιμής είναι άδειο. Δώστε άλλο όνομα και προσπαθήστε ξανά." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Νέο Κλειδί #%d" IDS_NEW_VALUE "Νέα Τιμή #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "Registration αρχεία (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 Registration αρχεία (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Όλα τα αρχεία (*.*)" diff --git a/reactos/base/applications/regedit/lang/en-US.rc b/reactos/base/applications/regedit/lang/en-US.rc index eca2b3bbd9b..0ad928baa33 100644 --- a/reactos/base/applications/regedit/lang/en-US.rc +++ b/reactos/base/applications/regedit/lang/en-US.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "Unable to delete all specified values!" IDS_ERR_RENVAL_CAPTION "Error Renaming Value" IDS_ERR_RENVAL_TOEMPTY "Cannot rename %s. The specified value name is empty. Try another name and try again." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "New Key #%d" IDS_NEW_VALUE "New Value #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "Registration Files (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 Registration Files (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "All Files (*.*)" diff --git a/reactos/base/applications/regedit/lang/es-ES.rc b/reactos/base/applications/regedit/lang/es-ES.rc index 2f24b760397..b05a29b5600 100644 --- a/reactos/base/applications/regedit/lang/es-ES.rc +++ b/reactos/base/applications/regedit/lang/es-ES.rc @@ -371,6 +371,8 @@ BEGIN IDS_ERR_DELETEVALUE "¡Incapaz de borrar todos los valores especificados!" IDS_ERR_RENVAL_CAPTION "Error Renombrando Valor" IDS_ERR_RENVAL_TOEMPTY "No puede renombrar %s. El nombre de valor especificado esta vacio. Trate otro nombre y comienze otra vez." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Nueva Clave #%d" IDS_NEW_VALUE "Nuevo Valor #%d" END @@ -394,6 +396,8 @@ BEGIN IDS_FLT_REGFILE "Fichero de Registro" IDS_FLT_REGFILES "Fichero de Registro (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Fichero de Registro Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Todos los archivos (*.*)" diff --git a/reactos/base/applications/regedit/lang/fr-FR.rc b/reactos/base/applications/regedit/lang/fr-FR.rc index 5f21bf66ffe..4b60afdb54c 100644 --- a/reactos/base/applications/regedit/lang/fr-FR.rc +++ b/reactos/base/applications/regedit/lang/fr-FR.rc @@ -364,6 +364,8 @@ BEGIN IDS_ERR_DELETEVALUE "Impossible de supprimer toutes les valeurs seléctionnées !" IDS_ERR_RENVAL_CAPTION "Erreur lors de la tentative pour renommer la valeur." IDS_ERR_RENVAL_TOEMPTY "Impossible de renommer %s. Le nom de valeur spécifié est vide. Essayez à nouveau avec un autre nom." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirmation de la restauration de la clé" + IDS_QUERY_IMPORT_HIVE_MSG "Une clé sera restaurée en remplacement de la clé sélectionnée.\nToutes les valeurs et les sous-clés contenues dans cette clé seront supprimées.\nVoulez-vous continuer l'opération ?" IDS_NEW_KEY "Nouvelle clé #%d" IDS_NEW_VALUE "Nouvelle valeur #%d" END @@ -387,6 +389,8 @@ BEGIN IDS_FLT_REGFILE "Fichier d'enregistrement" IDS_FLT_REGFILES "Fichiers d'enregistrement (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Fichiers ruche du Registre (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Fichiers d'enregistrement Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Tous les fichiers (*.*)" diff --git a/reactos/base/applications/regedit/lang/hu-HU.rc b/reactos/base/applications/regedit/lang/hu-HU.rc index 0c518c08624..3063590a119 100644 --- a/reactos/base/applications/regedit/lang/hu-HU.rc +++ b/reactos/base/applications/regedit/lang/hu-HU.rc @@ -369,6 +369,8 @@ BEGIN IDS_ERR_DELETEVALUE "Unable to delete all specified values!" IDS_ERR_RENVAL_CAPTION "Error Renaming Value" IDS_ERR_RENVAL_TOEMPTY "Cannot rename %s. The specified value name is empty. Try another name and try again." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "New Key #%d" IDS_NEW_VALUE "New Value #%d" END @@ -392,6 +394,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "Registration Files (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 Registration Files (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "All Files (*.*)" diff --git a/reactos/base/applications/regedit/lang/id-ID.rc b/reactos/base/applications/regedit/lang/id-ID.rc index 0186bfe5b37..ec110dbf200 100644 --- a/reactos/base/applications/regedit/lang/id-ID.rc +++ b/reactos/base/applications/regedit/lang/id-ID.rc @@ -367,6 +367,8 @@ BEGIN IDS_ERR_DELETEVALUE "Tidak bisa menghapus semua nilai yang ditetapkan!" IDS_ERR_RENVAL_CAPTION "Kesalahan Mengganti nama Nilai" IDS_ERR_RENVAL_TOEMPTY "Tidak bisa mengganti nama %s. Nama nilai yang ditetapkan kosong. Coba nama lain dan coba lagi." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Kunci Baru #%d" IDS_NEW_VALUE "Nilai Baru #%d" END @@ -390,6 +392,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "File Registrasi (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "File Registrasi Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Semua File (*.*)" diff --git a/reactos/base/applications/regedit/lang/it-IT.rc b/reactos/base/applications/regedit/lang/it-IT.rc index 91ac39056d1..3617b1597aa 100644 --- a/reactos/base/applications/regedit/lang/it-IT.rc +++ b/reactos/base/applications/regedit/lang/it-IT.rc @@ -370,6 +370,8 @@ BEGIN IDS_ERR_DELETEVALUE "Impossibile cancellare tutti i valori indicati!" IDS_ERR_RENVAL_CAPTION "Errore nel rinominare il valore" IDS_ERR_RENVAL_TOEMPTY "Impossibile rinominare %s. Il nome indicato è vuoto. Riprovate con un altro nome." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Nuova chiave #%d" IDS_NEW_VALUE "Nuovo valore #%d" END @@ -393,6 +395,8 @@ BEGIN IDS_FLT_REGFILE "File di Registrazione" IDS_FLT_REGFILES "File di Registrazione (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "File di Registrazione Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Tutti i file (*.*)" diff --git a/reactos/base/applications/regedit/lang/ja-JP.rc b/reactos/base/applications/regedit/lang/ja-JP.rc index b6c3b090744..35ea21d74af 100644 --- a/reactos/base/applications/regedit/lang/ja-JP.rc +++ b/reactos/base/applications/regedit/lang/ja-JP.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "指定された値のすべてを削除できません!" IDS_ERR_RENVAL_CAPTION "値の名前を変更するときにエラーが発生しました。" IDS_ERR_RENVAL_TOEMPTY "%s の名前を変更できません。指定された値の名前には文字が含まれていません。別の名前でやり直してください。" + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "新しいキー #%d" IDS_NEW_VALUE "新しい値 #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "登録ファイル" IDS_FLT_REGFILES "登録ファイル (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 登録ファイル (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "すべてのファイル (*.*)" diff --git a/reactos/base/applications/regedit/lang/ko-KR.rc b/reactos/base/applications/regedit/lang/ko-KR.rc index 86066fbce4c..1d2a7ecd702 100644 --- a/reactos/base/applications/regedit/lang/ko-KR.rc +++ b/reactos/base/applications/regedit/lang/ko-KR.rc @@ -353,6 +353,8 @@ BEGIN IDS_ERR_DELETEVALUE "모든 선택된 값을 제거할 수 없습니다!" IDS_ERR_RENVAL_CAPTION "값 이름 바꾸기 오류" IDS_ERR_RENVAL_TOEMPTY "%s의 이름을 바꿀 수 없습니다. 값의 이름이 없습니다. 다른 이름으로 해 보세요." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "새 키 #%d" IDS_NEW_VALUE "새 값 #%d" END @@ -376,6 +378,8 @@ BEGIN IDS_FLT_REGFILE "레지스트리 파일" IDS_FLT_REGFILES "레지스트리 파일들 (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 레지스트리 파일 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "모든 파일 (*.*)" diff --git a/reactos/base/applications/regedit/lang/nl-NL.rc b/reactos/base/applications/regedit/lang/nl-NL.rc index d9b166a2217..98dcc677538 100644 --- a/reactos/base/applications/regedit/lang/nl-NL.rc +++ b/reactos/base/applications/regedit/lang/nl-NL.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "Unable to delete all specified values!" IDS_ERR_RENVAL_CAPTION "Error Renaming Value" IDS_ERR_RENVAL_TOEMPTY "Cannot rename %s. The specified value name is empty. Try another name and try again." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "New Key #%d" IDS_NEW_VALUE "New Value #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "Registration Files (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 Registration Files (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "All Files (*.*)" diff --git a/reactos/base/applications/regedit/lang/no-NO.rc b/reactos/base/applications/regedit/lang/no-NO.rc index 14fc510a31a..b88ae13549c 100644 --- a/reactos/base/applications/regedit/lang/no-NO.rc +++ b/reactos/base/applications/regedit/lang/no-NO.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "Kunne ikke slette alle angitte verdier!" IDS_ERR_RENVAL_CAPTION "Feil ved endring av navn" IDS_ERR_RENVAL_TOEMPTY "Kan ikke gi nytt navn til %s. Den angitte verdien er tom. Prøv et annet navn, og forsøk på nytt." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Ny nøkkel #%d" IDS_NEW_VALUE "Ny verdi #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "Registerfiler (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 Registerfiler (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Alle Filer (*.*)" diff --git a/reactos/base/applications/regedit/lang/pl-PL.rc b/reactos/base/applications/regedit/lang/pl-PL.rc index 1ef048c165f..39eacbb6120 100644 --- a/reactos/base/applications/regedit/lang/pl-PL.rc +++ b/reactos/base/applications/regedit/lang/pl-PL.rc @@ -375,6 +375,8 @@ BEGIN IDS_ERR_DELETEVALUE "Nie można usunąć wszystkich podanych wartości!" IDS_ERR_RENVAL_CAPTION "Błąd przy zmianie wartości" IDS_ERR_RENVAL_TOEMPTY "Nie można zmienić nazwy %s. Określona nazwa klucza jest pusta. Wpisz inną nazwę i spróbuj ponownie." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Nowy klucz #%d" IDS_NEW_VALUE "Nowa wartość #%d" END @@ -398,6 +400,8 @@ BEGIN IDS_FLT_REGFILE "Plik rejestru" IDS_FLT_REGFILES "Pliki rejestru (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Pliki rejestru Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Wszystkie pliki (*.*)" diff --git a/reactos/base/applications/regedit/lang/pt-BR.rc b/reactos/base/applications/regedit/lang/pt-BR.rc index b49f6effd39..080d8848dd5 100644 --- a/reactos/base/applications/regedit/lang/pt-BR.rc +++ b/reactos/base/applications/regedit/lang/pt-BR.rc @@ -369,6 +369,8 @@ BEGIN IDS_ERR_DELETEVALUE "Não foi possível excluir todos os valores especificados" IDS_ERR_RENVAL_CAPTION "Erro renomeando valor" IDS_ERR_RENVAL_TOEMPTY "Não pode renomear %s. O nome do valor especificado está vazio. Tente novamente com outro nome." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Nova chave #%d" IDS_NEW_VALUE "Novo valor #%d" END @@ -392,6 +394,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "Arquivos do Registro (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Arquivos do Registro Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Todos os arquivos (*.*)" diff --git a/reactos/base/applications/regedit/lang/pt-PT.rc b/reactos/base/applications/regedit/lang/pt-PT.rc index 09fffd46474..51f62ca1a01 100644 --- a/reactos/base/applications/regedit/lang/pt-PT.rc +++ b/reactos/base/applications/regedit/lang/pt-PT.rc @@ -370,6 +370,8 @@ BEGIN IDS_ERR_DELETEVALUE "Unable to delete all specified values!" IDS_ERR_RENVAL_CAPTION "Error Renaming Value" IDS_ERR_RENVAL_TOEMPTY "Cannot rename %s. The specified value name is empty. Try another name and try again." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "New Key #%d" IDS_NEW_VALUE "New Value #%d" END @@ -393,6 +395,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "Registration Files (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 Registration Files (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "All Files (*.*)" diff --git a/reactos/base/applications/regedit/lang/ro-RO.rc b/reactos/base/applications/regedit/lang/ro-RO.rc index 6d3c1810582..9f5aa2bc866 100644 --- a/reactos/base/applications/regedit/lang/ro-RO.rc +++ b/reactos/base/applications/regedit/lang/ro-RO.rc @@ -366,6 +366,8 @@ BEGIN IDS_ERR_DELETEVALUE "Nu s-a reușit ștergerea tuturor valorilor specificate!" IDS_ERR_RENVAL_CAPTION "Eroare la redenumirea de valori" IDS_ERR_RENVAL_TOEMPTY "Nu se poate redenumi %s. Numele valorii specificate este gol. Încercați introducerea unui alt nume." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Cheia nouă #%d" IDS_NEW_VALUE "Valoarea nouă #%d" END @@ -389,6 +391,8 @@ BEGIN IDS_FLT_REGFILE "Fișier registru" IDS_FLT_REGFILES "Fișiere registru (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Fișiere registru Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Orice fișier (*.*)" diff --git a/reactos/base/applications/regedit/lang/ru-RU.rc b/reactos/base/applications/regedit/lang/ru-RU.rc index 00869223bc5..e14b7cfee33 100644 --- a/reactos/base/applications/regedit/lang/ru-RU.rc +++ b/reactos/base/applications/regedit/lang/ru-RU.rc @@ -365,6 +365,8 @@ BEGIN IDS_ERR_DELETEVALUE "Невозможно удалить все указанные значения!" IDS_ERR_RENVAL_CAPTION "Ошибка переименования значения" IDS_ERR_RENVAL_TOEMPTY "Невозможно переименовать %s. Указанное значение не пустое. Введите другое значение и повторите попытку." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Новый ключ #%d" IDS_NEW_VALUE "Новое значение #%d" END @@ -388,6 +390,8 @@ BEGIN IDS_FLT_REGFILE "Файл реестра" IDS_FLT_REGFILES "Файлы реестра (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Файлы реестра Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Все файлы (*.*)" diff --git a/reactos/base/applications/regedit/lang/sk-SK.rc b/reactos/base/applications/regedit/lang/sk-SK.rc index 81d5568ea47..30a253d3f42 100644 --- a/reactos/base/applications/regedit/lang/sk-SK.rc +++ b/reactos/base/applications/regedit/lang/sk-SK.rc @@ -353,6 +353,8 @@ BEGIN IDS_ERR_DELETEVALUE "Unable to delete all specified values!" IDS_ERR_RENVAL_CAPTION "Error Renaming Value" IDS_ERR_RENVAL_TOEMPTY "Cannot rename %s. The specified value name is empty. Try another name and try again." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Nový kľúč #%d" IDS_NEW_VALUE "Nová hodnota #%d" END @@ -376,6 +378,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "Registration Files (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 Registration Files (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Všetky súbory (*.*)" diff --git a/reactos/base/applications/regedit/lang/sl-SI.rc b/reactos/base/applications/regedit/lang/sl-SI.rc index dbf8d97b2b1..f3b55d87b66 100644 --- a/reactos/base/applications/regedit/lang/sl-SI.rc +++ b/reactos/base/applications/regedit/lang/sl-SI.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "Unable to delete all specified values!" IDS_ERR_RENVAL_CAPTION "Error Renaming Value" IDS_ERR_RENVAL_TOEMPTY "Cannot rename %s. The specified value name is empty. Try another name and try again." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "New Key #%d" IDS_NEW_VALUE "New Value #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "Registration Files (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 Registration Files (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "All Files (*.*)" diff --git a/reactos/base/applications/regedit/lang/sv-SE.rc b/reactos/base/applications/regedit/lang/sv-SE.rc index ff5bfb37bda..11ee1e1db55 100644 --- a/reactos/base/applications/regedit/lang/sv-SE.rc +++ b/reactos/base/applications/regedit/lang/sv-SE.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "Det gick inte att ta bort alla specificerade värden!" IDS_ERR_RENVAL_CAPTION "Fel vid namnändring av värde" IDS_ERR_RENVAL_TOEMPTY "Kunde inte byta namn på %s. Det specificerade värdenamnet är tomt. Ange ett annat namn och försök igen." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Ny Nyckel #%d" IDS_NEW_VALUE "Nytt Värde #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "Registerfil" IDS_FLT_REGFILES "Registerfiler (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4-Registerfiler (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Alla filer (*.*)" diff --git a/reactos/base/applications/regedit/lang/th-TH.rc b/reactos/base/applications/regedit/lang/th-TH.rc index ea34dec006d..61fac47e4ba 100644 --- a/reactos/base/applications/regedit/lang/th-TH.rc +++ b/reactos/base/applications/regedit/lang/th-TH.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "Unable to delete all specified values!" IDS_ERR_RENVAL_CAPTION "Error Renaming Value" IDS_ERR_RENVAL_TOEMPTY "Cannot rename %s. The specified value name is empty. Try another name and try again." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "New Key #%d" IDS_NEW_VALUE "New Value #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "Registration File" IDS_FLT_REGFILES "Registration Files (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 Registration Files (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "All Files (*.*)" diff --git a/reactos/base/applications/regedit/lang/uk-UA.rc b/reactos/base/applications/regedit/lang/uk-UA.rc index 99422e91652..966cfac6d21 100644 --- a/reactos/base/applications/regedit/lang/uk-UA.rc +++ b/reactos/base/applications/regedit/lang/uk-UA.rc @@ -369,6 +369,8 @@ BEGIN IDS_ERR_DELETEVALUE "Неможливо видалити усі задані значення!" IDS_ERR_RENVAL_CAPTION "Помилка при перейменуванні значення" IDS_ERR_RENVAL_TOEMPTY "Не можу перейменувати %s. Ім'я заданого значення порожнє. Спробуйте інше ім'я та повторіть спробу." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "Новий розділ #%d" IDS_NEW_VALUE "Нове значення #%d" END @@ -392,6 +394,8 @@ BEGIN IDS_FLT_REGFILE "Файл реєстру" IDS_FLT_REGFILES "Файли реєстру (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Файли реєстру Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Усі файли (*.*)" diff --git a/reactos/base/applications/regedit/lang/zh-CN.rc b/reactos/base/applications/regedit/lang/zh-CN.rc index a4c30333b0f..34c723584f7 100644 --- a/reactos/base/applications/regedit/lang/zh-CN.rc +++ b/reactos/base/applications/regedit/lang/zh-CN.rc @@ -368,6 +368,8 @@ BEGIN IDS_ERR_DELETEVALUE "无法删除所有指定的值!" IDS_ERR_RENVAL_CAPTION "重命名值时产生错误" IDS_ERR_RENVAL_TOEMPTY "注册表编辑器无法重命名 %s。指定的值名为空。请键入其他名称,再试一次。" + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "新项 #%d" IDS_NEW_VALUE "新值 #%d" END @@ -391,6 +393,8 @@ BEGIN IDS_FLT_REGFILE "注册文件" IDS_FLT_REGFILES "注册文件 (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 注册文件 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "所有文件 (*.*)" diff --git a/reactos/base/applications/regedit/lang/zh-TW.rc b/reactos/base/applications/regedit/lang/zh-TW.rc index 0ff67490509..c8ce8f50e15 100644 --- a/reactos/base/applications/regedit/lang/zh-TW.rc +++ b/reactos/base/applications/regedit/lang/zh-TW.rc @@ -369,6 +369,8 @@ BEGIN IDS_ERR_DELETEVALUE "無法刪除所有指定的值!" IDS_ERR_RENVAL_CAPTION "重新命名值時產生錯誤" IDS_ERR_RENVAL_TOEMPTY "登錄編輯器無法重新命名 %s。指定的值為空。請輸入其他名稱,再試一次。" + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" + IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" IDS_NEW_KEY "新機碼 #%d" IDS_NEW_VALUE "新值 #%d" END @@ -392,6 +394,8 @@ BEGIN IDS_FLT_REGFILE "登錄文件" IDS_FLT_REGFILES "登錄文件 (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" + IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES_FLT "*.*" IDS_FLT_REGEDIT4 "Win9x/NT4 登錄文件 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "所有文件 (*.*)" diff --git a/reactos/base/applications/regedit/resource.h b/reactos/base/applications/regedit/resource.h index d79bed65c3e..13c79ae4fd7 100644 --- a/reactos/base/applications/regedit/resource.h +++ b/reactos/base/applications/regedit/resource.h @@ -136,12 +136,14 @@ #define IDS_ERR_DELETEVALUE 32855 #define IDS_ERR_RENVAL_CAPTION 32856 #define IDS_ERR_RENVAL_TOEMPTY 32857 -#define IDS_BAD_KEY 32858 -#define IDS_LOAD_HIVE 32859 -#define IDS_UNLOAD_HIVE 32860 +#define IDS_QUERY_IMPORT_HIVE_CAPTION 32858 +#define IDS_QUERY_IMPORT_HIVE_MSG 32859 +#define IDS_BAD_KEY 32860 +#define IDS_LOAD_HIVE 32861 +#define IDS_UNLOAD_HIVE 32862 -#define ID_EDIT_NEW_MULTISTRINGVALUE 32861 -#define ID_EDIT_NEW_EXPANDABLESTRINGVALUE 32862 +#define ID_EDIT_NEW_MULTISTRINGVALUE 32863 +#define ID_EDIT_NEW_EXPANDABLESTRINGVALUE 32864 #define ID_SWITCH_PANELS 32871 #define ID_EDIT_PERMISSIONS 32872 @@ -158,10 +160,12 @@ #define IDS_FLT_REGFILE 31000 #define IDS_FLT_REGFILES 31001 #define IDS_FLT_REGFILES_FLT 31002 -#define IDS_FLT_REGEDIT4 31003 -#define IDS_FLT_REGEDIT4_FLT 31004 -#define IDS_FLT_ALLFILES 31005 -#define IDS_FLT_ALLFILES_FLT 31006 +#define IDS_FLT_HIVFILES 31003 +#define IDS_FLT_HIVFILES_FLT 31004 +#define IDS_FLT_REGEDIT4 31005 +#define IDS_FLT_REGEDIT4_FLT 31006 +#define IDS_FLT_ALLFILES 31007 +#define IDS_FLT_ALLFILES_FLT 31008 #define IDS_ACCESS_FULLCONTROL 31101 #define IDS_ACCESS_READ 31102 diff --git a/reactos/include/psdk/winnt.h b/reactos/include/psdk/winnt.h index ba5e42ca887..fa8f1850ec4 100644 --- a/reactos/include/psdk/winnt.h +++ b/reactos/include/psdk/winnt.h @@ -1375,6 +1375,7 @@ typedef enum { #define REG_WHOLE_HIVE_VOLATILE 1 #define REG_REFRESH_HIVE 2 #define REG_NO_LAZY_FLUSH 4 +#define REG_FORCE_RESTORE 8 #define REG_OPTION_RESERVED 0 #define REG_OPTION_NON_VOLATILE 0 #define REG_OPTION_VOLATILE 1