mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[loc] misc. fixes and improvements
* Add support for LCID provision to option -l * Fix French translation * Fix memory leak for loc_filename * Don't delete an external 'rufus.loc' file if present * Use IETF normalized tags * Add quick instructions and sample for translators in new_translation.loc * Improve About dialog
This commit is contained in:
		
							parent
							
								
									521e8f00f3
								
							
						
					
					
						commit
						1cdb58462b
					
				
					 7 changed files with 425 additions and 28 deletions
				
			
		
							
								
								
									
										389
									
								
								res/localization/new_translation.loc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										389
									
								
								res/localization/new_translation.loc
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,389 @@ | ||||||
|  | # This file should be saved as UTF-8, no-BOM | ||||||
|  | 
 | ||||||
|  | ######################## HOW TO ADD A NEW TRANSLATION ########################### | ||||||
|  | # 1. Rename this file as 'rufus.loc' and save it in the same directory where you have the Rufus executable. | ||||||
|  | # 2. Start Rufus, and check the log a line starting with 'LCID' (eg. LCID 0x1809). | ||||||
|  | # 3. Edit the 'l' line below and: | ||||||
|  | #    - set the IETF language tag (in quotes) for your language, eg: "en-US", "fr-FR", "zh-CN" | ||||||
|  | #      See http://en.wikipedia.org/wiki/IETF_language_tag as well as the table on page 9 of | ||||||
|  | #      http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-LCID%5D.pdf | ||||||
|  | #    - set the name under which you want your language to appear in the (future) language selection menu. | ||||||
|  | #      As this is the name users will see, it should be in your language (eg. "正體字" rather than "Chinese") | ||||||
|  | #    - replace "0x1234" with the LCID code you got in step 2. You should also look at the table on page 9 of | ||||||
|  | #      the PDF above to add all the LCID codes your translation should cover. Separate these codes with a comma. | ||||||
|  | # 4. Translate the messages that appear below into your language. The 'g' lines indicate the group a translated | ||||||
|  | #    element belongs to. You shouldn't have to modify them. | ||||||
|  | # 5. (Re)launch Rufus. If a 'rufus.loc' file is found in the current directory, it will be used over the one | ||||||
|  | #    embedded in the application. Since there is only one translation in this file, it will be used by default | ||||||
|  | # 6. Repeat steps 4 & 5 until you're happy with that translated elements. Note that you MUST restart Rufus every | ||||||
|  | #    time you change your .loc file as there is no reload option. | ||||||
|  | # 7. Once you are satisfied with your translation, you should pick up the official rufus.loc from: | ||||||
|  | #    https://github.com/pbatard/rufus/raw/master/res/localization/rufus.loc | ||||||
|  | #    You should then add your translation at the end of it, and confirm that it is still picked as the default | ||||||
|  | #    for your system  You can also force the use of a translation by passing the option -l when starting Rufus. | ||||||
|  | #    For instance, to have the "zz_ZZ" translation below apply, you could use either one of: | ||||||
|  | #      rufus.exe -l zz-ZZ | ||||||
|  | #      rufus.exe -l 0x1234 | ||||||
|  | #      rufus.exe -l 0xabcd | ||||||
|  | # 8. If you need to resize a control or a dialog to fid the translated text, use the 'm' (Move) or 's' (reSize) | ||||||
|  | #    options. For an example of how these commands work, see how they are use in the French translation at: | ||||||
|  | #    https://github.com/pbatard/rufus/blob/master/res/localization/rufus.loc | ||||||
|  | # | ||||||
|  | # Tips: | ||||||
|  | # - Please make sure that you edit the language include *your* name in MSG_176. It will be displayed in the | ||||||
|  | #   About dialog and I want to give you credit for your work! | ||||||
|  | # - Use Alt-R in Rufus to delete the registry keys on exit, which will reset the update check policy. This | ||||||
|  | #   will allow you to see your translation for the initial prompt about application updates. | ||||||
|  | # - I strongly recommend installing and using DbgView to check for translation errors, as you will get more | ||||||
|  | #   information about how Rufus initallly parses the translation file plus reports of any issue found (with | ||||||
|  | #   the line number). Download DbgView from: http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx | ||||||
|  | # - As shown below, you can break a long message over multiple lines, as long as these fragments begin and end | ||||||
|  | #   with a double quote ("). Also be careful to keep the special symbols such as %d, %s, \\b, \",  \n. Time | ||||||
|  | #   permitting, I'll try to provide examples of the output that these lines generate. | ||||||
|  | # - A more comprehensive guide WILL be available at https://github.com/pbatard/rufus/wiki/Localization | ||||||
|  | #   This early set of instructions is provided only for impatient translators! ;) | ||||||
|  | 
 | ||||||
|  | ################################################################################ | ||||||
|  | l "zz-ZZ" "Your Language" 0x1234, 0xabcd | ||||||
|  | # See http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-LCID%5D.pdf | ||||||
|  | # for the LCID (0x####) codes you should use | ||||||
|  | 
 | ||||||
|  | # Main dialog | ||||||
|  | g IDD_DIALOG | ||||||
|  | t IDS_DEVICE_TXT "Device" | ||||||
|  | t IDS_PARTITION_TYPE_TXT "Partition scheme and target system type" | ||||||
|  | t IDS_FILESYSTEM_TXT "File system" | ||||||
|  | t IDS_CLUSTERSIZE_TXT "Cluster size" | ||||||
|  | t IDS_LABEL_TXT "New volume label" | ||||||
|  | t IDS_FORMAT_OPTIONS_GRP "Format Options       " | ||||||
|  | t IDC_BADBLOCKS "Check device for bad blocks:" | ||||||
|  | t IDC_QUICKFORMAT "Quick format" | ||||||
|  | t IDC_BOOT "Create a bootable disk using:" | ||||||
|  | t IDC_SET_ICON "Create extended label and icon files" | ||||||
|  | t IDC_ABOUT "About..." | ||||||
|  | t IDCANCEL "Close" | ||||||
|  | t IDC_START "Start" | ||||||
|  | t IDS_ADVANCED_OPTIONS_GRP "Advanced Options" | ||||||
|  | t IDC_ENABLE_FIXED_DISKS "List non removable or unpartitioned USB disks" | ||||||
|  | t IDC_EXTRA_PARTITION "Add fixes for old BIOSes (extra partition, align, etc.)" | ||||||
|  | t IDC_RUFUS_MBR "Use Rufus MBR with BIOS ID:" | ||||||
|  | 
 | ||||||
|  | # About dialog | ||||||
|  | g IDD_ABOUTBOX | ||||||
|  | t IDD_ABOUTBOX "About Rufus" | ||||||
|  | t IDC_ABOUT_LICENSE "License" | ||||||
|  | t IDC_ABOUT_UPDATES "Updates" | ||||||
|  | 
 | ||||||
|  | # About -> License dialog | ||||||
|  | g IDD_LICENSE | ||||||
|  | t IDD_LICENSE "Rufus License" | ||||||
|  | 
 | ||||||
|  | # Notifications. You can trigger one of these by using Alt-R and re-launching Rufus | ||||||
|  | g IDD_NOTIFICATION | ||||||
|  | t IDC_MORE_INFO "More information" | ||||||
|  | t IDYES "Yes" | ||||||
|  | t IDNO "No" | ||||||
|  | 
 | ||||||
|  | # Log dialog | ||||||
|  | g IDD_LOG | ||||||
|  | t IDC_LOG_CLEAR "Clear Log" | ||||||
|  | t IDC_LOG_SAVE "Save Log" | ||||||
|  | t IDCANCEL "Close Log" | ||||||
|  | 
 | ||||||
|  | # About -> Updates | ||||||
|  | g IDD_UPDATE_POLICY | ||||||
|  | t IDD_UPDATE_POLICY "Update policy and settings" | ||||||
|  | t IDS_UPDATE_SETTINGS_GRP "Settings" | ||||||
|  | t IDS_UPDATE_FREQUENCY_TXT "Check for updates:" | ||||||
|  | t IDS_INCLUDE_BETAS_TXT "Include beta versions:" | ||||||
|  | t IDC_CHECK_NOW "Check Now" | ||||||
|  | t IDCANCEL "Close" | ||||||
|  | 
 | ||||||
|  | # Dialog that appears when a new version is available | ||||||
|  | # I will provide a way to trigger this dialog in future versions | ||||||
|  | g IDD_NEW_VERSION | ||||||
|  | t IDD_NEW_VERSION "Check For Updates - Rufus" | ||||||
|  | t IDS_NEW_VERSION_AVAIL_TXT "A newer version is available. Please download the latest version!" | ||||||
|  | t IDC_WEBSITE " Click here to go to the website" | ||||||
|  | t IDS_NEW_VERSION_NOTES_GRP "Release Notes" | ||||||
|  | t IDS_NEW_VERSION_DOWNLOAD_GRP "Download" | ||||||
|  | t IDC_DOWNLOAD "Download" | ||||||
|  | t IDCANCEL "Close" | ||||||
|  | 
 | ||||||
|  | # Dialog that appears when scanning/extracting ISO files | ||||||
|  | g IDD_ISO_EXTRACT | ||||||
|  | t IDD_ISO_EXTRACT "Copying ISO files..." | ||||||
|  | t IDC_ISO_FILENAME "Opening ISO image - please wait..." | ||||||
|  | t IDC_ISO_ABORT "Cancel" | ||||||
|  | 
 | ||||||
|  | # Messages used throughout the application | ||||||
|  | g IDD_MESSAGES | ||||||
|  | t MSG_001 "Other instance detected" | ||||||
|  | t MSG_002 "Another Rufus application is running.\n" | ||||||
|  | 	"Please close the first application before running another one." | ||||||
|  | t MSG_003 "WARNING: ALL DATA ON DEVICE '%s' WILL BE DESTROYED.\n" | ||||||
|  | 	"To continue with this operation, click OK. To quit click CANCEL." | ||||||
|  | t MSG_004 "Rufus update policy" | ||||||
|  | t MSG_005 "Do you want to allow Rufus to check for application updates online?" | ||||||
|  | # Must be the same as IDD_DIALOG:IDCANCEL (i.e. "Close" - I know it's confusing) | ||||||
|  | t MSG_006 "Close" | ||||||
|  | t MSG_007 "Cancel" | ||||||
|  | t MSG_008 "Yes" | ||||||
|  | t MSG_009 "No" | ||||||
|  | t MSG_010 "Bad blocks found" | ||||||
|  | t MSG_011 "Check completed: %u bad block(s) found\n" | ||||||
|  | 	"  %d read error(s)\n  %d write error(s)\n  %d corruption error(s)\n" | ||||||
|  | # The following will contain the formatted message above as well as the name of the bad blocks logfile | ||||||
|  | t MSG_012 "%s\nA more detailed report can be found in:\n%s" | ||||||
|  | t MSG_013 "Disabled" | ||||||
|  | t MSG_014 "Daily" | ||||||
|  | t MSG_015 "Weekly" | ||||||
|  | t MSG_016 "Monthly" | ||||||
|  | t MSG_017 "Custom" | ||||||
|  | t MSG_018 "Your version: %d.%d.%d (Build %d)" | ||||||
|  | t MSG_019 "Latest version: %d.%d.%d (Build %d)" | ||||||
|  | # *Short* size names. These can be used as suffixes | ||||||
|  | t MSG_020 "bytes" | ||||||
|  | t MSG_021 "KB" | ||||||
|  | t MSG_022 "MB" | ||||||
|  | t MSG_023 "GB" | ||||||
|  | t MSG_024 "TB" | ||||||
|  | t MSG_025 "PB" | ||||||
|  | # *Long* size names, as they are displayed for the cluster size in the MS format dialog. | ||||||
|  | t MSG_026 "bytes"	# Yes, this is a repeat from MSG_020 | ||||||
|  | t MSG_027 "kilobytes" | ||||||
|  | t MSG_028 "megabytes" | ||||||
|  | t MSG_029 "Default" | ||||||
|  | # The following gets appended to the file system, cluster size, etc. | ||||||
|  | t MSG_030 "%s (Default)" | ||||||
|  | t MSG_031 "%s partition scheme for BIOS computer" | ||||||
|  | t MSG_032 "%s partition scheme for UEFI computer" | ||||||
|  | t MSG_033 "%s partition scheme for BIOS or UEFI computers" | ||||||
|  | # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) | ||||||
|  | t MSG_034 "%d Pass" | ||||||
|  | t MSG_035 "%d Passes" | ||||||
|  | t MSG_036 "ISO Image" | ||||||
|  | t MSG_037 "Application" | ||||||
|  | t MSG_038 "Abort" | ||||||
|  | t MSG_039 "Launch" | ||||||
|  | t MSG_040 "Download" | ||||||
|  | t MSG_041 "Operation cancelled by the user" | ||||||
|  | t MSG_042 "Error" | ||||||
|  | t MSG_043 "Error: %s" | ||||||
|  | t MSG_044 "File download" | ||||||
|  | t MSG_045 "USB Storage Device (Generic)" | ||||||
|  | t MSG_046 "%s (Disk %d)" | ||||||
|  | t MSG_047 "%s (%c:)" | ||||||
|  | t MSG_048 "Rufus - Flushing buffers" | ||||||
|  | t MSG_049 "Rufus - Cancellation" | ||||||
|  | 
 | ||||||
|  | # Error messages | ||||||
|  | t MSG_050 "Success." | ||||||
|  | t MSG_051 "Undetermined error while formatting." | ||||||
|  | t MSG_052 "Cannot use the selected file system for this media." | ||||||
|  | t MSG_053 "Access to the device is denied." | ||||||
|  | t MSG_054 "Media is write protected." | ||||||
|  | t MSG_055 "The device is in use by another process. " | ||||||
|  | 	"Please close any other process that may be accessing the device." | ||||||
|  | t MSG_056 "Quick format is not available for this device." | ||||||
|  | t MSG_057 "The volume label is invalid." | ||||||
|  | t MSG_058 "The device handle is invalid." | ||||||
|  | t MSG_059 "The selected cluster size is not valid for this device." | ||||||
|  | t MSG_060 "The volume size is invalid." | ||||||
|  | t MSG_061 "Please insert a media in drive." | ||||||
|  | t MSG_062 "An unsupported command was received." | ||||||
|  | t MSG_063 "Memory allocation error." | ||||||
|  | t MSG_064 "Read error." | ||||||
|  | t MSG_065 "Write error." | ||||||
|  | t MSG_066 "Installation failure" | ||||||
|  | t MSG_067 "Could not open media. It may be in use by another process. " | ||||||
|  | 	"Please re-plug the media and try again." | ||||||
|  | t MSG_068 "Error while partitioning drive." | ||||||
|  | t MSG_069 "Could not copy files to target drive." | ||||||
|  | t MSG_070 "Cancelled by user." | ||||||
|  | t MSG_071 "Unable to create formatting thread." | ||||||
|  | t MSG_072 "Bad blocks check didn't complete." | ||||||
|  | t MSG_073 "ISO image scan failure." | ||||||
|  | t MSG_074 "ISO image extraction failure." | ||||||
|  | t MSG_075 "Unable to remount volume." | ||||||
|  | t MSG_076 "Unable to patch/setup files for boot." | ||||||
|  | t MSG_077 "Unable to assign a drive letter." | ||||||
|  | t MSG_078 "Can't mount GUID volume." | ||||||
|  | 
 | ||||||
|  | t MSG_080 "Rufus detected that Windows is still flushing its internal buffers onto the USB device.\n\n" | ||||||
|  | 	"Depending on the speed of your USB device, this operation may take a long time to complete, " | ||||||
|  | 	"especially for large files.\n\nWe recommend that you let Windows finish, to avoid corruption. " | ||||||
|  | 	"But if you grow tired of waiting, you can just unplug the device..." | ||||||
|  | t MSG_081 "Unsupported ISO" | ||||||
|  | t MSG_082 "This version of Rufus only supports bootable ISOs based on bootmgr/WinPE, isolinux or EFI.\n" | ||||||
|  | 	"This ISO doesn't appear to use either..." | ||||||
|  | t MSG_083 "Replace %s?" | ||||||
|  | t MSG_084 "This ISO image seems to use an obsolete version of '%s'.\n" | ||||||
|  | 	"Boot menus may not display properly because of this.\n\n" | ||||||
|  | 	"A newer version can be downloaded by Rufus to fix this issue:\n" | ||||||
|  | 	"- Choose 'Yes' to connect to the internet and download the file\n" | ||||||
|  | 	"- Choose 'No' to leave the existing ISO file unmodified\n" | ||||||
|  | 	"If you don't know what to do, you should select 'Yes'.\n\n" | ||||||
|  | 	"Note: The new file will be downloaded in the current directory and once a " | ||||||
|  | 	"'%s' exists there, it will be reused automatically." | ||||||
|  | t MSG_085 "Downloading %s" | ||||||
|  | t MSG_086 "No ISO image selected" | ||||||
|  | # The content between the quotes below (\"Create a bootable disk\") should match | ||||||
|  | # the beginning of the IDC_BOOT text | ||||||
|  | t MSG_087 "Please click on the disc button to select a bootable ISO, " | ||||||
|  | 	"or uncheck the \"Create a bootable disk...\" checkbox." | ||||||
|  | t MSG_088 "ISO too big" | ||||||
|  | t MSG_089 "This ISO image is too big for the selected target." | ||||||
|  | t MSG_090 "Unsupported ISO" | ||||||
|  | t MSG_091 "When using UEFI Target Type, only EFI bootable ISO images are supported. " | ||||||
|  | 	"Please select an EFI bootable ISO or set the Target Type to BIOS." | ||||||
|  | t MSG_092 "Unsupported filesystem" | ||||||
|  | t MSG_093 "When using UEFI Target Type, only FAT/FAT32 is supported. " | ||||||
|  | 	"Please select FAT/FAT32 as the File system or set the Target Type to BIOS." | ||||||
|  | t MSG_094 "Non UEFI compatible ISO" | ||||||
|  | t MSG_095 "This ISO image contains a file larger than 4 GB and cannot be used to create an EFI bootable USB.\n" | ||||||
|  | 	"This is a limitation of UEFI/FAT32, not Rufus." | ||||||
|  | t MSG_096 "Only FAT/FAT32 is supported for this type of ISO. Please select FAT/FAT32 as the File system." | ||||||
|  | t MSG_097 "Only 'bootmgr' or 'WinPE' based ISO images can currently be used with NTFS." | ||||||
|  | t MSG_098 "FAT/FAT32 can only be used for isolinux based ISO images or when the Target Type is UEFI." | ||||||
|  | t MSG_099 "Filesystem limitation" | ||||||
|  | t MSG_100 "This iso image contains a file larger than 4GB file, which is more than the " | ||||||
|  | 	"maximum size allowed for a FAT or FAT32 file system." | ||||||
|  | t MSG_101 "Missing WIM support" | ||||||
|  | t MSG_102 "Your platform cannot extract files from WIM archives. WIM extraction " | ||||||
|  | 	"is required to create EFI bootable Windows 7 and Windows Vista USB drives. You can fix that " | ||||||
|  | 	"by installing a recent version of 7-Zip.\nDo you want to visit the 7-zip download page?" | ||||||
|  | t MSG_103 "Download %s?" | ||||||
|  | t MSG_104 "Syslinux v5.0 or later requires a '%s' file to be installed.\n" | ||||||
|  | 	"Because this file is more than 100 KB in size, and always present on Syslinux v5+ ISO images, " | ||||||
|  | 	"it is not embedded in Rufus.\n\nRufus can download the missing file for you:\n" | ||||||
|  | 	"- Select 'Yes' to connect to the internet and download the file\n" | ||||||
|  | 	"- Select 'No' if you want to 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" | ||||||
|  | t MSG_105 "Cancelling may leave the device in an UNUSABLE state.\n" | ||||||
|  | 	"If you are sure you want to cancel, click YES. Otherwise, click NO." | ||||||
|  | t MSG_106 "Please select folder" | ||||||
|  | t MSG_107 "All files" | ||||||
|  | t MSG_108 "Rufus log" | ||||||
|  | t MSG_109 "0x%02X (Disk %d)" | ||||||
|  | 
 | ||||||
|  | # Tootips | ||||||
|  | # Partition Scheme and Target Type | ||||||
|  | t MSG_150 "Usually the safest choice. If you have an UEFI computer and want to install " | ||||||
|  | 	"an OS in EFI mode however, you should select one of the options below" | ||||||
|  | t MSG_151 "Use this if you want to install an OS in EFI mode, but need to access " | ||||||
|  | 	"the USB content from Windows XP" | ||||||
|  | t MSG_152 "The preferred option to install an OS in EFI mode and when " | ||||||
|  | 	"USB access is not required for Windows XP" | ||||||
|  | t MSG_153 "Test pattern: 0x%02X"	 | ||||||
|  | t MSG_154 "Test pattern: 0x%02X, 0x%02X"	 | ||||||
|  | t MSG_155 "Test pattern: 0x%02X, 0x%02X, 0x%02X" | ||||||
|  | t MSG_156 "Test pattern: 0x%02X, 0x%02X, 0x%02X, 0x%02X" | ||||||
|  | t MSG_157 "Sets the target filesystem" | ||||||
|  | t MSG_158 "Minimum size that a block of data will occupy in the filesystem" | ||||||
|  | t MSG_159 "Use this field to set the drive label\nInternational characters are accepted" | ||||||
|  | t MSG_160 "Toggle advanced options" | ||||||
|  | t MSG_161 "Check the device for bad blocks using a test pattern" | ||||||
|  | t MSG_162 "Uncheck this box to use the \"slow\" format method" | ||||||
|  | t MSG_163 "Check this box to make the USB drive bootable" | ||||||
|  | t MSG_164 "Method that will be used to make the drive bootable" | ||||||
|  | t MSG_165 "Click to select an ISO..." | ||||||
|  | t MSG_166 "Check this box to allow the display of international labels " | ||||||
|  | 	"and set a device icon (creates an autorun.inf)" | ||||||
|  | t MSG_167 "Install an MBR that allows boot selection and can masquerade the BIOS USB drive ID" | ||||||
|  | t MSG_168 "Try to masquerade first bootable USB drive (usually 0x80) as a different disk.\n" | ||||||
|  | 	"This should only be necessary if you install Windows XP and have more than one disk" | ||||||
|  | t MSG_169 "Create an extra hidden partition and try to align partitions boundaries.\n" | ||||||
|  | 	"This can improve boot detection for older BIOSes" | ||||||
|  | t MSG_170 "Enable detection for disks not normally detected by Rufus. USE AT YOUR OWN RISKS!!!" | ||||||
|  | t MSG_171 "Start the formatting operation.\nThis will DESTROY any data on the target!" | ||||||
|  | t MSG_172 "Licensing information and credits" | ||||||
|  | t MSG_173 "Click to select..." | ||||||
|  | # The following will appear in the about dialog | ||||||
|  | t MSG_174 "Rufus - The Reliable USB Formatting Utility" | ||||||
|  | t MSG_175 "Version %d.%d.%d (Build %d)" | ||||||
|  | t MSG_176 "English translation: Pete Batard" | ||||||
|  | t MSG_177 "Report bugs or request enhancements at:" | ||||||
|  | t MSG_178 "Additional Copyrights:" | ||||||
|  | t MSG_179 "Update Policy:" | ||||||
|  | t MSG_180 "If you choose to allow this program to check for application updates, " | ||||||
|  | 	"you agree that the following information may be collected on our server(s):" | ||||||
|  | t MSG_181 "Your operating system's architecture and version" | ||||||
|  | t MSG_182 "The version of the application you use" | ||||||
|  | t MSG_183 "Your IP address" | ||||||
|  | t MSG_184 "For the purpose of generating private usage statistics, we may keep the information collected, " | ||||||
|  | 	"\\b for at most a year\\b0 . However, we will not willingly disclose any of this individual data to third parties." | ||||||
|  | t MSG_185 "Update Process:" | ||||||
|  | t MSG_186 "Rufus does not install or run background services, therefore update checks are performed only when the main application is running.\\line\n" | ||||||
|  | 	"Internet access is of course required when checking for updates." | ||||||
|  | 
 | ||||||
|  | # Status messages - these messages will appear on the status bar | ||||||
|  | t MSG_201 "Cancelling - Please wait..." | ||||||
|  | t MSG_202 "Scanning ISO image..." | ||||||
|  | t MSG_203 "Failed to scan ISO image" | ||||||
|  | # Parameter: the name of an obsolete Syslinux .c32 module. eg: "Obsolete vesamenu.c32 detected" | ||||||
|  | t MSG_204 "Obsolete %s detected" | ||||||
|  | # Display the name of the ISO selected. eg: "Using ISO: en_win7_x64_sp1.iso" | ||||||
|  | t MSG_205 "Using ISO: %s" | ||||||
|  | # Typically "Missing ldlinux.c32 file" | ||||||
|  | t MSG_206 "Missing %s file" | ||||||
|  | # Same message, once for singular and plural ("1 device found", "2 devices found") | ||||||
|  | t MSG_208 "%d device found" | ||||||
|  | t MSG_209 "%d devices found" | ||||||
|  | t MSG_210 "DONE." | ||||||
|  | t MSG_211 "Cancelled." | ||||||
|  | t MSG_212 "FAILED." | ||||||
|  | # Used when a new update has been downloaded and lauched | ||||||
|  | t MSG_213 "Launching new application..." | ||||||
|  | t MSG_214 "Failed to launch new application" | ||||||
|  | # Open/Save file | ||||||
|  | t MSG_215 "Opened %s" | ||||||
|  | t MSG_216 "Saved %s" | ||||||
|  | # Formatting status (make sure you use a double % to print the percent sign) | ||||||
|  | t MSG_217 "Formatting: %0.1f%% completed" | ||||||
|  | t MSG_218 "Creating file system: Task %d/%d completed" | ||||||
|  | t MSG_219 "NTFS Fixup: %d%% completed" | ||||||
|  | t MSG_221 "Setting Label (This may take while)..." | ||||||
|  | # Parameter: the file system. eg. "Formatting (NTFS)..." | ||||||
|  | t MSG_222 "Formatting (%s)..." | ||||||
|  | t MSG_223 "NTFS Fixup (Checkdisk)..." | ||||||
|  | t MSG_224 "Clearing MBR/PBR/GPT structures..." | ||||||
|  | t MSG_225 "Requesting disk access..." | ||||||
|  | t MSG_226 "Analyzing existing boot records..." | ||||||
|  | t MSG_227 "Closing existing volume..." | ||||||
|  | t MSG_228 "Writing master boot record..." | ||||||
|  | t MSG_229 "Writing partition boot record..." | ||||||
|  | t MSG_230 "Copying DOS files..." | ||||||
|  | t MSG_231 "Copying ISO files..." | ||||||
|  | t MSG_232 "Win7 EFI boot setup (this may take a while)..." | ||||||
|  | t MSG_233 "Finalizing, please wait..." | ||||||
|  | # Takes the Syslinux version as paramete. eg. "Installing Syslinux v5..." | ||||||
|  | t MSG_234 "Installing Syslinux v%d..." | ||||||
|  | # Bad blocks status. eg: "Bad Blocks: PASS 1/2 - 12.34% (0/0/1 errors)" | ||||||
|  | t MSG_235 "Bad Blocks: PASS %d/%d - %0.2f%% (%d/%d/%d errors)" | ||||||
|  | t MSG_236 "Bad Blocks: Testing with random pattern" | ||||||
|  | t MSG_237 "Bad Blocks: Testing with pattern 0x%02X" | ||||||
|  | # eg. "Partitioning (MBR)..." | ||||||
|  | t MSG_238 "Partitioning (%s)..." | ||||||
|  | t MSG_239 "Deleting partitions..." | ||||||
|  | t MSG_240 "Downloading %s: Connecting..." | ||||||
|  | t MSG_241 "Downloading: %0.1f%%" | ||||||
|  | t MSG_242 "Failed to download file." | ||||||
|  | t MSG_243 "Checking for Rufus updates..." | ||||||
|  | t MSG_244 "Updates: Unable to connect to the internet" | ||||||
|  | t MSG_245 "Updates: Unable to acces version data" | ||||||
|  | t MSG_246 "A new version of Rufus is available!" | ||||||
|  | t MSG_247 "No new version of Rufus was found" | ||||||
|  | t MSG_248 "Application registry keys successfully deleted" | ||||||
|  | t MSG_249 "Failed to delete application registry keys" | ||||||
|  | # eg. "Fixed disk detection enabled" "ISO size check disabled" | ||||||
|  | t MSG_250 "%s enabled" | ||||||
|  | t MSG_251 "%s disabled" | ||||||
|  | t MSG_252 "Size checks" | ||||||
|  | t MSG_253 "Fixed disks detection" | ||||||
|  | t MSG_254 "Force large FAT32 formatting" | ||||||
|  | t MSG_255 "NoDriveTypeAutorun will be deleted on exit" | ||||||
|  | t MSG_256 "Fake drive detection" | ||||||
|  | t MSG_257 "Joliet support" | ||||||
|  | t MSG_258 "Rock Ridge support" | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| # This file should be saved as UTF-8, no-BOM | # This file should be saved as UTF-8, no-BOM | ||||||
| 
 | 
 | ||||||
| ################################################################################ | ################################################################################ | ||||||
| l "en_US" "English (US)" 0x0409, 0x0809, 0x0c09, 0x1009, 0x1409, 0x1809, 0x1c09, 0x2009, 0x2409, 0x2809, 0x2c09, 0x3009, 0x3409, 0x3809, 0x3c09, 0x4009, 0x4409, 0x4809 | l "en-US" "English (US)" 0x0409, 0x0809, 0x0c09, 0x1009, 0x1409, 0x1809, 0x1c09, 0x2009, 0x2409, 0x2809, 0x2c09, 0x3009, 0x3409, 0x3809, 0x3c09, 0x4009, 0x4409, 0x4809 | ||||||
| g IDD_MESSAGES | g IDD_MESSAGES | ||||||
| t MSG_001 "Other instance detected" | t MSG_001 "Other instance detected" | ||||||
| t MSG_002 "Another Rufus application is running.\n" | t MSG_002 "Another Rufus application is running.\n" | ||||||
|  | @ -273,7 +273,7 @@ t MSG_257 "Joliet support" | ||||||
| t MSG_258 "Rock Ridge support" | t MSG_258 "Rock Ridge support" | ||||||
| 
 | 
 | ||||||
| ################################################################################ | ################################################################################ | ||||||
| l "fr_FR" "French" 0x040c, 0x080c, 0x0c0c, 0x100c, 0x140c, 0x180c, 0x1c0c, 0x200c, 0x240c, 0x280c, 0x2c0c, 0x300c, 0x340c, 0x380c, 0xe40c | l "fr-FR" "Français" 0x040c, 0x080c, 0x0c0c, 0x100c, 0x140c, 0x180c, 0x1c0c, 0x200c, 0x240c, 0x280c, 0x2c0c, 0x300c, 0x340c, 0x380c, 0xe40c | ||||||
| g IDD_DIALOG | g IDD_DIALOG | ||||||
| t IDS_DEVICE_TXT "Periphérique" | t IDS_DEVICE_TXT "Periphérique" | ||||||
| t IDS_PARTITION_TYPE_TXT "Type de partition et système de destination" | t IDS_PARTITION_TYPE_TXT "Type de partition et système de destination" | ||||||
|  | @ -303,11 +303,12 @@ s IDC_DISK_ID -2,0 | ||||||
| 
 | 
 | ||||||
| g IDD_ABOUTBOX | g IDD_ABOUTBOX | ||||||
| t IDD_ABOUTBOX "A propos de Rufus" | t IDD_ABOUTBOX "A propos de Rufus" | ||||||
| t IDC_ABOUT_LICENSE "License" | t IDC_ABOUT_LICENSE "Licence" | ||||||
| t IDC_ABOUT_UPDATES "Mises à jour" | t IDC_ABOUT_UPDATES "Mises à jour" | ||||||
| 
 | 
 | ||||||
| g IDD_LICENSE | g IDD_LICENSE | ||||||
| t IDD_LICENSE "License Rufus" | t IDD_LICENSE "Licence Rufus" | ||||||
|  | t IDOK "Fermer" | ||||||
| 
 | 
 | ||||||
| g IDD_NOTIFICATION | g IDD_NOTIFICATION | ||||||
| t IDC_MORE_INFO "Plus d'info..." | t IDC_MORE_INFO "Plus d'info..." | ||||||
|  | @ -345,7 +346,7 @@ t IDS_NEW_VERSION_AVAIL_TXT "Une nouvelle version est disponible. Veuillez tél | ||||||
| t IDC_WEBSITE "Cliquez ici pour aller sur le site de Rufus" | t IDC_WEBSITE "Cliquez ici pour aller sur le site de Rufus" | ||||||
| t IDS_NEW_VERSION_NOTES_GRP "Notes relatives à cette version" | t IDS_NEW_VERSION_NOTES_GRP "Notes relatives à cette version" | ||||||
| t IDS_NEW_VERSION_DOWNLOAD_GRP "Téléchargement" | t IDS_NEW_VERSION_DOWNLOAD_GRP "Téléchargement" | ||||||
| t IDC_DOWNLOAD ""Télécharger"" | t IDC_DOWNLOAD "Télécharger" | ||||||
| t IDCANCEL "Fermer" | t IDCANCEL "Fermer" | ||||||
| 
 | 
 | ||||||
| g IDD_ISO_EXTRACT | g IDD_ISO_EXTRACT | ||||||
|  | @ -608,7 +609,7 @@ t MSG_257 "Support Joliet" | ||||||
| t MSG_258 "Support Rock Ridge" | t MSG_258 "Support Rock Ridge" | ||||||
| 
 | 
 | ||||||
| ################################################################################ | ################################################################################ | ||||||
| l "zh_CN" "Chinese (Traditional)" 0x0404, 0x0804, 0x0c04, 0x1004, 0x1404 | l "zh-CN" "正體字" 0x0404, 0x0804, 0x0c04, 0x1004, 0x1404 | ||||||
| g IDD_DIALOG | g IDD_DIALOG | ||||||
| t IDS_DEVICE_TXT "设备" | t IDS_DEVICE_TXT "设备" | ||||||
| t IDS_PARTITION_TYPE_TXT "分区计划和目标系统类型" | t IDS_PARTITION_TYPE_TXT "分区计划和目标系统类型" | ||||||
|  |  | ||||||
|  | @ -24,12 +24,13 @@ const char* about_blurb_format = | ||||||
| "\\line\n" | "\\line\n" | ||||||
| "Copyright © 2011-2013 Pete Batard / Akeo\\line\n" | "Copyright © 2011-2013 Pete Batard / Akeo\\line\n" | ||||||
| RUFUS_URL "\\line\n" | RUFUS_URL "\\line\n" | ||||||
| "%s\\line\n" | "\\fs6 \\line\n" | ||||||
|  | "\\fs18%s\\line\n" | ||||||
| "\\line\n" | "\\line\n" | ||||||
| "%s\\line\n" | "%s\\line\n" | ||||||
| "https://github.com/pbatard/rufus/issues\\line\n" | "https://github.com/pbatard/rufus/issues\\line\n" | ||||||
| "\\line\n" | "\\line\n" | ||||||
| "{\\b\\fs18 %s}}"; | "{\\b %s}}"; | ||||||
| 
 | 
 | ||||||
| const char* additional_copyrights = | const char* additional_copyrights = | ||||||
| "{\\rtf1\\ansi\n" | "{\\rtf1\\ansi\n" | ||||||
|  |  | ||||||
|  | @ -131,6 +131,7 @@ void init_localization(void) { | ||||||
| void exit_localization(void) { | void exit_localization(void) { | ||||||
| 	free_dialog_list(); | 	free_dialog_list(); | ||||||
| 	free_locale_list(); | 	free_locale_list(); | ||||||
|  | 	safe_free(loc_filename); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  |  | ||||||
|  | @ -22,6 +22,7 @@ | ||||||
| #include <windows.h> | #include <windows.h> | ||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
| #include <shlobj.h> | #include <shlobj.h> | ||||||
|  | #include <ctype.h> | ||||||
| #include <commdlg.h> | #include <commdlg.h> | ||||||
| #include <shellapi.h> | #include <shellapi.h> | ||||||
| #include <setupapi.h> | #include <setupapi.h> | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								src/rufus.c
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								src/rufus.c
									
										
									
									
									
								
							|  | @ -1874,8 +1874,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine | ||||||
| #endif | #endif | ||||||
| { | { | ||||||
| 	const char* old_wait_option = "/W"; | 	const char* old_wait_option = "/W"; | ||||||
| 	int i, opt, option_index = 0, argc = 0, si = 0; | 	int i, opt, option_index = 0, argc = 0, si = 0, lcid = GetUserDefaultLCID(); | ||||||
| 	BOOL attached_console = FALSE; | 	BOOL attached_console = FALSE, external_loc_file = FALSE; | ||||||
| 	BYTE* loc_data; | 	BYTE* loc_data; | ||||||
| 	DWORD loc_size, Size; | 	DWORD loc_size, Size; | ||||||
| 	char tmp_path[MAX_PATH], loc_file[MAX_PATH] = "", *locale_name = NULL; | 	char tmp_path[MAX_PATH], loc_file[MAX_PATH] = "", *locale_name = NULL; | ||||||
|  | @ -1931,8 +1931,11 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine | ||||||
| 				} | 				} | ||||||
| 				break; | 				break; | ||||||
| 			case 'l': | 			case 'l': | ||||||
| 				// TODO: accept a locale code such as 0x409
 | 				if (isdigitU(optarg[0])) { | ||||||
|  | 					lcid = (int)strtol(optarg, NULL, 0); | ||||||
|  | 				} else { | ||||||
| 					locale_name = optarg; | 					locale_name = optarg; | ||||||
|  | 				} | ||||||
| 				break; | 				break; | ||||||
| 			case 'w': | 			case 'w': | ||||||
| 				wait_for_mutex = atoi(optarg); | 				wait_for_mutex = atoi(optarg); | ||||||
|  | @ -1971,11 +1974,12 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine | ||||||
| 		} | 		} | ||||||
| 	} else { | 	} else { | ||||||
| 		safe_sprintf(loc_file, sizeof(loc_file), "%s\\rufus.loc", app_dir); | 		safe_sprintf(loc_file, sizeof(loc_file), "%s\\rufus.loc", app_dir); | ||||||
|  | 		external_loc_file = TRUE; | ||||||
| 		uprintf("using external loc file '%s'", loc_file); | 		uprintf("using external loc file '%s'", loc_file); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if ( (!get_supported_locales(loc_file)) | 	if ( (!get_supported_locales(loc_file)) | ||||||
| 	  || ((selected_locale = ((locale_name == NULL)?get_locale_from_lcid(GetUserDefaultLCID()):get_locale_from_name(locale_name))) == NULL) ) { | 	  || ((selected_locale = ((locale_name == NULL)?get_locale_from_lcid(lcid):get_locale_from_name(locale_name))) == NULL) ) { | ||||||
| 		uprintf("FATAL: Could not access locale!\n"); | 		uprintf("FATAL: Could not access locale!\n"); | ||||||
| 		MessageBoxU(NULL, "The locale data is missing. This application will now exit.", | 		MessageBoxU(NULL, "The locale data is missing. This application will now exit.", | ||||||
| 			"Fatal error", MB_ICONSTOP); | 			"Fatal error", MB_ICONSTOP); | ||||||
|  | @ -2101,7 +2105,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| out: | out: | ||||||
| 	if (loc_file[0] != 0) | 	if ((!external_loc_file) && (loc_file[0] != 0)) | ||||||
| 		DeleteFileU(loc_file); | 		DeleteFileU(loc_file); | ||||||
| 	DestroyAllTooltips(); | 	DestroyAllTooltips(); | ||||||
| 	exit_localization(); | 	exit_localization(); | ||||||
|  |  | ||||||
							
								
								
									
										26
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										26
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL | ||||||
| IDD_DIALOG DIALOGEX 12, 12, 206, 329 | IDD_DIALOG DIALOGEX 12, 12, 206, 329 | ||||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||||
| EXSTYLE WS_EX_APPWINDOW | EXSTYLE WS_EX_APPWINDOW | ||||||
| CAPTION "Rufus v1.4.0.282" | CAPTION "Rufus v1.4.0.283" | ||||||
| FONT 8, "MS Shell Dlg", 400, 0, 0x1 | FONT 8, "MS Shell Dlg", 400, 0, 0x1 | ||||||
| BEGIN | BEGIN | ||||||
|     DEFPUSHBUTTON   "Start",IDC_START,94,291,50,14 |     DEFPUSHBUTTON   "Start",IDC_START,94,291,50,14 | ||||||
|  | @ -67,21 +67,21 @@ BEGIN | ||||||
|     COMBOBOX        IDC_DISK_ID,119,246,73,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP |     COMBOBOX        IDC_DISK_ID,119,246,73,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | ||||||
|     CONTROL         "Add fixes for old BIOSes (extra partition, align, etc.)",IDC_EXTRA_PARTITION, |     CONTROL         "Add fixes for old BIOSes (extra partition, align, etc.)",IDC_EXTRA_PARTITION, | ||||||
|                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,235,181,10 |                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,235,181,10 | ||||||
|     CONTROL         "List fixed (non-flash) or unpartitioned USB disks",IDC_ENABLE_FIXED_DISKS, |     CONTROL         "List non removable or unpartitioned USB disks",IDC_ENABLE_FIXED_DISKS, | ||||||
|                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,222,181,10 |                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,222,181,10 | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| IDD_ABOUTBOX DIALOGEX 0, 0, 287, 201 | IDD_ABOUTBOX DIALOGEX 0, 0, 287, 204 | ||||||
| STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||||
| CAPTION "About Rufus" | CAPTION "About Rufus" | ||||||
| FONT 8, "MS Shell Dlg", 400, 0, 0x0 | FONT 8, "MS Shell Dlg", 400, 0, 0x0 | ||||||
| BEGIN | BEGIN | ||||||
|     ICON            IDI_ICON,IDC_ABOUT_ICON,11,8,20,20 |     ICON            IDI_ICON,IDC_ABOUT_ICON,11,8,21,20 | ||||||
|     DEFPUSHBUTTON   "OK",IDOK,231,181,50,14,WS_GROUP |     DEFPUSHBUTTON   "OK",IDOK,231,183,50,14,WS_GROUP | ||||||
|     PUSHBUTTON      "License",IDC_ABOUT_LICENSE,46,181,50,14,WS_GROUP |     PUSHBUTTON      "License",IDC_ABOUT_LICENSE,46,183,50,14,WS_GROUP | ||||||
|     CONTROL         "",IDC_ABOUT_COPYRIGHTS,"RichEdit20W",WS_VSCROLL | 0x804,46,101,235,74,WS_EX_STATICEDGE |     CONTROL         "",IDC_ABOUT_COPYRIGHTS,"RichEdit20W",ES_MULTILINE | ES_READONLY | WS_VSCROLL,46,103,235,74,WS_EX_STATICEDGE | ||||||
|     CONTROL         "",IDC_ABOUT_BLURB,"RichEdit20W",WS_TABSTOP | 0x884,46,7,235,93 |     CONTROL         "",IDC_ABOUT_BLURB,"RichEdit20W",ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY | WS_TABSTOP,46,7,235,95 | ||||||
|     PUSHBUTTON      "Updates",IDC_ABOUT_UPDATES,100,181,50,14,NOT WS_VISIBLE | WS_GROUP |     PUSHBUTTON      "Updates",IDC_ABOUT_UPDATES,100,183,50,14,NOT WS_VISIBLE | WS_GROUP | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| IDD_ISO_EXTRACT DIALOGEX 0, 0, 262, 66 | IDD_ISO_EXTRACT DIALOGEX 0, 0, 262, 66 | ||||||
|  | @ -284,8 +284,8 @@ END | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||||
|  FILEVERSION 1,4,0,282 |  FILEVERSION 1,4,0,283 | ||||||
|  PRODUCTVERSION 1,4,0,282 |  PRODUCTVERSION 1,4,0,283 | ||||||
|  FILEFLAGSMASK 0x3fL |  FILEFLAGSMASK 0x3fL | ||||||
| #ifdef _DEBUG | #ifdef _DEBUG | ||||||
|  FILEFLAGS 0x1L |  FILEFLAGS 0x1L | ||||||
|  | @ -302,13 +302,13 @@ BEGIN | ||||||
|         BEGIN |         BEGIN | ||||||
|             VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" |             VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" | ||||||
|             VALUE "FileDescription", "Rufus" |             VALUE "FileDescription", "Rufus" | ||||||
|             VALUE "FileVersion", "1.4.0.282" |             VALUE "FileVersion", "1.4.0.283" | ||||||
|             VALUE "InternalName", "Rufus" |             VALUE "InternalName", "Rufus" | ||||||
|             VALUE "LegalCopyright", "© 2011-2013 Pete Batard (GPL v3)" |             VALUE "LegalCopyright", "© 2011-2013 Pete Batard (GPL v3)" | ||||||
|             VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" |             VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" | ||||||
|             VALUE "OriginalFilename", "rufus.exe" |             VALUE "OriginalFilename", "rufus.exe" | ||||||
|             VALUE "ProductName", "Rufus" |             VALUE "ProductName", "Rufus" | ||||||
|             VALUE "ProductVersion", "1.4.0.282" |             VALUE "ProductVersion", "1.4.0.283" | ||||||
|         END |         END | ||||||
|     END |     END | ||||||
|     BLOCK "VarFileInfo" |     BLOCK "VarFileInfo" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue