mirror of
https://github.com/pbatard/rufus.git
synced 2024-08-14 23:57:05 +00:00
Compare commits
2 commits
ddc7f1b89d
...
180a61736c
Author | SHA1 | Date | |
---|---|---|---|
|
180a61736c | ||
|
2106be0c3b |
6 changed files with 44 additions and 42 deletions
|
@ -3,7 +3,7 @@ msgstr ""
|
||||||
"Project-Id-Version: 4.5\n"
|
"Project-Id-Version: 4.5\n"
|
||||||
"Report-Msgid-Bugs-To: pete@akeo.ie\n"
|
"Report-Msgid-Bugs-To: pete@akeo.ie\n"
|
||||||
"POT-Creation-Date: 2024-05-01 14:24-0300\n"
|
"POT-Creation-Date: 2024-05-01 14:24-0300\n"
|
||||||
"PO-Revision-Date: 2024-05-01 16:45-0300\n"
|
"PO-Revision-Date: 2024-05-04 12:06+0100\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: pt_BR\n"
|
"Language: pt_BR\n"
|
||||||
|
@ -1853,7 +1853,7 @@ msgid ""
|
||||||
"Note: The file will be downloaded in the application's directory and will be reused automatically if present."
|
"Note: The file will be downloaded in the application's directory and will be reused automatically if present."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Um arquivo adicional ('diskcopy.dll') precisa ser baixado da Microsoft para instalar o MS-DOS:\n"
|
"Um arquivo adicional ('diskcopy.dll') precisa ser baixado da Microsoft para instalar o MS-DOS:\n"
|
||||||
"- Selecione 'Sim\" para se conectar à Internet e baixá-lo\n"
|
"- Selecione 'Sim' para se conectar à Internet e baixá-lo\n"
|
||||||
"- Selecione 'Não' para cancelar a operação\n"
|
"- Selecione 'Não' para cancelar a operação\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Nota: O arquivo será baixado no diretório da aplicação e será reutilizado automaticamente caso presente."
|
"Nota: O arquivo será baixado no diretório da aplicação e será reutilizado automaticamente caso presente."
|
||||||
|
@ -1901,7 +1901,7 @@ msgid ""
|
||||||
"- Select 'No' to cancel the operation"
|
"- Select 'No' to cancel the operation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Alguns dados adicionais precisam ser baixados da Microsoft para usar essa funcionalidade:\n"
|
"Alguns dados adicionais precisam ser baixados da Microsoft para usar essa funcionalidade:\n"
|
||||||
"- Selecione 'Sim\" para se conectar à Internet e baixá-los\n"
|
"- Selecione 'Sim' para se conectar à Internet e baixá-los\n"
|
||||||
"- Selecione 'Não' para cancelar a operação"
|
"- Selecione 'Não' para cancelar a operação"
|
||||||
|
|
||||||
#. • MSG_346
|
#. • MSG_346
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
# List of all languages included in this file (with version)
|
# List of all languages included in this file (with version)
|
||||||
# • v4.5 "en-US" "English (English)"
|
# • v4.5 "en-US" "English (English)"
|
||||||
# • v4.5 "ar-SA" "Arabic (العربية)"
|
# • v4.5 "ar-SA" "Arabic (العربية)"
|
||||||
# • v3.22 "bg-BG" "Bulgarian (Български)"
|
# • v3.22 "bg-BG" "Bulgarian (Български)"
|
||||||
# • v4.5 "zh-CN" "Chinese Simplified (简体中文)"
|
# • v4.5 "zh-CN" "Chinese Simplified (简体中文)"
|
||||||
|
@ -10917,7 +10917,7 @@ t MSG_333 "Criar uma conta local com nome de usuário:"
|
||||||
t MSG_334 "Definir as opções regionais com os mesmos valores deste usuário"
|
t MSG_334 "Definir as opções regionais com os mesmos valores deste usuário"
|
||||||
t MSG_335 "Desativar a encriptação automática BitLocker"
|
t MSG_335 "Desativar a encriptação automática BitLocker"
|
||||||
t MSG_336 "Registo persistente"
|
t MSG_336 "Registo persistente"
|
||||||
t MSG_337 "Um arquivo adicional ('diskcopy.dll') precisa ser baixado da Microsoft para instalar o MS-DOS:\n- Selecione 'Sim\" para se conectar à Internet e baixá-lo\n- Selecione 'Não' para cancelar a operação\n\nNota: O arquivo será baixado no diretório da aplicação e será reutilizado automaticamente caso presente."
|
t MSG_337 "Um arquivo adicional ('diskcopy.dll') precisa ser baixado da Microsoft para instalar o MS-DOS:\n- Selecione 'Sim' para se conectar à Internet e baixá-lo\n- Selecione 'Não' para cancelar a operação\n\nNota: O arquivo será baixado no diretório da aplicação e será reutilizado automaticamente caso presente."
|
||||||
t MSG_338 "Detectado carregador de inicialização UEFI revogado"
|
t MSG_338 "Detectado carregador de inicialização UEFI revogado"
|
||||||
t MSG_339 "Rufus detectou que o ISO selecionado contém um carregador de inicialização UEFI que foi revogado e produzirá %s quando Secure Boot estiver habilitado em um sistema UEFI atualizado.\n\n- Se você obteve essa imagem ISO de uma fonte não confiável, você deve considerar a possibilidade da mesma conter malware UEFI e evitar inicializar através dela.\n- Se você a obteve de uma fonte confiável, você deve tentar achar uma versão mais recente, que não produza este aviso."
|
t MSG_339 "Rufus detectou que o ISO selecionado contém um carregador de inicialização UEFI que foi revogado e produzirá %s quando Secure Boot estiver habilitado em um sistema UEFI atualizado.\n\n- Se você obteve essa imagem ISO de uma fonte não confiável, você deve considerar a possibilidade da mesma conter malware UEFI e evitar inicializar através dela.\n- Se você a obteve de uma fonte confiável, você deve tentar achar uma versão mais recente, que não produza este aviso."
|
||||||
t MSG_340 "uma tela \"Security Violation\""
|
t MSG_340 "uma tela \"Security Violation\""
|
||||||
|
@ -10925,7 +10925,7 @@ t MSG_341 "uma tela de Reparo do Windows (BSOD) com '%s'"
|
||||||
t MSG_342 "Imagem VHDX comprimida"
|
t MSG_342 "Imagem VHDX comprimida"
|
||||||
t MSG_343 "Imagem VHD não comprimida"
|
t MSG_343 "Imagem VHD não comprimida"
|
||||||
t MSG_344 "Imagem Full Flash Update"
|
t MSG_344 "Imagem Full Flash Update"
|
||||||
t MSG_345 "Alguns dados adicionais precisam ser baixados da Microsoft para usar essa funcionalidade:\n- Selecione 'Sim\" para se conectar à Internet e baixá-los\n- Selecione 'Não' para cancelar a operação"
|
t MSG_345 "Alguns dados adicionais precisam ser baixados da Microsoft para usar essa funcionalidade:\n- Selecione 'Sim' para se conectar à Internet e baixá-los\n- Selecione 'Não' para cancelar a operação"
|
||||||
t MSG_346 "Restringir Windows ao modo S (INCOMPATÍVEL com remoção de exigência de conta online)"
|
t MSG_346 "Restringir Windows ao modo S (INCOMPATÍVEL com remoção de exigência de conta online)"
|
||||||
t MSG_347 "Modo Especialista"
|
t MSG_347 "Modo Especialista"
|
||||||
t MSG_348 "Extraindo arquivos: %s"
|
t MSG_348 "Extraindo arquivos: %s"
|
||||||
|
|
|
@ -552,7 +552,7 @@ iso9660_ifs_read_superblock (iso9660_t *p_iso,
|
||||||
if (p_iso->boot_img[j].lsn == 0)
|
if (p_iso->boot_img[j].lsn == 0)
|
||||||
continue;
|
continue;
|
||||||
/* Find the closest LSN after the one from this image */
|
/* Find the closest LSN after the one from this image */
|
||||||
cdio_assert(p_iso->boot_img[j].lsn < next_lsn);
|
cdio_assert(p_iso->boot_img[j].lsn <= next_lsn);
|
||||||
for (k = 0; k < MAX_BOOT_IMAGES; k++) {
|
for (k = 0; k < MAX_BOOT_IMAGES; k++) {
|
||||||
if (p_iso->boot_img[k].lsn > p_iso->boot_img[j].lsn &&
|
if (p_iso->boot_img[k].lsn > p_iso->boot_img[j].lsn &&
|
||||||
p_iso->boot_img[k].lsn < next_lsn)
|
p_iso->boot_img[k].lsn < next_lsn)
|
||||||
|
|
26
src/rufus.c
26
src/rufus.c
|
@ -1605,18 +1605,6 @@ static DWORD WINAPI BootCheckThread(LPVOID param)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((img_report.projected_size < MAX_ISO_TO_ESP_SIZE * MB) && HAS_REGULAR_EFI(img_report) &&
|
|
||||||
(partition_type == PARTITION_STYLE_GPT) && IS_FAT(fs_type) && !esp_already_asked) {
|
|
||||||
// The ISO is small enough to be written as an ESP and we are using GPT
|
|
||||||
// so ask the users if they want to write it as an ESP.
|
|
||||||
char* iso_image = lmprintf(MSG_036);
|
|
||||||
char* choices[2] = { lmprintf(MSG_276, iso_image), lmprintf(MSG_277, "ISO → ESP") };
|
|
||||||
i = SelectionDialog(lmprintf(MSG_274, "ESP"), lmprintf(MSG_310), choices, 2);
|
|
||||||
if (i < 0) // Cancel
|
|
||||||
goto out;
|
|
||||||
write_as_esp = (i & 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check UEFI bootloaders for revocation
|
// Check UEFI bootloaders for revocation
|
||||||
if (IS_EFI_BOOTABLE(img_report)) {
|
if (IS_EFI_BOOTABLE(img_report)) {
|
||||||
// coverity[swapped_arguments]
|
// coverity[swapped_arguments]
|
||||||
|
@ -1642,6 +1630,18 @@ static DWORD WINAPI BootCheckThread(LPVOID param)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((img_report.projected_size < MAX_ISO_TO_ESP_SIZE * MB) && HAS_REGULAR_EFI(img_report) &&
|
||||||
|
(partition_type == PARTITION_STYLE_GPT) && IS_FAT(fs_type) && !esp_already_asked) {
|
||||||
|
// The ISO is small enough to be written as an ESP and we are using GPT
|
||||||
|
// so ask the users if they want to write it as an ESP.
|
||||||
|
char* iso_image = lmprintf(MSG_036);
|
||||||
|
char* choices[2] = { lmprintf(MSG_276, iso_image), lmprintf(MSG_277, "ISO → ESP") };
|
||||||
|
i = SelectionDialog(lmprintf(MSG_274, "ESP"), lmprintf(MSG_310), choices, 2);
|
||||||
|
if (i < 0) // Cancel
|
||||||
|
goto out;
|
||||||
|
write_as_esp = (i & 2);
|
||||||
|
}
|
||||||
|
|
||||||
// If the selected target doesn't include BIOS, skip file downloads for GRUB/Syslinux
|
// If the selected target doesn't include BIOS, skip file downloads for GRUB/Syslinux
|
||||||
if (target_type != TT_BIOS)
|
if (target_type != TT_BIOS)
|
||||||
goto uefi_target;
|
goto uefi_target;
|
||||||
|
@ -3823,7 +3823,7 @@ extern int TestHashes(void);
|
||||||
if ((msg.message == WM_SYSKEYDOWN) && (msg.wParam == 'D')) {
|
if ((msg.message == WM_SYSKEYDOWN) && (msg.wParam == 'D')) {
|
||||||
static_sprintf(tmp_path, "%s\\%s", app_data_dir, FILES_DIR);
|
static_sprintf(tmp_path, "%s\\%s", app_data_dir, FILES_DIR);
|
||||||
PrintStatusDebug(STATUS_MSG_TIMEOUT, MSG_264, tmp_path);
|
PrintStatusDebug(STATUS_MSG_TIMEOUT, MSG_264, tmp_path);
|
||||||
SHDeleteDirectoryExU(NULL, tmp_path, FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMATION);
|
SHDeleteDirectoryExU(NULL, tmp_path, FOF_NO_UI);
|
||||||
user_deleted_rufus_dir = TRUE;
|
user_deleted_rufus_dir = TRUE;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
36
src/rufus.h
36
src/rufus.h
|
@ -147,27 +147,29 @@
|
||||||
|
|
||||||
#define ComboBox_GetCurItemData(hCtrl) ComboBox_GetItemData(hCtrl, ComboBox_GetCurSel(hCtrl))
|
#define ComboBox_GetCurItemData(hCtrl) ComboBox_GetItemData(hCtrl, ComboBox_GetCurSel(hCtrl))
|
||||||
|
|
||||||
#define safe_free(p) do {free((void*)p); p = NULL;} while(0)
|
#define safe_free(p) do { free((void*)p); p = NULL; } while(0)
|
||||||
#define safe_mm_free(p) do {_mm_free((void*)p); p = NULL;} while(0)
|
#define safe_mm_free(p) do { _mm_free((void*)p); p = NULL; } while(0)
|
||||||
#define safe_min(a, b) min((size_t)(a), (size_t)(b))
|
static __inline void safe_strcp(char* dst, const size_t dst_max, const char* src, const size_t count) {
|
||||||
#define safe_strcp(dst, dst_max, src, count) do { size_t _count = (count); memmove(dst, src, safe_min(_count, dst_max)); \
|
memmove(dst, src, min(count, dst_max));
|
||||||
((char*)(dst))[safe_min(_count, dst_max)-1] = 0; } while(0)
|
dst[min(count, dst_max) - 1] = 0;
|
||||||
#define safe_strcpy(dst, dst_max, src) safe_strcp(dst, dst_max, src, safe_strlen(src)+1)
|
}
|
||||||
|
#define safe_strcpy(dst, dst_max, src) safe_strcp(dst, dst_max, src, safe_strlen(src) + 1)
|
||||||
#define static_strcpy(dst, src) safe_strcpy(dst, sizeof(dst), src)
|
#define static_strcpy(dst, src) safe_strcpy(dst, sizeof(dst), src)
|
||||||
#define safe_strcat(dst, dst_max, src) strncat_s(dst, dst_max, src, _TRUNCATE)
|
#define safe_strcat(dst, dst_max, src) strncat_s(dst, dst_max, src, _TRUNCATE)
|
||||||
#define static_strcat(dst, src) safe_strcat(dst, sizeof(dst), src)
|
#define static_strcat(dst, src) safe_strcat(dst, sizeof(dst), src)
|
||||||
#define safe_strcmp(str1, str2) strcmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2))
|
#define safe_strcmp(str1, str2) strcmp(((str1 == NULL) ? "<NULL>" : str1), ((str2 == NULL) ? "<NULL>" : str2))
|
||||||
#define safe_strstr(str1, str2) strstr(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2))
|
#define safe_strstr(str1, str2) strstr(((str1 == NULL) ? "<NULL>" : str1), ((str2 == NULL) ? "<NULL>" : str2))
|
||||||
#define safe_stricmp(str1, str2) _stricmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2))
|
#define safe_stricmp(str1, str2) _stricmp(((str1 == NULL) ? "<NULL>" : str1), ((str2 == NULL) ? "<NULL>" : str2))
|
||||||
#define safe_strncmp(str1, str2, count) strncmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2), count)
|
#define safe_strncmp(str1, str2, count) strncmp(((str1 == NULL) ? "<NULL>" : str1), ((str2 == NULL) ? "<NULL>" : str2), count)
|
||||||
#define safe_strnicmp(str1, str2, count) _strnicmp(((str1==NULL)?"<NULL>":str1), ((str2==NULL)?"<NULL>":str2), count)
|
#define safe_strnicmp(str1, str2, count) _strnicmp(((str1 == NULL) ? "<NULL>" : str1), ((str2 == NULL) ? "<NULL>" : str2), count)
|
||||||
#define safe_closehandle(h) do {if ((h != INVALID_HANDLE_VALUE) && (h != NULL)) {CloseHandle(h); h = INVALID_HANDLE_VALUE;}} while(0)
|
#define safe_closehandle(h) do { if ((h != INVALID_HANDLE_VALUE) && (h != NULL)) { CloseHandle(h); h = INVALID_HANDLE_VALUE; } } while(0)
|
||||||
#define safe_release_dc(hDlg, hDC) do {if ((hDC != INVALID_HANDLE_VALUE) && (hDC != NULL)) {ReleaseDC(hDlg, hDC); hDC = NULL;}} while(0)
|
#define safe_release_dc(hDlg, hDC) do { if ((hDC != INVALID_HANDLE_VALUE) && (hDC != NULL)) { ReleaseDC(hDlg, hDC); hDC = NULL; } } while(0)
|
||||||
#define safe_sprintf(dst, count, ...) do { size_t _count = (count); _snprintf_s(dst, _count, _TRUNCATE, __VA_ARGS__); (dst)[(_count)-1] = 0; } while(0)
|
#define safe_sprintf(dst, count, ...) do { size_t _count = count; char* _dst = dst; _snprintf_s(_dst, _count, _TRUNCATE, __VA_ARGS__); \
|
||||||
|
_dst[(_count) - 1] = 0; } while(0)
|
||||||
#define static_sprintf(dst, ...) safe_sprintf(dst, sizeof(dst), __VA_ARGS__)
|
#define static_sprintf(dst, ...) safe_sprintf(dst, sizeof(dst), __VA_ARGS__)
|
||||||
#define safe_atoi(str) ((((char*)(str))==NULL)?0:atoi(str))
|
#define safe_atoi(str) ((((char*)(str))==NULL) ? 0 : atoi(str))
|
||||||
#define safe_strlen(str) ((((char*)(str))==NULL)?0:strlen(str))
|
#define safe_strlen(str) ((((char*)(str))==NULL) ? 0 : strlen(str))
|
||||||
#define safe_strdup(str) ((((char*)(str))==NULL)?NULL:_strdup(str))
|
#define safe_strdup(str) ((((char*)(str))==NULL) ? NULL : _strdup(str))
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
#define safe_vsnprintf(buf, size, format, arg) _vsnprintf_s(buf, size, _TRUNCATE, format, arg)
|
#define safe_vsnprintf(buf, size, format, arg) _vsnprintf_s(buf, size, _TRUNCATE, format, arg)
|
||||||
#else
|
#else
|
||||||
|
|
10
src/rufus.rc
10
src/rufus.rc
|
@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||||
IDD_DIALOG DIALOGEX 12, 12, 232, 326
|
IDD_DIALOG DIALOGEX 12, 12, 232, 326
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
EXSTYLE WS_EX_ACCEPTFILES
|
EXSTYLE WS_EX_ACCEPTFILES
|
||||||
CAPTION "Rufus 4.5.2156"
|
CAPTION "Rufus 4.5.2158"
|
||||||
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
|
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
|
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
|
||||||
|
@ -397,8 +397,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 4,5,2156,0
|
FILEVERSION 4,5,2158,0
|
||||||
PRODUCTVERSION 4,5,2156,0
|
PRODUCTVERSION 4,5,2158,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -416,13 +416,13 @@ BEGIN
|
||||||
VALUE "Comments", "https://rufus.ie"
|
VALUE "Comments", "https://rufus.ie"
|
||||||
VALUE "CompanyName", "Akeo Consulting"
|
VALUE "CompanyName", "Akeo Consulting"
|
||||||
VALUE "FileDescription", "Rufus"
|
VALUE "FileDescription", "Rufus"
|
||||||
VALUE "FileVersion", "4.5.2156"
|
VALUE "FileVersion", "4.5.2158"
|
||||||
VALUE "InternalName", "Rufus"
|
VALUE "InternalName", "Rufus"
|
||||||
VALUE "LegalCopyright", "<22> 2011-2024 Pete Batard (GPL v3)"
|
VALUE "LegalCopyright", "<22> 2011-2024 Pete Batard (GPL v3)"
|
||||||
VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html"
|
VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html"
|
||||||
VALUE "OriginalFilename", "rufus-4.5.exe"
|
VALUE "OriginalFilename", "rufus-4.5.exe"
|
||||||
VALUE "ProductName", "Rufus"
|
VALUE "ProductName", "Rufus"
|
||||||
VALUE "ProductVersion", "4.5.2156"
|
VALUE "ProductVersion", "4.5.2158"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
Loading…
Reference in a new issue