mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[localization] basic localization command processing
* text, move, resize * add Chinese and French test localizations
This commit is contained in:
		
							parent
							
								
									eb54fd9833
								
							
						
					
					
						commit
						92789377db
					
				
					 7 changed files with 199 additions and 67 deletions
				
			
		|  | @ -16,5 +16,36 @@ t IDD_MORE_BLURB "Yoda dadada daaddadada" | |||
|  " ANY MORE LINESUS???"  | ||||
| 	# Test comment | ||||
| # end | ||||
| f "MS Dialog" 23 | ||||
|   | ||||
| 
 | ||||
| #l "fr-FR" | ||||
| #t IDS_FORMATOPTIONS_TXT "Options de Formattage       " | ||||
| #t IDS_LABEL_TXT "Nouveau label" | ||||
| #t IDS_FILESYSTEM_TXT "Système de fichier" | ||||
| #t IDS_CLUSTERSIZE_TXT "Taille de clusters" | ||||
| #t IDS_DEVICE_TXT "Periphérique" | ||||
| #t IDS_PARTITION_TYPE_TXT "Type de partition et système de destination" | ||||
| #t IDC_BADBLOCKS "Vérification de mauvais blocs:" | ||||
| #t IDC_QUICKFORMAT "Formattage rapide" | ||||
| #t IDC_BOOT "Disque de démarrage avec:" | ||||
| #t IDC_SET_ICON "Ajouter un label étendu et une icône" | ||||
| #m IDC_ADVANCED +37 0 | ||||
| fake command | ||||
| 
 | ||||
| l "zh-CN" | ||||
| t IDC_START "开始" | ||||
| t IDC_STOP "关闭" | ||||
| t IDS_DEVICE_TXT "设备" | ||||
| t IDS_PARTITION_TYPE_TXT "分区计划和目标系统类型" | ||||
| t IDS_FILESYSTEM_TXT "文件系统" | ||||
| t IDS_CLUSTERSIZE_TXT "簇的大小" | ||||
| t IDS_LABEL_TXT "新卷标" | ||||
| t IDS_FORMATOPTIONS_TXT "格式选项        " | ||||
| t IDC_BADBLOCKS "检查设备的坏块:" | ||||
| t IDC_QUICKFORMAT "快速格式化" | ||||
| t IDC_BOOT "创建一个可启动的磁盘使用:" | ||||
| r IDC_BOOT +10 0 | ||||
| t IDC_SET_ICON "创建扩展标签和图标文件" | ||||
| m IDC_ADVANCED -24 0 | ||||
| m IDC_NBPASSES 8 0 | ||||
| m IDC_BOOTTYPE 8 0 | ||||
| m IDC_SELECT_ISO 6 0 | ||||
							
								
								
									
										105
									
								
								src/locale.c
									
										
									
									
									
								
							
							
						
						
									
										105
									
								
								src/locale.c
									
										
									
									
									
								
							|  | @ -29,21 +29,45 @@ | |||
| #include <string.h> | ||||
| 
 | ||||
| #include "rufus.h" | ||||
| #include "resource.h" | ||||
| #include "msapi_utf8.h" | ||||
| #include "locale.h" | ||||
| 
 | ||||
| /* s: quoted string, i: 32 bit signed integer, w single word (no space) */ | ||||
| #define LOC_CTRL(x) { #x, x } | ||||
| 
 | ||||
| // TODO: move this to an autogenerated file
 | ||||
| loc_control_id control_id[] = { | ||||
| 	LOC_CTRL(IDS_DEVICE_TXT), | ||||
| 	LOC_CTRL(IDS_PARTITION_TYPE_TXT), | ||||
| 	LOC_CTRL(IDS_FILESYSTEM_TXT), | ||||
| 	LOC_CTRL(IDS_CLUSTERSIZE_TXT), | ||||
| 	LOC_CTRL(IDS_LABEL_TXT), | ||||
| 	LOC_CTRL(IDS_FORMATOPTIONS_TXT), | ||||
| 	LOC_CTRL(IDC_ADVANCED_GROUP), | ||||
| 	LOC_CTRL(IDC_BADBLOCKS), | ||||
| 	LOC_CTRL(IDC_QUICKFORMAT), | ||||
| 	LOC_CTRL(IDC_BOOT), | ||||
| 	LOC_CTRL(IDC_SET_ICON), | ||||
| 	LOC_CTRL(IDC_ADVANCED), | ||||
| 	LOC_CTRL(IDC_NBPASSES), | ||||
| 	LOC_CTRL(IDC_BOOTTYPE), | ||||
| 	LOC_CTRL(IDC_SELECT_ISO), | ||||
| }; | ||||
| 
 | ||||
| /* c control ID (no space, no quotes), s: quoted string, i: 32 bit signed integer,  */ | ||||
| loc_parse parse_cmd[] = { | ||||
| 	{ 'v', LC_VERSION, "ii" }, | ||||
| 	{ 'l', LC_LOCALE, "s" }, | ||||
| 	{ 'v', LC_VERSION, "ii" }, | ||||
| 	{ 't', LC_TEXT, "cs" }, | ||||
| 	{ 'p', LC_PARENT, "c" }, | ||||
| 	{ 'r', LC_RESIZE, "cii" }, | ||||
| 	{ 'm', LC_MOVE, "cii" }, | ||||
| 	{ 'f', LC_FONT, "si" }, | ||||
| 	{ 'p', LC_PARENT, "w" }, | ||||
| 	{ 'd', LC_DIRECTION, "i" }, | ||||
| 	{ 'r', LC_RESIZE, "wii" }, | ||||
| 	{ 'm', LC_MOVE, "wii" }, | ||||
| 	{ 't', LC_TEXT, "ws" } | ||||
| }; | ||||
| size_t PARSE_CMD_SIZE = ARRAYSIZE(parse_cmd); | ||||
| int  loc_line_nr = 0; | ||||
| char loc_filename[32]; | ||||
| 
 | ||||
| void free_loc_cmd(loc_cmd* lcmd) | ||||
| { | ||||
|  | @ -54,11 +78,76 @@ void free_loc_cmd(loc_cmd* lcmd) | |||
| 	free(lcmd); | ||||
| } | ||||
| 
 | ||||
| // TODO: factorize this with rufus.c's MoveControl()
 | ||||
| void ResizeMoveCtrl(HWND hDlg, HWND hCtrl, int mx, int my, int rx, int ry) | ||||
| { | ||||
| 	RECT rect; | ||||
| 	POINT point; | ||||
| 
 | ||||
| 	GetWindowRect(hCtrl, &rect); | ||||
| 	point.x = rect.left; | ||||
| 	point.y = rect.top; | ||||
| 	ScreenToClient(hDlg, &point); | ||||
| 	GetClientRect(hCtrl, &rect); | ||||
| 	MoveWindow(hCtrl, point.x + (int)(fScale*(float)mx), point.y + (int)(fScale*(float)my), | ||||
| 		(rect.right - rect.left) + (int)(fScale*(float)rx), | ||||
| 		(rect.bottom - rect.top) + (int)(fScale*(float)ry), TRUE); | ||||
| 	InvalidateRect(hCtrl, NULL, TRUE); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // TODO: we need to store a revert for every action we execute here,
 | ||||
| // or do we want to reinstantiate the dialogs?
 | ||||
| BOOL execute_loc_cmd(loc_cmd* lcmd) | ||||
| { | ||||
| 	size_t i; | ||||
| 	static HWND hParent = NULL; | ||||
| 	static char parent_name[128] = "IDD_DIALOG";	// Keep a copy of the parent
 | ||||
| 	HWND hCtrl = NULL; | ||||
| 
 | ||||
| 	if (lcmd == NULL) | ||||
| 		return FALSE; | ||||
| 	uprintf("cmd #%d: ('%s', '%s') (%d, %d)\n", | ||||
| 		lcmd->command, lcmd->text[0], lcmd->text[1], lcmd->num[0], lcmd->num[1]); | ||||
| 
 | ||||
| 	if (hParent == NULL) | ||||
| 		hParent = hMainDialog; | ||||
| 
 | ||||
| //	uprintf("cmd #%d: ('%s', '%s') (%d, %d)\n",
 | ||||
| //		lcmd->command, lcmd->text[0], lcmd->text[1], lcmd->num[0], lcmd->num[1]);
 | ||||
| 	if (lcmd->command <= LC_TEXT) { | ||||
| 		// Any command before LC_VERSION takes a control ID in text[0]
 | ||||
| 		for (i=0; i<ARRAYSIZE(control_id); i++) { | ||||
| 			if (safe_strcmp(lcmd->text[0], control_id[i].name) == 0) { | ||||
| 				hCtrl = GetDlgItem(hParent, control_id[i].id); | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| 		if (hCtrl == NULL) { | ||||
| 			luprintf("'%s' is not a member of '%s'\n", lcmd->text[0], parent_name); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	switch(lcmd->command) { | ||||
| 	case LC_TEXT: | ||||
| 		if (hCtrl != NULL) { | ||||
| 			SetWindowTextU(hCtrl, lcmd->text[1]); | ||||
| 		} | ||||
| 		break; | ||||
| 	case LC_MOVE: | ||||
| 		if (hCtrl != NULL) { | ||||
| 			ResizeMoveCtrl(hParent, hCtrl, lcmd->num[0], lcmd->num[1], 0,  0); | ||||
| 		} | ||||
| 		break; | ||||
| 	case LC_RESIZE: | ||||
| 		if (hCtrl != NULL) { | ||||
| 			ResizeMoveCtrl(hParent, hCtrl, 0, 0, lcmd->num[0], lcmd->num[1]); | ||||
| 		} | ||||
| 		break; | ||||
| 	case LC_PARENT: | ||||
| 		// ???
 | ||||
| 		break; | ||||
| 	} | ||||
| 	return TRUE; | ||||
| 
 | ||||
| 	// /!\ lcmd is freed after this call => if text messages need to be stored, they
 | ||||
| 	// must be removed from cmd so that they won't be freed
 | ||||
| } | ||||
|  |  | |||
							
								
								
									
										21
									
								
								src/locale.h
									
										
									
									
									
								
							
							
						
						
									
										21
									
								
								src/locale.h
									
										
									
									
									
								
							|  | @ -36,15 +36,21 @@ | |||
| // TODO: display control name on mouseover
 | ||||
| // Link to http://www.resedit.net/
 | ||||
| 
 | ||||
| // Commands that take a control ID *MUST* be at the top
 | ||||
| // The last command with a control ID *MUST* be LC_TEXT
 | ||||
| 
 | ||||
| #define luprint(msg) uprintf("%s(%d): " msg "\n", loc_filename, loc_line_nr) | ||||
| #define luprintf(msg, ...) uprintf("%s(%d): " msg "\n", loc_filename, loc_line_nr, __VA_ARGS__) | ||||
| 
 | ||||
| enum loc_command_type { | ||||
| 	LC_PARENT, | ||||
| 	LC_MOVE, | ||||
| 	LC_RESIZE, | ||||
| 	LC_TEXT,	// Delimits commands that take a Control ID and commands that don't
 | ||||
| 	LC_VERSION, | ||||
| 	LC_LOCALE, | ||||
| 	LC_FONT, | ||||
| 	LC_PARENT, | ||||
| 	LC_DIRECTION, | ||||
| 	LC_RESIZE, | ||||
| 	LC_MOVE, | ||||
| 	LC_TEXT | ||||
| }; | ||||
| 
 | ||||
| typedef struct loc_cmd_struct { | ||||
|  | @ -59,8 +65,15 @@ typedef struct loc_parse_struct { | |||
| 	char* arg_type; | ||||
| } loc_parse; | ||||
| 
 | ||||
| typedef struct loc_control_id_struct { | ||||
| 	const char* name; | ||||
| 	const int id; | ||||
| } loc_control_id; | ||||
| 
 | ||||
| loc_parse parse_cmd[]; | ||||
| size_t PARSE_CMD_SIZE; | ||||
| int loc_line_nr; | ||||
| char loc_filename[32]; | ||||
| 
 | ||||
| void free_loc_cmd(loc_cmd* lcmd); | ||||
| BOOL execute_loc_cmd(loc_cmd* lcmd); | ||||
|  |  | |||
							
								
								
									
										42
									
								
								src/parser.c
									
										
									
									
									
								
							
							
						
						
									
										42
									
								
								src/parser.c
									
										
									
									
									
								
							|  | @ -35,14 +35,11 @@ | |||
| #include "msapi_utf8.h" | ||||
| #include "locale.h" | ||||
| 
 | ||||
| int  loc_line_nr = 0; | ||||
| char loc_filename[32]; | ||||
| #define luprintf(msg) uprintf("%s(%d): " msg "\n", loc_filename, loc_line_nr); | ||||
| static const wchar_t wspace[] = L" \t"; | ||||
| 
 | ||||
| // Fill a localization command buffer by parsing the line arguments
 | ||||
| // The command is allocated and must be freed by calling free_loc_cmd()
 | ||||
| // The command is allocated and must be freed (by calling free_loc_cmd)
 | ||||
| static loc_cmd* get_loc_cmd(wchar_t wc, wchar_t* wline) { | ||||
| 	const wchar_t wspace[] = L" \t"; | ||||
| 	size_t i, j, k, r, ti = 0, ii = 0; | ||||
| 	wchar_t *endptr, *expected_endptr; | ||||
| 	loc_cmd* lcmd = NULL; | ||||
|  | @ -52,13 +49,13 @@ static loc_cmd* get_loc_cmd(wchar_t wc, wchar_t* wline) { | |||
| 			break; | ||||
| 	} | ||||
| 	if (j >= PARSE_CMD_SIZE) { | ||||
| 		luprintf("unknown command"); | ||||
| 		luprint("unknown command"); | ||||
| 		return NULL; | ||||
| 	} | ||||
| 
 | ||||
| 	lcmd = (loc_cmd*)calloc(sizeof(loc_cmd), 1); | ||||
| 	if (lcmd == NULL) { | ||||
| 		luprintf("could not allocate command"); | ||||
| 		luprint("could not allocate command"); | ||||
| 		return NULL; | ||||
| 	} | ||||
| 	lcmd->command = parse_cmd[j].cmd; | ||||
|  | @ -72,7 +69,7 @@ static loc_cmd* get_loc_cmd(wchar_t wc, wchar_t* wline) { | |||
| 		case 's':	// quoted string
 | ||||
| 			// search leading quote
 | ||||
| 			if (wline[i++] != L'"') { | ||||
| 				luprintf("no start quote"); | ||||
| 				luprint("no start quote"); | ||||
| 				goto err; | ||||
| 			} | ||||
| 			r = i; | ||||
|  | @ -85,13 +82,13 @@ static loc_cmd* get_loc_cmd(wchar_t wc, wchar_t* wline) { | |||
| 				} | ||||
| 			} | ||||
| 			if (wline[i] == 0) { | ||||
| 				luprintf("no end quote"); | ||||
| 				luprint("no end quote"); | ||||
| 				goto err; | ||||
| 			} | ||||
| 			wline[i++] = 0; | ||||
| 			lcmd->text[ti++] = wchar_to_utf8(&wline[r]); | ||||
| 			break; | ||||
| 		case 'w':	// single word
 | ||||
| 		case 'c':	// control ID (single word)
 | ||||
| 			while ((wline[i] != 0) && (wline[i] != wspace[0]) && (wline[i] != wspace[1])) | ||||
| 				i++; | ||||
| 			if (wline[i] != 0) | ||||
|  | @ -106,7 +103,7 @@ static loc_cmd* get_loc_cmd(wchar_t wc, wchar_t* wline) { | |||
| 				wline[i++] = 0; | ||||
| 			lcmd->num[ii++] = (int32_t)wcstol(&wline[r], &endptr, 10); | ||||
| 			if (endptr != expected_endptr) { | ||||
| 				luprintf("invalid integer"); | ||||
| 				luprint("invalid integer"); | ||||
| 				goto err; | ||||
| 			} | ||||
| 			break; | ||||
|  | @ -126,7 +123,6 @@ err: | |||
| // Parse an UTF-16 localization command line
 | ||||
| static void* get_loc_data_line(wchar_t* wline) | ||||
| { | ||||
| 	const wchar_t wspace[] = L" \t"; | ||||
| 	size_t i = 0; | ||||
| 	wchar_t t; | ||||
| 	loc_cmd* lcmd = NULL; | ||||
|  | @ -144,7 +140,7 @@ static void* get_loc_data_line(wchar_t* wline) | |||
| 	if (t == L'#')	// Comment
 | ||||
| 		return NULL; | ||||
| 	if ((t == 0) || ((wline[i] != wspace[0]) && (wline[i] != wspace[1]))) { | ||||
| 		luprintf("syntax error"); | ||||
| 		luprint("syntax error"); | ||||
| 		return NULL; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -202,10 +198,11 @@ char* get_loc_data_file(const char* filename) | |||
| 		switch(wc) { | ||||
| 		case WEOF: | ||||
| 			wbuf[i] = 0; | ||||
| 			loc_line_nr += line_nr_incr; | ||||
| 			get_loc_data_line(wbuf); | ||||
| 			goto out; | ||||
| 		case 0x0D: | ||||
| 		case 0x0A: | ||||
| 		case L'\r': | ||||
| 		case L'\n': | ||||
| 			// Process line numbers
 | ||||
| 			if ((last_wc != 0x0D) && (last_wc != 0x0A)) { | ||||
| 				if (eol) { | ||||
|  | @ -224,8 +221,8 @@ char* get_loc_data_file(const char* filename) | |||
| 				eol = TRUE; | ||||
| 			} | ||||
| 			break; | ||||
| 		case 0x20: | ||||
| 		case 0x09: | ||||
| 		case L' ': | ||||
| 		case L'\t': | ||||
| 			if (!eol) { | ||||
| 				wbuf[i++] = wc; | ||||
| 			} | ||||
|  | @ -274,7 +271,6 @@ out: | |||
| // modified by the parser
 | ||||
| static wchar_t* get_token_data_line(const wchar_t* wtoken, wchar_t* wline) | ||||
| { | ||||
| 	const wchar_t wspace[] = L" \t";	// The only whitespaces we recognize as such
 | ||||
| 	size_t i, r; | ||||
| 	BOOLEAN quoteth = FALSE; | ||||
| 
 | ||||
|  | @ -490,7 +486,6 @@ char* insert_section_data(const char* filename, const char* section, const char* | |||
| { | ||||
| 	const wchar_t* outmode[] = { L"w", L"w, ccs=UTF-8", L"w, ccs=UTF-16LE" }; | ||||
| 	wchar_t *wsection = NULL, *wfilename = NULL, *wtmpname = NULL, *wdata = NULL, bom = 0; | ||||
| 	wchar_t wspace[] = L" \t"; | ||||
| 	wchar_t buf[1024]; | ||||
| 	FILE *fd_in = NULL, *fd_out = NULL; | ||||
| 	size_t i, size; | ||||
|  | @ -551,7 +546,7 @@ char* insert_section_data(const char* filename, const char* section, const char* | |||
| 
 | ||||
| 	fd_out = _wfopen(wtmpname, outmode[mode]); | ||||
| 	if (fd_out == NULL) { | ||||
| 		uprintf("Could not open temporary output file %s~\n", filename); | ||||
| 		uprintf("Could not open temporary output file '%s~'\n", filename); | ||||
| 		goto out; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -595,7 +590,7 @@ out: | |||
| 			fclose(fd_in); | ||||
| 			fclose(fd_out); | ||||
| 		} else { | ||||
| 			uprintf("Could not write %s - original file has been left unmodifiedn", filename); | ||||
| 			uprintf("Could not write '%s' - original file has been left unmodified\n", filename); | ||||
| 			ret = NULL; | ||||
| 			if (fd_in != NULL) fclose(fd_in); | ||||
| 			if (fd_out != NULL) fclose(fd_out); | ||||
|  | @ -618,7 +613,6 @@ char* replace_in_token_data(const char* filename, const char* token, const char* | |||
| { | ||||
| 	const wchar_t* outmode[] = { L"w", L"w, ccs=UTF-8", L"w, ccs=UTF-16LE" }; | ||||
| 	wchar_t *wtoken = NULL, *wfilename = NULL, *wtmpname = NULL, *wsrc = NULL, *wrep = NULL, bom = 0; | ||||
| 	wchar_t wspace[] = L" \t"; | ||||
| 	wchar_t buf[1024], *torep; | ||||
| 	FILE *fd_in = NULL, *fd_out = NULL; | ||||
| 	size_t i, size; | ||||
|  | @ -686,7 +680,7 @@ char* replace_in_token_data(const char* filename, const char* token, const char* | |||
| 
 | ||||
| 	fd_out = _wfopen(wtmpname, outmode[mode]); | ||||
| 	if (fd_out == NULL) { | ||||
| 		uprintf("Could not open temporary output file %s~\n", filename); | ||||
| 		uprintf("Could not open temporary output file '%s~'\n", filename); | ||||
| 		goto out; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -741,7 +735,7 @@ out: | |||
| 			fclose(fd_in); | ||||
| 			fclose(fd_out); | ||||
| 		} else { | ||||
| 			uprintf("Could not write %s - original file has been left unmodified.\n", filename); | ||||
| 			uprintf("Could not write '%s' - original file has been left unmodified.\n", filename); | ||||
| 			ret = NULL; | ||||
| 			if (fd_in != NULL) fclose(fd_in); | ||||
| 			if (fd_out != NULL) fclose(fd_out); | ||||
|  |  | |||
|  | @ -3,17 +3,16 @@ | |||
| // Used by rufus.rc
 | ||||
| //
 | ||||
| #define IDD_DIALOG                      101 | ||||
| #define IDI_ICON                        102 | ||||
| #define IDD_ABOUTBOX                    103 | ||||
| #define IDD_NOTIFICATION                104 | ||||
| #define IDD_LICENSE                     105 | ||||
| #define IDD_ISO_EXTRACT                 106 | ||||
| #define IDD_LOG                         107 | ||||
| #define IDS_VERSION                     108 | ||||
| #define IDI_UP                          109 | ||||
| #define IDI_DOWN                        110 | ||||
| #define IDD_UPDATE_POLICY               111 | ||||
| #define IDD_NEW_VERSION                 112 | ||||
| #define IDD_ABOUTBOX                    102 | ||||
| #define IDD_NOTIFICATION                103 | ||||
| #define IDD_LICENSE                     104 | ||||
| #define IDD_ISO_EXTRACT                 105 | ||||
| #define IDD_LOG                         106 | ||||
| #define IDD_UPDATE_POLICY               107 | ||||
| #define IDD_NEW_VERSION                 108 | ||||
| #define IDI_ICON                        110 | ||||
| #define IDI_UP                          111 | ||||
| #define IDI_DOWN                        112 | ||||
| #define IDR_BR_MBR_BIN                  200 | ||||
| #define IDR_FD_COMMAND_COM              300 | ||||
| #define IDR_FD_KERNEL_SYS               301 | ||||
|  | @ -95,15 +94,21 @@ | |||
| #define IDC_YOUR_VERSION                1068 | ||||
| #define IDC_LATEST_VERSION              1069 | ||||
| #define IDC_DOWNLOAD_URL                1070 | ||||
| #define IDS_DEVICE_TXT                  2000 | ||||
| #define IDS_PARTITION_TYPE_TXT          2001 | ||||
| #define IDS_FILESYSTEM_TXT              2002 | ||||
| #define IDS_CLUSTERSIZE_TXT             2003 | ||||
| #define IDS_LABEL_TXT                   2004 | ||||
| #define IDS_FORMATOPTIONS_TXT           2005 | ||||
| 
 | ||||
| // Next default values for new objects
 | ||||
| // 
 | ||||
| #ifdef APSTUDIO_INVOKED | ||||
| #ifndef APSTUDIO_READONLY_SYMBOLS | ||||
| #define _APS_NO_MFC                     1 | ||||
| #define _APS_NEXT_RESOURCE_VALUE        113 | ||||
| #define _APS_NEXT_RESOURCE_VALUE        404 | ||||
| #define _APS_NEXT_COMMAND_VALUE         40001 | ||||
| #define _APS_NEXT_CONTROL_VALUE         1071 | ||||
| #define _APS_NEXT_SYMED_VALUE           101 | ||||
| #define _APS_NEXT_CONTROL_VALUE         2020 | ||||
| #define _APS_NEXT_SYMED_VALUE           3000 | ||||
| #endif | ||||
| #endif | ||||
|  |  | |||
|  | @ -1252,7 +1252,7 @@ static BOOL BootCheck(void) | |||
| 				"- Select 'Yes' to connect to the internet and download the file\n" | ||||
| 				"- Select 'No' if you will manually copy this file on the drive later\n\n" | ||||
| 				"Note: The file will be downloaded in the current directory and once a " | ||||
| 				"'%s' exists there, it will be reused automatically.\n", ldlinux_c32, ldlinux_c32, ldlinux_c32); | ||||
| 				"'%s' exists there, it will be reused automatically.\n", ldlinux_c32, ldlinux_c32); | ||||
| 			safe_sprintf(msgbox_title, sizeof(msgbox_title), "Download %s?", ldlinux_c32); | ||||
| 			r = MessageBoxU(hMainDialog, msgbox, msgbox_title, MB_YESNOCANCEL|MB_ICONWARNING); | ||||
| 			if (r == IDCANCEL)  | ||||
|  |  | |||
							
								
								
									
										28
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										28
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -35,28 +35,29 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 | |||
| BEGIN | ||||
|     DEFPUSHBUTTON   "Start",IDC_START,94,291,50,14 | ||||
|     PUSHBUTTON      "Close",IDCANCEL,148,291,50,14 | ||||
|     COMBOBOX        IDC_DEVICE,8,17,190,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     CONTROL         "Device",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,9,6,22,8 | ||||
|     COMBOBOX        IDC_FILESYSTEM,8,75,190,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "File system",IDC_STATIC,9,64,51,10 | ||||
|     COMBOBOX        IDC_PARTITION_SCHEME,8,46,190,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "Partition scheme and target system type",IDC_STATIC,9,35,176,8 | ||||
|     COMBOBOX        IDC_CLUSTERSIZE,8,104,190,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "Cluster size",IDC_STATIC,9,93,105,10 | ||||
|     PUSHBUTTON      "About...",IDC_ABOUT,8,291,50,14 | ||||
|     GROUPBOX        "Format Options       ",IDC_STATIC,7,149,192,66 | ||||
|     PUSHBUTTON      "Log",IDC_LOG,62,291,18,14 | ||||
|     PUSHBUTTON      "T",IDC_TEST,80,291,12,14,NOT WS_VISIBLE | ||||
|     COMBOBOX        IDC_DEVICE,8,17,190,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "Device",IDS_DEVICE_TXT,9,6,188,8 | ||||
|     COMBOBOX        IDC_FILESYSTEM,8,75,190,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "File system",IDS_FILESYSTEM_TXT,9,64,188,10 | ||||
|     COMBOBOX        IDC_PARTITION_SCHEME,8,46,190,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "Partition scheme and target system type",IDS_PARTITION_TYPE_TXT,9,35,188,8 | ||||
|     COMBOBOX        IDC_CLUSTERSIZE,8,104,190,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     LTEXT           "Cluster size",IDS_CLUSTERSIZE_TXT,9,93,189,10 | ||||
|     GROUPBOX        "Format Options       ",IDS_FORMATOPTIONS_TXT,7,149,192,66 | ||||
|     LTEXT           "New volume label",IDS_LABEL_TXT,9,121,188,10 | ||||
|     EDITTEXT        IDC_LABEL,7,131,190,13,ES_AUTOHSCROLL | ||||
|     CONTROL         "Check device for bad blocks:",IDC_BADBLOCKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,161,101,10 | ||||
|     CONTROL         "Quick format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,173,55,10 | ||||
|     CONTROL         "Quick format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,173,184,10 | ||||
|     CONTROL         "Create a bootable disk using:",IDC_BOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,104,10 | ||||
|     CONTROL         "Create extended label and icon files",IDC_SET_ICON, | ||||
|                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,198,131,10 | ||||
|     LTEXT           "New volume label",IDC_STATIC,9,121,105,10 | ||||
|                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,198,183,10 | ||||
|     CONTROL         "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,8,272,189,9 | ||||
|     COMBOBOX        IDC_NBPASSES,119,159,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     COMBOBOX        IDC_BOOTTYPE,119,183,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||
|     PUSHBUTTON      "...",IDC_SELECT_ISO,171,182,22,14,BS_ICON | ||||
|     PUSHBUTTON      "T",IDC_TEST,80,291,12,14,NOT WS_VISIBLE | ||||
|     CONTROL         "Use Rufus MBR with BIOS ID:",IDC_RUFUS_MBR,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,13,248,106,10 | ||||
|     PUSHBUTTON      "",IDC_ADVANCED,63,148,14,10,BS_TOP | BS_FLAT | ||||
|     GROUPBOX        "Advanced Options",IDC_ADVANCED_GROUP,7,210,192,54,NOT WS_VISIBLE | ||||
|  | @ -65,7 +66,6 @@ BEGIN | |||
|                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,235,184,10 | ||||
|     CONTROL         "List fixed (non-flash) or unpartitionned USB disks",IDC_ENABLE_FIXED_DISKS, | ||||
|                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,222,185,10 | ||||
|     PUSHBUTTON      "Log",IDC_LOG,62,291,18,14 | ||||
| END | ||||
| 
 | ||||
| IDD_ABOUTBOX DIALOGEX 0, 0, 287, 201 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue