From a44518355f37e450db14e61a56d064b5427b1197 Mon Sep 17 00:00:00 2001 From: Pete Batard Date: Thu, 22 Mar 2018 23:14:20 +0000 Subject: [PATCH] [ui] UI redesign * Better guide the user through the flow of operations * Also follow a concept design by Fahad Al-Riyami * Closes #117 --- .vs/rufus.vcxproj | 1 + .vs/rufus.vcxproj.filters | 3 + _sign.cmd | 2 +- configure | 20 +- configure.ac | 2 +- res/appstore/AppxManifest.xml | 2 +- res/appstore/packme.cmd | 4 +- res/localization/ChangeLog.txt | 46 + res/localization/rufus.loc | 2883 +++++++++----------------------- src/checksum.c | 6 +- src/dev.c | 10 +- src/drive.c | 9 +- src/format.c | 85 +- src/format.h | 2 +- src/iso.c | 24 +- src/license.h | 3 + src/localization.c | 41 +- src/localization.h | 4 +- src/localization_data.h | 96 +- src/localization_data.sh | 2 +- src/msapi_utf8.h | 13 + src/resource.h | 104 +- src/rufus.c | 2517 +++++++++++++++++----------- src/rufus.h | 29 +- src/rufus.rc | 203 +-- src/settings.h | 4 +- src/smart.c | 12 +- src/stdfn.c | 24 +- src/stdlg.c | 327 ++-- src/syslinux.c | 25 +- src/ui.h | 183 ++ 31 files changed, 3114 insertions(+), 3572 deletions(-) create mode 100644 src/ui.h diff --git a/.vs/rufus.vcxproj b/.vs/rufus.vcxproj index c75845a4..7225aac5 100644 --- a/.vs/rufus.vcxproj +++ b/.vs/rufus.vcxproj @@ -366,6 +366,7 @@ + diff --git a/.vs/rufus.vcxproj.filters b/.vs/rufus.vcxproj.filters index 14d7605f..11d17ffc 100644 --- a/.vs/rufus.vcxproj.filters +++ b/.vs/rufus.vcxproj.filters @@ -149,6 +149,9 @@ Header Files + + Header Files + diff --git a/_sign.cmd b/_sign.cmd index 1d06afa6..0dca7621 100644 --- a/_sign.cmd +++ b/_sign.cmd @@ -1,3 +1,3 @@ @echo off -"C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\signtool" sign /v /sha1 5759b23dc8f45e9120a7317f306e5b6890b612f0 /fd SHA256 /tr http://timestamp.comodoca.com/rfc3161 /td SHA256 %1 +"C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\signtool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://timestamp.comodoca.com/rfc3161 /td SHA256 %1 exit diff --git a/configure b/configure index 6267b5bc..2ec6482a 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for rufus 2.18. +# Generated by GNU Autoconf 2.69 for rufus 3.0. # # Report bugs to . # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='rufus' PACKAGE_TARNAME='rufus' -PACKAGE_VERSION='2.18' -PACKAGE_STRING='rufus 2.18' +PACKAGE_VERSION='3.0' +PACKAGE_STRING='rufus 3.0' PACKAGE_BUGREPORT='https://github.com/pbatard/rufus/issues' PACKAGE_URL='https://rufus.akeo.ie' @@ -1228,7 +1228,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures rufus 2.18 to adapt to many kinds of systems. +\`configure' configures rufus 3.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1294,7 +1294,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rufus 2.18:";; + short | recursive ) echo "Configuration of rufus 3.0:";; esac cat <<\_ACEOF @@ -1385,7 +1385,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rufus configure 2.18 +rufus configure 3.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1440,7 +1440,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by rufus $as_me 2.18, which was +It was created by rufus $as_me 3.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2303,7 +2303,7 @@ fi # Define the identity of the package. PACKAGE='rufus' - VERSION='2.18' + VERSION='3.0' cat >>confdefs.h <<_ACEOF @@ -4481,7 +4481,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by rufus $as_me 2.18, which was +This file was extended by rufus $as_me 3.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4535,7 +4535,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -rufus config.status 2.18 +rufus config.status 3.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 8c41e9ff..e72cf42f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([rufus], [2.18], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.akeo.ie]) +AC_INIT([rufus], [3.0], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.akeo.ie]) AM_INIT_AUTOMAKE([-Wno-portability foreign no-dist no-dependencies]) AC_CONFIG_SRCDIR([src/rufus.c]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/res/appstore/AppxManifest.xml b/res/appstore/AppxManifest.xml index f8171429..34c89fed 100644 --- a/res/appstore/AppxManifest.xml +++ b/res/appstore/AppxManifest.xml @@ -8,7 +8,7 @@ for an interesting struggle, when you also happen to have a comma in one of the fields... --> diff --git a/res/appstore/packme.cmd b/res/appstore/packme.cmd index e976ff2c..f9bb3dcf 100644 --- a/res/appstore/packme.cmd +++ b/res/appstore/packme.cmd @@ -1,5 +1,5 @@ @echo off -set VERSION=2.18 +set VERSION=3.0 rem Make sure you don't have anything you don't want included in the package, as anything residing in the rem current directory will be included, including any previous .appx, which makes for nice recursion... @@ -17,7 +17,7 @@ copy "..\..\rufus-%VERSION%.exe" "rufus.exe" "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\MakePri" new /o /pr . /cf priconfig.xml "C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\MakeAppx" pack /o /d . /p Rufus-%VERSION%.appx if ERRORLEVEL 1 goto out -"C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\SignTool" sign /v /sha1 5759b23dc8f45e9120a7317f306e5b6890b612f0 /fd SHA256 /tr http://timestamp.comodoca.com/rfc3161 /td SHA256 Rufus-%VERSION%.appx +"C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\SignTool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://timestamp.comodoca.com/rfc3161 /td SHA256 Rufus-%VERSION%.appx :out del /q rufus.exe del /q priconfig.xml diff --git a/res/localization/ChangeLog.txt b/res/localization/ChangeLog.txt index 3016958f..c1186219 100644 --- a/res/localization/ChangeLog.txt +++ b/res/localization/ChangeLog.txt @@ -15,6 +15,52 @@ content. PLEASE, do not just look at this Changelog when updating your translation, but always use the English section of rufus.loc as your base. For instance, MSG_114, that was introduced in v1.0.8 is MORE than one line! +o Version 1.0.23 (2018.??.??) + - All positioning ('m', 's') has now been removed as well as some controls, for the 3.0 UI redesign + - Removed: MSG_086, MSG_087, MSG_163 + - *NEW* IDS_DRIVE_PROPERTIES_TXT "Drive Properties" + - *NEW* IDS_BOOT_SELECTION_TXT "Boot selection" + Note: The current translation was taken from MSG_278 when available, which was for "Boot type". + However, "Boot selection", is more appropriate, so please update if it makes sense. + - *NEW* IDC_SELECT "SELECT" + - *NEW* IDS_IMAGE_OPTION_TXT "Image Option" + - *UPDATED* IDS_PARTITION_TYPE_TXT Partition scheme and target system type -> "Partition scheme" + - *NEW* IDS_TARGET_SYSTEM_TXT "Target system" + - *NEW* IDS_STATUS_TXT "Status" + - *REPLACED* MSG_031 -> "BIOS (or UEFI-CSM)" + - *REPLACED* MSG_032 -> "UEFI (non CSM)" + - *REPLACED* MSG_033 -> "BIOS or UEFI" + - *REMOVED* MSG_087 + - *RENAMED* IDC_WINDOWS_INSTALL -> MSG_117 + - *RENAMED* IDC_WINDOWS_TO_GO -> MSG_118 + - *NEW* MSG_119 "advanced drive properties" + - *NEW* MSG_120 "advanced format options" + - *NEW* MSG_121 "Show %s" + - *NEW* MSG_122 "Hide %s" + MSG_119/120 + MSG_121/122 are used to create the advanced options clickable toolbars + - *REPLACED* MSG_150 -> "Type of computer you plan to use this bootable drive with. It is up to YOU to find whether your target is of BIOS or UEFI type.\n" + "Be mindful that CSM, which can be enabled or disabled on UEFI computers, means 'BIOS emulation', and is not really UEFI." + - *REPLACED* MSG_151 -> "Note: 'UEFI-CSM' means that the device will only boot in BIOS emulation mode (also known as 'Legacy Mode') under UEFI, and not in native UEFI mode." + Be mindful that you probably don't want to translate 'Legacy Mode' as this is an option that usually appears in English in the UEFI settings. + - *REPLACED* MSG_152 -> "Note: 'non CSM' means that the device will only boot in native UEFI mode, and not in BIOS emulation mode (also known as 'Legacy Mode')." + - *REPLACED* MSG_163 -> "Method that will be used to create partitions." + - *NEW* MSG_278 "Checking for conflicting processes..." + - *REPLACED* MSG_280 "Image selection" -> "Disk or ISO image" + - *REPLACED* MSG_281 "(Please select an image)" -> "%s (Please select)" + MSG_281 + MSG_280 are used to create the message that appears in the boot selection dropdown when an image has not been selected. + - *NEW* MSG_299 "Timestamp validation error" + - *NEW* MSG_300 "Rufus could not validate that the timestamp of the downloaded update is more recent than the one for the " + "current executable.\n\nIn order to prevent potential attack scenarios, the update process has been aborted and " + "the download will be deleted. Please check the log for more details." + - *NEW* MSG_301 "Show application settings" + - *NEW* MSG_302 "Show information about this application" + - *NEW* MSG_303 "Show the log" + - *NEW* MSG_314 "Create a disk image of the selected device" + - *UPDATED* On IDD_LOG, IDC_LOG_CLEAR, IDC_LOG_SAVE and IDCANCEL were updated to remove the redundant mention of "Log" in the buttons + for the languages who did that. *PLEASE* verify that the modification looks correct in your language. + - *UPDATED* Log dialog buttons (in the 'g IDD_LOG' section). "Save Log", "Clear Log" "Close Log" have become "Save", "Clear", "Close". + I updated existing translations to remove the mention of "Log". Please check that it was done properly. + o Version 1.0.22 (2017.07.17) - *NEW* MSG_295 "Warning: Unofficial version" - *NEW* MSG_296 "This version of Rufus was NOT produced by its official developer(s).\n\nAre you sure you want to run it?" diff --git a/res/localization/rufus.loc b/res/localization/rufus.loc index 39112cac..36648d5a 100644 --- a/res/localization/rufus.loc +++ b/res/localization/rufus.loc @@ -32,8 +32,6 @@ # rufus.exe -l zh-CN # rufus.exe -l 0x0404 # rufus.exe -l 0x0804 -# 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 https://github.com/pbatard/rufus/wiki/Localization # # Tips: # - Please make sure that you edit the language include *your* name and e-mail in MSG_176. It will be displayed @@ -93,45 +91,40 @@ # 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 l "en-US" "English (English)" 0x0409, 0x0809, 0x0c09, 0x1009, 0x1409, 0x1809, 0x1c09, 0x2009, 0x2409, 0x2809, 0x2c09, 0x3009, 0x3409, 0x3809, 0x3c09, 0x4009, 0x4409, 0x4809 -v 1.0.22 +v 1.0.23 # Main dialog g IDD_DIALOG +t IDS_DRIVE_PROPERTIES_TXT "Drive Properties" 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" -# Note: The button (IDC_ADVANCED) that appears next to "Format Options" is repositioned automatically. -t IDC_BADBLOCKS "Check device for bad blocks" -t IDC_QUICKFORMAT "Quick format" -t IDC_BOOT "Create a bootable disk using" -t IDC_WINDOWS_INSTALL "Standard Windows installation" -# Only translate if Microsoft has a specific name for http://en.wikipedia.org/wiki/Windows_To_Go in your language -# Otherwise, you can add a parenthesis eg. "Windows To Go (hint at what it does)" and/or use the tooltip (MSG_200) -t IDC_WINDOWS_TO_GO "Windows To Go" -t IDC_SET_ICON "Create extended label and icon files" -t IDC_ABOUT "About..." -t IDC_LOG "Log" -t IDCANCEL "Close" -t IDC_START "Start" -t IDS_ADVANCED_OPTIONS_GRP "Advanced Options" -t IDC_ENABLE_FIXED_DISKS "List USB Hard Drives" +t IDS_BOOT_SELECTION_TXT "Boot selection" +t IDC_SELECT "Select" +t IDS_IMAGE_OPTION_TXT "Image Option" +t IDS_PARTITION_TYPE_TXT "Partition scheme" +t IDS_TARGET_SYSTEM_TXT "Target system" +t IDC_LIST_USB_HDD "List USB Hard Drives" # Note: It is acceptable to drop the parenthesis () below if you are running out of space # as there is a tooltip (MSG_169) providing these details. -t IDC_EXTRA_PARTITION "Add fixes for old BIOSes (extra partition, align, etc.)" +t IDC_OLD_BIOS_FIXES "Add fixes for old BIOSes (extra partition, align, etc.)" # 'MBR': See http://en.wikipedia.org/wiki/Master_boot_record # Rufus can install it's own custom MBR (the Rufus MBR), which also allows users # to specify a custom disk ID for the BIOS. Note: the tooltip for this control is MSG_167. t IDC_RUFUS_MBR "Use Rufus MBR with BIOS ID" +t IDS_FORMAT_OPTIONS_TXT "Format Options" +t IDS_FILE_SYSTEM_TXT "File system" +t IDS_CLUSTER_SIZE_TXT "Cluster size" +t IDS_LABEL_TXT "Volume label" +t IDC_QUICK_FORMAT "Quick format" +t IDC_BAD_BLOCKS "Check device for bad blocks" +t IDC_EXTENDED_LABEL "Create extended label and icon files" +t IDS_STATUS_TXT "Status" +t IDCANCEL "Close" +t IDC_START "Start" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "About Rufus" t IDC_ABOUT_LICENSE "License" -t IDC_ABOUT_UPDATES "Updates" -t IDOK "OK" # About -> License dialog g IDD_LICENSE @@ -147,11 +140,11 @@ t IDNO "No" # Log dialog g IDD_LOG t IDD_LOG "Log" -t IDC_LOG_CLEAR "Clear Log" -t IDC_LOG_SAVE "Save Log" -t IDCANCEL "Close Log" +t IDC_LOG_CLEAR "Clear" +t IDC_LOG_SAVE "Save" +t IDCANCEL "Close" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Update policy and settings" t IDS_UPDATE_SETTINGS_GRP "Settings" @@ -209,12 +202,12 @@ 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 or %s" -t MSG_032 "%s partition scheme for BIOS" -t MSG_033 "%s partition scheme for UEFI" +t MSG_031 "BIOS (or UEFI-CSM)" +t MSG_032 "UEFI (non CSM)" +t MSG_033 "BIOS or UEFI" # 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_034 "%d pass" +t MSG_035 "%d passes" t MSG_036 "ISO Image" t MSG_037 "Application" t MSG_038 "Abort" @@ -283,10 +276,6 @@ t MSG_084 "This ISO image seems to use an obsolete version of '%s'.\n" "'%s' exists there, it will be reused automatically." t MSG_085 "Downloading '%s'" t MSG_086 "No 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 image, " - "or uncheck the \"Create a bootable disk using\" checkbox." t MSG_088 "Image is too big" t MSG_089 "The image is too big for the selected target." t MSG_090 "Unsupported ISO" @@ -331,7 +320,7 @@ t MSG_106 "Please select folder" t MSG_107 "All files" t MSG_108 "Rufus log" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS cannot boot from a drive using a 64 kilobytes Cluster size.\n" "Please change the Cluster size or use FreeDOS." @@ -360,14 +349,20 @@ t MSG_116 "This image uses Grub %s but the application only includes the install "- Select 'Cancel' to abort the operation\n\n" "Note: The file will be downloaded in the current application directory and will be reused " "automatically if present. If no match can be found online, then the default version will be used." +t MSG_117 "Standard Windows installation" +# Only translate if Microsoft has a specific name for http://en.wikipedia.org/wiki/Windows_To_Go in your language +# Otherwise, you can add a parenthesis eg. "Windows To Go (hint at what it does)" and/or use the tooltip (MSG_200) +t MSG_118 "Windows To Go" +t MSG_119 "advanced drive properties" +t MSG_120 "advanced format options" +t MSG_121 "Show %s" +t MSG_122 "Hide %s" # Tooltips -# Partition Scheme and Target Type -t MSG_150 "Usually the safest choice. However, if you have an UEFI computer and want to install " - "an Operating System in native EFI mode, you should select one of the other options" -t MSG_151 "Use this if you want to install an Operating System in native EFI mode, but will need " - "to access the USB content from Windows XP" -t MSG_152 "The preferred option to install an Operating System in native EFI mode, when USB access " - "is not required from Windows XP" +t MSG_150 "Type of computer you plan to use this bootable drive with. It is up to YOU to find whether your target is of BIOS or UEFI type.\n" + "Be mindful that CSM, which can be enabled or disabled on UEFI computers, means 'BIOS emulation', and is not really UEFI." +# Note: You shouldn't translate 'Legacy Mode' below, as this is an option that usually appears in English in the UEFI settings. +t MSG_151 "Note: 'UEFI-CSM' means that the device will only boot in BIOS emulation mode (also known as 'Legacy Mode') under UEFI, and not in native UEFI mode." +t MSG_152 "Note: 'non CSM' means that the device will only boot in native UEFI mode, and not in BIOS emulation mode (also known as 'Legacy Mode')." 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" @@ -378,7 +373,7 @@ t MSG_159 "Use this field to set the drive label\nInternational characters are a 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_163 "Method that will be used to create partitions." t MSG_164 "Method that will be used to make the drive bootable" t MSG_165 "Click to select an image..." t MSG_166 "Check this box to allow the display of international labels " @@ -537,14 +532,10 @@ t MSG_275 "The image you have selected is an 'ISOHybrid' image. This means it ca t MSG_276 "Write in %s mode (Recommended)" # '%s' below will be replaced with your translation for MSG_095 ("DD Image") t MSG_277 "Write in %s mode" -# The following will be used for new controls of the Rufus 3.0 interface -# They are added as messages, so that I will have them available when needed. -# 278 & 280 will be dropdown titles, similar to how IDS_DEVICE_TXT or IDS_PARTITION_TYPE_TXT are used -# 279 & 281 will be items that can appear in the dropdowns -t MSG_278 "Boot type" +t MSG_278 "Checking for conflicting processes..." t MSG_279 "Non bootable" -t MSG_280 "Image selection" -t MSG_281 "(Please select an image)" +t MSG_280 "Disk or ISO image" +t MSG_281 "%s (Please select)" t MSG_282 "Exclusive USB drive locking" t MSG_283 "Invalid signature" t MSG_284 "The downloaded executable is missing a digital signature." @@ -569,6 +560,12 @@ t MSG_299 "Timestamp validation error" t MSG_300 "Rufus could not validate that the timestamp of the downloaded update is more recent than the one for the " "current executable.\n\nIn order to prevent potential attack scenarios, the update process has been aborted and " "the download will be deleted. Please check the log for more details." +t MSG_301 "Show application settings" +t MSG_302 "Show information about this application" +t MSG_303 "Show the log" +t MSG_304 "Create a disk image of the selected device" +t MSG_305 "Use this option to indicate whether you want to use this device to install Windows on another disk, " + "or if you want to run Windows directly from this drive (Windows To Go)." ################################################################################ ############################# TRANSLATOR END COPY ############################## @@ -581,32 +578,25 @@ b "en-US" g IDD_DIALOG t IDS_DEVICE_TXT "الجهاز" +t IDS_BOOT_SELECTION_TXT "نوع الإقلاع" t IDS_PARTITION_TYPE_TXT "مخطط التقسيم ونوع النظام المستهدف" -t IDS_FILESYSTEM_TXT "نظام الملفات" -t IDS_CLUSTERSIZE_TXT "حجم الكلستر" +t IDS_FILE_SYSTEM_TXT "نظام الملفات" +t IDS_CLUSTER_SIZE_TXT "حجم الكلستر" t IDS_LABEL_TXT "تسمية وحدة التخزين" -t IDS_FORMAT_OPTIONS_GRP "خيارات الفورمات" -t IDC_BADBLOCKS "فحص الجهاز من الأجزاء التالفة" -t IDC_QUICKFORMAT "فورمات سريع" -t IDC_BOOT "إنشاء قرص إقلاع بإستخدام" -t IDC_WINDOWS_INSTALL "تثبيت ويندوز قياسيا" -t IDC_WINDOWS_TO_GO "Windows To Go (تشغيل ويندوز من USB)" -t IDC_SET_ICON "إنشاء تسمية موسّعة وأيقونة ملفات" -t IDC_ABOUT "حول..." -s IDC_LOG +10,0 -t IDC_LOG "سجلّ" +t IDS_FORMAT_OPTIONS_TXT "خيارات الفورمات" +t IDC_BAD_BLOCKS "فحص الجهاز من الأجزاء التالفة" +t IDC_QUICK_FORMAT "فورمات سريع" +t IDC_EXTENDED_LABEL "إنشاء تسمية موسّعة وأيقونة ملفات" t IDCANCEL "إغلاق" t IDC_START "إبدأ" -t IDS_ADVANCED_OPTIONS_GRP "خيارات متقدّمة" -t IDC_ENABLE_FIXED_DISKS "قائمة بالمحركات الصلبة المحمولة USB" -t IDC_EXTRA_PARTITION "إضافة إصلاح BIOSes قديمة (تقسم إضافي, معاينة..)" +t IDC_LIST_USB_HDD "قائمة بالمحركات الصلبة المحمولة USB" +t IDC_OLD_BIOS_FIXES "إضافة إصلاح BIOSes قديمة (تقسم إضافي, معاينة..)" t IDC_RUFUS_MBR "إستخدام MBR مع BIOS ID" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "حول روفوس" t IDC_ABOUT_LICENSE "رخصة" -t IDC_ABOUT_UPDATES "تحديثات" t IDOK "موافق" # About -> License dialog @@ -623,11 +613,11 @@ t IDNO "لا" # Log dialog g IDD_LOG t IDD_LOG "سجلّ" -t IDC_LOG_CLEAR "مسح السجلّ" -t IDC_LOG_SAVE "حفظ السجلّ" -t IDCANCEL "إغلاق السجلّ" +t IDC_LOG_CLEAR "مسح" +t IDC_LOG_SAVE "حفظ" +t IDCANCEL "إغلاق" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "سياسة التحديث وإعدادات" t IDS_UPDATE_SETTINGS_GRP "إعدادات" @@ -685,9 +675,9 @@ t MSG_028 "ميجا بايت" t MSG_029 "الإفتراضي" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (الإفتراضي)" -t MSG_031 "%s مخطط تقسيم لل BIOS أو أجهزة %s" -t MSG_032 "%s مخطط تقسيم BIOS" -t MSG_033 "%s مخطط تقسيم UEFI" +#t MSG_031 "%s مخطط تقسيم لل BIOS أو أجهزة %s" +#t MSG_032 "%s مخطط تقسيم BIOS" +#t MSG_033 "%s مخطط تقسيم UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d تجاوز" t MSG_035 "%d تجاوزات" @@ -759,10 +749,6 @@ t MSG_084 "صورة الـISO يبدو استخدامها لإصدار قديم "العثور على ‘%s’ هناك, سوف يتم إعادة إستخدامه تلقائياً." t MSG_085 "تحميل '%s'" t MSG_086 "لم يتم إختيار الصورة" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "يرجى الضغط على زر القرص لاختيار صورة تمهيدية, " - "أو قم بإلغاء الإختيار لمربّع \" إنشاء قرص إقلاع بإستخدام \"." t MSG_088 "ملف الصورة (الإيميج) كبير جداً" t MSG_089 "ملف الصورة (الإيميج) كبير جداً بالنسبة للهدف المحدد." t MSG_090 "ISO غير مدعومة" @@ -806,7 +792,7 @@ t MSG_107 "جميع الملفات" t MSG_108 "سجلّ روفوس" # LTR & RTL before and after "0x%02X" t MSG_109 "‎0x%02X‏ (قرص %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS لا يمكنه التمهيد من محرك أقراص يستخدم حجم الكلستر64 كيلو بايت.\n" "الرجاء تغيير حجم الكلستر أو استخدام FreeDOS." @@ -851,7 +837,6 @@ t MSG_159 "استخدام هذا الحقل لتعيين تسمية محرك ا t MSG_160 "إدراج الخيارات المتقدّمة" t MSG_161 "فحص الجهاز من الأجزاء التالفة باستخدام نمط اختبار" t MSG_162 "قم بإلغاء الإختيار لهذا المربّع لاستخدام طريقة فرمتة \"بطيئة \"" -t MSG_163 "حدّد هذا المربّع لخلق محرك أقراص تمهيدي" t MSG_164 "الطريقة التي سيتّم إستخدامها لخلق محرك أقراص تمهيدي" t MSG_165 "إضغط لاختيار الـISO..." t MSG_166 "حدّد هذا المربّع للسماح بعرض التسميات الدولية " @@ -1001,7 +986,6 @@ t MSG_275 "الصورة التي اخترتها هي صورة 'ISOHybrid'. هذ "فضلا اختر النمط الذي تريده لكتابة هاته الصورة:" t MSG_276 "كتابة في نمط %s (موصى به)" t MSG_277 "كتابة في نمط %s" -t MSG_278 "نوع الإقلاع" t MSG_279 "لا يمكن الإقلاع منه" t MSG_280 "اختيار الصورة" t MSG_281 "(فضلا اختر صورة)" @@ -1025,6 +1009,8 @@ t MSG_297 "إكتشاف ISO مقطوعة" t MSG_298 "ملف الISO المحدد لا يطابق حجمه المعلن من قبله: %s من البيانات مفقود!\n\nإذا قمت بالحصول " "على هذا الملف من الإنترنت, يجب عليك تحميل نسخة جديدة و التحقق من أن المجموع الإختباري لMD5 و SHA مطابق " "للنسخ(ة) الأصلية.\n\nعلماُ بانه يمكنك مقارنة الMD5 و SHA في روفوس عن طريق الضغط على زر '#'" +t MSG_117 "تثبيت ويندوز قياسيا" +t MSG_118 "Windows To Go (تشغيل ويندوز من USB)" ################################################################################ l "az-AZ" "Azerbaijani (Azərbaycanca)" 0x042c, 0x782c @@ -1033,56 +1019,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG +5,0 t IDS_DEVICE_TXT "Cihaz" -s IDC_DEVICE +5,0 +t IDS_BOOT_SELECTION_TXT "Önyükləmə növü" t IDS_PARTITION_TYPE_TXT "Disk Hissəsi və Hədəf Sistem Növü" -s IDC_PARTITION_TYPE +5,0 -t IDS_FILESYSTEM_TXT "Fayl Sistemi" -s IDC_FILESYSTEM +5,0 -t IDS_CLUSTERSIZE_TXT "Ayırma Tək Ölçüsü" -s IDC_CLUSTERSIZE +5,0 +t IDS_FILE_SYSTEM_TXT "Fayl Sistemi" +t IDS_CLUSTER_SIZE_TXT "Ayırma Tək Ölçüsü" t IDS_LABEL_TXT "Yeni Tək Etiketi" -s IDC_LABEL +5,0 -s IDC_PROGRESS +5,0 -t IDS_FORMAT_OPTIONS_GRP "Formatlama Variantları" -s IDS_FORMAT_OPTIONS_GRP +5,0 -t IDC_BADBLOCKS "Səhvli Bloklar üçün Cihazı Yoxla" -s IDC_BADBLOCKS +25,0 -m IDC_NBPASSES +30,0 -s IDC_NBPASSES -25,0 -t IDC_QUICKFORMAT "Sürətli Formatla" -t IDC_BOOT "Açılış Diski Yaratmaq Üsulu" -s IDC_BOOT +5,0 -s IDC_INFO +5,0 -m IDC_BOOTTYPE +5,0 -m IDC_SELECT_ISO +5,0 -t IDC_WINDOWS_INSTALL "Standart Windows Yükləməsi" -t IDC_SET_ICON "Genişləndirilmiş Etiket və Simvol Faylları Yarat" -t IDC_ABOUT "Haqqında..." -s IDC_ABOUT -5,0 -t IDC_LOG "Günlük" -m IDC_LOG -5,0 -s IDC_LOG +20,0 +t IDS_FORMAT_OPTIONS_TXT "Formatlama Variantları" +t IDC_BAD_BLOCKS "Səhvli Bloklar üçün Cihazı Yoxla" +t IDC_QUICK_FORMAT "Sürətli Formatla" +t IDC_EXTENDED_LABEL "Genişləndirilmiş Etiket və Simvol Faylları Yarat" t IDCANCEL "Bağla" -m IDCANCEL +5,0 t IDC_START "Başlat" -m IDC_START +5,0 -t IDS_ADVANCED_OPTIONS_GRP "İnkişaf etmiş Variantlar" -s IDS_ADVANCED_OPTIONS_GRP +5,0 -t IDC_ENABLE_FIXED_DISKS "USB sabit sürücüləri siyahıla" -t IDC_EXTRA_PARTITION "Köhnə BIOSLAR üçün düzəliş əlavə et (xüsusi hissə, sıralama və s.)" +t IDC_LIST_USB_HDD "USB sabit sürücüləri siyahıla" +t IDC_OLD_BIOS_FIXES "Köhnə BIOSLAR üçün düzəliş əlavə et (xüsusi hissə, sıralama və s.)" t IDC_RUFUS_MBR "Rufus MBR istifadə et. BIOS Növünü Seçin" -s IDC_RUFUS_MBR +47,0 -m IDC_DISK_ID +45,0 -s IDC_DISK_ID -40,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Rufus Haqqında" t IDC_ABOUT_LICENSE "Lisenziya" -t IDC_ABOUT_UPDATES "Yeniləmələr" -s IDC_ABOUT_UPDATES +18,0 t IDOK "Tamam" # About -> License dialog @@ -1099,37 +1055,18 @@ t IDNO "Xeyr" # Log dialog g IDD_LOG t IDD_LOG "Günlük" -t IDC_LOG_CLEAR "Günlüyü Təmizlə" -s IDC_LOG_CLEAR +24,0 -m IDC_LOG_CLEAR -72,0 -t IDC_LOG_SAVE "Günlüyü Yadda saxla" -s IDC_LOG_SAVE +24,0 -m IDC_LOG_SAVE -48,0 -t IDCANCEL "Günlüyü Bağla" -s IDCANCEL +24,0 -m IDCANCEL -24,0 +t IDC_LOG_CLEAR "Təmizlə" +t IDC_LOG_SAVE "Yadda saxla" +t IDCANCEL "Bağla" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +20,0 -s IDC_POLICY +20,0 t IDD_UPDATE_POLICY "Yeniləmə Prinsipi və Nizamlar" t IDS_UPDATE_SETTINGS_GRP "Nizamlar" -s IDS_UPDATE_SETTINGS_GRP +20,0 t IDS_UPDATE_FREQUENCY_TXT "Yeniləmələri Yoxla" -s IDS_UPDATE_FREQUENCY_TXT +10,0 -m IDC_UPDATE_FREQUENCY +2,0 -s IDC_UPDATE_FREQUENCY +24,0 t IDS_INCLUDE_BETAS_TXT "Beta versiyası keçsin" -s IDS_INCLUDE_BETAS_TXT +10,0 -m IDC_INCLUDE_BETAS +2,0 t IDC_CHECK_NOW "İndi Yoxla" -m IDC_CHECK_NOW +15,0 -s IDC_CHECK_NOW +10,0 -m IDS_CHECK_NOW_GRP +20,0 t IDCANCEL "Bağla" -m IDCANCEL +15,0 -s IDCANCEL +10,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -1180,9 +1117,9 @@ t MSG_028 "megabyte" t MSG_029 "Fərz edilən" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Fərz edilən)" -t MSG_031 "%s Hissə Keçidi: BIOS ya da %s üçün" -t MSG_032 "BIOS üçün %s Hissə Keçidi" -t MSG_033 "UEFI üçün %s Hissə Keçidi" +#t MSG_031 "%s Hissə Keçidi: BIOS ya da %s üçün" +#t MSG_032 "BIOS üçün %s Hissə Keçidi" +#t MSG_033 "UEFI üçün %s Hissə Keçidi" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d Keçid" t MSG_035 "%d Keçid" @@ -1253,10 +1190,6 @@ t MSG_084 "Bu ISO faylı '%s'in köhnə bir versiyanı istifadə edir kimi gör "'%s' Orda mövcud olduqda, avtomatik olaraq istifadə ediləcək." t MSG_085 "'%s' yüklənir" t MSG_086 "Fayl seçilmədi" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Lütfən açılabilən bir ISO seçmək üçün disk butonuna vurun, " - "ya da \"Açılış Diski Yaratma Üsulu:\" təstiqləmə qutusundan seçimi qaldırın." t MSG_088 "Fayl çox böyükdür" t MSG_089 "Fayl seçilən hədəf üçün çox böyükdür." t MSG_090 "Dəstəklənməyən ISO" @@ -1299,7 +1232,7 @@ t MSG_106 "Lütfən Qovluq Seçin" t MSG_107 "Bütün Fayllar" t MSG_108 "Rufus günlüyü" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS, 64 kilobyte Ayırma Seçimi Ölçüsü istifadə edən bir sürücüdən başlamaz.\n" "Lütfən fərqli bir Seçim, Ölçü seçin yada FreeDOS istifadə edin." @@ -1344,7 +1277,6 @@ t MSG_159 "Bu sahəni sürücü etiketini tənzimləmək üçün istifadə edin\ t MSG_160 "İnkişaf etmiş variantlara keçid" t MSG_161 "Qəlib sınağı istifadə edərək səhvli blokları yoxla" t MSG_162 "\"Yavaş\" formatlama üsulundan istifadə etmək üçün bu razılıq qutusu seçimini qaldırın" -t MSG_163 "Açıla bilən USB sürücü yaratmaq üçün bu razılıq qutusunu seçin" t MSG_164 "Sürücünü açıla bilən etmək üçün istifadə ediləcək metod" t MSG_165 "İş seçmək üçün vurun..." t MSG_166 "Beynəlxalq etiketləri lentə almaq üçün bu razılıq qutusunu seçin " @@ -1494,7 +1426,6 @@ t MSG_275 "Seçdiyiniz əks olunma bir 'ISOHybrid' faylıdır. Bu da faylın ya "Lütfən bu əks olunmanın yazılmasında istifadə etmək istədiyiniz rejimi seçin:" t MSG_276 "%s rejimində yazdır (Təklif edilən)" t MSG_277 "%s rejimində yazdır" -t MSG_278 "Önyükləmə növü" t MSG_279 "Önyüklənə bilən deyil" t MSG_280 "Fayl seçimi" t MSG_281 "(Lütfən bir fayl seçin)" @@ -1517,6 +1448,7 @@ t MSG_296 "Bu versiya Rufus tərəfindən təqdim olunmayıb yaradan(lar).\n\nİ t MSG_297 "Uyğun olmayan ISO aşkarlandı" t MSG_298 "Seçdiyiniz ISO faylı uyğun deyil ölçü: %s məlumat çatmadı!\n\nBu faylı seçin Siz sürətli yükləmək üçün, İnterneti yoxlamalısınız " "MD5 və SHA nəzarət cəmləri uyğundur.\n\nBacaracağınıza diqqətinizi yönəldin '#' buttona vuraraq Rufus MD5 or SHA-nı hesablayın." +t MSG_117 "Standart Windows Yükləməsi" ###################################################################### l "bg-BG" "Bulgarian (Български)" 0x0402 @@ -1525,53 +1457,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG +15,0 -s IDS_FORMAT_OPTIONS_GRP +15,0 -s IDC_DEVICE +15,0 -s IDC_PARTITION_TYPE +15,0 -s IDC_FILESYSTEM +15,0 -s IDC_CLUSTERSIZE +15,0 -s IDC_LABEL +15,0 -s IDC_PROGRESS +15,0 -s IDS_ADVANCED_OPTIONS_GRP +15,0 -m IDC_NBPASSES +15,0 -m IDC_BOOTTYPE +15,0 -m IDC_SELECT_ISO +15,0 -s IDC_INFO +15,0 -s IDC_LOG +38,0 -s IDC_RUFUS_MBR +15,0 -m IDC_DISK_ID +15,0 -m IDC_START +15,0 -m IDCANCEL +15,0 - t IDS_DEVICE_TXT "Устройство" +t IDS_BOOT_SELECTION_TXT "Тип на Зареждането" t IDS_PARTITION_TYPE_TXT "Схема на дяла и тип на интерфейса" -t IDS_FILESYSTEM_TXT "Файлова система" -t IDS_CLUSTERSIZE_TXT "Размер на клъстера" +t IDS_FILE_SYSTEM_TXT "Файлова система" +t IDS_CLUSTER_SIZE_TXT "Размер на клъстера" t IDS_LABEL_TXT "Нов етикет на тома" -t IDS_FORMAT_OPTIONS_GRP "Свойства на форматирането" -t IDC_BADBLOCKS "Провери за лоши сектори" -t IDC_QUICKFORMAT "Бърз Формат" -t IDC_BOOT "Създай стартиращ диск с" -t IDC_WINDOWS_INSTALL "Стандартна Windows инсталация" -t IDC_WINDOWS_TO_GO "Windows To Go (Windows за USB Flash устройство)" -t IDC_SET_ICON "Създай разширен етикет и икони файлове" -t IDC_ABOUT "Относно..." -t IDC_LOG "Регистър" +t IDS_FORMAT_OPTIONS_TXT "Свойства на форматирането" +t IDC_BAD_BLOCKS "Провери за лоши сектори" +t IDC_QUICK_FORMAT "Бърз Формат" +t IDC_EXTENDED_LABEL "Създай разширен етикет и икони файлове" t IDCANCEL "Затвори" t IDC_START "Старт" -t IDS_ADVANCED_OPTIONS_GRP "Разширени свойства" -t IDC_ENABLE_FIXED_DISKS "Списък с USB твърди дискове" -t IDC_EXTRA_PARTITION "Добави поправки за стария BIOS" +t IDC_LIST_USB_HDD "Списък с USB твърди дискове" +t IDC_OLD_BIOS_FIXES "Добави поправки за стария BIOS" t IDC_RUFUS_MBR "Използвай Rufus MBR с BIOS ID" # About dialog g IDD_ABOUTBOX -s IDC_ABOUT_UPDATES +40,0 t IDD_ABOUTBOX "Относно Rufus" t IDC_ABOUT_LICENSE "Лиценз" -t IDC_ABOUT_UPDATES "Актуализация" -t IDOK "OK" # About -> License dialog g IDD_LICENSE @@ -1581,42 +1486,18 @@ t IDCANCEL "Затвори" # Notifications. You can trigger one of these by using Alt-R and re-launching Rufus g IDD_NOTIFICATION t IDC_MORE_INFO "Повече Информация" -s IDC_MORE_INFO +16,0 t IDYES "Да" t IDNO "Не" # Log dialog g IDD_LOG -s IDC_LOG_CLEAR +35,0 -m IDC_LOG_CLEAR -98,0 -m IDC_LOG_SAVE -65,0 -s IDC_LOG_SAVE +31,0 -m IDCANCEL -35,0 -s IDCANCEL +35,0 - t IDD_LOG "Регистър" -t IDC_LOG_CLEAR "Изчисти регистър" -t IDC_LOG_SAVE "Запази регистър" -t IDCANCEL "Затвори регистър" +t IDC_LOG_CLEAR "Изчистир" +t IDC_LOG_SAVE "Запази" +t IDCANCEL "Затвори" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDS_UPDATE_SETTINGS_GRP +70,0 -m IDS_UPDATE_SETTINGS_GRP -61,0 -m IDC_UPDATE_FREQUENCY -41,0 -s IDC_UPDATE_FREQUENCY +57,0 -m IDC_INCLUDE_BETAS -41,0 -m IDS_UPDATE_FREQUENCY_TXT -61,0 -s IDS_UPDATE_FREQUENCY_TXT +27,0 -m IDS_INCLUDE_BETAS_TXT -61,0 -s IDS_INCLUDE_BETAS_TXT +27,0 -m IDS_CHECK_NOW_GRP +9,0 -s IDS_CHECK_NOW_GRP -9,0 -s IDC_CHECK_NOW +5,0 -m IDC_CHECK_NOW +2,0 -s IDCANCEL +5,0 -m IDCANCEL +2,0 - t IDD_UPDATE_POLICY "Политика на актуализация и настройки" t IDS_UPDATE_SETTINGS_GRP "Настройки" t IDS_UPDATE_FREQUENCY_TXT "Провери за Актуализация" @@ -1673,9 +1554,9 @@ t MSG_028 "megabytes" t MSG_029 "Стандартно" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Стандартно)" -t MSG_031 "%s дялова схема за BIOS или %s" -t MSG_032 "%s дялова схема за BIOS" -t MSG_033 "%s дялова схема за UEFI" +#t MSG_031 "%s дялова схема за BIOS или %s" +#t MSG_032 "%s дялова схема за BIOS" +#t MSG_033 "%s дялова схема за UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d Пробег" t MSG_035 "%d Пробега" @@ -1747,10 +1628,6 @@ t MSG_084 "Изглежда че този ISO образ използва ст "'%s',ще бъде използван автоматично." t MSG_085 "Изтегляне '%s'" t MSG_086 "Не е избран образ" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Моля натиснете на бутона с иконка на диск за да изберете системно стартиращ образ, " - "Или махнете отметката \"Създай стартиращ диск с:\"." t MSG_088 "Образът е твърде голям" t MSG_089 "Образът е твърде голям за избраната цел." t MSG_090 "Неподдържан ISO" @@ -1793,7 +1670,7 @@ t MSG_106 "Моля изберете папка" t MSG_107 "Всички файлове" t MSG_108 "Rufus архив" t MSG_109 "0x%02X (Диск %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS не може да стартира устройството с 64 килобит /ов размер на клъстера.\n" "Моля използвайте друг размер на клъстера или използвайте FreeDOS." @@ -1839,7 +1716,6 @@ t MSG_159 "Използвайте това поле за да зададете t MSG_160 "Покажи разширените настройки" t MSG_161 "Провери устройството за лоши блокове използвайки тестова модел" t MSG_162 "Махнете тази отметка ако искате да използвате \"бавен\" метод на форматиране" -t MSG_163 "Сложете тази отметка за да направите USB устройството способно да стартира операционна система" t MSG_164 "Методът който ще бъде използван за да бъде създадено устройството способно да стартира операционната система" t MSG_165 "Натиснете за да изберете образ..." t MSG_166 "Сложете тази отметка за да разрешите показването на интернационални етикети" @@ -1987,7 +1863,6 @@ t MSG_275 "Образът който сте избрали е тип 'ISOHybrid' "Моля изберете режимът с който желаете да запишете този образ:" t MSG_276 "Запиши в режим %s (Препорачителен)" t MSG_277 "Запиши в режим %s" -t MSG_278 "Тип на Зареждането" t MSG_279 "Не Зареждащ" t MSG_280 "Избор на Образ" t MSG_281 "(Моля изберете образ)" @@ -2011,6 +1886,8 @@ t MSG_297 "Открито е съкратено ISO" t MSG_298 "ISO файлът който сте избрали не съвпада с обявения си размер: %s от информацията липсва.\n\n" "Ако сте сездобили с този файл от интернет, опитайте се да изтеглите ново копие и се уверете че контролните стойности на MD5 или " "SHA съвпадат с официялните.\n\nОтбележете че можете да изчислите MD5 или SHA изпозвайки Rufus като натиснете бутона '#'." +t MSG_117 "Стандартна Windows инсталация" +t MSG_118 "Windows To Go (Windows за USB Flash устройство)" ################################################################################ l "zh-CN" "Chinese Simplified (简体中文)" 0x0804, 0x1004 @@ -2020,43 +1897,31 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "设备" +t IDS_BOOT_SELECTION_TXT "引导类型" t IDS_PARTITION_TYPE_TXT "分区方案和目标系统类型" -t IDS_FILESYSTEM_TXT "文件系统" -t IDS_CLUSTERSIZE_TXT "簇大小" +t IDS_FILE_SYSTEM_TXT "文件系统" +t IDS_CLUSTER_SIZE_TXT "簇大小" t IDS_LABEL_TXT "新卷标" -t IDS_FORMAT_OPTIONS_GRP "格式化选项" +t IDS_FORMAT_OPTIONS_TXT "格式化选项" # 注: 出现在 "Format Options" 旁边的按钮 (IDC_ADVANCED) 是自动重新定位的。。 -t IDC_BADBLOCKS "检查设备坏块" -t IDC_QUICKFORMAT "快速格式化" -t IDC_BOOT "创建一个启动盘使用" -t IDC_WINDOWS_INSTALL "标准 Windows 安装" -# Only translate if Microsoft has a specific name for http://en.wikipedia.org/wiki/Windows_To_Go in your language -# Otherwise, you can add a parenthesis eg. "Windows To Go (hint at what it does)" and/or use the tooltip (MSG_200) -t IDC_WINDOWS_TO_GO "Windows To Go" -t IDC_SET_ICON "创建扩展的标签和图标文件" -t IDC_ABOUT "关于..." -t IDC_LOG "日志" -s IDC_LOG +16,0 +t IDC_BAD_BLOCKS "检查设备坏块" +t IDC_QUICK_FORMAT "快速格式化" +t IDC_EXTENDED_LABEL "创建扩展的标签和图标文件" t IDCANCEL "关闭" t IDC_START "开始" -t IDS_ADVANCED_OPTIONS_GRP "高级选项" -t IDC_ENABLE_FIXED_DISKS "显示 USB 外置硬盘" +t IDC_LIST_USB_HDD "显示 USB 外置硬盘" # Note: It is acceptable to drop the parenthesis () below if you are running out of space # as there is a tooltip (MSG_169) providing these details. -t IDC_EXTRA_PARTITION "添加对旧 BIOS 修正(额外的分区,校准等)" +t IDC_OLD_BIOS_FIXES "添加对旧 BIOS 修正(额外的分区,校准等)" # 'MBR': See http://en.wikipedia.org/wiki/Master_boot_record # Rufus can install it's own custom MBR (the Rufus MBR), which also allows users # to specify a custom disk ID for the BIOS. Note: the tooltip for this control is MSG_167. -s IDC_RUFUS_MBR +5,0 t IDC_RUFUS_MBR "使用 Rufus MBR 配合 BIOS ID" -m IDC_DISK_ID +5,0 -s IDC_DISK_ID -5,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "关于 Rufus" t IDC_ABOUT_LICENSE "许可" -t IDC_ABOUT_UPDATES "更新" t IDOK "确定" # About -> License dialog @@ -2073,20 +1938,16 @@ t IDNO "否" # Log dialog g IDD_LOG t IDD_LOG "日志" -t IDC_LOG_CLEAR "清除日志" -t IDC_LOG_SAVE "保存日志" -t IDCANCEL "关闭日志" +t IDC_LOG_CLEAR "清除" +t IDC_LOG_SAVE "保存" +t IDCANCEL "关闭" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "更新策略和设置" t IDS_UPDATE_SETTINGS_GRP "设置" t IDS_UPDATE_FREQUENCY_TXT "检查更新:" t IDS_INCLUDE_BETAS_TXT "包括测试版本:" -s IDS_UPDATE_FREQUENCY_TXT -30,0 -s IDS_INCLUDE_BETAS_TXT -30,0 -m IDC_UPDATE_FREQUENCY -30,0 -m IDC_INCLUDE_BETAS -30,0 t IDC_CHECK_NOW "立即检查" t IDCANCEL "关闭" @@ -2137,9 +1998,9 @@ t MSG_028 "M 字节" t MSG_029 "默认" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (默认)" -t MSG_031 "%s 分区方案 用于 BIOS 或 %s 的计算机" -t MSG_032 "用于 BIOS 计算机的 %s 分区方案" -t MSG_033 "用于 UEFI 计算机的 %s 分区方案" +#t MSG_031 "%s 分区方案 用于 BIOS 或 %s 的计算机" +#t MSG_032 "用于 BIOS 计算机的 %s 分区方案" +#t MSG_033 "用于 UEFI 计算机的 %s 分区方案" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d 遍" t MSG_035 "%d 遍" @@ -2210,9 +2071,6 @@ t MSG_084 "这个 ISO 镜像似乎使用一个过时的 '%s' 版本。\n" "注意:新文件将会下载到当前目录,一旦 '%s' 存在则会被自动选用。" t MSG_085 "下载 '%s' 中" t MSG_086 "未选择镜像" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "请点击光盘按钮选择可引导镜像,\n或取消勾选“创建一个启动盘使用”复选框。" t MSG_088 "镜像文件过大" t MSG_089 "镜像对于选择目标来说太大。" t MSG_090 "不支持的 ISO" @@ -2254,7 +2112,7 @@ t MSG_106 "请选择文件夹" t MSG_107 "全部文件" t MSG_108 "Rufus 日志" t MSG_109 "0x%02X (磁盘 %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS 无法从 64 KB 簇大小磁盘启动。\n" "请更改簇大小或改用 FreeDOS。" @@ -2294,7 +2152,6 @@ t MSG_159 "使用本框设置卷标,\n支持国际字符" t MSG_160 "切换高级选项" t MSG_161 "使用测试模式检查设备坏块" t MSG_162 "取消本复选框使用\"慢速\"完全格式化方式" -t MSG_163 "勾选本项设置使 USB 设备可启动" t MSG_164 "用于使驱动器可引导的方法" t MSG_165 "点击选择镜像..." t MSG_166 "勾选本框允许国际卷标的显示并设置一个设备图标(创建一个 autorun.inf)" @@ -2442,7 +2299,6 @@ t MSG_275 "您选择的镜像是一个 'ISOHybrid' (混合式)镜像。这意味 "请选择您想用于写入这个镜像所使用的模式:" t MSG_276 "以 %s 模式写入(推荐)" t MSG_277 "以 %s 模式写入" -t MSG_278 "引导类型" t MSG_279 "非可引导" t MSG_280 "镜像选择" t MSG_281 "(请选择一个镜像)" @@ -2465,6 +2321,7 @@ t MSG_297 "检测到不完整镜像" t MSG_298 "您选择的镜像文件大小与其期望大小不符: %s 数据缺失!\n\n" "如果此镜像文件下载自互联网,请重新下载并校验其 MD5 或 SHA 校验和。\n\n" "您可在 Rufus 中点击 '#' 键来计算 MD5 或 SHA 校验和。" +t MSG_117 "标准 Windows 安装" ################################################################################ l "zh-TW" "Chinese Traditional (正體中文)" 0x0404, 0x0c04, 0x1404, 0x7c04 @@ -2474,46 +2331,26 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "裝置" +t IDS_BOOT_SELECTION_TXT "開機模式" t IDS_PARTITION_TYPE_TXT "資料分割配置及系統類型" -t IDS_FILESYSTEM_TXT "檔案系統" -t IDS_CLUSTERSIZE_TXT "配置單元大小" +t IDS_FILE_SYSTEM_TXT "檔案系統" +t IDS_CLUSTER_SIZE_TXT "配置單元大小" t IDS_LABEL_TXT "磁碟區標籤" -t IDS_FORMAT_OPTIONS_GRP "選項" -t IDC_BADBLOCKS "檢查損毀磁區,測試次數" -s IDC_BADBLOCKS -5,0 -m IDC_NBPASSES -5,0 -s IDC_NBPASSES +5,0 -t IDC_QUICKFORMAT "快速格式化" -t IDC_BOOT "使用映像檔建立開機片" -s IDC_BOOT -5,0 -t IDC_WINDOWS_INSTALL "標準 Windows 安裝" -m IDC_BOOTTYPE -5,0 -s IDC_BOOTTYPE +5,0 -t IDC_SET_ICON "建立延伸標籤及圖示" -t IDC_ABOUT "關於..." -s IDC_ABOUT +2,0 +t IDS_FORMAT_OPTIONS_TXT "選項" +t IDC_BAD_BLOCKS "檢查損毀磁區,測試次數" +t IDC_QUICK_FORMAT "快速格式化" +t IDC_EXTENDED_LABEL "建立延伸標籤及圖示" t IDC_LOG "記錄檔" -s IDC_LOG +30,0 -m IDC_LOG +4,0 t IDCANCEL "離開" -m IDCANCEL -2,0 -s IDCANCEL +2,0 t IDC_START "執行" -m IDC_START -5,0 -s IDC_START +2,0 -t IDS_ADVANCED_OPTIONS_GRP "進階選項" -t IDC_ENABLE_FIXED_DISKS "顯示 USB 外接硬碟" -t IDC_EXTRA_PARTITION "相容性模式" +t IDC_LIST_USB_HDD "顯示 USB 外接硬碟" +t IDC_OLD_BIOS_FIXES "相容性模式" t IDC_RUFUS_MBR "客製 MBR 並設 ID 為" -s IDC_RUFUS_MBR -5,0 -m IDC_DISK_ID -5,0 -s IDC_DISK_ID +5,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "關於 Rufus" t IDC_ABOUT_LICENSE "授權合約" -t IDC_ABOUT_UPDATES "版本更新" t IDOK "關閉" # About -> License dialog @@ -2534,16 +2371,12 @@ t IDC_LOG_CLEAR "清除" t IDC_LOG_SAVE "儲存" t IDCANCEL "關閉" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "版本更新" t IDS_UPDATE_SETTINGS_GRP "設定" t IDS_UPDATE_FREQUENCY_TXT "自動檢查更新" t IDS_INCLUDE_BETAS_TXT "包含測試版本" -s IDS_UPDATE_FREQUENCY_TXT -30,0 -s IDS_INCLUDE_BETAS_TXT -30,0 -m IDC_UPDATE_FREQUENCY -30,0 -m IDC_INCLUDE_BETAS -30,0 t IDC_CHECK_NOW "立即檢查" t IDCANCEL "關閉" @@ -2596,9 +2429,9 @@ t MSG_028 "megabytes" t MSG_029 "預設" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (預設)" -t MSG_031 "%s 可相容 BIOS 和 %s 之資料分割配置" -t MSG_032 "%s BIOS 資料分割配置" -t MSG_033 "%s UEFI 資料分割配置" +#t MSG_031 "%s 可相容 BIOS 和 %s 之資料分割配置" +#t MSG_032 "%s BIOS 資料分割配置" +#t MSG_033 "%s UEFI 資料分割配置" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d 回" t MSG_035 "%d 回" @@ -2664,9 +2497,6 @@ t MSG_084 "此 ISO 映像檔似乎使用較舊版本的 '%s',\n開機選單可 "注意: 一經下載後,Rufus 未來會自動套用新版 '%s'" t MSG_085 "下載中 '%s'" t MSG_086 "未選取任何映像檔" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "請點擊 【使用映像檔建立開機片】 選項旁的光碟圖示,\n接著選取可開機的映像檔,或是取消勾選該選項" t MSG_088 "映像檔之檔案大小過大" t MSG_089 "此映像檔之檔案大小超過裝置可支援的空間" t MSG_090 "不支援的 ISO 映像檔" @@ -2696,7 +2526,7 @@ t MSG_106 "請選擇資料夾" t MSG_107 "所有檔案" t MSG_108 "Rufus 記錄檔" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS 無法自 64 kilobytes 配置單元大小的磁區開機,請更改配置單元大小或改用 FreeDOS\n" t MSG_111 "不相容的配置單元大小" @@ -2730,7 +2560,6 @@ t MSG_159 "自訂磁區標籤名稱,可支援英數以外的字元 (如中文) t MSG_160 "顯示/隱藏進階選項" t MSG_161 "使用右方選項測試模式檢查裝置磁區有無損毀區塊" t MSG_162 "取消勾選可執行完整格式化" -t MSG_163 "設定 USB 裝置為可開機" t MSG_164 "開機方法" t MSG_165 "選取映像檔..." t MSG_166 "允許顯示多國語言標籤及裝置圖示 (建立 autorun.inf)" @@ -2869,7 +2698,6 @@ t MSG_275 "你選擇的映像檔為 'ISOHybrid' 格式。該檔案格式可以 "請選擇寫入模式: " t MSG_276 "以 %s 模式寫入 (建議)" t MSG_277 "以 %s 模式寫入" -t MSG_278 "開機模式" t MSG_279 "不可開機" t MSG_280 "選擇映像檔" t MSG_281 "(請選擇一個映像檔)" @@ -2892,6 +2720,7 @@ t MSG_297 "偵測到 ISO 映像檔不完整" t MSG_298 "你選擇的 ISO 映像檔不符合它所宣告的大小: 缺少 %s !\n\n" "如果此檔案是從網路上下載的,請嘗試再次下載並且校驗 MD5 或 SHA 總和檢查碼是正確的。\n\n" "提示: 可點選狀態列 '#' 按鈕來計算 MD5 或 SHA 總和檢查碼。" +t MSG_117 "標準 Windows 安裝" ################################################################################ l "hr-HR" "Croatian (Hrvatski)" 0x041a, 0x081a, 0x101a @@ -2900,32 +2729,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDC_LOG +14,0 t IDS_DEVICE_TXT "Uređaj" +t IDS_BOOT_SELECTION_TXT "Boot tip" t IDS_PARTITION_TYPE_TXT "Shema particije i ciljani datotečni sustav" -t IDS_FILESYSTEM_TXT "Sustav datoteka" -t IDS_CLUSTERSIZE_TXT "Veličina grupiranja" +t IDS_FILE_SYSTEM_TXT "Sustav datoteka" +t IDS_CLUSTER_SIZE_TXT "Veličina grupiranja" t IDS_LABEL_TXT "Naziv nove particije" -t IDS_FORMAT_OPTIONS_GRP "Dodatno" -t IDC_BADBLOCKS "Provjeri blokove" -t IDC_QUICKFORMAT "Brzo formatiranje" -t IDC_BOOT "Stvori pogon za podizanje iz" -t IDC_SET_ICON "Stvori produženu oznaku i ikone" -t IDC_ABOUT "O programu" -t IDC_LOG "Zapis" +t IDS_FORMAT_OPTIONS_TXT "Dodatno" +t IDC_BAD_BLOCKS "Provjeri blokove" +t IDC_QUICK_FORMAT "Brzo formatiranje" +t IDC_EXTENDED_LABEL "Stvori produženu oznaku i ikone" t IDCANCEL "Zatvori" t IDC_START "Početak" -t IDS_ADVANCED_OPTIONS_GRP "Napredne postavke" -t IDC_ENABLE_FIXED_DISKS "Prikaži USB Hard Diskove" -t IDC_EXTRA_PARTITION "Dodaj ispravke za stare BIOS-e (extra particije, itd.)" +t IDC_LIST_USB_HDD "Prikaži USB Hard Diskove" +t IDC_OLD_BIOS_FIXES "Dodaj ispravke za stare BIOS-e (extra particije, itd.)" t IDC_RUFUS_MBR "Koristi Rufusov MBR" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "O Rufusu" t IDC_ABOUT_LICENSE "Licenca" -t IDC_ABOUT_UPDATES "Ažuriranja" -t IDOK "OK" # About -> License dialog g IDD_LICENSE @@ -2941,16 +2764,12 @@ t IDNO "Ne" # Log dialog g IDD_LOG t IDD_LOG "Zapis" -t IDC_LOG_CLEAR "Očisti zapis" -t IDC_LOG_SAVE "Spremi zapis" -t IDCANCEL "Zatvori zapis" +t IDC_LOG_CLEAR "Očisti" +t IDC_LOG_SAVE "Spremi" +t IDCANCEL "Zatvori" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDS_UPDATE_FREQUENCY_TXT -10,0 -m IDC_UPDATE_FREQUENCY -10,0 -s IDC_UPDATE_FREQUENCY +13,0 -m IDC_INCLUDE_BETAS -10,0 t IDD_UPDATE_POLICY "Ažuriraj postavke" t IDS_UPDATE_SETTINGS_GRP "Postavke" t IDS_UPDATE_FREQUENCY_TXT "Provjeri ažuriranja" @@ -3006,9 +2825,9 @@ t MSG_028 "megabajta" t MSG_029 "Zadano" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Zadano)" -t MSG_031 "%s shema particije za BIOS ili %s" -t MSG_032 "%s shema particije za BIOS" -t MSG_033 "%s shema particije za UEFI" +#t MSG_031 "%s shema particije za BIOS ili %s" +#t MSG_032 "%s shema particije za BIOS" +#t MSG_033 "%s shema particije za UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d prolaz" t MSG_035 "%d prolaza" @@ -3079,9 +2898,6 @@ t MSG_084 "Ova ISO slika koristi staru verziju '%s'.\n" "Nova datoteka preuzet će se u isti direktorij." t MSG_085 "Preuzimam '%s'" t MSG_086 "Nema odabira" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Pritisnite na ikonu diska za odabir datoteke." t MSG_088 "Slika je prevelika" t MSG_089 "Ime mora biti manje za odabranu metu." t MSG_090 "Nepodržani ISO" @@ -3124,7 +2940,7 @@ t MSG_106 "Molimo odaberite mapu" t MSG_107 "Sve datoteke" t MSG_108 "Rufus zapisnik" t MSG_109 "0x%02X (Disk %d)" -# "Veličina grupiranja" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Veličina grupiranja" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobajta" should be the same as in MSG_027 t MSG_110 "MS-DOS ne može boot-ati s uređaja s grupiranjem od 64 kilobajta.\n" "Promijenite vel. grupiranja ili odaberite FreeDOS." @@ -3170,7 +2986,6 @@ t MSG_159 "Ovdje unesite naziv za jedinicu" t MSG_160 "Otvori napredne postavke" t MSG_161 "Provjeri prisutnost loših blokova pomoću uzorka" t MSG_162 "Ostavite prazno za \"sporu\" metodu formatiranja" -t MSG_163 "Odaberite ovo da USB bude 'bootable'" t MSG_164 "Metoda s kojom će USB postati 'bootable'" t MSG_165 "Kliknite za odabir datoteke" t MSG_166 "Potvrdite ovo da dozvolite prikaz internacijonalnih oznaka " @@ -3318,7 +3133,6 @@ t MSG_275 "Slika koju ste odabrali je 'ISOHybrid'. Takva datoteka može biti zap "Molimo odaberite metodu za ovu operaciju:" t MSG_276 "Metodom %s (Preporučeno)" t MSG_277 "Metodom %s" -t MSG_278 "Boot tip" t MSG_279 "Non bootable" t MSG_280 "Odabir datoteke" t MSG_281 "(Molim odaberite datoteku)" @@ -3350,38 +3164,26 @@ b "en-US" # Main dialog g IDD_DIALOG - -s IDC_ABOUT +5,0 -s IDC_LOG +35,0 -m IDC_LOG +5,0 - t IDS_DEVICE_TXT "Zařízení" +t IDS_BOOT_SELECTION_TXT "Typ bootu" t IDS_PARTITION_TYPE_TXT "Oddíl a typ cílového systému" -t IDS_FILESYSTEM_TXT "Souborový systém" -t IDS_CLUSTERSIZE_TXT "Velikost clusteru" +t IDS_FILE_SYSTEM_TXT "Souborový systém" +t IDS_CLUSTER_SIZE_TXT "Velikost clusteru" t IDS_LABEL_TXT "Nový název svazku" -t IDS_FORMAT_OPTIONS_GRP "Nastavení formátování" -t IDC_BADBLOCKS "Zkontrolovat chybné bloky" -t IDC_QUICKFORMAT "Rychlé formátování" -t IDC_BOOT "Vytvořit zaváděcí disk" -t IDC_WINDOWS_INSTALL "Standartní instalace Windows" -t IDC_WINDOWS_TO_GO "Přenosný systém Windows" -t IDC_SET_ICON "Vytvořit soubory s jmenovkou a ikonou svazku" -t IDC_ABOUT "O programu..." -t IDC_LOG "Záznam" +t IDS_FORMAT_OPTIONS_TXT "Nastavení formátování" +t IDC_BAD_BLOCKS "Zkontrolovat chybné bloky" +t IDC_QUICK_FORMAT "Rychlé formátování" +t IDC_EXTENDED_LABEL "Vytvořit soubory s jmenovkou a ikonou svazku" t IDCANCEL "Zavřít" t IDC_START "Spustit" -t IDS_ADVANCED_OPTIONS_GRP "Pokročilé možnosti formátování " -t IDC_ENABLE_FIXED_DISKS "Zobrazit seznam USB disků" -t IDC_EXTRA_PARTITION "Přidat opravy pro starší verze BIOSu" +t IDC_LIST_USB_HDD "Zobrazit seznam USB disků" +t IDC_OLD_BIOS_FIXES "Přidat opravy pro starší verze BIOSu" t IDC_RUFUS_MBR "Použít Rufus MBR s BIOS ID" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "O programu Rufus" t IDC_ABOUT_LICENSE "Licence" -t IDC_ABOUT_UPDATES "Aktualizace" -t IDOK "OK" # About -> License dialog g IDD_LICENSE @@ -3401,18 +3203,12 @@ t IDC_LOG_CLEAR "Smazat" t IDC_LOG_SAVE "Uložit" t IDCANCEL "Zavřít" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Zásady aktualizací a nastavení" t IDS_UPDATE_SETTINGS_GRP "Nastavení automatických aktualizací" t IDS_UPDATE_FREQUENCY_TXT "Kontrolovat" -s IDS_UPDATE_FREQUENCY_TXT -10,0 -m IDC_UPDATE_FREQUENCY -10,0 -s IDC_UPDATE_FREQUENCY +10,0 t IDS_INCLUDE_BETAS_TXT "Zahrnout beta verze" -s IDS_INCLUDE_BETAS_TXT -10,0 -m IDC_INCLUDE_BETAS -10,0 -s IDC_INCLUDE_BETAS +10,0 t IDC_CHECK_NOW "Zkontrolovat" t IDCANCEL "Zavřít" @@ -3465,9 +3261,9 @@ t MSG_028 "megabajtů" t MSG_029 "Výchozí" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Výchozí)" -t MSG_031 "%s schéma oddílu BIOS nebo %s" -t MSG_032 "%s schéma oddílu BIOS" -t MSG_033 "%s schéma oddílu UEFI" +#t MSG_031 "%s schéma oddílu BIOS nebo %s" +#t MSG_032 "%s schéma oddílu BIOS" +#t MSG_033 "%s schéma oddílu UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d pokus" t MSG_035 "%d pokusy" @@ -3538,10 +3334,6 @@ t MSG_084 "Zdá se, že tento ISO obraz používá zastaralou verzi '%s'.\n" "pro opětovné automatické použití." t MSG_085 "Stahuji '%s'" t MSG_086 "Nebyl zvolen žádný obraz disku" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Klikněte na tlačítko disku a vyberte obraz, " - "nebo odznačte volbu \"Vytvořit boot disk\"." t MSG_088 "Obraz disku je příliš velký" t MSG_089 "Obraz disku je příliš velký pro zvolený cíl." t MSG_090 "Nepodporovaný ISO obraz" @@ -3584,7 +3376,7 @@ t MSG_106 "Prosím vyberte složku" t MSG_107 "Všechny soubory" t MSG_108 "Záznam programu Rufus" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS nelze spustit z disku používajíciho alokační jednotku o velikostí 64KB.\n" "Změňte velikost alokační jednotky nebo použijte FreeDOS." @@ -3631,7 +3423,6 @@ t MSG_159 "Pokud chcete nastavit jmenovku svazku, vyplňte pole.\nJsou podporova t MSG_160 "Přepnout pokročilá nastavení" t MSG_161 "Zkontrolovat zařízení na přítomnost chybných\nbloků použitím zkušebního vzorku" t MSG_162 "Odškrtnutím použijete pomalou metodu formátování" -t MSG_163 "Odškrtnutím povolíte vytvoření boot USB disku" t MSG_164 "Vyberte metodu, která bude použitá k vytvoření boot zařízení" t MSG_165 "Klikněte pro výběr obrazu..." t MSG_166 "Povolíte v názvu disku zobrazení mezinárodních znaků " @@ -3781,7 +3572,6 @@ t MSG_275 "Obráz, který jste si vybrali, je obraz 'ISO Hybrid'. To znamená, "Vyberte režim, který chcete použít k zapsání tohoto obrázu:" t MSG_276 "Režim zápisu %s (Doporučená)" t MSG_277 "Režim zápisu %s" -t MSG_278 "Typ bootu" t MSG_279 "Není boot" t MSG_280 "Volba obrazu" t MSG_281 "(Prosím, vyberte obraz)" @@ -3805,6 +3595,8 @@ t MSG_297 "Redukované ISO detekováno" t MSG_298 "U vybraného ISO soubor neodpovídá deklarovaná velikost: %s z údajů chybí!\n\nPokud jste jej získali " "z internetu, měli by jste stáhnout novou kopii a ověřt, zda odpovídají kontrolní součty MD5 nebo SHA. " "oficiálně.\n\nPoznámka: Klepnutím na'#'lze vypočítat MD5 nebo SHA v Rufusu." +t MSG_117 "Standartní instalace Windows" +t MSG_118 "Přenosný systém Windows (Windows To Go)" ################################################################################ l "da-DK" "Danish (Dansk)" 0x0406 @@ -3813,39 +3605,24 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "Enhed" +t IDS_BOOT_SELECTION_TXT "Opstartstype" t IDS_PARTITION_TYPE_TXT "Partitionsordning og destinationssystem" -t IDS_FILESYSTEM_TXT "Filsystem" -t IDS_CLUSTERSIZE_TXT "Klyngestørrelse" +t IDS_FILE_SYSTEM_TXT "Filsystem" +t IDS_CLUSTER_SIZE_TXT "Klyngestørrelse" t IDS_LABEL_TXT "Ny volume-etiket" -t IDS_FORMAT_OPTIONS_GRP "Formateringsindstillinger" -t IDC_BADBLOCKS "Søg efter fejlbehæftede blokke" -t IDC_QUICKFORMAT "Ekspresformatering" -t IDC_BOOT "Opret en boot-disk med" -t IDC_WINDOWS_INSTALL "Standard Windows-installation" -t IDC_WINDOWS_TO_GO "Windows To Go (din PC på en USB-nøgle)" -t IDC_SET_ICON "Brug udvidet etiket og ikon-filer" -t IDC_ABOUT "Om..." -t IDC_LOG "Log" +t IDS_FORMAT_OPTIONS_TXT "Formateringsindstillinger" +t IDC_BAD_BLOCKS "Søg efter fejlbehæftede blokke" +t IDC_QUICK_FORMAT "Ekspresformatering" +t IDC_EXTENDED_LABEL "Brug udvidet etiket og ikon-filer" t IDCANCEL "Afslut" -t IDC_START "Start" -t IDS_ADVANCED_OPTIONS_GRP "Avancerede indstillinger" -t IDC_ENABLE_FIXED_DISKS "Vis USB-harddiske" -t IDC_EXTRA_PARTITION "Tilføj rettelser for ældre BIOS'er" +t IDC_LIST_USB_HDD "Vis USB-harddiske" +t IDC_OLD_BIOS_FIXES "Tilføj rettelser for ældre BIOS'er" t IDC_RUFUS_MBR "Brug Rufus MBR med BIOS ID" -s IDC_BADBLOCKS +20,0 -s IDC_NBPASSES -25,0 -m IDC_NBPASSES +25,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Om Rufus" -s IDC_ABOUT_BLURB 0,14 -m IDC_ABOUT_COPYRIGHTS 0,14 -s IDC_ABOUT_COPYRIGHTS 0,-14 t IDC_ABOUT_LICENSE "Licens" -t IDC_ABOUT_UPDATES "Opdateringer" -s IDC_ABOUT_UPDATES +16,0 -t IDOK "OK" # About -> License dialog g IDD_LICENSE @@ -3861,30 +3638,18 @@ t IDNO "Nej" # Log dialog g IDD_LOG t IDD_LOG "Log" -t IDC_LOG_CLEAR "Slet Log" -t IDC_LOG_SAVE "Gem Log" +t IDC_LOG_CLEAR "Slet" +t IDC_LOG_SAVE "Gem" t IDCANCEL "Luk" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Opdateringspolitik og indstillinger" t IDS_UPDATE_SETTINGS_GRP "Indstillinger" -s IDS_UPDATE_SETTINGS_GRP +10,0 -s IDS_CHECK_NOW_GRP -10,0 -m IDS_CHECK_NOW_GRP +10,0 t IDS_UPDATE_FREQUENCY_TXT "Søg efter opdateringer" -s IDS_UPDATE_FREQUENCY_TXT +6,0 -m IDS_UPDATE_FREQUENCY_TXT -2,0 -m IDC_UPDATE_FREQUENCY -3,0 -s IDC_UPDATE_FREQUENCY +18,0 t IDS_INCLUDE_BETAS_TXT "Inkluder betaversioner" -s IDS_INCLUDE_BETAS_TXT +6,0 -m IDS_INCLUDE_BETAS_TXT -2,0 -m IDC_INCLUDE_BETAS -3,0 t IDC_CHECK_NOW "Søg nu" -m IDC_CHECK_NOW +5,0 t IDCANCEL "Luk" -m IDCANCEL +5,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -3935,9 +3700,9 @@ t MSG_028 "megabyte" t MSG_029 "standard" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (standard)" -t MSG_031 "%s partition for BIOS eller %s" -t MSG_032 "%s partition for BIOS" -t MSG_033 "%s partition for UEFI" +#t MSG_031 "%s partition for BIOS eller %s" +#t MSG_032 "%s partition for BIOS" +#t MSG_033 "%s partition for UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d gennemløb" t MSG_035 "%d gennemløb" @@ -4009,10 +3774,6 @@ t MSG_084 "Dette ISO-image lader til at bruge en forældet version af '%s'.\n" "bliver efterfølgende automatisk genanvendt, hvis den er der." t MSG_085 "Downloader '%s'" t MSG_086 "Ingen image-fil er valgt" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Klik venligst på disk-knappen for at vælge en image-fil, " - "eller fravælg \"Opret en boot-disk med\"-muligheden." t MSG_088 "Image-filen er for stor" t MSG_089 "Diskbilledet er for stort til den valgte destination." t MSG_090 "ISO-filen er ikke understøttet" @@ -4055,7 +3816,7 @@ t MSG_106 "Vælg en mappe" t MSG_107 "Alle filer" t MSG_108 "Rufus log" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS kan ikke boote fra et drev der bruger 64 kilobyte klyngestørrelse.\n" "Vær venlig at ændre klyngestørrelsen eller brug FreeDOS." @@ -4102,7 +3863,6 @@ t MSG_159 "Brug dette felt til at ændre volume-etiketten\nInternationale tegn a t MSG_160 "Skift avancerede indstillinger" t MSG_161 "Kontroller enheden for fejlbehæftede blokke ved brug af et test-mønster" t MSG_162 "Fravælg denne mulighed for at bruge den \"langsomme\" formateringsmetode" -t MSG_163 "Vælg denne mulighed for at oprette en USB boot-disk" t MSG_164 "Metode til at oprette en boot-disk" t MSG_165 "Klik for at vælge en image-fil..." t MSG_166 "Vælg denne mulighed for at tillade visning af internationale etiketter " @@ -4236,7 +3996,6 @@ t MSG_275 "Det diskbillede du har valgt er et 'ISOHybrid'-diskbillede. Det betyd "Vælg den metode som du ønsker at bruge til at skrive diskbilledet:" t MSG_276 "Skriv som %s (Anbefalet)" t MSG_277 "Skriv som %s" -t MSG_278 "Opstartstype" t MSG_279 "Ikke startbar" t MSG_280 "Diskbillede" t MSG_281 "(Vælg et diskbillede)" @@ -4260,6 +4019,8 @@ t MSG_297 "Forkortet ISO opdaget" t MSG_298 "ISO-filen du har valgt, stemmer ikke overens med den erklærede størrelse: %s af dataene mangler!\n\nHvis du har " "downloadet filen fra internettet, bør du prøve at downloade en ny kopi og verificere at MD5 eller SHA kontrolsummen svarer " "til de officielle.\n\nLæg mærke til at du kan beregne MD5 eller SHA i Rufus ved at klikke på '#'-knappen." +t MSG_117 "Standard Windows-installation" +t MSG_118 "Windows To Go (din PC på en USB-nøgle)" ################################################################################ l "nl-NL" "Dutch (Nederlands)" 0x0413, 0x0813 @@ -4268,51 +4029,25 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG 20,0 t IDS_DEVICE_TXT "Apparaat" -s IDC_DEVICE 20,0 +t IDS_BOOT_SELECTION_TXT "Opstart type" t IDS_PARTITION_TYPE_TXT "Partitie-indeling en type doelsysteem" -s IDC_PARTITION_TYPE 20,0 -t IDS_FILESYSTEM_TXT "Bestandssysteem" -s IDC_FILESYSTEM 20,0 -t IDS_CLUSTERSIZE_TXT "Clustergrootte" -s IDC_CLUSTERSIZE 20,0 +t IDS_FILE_SYSTEM_TXT "Bestandssysteem" +t IDS_CLUSTER_SIZE_TXT "Clustergrootte" t IDS_LABEL_TXT "Nieuw volumelabel" -s IDC_LABEL 20,0 -t IDS_FORMAT_OPTIONS_GRP "Formatteer Opties" -t IDC_BADBLOCKS "Controleer apparaat op slechte blokken" -s IDC_BADBLOCKS 10,0 -t IDC_QUICKFORMAT "Snelformatteren" -t IDC_BOOT "Creëer een opstartbare disk met" -s IDC_BOOT 19,0 -m IDC_BOOTTYPE 20,0 -m IDC_SELECT_ISO 20,0 -s IDC_INFO 20,0 -t IDC_SET_ICON "Creëer uitgebreide label- en icoon bestanden" -t IDC_ABOUT "Over..." -t IDC_LOG "Log" +t IDS_FORMAT_OPTIONS_TXT "Formatteer Opties" +t IDC_BAD_BLOCKS "Controleer apparaat op slechte blokken" +t IDC_QUICK_FORMAT "Snelformatteren" +t IDC_EXTENDED_LABEL "Creëer uitgebreide label- en icoon bestanden" t IDCANCEL "Sluit" -t IDC_START "Start" -t IDS_ADVANCED_OPTIONS_GRP "Geavanceerde Opties" -t IDC_ENABLE_FIXED_DISKS "Laat USB HD's zien" -t IDC_EXTRA_PARTITION "Oplossingen voor oude BIOS'en (extra partitie, uitlijnen, etc.)" -s IDC_EXTRA_PARTITION 20,0 +t IDC_LIST_USB_HDD "Laat USB HD's zien" +t IDC_OLD_BIOS_FIXES "Oplossingen voor oude BIOS'en (extra partitie, uitlijnen, etc.)" t IDC_RUFUS_MBR "Gebruik Rufus MBR met BIOS ID" -s IDC_RUFUS_MBR 13,0 -m IDC_DISK_ID 20,0 -m IDC_NBPASSES 20,0 -s IDS_FORMAT_OPTIONS_GRP 20,0 -s IDS_ADVANCED_OPTIONS_GRP 20,0 -s IDC_PROGRESS 20,0 -m IDC_START 20,0 -m IDCANCEL 20,0 -t IDC_WINDOWS_INSTALL "Standaard Windows installatie" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Over Rufus" t IDC_ABOUT_LICENSE "Licentie" -t IDC_ABOUT_UPDATES "Updates" # About -> License dialog g IDD_LICENSE @@ -4328,39 +4063,18 @@ t IDNO "Nee" # Log dialog g IDD_LOG t IDD_LOG "Log scherm" -t IDC_LOG_CLEAR "Verwijder Log" -s IDC_LOG_CLEAR +10,0 -m IDC_LOG_CLEAR -10,0 -t IDC_LOG_SAVE "Bewaar Log" -t IDCANCEL "Sluit Log" +t IDC_LOG_CLEAR "Verwijder" +t IDC_LOG_SAVE "Bewaar" +t IDCANCEL "Sluiten" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +30,0 t IDD_UPDATE_POLICY "Update beleid en instellingen" t IDS_UPDATE_SETTINGS_GRP "Instellingen" -m IDS_UPDATE_SETTINGS_GRP -15,0 -s IDS_UPDATE_SETTINGS_GRP +38,0 t IDS_UPDATE_FREQUENCY_TXT "Controleer op updates" -m IDS_UPDATE_FREQUENCY_TXT -15,0 -s IDS_UPDATE_FREQUENCY_TXT +5,0 t IDS_INCLUDE_BETAS_TXT "Inclusief bèta versies" -m IDS_INCLUDE_BETAS_TXT -15,0 t IDC_CHECK_NOW "Controleer nu" -m IDC_CHECK_NOW +22,0 -s IDC_CHECK_NOW +8,0 t IDCANCEL "Sluiten" -s IDC_UPDATE_FREQUENCY +34,0 -m IDC_UPDATE_FREQUENCY -10,0 -m IDC_INCLUDE_BETAS -10,0 -m IDS_CHECK_NOW_GRP +23,0 -s IDS_CHECK_NOW_GRP +6,0 -s IDC_POLICY +45,0 -m IDC_POLICY -15,0 -m IDCANCEL +23,0 -s IDCANCEL +6,0 -m IDC_ABOUT_ICON -5,0 -t IDOK "OK" # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -4411,9 +4125,9 @@ t MSG_028 "megabytes" t MSG_029 "Standaard" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Standaard)" -t MSG_031 "%s partitie-indeling voor BIOS of %s" -t MSG_032 "%s partitie-indeling voor BIOS" -t MSG_033 "%s partitie-indeling voor UEFI" +#t MSG_031 "%s partitie-indeling voor BIOS of %s" +#t MSG_032 "%s partitie-indeling voor BIOS" +#t MSG_033 "%s partitie-indeling voor UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d Ronde" t MSG_035 "%d Rondes" @@ -4483,10 +4197,6 @@ t MSG_084 "Deze ISO image lijkt een verouderde versie te gebruiken van '%s'.\n" "'%s' bestaat, zal deze automatisch hergebruiktworden." t MSG_085 "Bezig met downloaden van '%s'" t MSG_086 "Geen image geselecteerd." -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Klik a.u.b. op de CD knop om een opstartbare image te selecteren.\n" - "Of vink de optie \"Creëer een opstartbare disk met:\" uit." t MSG_088 "Image is te groot" t MSG_089 "De image is te groot voor het geselecteerde doelapparaat." t MSG_090 "Niet-ondersteunde ISO" @@ -4565,7 +4275,6 @@ t MSG_159 "Gebruik dit veld om de drive naam in te stellen.\nInternationale teke t MSG_160 "Wisselen naar geavanceerde opties" t MSG_161 "Controleer het apparaat op slechte blokken tijdens een testpatroon" t MSG_162 "Uitvinken om een \"langzamere\" formatteer methode te gebruiken" -t MSG_163 "Aanvinken om de USB drive opstartbaar te maken" t MSG_164 "Gebruikte methode om de drive opstartbaar te maken" t MSG_165 "Klik om een image te selecteren..." t MSG_166 "Vink aan om internationale labels te zien en een apparaat\n" @@ -4708,7 +4417,6 @@ t MSG_275 "De geselecteerde image is een 'ISOHybride' image. Dit betekent dat he "Selecteer a.u.b. de modus die u wilt gebruiken om deze image te schrijven:" t MSG_276 "Schrijf in %s modus (Aanbevolen)" t MSG_277 "Schrijf in %s modus" -t MSG_278 "Opstart type" t MSG_279 "Niet bootable" t MSG_280 "Image selectie" t MSG_281 "(Selecteer a.u.b. een image)" @@ -4734,6 +4442,7 @@ t MSG_298 "Het ISO bestand dat u heeft geselecteerd komt niet overeen met de aan "internet heeft gehaald, probeer een nieuwe kopie te downloaden en te verifiëren met de " "MD5 of SHA checksums die overeenkomen met de officiële versie.\n\nU kunt de " "MD5 of SHA in Rufus berekenen door op het '#' button te klikken." +t MSG_117 "Standaard Windows installatie" ################################################################################ l "fi-FI" "Finnish (Suomi)" 0x040B @@ -4743,41 +4452,25 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "Laite" +t IDS_BOOT_SELECTION_TXT "Käynnistystyyppi" t IDS_PARTITION_TYPE_TXT "Osion ja kohdejärjestelmän tyyppi" -t IDS_FILESYSTEM_TXT "Tiedostojärjestelmä" -t IDS_CLUSTERSIZE_TXT "Tilanvarausyksikkö" +t IDS_FILE_SYSTEM_TXT "Tiedostojärjestelmä" +t IDS_CLUSTER_SIZE_TXT "Tilanvarausyksikkö" t IDS_LABEL_TXT "Uuden aseman nimi" -t IDS_FORMAT_OPTIONS_GRP "Alustusasetukset" -t IDC_BADBLOCKS "Vioittuneiden lohkojen tarkistus" -s IDC_BADBLOCKS +16,0 -m IDC_NBPASSES +12,0 -s IDC_NBPASSES -9,0 -t IDC_QUICKFORMAT "Pika-alustus" -t IDC_BOOT "Luo käynnistyslevy käyttäen" -t IDC_WINDOWS_INSTALL "Tavanomainen Windowsin asennus" -m IDC_BOOTTYPE +12,0 -s IDC_BOOTTYPE -6,0 -m IDC_SELECT_ISO +3,0 -t IDC_SET_ICON "Luo laajennetut nimi- ja kuvaketiedostot" -t IDC_ABOUT "Lisätietoja..." -t IDC_LOG "Loki" -s IDC_LOG +5,0 +t IDS_FORMAT_OPTIONS_TXT "Alustusasetukset" +t IDC_BAD_BLOCKS "Vioittuneiden lohkojen tarkistus" +t IDC_QUICK_FORMAT "Pika-alustus" +t IDC_EXTENDED_LABEL "Luo laajennetut nimi- ja kuvaketiedostot" t IDCANCEL "Sulje" t IDC_START "Aloita" -t IDS_ADVANCED_OPTIONS_GRP "Lisäasetukset" -t IDC_ENABLE_FIXED_DISKS "Näytä USB-kiintolevyt" -t IDC_EXTRA_PARTITION "Lisää korjauksia vanhoja BIOS-versioita varten" +t IDC_LIST_USB_HDD "Näytä USB-kiintolevyt" +t IDC_OLD_BIOS_FIXES "Lisää korjauksia vanhoja BIOS-versioita varten" t IDC_RUFUS_MBR "Käytä Rufus-MBR:ää, BIOS ID" -s IDC_RUFUS_MBR +10,0 -m IDC_DISK_ID +12,0 -s IDC_DISK_ID -9,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Tietoja Rufus-sovelluksesta" t IDC_ABOUT_LICENSE "Lisenssi" -t IDC_ABOUT_UPDATES "Päivitykset" -t IDOK "OK" # About -> License dialog g IDD_LICENSE @@ -4793,21 +4486,16 @@ t IDNO "Ei" # Log dialog g IDD_LOG t IDD_LOG "Loki" -t IDC_LOG_CLEAR "Tyhjennä loki" -s IDC_LOG_CLEAR +6,0 -m IDC_LOG_CLEAR -6,0 -t IDC_LOG_SAVE "Tallenna loki" -t IDCANCEL "Sulje loki" +t IDC_LOG_CLEAR "Tyhjennä" +t IDC_LOG_SAVE "Tallenna" +t IDCANCEL "Sulje" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Päivityskäytäntö ja -asetukset" t IDS_UPDATE_SETTINGS_GRP "Asetukset" t IDS_UPDATE_FREQUENCY_TXT "Tarkista päivitykset" t IDS_INCLUDE_BETAS_TXT "Sisällytä beta-versiot" -m IDC_UPDATE_FREQUENCY -10,0 -s IDC_UPDATE_FREQUENCY +16,0 -m IDC_INCLUDE_BETAS -10,0 t IDC_CHECK_NOW "Tarkista nyt" t IDCANCEL "Sulje" @@ -4860,9 +4548,9 @@ t MSG_028 "megatavua" t MSG_029 "Oletus" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Oletus)" -t MSG_031 "%s-osiotyyppi BIOS- tai %s" -t MSG_032 "%s-osiotyyppi BIOS" -t MSG_033 "%s-osiotyyppi UEFI" +#t MSG_031 "%s-osiotyyppi BIOS- tai %s" +#t MSG_032 "%s-osiotyyppi BIOS" +#t MSG_033 "%s-osiotyyppi UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d testi" t MSG_035 "%d testiä" @@ -4934,10 +4622,6 @@ t MSG_084 "Tämä ISO-levykuva vaikuttaisi käyttävän vanhentunutta '%s'-versi "'%s' löytyy sijainnista, sitä käytetään automaattisesti." t MSG_085 "Ladataan '%s'" t MSG_086 "ISO-levykuvaa ei valittu" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Paina levykuvakkeesta valitaksesi boottaavan ISO-levykuvan " - "tai poista valinta \"Luo käynnistyslevy...\" -valintaruudusta." t MSG_088 "Levykuva on liian suuri" t MSG_089 "Levykuva on liian suuri valittuun kohteeseen." t MSG_090 "ISO-levykuvaa ei tueta" @@ -4980,7 +4664,7 @@ t MSG_106 "Valitse kansio" t MSG_107 "Kaikki tiedostot" t MSG_108 "Rufuksen loki" t MSG_109 "0x%02X (Levy %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS ei voi käynnistyä laitteelta, joka käyttää 64 kilotavun tilanvarausyksikköä.\n" "Vaihda tilanvarausyksikköä tai käytä FreeDOSia." @@ -5025,7 +4709,6 @@ t MSG_159 "Käytä tätä kenttää valitaksesi aseman nimen\nVoit käyttää ka t MSG_160 "Näytä tai piilota lisäasetukset" t MSG_161 "Tarkista laite testikuviolla vioittuneiden lohkojen varalta" t MSG_162 "Poista valintaruudun valinta käyttääksesi \"hidasta\" alustustapaa" -t MSG_163 "Valitse valintaruutu tehdäksesi USB-asemasta boottaavan" t MSG_164 "Tapa, jolla asemasta tehdään boottaava" t MSG_165 "Paina valitaksesi levykuva..." t MSG_166 "Valitse valintaruutu salliaksesi kansainvälisten merkkien näyttämisen " @@ -5173,7 +4856,6 @@ t MSG_275 "Valitsemasi levykuva on muotoa 'ISOHybrid'. Tämä tarkoittaa, että "Valitse tila, jota haluat käyttää levykuvan kirjoittamiseen:" t MSG_276 "Kirjoita %sna (Suositellaan)" t MSG_277 "Kirjoita %sna" -t MSG_278 "Käynnistystyyppi" t MSG_279 "Ei-boottaava" t MSG_280 "Levykuvan valinta" t MSG_281 "(Valitse levykuva)" @@ -5197,47 +4879,38 @@ t MSG_297 "Vajaakokoinen ISO-levykuva havaittu" t MSG_298 "Valitsemasi ISO-levykuva ei vastaa sen ilmoittamaa tiedostokokoa: %s ohjelmatiedosta puuttuu!\n\nJos latasit " "tämän tiedoston internetistä, yritä ladata tiedosto uudelleen ja varmista, että MD5- tai SHA-tarkistussumma täsmää " "alkuperäisen summan kanssa.\n\nVoit laskea MD5- tai SHA-tarkistussumman Rufuksessa painamalla '#'-painiketta." +t MSG_117 "Tavanomainen Windowsin asennus" ################################################################################ l "fr-FR" "French (Français)" 0x040c, 0x080c, 0x0c0c, 0x100c, 0x140c, 0x180c, 0x1c0c, 0x200c, 0x240c, 0x280c, 0x2c0c, 0x300c, 0x340c, 0x380c, 0xe40c -v 1.0.22 +v 1.0.23 b "en-US" g IDD_DIALOG +t IDS_DRIVE_PROPERTIES_TXT "Options de Périphérique" t IDS_DEVICE_TXT "Périphérique" -t IDS_PARTITION_TYPE_TXT "Type de partition et système de destination" -t IDS_FILESYSTEM_TXT "Système de fichiers" -t IDS_CLUSTERSIZE_TXT "Taille d'unité d'allocation" +t IDS_BOOT_SELECTION_TXT "Type de démarrage" +t IDC_SELECT "Sélection" +t IDS_IMAGE_OPTION_TXT "Option d'image" +t IDS_PARTITION_TYPE_TXT "Schéma de partition" +t IDS_TARGET_SYSTEM_TXT "Système de destination" +t IDS_FILE_SYSTEM_TXT "Système de fichiers" +t IDS_CLUSTER_SIZE_TXT "Taille d'unité d'allocation" t IDS_LABEL_TXT "Nom de volume" -t IDS_FORMAT_OPTIONS_GRP "Options de Formatage" -t IDC_BADBLOCKS "Vérification de mauvais blocs" -m IDC_NBPASSES +5,0 -s IDC_NBPASSES -2,0 -t IDC_QUICKFORMAT "Formatage rapide" -t IDC_BOOT "Créer un disque de démarrage" -s IDC_BOOT +5,0 -t IDC_WINDOWS_INSTALL "Installation standard de Windows" -m IDC_BOOTTYPE +5,0 -m IDC_SELECT_ISO +3,0 -t IDC_SET_ICON "Ajouter un label étendu et une icône" -t IDC_ABOUT "A propos..." +t IDS_FORMAT_OPTIONS_TXT "Options de Formatage" +t IDC_BAD_BLOCKS "Vérification de mauvais blocs" +t IDC_QUICK_FORMAT "Formatage rapide" +t IDC_EXTENDED_LABEL "Ajouter un label étendu et une icône" +t IDS_STATUS_TXT "Statut" t IDCANCEL "Fermer" t IDC_START "Démarrer" -m IDC_START +5,0 -s IDC_START -2,0 -m IDCANCEL +2,0 -s IDCANCEL -2,0 -t IDS_ADVANCED_OPTIONS_GRP "Options avancées" -t IDC_ENABLE_FIXED_DISKS "Lister les disques durs USB" -t IDC_EXTRA_PARTITION "Ajouter les options de compatibilité pour vieux BIOS" +t IDC_LIST_USB_HDD "Lister les disques durs USB" +t IDC_OLD_BIOS_FIXES "Ajouter les options de compatibilité pour vieux BIOS" t IDC_RUFUS_MBR "Utiliser le MBR Rufus avec ID" -m IDC_DISK_ID +5,0 -s IDC_DISK_ID -2,0 g IDD_ABOUTBOX t IDD_ABOUTBOX "A propos de Rufus" t IDC_ABOUT_LICENSE "Licence" -t IDC_ABOUT_UPDATES "Mises à jour" g IDD_LICENSE t IDD_LICENSE "Licence Rufus" @@ -5254,22 +4927,12 @@ t IDC_LOG_SAVE "Enregistrer" t IDCANCEL "Fermer" g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +45,0 t IDD_UPDATE_POLICY "Paramètres de mises à jour" -s IDC_POLICY +45,0 t IDS_UPDATE_SETTINGS_GRP "Options" -s IDS_UPDATE_SETTINGS_GRP +25,0 t IDS_UPDATE_FREQUENCY_TXT "Recherche mises à jour" -s IDS_UPDATE_FREQUENCY_TXT +5,0 t IDS_INCLUDE_BETAS_TXT "Inclure les bétas" -s IDC_UPDATE_FREQUENCY +35,0 -m IDS_CHECK_NOW_GRP +25,0 -s IDS_CHECK_NOW_GRP +20,0 t IDC_CHECK_NOW "Chercher maintenant" -m IDC_CHECK_NOW +14,0 -s IDC_CHECK_NOW +40,0 t IDCANCEL "Fermer" -m IDCANCEL +34,0 g IDD_NEW_VERSION t IDD_NEW_VERSION "Mise à jour de Rufus" @@ -5314,9 +4977,9 @@ t MSG_027 "kilo-octets" t MSG_028 "méga-octets" t MSG_029 "Défaut" t MSG_030 "%s (Défaut)" -t MSG_031 "Type de partition %s pour BIOS ou %s" -t MSG_032 "Type de partition %s pour BIOS" -t MSG_033 "Type de partition %s pour UEFI" +t MSG_031 "BIOS (ou UEFI-CSM)" +t MSG_032 "UEFI (non CSM)" +t MSG_033 "BIOS ou UEFI" t MSG_034 "%d passe" t MSG_035 "%d passes" t MSG_036 "Image ISO" @@ -5387,8 +5050,6 @@ t MSG_084 "Cette image ISO utilise une version obsolète du fichier '%s'.\n" "Si un '%s' existe à cet endroit, il sera réutilisé automatiquement." t MSG_085 "Téléchargement de '%s'" t MSG_086 "Aucune image sélectionnée" -t MSG_087 "Veuillez cliquer sur le bouton avec un disque pour sélectionner une image démarrable " - "ou décochez l'option \"Créer un disque de démarrage\"." t MSG_088 "Image trop large" t MSG_089 "L'image est trop large pour être copiée sur le périphérique sélectionné." t MSG_090 "Image ISO non supportée" @@ -5452,14 +5113,17 @@ t MSG_116 "Cette image utilise Grub %s mais l'application inclus seulement les f "- Choisissez 'Annuler' pour annuler cette opération\n" "Note : Ce fichier sera téléchargé dans le répertoire courant et réutilisé automatiquement une fois présent. " "Si il n'est pas possible de trouver une version correspondante en ligne, la version par défaut sera utilisée." +t MSG_117 "Installation standard de Windows" +t MSG_119 "options de périphérique avancées" +t MSG_120 "options de formatage avancées" +t MSG_121 "Afficher les %s" +t MSG_122 "Cacher les %s" # Tooltips -t MSG_150 "Le choix le plus sûr. Mais si vous possédez un ordinateur à base de UEFI et voulez installer " - "un Système d’exploitation en mode EFI, sélectionnez plutôt l’une des autres options" -t MSG_151 "Choisissez cette option si vous voulez installer un Système d’exploitation en mode EFI, " - "mais aurez aussi besoin d’accéder au média depuis Windows XP" -t MSG_152 "Option préférée pour installer un Système d’exploitation en mode EFI, " - "quand l’accès au média depuis Windows XP n’est pas nécessaire" +t MSG_150 "Type d'ordinateur avec lequel vous comptez utiliser ce disque démarrable. Il est de VOTRE responsabilité de déterminer s'il s'agit d'un type BIOS ou UEFI.\n" + "Veuillez noter que CSM, qui peut être activé ou désactivé sur les machines de type UEFI, signifie 'émulation BIOS', et n'est pas vraiment UEFI." +t MSG_151 "Note: 'UEFI-CSM' signifie que le périphérique démarrera seulement en mode émulation BIOS (i.e. 'Legacy Mode') sous UEFI, et non pas en mode UEFI natif." +t MSG_152 "Note: 'non CSM' signifie que le périphérique démarrera seulement en mode UEFI natif, et non pas en mode émulation BIOS (i.e. 'Legacy Mode')." t MSG_153 "Motif de test : 0x%02X" t MSG_154 "Motif de test : 0x%02X, 0x%02X" t MSG_155 "Motif de test : 0x%02X, 0x%02X, 0x%02X" @@ -5467,17 +5131,17 @@ t MSG_156 "Motif de test : 0x%02X, 0x%02X, 0x%02X, 0x%02X" t MSG_157 "Sélectionne le système de fichiers" t MSG_158 "Taille minimum qu’un bloc de données occupera sur le système de fichiers" t MSG_159 "Utilisez ce champ pour mettre à jour le nom du volume.\n" - "Les caractères étendus et les accents sont acceptés " + "Les caractères étendus et les accents sont acceptés" t MSG_160 "Affiche/Cache les options avancées " -t MSG_161 "Détecte la présence de blocs défectueux en écrivant d'un motif de test" -t MSG_162 "Décochez cette case si vous voulez utiliser la méthode de formatage \"lente\" " -t MSG_163 "Cochez cette case pour rendre le périphérique démarrable" +t MSG_161 "Détecte la présence de blocs défectueux en écrivant un motif de test" +t MSG_162 "Décochez cette case si vous voulez utiliser la méthode de formatage \"lente\"" +t MSG_163 "Methode qui sera utilisée pour créer les partitions." t MSG_164 "Méthode à utiliser pour rendre le périphérique démarrable " t MSG_165 "Cliquez ici pour sélectionner une image..." t MSG_166 "Cochez cette case pour permettre l’affichage des caractères étendus/internationaux " - "et ajouter une icône (ceci créera un fichier autorun.inf)" + "et ajouter une icône (ceci crée un fichier autorun.inf)" t MSG_167 "Installe un MBR permettant la sélection du périphérique de démarrage. Peut aussi " - "camoufler l’ID de disque pour le BIOS " + "camoufler l’ID de disque pour le BIOS" t MSG_168 "Camoufle le premier disque USB démarrable (généralement 0x80) sous une ID différente.\n" "Changez cette option si vous installez Windows XP avec plus d’un disque dur" t MSG_169 "Créé une petite partition supplémentaire et aligner les partitions.\n" @@ -5608,8 +5272,8 @@ t MSG_276 "Ecrire en mode %s (Recommandé)" t MSG_277 "Ecrire en mode %s" t MSG_278 "Type de démarrage" t MSG_279 "Non démarrable" -t MSG_280 "Sélection d'image" -t MSG_281 "(Veuillez sélectioner une image)" +t MSG_280 "Image disque ou ISO" +t MSG_281 "%s (Veuillez sélectioner)" t MSG_282 "Verrouillage exclusif de périphérique USB" t MSG_283 "Signature invalide" t MSG_284 "L'exécutable téléchargé ne possède pas de signature digitale." @@ -5631,6 +5295,16 @@ t MSG_298 "Le fichier ISO que vous avez sélectionné ne fait pas la bonne taill "Si vous avez obtenu ce fichier depuis Internet, vous devriez essayer de le télécharger à nouveau et verifier que " "le MD5 ou SHA correspond aux valeurs officielles.\n\nNotez que vous pouvez calculer le MD5 ou SHA depuis Rufus en " "cliquant le bouton '#'." +t MSG_299 "Erreur de validation du timestamp" +t MSG_300 "Rufus n'a pas pu valider que le timestamp du fichier de mise à jour téléchargé est plus récent que celui de " + "l'exécutable en cours.\n\nAfin de mitiger des scenarios d'attaque potentiels, le processus de mise à jour a été interrompu " + "et le téléchargement va être supprimé. Pour plus de détails, veuillez consulter le log." +t MSG_301 "Affiche les paramètres de l'application" +t MSG_302 "Affiche les informations à propos de cette application" +t MSG_303 "Affiche le log" +t MSG_304 "Crée une image disque à partir du périphérique sélectionné" +t MSG_305 "Utilisez cette option pour indiquer si vous voulez utiliser ce périphérique pour installer Windows sur un autre disque, " + "ou bien exécuter Windows directement depuis votre périphérique (Windows To Go)." ################################################################################ l "de-DE" "German (Deutsch)" 0x0407, 0x0807, 0x0c07, 0x1007, 0x1407 @@ -5638,52 +5312,24 @@ v 1.0.22 b "en-US" g IDD_DIALOG -s IDD_DIALOG +30,0 -s IDS_FORMAT_OPTIONS_GRP +29,0 -s IDC_PROGRESS +30,0 -s IDC_DEVICE +28,0 -s IDC_PARTITION_TYPE +28,0 -s IDC_FILESYSTEM +28,0 -s IDC_CLUSTERSIZE +28,0 -s IDC_LABEL +28,0 -s IDS_ADVANCED_OPTIONS_GRP +29,0 -s IDC_ENABLE_FIXED_DISKS +30,0 -s IDC_EXTRA_PARTITION +30,0 -s IDC_RUFUS_MBR +25,0 -m IDC_NBPASSES +30,0 -s IDC_BOOT +32,0 -m IDC_BOOTTYPE +30,0 -m IDC_SELECT_ISO +30,0 -s IDC_INFO +30,0 -m IDC_DISK_ID +30,0 -m IDC_START +28,0 -m IDCANCEL +28,0 - t IDS_DEVICE_TXT "Laufwerk" -t IDS_PARTITION_TYPE_TXT "Partitionsschema und Typ des Zielsystems" -t IDS_FILESYSTEM_TXT "Dateisystem" -t IDS_CLUSTERSIZE_TXT "Größe der Zuordnungseinheit" +t IDS_BOOT_SELECTION_TXT "Startart" +t IDS_PARTITION_TYPE_TXT "Partitionsschema" +t IDS_TARGET_SYSTEM_TXT "Zielsystem" +t IDS_FILE_SYSTEM_TXT "Dateisystem" +t IDS_CLUSTER_SIZE_TXT "Größe der Zuordnungseinheit" t IDS_LABEL_TXT "Neue Laufwerksbezeichnung" -t IDS_FORMAT_OPTIONS_GRP "Formatierungseinstellungen" -t IDC_BADBLOCKS "Auf defekte Blöcke prüfen" -t IDC_QUICKFORMAT "Schnellformatierung" -t IDC_BOOT "Startfähiges Laufwerk erstellen mit" -t IDC_SET_ICON "Erweiterte Bezeichnung und Symbole erstellen" -t IDC_ABOUT "Über..." -t IDC_LOG "Log" +t IDS_FORMAT_OPTIONS_TXT "Formatierungseinstellungen" +t IDC_BAD_BLOCKS "Auf defekte Blöcke prüfen" +t IDC_QUICK_FORMAT "Schnellformatierung" +t IDC_EXTENDED_LABEL "Erweiterte Bezeichnung und Symbole erstellen" t IDCANCEL "Schließen" -t IDC_START "Start" -t IDS_ADVANCED_OPTIONS_GRP "Erweiterte Einstellungen" -t IDC_ENABLE_FIXED_DISKS "USB-Festplatten anzeigen" -t IDC_EXTRA_PARTITION "Fix für ältere BIOSe verwenden (zus. Partition, usw.)" +t IDC_LIST_USB_HDD "USB-Festplatten anzeigen" +t IDC_OLD_BIOS_FIXES "Fix für ältere BIOSe verwenden (zus. Partition, usw.)" t IDC_RUFUS_MBR "Rufus MBR benutzen mit BIOS ID" -t IDC_WINDOWS_INSTALL "Standard Windows-Installation" g IDD_ABOUTBOX t IDD_ABOUTBOX "Über Rufus" t IDC_ABOUT_LICENSE "Lizenz" -t IDC_ABOUT_UPDATES "Updates" -s IDC_ABOUT_BLURB +32,0 -s IDD_ABOUTBOX +32,0 g IDD_LICENSE t IDD_LICENSE "Rufus Lizenz" @@ -5691,33 +5337,16 @@ t IDCANCEL "Schließen" g IDD_NOTIFICATION t IDC_MORE_INFO "Weitere Informationen" -s IDC_MORE_INFO +28,0 t IDYES "Ja" t IDNO "Nein" g IDD_LOG t IDD_LOG "Log" -t IDC_LOG_SAVE "Log speichern" -s IDC_LOG_SAVE +12,0 -m IDC_LOG_SAVE -12,0 -t IDC_LOG_CLEAR "Log löschen" -m IDC_LOG_CLEAR -12,0 +t IDC_LOG_SAVE "Speichern" +t IDC_LOG_CLEAR "Löschen" t IDCANCEL "Schließen" g IDD_UPDATE_POLICY -s IDS_UPDATE_SETTINGS_GRP +16,0 -s IDS_UPDATE_FREQUENCY_TXT +14,0 -m IDS_UPDATE_FREQUENCY_TXT -2,0 -s IDC_UPDATE_FREQUENCY +18,0 -m IDC_UPDATE_FREQUENCY +6,0 -s IDS_INCLUDE_BETAS_TXT +14,0 -m IDS_INCLUDE_BETAS_TXT -2,0 -m IDC_INCLUDE_BETAS +6,0 -m IDS_CHECK_NOW_GRP +16,0 -s IDS_CHECK_NOW_GRP -15,0 -m IDC_CHECK_NOW +8,0 -m IDCANCEL +8,0 - t IDD_UPDATE_POLICY "Aktualisierungseinstellungen" t IDS_UPDATE_SETTINGS_GRP "Einstellungen" t IDS_UPDATE_FREQUENCY_TXT "Auf neue Version prüfen" @@ -5773,9 +5402,9 @@ t MSG_028 "Megabyte" t MSG_029 "Standard" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Standard)" -t MSG_031 "%s Partitionierungsschema für BIOS oder %s" -t MSG_032 "%s Partitionierungsschema für BIOS" -t MSG_033 "%s Partitionierungsschema für UEFI" +#t MSG_031 "%s Partitionierungsschema für BIOS oder %s" +#t MSG_032 "%s Partitionierungsschema für BIOS" +#t MSG_033 "%s Partitionierungsschema für UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d Durchgang" t MSG_035 "%d Durchgänge" @@ -5842,10 +5471,6 @@ t MSG_084 "Diese ISO-Abbild-Datei verwendet eine veraltete Version von '%s'.\n" "'%s' bereits vorhanden ist, wird sie automatisch wiederverwendet." t MSG_085 "Download '%s'" t MSG_086 "Keine Abbild-Datei gewählt" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Bitte klicken das auf das Disk-Symbol um eine startfähige Abbild-Datei zu wählen " - "oder deaktivieren Sie \"Startfähiges Laufwerk erstellen...\"." t MSG_088 "Abbild ist zu groß" t MSG_089 "Dieses Abbild ist zu groß für das gewählte Ziel." t MSG_090 "ISO-Abbild nicht unterstützt" @@ -5924,7 +5549,6 @@ t MSG_159 "Geben Sie hier die Datenträgerbezeichnung ein\nInternational Schrift t MSG_160 "Erweiterte Optionen ein- bzw. ausblenden" t MSG_161 "Das Laufwerk mittels eines Musters auf fehlerhafte Blöcke prüfen" t MSG_162 "Wenn nicht aktiviert, wird die \"langsame\" Formatierung verwendet" -t MSG_163 "Aktivieren, um das Laufwerk startfähig zu machen" t MSG_164 "Methode, um das Laufwerk startfähig zu machen" t MSG_165 "Wählen Sie eine Abbild-Datei..." t MSG_166 "Wählen Sie diese Option, um die Anzeige internationaler Bezeichnungen zu ermöglichen " @@ -6066,7 +5690,6 @@ t MSG_275 "Das gewählte Abbild ist eine hybrides ISO-Abbild. Es kann entweder i "Bitte wählen Sie den Modus, mit dem Sie das Abbild schreiben wollen:" t MSG_276 "Im %s Modus schreiben (empfohlen)" t MSG_277 "Im %s Modus schreiben" -t MSG_278 "Startart" t MSG_279 "Nicht startfähig" t MSG_280 "Abbildauswahl" t MSG_281 "(Bitte wählen Sie ein Abbild)" @@ -6090,6 +5713,7 @@ t MSG_297 "Unvollständiges ISO-Abbild erkannt" t MSG_298 "Das ISO-Abbild, dass Sie gewählt haben, hat nicht die erwartete Größe. %s Daten fehlen!\n\nSollten Sie das Abbild vom " "Internet heruntergeladen haben, sollten Sie den Download wiederholen und prüfen, ob die MD5- oder SHA-Prüfsummen übereinstimmen." "\n\nHinweis: Mit der '#' Schaltfläche in der Statuszeile können Sie die Prüfsummen des gewählten Abbilds anzeigen." +t MSG_117 "Standard Windows-Installation" ################################################################################ l "el-GR" "Greek (Ελληνικά)" 0x0408 @@ -6098,68 +5722,27 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG +156,0 t IDS_DEVICE_TXT "Συσκευή" -s IDC_DEVICE +156,0 -t IDS_PARTITION_TYPE_TXT "Σύστημα διαμερισμού και τύπος συστήματος" -s IDC_PARTITION_TYPE +156,0 -t IDS_FILESYSTEM_TXT "Σύστημα αρχείων" -s IDC_FILESYSTEM +156,0 -t IDS_CLUSTERSIZE_TXT "Μέγεθος μονάδας εκχώρησης" -s IDC_CLUSTERSIZE +156,0 +t IDS_BOOT_SELECTION_TXT "Τύπος εκκίνησης" +t IDS_PARTITION_TYPE_TXT "Σύστημα διαμερισμού" +t IDS_TARGET_SYSTEM_TXT "Τύπος συστήματος" +t IDS_FILE_SYSTEM_TXT "Σύστημα αρχείων" +t IDS_CLUSTER_SIZE_TXT "Μέγεθος μονάδας εκχώρησης" t IDS_LABEL_TXT "Ετικέτα τόμου" -s IDC_LABEL +156,0 -t IDS_FORMAT_OPTIONS_GRP "Επιλογές διαμόρφωσης" -s IDS_FORMAT_OPTIONS_GRP +156,0 -t IDC_BADBLOCKS "Ελέγξτε τη συσκευή για κατεστραμμένους τομείς" -s IDC_BADBLOCKS +134,0 -m IDC_NBPASSES +149,0 -s IDC_NBPASSES +7,0 -t IDC_QUICKFORMAT "Γρήγορη διαμόρφωση" -t IDC_BOOT "Δημιουργία USB με δυνατότητα εκκίνησης χρησιμοποιώντας" -s IDC_BOOT +148,0 -t IDC_WINDOWS_INSTALL "Προσαρμοσμένη εγκατάσταση των Windows" -t IDC_WINDOWS_TO_GO "Windows To Go (USB με δυνατότητα εκκίνησης)" -m IDC_BOOTTYPE +149,0 -s IDC_BOOTTYPE +4,0 -m IDC_SELECT_ISO +156,0 -s IDC_INFO +156,0 -t IDC_SET_ICON "Δημιουργία εκτεταμένης ετικέτας και εικονιδίων" -t IDC_ABOUT "Σχετικά..." -t IDC_LOG "Αρχείο καταγραφής" -s IDC_LOG +90,0 -m IDC_LOG +7,0 -m IDC_TEST +80,0 +t IDS_FORMAT_OPTIONS_TXT "Επιλογές διαμόρφωσης" +t IDC_BAD_BLOCKS "Ελέγξτε τη συσκευή για κατεστραμμένους τομείς" +t IDC_QUICK_FORMAT "Γρήγορη διαμόρφωση" +t IDC_EXTENDED_LABEL "Δημιουργία εκτεταμένης ετικέτας και εικονιδίων" t IDCANCEL "Κλείσιμο" -m IDCANCEL +156,0 t IDC_START "Εκκίνηση" -m IDC_START +149,0 -t IDS_ADVANCED_OPTIONS_GRP "Επιλογές για προχωρημένους" -s IDS_ADVANCED_OPTIONS_GRP +157,0 -t IDC_ENABLE_FIXED_DISKS "Εμφάνιση σκληρών δίσκων USB" -s IDC_ENABLE_FIXED_DISKS +40,0 -t IDC_EXTRA_PARTITION "Προσθήκη διορθώσεων για παλαιότερα BIOS(επιπλέον διαμέριση, ευθυγράμμιση, κλπ.)" -s IDC_EXTRA_PARTITION +156,0 +t IDC_LIST_USB_HDD "Εμφάνιση σκληρών δίσκων USB" +t IDC_OLD_BIOS_FIXES "Προσθήκη διορθώσεων για παλαιότερα BIOS(επιπλέον διαμέριση, ευθυγράμμιση, κλπ.)" t IDC_RUFUS_MBR "Χρησιμοποίηση του Rufus MBR με BIOS ID" -s IDC_RUFUS_MBR +80,0 -m IDC_DISK_ID +149,0 -s IDC_DISK_ID +8,0 -s IDC_PROGRESS +156,0 # About dialog g IDD_ABOUTBOX -s IDD_ABOUTBOX 0,30 -m IDC_ABOUT_COPYRIGHTS 0,30 -s IDC_ABOUT_BLURB +0,30 t IDD_ABOUTBOX "Σχετικά με το Rufus" t IDC_ABOUT_LICENSE "Άδεια χρήσης" -s IDC_ABOUT_LICENSE +14,0 -m IDC_ABOUT_LICENSE +0,30 -t IDC_ABOUT_UPDATES "Αναβαθμίσεις" -m IDC_ABOUT_UPDATES +18,30 -s IDC_ABOUT_UPDATES +14,0 -t IDOK "OK" -m IDOK +0,30 # About -> License dialog g IDD_LICENSE @@ -6168,7 +5751,6 @@ t IDCANCEL "Κλείσιμο" # Notifications. You can trigger one of these by using Alt-R and re-launching Rufus g IDD_NOTIFICATION -s IDC_MORE_INFO +48,0 t IDC_MORE_INFO "Περισσότερες πληροφορίες" t IDYES "Ναι" t IDNO "Όχι" @@ -6180,28 +5762,14 @@ t IDC_LOG_CLEAR "Καθαρισμός" t IDC_LOG_SAVE "Αποθήκευση" t IDCANCEL "Κλείσιμο" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +70,0 -s IDC_POLICY +62,0 t IDD_UPDATE_POLICY "Πολιτική ενημέρωσης και ρυθμίσεων" t IDS_UPDATE_SETTINGS_GRP "Ρυθμίσεις" -s IDS_UPDATE_SETTINGS_GRP +68,0 t IDS_UPDATE_FREQUENCY_TXT "Έλεγχος για ενημερώσεις" -s IDS_UPDATE_FREQUENCY_TXT +22,0 -s IDC_UPDATE_FREQUENCY +59,0 -m IDC_UPDATE_FREQUENCY +14,0 t IDS_INCLUDE_BETAS_TXT "Συμπεριλάβετε τις εκδόσεις beta" -s IDS_INCLUDE_BETAS_TXT +68,0 -m IDC_INCLUDE_BETAS +118,0 t IDC_CHECK_NOW "Έλεγχος τώρα" -m IDC_CHECK_NOW +62,0 -s IDC_CHECK_NOW +4,0 t IDCANCEL "Κλείσιμο" -m IDCANCEL +62,0 -s IDCANCEL +4,0 -m IDS_CHECK_NOW_GRP +68,0 -s IDS_CHECK_NOW_GRP -6,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -6252,9 +5820,9 @@ t MSG_028 "megabytes" t MSG_029 "Προεπιλογή" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Προεπιλογή)" -t MSG_031 "%s Σύστημα διαμερισμού για BIOS ή %s" -t MSG_032 "%s Σύστημα διαμερισμού για BIOS" -t MSG_033 "%s Σύστημα διαμερισμού για UEFI" +#t MSG_031 "%s Σύστημα διαμερισμού για BIOS ή %s" +#t MSG_032 "%s Σύστημα διαμερισμού για BIOS" +#t MSG_033 "%s Σύστημα διαμερισμού για UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d Πέρασμα" t MSG_035 "%d Περάσματα" @@ -6324,10 +5892,6 @@ t MSG_084 "Αυτό το είδωλο ISO φαίνεται να χρησιμοπ "'%s' υπάρχει εκεί, θα επαναχρησιμοποιηθεί αυτόματα." t MSG_085 "Λήψη '%s'" t MSG_086 "Δεν έχει επιλεχθεί κάποιο είδωλο" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Παρακαλώ κάντε κλικ στο κουμπί με το δίσκο για να επιλέξετε ένα είδωλο με δυνατότητα εκκίνησης, " - "ή αποεπιλέξτε το κουτάκι με το \"Δημιουργία USB με δυνατότητα εκκίνησης χρησιμοποιώντας..\"." t MSG_088 "Το είδωλο έχει πολύ μεγάλο μέγεθος" t MSG_089 "Το μέγεθος του επιλεγμένου ειδώλου είναι μεγαλύτερο από την χωρητικότητα του επιλεγμένου μέσου." t MSG_090 "Μη υποστηριζόμενο είδωλο ISO" @@ -6415,7 +5979,6 @@ t MSG_159 "Χρησιμοποιήστε αυτό το πεδίο για να ο t MSG_160 "Εμφάνιση επιλογών για προχωρημένους" t MSG_161 "Ελέγξτε τη συσκευή για κατεστραμμένους τομείς χρησιμοποιώντας το μοτίβο δοκιμής" t MSG_162 "Αποεπιλέξτε αυτό το πλαίσιο για να χρησιμοποιήσετε την \"αργή\" μέθοδο διαμόρφωσης" -t MSG_163 "Επιλέξτε αυτό το πλαίσιο εάν θέλετε το USB να έχει δυνατότητα εκκίνησης" t MSG_164 "Η μέθοδος που θα χρησιμοποιηθεί για να δημιουργηθεί ο δίσκος με δυνατότητα εκκίνησης" t MSG_165 "Κάντε κλικ για να επιλέξετε ένα είδωλο (ISO)..." t MSG_166 "Επιλέξτε αυτό το πλαίσιο για να επιτραπεί η εμφάνιση των διεθνών ετικετών " @@ -6560,7 +6123,6 @@ t MSG_275 "Το είδωλο που χρησιμοποιήσατε είναι τ "Παρακαλώ επιλέξτε τον τρόπο με τον οποίο θέλετε να κάνετε την εγγραφή του ειδώλου." t MSG_276 "Εγγραφή ως %s (Προτεινόμενο)" t MSG_277 "Εγγραφή ως %s" -t MSG_278 "Τύπος εκκίνησης" t MSG_279 "Δεν διαθέτει δυνατότητα εκκίνησης" t MSG_280 "Επιλογή ειδώλου" t MSG_281 "(Παρακαλώ επιλέξτε κάποιο είδωλο)" @@ -6585,6 +6147,8 @@ t MSG_297 "Το αρχείο ISO δεν είναι έγκυρο/ολόκληρο t MSG_298 "Το αρχείο ISO που επιλέξατε δεν ειναι έγκυρο/ολόκληρο. %s από τα δεδομένα του αρχείου λείπουν.\n\nΆν κατεβάσατε αυτό το αρχείο απο το διαδίκτυο, " "προσπαθήστε να επαναλάβετε την λήψη του αρχείου. Βεβαιωθείτε ότι οι MD5 ή SHA σφραγίδες του αρχείου που κατεβάσατε είναι ίδιες με αυτες του αρχειου " "που θέλατε να κατεβάσετε.\n\nΜπορείτε να ελέγξετε τις σφραγίδες MD5 ή SHA μέσω του Rufus πατώντας το κουμπί '#'." +t MSG_117 "Προσαρμοσμένη εγκατάσταση των Windows" +t MSG_118 "Windows To Go (USB με δυνατότητα εκκίνησης)" ################################################################################ l "he-IL" "Hebrew (עברית)" 0x040d @@ -6594,32 +6158,25 @@ b "en-US" g IDD_DIALOG t IDS_DEVICE_TXT "התקן" +t IDS_BOOT_SELECTION_TXT "סוג אתחול" t IDS_PARTITION_TYPE_TXT "תוכנית המחיצות וסוג מערכת היעד" -t IDS_FILESYSTEM_TXT "מערכת קבצים" -t IDS_CLUSTERSIZE_TXT "גודל אשכול" +t IDS_FILE_SYSTEM_TXT "מערכת קבצים" +t IDS_CLUSTER_SIZE_TXT "גודל אשכול" t IDS_LABEL_TXT "תווית חדשה לאמצעי האחסון" -t IDS_FORMAT_OPTIONS_GRP "אפשרויות אתחול" -t IDC_BADBLOCKS "בדוק את ההתקן לאיזורים פגומים" -t IDC_QUICKFORMAT "אתחול מהיר" -t IDC_BOOT "צור דיסק בר אתחול עם" -t IDC_WINDOWS_INSTALL "התקנת windows רגילה" -t IDC_WINDOWS_TO_GO "Windows To Go" -t IDC_SET_ICON "צור תווית מורחבת וקבצי תמונה" -t IDC_ABOUT "אודות..." -s IDC_LOG +10,0 -t IDC_LOG "לוג" +t IDS_FORMAT_OPTIONS_TXT "אפשרויות אתחול" +t IDC_BAD_BLOCKS "בדוק את ההתקן לאיזורים פגומים" +t IDC_QUICK_FORMAT "אתחול מהיר" +t IDC_EXTENDED_LABEL "צור תווית מורחבת וקבצי תמונה" t IDCANCEL "סגור" t IDC_START "התחל" -t IDS_ADVANCED_OPTIONS_GRP "אפשרויות מתקדמות" -t IDC_ENABLE_FIXED_DISKS "חפש כוננים קשיחים של USB" -t IDC_EXTRA_PARTITION "הוסף תיקונים ל BIOS ישן (מחיצה נוספת, יישור...)" +t IDC_LIST_USB_HDD "חפש כוננים קשיחים של USB" +t IDC_OLD_BIOS_FIXES "הוסף תיקונים ל BIOS ישן (מחיצה נוספת, יישור...)" t IDC_RUFUS_MBR "שימוש ב MBR של רופוס" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "אודות רופוס" t IDC_ABOUT_LICENSE "רישיון" -t IDC_ABOUT_UPDATES "עדכונים" t IDOK "אישור" # About -> License dialog @@ -6636,11 +6193,11 @@ t IDNO "לא" # Log dialog g IDD_LOG t IDD_LOG "יומן רישום" -t IDC_LOG_CLEAR "נקה לוג" -t IDC_LOG_SAVE "שמור לוג" -t IDCANCEL "סגור לוג" +t IDC_LOG_CLEAR "נקה" +t IDC_LOG_SAVE "שמור" +t IDCANCEL "סגור" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "מדיניות והגדרות העדכונים" t IDS_UPDATE_SETTINGS_GRP "הגדרות" @@ -6698,9 +6255,9 @@ t MSG_028 "מגה בתים" t MSG_029 "ברירת מחדל" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (ברירת מחדל)" -t MSG_031 "מערכת מחיצות %s ל BIOS או ל %s" -t MSG_032 "מערכת מחיצות %s ל BIOS" -t MSG_033 "מערכת מחיצות %s ל UEFI" +#t MSG_031 "מערכת מחיצות %s ל BIOS או ל %s" +#t MSG_032 "מערכת מחיצות %s ל BIOS" +#t MSG_033 "מערכת מחיצות %s ל UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "מעבר %d" t MSG_035 "%d מעברים" @@ -6772,10 +6329,6 @@ t MSG_084 "נראה שקובץ ה ISO הזה משתמש בגרסה מיושנת "'%s' יהיה שם, רופוס ישתמש בו אוטומטית." t MSG_085 "מוריד '%s'" t MSG_086 "לא נבחר שום קובץ." -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "בבקשה לחץ/י על הסמל של הדיסק כדי לבחור קובץ בר אתחול, " - "או בטל את האפשרות \"צור דיסק בר אתחול עם\"" t MSG_088 "הקובץ גדול מדי." t MSG_089 "הקובץ גדול מדי בשביל ההתקן שנבחר." t MSG_090 "קובץ ISO לא נתמך." @@ -6819,7 +6372,7 @@ t MSG_107 "כל הקבצים" t MSG_108 "יומן Rufus" # LTR & RTL before and after "0x%02X" t MSG_109 "‎0x%02X‏ (דיסק %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS לא יכול לאתחל מהתקן שמשתמש בגודל אשכול של 64 קילו בתים.\n" "בבקשה שנה את גודל המקטע או השתמש ב FreeDOS." @@ -6864,7 +6417,6 @@ t MSG_159 "השתמש בשדה הזה כדי להזין תווית שם לאמצ t MSG_160 "הראה אפשרויות מתקדמות" t MSG_161 "בדוק את ההתקן לאיזורים פגומים באמצעות תבנית בדיקה" t MSG_162 "בטל את התיבה הזו כדי להשתמש בשיטת האתחול ה \"איטית\"" -t MSG_163 "בחר/י בתיבה הזו כדי להפוך את התקן ה USB שלך לבר-אתחול" t MSG_164 "השיטה שתהיה בשימוש כדי להפוך את ההתקן שלך לבר-אתחול." t MSG_165 "לחץ/י כדי לבחור קובץ." t MSG_166 "בחר/י בתיבה הזו כדי לאפשר הצגת תוויות שם בינלאומיות. " @@ -7021,11 +6573,6 @@ t MSG_275 "הקובץ שבחרת הוא קובץ ISOHybrid. זה אומר, שה t MSG_276 "כתוב במצב %s (מומלץ)" # '%s' below will be replaced with your translation for MSG_095 ("DD Image") t MSG_277 "כתוב במצב %s" -# The following will be used for new controls of the Rufus 3.0 interface -# They are added as messages, so that I will have them available when needed. -# 278 & 280 will be dropdown titles, similar to how IDS_DEVICE_TXT or IDS_PARTITION_TYPE_TXT are used -# 279 & 281 will be items that can appear in the dropdowns -t MSG_278 "סוג אתחול" t MSG_279 "לא בר אתחול" t MSG_280 "בחירת תמונה" t MSG_281 "(בבקשה בחר/י תמונה)" @@ -7049,6 +6596,7 @@ t MSG_297 "קובץ ISO קטוע זוהה" t MSG_298 "קובץ ה ISO שבחרת לא מתאים לגודלו המוצהר: מידע בגודל של כ %s חסר!\n\nאםהורדת " "את הקובץ הזה מהאינטרנט, את/ה צריכ/ה להוריד אותו שוב ולוודא שה checksum שלו ולוודאשביקורת ה MD5 או SHA מתאימים " "לקובץ החדש.\n\nקח/י בחשבון שניתן לחשב את ה MD5 או SHA בתוך רופוס עי לחיצה על הכפתור '#'." +t MSG_117 "התקנת windows רגילה" ################################################################################ l "hu-HU" "Hungarian (Magyar)" 0x040e @@ -7058,34 +6606,25 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "Eszköz" +t IDS_BOOT_SELECTION_TXT "Boot típus" t IDS_PARTITION_TYPE_TXT "Partíciós séma és a cél rendszer típusa" -t IDS_FILESYSTEM_TXT "Fájlrendszer" -t IDS_CLUSTERSIZE_TXT "Klaszter mérete" +t IDS_FILE_SYSTEM_TXT "Fájlrendszer" +t IDS_CLUSTER_SIZE_TXT "Klaszter mérete" t IDS_LABEL_TXT "Új kötetcímke" -t IDS_FORMAT_OPTIONS_GRP "Formázási beállítások" -t IDC_BADBLOCKS "Hibás blokkok keresése" -t IDC_QUICKFORMAT "Gyorsformázás" -t IDC_BOOT "Bootolható lemez készítése" -t IDC_WINDOWS_INSTALL "Alap Windows telepítés" -t IDC_SET_ICON "Kiterjesztett címke és ikon fájlok létrehozása" -t IDC_ABOUT "Névjegy" -t IDC_LOG "Jegyzet" -s IDC_LOG 40,0 +t IDS_FORMAT_OPTIONS_TXT "Formázási beállítások" +t IDC_BAD_BLOCKS "Hibás blokkok keresése" +t IDC_QUICK_FORMAT "Gyorsformázás" +t IDC_EXTENDED_LABEL "Kiterjesztett címke és ikon fájlok létrehozása" t IDCANCEL "Bezárás" t IDC_START "Indítás" -t IDS_ADVANCED_OPTIONS_GRP "Haladó beállítások" -t IDC_ENABLE_FIXED_DISKS "USB-s merevlemezek listázása" -t IDC_EXTRA_PARTITION "Régi BIOS-ok javítása (extra partíció, sor, stb.)" +t IDC_LIST_USB_HDD "USB-s merevlemezek listázása" +t IDC_OLD_BIOS_FIXES "Régi BIOS-ok javítása (extra partíció, sor, stb.)" t IDC_RUFUS_MBR "Rufus MBR BIOS azonosítóval" -s IDC_RUFUS_MBR +14,0 -m IDC_DISK_ID +25,0 -s IDC_DISK_ID -25,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "A Rufus-ról" t IDC_ABOUT_LICENSE "Licensz" -t IDC_ABOUT_UPDATES "Frissítések" # About -> License dialog g IDD_LICENSE @@ -7105,16 +6644,12 @@ t IDC_LOG_CLEAR "Törlés" t IDC_LOG_SAVE "Mentés" t IDCANCEL "Bezárás" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Beállítások frissítése" t IDS_UPDATE_SETTINGS_GRP "Beállítások" t IDS_UPDATE_FREQUENCY_TXT "Frissítések keresése:" -m IDC_UPDATE_FREQUENCY -8,0 -s IDC_UPDATE_FREQUENCY +8,0 t IDS_INCLUDE_BETAS_TXT "Béta verziókat is:" -m IDC_INCLUDE_BETAS -8,0 -s IDC_INCLUDE_BETAS +8,0 t IDC_CHECK_NOW "Ellenőrzés" t IDCANCEL "Bezárás" @@ -7167,9 +6702,9 @@ t MSG_028 "megabájt" t MSG_029 "Alapértelmezett" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Alap)" -t MSG_031 "%s partíciós séma BIOS-os vagy %s-s gép(ek)hez" -t MSG_032 "%s partíciós séma BIOS-os gép(ek)hez" -t MSG_033 "%s partíciós séma UEFI-s gép(ek)hez" +#t MSG_031 "%s partíciós séma BIOS-os vagy %s-s gép(ek)hez" +#t MSG_032 "%s partíciós séma BIOS-os gép(ek)hez" +#t MSG_033 "%s partíciós séma UEFI-s gép(ek)hez" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d vizsgálat" t MSG_035 "%d vizsgálat" @@ -7238,10 +6773,6 @@ t MSG_084 "Ez az ISO fájl valószínűleg a(z) '%s' elavult verzióját haszná "'%s' létezik, akkor az automatikusan újra lesz használva." t MSG_085 "Letöltés: '%s'" t MSG_086 "Nincs ISO fájl kiválasztva" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Kérlek, kattints a Lemez gombra a bootolható ISO kiválasztásához, " - "vagy vedd ki a pipát a \"Bootolható lemez készítése\" elől." t MSG_088 "Az ISO fájl túl nagy" t MSG_089 "Az ISO fájl túl nagy a kiválasztott háttértárnak." t MSG_090 "Nem támogatott ISO" @@ -7284,7 +6815,7 @@ t MSG_106 "Kérlek, válassz mappát" t MSG_107 "Minden fájl" t MSG_108 "Rufus log" t MSG_109 "0x%02X (Lemez: %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "Az MS-DOS nem tud bootolni 64 kilobájt klaszter méretű eszközről.\n" "Kérlek, változtasd meg a Klaszter méret beállítást, vagy használj FreeDOS-t." @@ -7329,7 +6860,6 @@ t MSG_159 "Használd ezt a mezőt a kötetcimke megadásához\nA nemzetközi kar t MSG_160 "Haladó beállítások megjelenítése/elrejtése" t MSG_161 "Hibás blokkok keresése az eszközön egy teszt minta segítségével" t MSG_162 "Vedd ki innen a pipát a \"lassú\" formázáshoz" -t MSG_163 "Pipáld be, ha bootolható USB eszközt szeretnél készíteni" t MSG_164 "Ezt fogjuk használni az USB eszköz bootolhatóvá tételéhez" t MSG_165 "Kattints egy ISO kiválasztásához..." t MSG_166 "Pipáld be a nemzetközi címkék megjelenítésének engedélyezéséhez, " @@ -7478,7 +7008,6 @@ t MSG_275 "A kiválasztott képfájl egy 'ISOHybrid' képfájl. Ez azt jelenti, "Kérlek, válaszd ki, hogy mely írási módot szeretnéd használni:" t MSG_276 "Írás %s módban (Ajánlott)" t MSG_277 "Írás %s módban" -t MSG_278 "Boot típus" t MSG_279 "Nem bootolható" t MSG_280 "Képfájl kiválasztása" t MSG_281 "(Kérlek, válassz ki egy képfájlt)" @@ -7489,6 +7018,7 @@ t MSG_285 "A letöltött futtatható fájlt '%s' írta alá.\nEz egy általunk n "rosszindulatú tevékenységre utalhat...\nBiztosan futtatni akarod ezt a fájlt?" t MSG_286 "Meghajtó kinullázása: %0.1f%% kész" t MSG_287 "Nem-USB eltávolítható eszközök észlelése" +t MSG_117 "Alap Windows telepítés" ################################################################################ l "id-ID" "Indonesian (Bahasa Indonesia)" 0x0421 @@ -7497,61 +7027,23 @@ b "en-US" # Main dialog g IDD_DIALOG - -s IDD_DIALOG +62,0 -s IDC_ABOUT +10,0 -s IDS_ADVANCED_OPTIONS_GRP +62,0 -s IDC_BADBLOCKS +64,0 -s IDC_BOOT +64,0 -s IDC_CLUSTERSIZE +62,0 -s IDC_DEVICE +62,0 -s IDC_ENABLE_FIXED_DISKS +10,0 -s IDC_EXTRA_PARTITION +10,0 -s IDC_EXTRA_PARTITION +62,0 -s IDC_FILESYSTEM +62,0 -s IDS_FORMAT_OPTIONS_GRP +62,0 -s IDC_LABEL +62,0 -s IDC_PARTITION_TYPE +62,0 -s IDC_PROGRESS +62,0 -s IDC_RUFUS_MBR +44,0 - -m IDC_BOOTTYPE +64,0 -s IDC_BOOTTYPE -4,0 -m IDC_DISK_ID +66,0 -s IDC_DISK_ID -4,0 -m IDC_LOG +10,0 -m IDC_NBPASSES +64,0 -s IDC_NBPASSES -4,0 -m IDC_START +62,0 -m IDC_SELECT_ISO +62,0 -s IDC_INFO +62,0 -m IDCANCEL +62,0 -s IDC_CHECK_NOW +62,0 - t IDS_DEVICE_TXT "Perangkat" +t IDS_BOOT_SELECTION_TXT "Tipe Boot" t IDS_PARTITION_TYPE_TXT "Skema partisi dan tipe sistem target" -t IDS_FILESYSTEM_TXT "Sistem berkas" -t IDS_CLUSTERSIZE_TXT "Ukuran klaster" +t IDS_FILE_SYSTEM_TXT "Sistem berkas" +t IDS_CLUSTER_SIZE_TXT "Ukuran klaster" t IDS_LABEL_TXT "Label volume baru" -t IDS_FORMAT_OPTIONS_GRP "Opsi Format" +t IDS_FORMAT_OPTIONS_TXT "Opsi Format" # Note: The button (IDC_ADVANCED) that appears next to "Format Options" is repositioned automatically. -t IDC_BADBLOCKS "Periksa perangkat untuk blok buruk" -t IDC_QUICKFORMAT "Format cepat" -t IDC_BOOT "Buat disk bootable menggunakan" -t IDC_WINDOWS_INSTALL "Instalasi Windows standar" -# Only translate if Microsoft has a specific name for http://en.wikipedia.org/wiki/Windows_To_Go in your language -# Otherwise, you can add a parenthesis eg. "Windows To Go (hint at what it does)" and/or use the tooltip (MSG_200) -t IDC_WINDOWS_TO_GO "Windows To Go" -t IDC_SET_ICON "Buat label tambahan dan berkas ikon" -t IDC_ABOUT "Tentang..." -t IDC_LOG "Log" +t IDC_BAD_BLOCKS "Periksa perangkat untuk blok buruk" +t IDC_QUICK_FORMAT "Format cepat" +t IDC_EXTENDED_LABEL "Buat label tambahan dan berkas ikon" t IDCANCEL "Tutup" t IDC_START "Mulai" -t IDS_ADVANCED_OPTIONS_GRP "Opsi Lanjutan" -t IDC_ENABLE_FIXED_DISKS "Daftar Perangkat USB" +t IDC_LIST_USB_HDD "Daftar Perangkat USB" # Note: It is acceptable to drop the parenthesis () below if you are running out of space # as there is a tooltip (MSG_169) providing these details. -t IDC_EXTRA_PARTITION "Tambah perbaikan untuk BIOS lama (partisi ekstra, penyesuaian, dll.)" +t IDC_OLD_BIOS_FIXES "Tambah perbaikan untuk BIOS lama (partisi ekstra, penyesuaian, dll.)" # 'MBR': See http://en.wikipedia.org/wiki/Master_boot_record # Rufus can install it's own custom MBR (the Rufus MBR), which also allows users # to specify a custom disk ID for the BIOS. Note: the tooltip for this control is MSG_167. @@ -7561,7 +7053,6 @@ t IDC_RUFUS_MBR "Gunakan MBR Rufus dengan ID BIOS" g IDD_ABOUTBOX t IDD_ABOUTBOX "Tentang Rufus" t IDC_ABOUT_LICENSE "Lisensi" -t IDC_ABOUT_UPDATES "Pembaruan" t IDOK "Oke" # About -> License dialog @@ -7578,22 +7069,18 @@ t IDNO "Tidak" # Log dialog g IDD_LOG t IDD_LOG "Log" -t IDC_LOG_CLEAR "Bersihkan Log" -t IDC_LOG_SAVE "Simpan Log" -t IDCANCEL "Tutup Log" +t IDC_LOG_CLEAR "Bersihkan" +t IDC_LOG_SAVE "Simpan" +t IDCANCEL "Tutup" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Ketentuan pembaruan dan setelan" t IDS_UPDATE_SETTINGS_GRP "Setelan" t IDS_UPDATE_FREQUENCY_TXT "Periksa Pembaruan:" t IDS_INCLUDE_BETAS_TXT "Sertakan versi beta:" t IDC_CHECK_NOW "Periksa Sekarang" -s IDC_CHECK_NOW +10,0 -m IDC_CHECK_NOW -5,0 t IDCANCEL "Tutup" -s IDCANCEL +10,0 -m IDCANCEL -5,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -7644,9 +7131,9 @@ t MSG_028 "megabyte" t MSG_029 "Standar" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Standar)" -t MSG_031 "Skema partisi %s untuk BIOS atau %s" -t MSG_032 "Skema partisi %s untuk BIOS" -t MSG_033 "Skema partisi %s untuk UEFI" +#t MSG_031 "Skema partisi %s untuk BIOS atau %s" +#t MSG_032 "Skema partisi %s untuk BIOS" +#t MSG_033 "Skema partisi %s untuk UEFI" # 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" @@ -7718,10 +7205,6 @@ t MSG_084 "ISO image ini tampaknya menggunakan versi lawas dari '%s'.\n" "'%s' sudah ada disana, berkas tersebut akan digunakan kembali secara otomatis." t MSG_085 "Mengunduh '%s'" t MSG_086 "Tidak ada image terpilih" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Silakan pilih pada tombol disc untuk memilih image bootable, " - "atau hapus centang \"Buat disk bootable menggunakan\" pada kotak centang." t MSG_088 "Image terlalu besar" t MSG_089 "Image terlalu besar untuk Target yang dipilih." t MSG_090 "ISO tidak didukung" @@ -7766,7 +7249,7 @@ t MSG_106 "Silakan pilih folder" t MSG_107 "Semua berkas" t MSG_108 "Log Rufus" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS tidak dapat boot dari perangkat yang menggunakan ukuran Klaster 64 kilobyte.\n" "Silakan ubah ukuran Klaster atau gunakan FreeDOS." @@ -7813,7 +7296,6 @@ t MSG_159 "Gunakan bidang ini untuk menyetel karakter Internasional yang diperbo t MSG_160 "Tombol untuk opsi lanjutan" t MSG_161 "Periksa blok buruk pada perangkat menggunakan tes pola" t MSG_162 "Hapus centang kotak ini untuk menggunakan metode format \"lambat\"" -t MSG_163 "Centang kotak ini untuk membuat perangkat USB bootable" t MSG_164 "Metode yang akan digunakan untuk membuat perangkat bootable" t MSG_165 "Klik untuk memilih sebuah image..." t MSG_166 "Centang kotak ini untuk menampilkan label internasional " @@ -7963,7 +7445,6 @@ t MSG_275 "Image yang Anda pilih merupakan image 'ISOHybrid'. Ini artinya image "Silakan pilih mode mana yang ingin digunakan untuk menulis image ini:" t MSG_276 "Tulis dalam mode %s (Disarankan)" t MSG_277 "Tulis dalam mode %s" -t MSG_278 "Tipe Boot" t MSG_279 "Non bootable" t MSG_280 "Pemilihan image" t MSG_281 "(Silakan pilih sebuah image)" @@ -7988,6 +7469,7 @@ t MSG_297 "Terdeteksi ISO Terpotong" t MSG_298 "Berkas ISO yang Anda pilih tidak sesuai dengan ukuran yang dideklarasikan: %s data hilang!\n\n" "Jika Anda mendapatkan berkas ini dari Internet, Anda sebaiknya mengunduh salinan yang baru dan pastikan ceksum MD5 atau SHA " "cocok dengan yang asli.\n\nPerhatikan bahwa Anda dapat menghitung MD5 atau SHA dalam Rufus dengan mengklik tombol '#'." +t MSG_117 "Instalasi Windows standar" ################################################################################ l "it-IT" "Italian (Italiano)" 0x0410, 0x0810 @@ -7996,40 +7478,24 @@ b "en-US" g IDD_DIALOG t IDS_DEVICE_TXT "Dispositivo/unità" +t IDS_BOOT_SELECTION_TXT "Tipo boot" t IDS_PARTITION_TYPE_TXT "Schema partizione e tipo sistema destinazione" -t IDS_FILESYSTEM_TXT "File system" -t IDS_CLUSTERSIZE_TXT "Dimensione cluster" +t IDS_FILE_SYSTEM_TXT "File system" +t IDS_CLUSTER_SIZE_TXT "Dimensione cluster" t IDS_LABEL_TXT "Nuova etichetta volume" -t IDS_FORMAT_OPTIONS_GRP "Opzioni formattazione" -t IDC_BADBLOCKS "Test controllo blocchi errati unità" -s IDC_BADBLOCKS +25,0 -m IDC_NBPASSES +25,0 -s IDC_NBPASSES -25,0 -t IDC_QUICKFORMAT "Formattazione rapida" -t IDC_BOOT "Crea disco avviabile con" -t IDC_WINDOWS_INSTALL "Installazione Windows standard" -t IDC_SET_ICON "Crea etichetta estesa e file icone" -t IDC_ABOUT "Info su..." -s IDC_ABOUT -18,0 -m IDC_ABOUT -1,0 -t IDC_LOG "Registro" -s IDC_LOG +23,0 -m IDC_LOG -20,0 +t IDS_FORMAT_OPTIONS_TXT "Opzioni formattazione" +t IDC_BAD_BLOCKS "Test controllo blocchi errati unità" +t IDC_QUICK_FORMAT "Formattazione rapida" +t IDC_EXTENDED_LABEL "Crea etichetta estesa e file icone" t IDCANCEL "Chiudi" -s IDCANCEL 0,0 t IDC_START "Avvia" -t IDS_ADVANCED_OPTIONS_GRP "Opzioni avanzate" -t IDC_ENABLE_FIXED_DISKS "Elenca dischi fissi USB" -t IDC_EXTRA_PARTITION "Aggiungi correzioni per vecchi BIOS" +t IDC_LIST_USB_HDD "Elenca dischi fissi USB" +t IDC_OLD_BIOS_FIXES "Aggiungi correzioni per vecchi BIOS" t IDC_RUFUS_MBR "Usa MBR Rufus con ID BIOS" g IDD_ABOUTBOX t IDD_ABOUTBOX "Info su Rufus" t IDC_ABOUT_LICENSE "Licenza" -m IDC_ABOUT_LICENSE +95,0 -t IDC_ABOUT_UPDATES "Aggiornamenti" -s IDC_ABOUT_UPDATES +18,0 -m IDC_ABOUT_UPDATES +100,0 g IDD_LICENSE t IDD_LICENSE "Licenza Rufus" @@ -8042,32 +7508,17 @@ t IDNO "No" g IDD_LOG t IDD_LOG "Registro eventi" -t IDC_LOG_CLEAR "Azzera registro" -s IDC_LOG_CLEAR +20,0 -m IDC_LOG_CLEAR -40,0 -t IDC_LOG_SAVE "Salva registro" -s IDC_LOG_SAVE +20,0 -m IDC_LOG_SAVE -20,0 +t IDC_LOG_CLEAR "Azzera" +t IDC_LOG_SAVE "Salva" t IDCANCEL "Chiudi" g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +30,0 -s IDC_POLICY +30,0 t IDD_UPDATE_POLICY "Impostazioni e policy aggiornamenti" t IDS_UPDATE_SETTINGS_GRP "Impostazioni" -s IDS_UPDATE_SETTINGS_GRP +49,0 t IDS_UPDATE_FREQUENCY_TXT "Controllo aggiornamenti" -s IDS_UPDATE_FREQUENCY_TXT +16,0 -s IDC_UPDATE_FREQUENCY +50,0 -m IDC_UPDATE_FREQUENCY +8,0 t IDS_INCLUDE_BETAS_TXT "Includi versioni beta" -m IDC_INCLUDE_BETAS +8,0 -m IDS_CHECK_NOW_GRP +49,0 -s IDS_CHECK_NOW_GRP -18,0 t IDC_CHECK_NOW "Controlla ora" -m IDC_CHECK_NOW +39,0 t IDCANCEL "Chiudi" -m IDCANCEL +39,0 g IDD_NEW_VERSION t IDD_NEW_VERSION "Rufus - Controllo aggiornamenti" @@ -8112,9 +7563,9 @@ t MSG_027 "kilobyte" t MSG_028 "megabyte" t MSG_029 "Predefinito" t MSG_030 "%s (predefinito)" -t MSG_031 "Schema partizione %s per BIOS o %s" -t MSG_032 "Schema partizione %s per BIOS" -t MSG_033 "Schema partizione %s per UEFI" +#t MSG_031 "Schema partizione %s per BIOS o %s" +#t MSG_032 "Schema partizione %s per BIOS" +#t MSG_033 "Schema partizione %s per UEFI" t MSG_034 "%d test" t MSG_035 "%d test" t MSG_036 "Immagine ISO" @@ -8182,8 +7633,6 @@ t MSG_084 "Questa immagine sembra che usi una versione obsoleta di '%s'.\n" "scaricato '%s', verrà riusato automaticamente." t MSG_085 "Download '%s'" t MSG_086 "Nessuna immagine selezionata" -t MSG_087 "Fai clic sul pulsante disco per selezionare una immagine avviabile, " - "o deseleziona \"Crea un disco avviabile usando\"." t MSG_088 "Immagine troppo grande" t MSG_089 "Questa immagine è troppo grande per l'unità di destinazione." t MSG_090 "Formato ISO non supportato" @@ -8226,7 +7675,7 @@ t MSG_106 "Seleziona la cartella" t MSG_107 "Tutti i file" t MSG_108 "Registro eventi Rufus" t MSG_109 "0x%02X (disco %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "Non si può avviare MS-DOS da una unità che usa una dimensione del cluster di 64 kilobyte.\n" "Modifica la dimensione del cluster o usa FreeDOS." @@ -8271,7 +7720,6 @@ t MSG_159 "Usa questo campo per impostare l'etichetta dell'unità\nI caratteri i t MSG_160 "Abilita/disabilita opzioni avanzate" t MSG_161 "Abilita questa opzione per effettuare un controllo dei blocchi danneggiati nel dispositivo usando un pattern di test" t MSG_162 "Deseleziona questa opzione per usare il metodo di formattazione completo ma 'lento'" -t MSG_163 "Abilita questa opzione per rendere l'unità USB avviabile" t MSG_164 "Definisce il metodo che verrà usato per rendere l'unità USB avviabile" t MSG_165 "Seleziona l'immagine..." t MSG_166 "Abilita questa opzione per permettere la visualizzazione delle etichette internazionali " @@ -8409,7 +7857,6 @@ t MSG_275 "L'immagine selezionata è un'immagine ISO ibrida. Questo significa ch "Seleziona il modo che vuoi usare per scrivere questa immagine:" t MSG_276 "Scrivi in modo %s (suggerito)" t MSG_277 "Scrivi in modo %s" -t MSG_278 "Tipo boot" t MSG_279 "Non avviabile" t MSG_280 "Selezione immagine" t MSG_281 "(seleziona un'immagine)" @@ -8433,6 +7880,7 @@ t MSG_297 "Rilevato file ISO troncato" t MSG_298 "Il file ISO selezionato non corrisponde alla dimensione dichiarata: %s dei dati mancanti!\n\nSe hai scaricato " "questo file da internet, prova a scaricarne una nuova copia e verifica che la checksum MD5 o SHA corrisponda alla checksum " "ufficiale.\n\nNota che puoi calcolare in Rufus la checksum facendo clic sul pulsante '#'." +t MSG_117 "Installazione Windows standard" ###################################################################### l "ja-JP" "Japanese (日本語)" 0x0411 @@ -8441,74 +7889,32 @@ b "en-US" # Main dialog g IDD_DIALOG - -s IDD_DIALOG +90,0 -s IDC_PROGRESS +90,0 -s IDC_DEVICE +90,0 -s IDC_PARTITION_TYPE +90,0 -s IDC_FILESYSTEM +90,0 -s IDC_CLUSTERSIZE +90,0 -s IDC_LABEL +90,0 -s IDS_FORMAT_OPTIONS_GRP +90,0 -s IDS_ADVANCED_OPTIONS_GRP +90,0 -s IDC_BADBLOCKS +30,0 -s IDC_ENABLE_FIXED_DISKS +90,0 -s IDC_EXTRA_PARTITION +90,0 -m IDC_NBPASSES +30,0 -s IDC_NBPASSES +60,0 -m IDC_BOOTTYPE +30,0 -s IDC_BOOTTYPE +60,0 -m IDC_SELECT_ISO +90,0 -s IDC_INFO +90,0 -s IDC_RUFUS_MBR +30,0 -m IDC_DISK_ID +30,0 -s IDC_DISK_ID +60,0 -s IDC_ABOUT +15,0 -m IDC_LOG +15,0 -s IDC_LOG +15,0 -m IDC_START +60,0 -s IDC_START +15,0 -m IDCANCEL +75,0 -s IDCANCEL +15,0 - t IDS_DEVICE_TXT "デバイス" +t IDS_BOOT_SELECTION_TXT "ブートの種類" t IDS_PARTITION_TYPE_TXT "パーティション構成とターゲットシステムの種類" -t IDS_FILESYSTEM_TXT "ファイルシステム" -t IDS_CLUSTERSIZE_TXT "クラスタサイズ" +t IDS_FILE_SYSTEM_TXT "ファイルシステム" +t IDS_CLUSTER_SIZE_TXT "クラスタサイズ" t IDS_LABEL_TXT "新しいボリュームのラベル" -t IDS_FORMAT_OPTIONS_GRP "フォーマット設定" -t IDC_BADBLOCKS "不良ブロックを検出します" -t IDC_QUICKFORMAT "クイックフォーマット" -t IDC_BOOT "ブートディスクを作る" -t IDC_WINDOWS_INSTALL "標準のWindowsインストール" -t IDC_SET_ICON "機能拡張されたラベルとアイコンファイルを作成します" -t IDC_ABOUT "Rufusについて" -t IDC_LOG "ログ" +t IDS_FORMAT_OPTIONS_TXT "フォーマット設定" +t IDC_BAD_BLOCKS "不良ブロックを検出します" +t IDC_QUICK_FORMAT "クイックフォーマット" +t IDC_EXTENDED_LABEL "機能拡張されたラベルとアイコンファイルを作成します" t IDCANCEL "閉じる" t IDC_START "スタート" -t IDS_ADVANCED_OPTIONS_GRP "高度な設定" -t IDC_ENABLE_FIXED_DISKS "USB接続のHDDを一覧表示する" -t IDC_EXTRA_PARTITION "古いBIOSのために修正を追加 (拡張パーティション、並び替え、その他)" +t IDC_LIST_USB_HDD "USB接続のHDDを一覧表示する" +t IDC_OLD_BIOS_FIXES "古いBIOSのために修正を追加 (拡張パーティション、並び替え、その他)" t IDC_RUFUS_MBR "BIOS IDでRufusのMBRを作る" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Rufusについて" t IDC_ABOUT_LICENSE "ライセンス" -s IDC_ABOUT_LICENSE +15,0 -t IDC_ABOUT_UPDATES "アップデート" -m IDC_ABOUT_UPDATES +15,0 -s IDC_ABOUT_UPDATES +15,0 t IDOK "閉じる" -s IDOK +15,0 -m IDOK -15,0 # About -> License dialog g IDD_LICENSE t IDD_LICENSE "Rufusのライセンス" t IDCANCEL "閉じる" -s IDCANCEL +15,0 -m IDCANCEL -15,0 # Notifications. You can trigger one of these by using Alt-R and re-launching Rufus g IDD_NOTIFICATION @@ -8519,38 +7925,18 @@ t IDNO "いいえ" # Log dialog g IDD_LOG t IDD_LOG "ログ" -t IDC_LOG_CLEAR "ログを消去する" -m IDC_LOG_CLEAR -45,0 -s IDC_LOG_CLEAR +15,0 -t IDC_LOG_SAVE "ログを保存する" -m IDC_LOG_SAVE -30,0 -s IDC_LOG_SAVE +15,0 -t IDCANCEL "ログを閉じる" -s IDCANCEL +15,0 -m IDCANCEL -15,0 +t IDC_LOG_CLEAR "消去する" +t IDC_LOG_SAVE "保存する" +t IDCANCEL "閉じる" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +45,0 -s IDC_POLICY +45,0 t IDD_UPDATE_POLICY "アップデートポリシーと設定" t IDS_UPDATE_SETTINGS_GRP "設定" -s IDS_UPDATE_SETTINGS_GRP +45,0 t IDS_UPDATE_FREQUENCY_TXT "アップデートの確認" -s IDS_UPDATE_FREQUENCY_TXT +30,0 t IDS_INCLUDE_BETAS_TXT "ベータバージョンを含める" -s IDS_INCLUDE_BETAS_TXT +30,0 t IDC_CHECK_NOW "今すぐに確認" -m IDC_CHECK_NOW +40,0 -s IDC_CHECK_NOW +10,0 t IDCANCEL "閉じる" -m IDCANCEL +40,0 -s IDCANCEL +10,0 -m IDC_UPDATE_FREQUENCY +30,0 -s IDC_UPDATE_FREQUENCY +20,0 -m IDC_INCLUDE_BETAS +30,0 -s IDC_INCLUDE_BETAS +10,0 -m IDS_CHECK_NOW_GRP +45,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -8601,9 +7987,9 @@ t MSG_028 "メガバイト" t MSG_029 "デフォルト" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (デフォルト)" -t MSG_031 "%s BIOSまたは%sコンピュータ用のパーティション構成" -t MSG_032 "%s BIOSコンピュータ用のパーティション構成" -t MSG_033 "%s UEFIコンピュータ用のパーティション構成" +#t MSG_031 "%s BIOSまたは%sコンピュータ用のパーティション構成" +#t MSG_032 "%s BIOSコンピュータ用のパーティション構成" +#t MSG_033 "%s UEFIコンピュータ用のパーティション構成" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d パス" t MSG_035 "%d パス" @@ -8675,10 +8061,6 @@ t MSG_084 "このISOは '%s' の古いバージョンを使うようです。\n" "すでに'%s'のファイルが存在している場合は自動で再利用します。" t MSG_085 "「%s」 をダウンロード中" t MSG_086 "イメージが選択されていません。" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "ブート可能なイメージを選択するためにはディスクボタンをクリックします" - "、または「ブートディスクを作る」のチェックボックスをオフにします。" t MSG_088 "イメージが大きすぎます。" t MSG_089 "イメージが選択したターゲットには大き過ぎます。" t MSG_090 "非対応ISOです" @@ -8721,7 +8103,7 @@ t MSG_106 "フォルダを選択してください。" t MSG_107 "全てのファイル" t MSG_108 "Rufusのログ" t MSG_109 "0x%02X (ディスク %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "クラスタサイズが64KBです。MS-DOSはこの場合、ドライブからブートできません。\n" "クラスタサイズを変えてください、またはFreeDOSを使用してください。" @@ -8766,7 +8148,6 @@ t MSG_159 "ここでドライブのラベルを設定可能です、各国の文 t MSG_160 "詳細設定に切り替えます" t MSG_161 "テストパターンで不良ブロックを検出します。" t MSG_162 "「クイック」ではないフォーマットをするためには、チェックボックスをオフにします。" -t MSG_163 "ブート可能なUSBドライブを作るためにはチェックボックスをオンにします。" t MSG_164 "ドライブをブート可能にします" t MSG_165 "イメージを選択するためにクリックしてください。" t MSG_166 "機能拡張されたラベルを表示するために、デバイス用アイコン(autorun.infを作成します)\n" @@ -8918,7 +8299,6 @@ t MSG_275 "選択されたイメージは「ISOHybrid」です。下記のいず "このイメージを書き込む際に使用するモードを選択してください:" t MSG_276 "%sモードで書き込む(推奨)" t MSG_277 "%sモードで書き込む" -t MSG_278 "ブートの種類" t MSG_279 "非ブート" t MSG_280 "イメージ選択" t MSG_281 "(イメージを選択してください)" @@ -8941,6 +8321,7 @@ t MSG_296 "このバージョンのRufusは公式の開発者によって提供 t MSG_297 "切り詰められたISOファイルが検出されました" t MSG_298 "選択されたISOファイルは定義されているファイルサイズと一致しません。%sのデータが不足しています。\n\nこのファイルがインターネットからダウンロード" "されたものならば、再ダウンロードし、MD5かSHAのチェックサムが公式のものと一致しているか確認してください。\n\nMD5とSHAは「#」ボタンをクリックすればRufusで確認できます。" +t MSG_117 "標準のWindowsインストール" ################################################################################ l "ko-KR" "Korean (한국어)" 0x0412 @@ -8950,30 +8331,25 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "장치" +t IDS_BOOT_SELECTION_TXT "부팅 유형" t IDS_PARTITION_TYPE_TXT "디스크 형식과 부팅 시스템 유형" -t IDS_FILESYSTEM_TXT "파일 시스템" -t IDS_CLUSTERSIZE_TXT "할당 단위 크기" +t IDS_FILE_SYSTEM_TXT "파일 시스템" +t IDS_CLUSTER_SIZE_TXT "할당 단위 크기" t IDS_LABEL_TXT "새 볼륨 레이블" -t IDS_FORMAT_OPTIONS_GRP "포맷 옵션" -t IDC_BADBLOCKS "배드 섹터 검사" -t IDC_QUICKFORMAT "빠른 포맷" -t IDC_BOOT "부팅 가능한 디스크 만들기" -t IDC_WINDOWS_INSTALL "표준 Windows 설치" -t IDC_SET_ICON "확장 레이블 및 아이콘 파일 만들기" -t IDC_ABOUT "정보..." -t IDC_LOG "로그" +t IDS_FORMAT_OPTIONS_TXT "포맷 옵션" +t IDC_BAD_BLOCKS "배드 섹터 검사" +t IDC_QUICK_FORMAT "빠른 포맷" +t IDC_EXTENDED_LABEL "확장 레이블 및 아이콘 파일 만들기" t IDCANCEL "닫기" t IDC_START "시작" -t IDS_ADVANCED_OPTIONS_GRP "고급 옵션" -t IDC_ENABLE_FIXED_DISKS "USB 하드 드라이브 목록" -t IDC_EXTRA_PARTITION "구형BIOS를 위한 수정(별도의 파티션, 정렬 등)" +t IDC_LIST_USB_HDD "USB 하드 드라이브 목록" +t IDC_OLD_BIOS_FIXES "구형BIOS를 위한 수정(별도의 파티션, 정렬 등)" t IDC_RUFUS_MBR "BIOS ID와 Rufus MBR을 사용" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Rufus" t IDC_ABOUT_LICENSE "라이센스" -t IDC_ABOUT_UPDATES "업데이트" t IDOK "확인" # About -> License dialog @@ -8990,21 +8366,16 @@ t IDNO "아니오" # Log dialog g IDD_LOG t IDD_LOG "로그" -t IDC_LOG_CLEAR "로그 삭제" -t IDC_LOG_SAVE "로그 저장" -t IDCANCEL "로그 닫기" +t IDC_LOG_CLEAR "삭제" +t IDC_LOG_SAVE "저장" +t IDCANCEL "닫기" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "업데이트 정책과 설정" t IDS_UPDATE_SETTINGS_GRP "설정" t IDS_UPDATE_FREQUENCY_TXT "업데이트 확인" -s IDS_UPDATE_FREQUENCY_TXT -20,0 -m IDC_UPDATE_FREQUENCY -20,0 t IDS_INCLUDE_BETAS_TXT "테스트 버전 포함" -s IDS_INCLUDE_BETAS_TXT -20,0 -s IDC_INCLUDE_BETAS +5,0 -m IDC_INCLUDE_BETAS -20,0 t IDC_CHECK_NOW "지금 확인" t IDCANCEL "닫기" @@ -9057,9 +8428,9 @@ t MSG_028 "MB" t MSG_029 "기본" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (기본)" -t MSG_031 "%s 파티션 형식의 BIOS 또는 %s (BIOS 호환)" -t MSG_032 "%s 파티션 형식의 BIOS" -t MSG_033 "%s 파티션 형식의 UEFI" +#t MSG_031 "%s 파티션 형식의 BIOS 또는 %s (BIOS 호환)" +#t MSG_032 "%s 파티션 형식의 BIOS" +#t MSG_033 "%s 파티션 형식의 UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "한번만 검사" t MSG_035 "%d회 검사" @@ -9133,10 +8504,6 @@ t MSG_084 "이 ISO 이미지는 '%s'의 구 버전이기에\n" "'%s'가 있다면, 자동으로 다시 사용됩니다." t MSG_085 "'%s' 다운로드 중..." t MSG_086 "선택된 ISO 이미지가 없습니다" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "부팅 가능한 ISO를 선택하고 "디스크" 버튼을 클릭하거나, " - "\"부팅 디스크 만들기...\"의 확인란을 해제하십시오." t MSG_088 "ISO가 너무 큽니다." t MSG_089 "이 ISO 이미지는 선택한 대상에 비해 너무 큽니다." t MSG_090 "지원되지 않는 ISO" @@ -9177,7 +8544,7 @@ t MSG_106 "폴더를 선택하십시오" t MSG_107 "모든 파일" t MSG_108 "로그" t MSG_109 "0x%02X (디스크 %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS는 64KB 클러스터 크기를 사용하는 드라이브에서 부팅 할 수 없습니다.\n" "클러스터 크기를 변경하거나 FreeDOS를 사용하십시오." @@ -9221,7 +8588,6 @@ t MSG_159 "드라이브 레이블에 사용 중인 문자체계를\n허용하려 t MSG_160 "고급 옵션으로 전환" t MSG_161 "테스트 패턴을 사용하여 장치의 불량 섹터를 확인" t MSG_162 "빠른 포맷을 사용하지 않고 포맷하려면 선택을 취소하시면 됩니다." -t MSG_163 "USB 드라이브를 부팅 가능하게 하려면 선택하십시오." t MSG_164 "드라이브를 부팅할 수 있도록 만듭니다." t MSG_165 "ISO 파일을 선택합니다..." t MSG_166 "사용 중인 언어로 이름을 표시하고 장치 아이콘을 설정하려면 선택하십시오. " @@ -9366,7 +8732,6 @@ t MSG_275 "선택한 이미지는 'ISOHybrid'이미지입니다. 이 이미지 "이 이미지를 작성하는 데 사용할 모드를 선택하세요:" t MSG_276 "ISO 이미지 모드로 쓰기 (권장)" t MSG_277 "DD 디스크 이미지 모드로 쓰기" -t MSG_278 "부팅 유형" t MSG_279 "부팅 안 됨" t MSG_280 "이미지 선택" t MSG_281 "(이미지를 선택하세요)" @@ -9390,6 +8755,7 @@ t MSG_297 "깨진 ISO가 감지 됨." t MSG_298 "선택한 ISO파일이 선언된 것과 일치하지 않습니다. 크기 데이터 %s이(가) 없습니다!\n\n만약 이 파일을 인터넷에서 가져왔다면 " "새로운 사본을 다운로드 하고 MD5 또는 SHA Checksum이 공식 버전과 일치하는지 확인하십시오.\n\nRufus에서 MD5 또는 SHA를 계산하려면 " "'#' 버튼을 클릭하십시오." +t MSG_117 "표준 Windows 설치" ################################################################################ l "lv-LV" "Latvian (Latviešu)" 0x0426 @@ -9398,54 +8764,25 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG 20,0 -s IDC_DEVICE 20,0 -s IDC_PARTITION_TYPE 20,0 -s IDC_FILESYSTEM 20,0 -s IDC_CLUSTERSIZE 20,0 -s IDC_LABEL 20,0 -s IDC_PROGRESS 20,0 t IDS_DEVICE_TXT "Ierīce" +t IDS_BOOT_SELECTION_TXT "Ielādes veids" t IDS_PARTITION_TYPE_TXT "Partīcijas veids un sistēmas tips" -t IDS_FILESYSTEM_TXT "Failu sistēma" -t IDS_CLUSTERSIZE_TXT "Bloka izmērs" +t IDS_FILE_SYSTEM_TXT "Failu sistēma" +t IDS_CLUSTER_SIZE_TXT "Bloka izmērs" t IDS_LABEL_TXT "Datu nesēja nosaukums" -t IDS_FORMAT_OPTIONS_GRP "Formatēšanas opcijas" -s IDS_FORMAT_OPTIONS_GRP 20,0 -s IDC_BADBLOCKS 45,0 -t IDC_BADBLOCKS "Pārbaudīt ierīci uz bojātiem sektoriem" -m IDC_NBPASSES 45,0 -s IDC_NBPASSES -25,0 -t IDC_QUICKFORMAT "Ātrā formatēšana" -t IDC_BOOT "Izveidot boot disku izmantojot" -t IDC_WINDOWS_INSTALL "Standarta Windows instalācija" -s IDC_BOOT 10,0 -m IDC_BOOTTYPE 20,0 -m IDC_SELECT_ISO 20,0 -s IDC_INFO 20,0 -t IDC_SET_ICON "Izveidot papildus nosaukumu un failu ikonas" -s IDC_ABOUT -10,0 -t IDC_ABOUT "Par..." -s IDC_LOG 35,0 -m IDC_LOG -10,0 -t IDC_LOG "Atskaite" +t IDS_FORMAT_OPTIONS_TXT "Formatēšanas opcijas" +t IDC_BAD_BLOCKS "Pārbaudīt ierīci uz bojātiem sektoriem" +t IDC_QUICK_FORMAT "Ātrā formatēšana" +t IDC_EXTENDED_LABEL "Izveidot papildus nosaukumu un failu ikonas" t IDCANCEL "Aizvērt" -m IDCANCEL 20,0 t IDC_START "Sākt" -m IDC_START 20,0 -t IDS_ADVANCED_OPTIONS_GRP "Papildopcijas" -s IDS_ADVANCED_OPTIONS_GRP 20,0 -t IDC_ENABLE_FIXED_DISKS "USB ierīču saraksts" -t IDC_EXTRA_PARTITION "Pievienot vecāku BIOSu labojumus (partīcijām, dalījumam, u.c.)" -s IDC_EXTRA_PARTITION 25,0 +t IDC_LIST_USB_HDD "USB ierīču saraksts" +t IDC_OLD_BIOS_FIXES "Pievienot vecāku BIOSu labojumus (partīcijām, dalījumam, u.c.)" t IDC_RUFUS_MBR "Izmantot Rufus MBR ar BIOS ID" -s IDC_RUFUS_MBR +10,0 -m IDC_DISK_ID 20,0 g IDD_ABOUTBOX t IDD_ABOUTBOX "Par Rufus" t IDC_ABOUT_LICENSE "Licence" -t IDC_ABOUT_UPDATES "Jauninājumi" t IDOK "Aizvērt" g IDD_LICENSE @@ -9460,37 +8797,19 @@ t IDNO "Nē" # Log dialog g IDD_LOG -m IDC_LOG_CLEAR -60,0 -s IDC_LOG_CLEAR +20,0 -m IDC_LOG_SAVE -40,0 -s IDC_LOG_SAVE +20,0 -m IDCANCEL -20,0 -s IDCANCEL +20,0 t IDD_LOG "Atskaite" -t IDC_LOG_CLEAR "Notīrīt atskaiti" -t IDC_LOG_SAVE "Saglabāt atskaiti" -t IDCANCEL "Aizvērt atskaiti" +t IDC_LOG_CLEAR "Notīrīt" +t IDC_LOG_SAVE "Saglabāt" +t IDCANCEL "Aizvērt" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +20,0 -s IDC_POLICY +20,0 t IDD_UPDATE_POLICY "Jaunināšanas noteikumi un uzstādījumi" t IDS_UPDATE_SETTINGS_GRP "Uzstādījumi" -s IDS_UPDATE_SETTINGS_GRP +40,0 t IDS_UPDATE_FREQUENCY_TXT "Pārbaudīt jauninājumus" -s IDS_UPDATE_FREQUENCY_TXT +10,0 -s IDC_UPDATE_FREQUENCY +44,0 -m IDC_UPDATE_FREQUENCY +5,0 t IDS_INCLUDE_BETAS_TXT "Ieskaitot Beta versijas:" -s IDS_INCLUDE_BETAS_TXT +10,0 -m IDC_INCLUDE_BETAS +5,0 -m IDS_CHECK_NOW_GRP +40,0 -s IDS_CHECK_NOW_GRP -20,0 t IDC_CHECK_NOW "Pārbaudīt" -m IDC_CHECK_NOW +29,0 t IDCANCEL "Aizvērt" -m IDCANCEL +29,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -9542,9 +8861,9 @@ t MSG_028 "megabaiti" t MSG_029 "Noklusējums" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Noklusējums)" -t MSG_031 "%s formāts datoriem ar BIOS vai %s" -t MSG_032 "%s formāts datoriem ar BIOS" -t MSG_033 "%s formāts datoriem ar UEFI" +#t MSG_031 "%s formāts datoriem ar BIOS vai %s" +#t MSG_032 "%s formāts datoriem ar BIOS" +#t MSG_033 "%s formāts datoriem ar UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d mēģ." t MSG_035 "%d mēģ." @@ -9615,10 +8934,6 @@ t MSG_084 "Šis ISO imidžs izmanto novecojušas versijas '%s'.\n" "'%s' automātiski tiks samainīts." t MSG_085 "Lejuplādēts '%s'" t MSG_086 "Nav izvēlēts imidžs" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Piespiediet uz pogas ar disku lai norādītu ielādes imidžu, " - "vai atķeksējiet \"Izveidot boot disku izmantojot...\" izvēlni." t MSG_088 "Imidžs pārāk liels" t MSG_089 "Izvēlētajam nesējam imidžs pārāk liels." t MSG_090 "Neatbalstāms ISO formāts" @@ -9660,7 +8975,7 @@ t MSG_106 "Izvēlieties mapi" t MSG_107 "Visi faili" t MSG_108 "Rufus logs" t MSG_109 "0x%02X (Disks %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS nevar ielādēties no nesēja ar klastera izmēru 64 Kb.\n" "Pamainiet klastera izmēru izmantojot FreeDOS." @@ -9704,7 +9019,6 @@ t MSG_159 "Ievadiet nesēja nosaukumu\nAtbalstās starptautiskie simboli" t MSG_160 "Atvērt papildus parametrus" t MSG_161 "Atzīmējiet lai pārbaudīt ierīci uz bojātiem sektoriem" t MSG_162 "Noņemiet atzīmi lai izmantot \"lēno\" formatēšanu" -t MSG_163 "Atzīmējiet lai USB nesēju izmantot kā ielādes ierīci" t MSG_164 "Ielādes varianti" t MSG_165 "Piespiediet imidža izvēlei..." t MSG_166 "Atzīmējiet starptautisko simbolu atbalstam un ierīces " @@ -9854,7 +9168,6 @@ t MSG_275 "Izvēlētajam imidžam ir 'ISOHybrid' formāts. Tas nozīmē ka imid "Lūdzu, izvēlieties režīmu, kurš tiks izmantots izvēlētā imidža ierakstam:" t MSG_276 "Ierakstīt %s režīmā (Ieteicams)" t MSG_277 "Ierakstīt %s režīmā" -t MSG_278 "Ielādes veids" t MSG_279 "Neielādējams imidžs" t MSG_280 "Imidža izvēle" t MSG_281 "(Lūdzu, izvēlieties imidžu)" @@ -9878,6 +9191,7 @@ t MSG_297 "Noteikts samazināts ISO" t MSG_298 "Izvēlētais ISO fails neatbilst noteiktajam izmēram: %s datu ir kļūdaini!\n\nJa šis fails tika " "lejuplādēts no Interneta, nepieciešams lejuplādēt no jauna un pārbaudīt MD5 vai SHA kontrolsummu " "atbilstību.\n\nPiezīme: aprēķināt MD5 vai SHA kontrolsummu programmā Rufus var piespiežot taustiņu '#'." +t MSG_117 "Standarta Windows instalācija" ################################################################################ l "lt-LT" "Lithuanian (Lietuvių)" 0x0427 @@ -9887,39 +9201,25 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "Įrenginys" +t IDS_BOOT_SELECTION_TXT "Jenis boot" t IDS_PARTITION_TYPE_TXT "Skaidinių schema ir paskirties sistemos tipas" -t IDS_FILESYSTEM_TXT "Failų sistema" -t IDS_CLUSTERSIZE_TXT "Klasterio dydis" +t IDS_FILE_SYSTEM_TXT "Failų sistema" +t IDS_CLUSTER_SIZE_TXT "Klasterio dydis" t IDS_LABEL_TXT "Nauja tomo žymė" -t IDS_FORMAT_OPTIONS_GRP "Suženklinimo parinktys" -s IDC_BADBLOCKS +25,0 -t IDC_BADBLOCKS "Tikrinti, ar įrenginyje yra blogų blokų" -m IDC_NBPASSES +25,0 -s IDC_NBPASSES -25,0 -t IDC_QUICKFORMAT "Greitasis suženklinimas" -t IDC_BOOT "Paleidžiama iš laikmenos" -t IDC_WINDOWS_INSTALL "Standartinė Windows įdiegtis" -t IDC_SET_ICON "Kurti išplėstinių žymių ir piktogramų failus" -s IDC_ABOUT -15,0 -t IDC_ABOUT "Apie..." -m IDC_LOG -15,0 -s IDC_LOG 30,0 -t IDC_LOG "Dienynas" +t IDS_FORMAT_OPTIONS_TXT "Suženklinimo parinktys" +t IDC_BAD_BLOCKS "Tikrinti, ar įrenginyje yra blogų blokų" +t IDC_QUICK_FORMAT "Greitasis suženklinimas" +t IDC_EXTENDED_LABEL "Kurti išplėstinių žymių ir piktogramų failus" t IDCANCEL "Užverti" t IDC_START "Pradėti" -t IDS_ADVANCED_OPTIONS_GRP "Išsamesnės parinktys" -t IDC_ENABLE_FIXED_DISKS "Rodyti USB standžiuosius diskus" -t IDC_EXTRA_PARTITION "Pataisos seniems BIOS (papildomas skaidinys, ir kt.)" -m IDC_DISK_ID +25,0 -s IDC_DISK_ID -25,0 +t IDC_LIST_USB_HDD "Rodyti USB standžiuosius diskus" +t IDC_OLD_BIOS_FIXES "Pataisos seniems BIOS (papildomas skaidinys, ir kt.)" t IDC_RUFUS_MBR "Naudoti Rufus MBR su BIOS ID" -s IDC_RUFUS_MBR +25,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Apie Rufus" t IDC_ABOUT_LICENSE "Licencija" -t IDC_ABOUT_UPDATES "Naujiniai" t IDOK "Gerai" # About -> License dialog @@ -9929,7 +9229,6 @@ t IDCANCEL "Užverti" # Notifications. You can trigger one of these by using Alt-R and re-launching Rufus g IDD_NOTIFICATION -s IDC_MORE_INFO 18,0 t IDC_MORE_INFO "Daugiau informacijos" t IDYES "Taip" t IDNO "Ne" @@ -9941,23 +9240,14 @@ t IDC_LOG_CLEAR "Valyti" t IDC_LOG_SAVE "Išsaugoti" t IDCANCEL "Užverti" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Naujinių politika ir nuostatos" t IDS_UPDATE_SETTINGS_GRP "Nuostatos" -s IDS_UPDATE_SETTINGS_GRP +17,0 -m IDS_CHECK_NOW_GRP +17,0 -s IDS_CHECK_NOW_GRP -12,0 -s IDS_UPDATE_FREQUENCY_TXT +6,0 t IDS_UPDATE_FREQUENCY_TXT "Ieškoti atnaujinimų" -m IDC_UPDATE_FREQUENCY -4,0 -s IDC_UPDATE_FREQUENCY +28,0 t IDS_INCLUDE_BETAS_TXT "Įtraukti beta versijas" -m IDC_INCLUDE_BETAS -4,0 t IDC_CHECK_NOW "Tikrinti dabar" -m IDC_CHECK_NOW +10,0 t IDCANCEL "Užverti" -m IDCANCEL +10,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -10008,9 +9298,9 @@ t MSG_028 "megabaitai" t MSG_029 "Numatytas" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (numatytas)" -t MSG_031 "%s skaidinių schema BIOS ar %s" -t MSG_032 "%s skaidinių schema BIOS" -t MSG_033 "%s skaidinių schema UEFI" +#t MSG_031 "%s skaidinių schema BIOS ar %s" +#t MSG_032 "%s skaidinių schema BIOS" +#t MSG_033 "%s skaidinių schema UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d bandymas" t MSG_035 "%d bandymai" @@ -10081,10 +9371,6 @@ t MSG_084 "Atrodo, šis ISO atvaizdis naudoja pasenusią „%s“ versiją.\n" "„%s“ ten jau yra, jis bus panaudotas iš naujo automatiškai." t MSG_085 "Parsiunčiama: „%s“" t MSG_086 "Atvaizdis nepasirinktas" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Spauskite disko mygtuką, jei norite pasirinkti paleidimo atvaizdį, " - "arba nežymėkite langelio „Paleidžiama iš laikmenos“." t MSG_088 "Atvaizdis per didelis" t MSG_089 "Atvaizdis yra per didelis pasirinktai paskirčiai." t MSG_090 "Nepalaikomas ISO" @@ -10127,7 +9413,7 @@ t MSG_106 "Pasirinkite katalogą" t MSG_107 "Visi failai" t MSG_108 "Rufus dienynas" t MSG_109 "0x%02X (Diskas %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS negali įsikelti iš disko naudojant 64 kilobaitų klasterio dydį.\n" "Pakeiskite klasterio dydį arba naudokite FreeDOS." @@ -10173,7 +9459,6 @@ t MSG_159 "Šiame laukelyje įrašykite disko žymę\nGalite naudoti tarptautini t MSG_160 "Rodyti išsamesnes parinktis" t MSG_161 "Tikrinti įrenginį dėl blogų blokų naudojant testo šabloną" t MSG_162 "Nuimkite šio langelio žymę norėdami naudoti lėtą suženklinimo būdą" -t MSG_163 "Pažymėkite šį langelį, jei norite padaryti USB diską įkeliamą" t MSG_164 "Būdas, kuris bus naudojamas padaryti diską įkeliamą" t MSG_165 "Spauskite, kad pasirinktumėte atvaizdį..." t MSG_166 "Pažymėkite šį langelį, norėdami įgalinti tarptautinių žymių rodymą " @@ -10326,11 +9611,6 @@ t MSG_275 "Jūsų pasirinktas atvaizdis yra „ISOHybrid“ atvaizdis. Tai reiš t MSG_276 "Įrašyti %s veiksena (rekomenduojama)" # '%s' below will be replaced with your translation for MSG_095 ("DD Image") t MSG_277 "Įrašyti %s veiksena" -# The following will be used for new controls of the Rufus 3.0 interface -# They are added as messages, so that I will have them available when needed. -# 278 & 280 will be dropdown titles, similar to how IDS_DEVICE_TXT or IDS_PARTITION_TYPE_TXT are used -# 279 & 281 will be items that can appear in the dropdowns -t MSG_278 "Paleidimo tipas" t MSG_279 "Nepaleidžiamas" t MSG_280 "Atvaizdžio parinktis" t MSG_281 "(Prašome pasirinkti atvaizdį)" @@ -10355,6 +9635,7 @@ t MSG_298 "Jūsų pasirinktas ISO failas neatitinka deklaruojamo dydžio: %s duo "Jei jūs gavote šį failą internetu, pabandykite atsisiųsti jį iš naujo ir patikrinkite, " "ar MD5 or SHA kontrolinės sumos atitinka oficialiąsias.\n\nBeje, jūs galite apskaičiuoti " "MD5 arba SHA per Rufus, paspaudę mygtuką „#“." +t MSG_117 "Standartinė Windows įdiegtis" ################################################################################ l "ms-MY" "Malay (Bahasa Malaysia)" 0x043e, 0x083e @@ -10363,50 +9644,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG +30,0 -s IDC_PROGRESS +30,0 -s IDC_DEVICE +30,0 -s IDC_PARTITION_TYPE +30,0 -s IDC_FILESYSTEM +30,0 -s IDC_CLUSTERSIZE +30,0 -s IDC_LABEL +30,0 t IDS_DEVICE_TXT "Peranti" +t IDS_BOOT_SELECTION_TXT "Jenis boot" t IDS_PARTITION_TYPE_TXT "Skema partisyen dan jenis sistem sasaran" -t IDS_FILESYSTEM_TXT "Sistem fail" -t IDS_CLUSTERSIZE_TXT "Saiz gugusan" +t IDS_FILE_SYSTEM_TXT "Sistem fail" +t IDS_CLUSTER_SIZE_TXT "Saiz gugusan" t IDS_LABEL_TXT "Label jilid baharu" -t IDS_FORMAT_OPTIONS_GRP "Pilihan format" -s IDS_FORMAT_OPTIONS_GRP +30,0 -s IDC_BADBLOCKS +30,0 -t IDC_BADBLOCKS "Semak peranti untuk blok rosak" -m IDC_NBPASSES +30,0 -t IDC_QUICKFORMAT "Format pantas" -m IDC_SELECT_ISO +30,0 -s IDC_INFO +30,0 -m IDC_BOOTTYPE +30,0 -s IDC_BOOT +32,0 -t IDC_BOOT "Cipta disk boot menggunakan" -t IDC_SET_ICON "Cipta label lanjut dan fail ikon" -t IDC_ABOUT "Mengenai..." -t IDC_LOG "Log" +t IDS_FORMAT_OPTIONS_TXT "Pilihan format" +t IDC_BAD_BLOCKS "Semak peranti untuk blok rosak" +t IDC_QUICK_FORMAT "Format pantas" +t IDC_EXTENDED_LABEL "Cipta label lanjut dan fail ikon" t IDCANCEL "Tutup" -m IDCANCEL +30,0 t IDC_START "Mula" -m IDC_START +30,0 -t IDS_ADVANCED_OPTIONS_GRP "Pilihan Lanjutan" -s IDS_ADVANCED_OPTIONS_GRP +30,0 -t IDC_ENABLE_FIXED_DISKS "Senaraikan cakera keras USB" -s IDC_ENABLE_FIXED_DISKS +30,0 -t IDC_EXTRA_PARTITION "Pembaikan tambahan untuk BIOS lama" -s IDC_EXTRA_PARTITION +30,0 -m IDC_DISK_ID +30,0 +t IDC_LIST_USB_HDD "Senaraikan cakera keras USB" +t IDC_OLD_BIOS_FIXES "Pembaikan tambahan untuk BIOS lama" t IDC_RUFUS_MBR "Guna MBR Rufus dengan BIOS ID" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Mengenai Rufus" t IDC_ABOUT_LICENSE "Lesen" -t IDC_ABOUT_UPDATES "Kemas kini" # About -> License dialog g IDD_LICENSE @@ -10422,33 +9679,17 @@ t IDNO "Tidak" # Log dialog g IDD_LOG t IDD_LOG "Log" -t IDC_LOG_CLEAR "Bersihkan Log" -s IDC_LOG_CLEAR +10,0 -m IDC_LOG_CLEAR -10,0 -t IDC_LOG_SAVE "Simpan Log" -t IDCANCEL "Tutup Log" +t IDC_LOG_CLEAR "Bersihkan" +t IDC_LOG_SAVE "Simpan" +t IDCANCEL "Tutup" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +20,0 t IDD_UPDATE_POLICY "Dasar dan tetapan mengemas kini" -s IDC_POLICY +20,0 t IDS_UPDATE_SETTINGS_GRP "Tetapan" -s IDS_UPDATE_SETTINGS_GRP +17,0 -m IDS_CHECK_NOW_GRP +17,0 -s IDS_CHECK_NOW_GRP +3,0 t IDS_UPDATE_FREQUENCY_TXT "Semak untuk versi baharu" -s IDS_UPDATE_FREQUENCY_TXT +20,0 -s IDC_UPDATE_FREQUENCY +10,0 -m IDC_UPDATE_FREQUENCY +15,0 t IDS_INCLUDE_BETAS_TXT "Gunakan juga versi Beta" -s IDS_INCLUDE_BETAS_TXT +14,0 -m IDC_INCLUDE_BETAS +15,0 -s IDC_CHECK_NOW +20,0 -m IDC_CHECK_NOW +7,0 t IDC_CHECK_NOW "Semak sekarang" -s IDCANCEL +20,0 -m IDCANCEL +7,0 t IDCANCEL "Tutup" # Dialog that appears when a new version is available @@ -10500,9 +9741,9 @@ t MSG_028 "megabait" t MSG_029 "lalai" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Lalai)" -t MSG_031 "%s skema partisyen untuk BIOS dan %s" -t MSG_032 "%s skema partisyen untuk BIOS" -t MSG_033 "%s skema partisyen untuk UEFI" +#t MSG_031 "%s skema partisyen untuk BIOS dan %s" +#t MSG_032 "%s skema partisyen untuk BIOS" +#t MSG_033 "%s skema partisyen untuk UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d kali lulus" @@ -10574,10 +9815,6 @@ t MSG_084 "Imej ISO ini menggunakan versi '%s' yang telah lapuk.\n" "'%s' , ia akan digunakan secara automatik." t MSG_085 "Muat turun '%s'" t MSG_086 "Tiada imej yang dipilih" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Sila klik pada butang cakera untuk memilih imej yang boleh boot, " - "atau nyahtandakan kotak semak \"Cipta pemacu boleh boot menggunakan\"." t MSG_088 "Imej terlalu besar" t MSG_089 "Imej ini terlalu besar untuk sasaran yang dipilih." t MSG_090 "ISO tidak disokong" @@ -10621,7 +9858,7 @@ t MSG_106 "Sila pilih folder" t MSG_107 "Semua fail" t MSG_108 "Log Rufus" t MSG_109 "0x%02X (Cakera %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS tidak boleh boot daripada cakera yang menggunakan saiz gugusan 64 kilobait.\n" "Sila tukarkan saiz gugusan atau gunakan FreeDOS." @@ -10667,7 +9904,6 @@ t MSG_159 "Gunakan ini untuk tetapkan label cakera\nHuruf antarabangsa boleh dig t MSG_160 "Togel pilihan lanjutan" t MSG_161 "Semak peranti untuk blok rosak menggunakan corak ujian" t MSG_162 "Jangan tanda kotak ini untuk menggunakan kaedah pemformatan \"perlahan\"" -t MSG_163 "Tanda kotak ini jika anda mahu membuat cakera USB boot" t MSG_164 "Kaedah yang digunakan untuk membuat cakera boot" t MSG_165 "Klik untuk memilih imej..." t MSG_166 "Klik kotak ini untuk membenarkan paparan label antarabangsa " @@ -10821,11 +10057,6 @@ t MSG_275 "Imej yang anda telah pilih adalah imej 'ISOHybrid'. Ini bermaksud ia t MSG_276 "Menulis dalam mod %s (Digalakkan)" # '%s' below will be replaced with your translation for MSG_095 ("DD Image") t MSG_277 "Menulis dalam mod %s" -# The following will be used for new controls of the Rufus 3.0 interface -# They are added as messages, so that I will have them available when needed. -# 278 & 280 will be dropdown titles, similar to how IDS_DEVICE_TXT or IDS_PARTITION_TYPE_TXT are used -# 279 & 281 will be items that can appear in the dropdowns -t MSG_278 "Jenis boot" t MSG_279 "Tidak boleh boot" t MSG_280 "Pilihan imej" t MSG_281 "(Sila pilih satu imej)" @@ -10843,54 +10074,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG 10,0 t IDS_DEVICE_TXT "Enhet" +t IDS_BOOT_SELECTION_TXT "Oppstartstype" t IDS_PARTITION_TYPE_TXT "Partisjonskjema og målsystem-type" -t IDS_FILESYSTEM_TXT "Filsystem" -t IDS_CLUSTERSIZE_TXT "Cluster-størrelse" +t IDS_FILE_SYSTEM_TXT "Filsystem" +t IDS_CLUSTER_SIZE_TXT "Cluster-størrelse" t IDS_LABEL_TXT "Nytt volumnavn" -t IDS_FORMAT_OPTIONS_GRP "Format-valg" -t IDC_BADBLOCKS "Sjekk enhet for dårlige blokker" -t IDC_QUICKFORMAT "Hurtigformatering" -t IDC_BOOT "Lager oppstartbar disk. Bruker" -t IDC_WINDOWS_INSTALL "Standard Windows-installasjon" -t IDC_WINDOWS_TO_GO "Windows To Go" -t IDC_SET_ICON "Lager utvidet merke og ikon-filer" -t IDC_ABOUT "Om..." -t IDC_LOG "Logg" +t IDS_FORMAT_OPTIONS_TXT "Format-valg" +t IDC_BAD_BLOCKS "Sjekk enhet for dårlige blokker" +t IDC_QUICK_FORMAT "Hurtigformatering" +t IDC_EXTENDED_LABEL "Lager utvidet merke og ikon-filer" t IDCANCEL "Lukk" t IDC_START "Start" -t IDS_ADVANCED_OPTIONS_GRP "Avanserte valg" -t IDC_ENABLE_FIXED_DISKS "Før opp USB harddisker" -t IDC_EXTRA_PARTITION "Legger til fiks for gamle BIOSer (ekstra partisjon, etc.)" +t IDC_LIST_USB_HDD "Før opp USB harddisker" +t IDC_OLD_BIOS_FIXES "Legger til fiks for gamle BIOSer (ekstra partisjon, etc.)" t IDC_RUFUS_MBR "Bruk Rufus MBR med BIOS ID" -s IDC_RUFUS_MBR 10,0 -s IDC_DEVICE 10,0 -s IDC_PARTITION_TYPE 10,0 -s IDC_FILESYSTEM 10,0 -s IDC_CLUSTERSIZE 10,0 -s IDC_LABEL 10,0 -s IDC_BOOT 10,0 -s IDC_PROGRESS 10,0 -s IDC_INFO 10,0 -m IDCANCEL 10,0 -m IDC_START 10,0 -s IDS_FORMAT_OPTIONS_GRP 10,0 -s IDS_ADVANCED_OPTIONS_GRP 10,0 -m IDC_NBPASSES 10,0 -m IDC_DISK_ID 10,0 -s IDC_BADBLOCKS 10,0 -s IDC_LOG 42,0 -m IDC_SELECT_ISO 10,0 -m IDC_BOOTTYPE 10,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Om Rufus" t IDC_ABOUT_LICENSE "Lisens" -t IDC_ABOUT_UPDATES "Oppdatering" -t IDOK "OK" -s IDC_ABOUT_UPDATES 30,0 # About -> License dialog g IDD_LICENSE @@ -10906,11 +10109,11 @@ t IDNO "Nei" # Log dialog g IDD_LOG t IDD_LOG "Logg" -t IDC_LOG_CLEAR "Slett logg" -t IDC_LOG_SAVE "Lagre logg" -t IDCANCEL "Lukk logg" +t IDC_LOG_CLEAR "Slett" +t IDC_LOG_SAVE "Lagre" +t IDCANCEL "Lukk" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Oppdateringspolitikk og innstillinger" t IDS_UPDATE_SETTINGS_GRP "Innstillinger" @@ -10918,16 +10121,6 @@ t IDS_UPDATE_FREQUENCY_TXT "Ser etter oppdateringer" t IDS_INCLUDE_BETAS_TXT "Inkluder betaversjoner" t IDC_CHECK_NOW "Sjekk nå" t IDCANCEL "Lukk" -s IDS_UPDATE_FREQUENCY_TXT 10,0 -s IDS_INCLUDE_BETAS_TXT 10,0 -m IDC_UPDATE_FREQUENCY 3,0 -s IDC_UPDATE_FREQUENCY 16,0 -m IDC_INCLUDE_BETAS 3,0 -s IDS_UPDATE_SETTINGS_GRP 12,0 -m IDS_CHECK_NOW_GRP 12,0 -s IDS_CHECK_NOW_GRP -12,0 -m IDC_CHECK_NOW 5,0 -m IDCANCEL 5,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -10978,9 +10171,9 @@ t MSG_028 "megabytes" t MSG_029 "Standard" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Standard)" -t MSG_031 "%s partisjonskjema for BIOS eller %s" -t MSG_032 "%s partisjonskjema for BIOS" -t MSG_033 "%s partisjonskjema for UEFI" +#t MSG_031 "%s partisjonskjema for BIOS eller %s" +#t MSG_032 "%s partisjonskjema for BIOS" +#t MSG_033 "%s partisjonskjema for UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d Passering" t MSG_035 "%d Passeringer" @@ -11052,10 +10245,6 @@ t MSG_084 "Dette ISO-bildet ser ut til å inneholde en foreldet versjon av '%s'. "'%s' er der, vil den bli brukt automatisk." t MSG_085 "Laster ned '%s'" t MSG_086 "Intet bilde valgt" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Vennligst klikk på disk-knappen for å velge et oppstartbart bilde, " - "eller fjern merket i \"Velg et oppstartbart bilde\" kontrollboksen." t MSG_088 "Bildet er for stort" t MSG_089 "Bildet er for stort for det valgte målet." t MSG_090 "Ikke støttet ISO" @@ -11100,7 +10289,7 @@ t MSG_106 "Vennligst velg en mappe" t MSG_107 "Alle filer" t MSG_108 "Rufus logg" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS kan ikke boote fra en stasjon som brukeren 64 kilobytes Cluster størrelse.\n" "Vennligst bytt Cluster-størrelse eller bruk FreeDOS." @@ -11145,7 +10334,6 @@ t MSG_159 "Bruk dette feltet for å lage stasjonsnavn \nInternasjonale bokstaver t MSG_160 "Avanserte valg" t MSG_161 "Velg antall passeringer for å teste etter dårlige blokker, bruker forskjellige mønstre." t MSG_162 "Bruk \"langsom\" formateringsmetode ved å fjerne haken i denne ruten." -t MSG_163 "Merk denne boksen for å gjøre USB-stasjonen oppstartbar" t MSG_164 "Metoden som vil bli brukt for å gjøre stasjonen oppstartbar" t MSG_165 "Klikk for å velge et bilde..." t MSG_166 "Merk denne boksen for å tillate visning av internasjonal merkelapp " @@ -11300,7 +10488,6 @@ t MSG_275 "Bildet du har valgt er et 'ISOHybrid'-bilde. Dette betyr det enten ka "Vennligst velg modus du ønsker å skrive dette bildet i:" t MSG_276 "Skriv i %s -modus (anbefalt)" t MSG_277 "Skriv i %s -modus" -t MSG_278 "Oppstartstype" t MSG_279 "Ikke oppstartbar" t MSG_280 "Bildevalg" t MSG_281 "(Vennligst velg et bilde)" @@ -11324,6 +10511,7 @@ t MSG_297 "Forkortet ISO oppdaget" t MSG_298 "ISO-filen du har valgt, stemmer ikke overens med den deklarerte størrelsen: %s av dataene mangler!\n\ nHvis du har lastet ned denne " "filen fra internett, bør du prøve å laste ned en ny kopi, og verifisere at MD5- eller SHA-kontrollsummen samsvarer med de offisielle.\n\n" "Legg merke til at du kan beregne MD5 eller SHA i Rufus ved å klikke på '#'-knappen." +t MSG_117 "Standard Windows-installasjon" ################################################################################ l "fa-IR" "Persian (فارسی)" 0x0429 @@ -11333,57 +10521,23 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG +40,0 -s IDS_FORMAT_OPTIONS_GRP +40,0 -s IDC_PROGRESS +40,0 -s IDC_DEVICE +40,0 -s IDC_PARTITION_TYPE +40,0 -s IDC_FILESYSTEM +40,0 -s IDC_CLUSTERSIZE +40,0 -s IDC_LABEL +40,0 -s IDS_ADVANCED_OPTIONS_GRP +40,0 -s IDC_ENABLE_FIXED_DISKS +40,0 -s IDC_EXTRA_PARTITION +40,0 -s IDC_BADBLOCKS +50,0 -s IDC_NBPASSES -15,0 -m IDC_NBPASSES +55,0 -s IDC_BOOT +55,0 -m IDC_BOOTTYPE +55,0 -s IDC_BOOTTYPE -10,0 -m IDC_SELECT_ISO +40,0 -s IDC_INFO +40,0 -s IDC_RUFUS_MBR +40,0 -m IDC_DISK_ID +53,0 -s IDC_DISK_ID -13,0 -s IDC_ABOUT -10,0 -m IDC_LOG -15,0 -s IDC_LOG +40,0 -m IDC_START +40,0 -m IDCANCEL +40,0 t IDS_DEVICE_TXT "درایو USB (حافظه فلش یا سایر ابزارهای ذخیره‌سازی قابل‌حمل)" +t IDS_BOOT_SELECTION_TXT "نوع راه‌اندازی (Boot)" t IDS_PARTITION_TYPE_TXT "روش پارتیشن‌بندی و نوع ثابت‌افزار (Firmware) رایانه موردنظر" -t IDS_FILESYSTEM_TXT "سیستم فایل" -t IDS_CLUSTERSIZE_TXT "اندازه کلاستر" +t IDS_FILE_SYSTEM_TXT "سیستم فایل" +t IDS_CLUSTER_SIZE_TXT "اندازه کلاستر" t IDS_LABEL_TXT "نام دلخواه برای درایو USB موردنظر" -t IDS_FORMAT_OPTIONS_GRP "گزینه‌ها و تنظیمات" +t IDS_FORMAT_OPTIONS_TXT "گزینه‌ها و تنظیمات" # Note: The button (IDC_ADVANCED) that appears next to "Format Options" is repositioned automatically. -t IDC_BADBLOCKS "بررسی وجود بدسکتور در درایو به روشِ" -t IDC_QUICKFORMAT "فرمت کردن سریع (Quick format)" -t IDC_BOOT "ساخت درایو راه‌انداز (Bootable) با استفاده از" -t IDC_WINDOWS_INSTALL "نصب ویندوز به روش استاندارد و رایج" -# Only translate if Microsoft has a specific name for http://en.wikipedia.org/wiki/Windows_To_Go in your language -# Otherwise, you can add a parenthesis eg. "Windows To Go (hint at what it does)" and/or use the tooltip (MSG_200) -t IDC_WINDOWS_TO_GO "استفاده از ویژگی «Windows To Go»" -t IDC_SET_ICON "ایجاد آیکون و نام‌گذاری درایو USB با استفاده از فایل autorun.inf" -t IDC_ABOUT "درباره" -t IDC_LOG "گزارش (Log)" +t IDC_BAD_BLOCKS "بررسی وجود بدسکتور در درایو به روشِ" +t IDC_QUICK_FORMAT "فرمت کردن سریع (Quick format)" +t IDC_EXTENDED_LABEL "ایجاد آیکون و نام‌گذاری درایو USB با استفاده از فایل autorun.inf" t IDCANCEL "خروج" t IDC_START "شروع" -t IDS_ADVANCED_OPTIONS_GRP "تنظیمات پیشرفته" -t IDC_ENABLE_FIXED_DISKS "نمایش هارد دیسک‌های اکسترنال در فهرست درایوهای USB موجود" +t IDC_LIST_USB_HDD "نمایش هارد دیسک‌های اکسترنال در فهرست درایوهای USB موجود" # Note: It is acceptable to drop the parenthesis () below if you are running out of space # as there is a tooltip (MSG_169) providing these details. -t IDC_EXTRA_PARTITION "بهسازی و اصلاح تنظیمات برای شناسایی بهتر درایو در BIOSهای قدیمی" +t IDC_OLD_BIOS_FIXES "بهسازی و اصلاح تنظیمات برای شناسایی بهتر درایو در BIOSهای قدیمی" # 'MBR': See http://en.wikipedia.org/wiki/Master_boot_record # Rufus can install it's own custom MBR (the Rufus MBR), which also allows users # to specify a custom disk ID for the BIOS. Note: the tooltip for this control is MSG_167. @@ -11391,16 +10545,11 @@ t IDC_RUFUS_MBR "استفاده از Rufus MBR با BIOS ID برابر با" # About dialog g IDD_ABOUTBOX -s IDC_ABOUT_LICENSE +45,0 -m IDC_ABOUT_UPDATES +45,0 -s IDC_ABOUT_UPDATES +45,0 -m IDOK +20,0 # TRANSLATOR NOTE: To make the output looks correctly, there are two invisible Unicode directional formatting characters in the line below. # RLE (right-to-left embedding, UTF-8: 0xE2 0x80 0xAB) at the beginning of the string # PDF (pop directional formatting, UTF-8: 0xE2 0x80 0xAC) at the end of the string t IDD_ABOUTBOX "‫درباره Rufus‬" t IDC_ABOUT_LICENSE "پروانه نرم‌افزار (License)" -t IDC_ABOUT_UPDATES "به‌روزرسانی نرم‌افزار" t IDOK "بستن" # About -> License dialog @@ -11419,35 +10568,14 @@ t IDNO "خیر" # Log dialog g IDD_LOG -m IDC_LOG_CLEAR -290,0 -s IDC_LOG_CLEAR +10,0 -m IDC_LOG_SAVE -280,0 -s IDC_LOG_SAVE +10,0 # TRANSLATOR NOTE: In the line below 'RLE' & 'PDF' are used t IDD_LOG "‫گزارش ثبت‌شده (Log)‬" -t IDC_LOG_CLEAR "پاک کردن گزارش" -t IDC_LOG_SAVE "ذخیره گزارش" +t IDC_LOG_CLEAR "پاک کردن" +t IDC_LOG_SAVE "ذخیره" t IDCANCEL "بستن" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDC_POLICY +15,0 -s IDS_UPDATE_SETTINGS_GRP +45,0 -m IDS_UPDATE_SETTINGS_GRP -60,0 -s IDS_UPDATE_FREQUENCY_TXT +20,0 -m IDS_UPDATE_FREQUENCY_TXT -55,0 -s IDC_UPDATE_FREQUENCY +20,0 -m IDC_UPDATE_FREQUENCY -25,0 -s IDS_INCLUDE_BETAS_TXT +40,0 -m IDS_INCLUDE_BETAS_TXT -55,0 -s IDC_INCLUDE_BETAS +30,0 -m IDC_INCLUDE_BETAS -25,0 -s IDS_CHECK_NOW_GRP +10,0 -m IDS_CHECK_NOW_GRP -10,0 -s IDC_CHECK_NOW +25,0 -m IDC_CHECK_NOW -20,0 -s IDCANCEL +25,0 -m IDCANCEL -20,0 t IDD_UPDATE_POLICY "سیاست و تنظیمات به‌روزرسانی نرم‌افزار" t IDS_UPDATE_SETTINGS_GRP "تنظیمات" t IDS_UPDATE_FREQUENCY_TXT "بررسی و به‌روزرسانی خودکار:" @@ -11510,9 +10638,9 @@ t MSG_028 "مگابایت" t MSG_029 "پیش‌فرض" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (پیش‌فرض)" -t MSG_031 "الگوی پارتیشن‌بندی %s برای رایانه‌های دارای BIOS یا %s" -t MSG_032 "الگوی پارتیشن‌بندی %s برای رایانه‌های دارای BIOS" -t MSG_033 "الگوی پارتیشن‌بندی %s برای رایانه‌های دارای UEFI" +#t MSG_031 "الگوی پارتیشن‌بندی %s برای رایانه‌های دارای BIOS یا %s" +#t MSG_032 "الگوی پارتیشن‌بندی %s برای رایانه‌های دارای BIOS" +#t MSG_033 "الگوی پارتیشن‌بندی %s برای رایانه‌های دارای UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d گذره" t MSG_035 "%d گذره" @@ -11582,10 +10710,6 @@ t MSG_084 "انگار این فایل ISO از نسخه قدیمی «%s» است "نکته: این فایل در پوشه نرم‌افزار دانلود می‌شود و در دفعات بعد به‌صورت خودکار از آن استفاده خواهد شد." t MSG_085 "در حال دانلود کردن '%s'" t MSG_086 "فایل ایمیج انتخاب نشده است" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "لطفاً با کلیک بر روی آیکون CD یک فایل ایمیج (Image) انتخاب کنید؛ " - "یا گزینه «ساخت درایو راه‌انداز (Bootable) با استفاده از» را غیرفعال کنید." t MSG_088 "فایل ایمیج بیش از اندازه بزرگ است" t MSG_089 "اندازه فایل ایمیج (Image) از ظرفیت درایو انتخاب‌شده بیشتر است." t MSG_090 "خطا در انتخاب فایل ISO" @@ -11632,7 +10756,7 @@ t MSG_106 "لطفاً یک پوشه انتخاب کنید" t MSG_107 "همه فایل‌ها" t MSG_108 "گزارش Rufus" t MSG_109 "0x%02X (دیسک %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS با استفاده از درایوی که اندازه کلاستر آن ۶۴ کیلوبایت است؛ راه‌اندازی (Boot) نمی‌شود.\n" "لطفاً اندازه کلاستر را تغییر دهید یا از FreeDOS استفاده کنید." @@ -11680,7 +10804,6 @@ t MSG_159 "شما می‌توانید برای درایو USB موردنظر؛ t MSG_160 "نمایش دادن/پنهان کردن تنظیمات پیشرفته" t MSG_161 "بررسی وجود بدسکتور (Bad sector) در حافظه و درایو موردنظر با استفاده از یک الگوی آزمایش (Test pattern)" t MSG_162 "برای فرمت کردن به روش آهسته یا کامل (Full format) این گزینه را غیرفعال کنید." -t MSG_163 "اگر می‌خواهید یک درایو USB با قابلیت راه‌اندازی (Bootable) بسازید؛ این گزینه را انتخاب کنید." t MSG_164 "انتخاب روش و نوع فایلی که می‌خواهید با استفاده از آن یک درایو USB با قابلیت راه‌اندازی بسازید" t MSG_165 "برای انتخاب فایل ایمیج (Image) کلیک کنید." t MSG_166 "اگر نامی که برای درایو موردنظر انتخاب کرده‌اید طولانی و یا دارای حروف غیر انگلیسی است " @@ -11857,11 +10980,6 @@ t MSG_275 "ایمیجی که شما انتخاب کرده‌اید از نوع t MSG_276 "نوشتن به روش «%s» (پیشنهاد برنامه)" # '%s' below will be replaced with your translation for MSG_095 ("DD Image") t MSG_277 "نوشتن به روش «%s»" -# The following will be used for new controls of the Rufus 3.0 interface -# They are added as messages, so that I will have them available when needed. -# 278 & 280 will be dropdown titles, similar to how IDS_DEVICE_TXT or IDS_PARTITION_TYPE_TXT are used -# 279 & 281 will be items that can appear in the dropdowns -t MSG_278 "نوع راه‌اندازی (Boot)" t MSG_279 "غیرقابل راه‌اندازی (Non bootable)" t MSG_280 "انتخاب ایمیج (Image)" t MSG_281 "(لطفاً یک ایمیج انتخاب کنید)" @@ -11887,6 +11005,8 @@ t MSG_297 "‫فایل ISO ناقص شناسایی شده است‬" t MSG_298 "‫این فایل ISO که انتخاب کرده‌اید با اندازه تعیین شده در آن هماهنگی ندارد.‬ ‬‫%s از داده‌ها موجود نیست!‬\n\n" "‫اگر این فایل را از اینترنت دانلود کرده‌اید، لطفا نسخه‌ای جدید از آن را دانلود کرده و مطمئن شوید که مقادیر کنترلی MD5 یا SHA آن عینا برابر با مقادیر رسمی آن‌هاست.‬\n\n" "‫توجه داشته باشید که در Rufus می‌توانید با انتخاب دکمه '#' مقادیر MD5 یا SHA را محاسبه کنید.‬" +t MSG_117 "نصب ویندوز به روش استاندارد و رایج" +t MSG_118 "استفاده از ویژگی «Windows To Go»" ################################################################################ l "pl-PL" "Polish (Polski)" 0x0415 @@ -11896,57 +11016,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG +40,0 -s IDS_FORMAT_OPTIONS_GRP +40,0 -s IDC_PROGRESS +40,0 -s IDC_DEVICE +40,0 -s IDC_PARTITION_TYPE +40,0 -s IDC_FILESYSTEM +40,0 -s IDC_CLUSTERSIZE +40,0 -s IDC_LABEL +40,0 -s IDS_ADVANCED_OPTIONS_GRP +40,0 -s IDC_ENABLE_FIXED_DISKS +40,0 -s IDC_EXTRA_PARTITION +40,0 -s IDC_RUFUS_MBR +40,0 -s IDC_BADBLOCKS +100,0 -s IDC_NBPASSES -60,0 -m IDC_NBPASSES +100,0 -s IDC_BOOT +40,0 -m IDC_BOOTTYPE +40,0 -m IDC_SELECT_ISO +40,0 -s IDC_INFO +40,0 -s IDC_RUFUS_MBR +40,0 -m IDC_DISK_ID +40,0 -s IDC_ABOUT +10,0 -m IDC_LOG +10,0 -m IDC_START +40,0 -m IDCANCEL +40,0 - t IDS_DEVICE_TXT "Urządzenie" +t IDS_BOOT_SELECTION_TXT "Typ bootowania" t IDS_PARTITION_TYPE_TXT "Schemat partycjonowania i typ systemu docelowego" -t IDS_FILESYSTEM_TXT "System plików" -t IDS_CLUSTERSIZE_TXT "Rozmiar jednostki alokacji" +t IDS_FILE_SYSTEM_TXT "System plików" +t IDS_CLUSTER_SIZE_TXT "Rozmiar jednostki alokacji" t IDS_LABEL_TXT "Nowa nazwa woluminu" -t IDS_FORMAT_OPTIONS_GRP "Opcje Formatowania" -t IDC_BADBLOCKS "Szukaj błędnych sektorów na urządzeniu" -t IDC_QUICKFORMAT "Szybkie formatowanie" -t IDC_BOOT "Utwórz bootowalny dysk używając" -t IDC_WINDOWS_INSTALL "Standardowa instalacja Windowsa" -t IDC_SET_ICON "Utwórz rozszerzoną nazwę i pliki ikon" -t IDC_ABOUT "O programie..." -t IDC_LOG "Log" +t IDS_FORMAT_OPTIONS_TXT "Opcje Formatowania" +t IDC_BAD_BLOCKS "Szukaj błędnych sektorów na urządzeniu" +t IDC_QUICK_FORMAT "Szybkie formatowanie" +t IDC_EXTENDED_LABEL "Utwórz rozszerzoną nazwę i pliki ikon" t IDCANCEL "Zamknij" t IDC_START "Start" -t IDS_ADVANCED_OPTIONS_GRP "Zaawansowane Opcje" -t IDC_ENABLE_FIXED_DISKS "Pokaż Dyski Twarde USB" -t IDC_EXTRA_PARTITION "Dodaj łatkę dla starych BIOSów (dodatkowa partycja, itp.)" +t IDC_LIST_USB_HDD "Pokaż Dyski Twarde USB" +t IDC_OLD_BIOS_FIXES "Dodaj łatkę dla starych BIOSów (dodatkowa partycja, itp.)" t IDC_RUFUS_MBR "Użyj MBR Rufusa z ID BIOSu" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "O Rufusie" t IDC_ABOUT_LICENSE "Licencja" -t IDC_ABOUT_UPDATES "Aktualizacje" # About -> License dialog g IDD_LICENSE @@ -11962,31 +11051,18 @@ t IDNO "Nie" # Log dialog g IDD_LOG t IDD_LOG "Log" -t IDC_LOG_CLEAR "Wyczyść Log" -t IDC_LOG_SAVE "Zapisz Log" -t IDCANCEL "Zamknij Log" - -# About -> Updates -g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +10,0 -t IDD_UPDATE_POLICY "Polityka aktualizacji i ustawienia" -s IDC_POLICY +10,0 -t IDS_UPDATE_SETTINGS_GRP "Ustawienia" -s IDS_UPDATE_SETTINGS_GRP +9,0 -t IDS_UPDATE_FREQUENCY_TXT "Szukaj aktualizacji" -s IDS_UPDATE_FREQUENCY_TXT -10,0 -m IDC_UPDATE_FREQUENCY -20,0 -s IDC_UPDATE_FREQUENCY +30,0 -t IDS_INCLUDE_BETAS_TXT "Dołącz wersje beta" -m IDC_INCLUDE_BETAS -20,0 -m IDS_CHECK_NOW_GRP +9,0 -s IDS_CHECK_NOW_GRP +1,0 -t IDC_CHECK_NOW "Sprawdź teraz" -m IDC_CHECK_NOW +6,0 -s IDC_CHECK_NOW +6,0 +t IDC_LOG_CLEAR "Wyczyść" +t IDC_LOG_SAVE "Zapisz" +t IDCANCEL "Zamknij" + +# Update Settings +g IDD_UPDATE_POLICY +t IDD_UPDATE_POLICY "Polityka aktualizacji i ustawienia" +t IDS_UPDATE_SETTINGS_GRP "Ustawienia" +t IDS_UPDATE_FREQUENCY_TXT "Szukaj aktualizacji" +t IDS_INCLUDE_BETAS_TXT "Dołącz wersje beta" +t IDC_CHECK_NOW "Sprawdź teraz" t IDCANCEL "Zamknij" -m IDCANCEL +6,0 -s IDCANCEL +6,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -12037,9 +11113,9 @@ t MSG_028 "megabajtów" t MSG_029 "Domyślne" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Domyślne)" -t MSG_031 "Schemat partycjonowania %s dla BIOS lub %s" -t MSG_032 "Schemat partycjonowania %s dla BIOS" -t MSG_033 "Schemat partycjonowania %s dla UEFI" +#t MSG_031 "Schemat partycjonowania %s dla BIOS lub %s" +#t MSG_032 "Schemat partycjonowania %s dla BIOS" +#t MSG_033 "Schemat partycjonowania %s dla UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d Przebieg" t MSG_035 "%d Przebiegi" @@ -12109,10 +11185,6 @@ t MSG_084 "Ten plik ISO wydaje się być przestarzałą wersją '%s'.\n" "'%s' jest tutaj, zostanie użyte automatycznie." t MSG_085 "Pobieranie '%s'" t MSG_086 "Nie wybrano obrazu" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Proszę kliknąć na przycisku dysku aby wybrać bootowalny obraz, " - "lub odznaczyć pole \"Uwórz bootowalny dysk...\"." t MSG_088 "Obraz jest zbyt duży" t MSG_089 "Ten obraz jest zbyt duży dla wybranego celu." t MSG_090 "Niewspierane ISO" @@ -12155,7 +11227,7 @@ t MSG_106 "Proszę wybrać folder" t MSG_107 "Wszystkie pliki" t MSG_108 "Rufus log" t MSG_109 "0x%02X (Dysk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS nie może być uruchomiony z dysku korzystającego z 64 kilobajtowego Rozmiaru jednostki alokacji.\n" "Proszę zmienić Rozmiar jednostki alokacji lub użyć FreeDOSa." @@ -12201,7 +11273,6 @@ t MSG_159 "Użyj tego pola aby ustawić etykietę dysku\nZnaki międzynarodowe s t MSG_160 "Przełącz opcje zaawansowane" t MSG_161 "Sprawdź urządzenie pod kątem błędnych sektorów używając wzoru testoego" t MSG_162 "Odznacz to pole aby użyć \"wolnej\" metody formatowania" -t MSG_163 "Zaznacz to pole aby stworzyć dysk bootowalny" t MSG_164 "Metoda która zostanie użyta aby uczynić dysk bootowalnym" t MSG_165 "Kliknij aby wybrać obraz..." t MSG_166 "Zaznacz to pole aby zezwolić na wyświetlanie etykiet międzynarodowych " @@ -12352,7 +11423,6 @@ t MSG_275 "Obraz który wybrałeś to obraz 'ISOHybrid'. To znacza iż może zos "Proszę wybrać tryb którego chcesz użyć do zapisania tego obrazu:" t MSG_276 "Zapisz w trybie %s (zalecane)" t MSG_277 "Zapisz w trybie %s" -t MSG_278 "Typ bootowania" t MSG_279 "Niebootowalne" t MSG_280 "Wybór obrazu" t MSG_281 "(Proszę wybrać obraz)" @@ -12376,6 +11446,7 @@ t MSG_297 "Wykryto obcięte ISO" t MSG_298 "Rozmiar pliku ISO który wybrałeś nie zgadza się z jego deklarowanym rozmiarem: brakuje %s danych!\n\nJeżeli uzyskałeś ten plik " "z internetu, powinieneś spróbować pobrać nową kopię oraz zweryfikować, że sumy kontrolne MD5 lub SHA zgadzają się " "z oficjalnymi.\n\nZauważ, że możesz obliczyć sumy MD5 lub SHA w Rufusie klikając przycisk '#'." +t MSG_117 "Standardowa instalacja Windowsa" ################################################################################ l "pt-BR" "Portuguese Brazilian (Português do Brasil)" 0x0416 @@ -12385,50 +11456,31 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "Dispositivo" +t IDS_BOOT_SELECTION_TXT "Tipo de inicialização" t IDS_PARTITION_TYPE_TXT "Esquema de partição e tipo do sistema de destino" -t IDS_FILESYSTEM_TXT "Sistema de arquivos" -t IDS_CLUSTERSIZE_TXT "Tamanho do cluster" +t IDS_FILE_SYSTEM_TXT "Sistema de arquivos" +t IDS_CLUSTER_SIZE_TXT "Tamanho do cluster" t IDS_LABEL_TXT "Novo nome do volume" -t IDS_FORMAT_OPTIONS_GRP "Opções de formatação" +t IDS_FORMAT_OPTIONS_TXT "Opções de formatação" # Note: The button (IDC_ADVANCED) that appears next to "Format Options" is repositioned automatically. -t IDC_BADBLOCKS "Procurar blocos defeituosos" -s IDC_BADBLOCKS +4,0 -t IDC_QUICKFORMAT "Formatação rápida" -t IDC_BOOT "Criar disco inicializável com" -t IDC_WINDOWS_INSTALL "Instalação Padrão do Windows" -# Only translate if Microsoft has a specific name for http://en.wikipedia.org/wiki/Windows_To_Go in your language -# Otherwise, you can add a parenthesis eg. "Windows To Go (hint at what it does)" and/or use the tooltip (MSG_200) -t IDC_WINDOWS_TO_GO "Windows To Go (Windows Para Levar)" -t IDC_SET_ICON "Criar arquivos de nome estendido e ícone" -t IDC_ABOUT "Sobre..." -s IDC_ABOUT -5,0 -t IDC_LOG "Registro..." -s IDC_LOG +50,0 -m IDC_LOG -5,0 +t IDC_BAD_BLOCKS "Procurar blocos defeituosos" +t IDC_QUICK_FORMAT "Formatação rápida" +t IDC_EXTENDED_LABEL "Criar arquivos de nome estendido e ícone" t IDCANCEL "Fechar" t IDC_START "Iniciar" -t IDS_ADVANCED_OPTIONS_GRP "Opções Avançadas" -t IDC_ENABLE_FIXED_DISKS "Listar Discos Rígidos USB" +t IDC_LIST_USB_HDD "Listar Discos Rígidos USB" # Note: It is acceptable to drop the parenthesis () below if you are running out of space # as there is a tooltip (MSG_169) providing these details. -t IDC_EXTRA_PARTITION "Opções de compatibilidade para BIOSs antigos" +t IDC_OLD_BIOS_FIXES "Opções de compatibilidade para BIOSs antigos" # 'MBR': See http://en.wikipedia.org/wiki/Master_boot_record # Rufus can install it's own custom MBR (the Rufus MBR), which also allows users # to specify a custom disk ID for the BIOS. Note: the tooltip for this control is MSG_167. t IDC_RUFUS_MBR "Usar MBR do Rufus com ID de BIOS" -s IDC_RUFUS_MBR +25,0 -s IDC_DISK_ID -25,0 -m IDC_DISK_ID +25,0 # About dialog g IDD_ABOUTBOX -s IDC_ABOUT_BLURB 0,14 -m IDC_ABOUT_COPYRIGHTS 0,14 -s IDC_ABOUT_COPYRIGHTS 0,-14 t IDD_ABOUTBOX "Sobre o Rufus" t IDC_ABOUT_LICENSE "Licença" -t IDC_ABOUT_UPDATES "Atualizações" -s IDC_ABOUT_UPDATES +25,0 # About -> License dialog g IDD_LICENSE @@ -12444,26 +11496,12 @@ t IDNO "Não" # Log dialog g IDD_LOG t IDD_LOG "Registro dos eventos" -t IDC_LOG_CLEAR "Limpar o Registro" -s IDC_LOG_CLEAR +30,0 -m IDC_LOG_CLEAR -70,0 -t IDC_LOG_SAVE "Salvar o Registro" -s IDC_LOG_SAVE +40,0 -m IDC_LOG_SAVE -40,0 +t IDC_LOG_CLEAR "Limpar" +t IDC_LOG_SAVE "Salvar" t IDCANCEL "Fechar" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +20,0 -s IDC_POLICY +20,0 -s IDS_UPDATE_SETTINGS_GRP +25,0 -m IDC_UPDATE_FREQUENCY -6,0 -s IDC_UPDATE_FREQUENCY +34,0 -m IDC_INCLUDE_BETAS -6,0 -m IDS_CHECK_NOW_GRP +25,0 -s IDS_CHECK_NOW_GRP -5,0 -m IDC_CHECK_NOW +22,0 -m IDCANCEL +22,0 t IDD_UPDATE_POLICY "Configurações e política de atualização" t IDS_UPDATE_SETTINGS_GRP "Configurações" t IDS_UPDATE_FREQUENCY_TXT "Procurar atualizações:" @@ -12520,9 +11558,9 @@ t MSG_028 "megabytes" t MSG_029 "Padrão" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Padrão)" -t MSG_031 "Partição %s para BIOS ou %s" -t MSG_032 "Partição %s para BIOS" -t MSG_033 "Partição %s para UEFI" +#t MSG_031 "Partição %s para BIOS ou %s" +#t MSG_032 "Partição %s para BIOS" +#t MSG_033 "Partição %s para UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d passo" t MSG_035 "%d passos" @@ -12593,10 +11631,6 @@ t MSG_084 "Parece que esta imagem ISO usa uma versão obsoleta do arquivo '%s'.\ "exista um arquivo\n '%s' nela, ele será reutilizado automaticamente." t MSG_085 "Baixando '%s'" t MSG_086 "Nenhuma imagem ISO foi selecionada" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Clique no botão de disco para selecionar uma imagem inicializável, " - "ou desmarque a opção \"Criar disco inicializável...\"." t MSG_088 "Imagem ISO muito grande" t MSG_089 "A imagem ISO é muito grande para o destino selecionado." t MSG_090 "ISO não suportada" @@ -12642,7 +11676,7 @@ t MSG_106 "Selecione a pasta" t MSG_107 "Todos os arquivos" t MSG_108 "Registro de eventos do Rufus" t MSG_109 "0x%02X (Disco %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "O MS-DOS não se inicializa a partir de um drive com um Tamanho do cluster de 64 quilobytes.\n" "Por favor, altere o Tamanho do cluster ou use o FreeDOS." @@ -12691,7 +11725,6 @@ t MSG_159 "Use este campo para definir o nome do drive\nCaracteres acentuados s t MSG_160 "Exibir opções avançadas" t MSG_161 "Verificar o dispositivo para blocos defeituosos usando um padrão de teste" t MSG_162 "Desmarque esta opção para usar o método de formatação \"lento\" " -t MSG_163 "Marque esta opção para tornar a unidade USB inicializável" t MSG_164 "Método que será usado para tornar a unidade inicializável" t MSG_165 "Clique para selecionar uma imagem..." t MSG_166 "Selecione esta opção para permitir a exibição de caracteres acentuados " @@ -12854,11 +11887,6 @@ t MSG_275 "A imagem que você selecionou é do tipo 'ISOHybrid'. Isso significa t MSG_276 "Gravar no modo %s (Recomendado)" # '%s' below will be replaced with your translation for MSG_095 ("DD Image") t MSG_277 "Gravar no modo %s" -# The following will be used for new controls of the Rufus 3.0 interface -# They are added as messages, so that I will have them available when needed. -# 278 & 280 will be dropdown titles, similar to how IDS_DEVICE_TXT or IDS_PARTITION_TYPE_TXT are used -# 279 & 281 will be items that can appear in the dropdowns -t MSG_278 "Tipo de inicialização" t MSG_279 "Não inicializável" t MSG_280 "Seleção de imagem" t MSG_281 "(Por favor, selecione uma imagem)" @@ -12886,8 +11914,10 @@ t MSG_298 "O arquivo ISO selecionado não corresponde ao seu tamanho declarado: "clicando no botão '#'." t MSG_299 "Erro de validação da marca temporal" t MSG_300 "O Rufus não pôde validar que a marca temporal da atualização baixada é mais recente do que aquela do " - "executável atual.\n\nPara evitar possíveis cenários de ataque, o processo de atualização foi interrompido e " - "o arquivo baixado será excluído. Verifique o registro para obter mais detalhes." + "executável atual.\n\nPara evitar possíveis cenários de ataque, o processo de atualização foi interrompido e " + "o arquivo baixado será excluído. Verifique o registro para obter mais detalhes." +t MSG_117 "Instalação Padrão do Windows" +t MSG_118 "Windows To Go (Windows Para Levar)" ################################################################################ l "pt-PT" "Portuguese Standard (Português)" 0x0816 @@ -12897,38 +11927,25 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "Dispositivo/Disco" +t IDS_BOOT_SELECTION_TXT "Tipo de arranque" t IDS_PARTITION_TYPE_TXT "Tipo de partição e tipo de sistema destino" -t IDS_FILESYSTEM_TXT "Sistema de ficheiros" -t IDS_CLUSTERSIZE_TXT "Tamanho de cluster" +t IDS_FILE_SYSTEM_TXT "Sistema de ficheiros" +t IDS_CLUSTER_SIZE_TXT "Tamanho de cluster" t IDS_LABEL_TXT "Novo nome" -t IDS_FORMAT_OPTIONS_GRP "Opções de formatação" -t IDC_BADBLOCKS "Procurar erros no disco USB" -s IDC_BADBLOCKS +4,0 -t IDC_QUICKFORMAT "Formatação rápida" -t IDC_BOOT "Criar disco de arranque com" -t IDC_WINDOWS_INSTALL "Instalação Standard em Windows" -t IDC_SET_ICON "Criar nomes estendidos e ícones" -t IDC_ABOUT "Sobre..." -s IDC_ABOUT -5,0 -t IDC_LOG "Histórico..." -s IDC_LOG +40,0 -m IDC_LOG -5,0 +t IDS_FORMAT_OPTIONS_TXT "Opções de formatação" +t IDC_BAD_BLOCKS "Procurar erros no disco USB" +t IDC_QUICK_FORMAT "Formatação rápida" +t IDC_EXTENDED_LABEL "Criar nomes estendidos e ícones" t IDCANCEL "Fechar" t IDC_START "Iniciar" -t IDS_ADVANCED_OPTIONS_GRP "Opções avançadas" -t IDC_ENABLE_FIXED_DISKS "Mostrar drives USB" -t IDC_EXTRA_PARTITION "Opções de compatibilidade para BIOS antigas" +t IDC_LIST_USB_HDD "Mostrar drives USB" +t IDC_OLD_BIOS_FIXES "Opções de compatibilidade para BIOS antigas" t IDC_RUFUS_MBR "Usar MBR do Rufus, ID de BIOS" -s IDC_RUFUS_MBR +25,0 -s IDC_DISK_ID -25,0 -m IDC_DISK_ID +25,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Informações do Produto" t IDC_ABOUT_LICENSE "Licença" -t IDC_ABOUT_UPDATES "Atualizações" -s IDC_ABOUT_UPDATES +25,0 # About -> License dialog g IDD_LICENSE @@ -12944,26 +11961,12 @@ t IDNO "Não" # Log dialog g IDD_LOG t IDD_LOG "Histórico de eventos" -t IDC_LOG_CLEAR "Limpar o histórico" -s IDC_LOG_CLEAR +30,0 -m IDC_LOG_CLEAR -70,0 -t IDC_LOG_SAVE "Guardar o histórico" -s IDC_LOG_SAVE +40,0 -m IDC_LOG_SAVE -40,0 +t IDC_LOG_CLEAR "Limpar" +t IDC_LOG_SAVE "Guardar" t IDCANCEL "Fechar" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +20,0 -s IDC_POLICY +20,0 -s IDS_UPDATE_SETTINGS_GRP +25,0 -m IDC_UPDATE_FREQUENCY -6,0 -s IDC_UPDATE_FREQUENCY +34,0 -m IDC_INCLUDE_BETAS -6,0 -m IDS_CHECK_NOW_GRP +25,0 -s IDS_CHECK_NOW_GRP -5,0 -m IDC_CHECK_NOW +22,0 -m IDCANCEL +22,0 t IDD_UPDATE_POLICY "Configuração da atualização automática" t IDS_UPDATE_SETTINGS_GRP "Configurações" t IDS_UPDATE_FREQUENCY_TXT "Procurar atualizações" @@ -13020,9 +12023,9 @@ 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 "Partição %s para BIOS ou %s" -t MSG_032 "Partição %s para BIOS" -t MSG_033 "Partição %s para UEFI" +#t MSG_031 "Partição %s para BIOS ou %s" +#t MSG_032 "Partição %s para BIOS" +#t MSG_033 "Partição %s para UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d passo" t MSG_035 "%d passos" @@ -13092,10 +12095,6 @@ t MSG_084 "Esta imagem ISO usa uma versão obsoleta do ficheiro '%s'.\n" "o ficheiro\n '%s' já existir, será substituído automaticamente." t MSG_085 "A transferir '%s'" t MSG_086 "Nenhuma imagem selecionada" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Pressione o botão de disco para selecionar uma imagem inicializável, " - "ou desmarque a opção de \"Criar um disco de arranque...\"." t MSG_088 "Imagem demasiado grande" t MSG_089 "A imagem é demasiado grande para o destino selecionado." t MSG_090 "ISO não suportado" @@ -13139,7 +12138,7 @@ t MSG_106 "Selecione a pasta" t MSG_107 "Todos os ficheiros" t MSG_108 "Registro de eventos de Rufus" t MSG_109 "0x%02X (Disco %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS não arranca de um disco com um tamanho de cluster de 64 kilobytes.\n" "Por favor altere o tamanho de cluster ou use FreeDOS." @@ -13185,7 +12184,6 @@ t MSG_159 "Use este campo para atribuir o nome ao volume\nPodem ser caracteres a t MSG_160 "Mostrar opções avançadas" t MSG_161 "Verificação de erros no dispositivo com o padrão de teste" t MSG_162 "Desmarque esta opção para usar o método de formatação \"lento\" " -t MSG_163 "Marque esta opção para fazer a unidade USB inicializável" t MSG_164 "Método a usar para fazer a unidade inicializável" t MSG_165 "Selecionar uma imagem ..." t MSG_166 "Selecione esta opção para permitir a exibição de caracteres acentuados " @@ -13338,7 +12336,6 @@ t MSG_275 "A imagem selecionada é uma 'ISOHybrid'. Isto significa que pode ser "Selecione o modo que realmente pretende para escrever esta imagem:" t MSG_276 "Escrever no modo %s (Recomendado)" t MSG_277 "Escrever no modo %s -t MSG_278 "Tipo de arranque" t MSG_279 "Não inicializável" t MSG_280 "Seleção da Imagem" t MSG_281 "(Selecione a imagem)" @@ -13362,6 +12359,7 @@ t MSG_297 "Detetado ISO truncado" t MSG_298 "O ficheiro ISO que selecionou não corresponde ao tamanho declarado: faltam %s de dados!\n\nSe obteve este ficheiro " "da Internet, deve tentar baixar uma nova cópia e verificar se os checksums MD5 ou SHA correspondem aos oficiais.\n\n" "Saiba no Rufus que pode calcular o MD5 ou SHA clicando no botão '#'." +t MSG_117 "Instalação Standard em Windows" ################################################################################ l "ro-RO" "Romanian (Română)" 0x0418, 0x0818 @@ -13370,76 +12368,46 @@ b "en-US" g IDD_DIALOG t IDS_DEVICE_TXT "Dispozitiv" +t IDS_BOOT_SELECTION_TXT "Tipul de boot-are" t IDS_PARTITION_TYPE_TXT "Schema de partiționare și tipul sistemului țintă" -t IDS_FILESYSTEM_TXT "Sistemul de fișiere" -t IDS_CLUSTERSIZE_TXT "Mărimea unității de alocare" +t IDS_FILE_SYSTEM_TXT "Sistemul de fișiere" +t IDS_CLUSTER_SIZE_TXT "Mărimea unității de alocare" t IDS_LABEL_TXT "Eticheta noului volum" -t IDS_FORMAT_OPTIONS_GRP "Opțiuni de formatare" -t IDC_BADBLOCKS "Testează blocuri defecte" -t IDC_QUICKFORMAT "Formatare rapidă" -t IDC_BOOT "Creează disc USB boot-abil cu" -t IDC_WINDOWS_INSTALL "Instalare standard pentru Windows" -t IDC_WINDOWS_TO_GO "Windows To Go (Pornire Windows)" -t IDC_SET_ICON "Creează etichete extinse și pictograme" -t IDC_ABOUT "Despre..." -s IDC_ABOUT -16,0 -t IDC_LOG "Registru" -s IDC_LOG +26,0 -m IDC_LOG -14,0 +t IDS_FORMAT_OPTIONS_TXT "Opțiuni de formatare" +t IDC_BAD_BLOCKS "Testează blocuri defecte" +t IDC_QUICK_FORMAT "Formatare rapidă" +t IDC_EXTENDED_LABEL "Creează etichete extinse și pictograme" t IDCANCEL "Închide" t IDC_START "Începe" -t IDS_ADVANCED_OPTIONS_GRP "Opțiuni avansate" -t IDC_ENABLE_FIXED_DISKS "Lista Hard-uri USB" -t IDC_EXTRA_PARTITION "Adaugă remedieri pentru BIOS-ul vechi" +t IDC_LIST_USB_HDD "Lista Hard-uri USB" +t IDC_OLD_BIOS_FIXES "Adaugă remedieri pentru BIOS-ul vechi" t IDC_RUFUS_MBR "Utilizați MBR Rufus cu BIOS-ul" -s IDC_RUFUS_MBR +5,0 -m IDC_DISK_ID +5,0 -s IDC_DISK_ID -5,0 g IDD_ABOUTBOX t IDD_ABOUTBOX "Despre Rufus" t IDC_ABOUT_LICENSE "Licența" -t IDC_ABOUT_UPDATES "Actualizări" -s IDC_ABOUT_UPDATES +10,0 g IDD_LICENSE t IDD_LICENSE "Licența Rufus" g IDD_NOTIFICATION t IDC_MORE_INFO "Mai multe informații" -s IDC_MORE_INFO +10,0 t IDYES "Da" t IDNO "Nu" g IDD_LOG t IDD_LOG "Registru" -t IDC_LOG_CLEAR "Șterge registru" -s IDC_LOG_CLEAR +20,0 -m IDC_LOG_CLEAR -40,0 -t IDC_LOG_SAVE "Salvează registru" -s IDC_LOG_SAVE +20,0 -m IDC_LOG_SAVE -20,0 +t IDC_LOG_CLEAR "Șterge" +t IDC_LOG_SAVE "Salvează" t IDCANCEL "Închide" g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +30,0 -s IDC_POLICY +30,0 t IDD_UPDATE_POLICY "Setări politică de actualizare" t IDS_UPDATE_SETTINGS_GRP "Setări" -s IDS_UPDATE_SETTINGS_GRP +28,0 t IDS_UPDATE_FREQUENCY_TXT "Verificare actualizări" -s IDS_UPDATE_FREQUENCY_TXT -3,0 t IDS_INCLUDE_BETAS_TXT "Include versiuni beta" -m IDC_UPDATE_FREQUENCY -3,0 -m IDC_INCLUDE_BETAS -3,0 -s IDC_UPDATE_FREQUENCY +20,0 -m IDS_CHECK_NOW_GRP +28,0 t IDC_CHECK_NOW "Verifică acum" -m IDC_CHECK_NOW +25,0 -s IDC_CHECK_NOW +4,0 t IDCANCEL "Închide" -m IDCANCEL +25,0 -s IDCANCEL +4,0 g IDD_NEW_VERSION t IDD_NEW_VERSION "Rufus - Verificare actualizări" @@ -13484,9 +12452,9 @@ t MSG_027 "kilo-octeți" t MSG_028 "megaocteți" t MSG_029 "Standard" t MSG_030 "%s (Standard)" -t MSG_031 "Schema de partiție %s cu BIOS sau %s" -t MSG_032 "Schema de partiție %s cu BIOS" -t MSG_033 "Schema de partiție %s cu UEFI" +#t MSG_031 "Schema de partiție %s cu BIOS sau %s" +#t MSG_032 "Schema de partiție %s cu BIOS" +#t MSG_033 "Schema de partiție %s cu UEFI" t MSG_034 "%d pas" t MSG_035 "%d pași" t MSG_036 "Imagine ISO" @@ -13553,8 +12521,6 @@ t MSG_084 "Acest lucru arată ca utilizați o versiune învechită a '%s'.\n" "descărcat '%s', va fi reutilizat automat." t MSG_085 "Descărcare '%s'" t MSG_086 "Nici o imagine selectată" -t MSG_087 "Faceți clic pe butonul Disk pentru a selecta un fișier, imagine boot-abilă, " - "sau debifează \"A crea un disc boot-abil cu ajutorul\"." t MSG_088 "Imagine prea mare" t MSG_089 "Această imagine este prea mare pentru acest dispozitiv." t MSG_090 "Formatul ISO nu este acceptat" @@ -13639,7 +12605,6 @@ t MSG_159 "Utilizați acest câmp pentru a seta eticheta unității\ncaractere i t MSG_160 "Activează / dezactivează opțiuni avansate" t MSG_161 "Activați această opțiune pentru a efectua o verificare pentru blocuri defecte pe dispozitiv utilizând un model de test" t MSG_162 "Debifați această opțiune pentru a utiliza metoda de formatare complet, ci 'lent'" -t MSG_163 "Activați această opțiune pentru a face unitatea USB boot-abil" t MSG_164 "Definește metoda care va fi folosită pentru a face unitatea USB boot-abilă" t MSG_165 "Selectați imaginea..." t MSG_166 "Activați această opțiune pentru a permite afișarea etichetelor internaționale " @@ -13767,7 +12732,6 @@ t MSG_275 "Imaginea selectată este 'ISOHybrid'. Înseamnă că poate fi scris f "Selectați modul care doriți să-l utilizați pentru a scrie această imagine:" t MSG_276 "Scriere in modul %s (Recomandat)" t MSG_277 "Scriere in modul %s" -t MSG_278 "Tipul de boot-are" t MSG_279 "Imagine nebootabilă" t MSG_280 "Selectare imagine" t MSG_281 "(Vă rugăm, selectați o imagine)" @@ -13791,6 +12755,8 @@ t MSG_297 "S-a detectat un ISO trunchiat" t MSG_298 "Fișierul ISO pe care l-ați selectat nu se potrivește dimensiunii sale declarate: %s de date lipsesc!\n\nDacă ați obținut " "acest fișier de pe Internet, ar trebui să încercați să descărcați o copie nouă și să verificați dacă sumele de control MD5 sau SHA se potrivesc " "cu cele oficiale.\n\nRețineți că puteți calcula MD5 sau SHA în Rufus făcând clic pe butonul '#'." +t MSG_117 "Instalare standard pentru Windows" +t MSG_118 "Windows To Go (Pornire Windows)" ################################################################################ l "ru-RU" "Russian (Русский)" 0x0419, 0x0819 @@ -13799,35 +12765,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDC_ABOUT +18,0 -m IDC_LOG +18,0 -s IDC_LOG +30,0 t IDS_DEVICE_TXT "Устройство" +t IDS_BOOT_SELECTION_TXT "Тип загрузки" t IDS_PARTITION_TYPE_TXT "Схема раздела и тип системного интерфейса" -t IDS_FILESYSTEM_TXT "Файловая система" -t IDS_CLUSTERSIZE_TXT "Размер кластера" +t IDS_FILE_SYSTEM_TXT "Файловая система" +t IDS_CLUSTER_SIZE_TXT "Размер кластера" t IDS_LABEL_TXT "Новая метка тома" -t IDS_FORMAT_OPTIONS_GRP "Параметры форматирования" -t IDC_BADBLOCKS "Проверить на плохие блоки" -t IDC_QUICKFORMAT "Быстрое форматирование" -t IDC_BOOT "Создать загрузочный диск" -t IDC_WINDOWS_INSTALL "Стандартная установка Windows" -t IDC_SET_ICON "Создать расширенную метку и значок устройства" -t IDC_ABOUT "О программе..." -t IDC_LOG "Журнал" +t IDS_FORMAT_OPTIONS_TXT "Параметры форматирования" +t IDC_BAD_BLOCKS "Проверить на плохие блоки" +t IDC_QUICK_FORMAT "Быстрое форматирование" +t IDC_EXTENDED_LABEL "Создать расширенную метку и значок устройства" t IDCANCEL "Закрыть" t IDC_START "Старт" -t IDS_ADVANCED_OPTIONS_GRP "Дополнительные параметры" -t IDC_ENABLE_FIXED_DISKS "Показывать внешние USB накопители" -t IDC_EXTRA_PARTITION "Добавить исправления для старых BIOS" +t IDC_LIST_USB_HDD "Показывать внешние USB накопители" +t IDC_OLD_BIOS_FIXES "Добавить исправления для старых BIOS" t IDC_RUFUS_MBR "Использовать MBR с BIOS ID" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "О программе Rufus" t IDC_ABOUT_LICENSE "Лицензия" -t IDC_ABOUT_UPDATES "Обновления" -s IDC_ABOUT_UPDATES +10,0 # About -> License dialog g IDD_LICENSE @@ -13837,43 +12794,24 @@ t IDCANCEL "Закрыть" # Notifications. You can trigger one of these by using Alt-R and re-launching Rufus g IDD_NOTIFICATION t IDC_MORE_INFO "Больше информации" -s IDC_MORE_INFO +20,0 t IDYES "Да" t IDNO "Нет" # Log dialog g IDD_LOG t IDD_LOG "Журнал" -t IDC_LOG_CLEAR "Очистить журнал" -m IDC_LOG_CLEAR -101,0 -s IDC_LOG_CLEAR +32,0 -t IDC_LOG_SAVE "Сохранить журнал" -m IDC_LOG_SAVE -70,0 -s IDC_LOG_SAVE +38,0 -t IDCANCEL "Закрыть журнал" -m IDCANCEL -32,0 -s IDCANCEL +32,0 +t IDC_LOG_CLEAR "Очистить" +t IDC_LOG_SAVE "Сохранить" +t IDCANCEL "Закрыть" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +100,0 -s IDC_POLICY +100,0 -m IDS_CHECK_NOW_GRP +119,0 -s IDS_CHECK_NOW_GRP -18,0 -m IDC_UPDATE_FREQUENCY +54,0 -s IDC_UPDATE_FREQUENCY +74,0 -m IDC_INCLUDE_BETAS +54,0 t IDD_UPDATE_POLICY "Политика обновления и параметры" t IDS_UPDATE_SETTINGS_GRP "Параметры" -s IDS_UPDATE_SETTINGS_GRP +119,0 t IDS_UPDATE_FREQUENCY_TXT "Проверка наличия обновлений" -s IDS_UPDATE_FREQUENCY_TXT +60,0 t IDS_INCLUDE_BETAS_TXT "Включая бета-версии" -s IDS_INCLUDE_BETAS_TXT +60,0 t IDC_CHECK_NOW "Проверить" -m IDC_CHECK_NOW +109,0 t IDCANCEL "Закрыть" -m IDCANCEL +109,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -13924,9 +12862,9 @@ t MSG_028 "МБ" t MSG_029 "По умолчанию" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (по умолчанию)" -t MSG_031 "%s для компьютеров с BIOS или %s" -t MSG_032 "%s для компьютеров с BIOS" -t MSG_033 "%s для компьютеров с UEFI" +#t MSG_031 "%s для компьютеров с BIOS или %s" +#t MSG_032 "%s для компьютеров с BIOS" +#t MSG_033 "%s для компьютеров с UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d проход" t MSG_035 "%d прохода" @@ -13994,10 +12932,6 @@ t MSG_084 "Выбранный ISO-образ использует устарев "Файл будет загружен в текущую директорию, а в случае наличия '%s' - заменен автоматически." t MSG_085 "Загружено '%s'" t MSG_086 "Не выбран образ" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Пожалуйста, нажмите на кнопку с диском для выбора загрузочного образа, " - "или снимите флажок с \"Создать загрузочный диск...\"." t MSG_088 "Образ слишком большой" t MSG_089 "Образ слишком большой для выбранного устройства." t MSG_090 "Неподдерживаемый ISO-образ" @@ -14075,7 +13009,6 @@ t MSG_159 "Запись новой метки тома\nПоддерживают t MSG_160 "Развернуть дополнительные параметры" t MSG_161 "Проверка устройства на наличие плохих (поврежденных) блоков с помощью таблицы байтов" t MSG_162 "Быстрое форматирование устройства" -t MSG_163 "Создать загрузочный USB диск" t MSG_164 "Метод загрузки" t MSG_165 "Нажмите, чтобы выбрать образ..." t MSG_166 "Разрешить отображение меток с международными символами и задать значок устройства\n(Создается autorun.inf)" @@ -14217,7 +13150,6 @@ t MSG_275 "Выбранный образ является 'ISOHybrid' образ "Однако, при возникновении проблем во время загрузки вы можете еще раз попробовать записать образ в %s режиме.\n\n" "Пожалуйста, выберите режим, который вы хотите использовать для записи выбранного образа:" t MSG_276 "Записать в %s режиме (Рекомендуется)" -t MSG_278 "Тип загрузки" t MSG_279 "Незагрузочный образ" t MSG_280 "Выбор образа" t MSG_281 "(Пожалуйста, выберите образ)" @@ -14235,6 +13167,7 @@ t MSG_291 "Выбор версии" t MSG_292 "Пожалуйста, выберите версию Windows, которую вы хотите установить:" t MSG_293 "Неподдерживаемая версия Windows" t MSG_294 "Эта версия Windows больше не поддерживается Rufus." +t MSG_117 "Стандартная установка Windows" ################################################################################ l "sr-SP" "Serbian (Srpski)" 0x241a, 0x081a, 0x181a, 0x2c1a, 0x701a, 0x7c1a @@ -14244,48 +13177,32 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "Uređaj" +t IDS_BOOT_SELECTION_TXT "Tip podizanja sistema" t IDS_PARTITION_TYPE_TXT "Particijska šema i ciljani sistem datoteka" -t IDS_FILESYSTEM_TXT "Sistem datoteka" -t IDS_CLUSTERSIZE_TXT "Veličina klastera" +t IDS_FILE_SYSTEM_TXT "Sistem datoteka" +t IDS_CLUSTER_SIZE_TXT "Veličina klastera" t IDS_LABEL_TXT "Naziv novog volumena" -t IDS_FORMAT_OPTIONS_GRP "Podešavanja formata" +t IDS_FORMAT_OPTIONS_TXT "Podešavanja formata" # Note: The button (IDC_ADVANCED) that appears next to "Format Options" is repositioned automatically. -s IDC_NBPASSES -55,0 -m IDC_NBPASSES 55,0 -s IDC_BADBLOCKS +55,0 -t IDC_BADBLOCKS "Provjeri prisutnost neispravnih blokova" -t IDC_QUICKFORMAT "Brzo formatiranje" -t IDC_BOOT "Izradi disk za podizanje iz" -t IDC_WINDOWS_INSTALL "Standardna instalacija Windows-a" -# Only translate if Microsoft has a specific name for http://en.wikipedia.org/wiki/Windows_To_Go in your language -# Otherwise, you can add a parenthesis eg. "Windows To Go (hint at what it does)" and/or use the tooltip (MSG_200) -t IDC_WINDOWS_TO_GO "Windows To Go" -t IDC_SET_ICON "Izradi produženu oznaku i ikone" -s IDC_ABOUT +10,0 -t IDC_ABOUT "O programu" -s IDC_LOG +32,0 -m IDC_LOG +10, 0 +t IDC_BAD_BLOCKS "Provjeri prisutnost neispravnih blokova" +t IDC_QUICK_FORMAT "Brzo formatiranje" +t IDC_EXTENDED_LABEL "Izradi produženu oznaku i ikone" t IDC_LOG "Zapisnik" t IDCANCEL "Zatvori" t IDC_START "Započni" -t IDS_ADVANCED_OPTIONS_GRP "Napredna podešavanja" -t IDC_ENABLE_FIXED_DISKS "Lista USB čvrstih diskova" +t IDC_LIST_USB_HDD "Lista USB čvrstih diskova" # Note: It is acceptable to drop the parenthesis () below if you are running out of space # as there is a tooltip (MSG_169) providing these details. -t IDC_EXTRA_PARTITION "Dodaj ispravke za stare BIOS-e (dodatne particije, itd.)" +t IDC_OLD_BIOS_FIXES "Dodaj ispravke za stare BIOS-e (dodatne particije, itd.)" # 'MBR': See http://en.wikipedia.org/wiki/Master_boot_record # Rufus can install it's own custom MBR (the Rufus MBR), which also allows users # to specify a custom disk ID for the BIOS. Note: the tooltip for this control is MSG_167. -m IDC_DISK_ID 20,0 -s IDC_DISK_ID -20,0 -s IDC_RUFUS_MBR +20,0 t IDC_RUFUS_MBR "Koristi Rufus MBR sa BIOS ID-em" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "O Rufus-u" t IDC_ABOUT_LICENSE "Licenca" -t IDC_ABOUT_UPDATES "Ažuriranja" t IDOK "U redu" # About -> License dialog @@ -14302,29 +13219,16 @@ t IDNO "Ne" # Log dialog g IDD_LOG t IDD_LOG "Zapisnik" -s IDC_LOG_CLEAR +14,0 -m IDC_LOG_CLEAR -46, 0 -t IDC_LOG_CLEAR "Obriši zapisnik" -s IDC_LOG_SAVE +12,0 -m IDC_LOG_SAVE -32, 0 -t IDC_LOG_SAVE "Sačuvaj zapisnik" -s IDCANCEL +20,0 -m IDCANCEL -20,0 -t IDCANCEL "Zatvori zapisnik" +t IDC_LOG_CLEAR "Obriši" +t IDC_LOG_SAVE "Sačuvaj" +t IDCANCEL "Zatvori" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +40,0 t IDD_UPDATE_POLICY "Polisa ažuriranja i podešavanja" -s IDC_POLICY +40,0 -s IDS_UPDATE_SETTINGS_GRP +40,0 t IDS_UPDATE_SETTINGS_GRP "Podešavanja" -s IDC_UPDATE_FREQUENCY +40,0 t IDS_UPDATE_FREQUENCY_TXT "Provjeri ažuriranja:" t IDS_INCLUDE_BETAS_TXT "Obuhvati beta verzije:" -m IDS_CHECK_NOW_GRP +40,0 -m IDC_CHECK_NOW +40,0 -m IDCANCEL +40,0 t IDC_CHECK_NOW "Provjeri" t IDCANCEL "Zatvori" @@ -14377,9 +13281,9 @@ t MSG_028 "megabajti" t MSG_029 "Uobičajeno" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Uobičajeno)" -t MSG_031 "%s particijska šema za BIOS ili %s" -t MSG_032 "%s particijska šema za BIOS" -t MSG_033 "%s particijska šema za UEFI" +#t MSG_031 "%s particijska šema za BIOS ili %s" +#t MSG_032 "%s particijska šema za BIOS" +#t MSG_033 "%s particijska šema za UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d sekvenca" t MSG_035 "%d sekvence" @@ -14451,10 +13355,6 @@ t MSG_084 "Ova ISO datoteka koristi zastarjelu verziju '%s'.\n" "datoteka '%s' postoji tamo, automatski će biti korišćena.\n" t MSG_085 "Preuzimam '%s'" t MSG_086 "Nije odabrana datoteka" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Pritisnite na dugme sa diskom za odabir datoteke za podizanje sistema, " - "ili poništite \"Izradi disk za podizanje iz\" polje." t MSG_088 "Datoteka je prevelika" t MSG_089 "Datoteka je prevelika za odabrani uređaj." t MSG_090 "Nepodržana ISO datoteka" @@ -14499,7 +13399,7 @@ t MSG_106 "Molimo odaberite folder" t MSG_107 "Sve datoteke" t MSG_108 "Rufus zapisnik" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS se ne može podići sa uređaja kod kojeg je veličina klastera 64 kilobajti.\n" "Molimo promijenite veličinu klastera ili odaberite FreeDOS." @@ -14546,7 +13446,6 @@ t MSG_159 "Ovdje unesite naziv za jedinicu diska\nInternacionalni karakteri su p t MSG_160 "Prikaži/Sakrij napredna podešavanja" t MSG_161 "Provjeri prisutnost neispravnih blokova pomoću test uzorka" t MSG_162 "Odznačite ovo polje kako bi koristili \"sporu\" metodu za formatiranje" -t MSG_163 "Označite ovo polje kako bi napravili USB uređaj sposoban za podizanje sistema" t MSG_164 "Metoda za izradu uređaja sposobnog za podizanje sistema" t MSG_165 "Kliknite za odabir datoteke..." t MSG_166 "Označite ovo polje kako biste dozvolili prikaz internacionalnih oznaka " @@ -14702,11 +13601,6 @@ t MSG_275 "Datoteka koju ste odabrali je 'ISOHybrid' datoteka. Takva datoteka mo t MSG_276 "Metodom %s (Preporučeno)" # '%s' below will be replaced with your translation for MSG_095 ("DD Image") t MSG_277 "Metodom %s" -# The following will be used for new controls of the Rufus 3.0 interface -# They are added as messages, so that I will have them available when needed. -# 278 & 280 will be dropdown titles, similar to how IDS_DEVICE_TXT or IDS_PARTITION_TYPE_TXT are used -# 279 & 281 will be items that can appear in the dropdowns -t MSG_278 "Tip podizanja sistema" t MSG_279 "Nije za podizane sistema" t MSG_280 "Odabir datoteke" t MSG_281 "(Molimo Vas odaberite datoteku)" @@ -14730,6 +13624,7 @@ t MSG_297 "ISO datoteka nije validna" t MSG_298 "ISO datoteka koju ste odabrali ne podudara se sa njenom zvaničnom veličinom: %s nedostaje!\n\nUkoliko ste preuzeli " "ovu datoteka sa Interneta, pokušajte da ponovo preuzmete kopiju ove datoteke i provjerite da li se podudara za zvaničnom datotekom pomoću " "MD5 ili SHA kontrolne sume.\n\nNapomena, možete izračunati kontrolnu sumu pomoću Rufus-a klikom na '#' dugme." +t MSG_117 "Standardna instalacija Windows-a" ################################################################################ l "sk-SK" "Slovak (Slovensky)" 0x041B @@ -14738,34 +13633,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDC_LOG +24,0 t IDS_DEVICE_TXT "Zariadenie" +t IDS_BOOT_SELECTION_TXT "Typ bootovania" t IDS_PARTITION_TYPE_TXT "Schéma oddielu a typ cieľového systému" -t IDS_FILESYSTEM_TXT "Súborový systém" -t IDS_CLUSTERSIZE_TXT "Veľkosť klastra" +t IDS_FILE_SYSTEM_TXT "Súborový systém" +t IDS_CLUSTER_SIZE_TXT "Veľkosť klastra" t IDS_LABEL_TXT "Nový názov zväzku" -t IDS_FORMAT_OPTIONS_GRP "Nastavenia formátovania" -t IDC_BADBLOCKS "Skontrolovať chybné bloky" -t IDC_QUICKFORMAT "Rýchle formátovanie" -t IDC_BOOT "Vytvoriť bootovateľný disk" -t IDC_WINDOWS_INSTALL "Štandardná inštalácia Windows (Inštalátor)" -t IDC_WINDOWS_TO_GO "Windows To Go (Prenosná verzia)" -t IDC_SET_ICON "Použiť poskytnutú menovku a súbory miniatúry" -t IDC_ABOUT "O programe" -t IDC_LOG "Záznam" +t IDS_FORMAT_OPTIONS_TXT "Nastavenia formátovania" +t IDC_BAD_BLOCKS "Skontrolovať chybné bloky" +t IDC_QUICK_FORMAT "Rýchle formátovanie" +t IDC_EXTENDED_LABEL "Použiť poskytnutú menovku a súbory miniatúry" t IDCANCEL "Zatvoriť" t IDC_START "Štart" -t IDS_ADVANCED_OPTIONS_GRP "Pokročilé nastavenia formátovania " -t IDC_ENABLE_FIXED_DISKS "Zobraziť zoznam USB pevných diskov (USB HDD)" -t IDC_EXTRA_PARTITION "Pridať úpravy pre staré BIOSy" +t IDC_LIST_USB_HDD "Zobraziť zoznam USB pevných diskov (USB HDD)" +t IDC_OLD_BIOS_FIXES "Pridať úpravy pre staré BIOSy" t IDC_RUFUS_MBR "Použiť MBR s BIOS ID" # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "O programe Rufus" t IDC_ABOUT_LICENSE "Licencia" -t IDC_ABOUT_UPDATES "Aktualizácia" -t IDOK "OK" # About -> License dialog g IDD_LICENSE @@ -14785,24 +13672,14 @@ t IDC_LOG_CLEAR "Vyčistiť" t IDC_LOG_SAVE "Uložiť" t IDCANCEL "Zatvoriť" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Zásady a nastavenia aktualizácií" t IDS_UPDATE_SETTINGS_GRP "Nastavenia automatických aktualizácií" t IDS_UPDATE_FREQUENCY_TXT "Aktualizácia" -s IDS_UPDATE_FREQUENCY_TXT -14,0 -m IDC_UPDATE_FREQUENCY -14,0 -s IDC_UPDATE_FREQUENCY +18,0 t IDS_INCLUDE_BETAS_TXT "Zahrnúť beta verzie" -s IDS_INCLUDE_BETAS_TXT -14,0 -m IDC_INCLUDE_BETAS -14,0 -s IDC_INCLUDE_BETAS +10,0 t IDC_CHECK_NOW "Skontrolovať" -s IDC_CHECK_NOW +6,0 -m IDC_CHECK_NOW -3,0 t IDCANCEL "Zavrieť" -s IDCANCEL +6,0 -m IDCANCEL -3,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -14853,9 +13730,9 @@ t MSG_028 "megabitov" t MSG_029 "Predvolené" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Predvolené)" -t MSG_031 "%s schéma oddielu pre BIOS alebo %s" -t MSG_032 "%s schéma oddielu pre BIOS" -t MSG_033 "%s schéma oddielu pre UEFI" +#t MSG_031 "%s schéma oddielu pre BIOS alebo %s" +#t MSG_032 "%s schéma oddielu pre BIOS" +#t MSG_033 "%s schéma oddielu pre UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d pokus" t MSG_035 "%d pokusy" @@ -14926,10 +13803,6 @@ t MSG_084 "Zdá sa, že tento ISO obraz používa zastaralú verziu modulu %s.\n "do aktuálneho priečinka programu a potom bude automaticky použitý." t MSG_085 "Sťahovanie '%s'" t MSG_086 "Nie je vybraný žiadny obraz disku" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Pre výber bootovateľného obrazu stlačte tlačidlo disku a vyberte obraz, " - "alebo odznačte voľbu \"Vytvoriť bootovateľný disk\"." t MSG_088 "Obraz disku je príliš veľký" t MSG_089 "Obraz disku je príliš veľký pre vybraný disk." t MSG_090 "Nepodporovaný ISO obraz" @@ -14972,7 +13845,7 @@ t MSG_106 "Vyberte priečinok" t MSG_107 "Všetky súbory" t MSG_108 "Záznam programu Rufus" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS nemôže byť bootovaný z jednotky používajúcich klastre s veľkosťou 64kb.\n" "Zmeňte veľkosť klastra alebo použite FREDOS." @@ -15018,7 +13891,6 @@ t MSG_159 "Ak chcete nastaviť menovku disku, vyplňte pole.\nSú podporované a t MSG_160 "Prepínač pokročilých nastavení" t MSG_161 "Skontrolovať zariadenie na prítomnosť chybných\nblokov použitím skúšobných vzoriek" t MSG_162 "Odznačením tohto políčka použijete pomalú metódu formátovania" -t MSG_163 "Označením tohto políčka povolíte vytvorenie bootovacieho USB zariadenia" t MSG_164 "Vyberte metódu, ktorá bude použitá na vytvorenie bootovateľného zariadenia" t MSG_165 "Stlačte tlačidlo a vyberte obraz..." t MSG_166 "Označením tohto políčka povolíte v názve disku zobrazenie medzinárodných znakov " @@ -15165,7 +14037,6 @@ t MSG_275 "Tento obraz bol označený ako 'Hybridný ISO obraz'. To znamená, ž "Vyberte režim, v ktorom chcete zapísať tento obraz:" t MSG_276 "Zápis v režime %s (odporúčané)" t MSG_277 "Zápis v režime %s" -t MSG_278 "Typ bootovania" t MSG_279 "Nie je možné bootovať" t MSG_280 "Výber obrazu" t MSG_281 "(Vyberte obraz)" @@ -15190,6 +14061,8 @@ t MSG_298 "Veľkosť vybraného ISO súboru sa nezhoduje s jeho deklarovanou ve "Ak ste získali tento súbor z internetu, pokúste sa znova stiahnuť novú kópiu tohto súboru a overiť ju " "MD5 alebo SHA kontrolným súčtom s originálnym súborom.\n\nAk chcete vypočítať kontrólny súčet MD5 alebo " "SHA pre vybraný súbor v programe Rufus, stlačte tlačidlo '#'." +t MSG_117 "Štandardná inštalácia Windows (Inštalátor)" +t MSG_118 "Windows To Go (Prenosná verzia)" ################################################################################ l "sl-SI" "Slovenian (Slovenščina)" 0x0424 @@ -15199,41 +14072,25 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "Naprava" +t IDS_BOOT_SELECTION_TXT "Način zagona" t IDS_PARTITION_TYPE_TXT "Particijska shema in vrsta ciljnega sistema" -t IDS_FILESYSTEM_TXT "Datotečni sistem" -t IDS_CLUSTERSIZE_TXT "Velikost gruče" +t IDS_FILE_SYSTEM_TXT "Datotečni sistem" +t IDS_CLUSTER_SIZE_TXT "Velikost gruče" t IDS_LABEL_TXT "Oznaka novega nosilca" -t IDS_FORMAT_OPTIONS_GRP "Možnosti formatiranja" -t IDC_BADBLOCKS "Odkrij slabe bloke" -s IDC_BADBLOCKS -25,0 -m IDC_NBPASSES -25,0 -s IDC_NBPASSES +25,0 -t IDC_QUICKFORMAT "Hitro formatiranje" -t IDC_BOOT "Ustvari zagonski disk z" -s IDC_BOOT -25,0 -m IDC_BOOTTYPE -25,0 -s IDC_BOOTTYPE +25,0 -t IDC_WINDOWS_INSTALL "Standardna Windows namestitev" -t IDC_SET_ICON "Ustvari datoteki za ikono in podaljšano oznako" -t IDC_ABOUT "O programu" -t IDC_LOG "Zapisnik" -s IDC_LOG +30,0 +t IDS_FORMAT_OPTIONS_TXT "Možnosti formatiranja" +t IDC_BAD_BLOCKS "Odkrij slabe bloke" +t IDC_QUICK_FORMAT "Hitro formatiranje" +t IDC_EXTENDED_LABEL "Ustvari datoteki za ikono in podaljšano oznako" t IDCANCEL "Zapri" t IDC_START "Začni" -t IDS_ADVANCED_OPTIONS_GRP "Dodatne možnosti" -t IDC_ENABLE_FIXED_DISKS "Naštej USB trde diske" -t IDC_EXTRA_PARTITION "Dodaj popravke za stare BIOSe" +t IDC_LIST_USB_HDD "Naštej USB trde diske" +t IDC_OLD_BIOS_FIXES "Dodaj popravke za stare BIOSe" t IDC_RUFUS_MBR "Rufusov MBR z BIOS ID" -s IDC_RUFUS_MBR -25,0 -m IDC_DISK_ID -25,0 -s IDC_DISK_ID +25,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "O Rufusu" t IDC_ABOUT_LICENSE "Licenca" -t IDC_ABOUT_UPDATES "Posodobitve" -s IDC_ABOUT_UPDATES +10,0 t IDOK "V redu" # About -> License dialog @@ -15254,25 +14111,14 @@ t IDC_LOG_CLEAR "Izprazni" t IDC_LOG_SAVE "Shrani" t IDCANCEL "Zapri" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +20,0 -s IDC_POLICY +20,0 t IDD_UPDATE_POLICY "Posodobitvena politika in nastavitve" t IDS_UPDATE_SETTINGS_GRP "Nastavitve" -s IDS_UPDATE_SETTINGS_GRP +20,0 -m IDS_CHECK_NOW_GRP +20,0 t IDS_UPDATE_FREQUENCY_TXT "Preveri za posodobitve" -s IDS_UPDATE_FREQUENCY_TXT +5,0 -m IDC_UPDATE_FREQUENCY +3,0 -s IDC_UPDATE_FREQUENCY +15,0 t IDS_INCLUDE_BETAS_TXT "Upoštevaj beta verzije" -s IDS_INCLUDE_BETAS_TXT +5,0 -m IDC_INCLUDE_BETAS +3,0 t IDC_CHECK_NOW "Preveri zdaj" -m IDC_CHECK_NOW +20,0 t IDCANCEL "Zapri" -m IDCANCEL +20,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -15323,9 +14169,9 @@ t MSG_028 "megabajtov" t MSG_029 "Privzeto" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (privzeto)" -t MSG_031 "%s particijska shema za BIOS ali %s" -t MSG_032 "%s particijska shema za BIOS" -t MSG_033 "%s particijska shema za UEFI" +#t MSG_031 "%s particijska shema za BIOS ali %s" +#t MSG_032 "%s particijska shema za BIOS" +#t MSG_033 "%s particijska shema za UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d prehod" t MSG_035 "%d prehoda/-i" @@ -15397,10 +14243,6 @@ t MSG_084 "Zdi se, da ta ISO slika uporablja zastarelo verzijo \"%s\".\n" "\"%s\" tam enkrat obstaja, bo samodejno uporabljena tudi v bodoče." t MSG_085 "Prenašam '%s'" t MSG_086 "Izbrana ni nobena slika" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Prosim, kliknite gumb s ploščo, da izberete sliko, s katere se da zagnati, " - "ali odznačite \"Ustvari zagonski disk z…\"." t MSG_088 "Slika je prevelika" t MSG_089 "Ta slika je prevelika za izbrani cilj." t MSG_090 "Nepodprt ISO" @@ -15442,7 +14284,7 @@ t MSG_106 "Prosim, izberite mapo" t MSG_107 "Vse datoteke" t MSG_108 "Rufusov zapisnik" t MSG_109 "0x%02X (disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS se ne more zagnati s pogona, na katerem so gruče velike 64 KB.\n" "Prosim, spremenite velikost gruče ali uporabite FreeDOS." @@ -15487,7 +14329,6 @@ t MSG_159 "S tem poljem nastavite oznako pogona.\nLahko uporabite mednarodne zna t MSG_160 "Prikaže ali skrije dodatne možnosti." t MSG_161 "Preveri, ali so na napravi slabi bloki z uporabo testnega vzorca." t MSG_162 "To možnost odznačite za \"počasen\" način formatiranja." -t MSG_163 "To možnost izberite, če želite, da bo z naprave USB mogoče zagnati računalnik." t MSG_164 "Metoda, ki bo uporabljena, da bo s pogona mogoče zagnati računalnik." t MSG_165 "Kliknite, da izberete sliko…" t MSG_166 "To možnost izberite, če želite omogočiti prikaz \"mednarodnih\" oznak nosilca " @@ -15621,7 +14462,6 @@ t MSG_275 "Slika, ki ste jo izbrali, je vrste \"ISOHybrid\". To pomeni, da jo la "Izberite, kako jo želite zapisati:" t MSG_276 "Zapiši kot %s (priporočeno)" t MSG_277 "Zapiši kot %s" -t MSG_278 "Način zagona" t MSG_279 "Nezagonska" t MSG_280 "Izbira slike" t MSG_281 "(Izberite sliko)" @@ -15645,6 +14485,7 @@ t MSG_297 "Odrezana datoteka ISO" t MSG_298 "Datoteka ISO, ki ste jo izbrali, ni pričakovane velikosti: %s njenih podatkov manjka.\n\n" "Če ste jo prenesli z interneta, jo prenesite še enkrat in preverite, ali se vrednosti MD5 in SHA " "ujemata z uradnima.\n\nV Rufusu ju lahko izračunate z gumbom '#'." +t MSG_118 "Standardna Windows namestitev" ################################################################################ l "es-ES" "Spanish (Español)" 0x040a, 0x080a, 0x0c0a, 0x100a, 0x140a, 0x180a, 0x1c0a, 0x200a, 0x240a, 0x280a, 0x2c0a, 0x300a, 0x340a, 0x380a, 0x3c0a, 0x400a, 0x440a, 0x480a, 0x4c0a, 0x500a, 0x540a, 0x580a @@ -15653,57 +14494,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG +5,0 -s IDC_DEVICE +5,0 -s IDC_PARTITION_TYPE +5,0 -s IDC_FILESYSTEM +5,0 -s IDC_CLUSTERSIZE +5,0 -s IDC_LABEL +5,0 -s IDC_PROGRESS +7,0 t IDS_DEVICE_TXT "Dispositivo" +t IDS_BOOT_SELECTION_TXT "Tipo de arranque" t IDS_PARTITION_TYPE_TXT "Tipo de partición y del sistema destino" -t IDS_FILESYSTEM_TXT "Sistema de archivos" -t IDS_CLUSTERSIZE_TXT "Tamaño del clúster" +t IDS_FILE_SYSTEM_TXT "Sistema de archivos" +t IDS_CLUSTER_SIZE_TXT "Tamaño del clúster" t IDS_LABEL_TXT "Etiqueta nueva" -t IDS_FORMAT_OPTIONS_GRP "Opciones de formateo" -s IDS_FORMAT_OPTIONS_GRP +5, 0 -t IDC_BADBLOCKS "Buscar bloques dañados en USB" -s IDC_BADBLOCKS +30,0 -t IDC_QUICKFORMAT "Formateo rápido" -t IDC_BOOT "Crear disco de arranque con" -t IDC_SET_ICON "Añadir etiquetas extendidas e iconos" -t IDC_ABOUT "Acerca de..." -s IDC_ABOUT -5,0 -t IDC_LOG "Historial" -s IDC_LOG +40,0 -m IDC_LOG -5,0 +t IDS_FORMAT_OPTIONS_TXT "Opciones de formateo" +t IDC_BAD_BLOCKS "Buscar bloques dañados en USB" +t IDC_QUICK_FORMAT "Formateo rápido" +t IDC_EXTENDED_LABEL "Añadir etiquetas extendidas e iconos" t IDCANCEL "Cerrar" -m IDCANCEL +5,0 t IDC_START "Empezar" -m IDC_START +5,0 -t IDS_ADVANCED_OPTIONS_GRP "Opciones avanzadas" -s IDS_ADVANCED_OPTIONS_GRP +5, 0 -t IDC_ENABLE_FIXED_DISKS "Listar los discos duros USB" -t IDC_EXTRA_PARTITION "Opciones de compatibilidad para BIOS antiguas" +t IDC_LIST_USB_HDD "Listar los discos duros USB" +t IDC_OLD_BIOS_FIXES "Opciones de compatibilidad para BIOS antiguas" t IDC_RUFUS_MBR "Usar MBR de Rufus con ID de BIOS" -s IDC_RUFUS_MBR +25,0 -m IDC_NBPASSES +30,0 -s IDC_NBPASSES -25,0 -s IDC_DISK_ID -25,0 -m IDC_DISK_ID +30,0 -m IDC_SELECT_ISO +5,0 -s IDC_INFO +5,0 -m IDC_BOOTTYPE +5,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Acerca de Rufus" -s IDC_ABOUT_BLURB 0,30 -m IDC_ABOUT_COPYRIGHTS 0,14 -s IDC_ABOUT_COPYRIGHTS 0,-14 t IDC_ABOUT_LICENSE "Licencia" -t IDC_ABOUT_UPDATES "Actualizaciones" -s IDC_ABOUT_UPDATES +25, 0 # About -> License dialog g IDD_LICENSE @@ -15723,20 +14533,14 @@ t IDC_LOG_CLEAR "Borrar" t IDC_LOG_SAVE "Guardar" t IDCANCEL "Cerrar" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Configuración de auto-actualización" t IDS_UPDATE_SETTINGS_GRP "Configuraciones" t IDS_UPDATE_FREQUENCY_TXT "Buscar actualizaciones" -s IDS_UPDATE_FREQUENCY_TXT +5,0 -s IDC_UPDATE_FREQUENCY +5,0 t IDS_INCLUDE_BETAS_TXT "Incluir versiones beta" t IDC_CHECK_NOW "Buscar ahora" -s IDC_CHECK_NOW +10,0 -m IDC_CHECK_NOW -5,0 t IDCANCEL "Cerrar" -s IDCANCEL +10,0 -m IDCANCEL -5,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -15787,9 +14591,9 @@ t MSG_028 "megabytes" t MSG_029 "Por defecto" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Por defecto)" -t MSG_031 "Tipo de partición %s para BIOS o %s" -t MSG_032 "Tipo de partición %s para BIOS" -t MSG_033 "Tipo de partición %s para UEFI" +#t MSG_031 "Tipo de partición %s para BIOS o %s" +#t MSG_032 "Tipo de partición %s para BIOS" +#t MSG_033 "Tipo de partición %s para UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d paso" t MSG_035 "%d pasos" @@ -15860,10 +14664,6 @@ t MSG_084 "Esta imagen ISO parece que usa una versión obsoleta del archivo '%s' "un archivo\n '%s' exista ahí, será usado automáticamente." t MSG_085 "Descargando '%s'" t MSG_086 "No hay imagen ISO seleccionada" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Presione en el botón de disco para seleccionar un ISO de ejecución automática, " - "o desmarque la casilla de \"Crear un disco de arranque...\" ." t MSG_088 "Imagen ISO demasiado grande" t MSG_089 "La imagen ISO es demasiado grande para el destino seleccionado." t MSG_090 "ISO no soportado" @@ -15906,7 +14706,7 @@ t MSG_106 "Seleccione una carpeta" t MSG_107 "Todos los archivos" t MSG_108 "Registro de eventos de Rufus" t MSG_109 "0x%02X (Disco %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS no puede arrancar desde un disco con un tamaño de clúster de 64 kilobytes.\n" "Por favor cambie el tamaño del clúster o use FreeDOS." @@ -15950,7 +14750,6 @@ t MSG_159 "Use este campo para establecer el nombre del volumen\nSe aceptan cara t MSG_160 "Mostrar opciones avanzadas" t MSG_161 "Revisa el dispositivo buscando bloques defectuosos aplicando un patrón de pruebas" t MSG_162 "Desmarque esta opción para usar el método de formateo \"lento\" " -t MSG_163 "Marque esta opción para hacer que la unidad USB sea de ejecución automática" t MSG_164 "Método a usar para hacer que la unidad sea de ejecución automática" t MSG_165 "Haga clic para seleccionar una imagen ISO..." t MSG_166 "Seleccione esta opción para permitir que se muestren caracteres internacionales " @@ -16105,7 +14904,6 @@ t MSG_275 "La imagen que ha seleccionado es una imagen de tipo 'ISOHybrid', esto "Por favor, selecciona el modo en el que quiere escribir esta imagen:" t MSG_276 "Escribir en modo %s (Recomendado)" t MSG_277 "Escribir en modo %s" -t MSG_278 "Tipo de arranque" t MSG_279 "No auto-ejecutable" t MSG_280 "Selección de imagen" t MSG_281 "(Por favor seleccione una imagen)" @@ -16137,53 +14935,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG 50,0 t IDS_DEVICE_TXT "Enhet" +t IDS_BOOT_SELECTION_TXT "Starttyp" t IDS_PARTITION_TYPE_TXT "Partitionsschema och måltypssystem" -t IDS_FILESYSTEM_TXT "Filsystem" -t IDS_CLUSTERSIZE_TXT "Klusterstorlek" +t IDS_FILE_SYSTEM_TXT "Filsystem" +t IDS_CLUSTER_SIZE_TXT "Klusterstorlek" t IDS_LABEL_TXT "Ny volymetikett" -t IDS_FORMAT_OPTIONS_GRP "Formateringsinställningar" -t IDC_BADBLOCKS "Kontrollera enheten efter trasiga block" -t IDC_QUICKFORMAT "Snabbformatering" -t IDC_BOOT "Skapa startbar disk med" -t IDC_WINDOWS_INSTALL "Standard Windowsinstallation" -t IDC_SET_ICON "Skapa utökat namn och ikonfiler" -t IDC_ABOUT "Om..." -t IDC_LOG "Logg" +t IDS_FORMAT_OPTIONS_TXT "Formateringsinställningar" +t IDC_BAD_BLOCKS "Kontrollera enheten efter trasiga block" +t IDC_QUICK_FORMAT "Snabbformatering" +t IDC_EXTENDED_LABEL "Skapa utökat namn och ikonfiler" t IDCANCEL "Stäng" t IDC_START "Starta" -t IDS_ADVANCED_OPTIONS_GRP "Avancerade inställningar" -t IDC_ENABLE_FIXED_DISKS "Lista USB-hårddiskar" -t IDC_EXTRA_PARTITION "Lägg till korrigeringar för äldre BIOS:ar" +t IDC_LIST_USB_HDD "Lista USB-hårddiskar" +t IDC_OLD_BIOS_FIXES "Lägg till korrigeringar för äldre BIOS:ar" t IDC_RUFUS_MBR "Använd Rufus MBR med BIOS-ID" -s IDC_RUFUS_MBR 20,0 -s IDC_DEVICE 50,0 -s IDC_PARTITION_TYPE 50,0 -s IDC_FILESYSTEM 50,0 -s IDC_CLUSTERSIZE 50,0 -s IDC_LABEL 50,0 -s IDC_BOOT 50,0 -s IDC_INFO 50,0 -s IDC_PROGRESS 50,0 -m IDCANCEL 50,0 -m IDC_START 50,0 -s IDS_FORMAT_OPTIONS_GRP 50,0 -s IDS_ADVANCED_OPTIONS_GRP 50,0 -m IDC_NBPASSES 50,0 -m IDC_DISK_ID 50,0 -s IDC_BADBLOCKS 50,0 -s IDC_LOG 42,0 -m IDC_SELECT_ISO 50,0 -m IDC_BOOTTYPE 50,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Om Rufus" t IDC_ABOUT_LICENSE "Licens" -t IDC_ABOUT_UPDATES "Uppdateringar" -t IDOK "OK" -s IDC_ABOUT_UPDATES 30,0 # About -> License dialog g IDD_LICENSE @@ -16199,29 +14970,18 @@ t IDNO "Nej" # Log dialog g IDD_LOG t IDD_LOG "Logg" -t IDC_LOG_CLEAR "Rensa logg" -t IDC_LOG_SAVE "Spara logg" -t IDCANCEL "Stäng logg" +t IDC_LOG_CLEAR "Rensa" +t IDC_LOG_SAVE "Spara" +t IDCANCEL "Stäng" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Uppdateringspolicy och inställningar" t IDS_UPDATE_SETTINGS_GRP "Inställningar" -s IDS_UPDATE_SETTINGS_GRP 8,0 -s IDS_CHECK_NOW_GRP -8,0 -m IDS_CHECK_NOW_GRP 8,0 t IDS_UPDATE_FREQUENCY_TXT "Kontrollera" t IDS_INCLUDE_BETAS_TXT "Även beta-versioner" t IDC_CHECK_NOW "Uppdatera nu" t IDCANCEL "Stäng" -s IDC_UPDATE_FREQUENCY 30,0 -m IDC_UPDATE_FREQUENCY -14,0 -s IDS_UPDATE_FREQUENCY_TXT -14,0 -m IDC_INCLUDE_BETAS -14,0 -s IDC_CHECK_NOW 10,0 -m IDC_CHECK_NOW -2,0 -s IDCANCEL 10,0 -m IDCANCEL -2,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -16272,9 +15032,9 @@ t MSG_028 "megabytes" t MSG_029 "Standard" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Standard)" -t MSG_031 "%s partitionsschema för BIOS eller %s" -t MSG_032 "%s partitionsschema för BIOS" -t MSG_033 "%s partitionsschema för UEFI" +#t MSG_031 "%s partitionsschema för BIOS eller %s" +#t MSG_032 "%s partitionsschema för BIOS" +#t MSG_033 "%s partitionsschema för UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d gång" t MSG_035 "%d gånger" @@ -16345,10 +15105,6 @@ t MSG_084 "Denna ISO-avbild verkar använda en gammal version av '%s'.\n" "'%s' sedan finns där, kommer den automatiskt att återanvändas." t MSG_085 "Laddar ned '%s'" t MSG_086 "Ingen avbild vald" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Tryck på diskikonen för att välja startbar avbild, " - "eller avmarkera \"Skapa en startbar disk med\" rutan." t MSG_088 "Avbilden är för stor" t MSG_089 "Avbilden är för stor för det valda målet." t MSG_090 "ISO-filen stöds ej" @@ -16390,7 +15146,7 @@ t MSG_106 "Välj mapp" t MSG_107 "Alla filer" t MSG_108 "Rufus logg" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS kan inte starta från en enhet som använder 64 kilobytes klusterstorlek.\n" "Ändra klusterstorleken eller använd FreeDOS." @@ -16435,7 +15191,6 @@ t MSG_159 "Använd detta fältet till att ange enhetens namn\nInternationella bo t MSG_160 "Visa/Göm avancerade inställningar" t MSG_161 "Kontrollera enheter om den har trasiga block genom att köra ett testmönster" t MSG_162 "Avmarkera om du vill använda \"långsam\" formateringsmetod" -t MSG_163 "Markera för att göra enheten startbar" t MSG_164 "Metod som kommer att användas för att göra enheten startbar" t MSG_165 "Klicka för att välja avbildsfil..." t MSG_166 "Markera för att tillåta visa internationella namn " @@ -16584,7 +15339,6 @@ t MSG_275 "Avbilden du har valt är en 'ISOHybrid'. Detta innebär att den kan s "Välj det läge du vill använda för att skriva avbilden:" t MSG_276 "Skriv i läge %s (Rekommenderas)" t MSG_277 "Skriv i läge %s" -t MSG_278 "Starttyp" t MSG_279 "Icke startbar" t MSG_280 "Avbildsväljare" t MSG_281 "(Välj en avbild)" @@ -16608,37 +15362,32 @@ t MSG_297 "Ej komplett ISO-fil" t MSG_298 "ISO-filen du har valt matchar inte den angivna storleken: %s av data saknas!\n\nOm du har hämtat den här filen från internet, " "prova då med att ladda ned filen igen och verifiera att checksumman MD5 eller SHA stämmer överens med den officiella filen.\n\n" "Tips: Du kan beräkna MD5 eller SHA i Rufus genom att klicka på knappen '#'." +t MSG_117 "Standard Windowsinstallation" ################################################################################ l "th-TH" "Thai (ไทย)" 0x041e v 1.0.22 +b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "อุปกรณ์" +t IDS_BOOT_SELECTION_TXT "ลักษณะการบูต" t IDS_PARTITION_TYPE_TXT "รูปแบบของพาร์ทิชั่นและรูปแบบของระบบของเครื่องเป้าหมาย" -t IDS_FILESYSTEM_TXT "ระบบไฟล์" -t IDS_CLUSTERSIZE_TXT "ขนาดของคลัสเตอร์" +t IDS_FILE_SYSTEM_TXT "ระบบไฟล์" +t IDS_CLUSTER_SIZE_TXT "ขนาดของคลัสเตอร์" t IDS_LABEL_TXT "ตั้งชื่อของไดร์ฟใหม่" -t IDS_FORMAT_OPTIONS_GRP "ตัวเลือกการฟอร์แมท" +t IDS_FORMAT_OPTIONS_TXT "ตัวเลือกการฟอร์แมท" # Note: The button (IDC_ADVANCED) that appears next to "Format Options" is repositioned automatically. -t IDC_BADBLOCKS "ตรวจหาข้อบกพร่องของอุปกรณ์" -t IDC_QUICKFORMAT "ฟอร์แมทอย่างรวดเร็ว" -t IDC_BOOT "สร้างไดร์ฟที่บูตได้โดยใช้" -t IDC_WINDOWS_INSTALL "ตัวติดตั้ง Windows มาตรฐาน" -# Only translate if Microsoft has a specific name for http://en.wikipedia.org/wiki/Windows_To_Go in your language -# Otherwise, you can add a parenthesis eg. "Windows To Go (hint at what it does)" and/or use the tooltip (MSG_200) -t IDC_WINDOWS_TO_GO "Windows To Go (Windows ที่สามารถใช้งานได้เลยบนอุปกรณ์โดยไม่ต้องติดตั้ง)" -t IDC_SET_ICON "สร้างชื่อไดร์ฟมาตรฐานอัตโนมัติและไอคอนของไดร์ฟ" -t IDC_ABOUT "เกี่ยวกับ..." -t IDC_LOG "Log" +t IDC_BAD_BLOCKS "ตรวจหาข้อบกพร่องของอุปกรณ์" +t IDC_QUICK_FORMAT "ฟอร์แมทอย่างรวดเร็ว" +t IDC_EXTENDED_LABEL "สร้างชื่อไดร์ฟมาตรฐานอัตโนมัติและไอคอนของไดร์ฟ" t IDCANCEL "ปิด" t IDC_START "เริ่ม" -t IDS_ADVANCED_OPTIONS_GRP "ตัวเลือกเพิ่มเติม" -t IDC_ENABLE_FIXED_DISKS "แสดงฮาร์ดไดร์ฟ USB" +t IDC_LIST_USB_HDD "แสดงฮาร์ดไดร์ฟ USB" # Note: It is acceptable to drop the parenthesis () below if you are running out of space # as there is a tooltip (MSG_169) providing these details. -t IDC_EXTRA_PARTITION "เพิ่มการรองรับให้กับ BIOS รุ่นเก่า" +t IDC_OLD_BIOS_FIXES "เพิ่มการรองรับให้กับ BIOS รุ่นเก่า" # 'MBR': See http://en.wikipedia.org/wiki/Master_boot_record # Rufus can install it's own custom MBR (the Rufus MBR), which also allows users # to specify a custom disk ID for the BIOS. Note: the tooltip for this control is MSG_167. @@ -16648,7 +15397,6 @@ t IDC_RUFUS_MBR "ใช้ Rufus MBR กับ BIOS ID" g IDD_ABOUTBOX t IDD_ABOUTBOX "เกี่ยวกับ Rufus" t IDC_ABOUT_LICENSE "ลิขสิทธิ์" -t IDC_ABOUT_UPDATES "การปรับรุ่น" t IDOK "ตกลง" # About -> License dialog @@ -16665,11 +15413,11 @@ t IDNO "ไม่ใช่" # Log dialog g IDD_LOG t IDD_LOG "Log" -t IDC_LOG_CLEAR "ล้าง Log" -t IDC_LOG_SAVE "บันทึก Log" -t IDCANCEL "ปิด Log" +t IDC_LOG_CLEAR "ล้าง" +t IDC_LOG_SAVE "บันทึก" +t IDCANCEL "ปิด" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "นโยบายและการตั้งค่าการปรับรุ่น" t IDS_UPDATE_SETTINGS_GRP "ตั้งค่า" @@ -16727,9 +15475,9 @@ t MSG_028 "megabytes" t MSG_029 "ค่าเริ่มต้น" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (ค่าเริ่มต้น)" -t MSG_031 "รูปแบบของพาร์ทิชั่นแบบ %s สำหรับ BIOS หรือ %s" -t MSG_032 "รูปแบบของพาร์ทิชั่นแบบ %s สำหรับ BIOS" -t MSG_033 "รูปแบบของพาร์ทิชั่นแบบ %s สำหรับ UEFI" +#t MSG_031 "รูปแบบของพาร์ทิชั่นแบบ %s สำหรับ BIOS หรือ %s" +#t MSG_032 "รูปแบบของพาร์ทิชั่นแบบ %s สำหรับ BIOS" +#t MSG_033 "รูปแบบของพาร์ทิชั่นแบบ %s สำหรับ UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d รอบ" t MSG_035 "%d รอบ" @@ -16801,10 +15549,6 @@ t MSG_084 "ISO อิมเมจนี้อาจเป็นเวอร์ "'%s มีแล้ว ไฟล์จะถูกเลือกใช้โดยอัตโนมัติ" t MSG_085 "กำลังดาวน์โหลด '%s'" t MSG_086 "ยังไม่ได้เลือกอิมเมจไฟล์" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "คลิกที่ปุ่มรูปแผ่นดิสก์เพื่อเลือกไฟล์อิมเมจ " - "หรือนำเครื่องหมายถูกหน้า \"สร้างไดร์ฟที่บูตได้โดยใช้\" ออก" t MSG_088 "อิมเมจไฟล์มีขนาดใหญ่เกินไป" t MSG_089 "อิมเมจไฟล์มีขนาดใหญ่กว่าอุปกรณ์" t MSG_090 "ISO ไฟล์ไม่รองรับ" @@ -16849,7 +15593,7 @@ t MSG_106 "กรุณาเลือกโฟลเดอร์" t MSG_107 "ไฟล์ทั้งหมด" t MSG_108 "Rufus log" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS ไม่สามารถบูตไดร์ฟที่ใช้ขนาดของคลัสเตอร์ 64 kilobytes ได้\n" "โปรดเปลี่ยนขนาดของคลัสเตอร์ หรือเลือกใช้ FreeDOS." @@ -16896,7 +15640,6 @@ t MSG_159 "กรอกชื่อไดร์ฟแบบกำหนดเอ t MSG_160 "เปิด/ปิดตัวเลือกขั้นสูง" t MSG_161 "ตรวจสอบข้อบกพร่องของอุปกรณ์โดยใช้รูปแบบการทดสอบต่างๆ" t MSG_162 "ไม่ต้องเลือกตัวเลือกนี้หากต้องการฟอร์แมทแบบช้า" -t MSG_163 "เลือกตัวเลือกนี้เพื่อทำให้ USB นี้บูตได้" t MSG_164 "วิธีที่จะใช้ในการทำให้ไดร์ฟบูตได้" t MSG_165 "คลิกเพื่อเลือกอิมเมจไฟล์..." t MSG_166 "เลือกตัวเลือกนี้เพื่อสร้างไฟล์ autorun.inf สำหรับสร้างชื่อไดร์ฟแบบอัตโนมัติ" @@ -17052,11 +15795,6 @@ t MSG_275 "อิมเมจที่คุณเลือกเป็นแบ t MSG_276 "เขียนในโหมด%s (แนะนำ)" # '%s' below will be replaced with your translation for MSG_095 ("DD Image") t MSG_277 "เขียนในโหมด%s" -# The following will be used for new controls of the Rufus 3.0 interface -# They are added as messages, so that I will have them available when needed. -# 278 & 280 will be dropdown titles, similar to how IDS_DEVICE_TXT or IDS_PARTITION_TYPE_TXT are used -# 279 & 281 will be items that can appear in the dropdowns -t MSG_278 "ลักษณะการบูต" t MSG_279 "แบบบูตไม่ได้" t MSG_280 "เลือกอิมเมจไฟล์" t MSG_281 "(กรุณาเลือกอิมเมจไฟล์)" @@ -17080,6 +15818,8 @@ t MSG_297 "พบอิมเมจ ISO ที่ถูกตัดทอน" t MSG_298 "อิมเมจ ISO ที่คุณเลือกมีคุณสมบัติไม่ตรงกับที่ได้แจ้งไว้ ดังนี้ ขนาดไฟล์: %s ได้หายไปจากต้นฉบับ!\n\nหากคุณดาวน์โหลดไฟล์นี้มาจาก" "อินเทอร์เน็ต กรุณาดาวน์โหลดไฟล์อีกครั้ง และตรวจสอบว่าไฟล์นั้นมี MD5 หรือ SHA checksums ตรงกับไฟล์จากผู้ผลิต\n\nโปรดจำไว้ว่า" "คุณสามารถตรวจสอบ checksum ของไฟล์ดังกล่าวได้จากโปรแกรม Rufus โดยกดปุ่ม '#'" +t MSG_117 "ตัวติดตั้ง Windows มาตรฐาน" +t MSG_118 "Windows To Go (Windows ที่สามารถใช้งานได้เลยบนอุปกรณ์โดยไม่ต้องติดตั้ง)" ################################################################################ l "tr-TR" "Turkish (Türkçe)" 0x041F @@ -17088,56 +15828,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG +5,0 t IDS_DEVICE_TXT "Aygıt" -s IDC_DEVICE +5,0 +t IDS_BOOT_SELECTION_TXT "Önyükleme türü" t IDS_PARTITION_TYPE_TXT "Disk Bölüm Düzeni ve Hedef Sistem Türü" -s IDC_PARTITION_TYPE +5,0 -t IDS_FILESYSTEM_TXT "Dosya Sistemi" -s IDC_FILESYSTEM +5,0 -t IDS_CLUSTERSIZE_TXT "Ayırma Birimi Boyutu" -s IDC_CLUSTERSIZE +5,0 +t IDS_FILE_SYSTEM_TXT "Dosya Sistemi" +t IDS_CLUSTER_SIZE_TXT "Ayırma Birimi Boyutu" t IDS_LABEL_TXT "Yeni Birim Etiketi" -s IDC_LABEL +5,0 -s IDC_PROGRESS +5,0 -t IDS_FORMAT_OPTIONS_GRP "Biçimlendirme Seçenekleri" -s IDS_FORMAT_OPTIONS_GRP +5,0 -t IDC_BADBLOCKS "Hatalı Bloklar için Aygıtı Denetle" -s IDC_BADBLOCKS +25,0 -m IDC_NBPASSES +30,0 -s IDC_NBPASSES -25,0 -t IDC_QUICKFORMAT "Hızlı Biçimlendir" -t IDC_BOOT "Açılış Diski Oluşturma Yöntemi" -s IDC_BOOT +5,0 -s IDC_INFO +5,0 -m IDC_BOOTTYPE +5,0 -m IDC_SELECT_ISO +5,0 -t IDC_WINDOWS_INSTALL "Standart Windows Yüklemesi" -t IDC_SET_ICON "Genişletilmiş Etiket ve Simge Dosyaları Oluştur" -t IDC_ABOUT "Hakkında..." -s IDC_ABOUT -5,0 -t IDC_LOG "Günlük" -m IDC_LOG -5,0 -s IDC_LOG +20,0 +t IDS_FORMAT_OPTIONS_TXT "Biçimlendirme Seçenekleri" +t IDC_BAD_BLOCKS "Hatalı Bloklar için Aygıtı Denetle" +t IDC_QUICK_FORMAT "Hızlı Biçimlendir" +t IDC_EXTENDED_LABEL "Genişletilmiş Etiket ve Simge Dosyaları Oluştur" t IDCANCEL "Kapat" -m IDCANCEL +5,0 t IDC_START "Başlat" -m IDC_START +5,0 -t IDS_ADVANCED_OPTIONS_GRP "Gelişmiş Seçenekler" -s IDS_ADVANCED_OPTIONS_GRP +5,0 -t IDC_ENABLE_FIXED_DISKS "USB sabit sürücüleri listele" -t IDC_EXTRA_PARTITION "Eski BIOSlar için düzeltme ekle(ekstra bölüm, hizalama vs.)" +t IDC_LIST_USB_HDD "USB sabit sürücüleri listele" +t IDC_OLD_BIOS_FIXES "Eski BIOSlar için düzeltme ekle(ekstra bölüm, hizalama vs.)" t IDC_RUFUS_MBR "Rufus MBR kullan. BIOS Kimliği Seçin" -s IDC_RUFUS_MBR +47,0 -m IDC_DISK_ID +45,0 -s IDC_DISK_ID -40,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Rufus Hakkında" t IDC_ABOUT_LICENSE "Lisans" -t IDC_ABOUT_UPDATES "Güncellemeler" -s IDC_ABOUT_UPDATES +18,0 t IDOK "Tamam" # About -> License dialog @@ -17154,37 +15864,18 @@ t IDNO "Hayır" # Log dialog g IDD_LOG t IDD_LOG "Günlük" -t IDC_LOG_CLEAR "Günlüğü Temizle" -s IDC_LOG_CLEAR +24,0 -m IDC_LOG_CLEAR -72,0 -t IDC_LOG_SAVE "Günlüğü Kaydet" -s IDC_LOG_SAVE +24,0 -m IDC_LOG_SAVE -48,0 -t IDCANCEL "Günlüğü Kapat" -s IDCANCEL +24,0 -m IDCANCEL -24,0 +t IDC_LOG_CLEAR "Temizle" +t IDC_LOG_SAVE "Kaydet" +t IDCANCEL "Kapat" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +20,0 -s IDC_POLICY +20,0 t IDD_UPDATE_POLICY "Güncelleme İlkesi ve Ayarlar" t IDS_UPDATE_SETTINGS_GRP "Ayarlar" -s IDS_UPDATE_SETTINGS_GRP +20,0 t IDS_UPDATE_FREQUENCY_TXT "Güncellemeleri Denetle" -s IDS_UPDATE_FREQUENCY_TXT +10,0 -m IDC_UPDATE_FREQUENCY +2,0 -s IDC_UPDATE_FREQUENCY +24,0 t IDS_INCLUDE_BETAS_TXT "Beta sürümlerini içersin" -s IDS_INCLUDE_BETAS_TXT +10,0 -m IDC_INCLUDE_BETAS +2,0 t IDC_CHECK_NOW "Şimdi Denetle" -m IDC_CHECK_NOW +15,0 -s IDC_CHECK_NOW +10,0 -m IDS_CHECK_NOW_GRP +20,0 t IDCANCEL "Kapat" -m IDCANCEL +15,0 -s IDCANCEL +10,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -17235,9 +15926,9 @@ t MSG_028 "megabyte" t MSG_029 "Varsayılan" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Varsayılan)" -t MSG_031 "%s Bölüm Düzeni: BIOS ya da %s için" -t MSG_032 "BIOS için %s Bölüm Düzeni" -t MSG_033 "UEFI için %s Bölüm Düzeni" +#t MSG_031 "%s Bölüm Düzeni: BIOS ya da %s için" +#t MSG_032 "BIOS için %s Bölüm Düzeni" +#t MSG_033 "UEFI için %s Bölüm Düzeni" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d Geçiş" t MSG_035 "%d Geçiş" @@ -17308,10 +15999,6 @@ t MSG_084 "Bu ISO yansıması '%s'in eski bir sürümünü kullanıyor gibi gör "'%s' orda varolunca, otomatik olarak kullanılacak." t MSG_085 "'%s' indiriliyor" t MSG_086 "Yansıma seçilmedi" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Lütfen açılabilir bir ISO seçmek için disk butonuna tıklayın, " - "ya da \"Açılış Diski Oluşturma Yöntemi:\" onay kutusundan seçimi kaldırın." t MSG_088 "Yansıma çok büyük" t MSG_089 "Yansıması seçilen hedef için çok büyük." t MSG_090 "Desteklenmeyen ISO" @@ -17354,7 +16041,7 @@ t MSG_106 "Lütfen Klasör Seçin" t MSG_107 "Tüm Dosyalar" t MSG_108 "Rufus günlüğü" t MSG_109 "0x%02X (Disk %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS, 64 kilobyte Ayırma Birimi Boyutu kullanan bir sürücüden başlatılamaz.\n" "Lütfen farklı bir Ayırma Birimi Boyutu seçin yada FreeDOS kullanın." @@ -17399,7 +16086,6 @@ t MSG_159 "Bu alanı sürücü etiketini ayarlamak için kullanın\nUluslararas t MSG_160 "Gelişmiş seçeneklere geçiş" t MSG_161 "Kalıp denemesi kullanarak hatalı blokları denetle" t MSG_162 "\"Yavaş\" biçimlendirme yöntemini kullanmak için bu onay kutusu seçimini kaldırın" -t MSG_163 "Açılabilir USB sürücüsü oluşturmak için bu onay kutusunu seçin" t MSG_164 "Sürücüyü açılabilir yapmak için kullanılacak yöntem" t MSG_165 "Yansıma seçmek için tıklayın..." t MSG_166 "Uluslararası etiketleri görüntülemek için bu onay kutusunu seçin " @@ -17549,7 +16235,6 @@ t MSG_275 "Seçtiğiniz yansıma bir 'ISOHybrid' yansımasıdır. Bu da yansıma "Lütfen bu yansımanın yazdırılmasında kullanmak istediğiniz modu seçin:" t MSG_276 "%s modunda yazdır (Önerilen)" t MSG_277 "%s modunda yazdır" -t MSG_278 "Önyükleme türü" t MSG_279 "Önyüklenebilir değil" t MSG_280 "Yansıma seçimi" t MSG_281 "(Lütfen bir yansıma seçin)" @@ -17573,6 +16258,7 @@ t MSG_297 "Kırpılmış ISO algılandı" t MSG_298 "Seçtiğiniz ISO dosyası bildirilen boyutla eşleşmiyor: Veri %s eksik!\n\nBu dosyayı İnternet'ten edindiyseniz, " "yeni bir kopyasını indirip, MD5 veya SHA değerlerinin resmi dosyalarla eşleştiğini doğrulamanız gerekir.\n\n" "Rufus'daki MD5 veya SHA'yı '#' işaretini tıklayarak hesaplayabileceğinizi unutmayın." +t MSG_117 "Standart Windows Yüklemesi" ################################################################################ l "uk-UA" "Ukrainian (Українська)" 0x0422 @@ -17581,54 +16267,26 @@ b "en-US" # Main dialog g IDD_DIALOG -s IDD_DIALOG +20,0 -s IDS_FORMAT_OPTIONS_GRP +20,0 -s IDS_ADVANCED_OPTIONS_GRP +20,0 -s IDC_ABOUT +26,0 -m IDC_LOG +26,0 -s IDC_LOG +28,0 -m IDC_START +20,0 -m IDCANCEL +20,0 -s IDC_PROGRESS +20,0 -m IDC_NBPASSES +20,0 -m IDC_BOOTTYPE +20,0 -m IDC_SELECT_ISO +20,0 -s IDC_INFO +20,0 -s IDC_BADBLOCKS +20,0 -m IDC_DISK_ID +20,0 - t IDS_DEVICE_TXT "Пристрій" -s IDC_DEVICE +20,0 +t IDS_BOOT_SELECTION_TXT "Тип завантаження" t IDS_PARTITION_TYPE_TXT "Схема розділу та тип системного інтерфейсу" -s IDC_PARTITION_TYPE +20,0 -t IDS_FILESYSTEM_TXT "Файлова система" -s IDC_FILESYSTEM +20,0 -t IDS_CLUSTERSIZE_TXT "Розмір кластера" -s IDC_CLUSTERSIZE +20,0 +t IDS_FILE_SYSTEM_TXT "Файлова система" +t IDS_CLUSTER_SIZE_TXT "Розмір кластера" t IDS_LABEL_TXT "Нова мітка тому" -s IDC_LABEL +20,0 -t IDS_FORMAT_OPTIONS_GRP "Параметри форматування" -t IDC_BADBLOCKS "Перевірити на погані блоки" -t IDC_QUICKFORMAT "Швидке форматування" -t IDC_BOOT "Створити завантажувал. диск" -s IDC_BOOT +20,0 -t IDC_WINDOWS_INSTALL "Стандартне встановлення Windows" -t IDC_SET_ICON "Створити розширену мітку та значок пристрою" -t IDC_ABOUT "Про програму..." -t IDC_LOG "Журнал" +t IDS_FORMAT_OPTIONS_TXT "Параметри форматування" +t IDC_BAD_BLOCKS "Перевірити на погані блоки" +t IDC_QUICK_FORMAT "Швидке форматування" +t IDC_EXTENDED_LABEL "Створити розширену мітку та значок пристрою" t IDCANCEL "Закрити" t IDC_START "Почати" -t IDS_ADVANCED_OPTIONS_GRP "Додаткові параметри" -t IDC_ENABLE_FIXED_DISKS "Показувати зовнішні USB накопичувачі" -t IDC_EXTRA_PARTITION "Додати виправлення для старих BIOS" +t IDC_LIST_USB_HDD "Показувати зовнішні USB накопичувачі" +t IDC_OLD_BIOS_FIXES "Додати виправлення для старих BIOS" t IDC_RUFUS_MBR "Використовувати MBR з BIOS ID" -s IDC_RUFUS_MBR +20,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Про програму Rufus" t IDC_ABOUT_LICENSE "Ліцензія" -t IDC_ABOUT_UPDATES "Оновлення" # About -> License dialog g IDD_LICENSE @@ -17638,42 +16296,24 @@ t IDCANCEL "Закрити" # Notifications. You can trigger one of these by using Alt-R and re-launching Rufus g IDD_NOTIFICATION t IDC_MORE_INFO "Більше інформації" -s IDC_MORE_INFO +12,0 t IDYES "Так" t IDNO "Ні" # Log dialog g IDD_LOG t IDD_LOG "Журнал" -t IDC_LOG_CLEAR "Очистити журнал" -m IDC_LOG_CLEAR -78,0 -s IDC_LOG_CLEAR +30,0 -t IDC_LOG_SAVE "Зберегти журнал" -m IDC_LOG_SAVE -54,0 -s IDC_LOG_SAVE +30,0 -t IDCANCEL "Закрити журнал" -m IDCANCEL -29,0 -s IDCANCEL +30,0 +t IDC_LOG_CLEAR "Очистити" +t IDC_LOG_SAVE "Зберегти" +t IDCANCEL "Закрити" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY -s IDD_UPDATE_POLICY +80,0 -s IDC_POLICY +80,0 -m IDS_CHECK_NOW_GRP +80,0 -m IDC_UPDATE_FREQUENCY +50,0 -s IDC_UPDATE_FREQUENCY +30,0 -m IDC_INCLUDE_BETAS +50,0 t IDD_UPDATE_POLICY "Політика оновлення та параметри" t IDS_UPDATE_SETTINGS_GRP "Параметри" -s IDS_UPDATE_SETTINGS_GRP +80,0 t IDS_UPDATE_FREQUENCY_TXT "Перевірка наявності оновлень" -s IDS_UPDATE_FREQUENCY_TXT +70,0 t IDS_INCLUDE_BETAS_TXT "Включаючи бета-версії" -s IDS_INCLUDE_BETAS_TXT +20,0 t IDC_CHECK_NOW "Перевірити" -m IDC_CHECK_NOW +80,0 t IDCANCEL "Закрити" -m IDCANCEL +80,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -17722,9 +16362,9 @@ t MSG_028 "Мегабайт" t MSG_029 "За замовчуванням" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (за замовч.)" -t MSG_031 "%s для комп'ютерів з BIOS чи %s" -t MSG_032 "%s для комп'ютерів з BIOS" -t MSG_033 "%s для комп'ютерів з UEFI" +#t MSG_031 "%s для комп'ютерів з BIOS чи %s" +#t MSG_032 "%s для комп'ютерів з BIOS" +#t MSG_033 "%s для комп'ютерів з UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "%d прохід" t MSG_035 "%d проходи" @@ -17792,10 +16432,6 @@ t MSG_084 "Обраний ISO-образ використовує застарі "Файл буде завантажений в поточну директорію, а в разі наявності '%s' - замінений автоматично." t MSG_085 "Завантажено '%s'" t MSG_086 "Образ не обрано" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Будь ласка, натисніть на кнопку з диском для вибору завантажувального образу, " - "або зніміть прапорець з \"Створити завантажувальний диск...\"." t MSG_088 "Образ занадто великий" t MSG_089 "Образ занадто великий для обраного пристрою." t MSG_090 "Непідтримуваний ISO-образ" @@ -17875,7 +16511,6 @@ t MSG_159 "Запис нової мітки тому\nПідтримуються t MSG_160 "Розгорнути додаткові параметри" t MSG_161 "Перевірка пристрою на наявність поганих (пошкоджених) блоків за допомогою таблиці байтів" t MSG_162 "Швидке форматування пристрою" -t MSG_163 "Створити завантажувальний диск" t MSG_164 "Метод завантаження" t MSG_165 "Натисніть, щоб обрати образ..." t MSG_166 "Дозволити відображення міток з міжнародними символами та задати значок пристрою\n(Створюється autorun.inf)" @@ -18018,7 +16653,6 @@ t MSG_275 "Обраний образ є образом 'ISOHybrid'. Це озн "Будь ласка, оберіть режим, який ви хочете використовувати для запису обраного образа:" t MSG_276 "Записати в %s режимі (Рекомендується)" t MSG_277 "Записати в %s режимі" -t MSG_278 "Тип завантаження" t MSG_279 "Незавантажувальний образ" t MSG_280 "Вибір образа" t MSG_281 "(Будь ласка, оберіть образ)" @@ -18042,6 +16676,7 @@ t MSG_297 "Виявлено усічений ISO" t MSG_298 "Розмір обраного файла ISO не співпадає з оголошеним розміром: %s даних відсутньо!\n\nЯкщо ви завантажили цей файл з " "Інтернету, вам слід завантажити нову копію файла або перевірити співпадіння контрольних сум MD5 чи SHA з офіційним файлом.\n\n" "Пам'ятайте, що ви можете порівняти MD5 чи SHA в Rufus, натиснувши кнопку '#'." +t MSG_117 "Стандартне встановлення Windows" ################################################################################ l "vi-VN" "Vietnamese (Tiếng Việt)" 0x042A @@ -18051,38 +16686,25 @@ b "en-US" # Main dialog g IDD_DIALOG t IDS_DEVICE_TXT "Thiết bị" +t IDS_BOOT_SELECTION_TXT "Phương thức khởi động" t IDS_PARTITION_TYPE_TXT "Sắp xếp phân vùng và loại hệ thống" -t IDS_FILESYSTEM_TXT "Hệ thống tập tin" -t IDS_CLUSTERSIZE_TXT "Kích thước liên cung" +t IDS_FILE_SYSTEM_TXT "Hệ thống tập tin" +t IDS_CLUSTER_SIZE_TXT "Kích thước liên cung" t IDS_LABEL_TXT "Tên đĩa mới" -t IDS_FORMAT_OPTIONS_GRP "Tùy chọn định dạng" -t IDC_BADBLOCKS "Kiểm tra khối hỏng trong thiết bị" -s IDC_BADBLOCKS +20,0 -m IDC_NBPASSES +20,0 -s IDC_NBPASSES -20,0 -t IDC_QUICKFORMAT "Định dạng nhanh" -t IDC_BOOT "Tạo đĩa khởi động bằng" -t IDC_WINDOWS_INSTALL "Windows To Go (Cài đặt Windows tiêu chuẩn)" -t IDC_SET_ICON "Tạo tên mở rộng và tập tin biểu tượng" -t IDC_ABOUT "Thông tin..." -t IDC_LOG "Nhật ký" -s IDC_LOG +25,0 +t IDS_FORMAT_OPTIONS_TXT "Tùy chọn định dạng" +t IDC_BAD_BLOCKS "Kiểm tra khối hỏng trong thiết bị" +t IDC_QUICK_FORMAT "Định dạng nhanh" +t IDC_EXTENDED_LABEL "Tạo tên mở rộng và tập tin biểu tượng" t IDCANCEL "Đóng" t IDC_START "Bắt đầu" -t IDS_ADVANCED_OPTIONS_GRP "Tuỳ chọn nâng cao" -t IDC_ENABLE_FIXED_DISKS "Danh sách ổ cứng USB" -t IDC_EXTRA_PARTITION "Thêm khắc phục cho BIOS cũ (phân vùng, sắp xếp...khác)" +t IDC_LIST_USB_HDD "Danh sách ổ cứng USB" +t IDC_OLD_BIOS_FIXES "Thêm khắc phục cho BIOS cũ (phân vùng, sắp xếp...khác)" t IDC_RUFUS_MBR "Dùng MBR của Rufus với ID BIOS" -s IDC_RUFUS_MBR +20,0 -m IDC_DISK_ID +20,0 -s IDC_DISK_ID -20,0 # About dialog g IDD_ABOUTBOX t IDD_ABOUTBOX "Thông tin về Rufus" t IDC_ABOUT_LICENSE "Giấy phép" -t IDC_ABOUT_UPDATES "Cập nhật" -t IDOK "OK" # About -> License dialog g IDD_LICENSE @@ -18098,28 +16720,18 @@ t IDNO "Không" # Log dialog g IDD_LOG t IDD_LOG "Nhật ký" -t IDC_LOG_CLEAR "Xoá nhật ký" -t IDC_LOG_SAVE "Lưu nhật ký" -t IDCANCEL "Đóng nhật ký" -s IDCANCEL 5,0 +t IDC_LOG_CLEAR "Xoá" +t IDC_LOG_SAVE "Lưu" +t IDCANCEL "Đóng" -# About -> Updates +# Update Settings g IDD_UPDATE_POLICY t IDD_UPDATE_POLICY "Thiết lập và lập chính sách cập nhật" t IDS_UPDATE_SETTINGS_GRP "Thiết lập" t IDS_UPDATE_FREQUENCY_TXT "Kiểm tra cập nhật" -s IDC_UPDATE_FREQUENCY +40,0 -m IDC_UPDATE_FREQUENCY -25,0 t IDS_INCLUDE_BETAS_TXT "Gồm bản thử nghiệm" -s IDC_INCLUDE_BETAS +30,0 -m IDC_INCLUDE_BETAS +30,0 -s IDS_UPDATE_SETTINGS_GRP +8,0 -s IDS_CHECK_NOW_GRP -8.0 -m IDS_CHECK_NOW_GRP +8,0 t IDC_CHECK_NOW "Kiểm tra ngay" -s IDC_CHECK_NOW +6,0 t IDCANCEL "Đóng" -s IDCANCEL +6,0 # Dialog that appears when a new version is available g IDD_NEW_VERSION @@ -18170,9 +16782,9 @@ t MSG_028 "megabyte" t MSG_029 "Mặc định" # The following gets appended to the file system, cluster size, etc. t MSG_030 "%s (Mặc định)" -t MSG_031 "Sắp xếp phân vùng %s cho BIOS hoặc %s" -t MSG_032 "Sắp xếp phân vùng %s cho BIOS" -t MSG_033 "Sắp xếp phân vùng %s cho UEFI" +#t MSG_031 "Sắp xếp phân vùng %s cho BIOS hoặc %s" +#t MSG_032 "Sắp xếp phân vùng %s cho BIOS" +#t MSG_033 "Sắp xếp phân vùng %s cho UEFI" # Number of bad block check passes (singular for 1 pass, plural for 2 or more passes) t MSG_034 "Qua %d lần" t MSG_035 "Qua %d lần" @@ -18244,10 +16856,6 @@ t MSG_084 "Ảnh ISO này là phiên bản cũ của '%s'.\n" "trong đó, nó sẽ được tự động tái sử dụng." t MSG_085 "Đang tải xuống '%s'" t MSG_086 "Chưa chọn ảnh" -# The content between the quotes below (\"Create a bootable disk\") should match -# the beginning of the IDC_BOOT text -t MSG_087 "Hãy nhấn vào nút ổ đĩa để chọn ảnh khởi động, " - "hoặc bỏ chọn mục \"Tạo đĩa khởi động bằng\"." t MSG_088 "Ảnh quá lớn" t MSG_089 "Ảnh quá lớn cho đĩa đã chọn." t MSG_090 "ISO không được hỗ trợ" @@ -18292,7 +16900,7 @@ t MSG_106 "Vui lòng chọn thư mục" t MSG_107 "Tất cả tập tin" t MSG_108 "Nhật kýRufus" t MSG_109 "0x%02X (Đĩa %d)" -# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_TXT +# "Cluster size" below should be the same as the label for IDS_CLUSTER_SIZE_TXT # "kilobytes" should be the same as in MSG_027 t MSG_110 "MS-DOS không thể khởi động từ ổ đĩa dùng kích thước liên cung 64 kilobyte.\n" "Vui lòng thay đổi kích thước liên cung hoặc dùng FreeDOS." @@ -18339,7 +16947,6 @@ t MSG_159 "Dùng trường này để đặt tên đĩa\nChấp nhận các ký t MSG_160 "Bật tắt tuỳ chọn nâng cao" t MSG_161 "Kiểm tra khối hỏng bằng mẫu thử" t MSG_162 "Bỏ chọn mục này để dùng cách định dạng \"chậm\"" -t MSG_163 "Chọn mục này để tạo ổ USB có thể khởi động" t MSG_164 "Cách sẽ dùng để tạo ổ đĩa có thể khởi động" t MSG_165 "Nhấn để chọn ảnh..." t MSG_166 "Chọn mục này để cho phép hiện tên quốc tế " @@ -18488,7 +17095,6 @@ t MSG_275 "Ảnh bạn đã chọn là một ảnh 'ISOHybrid'. Điều này có "Hãy chọn chế độ mà bạn muốn dùng để ghi ảnh này:" t MSG_276 "Ghi trong chế độ %s (Khuyến cáo)" t MSG_277 "Ghi trong chế độ %s" -t MSG_278 "Phương thức khởi động" t MSG_279 "Không có khả năng khởi động" t MSG_280 "Chọn ảnh" t MSG_281 "(Hãy chọn một ảnh)" @@ -18511,3 +17117,4 @@ t MSG_296 "Phiên bản Rufus này KHÔNG PHẢI do chính tác giả tạo ra.\ t MSG_297 "Đã phát hiện ISO bị cắt xén" t MSG_298 "Tập tin ISO bạn đã chọn không trùng khớp kích cỡ của nó: thiếu mất %s dữ liệu!\n\nnếu bạn tải tập tin này từ Internet, bạn nên tải lại một bản sao " "mới và xác nhận rằng mã MD5 hoặc SHA trùng khớp với bản chính thức.\n\nHãy nhớ rằng bạn có thể tính mã MD5 hoặc SHA trong Rufus bằng cách chọn nút '#'." +t MSG_117 "Cài đặt Windows tiêu chuẩn" diff --git a/src/checksum.c b/src/checksum.c index 40352a61..5e77bdea 100644 --- a/src/checksum.c +++ b/src/checksum.c @@ -69,6 +69,7 @@ uint32_t bufnum, sum_count[CHECKSUM_MAX] = { 16, 20, 32 }; HANDLE data_ready[CHECKSUM_MAX] = { 0 }, thread_ready[CHECKSUM_MAX] = { 0 }; DWORD read_size[2]; unsigned char ALIGNED(64) buffer[2][BUFFER_SIZE]; +extern BOOL progress_in_use; /* * Rotate 32 bit integers by n bytes. @@ -818,6 +819,7 @@ INT_PTR CALLBACK ChecksumCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM dw = rect.right - rect.left - dw + 12; ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDC_MD5), 0, 0, dw, 0, 1.0f); ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDC_SHA1), 0, 0, dw, 0, 1.0f); + ResizeButtonHeight(hDlg, IDOK); safe_release_dc(GetDlgItem(hDlg, IDC_MD5), hDC); @@ -834,8 +836,6 @@ INT_PTR CALLBACK ChecksumCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM case IDCANCEL: reset_localization(IDD_CHECKSUM); EndDialog(hDlg, LOWORD(wParam)); - // Reset focus to our toolbar - PostMessage(hMainDialog, WM_NEXTDLGCTL, (WPARAM)hStatusToolbar, TRUE); return (INT_PTR)TRUE; } } @@ -927,6 +927,7 @@ DWORD WINAPI SumThread(void* param) bufnum = 0; _bufnum = 0; read_size[0] = 1; // Don't trigger the first loop break + progress_in_use = TRUE; for (rb = 0; ;rb += read_size[_bufnum]) { // Update the progress and check for cancel if (GetTickCount64() > LastRefresh + MAX_REFRESH) { @@ -982,6 +983,7 @@ DWORD WINAPI SumThread(void* param) r = 0; out: + progress_in_use = FALSE; for (i = 0; i < CHECKSUM_MAX; i++) { if (sum_thread[i] != NULL) TerminateThread(sum_thread[i], 1); diff --git a/src/dev.c b/src/dev.c index e70f93de..60ad0d2a 100644 --- a/src/dev.c +++ b/src/dev.c @@ -1,7 +1,7 @@ /* * Rufus: The Reliable USB Formatting Utility * Device detection and enumeration - * Copyright © 2014-2017 Pete Batard + * Copyright © 2014-2018 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -84,8 +84,8 @@ static BOOL GetUSBProperties(char* parent_path, char* device_id, usb_device_prop uprintf("Could not open hub %s: %s", parent_path, WindowsErrorString()); goto out; } - memset(&conn_info, 0, sizeof(conn_info)); size = sizeof(conn_info); + memset(&conn_info, 0, size); conn_info.ConnectionIndex = (ULONG)props->port; // coverity[tainted_data_argument] if (!DeviceIoControl(handle, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX, &conn_info, size, &conn_info, size, &size, NULL)) { @@ -105,8 +105,8 @@ static BOOL GetUSBProperties(char* parent_path, char* device_id, usb_device_prop // In their great wisdom, Microsoft decided to BREAK the USB speed report between Windows 7 and Windows 8 if (nWindowsVersion >= WINDOWS_8) { - memset(&conn_info_v2, 0, sizeof(conn_info_v2)); size = sizeof(conn_info_v2); + memset(&conn_info_v2, 0, size); conn_info_v2.ConnectionIndex = (ULONG)props->port; conn_info_v2.Length = size; conn_info_v2.SupportedUsbProtocols.Usb300 = 1; @@ -152,8 +152,8 @@ BOOL ResetDevice(int index) goto out; } - memset(&cycle_port, 0, sizeof(cycle_port)); size = sizeof(cycle_port); + memset(&cycle_port, 0, size); cycle_port.ConnectionIndex = DrivePort[index]; uprintf("Cycling port %d (reset) on %s", DrivePort[index], DriveHub.String[index]); // As per https://msdn.microsoft.com/en-us/library/windows/hardware/ff537340.aspx @@ -845,7 +845,7 @@ BOOL GetDevices(DWORD devnum) i = 0; IGNORE_RETVAL(ComboBox_SetCurSel(hDeviceList, i)); SendMessage(hMainDialog, WM_COMMAND, (CBN_SELCHANGE<<16) | IDC_DEVICE, 0); - SendMessage(hMainDialog, WM_COMMAND, (CBN_SELCHANGE<<16) | IDC_FILESYSTEM, + SendMessage(hMainDialog, WM_COMMAND, (CBN_SELCHANGE<<16) | IDC_FILE_SYSTEM, ComboBox_GetCurSel(hFileSystem)); r = TRUE; diff --git a/src/drive.c b/src/drive.c index d3eac0fd..23ebc761 100644 --- a/src/drive.c +++ b/src/drive.c @@ -1,7 +1,7 @@ /* * Rufus: The Reliable USB Formatting Utility * Drive access function calls - * Copyright © 2011-2016 Pete Batard + * Copyright © 2011-2018 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -57,6 +57,7 @@ const GUID PARTITION_SYSTEM_GUID = * Globals */ RUFUS_DRIVE_INFO SelectedDrive; +const char* sfd_name = "Super Floppy Disk"; /* * The following methods get or set the AutoMount setting (which is different from AutoRun) @@ -765,7 +766,7 @@ BOOL GetDrivePartitionData(DWORD DriveIndex, char* FileSystemName, DWORD FileSys // Detect drives that are using the whole disk as a single partition if ((DriveLayout->PartitionEntry[0].Mbr.PartitionType != PARTITION_ENTRY_UNUSED) && (DriveLayout->PartitionEntry[0].StartingOffset.QuadPart == 0LL)) { - suprintf("Partition type: SFD (Super Floppy Disk) or Unpartitioned"); + suprintf("Partition type: SFD (%s) or Unpartitioned", sfd_name); super_floppy_disk = TRUE; } else { suprintf("Partition type: MBR, NB Partitions: %d", SelectedDrive.nPartitions); @@ -1098,7 +1099,7 @@ BOOL CreatePartition(HANDLE hDrive, int partition_style, int file_system, BOOL m } // Compute the start offset of our first partition - if ((partition_style == PARTITION_STYLE_GPT) || (!IsChecked(IDC_EXTRA_PARTITION))) { + if ((partition_style == PARTITION_STYLE_GPT) || (!IsChecked(IDC_OLD_BIOS_FIXES))) { // Go with the MS 1 MB wastage at the beginning... DriveLayoutEx.PartitionEntry[pn].StartingOffset.QuadPart = MB; } else { @@ -1164,7 +1165,7 @@ BOOL CreatePartition(HANDLE hDrive, int partition_style, int file_system, BOOL m } DriveLayoutEx.PartitionEntry[pn].PartitionLength.QuadPart = main_part_size_in_sectors * SelectedDrive.SectorSize; if (partition_style == PARTITION_STYLE_MBR) { - DriveLayoutEx.PartitionEntry[pn].Mbr.BootIndicator = IsChecked(IDC_BOOT); + DriveLayoutEx.PartitionEntry[pn].Mbr.BootIndicator = (bt != BT_NON_BOOTABLE); switch (file_system) { case FS_FAT16: DriveLayoutEx.PartitionEntry[pn].Mbr.PartitionType = 0x0e; // FAT16 LBA diff --git a/src/format.c b/src/format.c index adf1a276..5fe0dadd 100644 --- a/src/format.c +++ b/src/format.c @@ -2,7 +2,7 @@ * Rufus: The Reliable USB Formatting Utility * Formatting function calls * Copyright © 2007-2009 Tom Thornhill/Ridgecrop - * Copyright © 2011-2017 Pete Batard + * Copyright © 2011-2018 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -61,7 +61,7 @@ static int task_number = 0; extern const int nb_steps[FS_MAX]; extern uint32_t dur_mins, dur_secs; static int fs_index = 0, wintogo_index = -1; -extern BOOL force_large_fat32, enable_ntfs_compression, lock_drive, zero_drive, disable_file_indexing; +extern BOOL force_large_fat32, enable_ntfs_compression, lock_drive, zero_drive, disable_file_indexing, write_as_image; uint8_t *grub2_buf = NULL; long grub2_len; static BOOL WritePBR(HANDLE hLogicalDrive); @@ -683,7 +683,6 @@ static BOOL FormatDrive(DWORD DriveIndex) WCHAR wLabel[64]; ULONG ulClusterSize; size_t i; - int fs; GetWindowTextU(hFileSystem, FSType, ARRAYSIZE(FSType)); // Might have a (Default) suffix => remove it @@ -693,7 +692,6 @@ static BOOL FormatDrive(DWORD DriveIndex) break; } } - fs = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); if ((fs == FS_UDF) && !((dur_mins == 0) && (dur_secs == 0))) { PrintInfoDebug(0, MSG_220, FSType, dur_mins, dur_secs); } else { @@ -751,9 +749,9 @@ static BOOL FormatDrive(DWORD DriveIndex) task_number = 0; fs_index = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); - uprintf("%s format was selected\n", IsChecked(IDC_QUICKFORMAT)?"Quick":"Slow"); + uprintf("%s format was selected\n", IsChecked(IDC_QUICK_FORMAT)?"Quick":"Slow"); pfFormatEx(wVolumeName, SelectedDrive.MediaType, wFSType, wLabel, - IsChecked(IDC_QUICKFORMAT), ulClusterSize, FormatExCallback); + IsChecked(IDC_QUICK_FORMAT), ulClusterSize, FormatExCallback); if ((fs == FS_NTFS) && (enable_ntfs_compression) && (pfEnableVolumeCompression != NULL)) { wVolumeName[wcslen(wVolumeName)] = '\\'; // Add trailing backslash back again @@ -864,9 +862,6 @@ static BOOL WriteMBR(HANDLE hPhysicalDrive) FAKE_FD fake_fd = { 0 }; FILE* fp = (FILE*)&fake_fd; const char* using_msg = "Using %s MBR\n"; - int fs = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); - int bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); - int tt = GETTARGETTYPE((int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme))); AnalyzeMBR(hPhysicalDrive, "Drive"); @@ -906,7 +901,7 @@ static BOOL WriteMBR(HANDLE hPhysicalDrive) buffer[0x1c2] = 0x0c; break; } - if ((IsChecked(IDC_BOOT)) && (tt == TT_BIOS)) { + if ((bt != BT_NON_BOOTABLE) && (tt == TT_BIOS)) { // Set first partition bootable - masquerade as per the DiskID selected buffer[0x1be] = IsChecked(IDC_RUFUS_MBR) ? (BYTE)ComboBox_GetItemData(hDiskID, ComboBox_GetCurSel(hDiskID)):0x80; @@ -936,21 +931,21 @@ static BOOL WriteMBR(HANDLE hPhysicalDrive) // Syslinux if ( (bt == BT_SYSLINUX_V4) || (bt == BT_SYSLINUX_V6) || - ((bt == BT_ISO) && HAS_SYSLINUX(img_report)) ) { + ((bt == BT_IMAGE) && HAS_SYSLINUX(img_report)) ) { uprintf(using_msg, "Syslinux"); r = write_syslinux_mbr(fp); goto notify; } // Grub 2.0 - if ( ((bt == BT_ISO) && (img_report.has_grub2)) || (bt == BT_GRUB2) ) { + if ( ((bt == BT_IMAGE) && (img_report.has_grub2)) || (bt == BT_GRUB2) ) { uprintf(using_msg, "Grub 2.0"); r = write_grub2_mbr(fp); goto notify; } // Grub4DOS - if ( ((bt == BT_ISO) && (img_report.has_grub4dos)) || (bt == BT_GRUB4DOS) ) { + if ( ((bt == BT_IMAGE) && (img_report.has_grub4dos)) || (bt == BT_GRUB4DOS) ) { uprintf(using_msg, "Grub4DOS"); r = write_grub4dos_mbr(fp); goto notify; @@ -964,7 +959,7 @@ static BOOL WriteMBR(HANDLE hPhysicalDrive) } // KolibriOS - if ( (bt == BT_ISO) && HAS_KOLIBRIOS(img_report) && (IS_FAT(fs))) { + if ( (bt == BT_IMAGE) && HAS_KOLIBRIOS(img_report) && (IS_FAT(fs))) { uprintf(using_msg, "KolibriOS"); r = write_kolibrios_mbr(fp); goto notify; @@ -997,7 +992,7 @@ static BOOL WriteSBR(HANDLE hPhysicalDrive) { // TODO: Do we need anything special for 4K sectors? DWORD size, max_size, mbr_size = 0x200; - int r, bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); + int r; unsigned char* buf = NULL; FAKE_FD fake_fd = { 0 }; FILE* fp = (FILE*)&fake_fd; @@ -1005,11 +1000,11 @@ static BOOL WriteSBR(HANDLE hPhysicalDrive) fake_fd._handle = (char*)hPhysicalDrive; set_bytes_per_sector(SelectedDrive.SectorSize); // Ensure that we have sufficient space for the SBR - max_size = IsChecked(IDC_EXTRA_PARTITION) ? + max_size = IsChecked(IDC_OLD_BIOS_FIXES) ? (DWORD)(SelectedDrive.SectorsPerTrack * SelectedDrive.SectorSize) : 1*MB; max_size -= mbr_size; // Syslinux has precedence over Grub - if ((bt == BT_ISO) && (!HAS_SYSLINUX(img_report))) { + if ((bt == BT_IMAGE) && (!HAS_SYSLINUX(img_report))) { if (img_report.has_grub4dos) bt = BT_GRUB4DOS; if (img_report.has_grub2) @@ -1059,12 +1054,12 @@ static BOOL WriteSBR(HANDLE hPhysicalDrive) /* * Process the Partition Boot Record */ -static __inline const char* bt_to_name(int bt) { +static __inline const char* bt_to_name(void) { switch (bt) { case BT_FREEDOS: return "FreeDOS"; case BT_REACTOS: return "ReactOS"; default: - return ((bt==BT_ISO) && HAS_KOLIBRIOS(img_report)) ? "KolibriOS" : "Standard"; + return ((bt==BT_IMAGE) && HAS_KOLIBRIOS(img_report)) ? "KolibriOS" : "Standard"; } } static BOOL WritePBR(HANDLE hLogicalVolume) @@ -1072,7 +1067,6 @@ static BOOL WritePBR(HANDLE hLogicalVolume) int i; FAKE_FD fake_fd = { 0 }; FILE* fp = (FILE*)&fake_fd; - int bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); const char* using_msg = "Using %s %s partition boot record\n"; fake_fd._handle = (char*)hLogicalVolume; @@ -1080,7 +1074,7 @@ static BOOL WritePBR(HANDLE hLogicalVolume) switch (ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem))) { case FS_FAT16: - uprintf(using_msg, bt_to_name(bt), "FAT16"); + uprintf(using_msg, bt_to_name(), "FAT16"); if (!is_fat_16_fs(fp)) { uprintf("New volume does not have a FAT16 boot sector - aborting\n"); break; @@ -1090,7 +1084,7 @@ static BOOL WritePBR(HANDLE hLogicalVolume) if (!write_fat_16_fd_br(fp, 0)) break; } else if (bt == BT_REACTOS) { if (!write_fat_16_ros_br(fp, 0)) break; - } else if ((bt == BT_ISO) && HAS_KOLIBRIOS(img_report)) { + } else if ((bt == BT_IMAGE) && HAS_KOLIBRIOS(img_report)) { uprintf("FAT16 is not supported for KolibriOS\n"); break; } else { if (!write_fat_16_br(fp, 0)) break; @@ -1100,7 +1094,7 @@ static BOOL WritePBR(HANDLE hLogicalVolume) break; return TRUE; case FS_FAT32: - uprintf(using_msg, bt_to_name(bt), "FAT32"); + uprintf(using_msg, bt_to_name(), "FAT32"); for (i=0; i<2; i++) { if (!is_fat_32_fs(fp)) { uprintf("New volume does not have a %s FAT32 boot sector - aborting\n", i?"secondary":"primary"); @@ -1112,11 +1106,11 @@ static BOOL WritePBR(HANDLE hLogicalVolume) if (!write_fat_32_fd_br(fp, 0)) break; } else if (bt == BT_REACTOS) { if (!write_fat_32_ros_br(fp, 0)) break; - } else if ((bt == BT_ISO) && HAS_KOLIBRIOS(img_report)) { + } else if ((bt == BT_IMAGE) && HAS_KOLIBRIOS(img_report)) { if (!write_fat_32_kos_br(fp, 0)) break; - } else if ((bt == BT_ISO) && HAS_BOOTMGR(img_report)) { + } else if ((bt == BT_IMAGE) && HAS_BOOTMGR(img_report)) { if (!write_fat_32_pe_br(fp, 0)) break; - } else if ((bt == BT_ISO) && HAS_WINPE(img_report)) { + } else if ((bt == BT_IMAGE) && HAS_WINPE(img_report)) { if (!write_fat_32_nt_br(fp, 0)) break; } else { if (!write_fat_32_br(fp, 0)) break; @@ -1128,7 +1122,7 @@ static BOOL WritePBR(HANDLE hLogicalVolume) } return TRUE; case FS_NTFS: - uprintf(using_msg, bt_to_name(bt), "NTFS"); + uprintf(using_msg, bt_to_name(), "NTFS"); if (!is_ntfs_fs(fp)) { uprintf("New volume does not have an NTFS boot sector - aborting\n"); break; @@ -1644,7 +1638,7 @@ out: */ DWORD WINAPI FormatThread(void* param) { - int i, r, pt, tt, fs, bt; + int i, r; BOOL ret, use_large_fat32, windows_to_go; DWORD DriveIndex = (DWORD)(uintptr_t)param; HANDLE hPhysicalDrive = INVALID_HANDLE_VALUE; @@ -1661,12 +1655,9 @@ DWORD WINAPI FormatThread(void* param) char kolibri_dst[] = "?:\\MTLD_F32"; char grub4dos_dst[] = "?:\\grldr"; - fs = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); - bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); - pt = GETPARTTYPE((int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme))); - tt = GETTARGETTYPE((int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme))); use_large_fat32 = (fs == FS_FAT32) && ((SelectedDrive.DiskSize > LARGE_FAT32_SIZE) || (force_large_fat32)); - windows_to_go = (togo_mode) && HAS_WINTOGO(img_report) && (Button_GetCheck(GetDlgItem(hMainDialog, IDC_WINDOWS_TO_GO)) == BST_CHECKED); + windows_to_go = display_togo_option && (bt == BT_IMAGE) && HAS_WINTOGO(img_report) && + (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1); large_drive = (SelectedDrive.DiskSize > (1*TB)); if (large_drive) uprintf("Notice: Large drive detected (may produce short writes)"); @@ -1676,9 +1667,9 @@ DWORD WINAPI FormatThread(void* param) // http://msdn.microsoft.com/en-us/library/windows/hardware/dn640535.aspx#gpt_faq_what_disk_require_msr extra_partitions = XP_MSR | XP_EFI; else if ( (fs == FS_NTFS) && ((bt == BT_UEFI_NTFS) || - ((bt == BT_ISO) && IS_EFI_BOOTABLE(img_report) && ((tt == TT_UEFI) || (windows_to_go) || (allow_dual_uefi_bios)))) ) + ((bt == BT_IMAGE) && IS_EFI_BOOTABLE(img_report) && ((tt == TT_UEFI) || (windows_to_go) || (allow_dual_uefi_bios)))) ) extra_partitions = XP_UEFI_NTFS; - else if (IsChecked(IDC_EXTRA_PARTITION)) + else if (IsChecked(IDC_OLD_BIOS_FIXES)) extra_partitions = XP_COMPAT; PrintInfoDebug(0, MSG_225); @@ -1707,7 +1698,7 @@ DWORD WINAPI FormatThread(void* param) // Do it in reverse so that we always end on the first volume letter for (i=(int)safe_strlen(drive_letters); i>0; i--) { drive_name[0] = drive_letters[i-1]; - if (IsChecked(IDC_BOOT) && ((bt == BT_ISO) || (bt == BT_IMG))) { + if (bt == BT_IMAGE) { // If we are using an image, check that it isn't located on the drive we are trying to format if ((PathGetDriveNumberU(image_path) + 'A') == drive_letters[i-1]) { uprintf("ABORTED: Cannot use an image that is located on the target drive!\n"); @@ -1755,7 +1746,7 @@ DWORD WINAPI FormatThread(void* param) // Note, Microsoft's way of cleaning partitions (IOCTL_DISK_CREATE_DISK, which is what we apply // in InitializeDisk) is *NOT ENOUGH* to reset a disk and can render it inoperable for partitioning // or formatting under Windows. See https://github.com/pbatard/rufus/issues/759 for details. - if ((!IsChecked(IDC_BOOT)) || (bt != BT_IMG)) { + if ((bt != BT_IMAGE) || (img_report.is_iso)) { if ((!ClearMBRGPT(hPhysicalDrive, SelectedDrive.DiskSize, SelectedDrive.SectorSize, use_large_fat32)) || (!InitializeDisk(hPhysicalDrive))) { uprintf("Could not reset partitions\n"); @@ -1764,7 +1755,7 @@ DWORD WINAPI FormatThread(void* param) } } - if (IsChecked(IDC_BADBLOCKS)) { + if (IsChecked(IDC_BAD_BLOCKS)) { do { // create a log file for bad blocks report. Since %USERPROFILE% may // have localized characters, we use the UTF-8 API. @@ -1830,7 +1821,7 @@ DWORD WINAPI FormatThread(void* param) } // Write an image file - if (IsChecked(IDC_BOOT) && (bt == BT_IMG)) { + if ((bt == BT_IMAGE) && write_as_image) { hSourceImage = CreateFileU(image_path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); if (hSourceImage == INVALID_HANDLE_VALUE) { @@ -1935,18 +1926,18 @@ DWORD WINAPI FormatThread(void* param) uprintf("Warning: Failed to refresh label: %s", WindowsErrorString()); } - if (IsChecked(IDC_BOOT)) { + if (bt != BT_NON_BOOTABLE) { if (bt == BT_UEFI_NTFS) { // All good } else if (tt == TT_UEFI) { // For once, no need to do anything - just check our sanity - if ( (bt != BT_ISO) || !IS_EFI_BOOTABLE(img_report) || (fs > FS_NTFS) ) { + if ( (bt != BT_IMAGE) || !IS_EFI_BOOTABLE(img_report) || (fs > FS_NTFS) ) { uprintf("Spock gone crazy error in %s:%d", __FILE__, __LINE__); FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_INSTALL_FAILURE; goto out; } } else if ( (bt == BT_SYSLINUX_V4) || (bt == BT_SYSLINUX_V6) || - ((bt == BT_ISO) && (HAS_SYSLINUX(img_report) || HAS_REACTOS(img_report)) && + ((bt == BT_IMAGE) && (HAS_SYSLINUX(img_report) || HAS_REACTOS(img_report)) && (!HAS_WINDOWS(img_report) || !allow_dual_uefi_bios)) ) { if (!InstallSyslinux(DriveIndex, drive_name[0], fs)) { FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_INSTALL_FAILURE; @@ -1973,7 +1964,7 @@ DWORD WINAPI FormatThread(void* param) safe_unlockclose(hLogicalVolume); } } else { - if (IsChecked(IDC_SET_ICON)) + if (IsChecked(IDC_EXTENDED_LABEL)) SetAutorun(drive_name); } CHECK_FOR_USER_CANCEL; @@ -1985,7 +1976,7 @@ DWORD WINAPI FormatThread(void* param) goto out; CHECK_FOR_USER_CANCEL; - if (IsChecked(IDC_BOOT)) { + if (bt != BT_NON_BOOTABLE) { if ((bt == BT_MSDOS) || (bt == BT_FREEDOS)) { UpdateProgress(OP_DOS, -1.0f); PrintInfoDebug(0, MSG_230); @@ -2001,7 +1992,7 @@ DWORD WINAPI FormatThread(void* param) IsFileInDB(FILES_DIR "\\grub4dos-" GRUB4DOS_VERSION "\\grldr")?"✓":"✗"); if (!CopyFileU(FILES_DIR "\\grub4dos-" GRUB4DOS_VERSION "\\grldr", grub4dos_dst, FALSE)) uprintf("Failed to copy file: %s", WindowsErrorString()); - } else if ((bt == BT_ISO) && (image_path != NULL)) { + } else if ((bt == BT_IMAGE) && (image_path != NULL) && (img_report.is_iso)) { UpdateProgress(OP_DOS, 0.0f); drive_name[2] = 0; // Ensure our drive is something like 'D:' if (windows_to_go) { @@ -2052,12 +2043,12 @@ DWORD WINAPI FormatThread(void* param) } UpdateProgress(OP_FINALIZE, -1.0f); PrintInfoDebug(0, MSG_233); - if (IsChecked(IDC_SET_ICON)) + if (IsChecked(IDC_EXTENDED_LABEL)) SetAutorun(drive_name); // Issue another complete remount before we exit, to ensure we're clean RemountVolume(drive_name); // NTFS fixup (WinPE/AIK images don't seem to boot without an extra checkdisk) - if ((bt == BT_ISO) && (fs == FS_NTFS)) { + if ((bt == BT_IMAGE) && (img_report.is_iso) && (fs == FS_NTFS)) { // Try to ensure that all messages from Checkdisk will be in English if (PRIMARYLANGID(GetThreadUILanguage()) != LANG_ENGLISH) { SetThreadUILanguage(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); diff --git a/src/format.h b/src/format.h index bc32557c..3c5ef25e 100644 --- a/src/format.h +++ b/src/format.h @@ -2,7 +2,7 @@ * Rufus: The Reliable USB Formatting Utility * Formatting function calls * Copyright © 2007-2009 Tom Thornhill/Ridgecrop - * Copyright © 2011-2014 Pete Batard + * Copyright © 2011-2018 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/iso.c b/src/iso.c index 76f28ad2..27a6612d 100644 --- a/src/iso.c +++ b/src/iso.c @@ -1,7 +1,7 @@ /* * Rufus: The Reliable USB Formatting Utility * ISO file extraction - * Copyright © 2011-2016 Pete Batard + * Copyright © 2011-2018 Pete Batard * Based on libcdio's iso & udf samples: * Copyright © 2003-2014 Rocky Bernstein * @@ -1170,7 +1170,7 @@ BOOL ExtractEfiImgFiles(const char* dir) iso9660_readfat_private* p_private = NULL; libfat_sector_t s; int32_t dc, c; - struct libfat_filesystem *fs = NULL; + struct libfat_filesystem *lf_fs = NULL; struct libfat_direntry direntry; char name[12] = { 0 }; char path[64]; @@ -1201,17 +1201,17 @@ BOOL ExtractEfiImgFiles(const char* dir) uprintf("Error reading ISO-9660 file %s at LSN %lu\n", img_report.efi_img_path, (long unsigned int)p_private->lsn); goto out; } - fs = libfat_open(iso9660_readfat, (intptr_t)p_private); - if (fs == NULL) { + lf_fs = libfat_open(iso9660_readfat, (intptr_t)p_private); + if (lf_fs == NULL) { uprintf("FAT access error"); goto out; } // Navigate to /EFI/BOOT - if (libfat_searchdir(fs, 0, "EFI ", &direntry) < 0) + if (libfat_searchdir(lf_fs, 0, "EFI ", &direntry) < 0) goto out; dc = direntry.entry[26] + (direntry.entry[27] << 8); - if (libfat_searchdir(fs, dc, "BOOT ", &direntry) < 0) + if (libfat_searchdir(lf_fs, dc, "BOOT ", &direntry) < 0) goto out; dc = direntry.entry[26] + (direntry.entry[27] << 8); @@ -1228,7 +1228,7 @@ BOOL ExtractEfiImgFiles(const char* dir) } else name[k++] = toupper(efi_bootname[i][j]); } - c = libfat_searchdir(fs, dc, name, &direntry); + c = libfat_searchdir(lf_fs, dc, name, &direntry); if (c > 0) { if (dir == NULL) { if (!ret) @@ -1265,9 +1265,9 @@ BOOL ExtractEfiImgFiles(const char* dir) } written = 0; - s = libfat_clustertosector(fs, c); + s = libfat_clustertosector(lf_fs, c); while ((s != 0) && (s < 0xFFFFFFFFULL) && (written < file_size)) { - buf = libfat_get_sector(fs, s); + buf = libfat_get_sector(lf_fs, s); size = MIN(LIBFAT_SECTOR_SIZE, file_size - written); if (!WriteFileWithRetry(handle, buf, size, &size, WRITE_RETRIES) || (size != MIN(LIBFAT_SECTOR_SIZE, file_size - written))) { @@ -1276,7 +1276,7 @@ BOOL ExtractEfiImgFiles(const char* dir) continue; } written += size; - s = libfat_nextsector(fs, s); + s = libfat_nextsector(lf_fs, s); } CloseHandle(handle); ret = TRUE; @@ -1285,8 +1285,8 @@ BOOL ExtractEfiImgFiles(const char* dir) } out: - if (fs != NULL) - libfat_close(fs); + if (lf_fs != NULL) + libfat_close(lf_fs); if (p_statbuf != NULL) safe_free(p_statbuf->rr.psz_symlink); safe_free(p_statbuf); diff --git a/src/license.h b/src/license.h index f2ad6031..89b5fd45 100644 --- a/src/license.h +++ b/src/license.h @@ -34,6 +34,9 @@ RUFUS_URL "\\line\n" const char* additional_copyrights = "{\\rtf1\\ansi\n" +"UI redesign concept by Fahad Al-Riyami\\line\n" +"Used with kind authorization\\line\n" +"\\line\n" "Icon by PC Unleashed:\\line\n" "http://pcunleashed.com\\line\n" "Freeware\\line\n" diff --git a/src/localization.c b/src/localization.c index fe0b89c5..c07cf32c 100644 --- a/src/localization.c +++ b/src/localization.c @@ -44,7 +44,7 @@ * u: 32 bit unsigned CSV list * Remember to update the size of the array in localization.h when adding/removing elements */ -const loc_parse parse_cmd[9] = { +const loc_parse parse_cmd[7] = { // Translation name and Windows LCIDs it should apply to { 'l', LC_LOCALE, "ssu" }, // l "en_US" "English (US)" 0x0009,0x1009 // Base translation to add on top of (eg. "English (UK)" can be used to build on top of "English (US)" @@ -55,10 +55,6 @@ const loc_parse parse_cmd[9] = { { 't', LC_TEXT, "cs" }, // t IDC_CONTROL "Translation" // Set the section/dialog to which the next commands should apply { 'g', LC_GROUP, "c" }, // g IDD_DIALOG - // Resize a dialog (dx dy pixel increment) - { 's', LC_SIZE, "cii" }, // s IDC_CONTROL +10 +10 - // Move a dialog (dx dy pixed displacement) - { 'm', LC_MOVE, "cii" }, // m IDC_CONTROL -5 0 // Set the font to use for the text controls that follow // Use f "Default" 0 to reset the font { 'f', LC_FONT, "si" }, // f "MS Dialog" 10 @@ -80,6 +76,8 @@ char* default_msg_table[MSG_MAX-MSG_000] = {"%s", 0}; char* current_msg_table[MSG_MAX-MSG_000] = {"%s", 0}; char** msg_table = NULL; +extern BOOL progress_in_use; + static void mtab_destroy(BOOL reinit) { size_t j; @@ -259,8 +257,6 @@ BOOL dispatch_loc_cmd(loc_cmd* lcmd) switch(lcmd->command) { // NB: For commands that take an ID, ctrl_id is always a valid index at this stage case LC_TEXT: - case LC_MOVE: - case LC_SIZE: add_dialog_command(dlg_index, lcmd); break; case LC_GROUP: @@ -344,16 +340,6 @@ void apply_localization(int dlg_id, HWND hDlg) SetWindowTextU(hCtrl, lcmd->txt[1]); } break; - case LC_MOVE: - if (hCtrl != NULL) { - ResizeMoveCtrl(hDlg, hCtrl, lcmd->num[0], lcmd->num[1], 0, 0, fScale); - } - break; - case LC_SIZE: - if (hCtrl != NULL) { - ResizeMoveCtrl(hDlg, hCtrl, 0, 0, lcmd->num[0], lcmd->num[1], fScale); - } - break; } } } @@ -388,7 +374,7 @@ char* lmprintf(uint32_t msg_id, ...) buf[buf_id][0] = 0; msg_id &= MSG_MASK; - if ((msg_id > MSG_000) && (msg_id < MSG_MAX)) { + if ((msg_id >= MSG_000) && (msg_id < MSG_MAX)) { format = msg_table[msg_id - MSG_000]; } @@ -426,9 +412,17 @@ static char *output_msg[2]; static uint64_t last_msg_time[2] = { 0, 0 }; static void PrintInfoMessage(char* msg) { - SetWindowTextU(hInfo, msg); + SetWindowTextU(hProgress, msg); // Make sure our field gets redrawn - SendMessage(hInfo, WM_PAINT, 0, 0); + // If the progress bar is not active, it looks like WM_PAINT is + // ignored. But InvalidateRect is causing refresh tearing so we + // don't want to use that while active. + // Refresh still sucks though and marquee no longer works... :( + // TODO: Create our own progress bar control with text overlay and inverted text + if (!progress_in_use) + InvalidateRect(hProgress, NULL, TRUE); + else + SendMessage(hProgress, WM_PAINT, 0, 0); } static void PrintStatusMessage(char* msg) { SendMessageLU(hStatus, SB_SETTEXTW, SBT_OWNERDRAW | SB_SECTION_LEFT, msg); @@ -446,6 +440,7 @@ static void CALLBACK OutputMessageTimeout(HWND hWnd, UINT uMsg, UINT_PTR idEvent KillTimer(hMainDialog, idEvent); bOutputTimerArmed[i] = FALSE; + PrintMessage[i](output_msg[i]); last_msg_time[i] = GetTickCount64(); } @@ -507,7 +502,8 @@ void PrintStatusInfo(BOOL info, BOOL debug, unsigned int duration, int msg_id, . if (!info) szStatusMessage = szMessage[MSG_STATUS][(duration > 0)?MSG_LOW_PRI:MSG_HIGH_PRI]; - format = msg_table[msg_id - MSG_000]; + if ((msg_id >= MSG_000) && (msg_id < MSG_MAX)) + format = msg_table[msg_id - MSG_000]; if (format == NULL) { safe_sprintf(msg_hi, MSG_LEN, "MSG_%03d UNTRANSLATED", msg_id - MSG_000); uprintf(msg_hi); @@ -530,7 +526,8 @@ void PrintStatusInfo(BOOL info, BOOL debug, unsigned int duration, int msg_id, . // Because we want the log messages in English, we go through the VA business once more, but this time with default_msg_table if (debug) { - format = default_msg_table[msg_id - MSG_000]; + if ((msg_id >= MSG_000) && (msg_id < MSG_MAX)) + format = default_msg_table[msg_id - MSG_000]; if (format == NULL) { safe_sprintf(buf, sizeof(szStatusMessage), "(default) MSG_%03d UNTRANSLATED", msg_id - MSG_000); return; diff --git a/src/localization.h b/src/localization.h index ddb0f01d..87d72e69 100644 --- a/src/localization.h +++ b/src/localization.h @@ -113,8 +113,6 @@ static __inline void list_del(struct list_head *entry) // The last command with a control ID *MUST* be LC_TEXT enum loc_command_type { LC_GROUP, - LC_MOVE, - LC_SIZE, LC_TEXT, // Delimits commands that take a Control ID and commands that don't LC_VERSION, LC_LOCALE, @@ -151,7 +149,7 @@ typedef struct loc_dlg_list_struct { struct list_head list; } loc_dlg_list; -extern const loc_parse parse_cmd[9]; +extern const loc_parse parse_cmd[7]; extern struct list_head locale_list; extern char *default_msg_table[], *current_msg_table[], **msg_table; int loc_line_nr; diff --git a/src/localization_data.h b/src/localization_data.h index 25b03d28..27a5f21c 100644 --- a/src/localization_data.h +++ b/src/localization_data.h @@ -1,7 +1,7 @@ /* * Rufus: The Reliable USB Formatting Utility * Localization tables - autogenerated from resource.h - * Copyright © 2013-2016 Pete Batard + * Copyright © 2013-2018 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,44 +36,47 @@ const loc_control_id control_id[] = { LOC_CTRL(IDD_UPDATE_POLICY), LOC_CTRL(IDD_NEW_VERSION), LOC_CTRL(IDD_CHECKSUM), + LOC_CTRL(IDD_LIST), LOC_CTRL(IDC_DEVICE), - LOC_CTRL(IDC_FILESYSTEM), + LOC_CTRL(IDC_FILE_SYSTEM), LOC_CTRL(IDC_START), LOC_CTRL(IDC_PARTITION_TYPE), - LOC_CTRL(IDC_CLUSTERSIZE), + LOC_CTRL(IDC_CLUSTER_SIZE), LOC_CTRL(IDC_STATUS), - LOC_CTRL(IDC_ABOUT), LOC_CTRL(IDC_LABEL), - LOC_CTRL(IDC_QUICKFORMAT), - LOC_CTRL(IDC_BOOT), - LOC_CTRL(IDC_BADBLOCKS), + LOC_CTRL(IDC_QUICK_FORMAT), + LOC_CTRL(IDC_BAD_BLOCKS), LOC_CTRL(IDC_PROGRESS), - LOC_CTRL(IDC_BOOTTYPE), - LOC_CTRL(IDC_NBPASSES), + LOC_CTRL(IDC_BOOT_SELECTION), + LOC_CTRL(IDC_NB_PASSES), LOC_CTRL(IDC_TEST), - LOC_CTRL(IDC_SELECT_ISO), - LOC_CTRL(IDC_SET_ICON), + LOC_CTRL(IDC_SELECT), + LOC_CTRL(IDC_EXTENDED_LABEL), LOC_CTRL(IDC_RUFUS_MBR), - LOC_CTRL(IDC_INFO), + LOC_CTRL(IDC_TARGET_SYSTEM), LOC_CTRL(IDC_DISK_ID), - LOC_CTRL(IDC_EXTRA_PARTITION), - LOC_CTRL(IDC_ENABLE_FIXED_DISKS), + LOC_CTRL(IDC_OLD_BIOS_FIXES), + LOC_CTRL(IDC_LIST_USB_HDD), LOC_CTRL(IDC_STATUS_TOOLBAR), LOC_CTRL(IDC_HASH), + LOC_CTRL(IDC_SAVE), + LOC_CTRL(IDC_IMAGE_OPTION), LOC_CTRL(IDC_ABOUT_LICENSE), LOC_CTRL(IDC_ABOUT_ICON), - LOC_CTRL(IDC_ABOUT_UPDATES), LOC_CTRL(IDC_ABOUT_COPYRIGHTS), LOC_CTRL(IDC_ABOUT_BLURB), LOC_CTRL(IDC_LICENSE_TEXT), LOC_CTRL(IDC_NOTIFICATION_ICON), LOC_CTRL(IDC_NOTIFICATION_TEXT), LOC_CTRL(IDC_NOTIFICATION_LINE), - LOC_CTRL(IDC_ADVANCED), - LOC_CTRL(IDS_ADVANCED_OPTIONS_GRP), + LOC_CTRL(IDC_ADVANCED_DEVICE_TOOLBAR), + LOC_CTRL(IDC_ADVANCED_FORMAT_TOOLBAR), + LOC_CTRL(IDC_CHECKSUM_TOOLBAR), + LOC_CTRL(IDC_MULTI_TOOLBAR), + LOC_CTRL(IDC_LANG), + LOC_CTRL(IDC_ABOUT), + LOC_CTRL(IDC_SETTINGS), LOC_CTRL(IDC_LOG), - LOC_CTRL(IDC_WINDOWS_INSTALL), - LOC_CTRL(IDC_WINDOWS_TO_GO), LOC_CTRL(IDC_LOG_EDIT), LOC_CTRL(IDC_LOG_SAVE), LOC_CTRL(IDC_LOG_CLEAR), @@ -110,12 +113,33 @@ const loc_control_id control_id[] = { LOC_CTRL(IDC_SELECTION_CHOICE14), LOC_CTRL(IDC_SELECTION_CHOICE15), LOC_CTRL(IDC_SELECTION_CHOICEMAX), + LOC_CTRL(IDC_LIST_ICON), + LOC_CTRL(IDC_LIST_TEXT), + LOC_CTRL(IDC_LIST_LINE), + LOC_CTRL(IDC_LIST_ITEM1), + LOC_CTRL(IDC_LIST_ITEM2), + LOC_CTRL(IDC_LIST_ITEM3), + LOC_CTRL(IDC_LIST_ITEM4), + LOC_CTRL(IDC_LIST_ITEM5), + LOC_CTRL(IDC_LIST_ITEM6), + LOC_CTRL(IDC_LIST_ITEM7), + LOC_CTRL(IDC_LIST_ITEM8), + LOC_CTRL(IDC_LIST_ITEM9), + LOC_CTRL(IDC_LIST_ITEM10), + LOC_CTRL(IDC_LIST_ITEM11), + LOC_CTRL(IDC_LIST_ITEM12), + LOC_CTRL(IDC_LIST_ITEM13), + LOC_CTRL(IDC_LIST_ITEM14), + LOC_CTRL(IDC_LIST_ITEM15), + LOC_CTRL(IDC_LIST_ITEMMAX), + LOC_CTRL(IDC_ADVANCED_DRIVE_PROPERTIES), + LOC_CTRL(IDC_ADVANCED_FORMAT_OPTIONS), LOC_CTRL(IDS_DEVICE_TXT), LOC_CTRL(IDS_PARTITION_TYPE_TXT), - LOC_CTRL(IDS_FILESYSTEM_TXT), - LOC_CTRL(IDS_CLUSTERSIZE_TXT), + LOC_CTRL(IDS_FILE_SYSTEM_TXT), + LOC_CTRL(IDS_CLUSTER_SIZE_TXT), LOC_CTRL(IDS_LABEL_TXT), - LOC_CTRL(IDS_FORMAT_OPTIONS_GRP), + LOC_CTRL(IDS_CSM_HELP_TXT), LOC_CTRL(IDS_UPDATE_SETTINGS_GRP), LOC_CTRL(IDS_UPDATE_FREQUENCY_TXT), LOC_CTRL(IDS_INCLUDE_BETAS_TXT), @@ -123,6 +147,12 @@ const loc_control_id control_id[] = { LOC_CTRL(IDS_NEW_VERSION_DOWNLOAD_GRP), LOC_CTRL(IDS_NEW_VERSION_NOTES_GRP), LOC_CTRL(IDS_CHECK_NOW_GRP), + LOC_CTRL(IDS_TARGET_SYSTEM_TXT), + LOC_CTRL(IDS_IMAGE_OPTION_TXT), + LOC_CTRL(IDS_BOOT_SELECTION_TXT), + LOC_CTRL(IDS_DRIVE_PROPERTIES_TXT), + LOC_CTRL(IDS_FORMAT_OPTIONS_TXT), + LOC_CTRL(IDS_STATUS_TXT), LOC_CTRL(MSG_000), LOC_CTRL(MSG_001), LOC_CTRL(MSG_002), @@ -423,6 +453,27 @@ const loc_control_id control_id[] = { LOC_CTRL(MSG_297), LOC_CTRL(MSG_298), LOC_CTRL(MSG_299), + LOC_CTRL(MSG_300), + LOC_CTRL(MSG_301), + LOC_CTRL(MSG_302), + LOC_CTRL(MSG_303), + LOC_CTRL(MSG_304), + LOC_CTRL(MSG_305), + LOC_CTRL(MSG_306), + LOC_CTRL(MSG_307), + LOC_CTRL(MSG_308), + LOC_CTRL(MSG_309), + LOC_CTRL(MSG_310), + LOC_CTRL(MSG_311), + LOC_CTRL(MSG_312), + LOC_CTRL(MSG_313), + LOC_CTRL(MSG_314), + LOC_CTRL(MSG_315), + LOC_CTRL(MSG_316), + LOC_CTRL(MSG_317), + LOC_CTRL(MSG_318), + LOC_CTRL(MSG_319), + LOC_CTRL(MSG_320), LOC_CTRL(MSG_MAX), LOC_CTRL(IDOK), LOC_CTRL(IDCANCEL), @@ -446,4 +497,5 @@ loc_dlg_list loc_dlg[] = { LOC_DLG(IDD_UPDATE_POLICY), LOC_DLG(IDD_NEW_VERSION), LOC_DLG(IDD_CHECKSUM), + LOC_DLG(IDD_LIST), }; diff --git a/src/localization_data.sh b/src/localization_data.sh index de5fab48..13aa439c 100755 --- a/src/localization_data.sh +++ b/src/localization_data.sh @@ -12,7 +12,7 @@ cat > cmd.sed <<\_EOF 1i /*\ * Rufus: The Reliable USB Formatting Utility\ * Localization tables - autogenerated from resource.h\ - * Copyright © 2013-2017 Pete Batard \ + * Copyright © 2013-2018 Pete Batard \ *\ * This program is free software: you can redistribute it and/or modify\ * it under the terms of the GNU General Public License as published by\ diff --git a/src/msapi_utf8.h b/src/msapi_utf8.h index 457d8039..ecc86040 100644 --- a/src/msapi_utf8.h +++ b/src/msapi_utf8.h @@ -437,6 +437,19 @@ static __inline int ComboBox_GetLBTextU(HWND hCtrl, int index, char* lpString) return size; } +static __inline DWORD CharUpperBuffU(char* lpString, DWORD len) +{ + DWORD ret; + wchar_t *wlpString = calloc(len, sizeof(wchar_t)); + if (wlpString == NULL) + return 0; + utf8_to_wchar_no_alloc(lpString, wlpString, len); + ret = CharUpperBuffW(wlpString, len); + wchar_to_utf8_no_alloc(wlpString, lpString, len); + free(wlpString); + return ret; +} + static __inline HANDLE CreateFileU(const char* lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) diff --git a/src/resource.h b/src/resource.h index 8f8f0398..3fd4d108 100644 --- a/src/resource.h +++ b/src/resource.h @@ -74,46 +74,48 @@ #define IDR_TOGO_SAN_POLICY_XML 503 #define IDR_TOGO_UNATTEND_XML 504 #define IDC_DEVICE 1001 -#define IDC_FILESYSTEM 1002 +#define IDC_FILE_SYSTEM 1002 #define IDC_START 1003 #define IDC_PARTITION_TYPE 1004 -#define IDC_CLUSTERSIZE 1005 +#define IDC_CLUSTER_SIZE 1005 #define IDC_STATUS 1006 -#define IDC_ABOUT 1007 -#define IDC_LABEL 1008 -#define IDC_QUICKFORMAT 1009 -#define IDC_BOOT 1010 -#define IDC_BADBLOCKS 1011 -#define IDC_PROGRESS 1012 -#define IDC_BOOTTYPE 1013 -#define IDC_NBPASSES 1014 -#define IDC_TEST 1015 -#define IDC_SELECT_ISO 1016 -#define IDC_SET_ICON 1017 -#define IDC_RUFUS_MBR 1018 -#define IDC_INFO 1020 -#define IDC_DISK_ID 1022 -#define IDC_EXTRA_PARTITION 1023 -#define IDC_ENABLE_FIXED_DISKS 1024 -#define IDC_STATUS_TOOLBAR 1025 -#define IDC_HASH 1026 +#define IDC_LABEL 1007 +#define IDC_QUICK_FORMAT 1008 +#define IDC_BAD_BLOCKS 1009 +#define IDC_PROGRESS 1010 +#define IDC_BOOT_SELECTION 1011 +#define IDC_NB_PASSES 1012 +#define IDC_TEST 1013 +#define IDC_SELECT 1014 +#define IDC_EXTENDED_LABEL 1015 +#define IDC_RUFUS_MBR 1016 +#define IDC_TARGET_SYSTEM 1017 +#define IDC_DISK_ID 1020 +#define IDC_OLD_BIOS_FIXES 1021 +#define IDC_LIST_USB_HDD 1022 +#define IDC_STATUS_TOOLBAR 1023 +#define IDC_HASH 1024 +#define IDC_SAVE 1025 +#define IDC_IMAGE_OPTION 1026 #define IDC_ABOUT_LICENSE 1030 #define IDC_ABOUT_ICON 1031 -#define IDC_ABOUT_UPDATES 1032 -#define IDC_ABOUT_COPYRIGHTS 1033 -#define IDC_ABOUT_BLURB 1034 -#define IDC_LICENSE_TEXT 1036 +#define IDC_ABOUT_COPYRIGHTS 1032 +#define IDC_ABOUT_BLURB 1033 +#define IDC_LICENSE_TEXT 1034 #define IDC_NOTIFICATION_ICON 1040 #define IDC_NOTIFICATION_TEXT 1041 #define IDC_NOTIFICATION_LINE 1042 -#define IDC_ADVANCED 1043 -#define IDS_ADVANCED_OPTIONS_GRP 1044 -#define IDC_LOG 1045 -#define IDC_WINDOWS_INSTALL 1047 -#define IDC_WINDOWS_TO_GO 1048 -#define IDC_LOG_EDIT 1050 -#define IDC_LOG_SAVE 1051 -#define IDC_LOG_CLEAR 1052 +#define IDC_ADVANCED_DEVICE_TOOLBAR 1043 +#define IDC_ADVANCED_FORMAT_TOOLBAR 1044 +#define IDC_CHECKSUM_TOOLBAR 1049 +#define IDC_MULTI_TOOLBAR 1050 +#define IDC_LANG 1051 +#define IDC_ABOUT 1052 +#define IDC_SETTINGS 1053 +#define IDC_LOG 1054 +#define IDC_LOG_EDIT 1055 +#define IDC_LOG_SAVE 1056 +#define IDC_LOG_CLEAR 1057 #define IDC_MORE_INFO 1060 #define IDC_POLICY 1061 #define IDC_UPDATE_FREQUENCY 1062 @@ -166,12 +168,14 @@ #define IDC_LIST_ITEM14 1109 #define IDC_LIST_ITEM15 1110 #define IDC_LIST_ITEMMAX 1111 +#define IDC_ADVANCED_DRIVE_PROPERTIES 1112 +#define IDC_ADVANCED_FORMAT_OPTIONS 1113 #define IDS_DEVICE_TXT 2000 #define IDS_PARTITION_TYPE_TXT 2001 -#define IDS_FILESYSTEM_TXT 2002 -#define IDS_CLUSTERSIZE_TXT 2003 +#define IDS_FILE_SYSTEM_TXT 2002 +#define IDS_CLUSTER_SIZE_TXT 2003 #define IDS_LABEL_TXT 2004 -#define IDS_FORMAT_OPTIONS_GRP 2005 +#define IDS_CSM_HELP_TXT 2005 #define IDS_UPDATE_SETTINGS_GRP 2006 #define IDS_UPDATE_FREQUENCY_TXT 2007 #define IDS_INCLUDE_BETAS_TXT 2008 @@ -179,6 +183,12 @@ #define IDS_NEW_VERSION_DOWNLOAD_GRP 2010 #define IDS_NEW_VERSION_NOTES_GRP 2011 #define IDS_CHECK_NOW_GRP 2012 +#define IDS_TARGET_SYSTEM_TXT 2013 +#define IDS_IMAGE_OPTION_TXT 2014 +#define IDS_BOOT_SELECTION_TXT 2015 +#define IDS_DRIVE_PROPERTIES_TXT 2016 +#define IDS_FORMAT_OPTIONS_TXT 2017 +#define IDS_STATUS_TXT 2018 #define MSG_000 3000 #define MSG_001 3001 #define MSG_002 3002 @@ -480,7 +490,27 @@ #define MSG_298 3298 #define MSG_299 3299 #define MSG_300 3300 -#define MSG_MAX 3301 +#define MSG_301 3301 +#define MSG_302 3302 +#define MSG_303 3303 +#define MSG_304 3304 +#define MSG_305 3305 +#define MSG_306 3306 +#define MSG_307 3307 +#define MSG_308 3308 +#define MSG_309 3309 +#define MSG_310 3310 +#define MSG_311 3311 +#define MSG_312 3312 +#define MSG_313 3313 +#define MSG_314 3314 +#define MSG_315 3315 +#define MSG_316 3316 +#define MSG_317 3317 +#define MSG_318 3318 +#define MSG_319 3319 +#define MSG_320 3320 +#define MSG_MAX 3321 // Next default values for new objects // @@ -489,7 +519,7 @@ #define _APS_NO_MFC 1 #define _APS_NEXT_RESOURCE_VALUE 505 #define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1079 +#define _APS_NEXT_CONTROL_VALUE 1114 #define _APS_NEXT_SYMED_VALUE 4000 #endif #endif diff --git a/src/rufus.c b/src/rufus.c index c496721f..fae03235 100644 --- a/src/rufus.c +++ b/src/rufus.c @@ -1,6 +1,6 @@ /* * Rufus: The Reliable USB Formatting Utility - * Copyright © 2011-2017 Pete Batard + * Copyright © 2011-2018 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -41,19 +41,19 @@ #include "msapi_utf8.h" #include "localization.h" +#include "ui.h" #include "drive.h" #include "settings.h" #include "bled/bled.h" #include "../res/grub/grub_version.h" #include "../res/grub2/grub2_version.h" -const char* cmdline_hogger = "rufus.com"; -const char* FileSystemLabel[FS_MAX] = { "FAT", "FAT32", "NTFS", "UDF", "exFAT", "ReFS" }; -const char* ep_reg = "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"; -const char* vs_reg = "Software\\Microsoft\\VisualStudio"; +static const char* cmdline_hogger = "rufus.com"; +static const char* FileSystemLabel[FS_MAX] = { "FAT", "FAT32", "NTFS", "UDF", "exFAT", "ReFS" }; +static const char* ep_reg = "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"; +static const char* vs_reg = "Software\\Microsoft\\VisualStudio"; // Number of steps for each FS for FCC_STRUCTURE_PROGRESS const int nb_steps[FS_MAX] = { 5, 5, 12, 1, 10 }; -static const char* PartitionTypeLabel[2] = { "MBR", "GPT" }; static BOOL existing_key = FALSE; // For LGP set/restore static BOOL size_check = TRUE; static BOOL log_displayed = FALSE; @@ -63,59 +63,68 @@ static BOOL relaunch = FALSE; static BOOL dont_display_image_name = FALSE; static BOOL user_changed_label = FALSE; static BOOL app_changed_label = FALSE; +static BOOL allowed_filesystem[FS_MAX] = { 0 }; +static int64_t last_iso_blocking_status; +static int selection_default, row_height, advanced_device_section_height, advanced_format_section_height, image_index; +static int device_vpos, format_vpos, status_vpos; +static int ddh, bw, hw, fw; // DropDown Height, Main button width, half dropdown width, full dropdown width +static int sw, mw, bsw, hbw, sbw, ssw, tw, dbw; +static UINT_PTR UM_LANGUAGE_MENU_MAX = UM_LANGUAGE_MENU; +static RECT relaunch_rc = { -65536, -65536, 0, 0}; +static UINT uQFChecked = BST_CHECKED, uMBRChecked = BST_UNCHECKED; +static HFONT hInfoFont; +static WNDPROC progress_original_proc = NULL; +static HANDLE format_thid = NULL, dialog_handle = NULL; +static HWND hSelectImage = NULL, hStart = NULL; +static HICON hIconSave, hIconDown, hIconUp, hIconLang, hIconAbout, hIconSettings, hIconLog; +static char szTimer[12] = "00:00:00"; +static wchar_t wtbtext[2][128]; +static unsigned int timer; +static char uppercase_select[64], uppercase_start[64], uppercase_close[64], uppercase_cancel[64]; + extern BOOL enable_iso, enable_joliet, enable_rockridge, enable_ntfs_compression; extern uint8_t* grub2_buf; extern long grub2_len; +extern char* szStatusMessage; extern const char* old_c32_name[NB_OLD_C32]; extern const char* cert_name[3]; -static int selection_default; -static UINT_PTR UM_LANGUAGE_MENU_MAX = UM_LANGUAGE_MENU; -static RECT relaunch_rc = { -65536, -65536, 0, 0}; -static UINT uBootChecked = BST_CHECKED, uQFChecked = BST_CHECKED, uMBRChecked = BST_UNCHECKED; -static HFONT hInfoFont; -static HBRUSH hInfoBrush; -static WNDPROC info_original_proc = NULL; -char ClusterSizeLabel[MAX_CLUSTER_SIZES][64]; -char msgbox[1024], msgbox_title[32], *ini_file = NULL; +extern const char* sfd_name; /* * Globals */ OPENED_LIBRARIES_VARS; HINSTANCE hMainInstance; -HWND hMainDialog, hLangToolbar = NULL, hUpdatesDlg = NULL; -BUTTON_IMAGELIST bi_iso = { 0 }, bi_up = { 0 }, bi_down = { 0 }; +HWND hMainDialog, hMultiToolbar, hAdvancedDeviceToolbar, hAdvancedFormatToolbar, hUpdatesDlg = NULL; +HIMAGELIST hUpImageList, hDownImageList; +BUTTON_IMAGELIST bi_iso = { 0 }, bi_up = { 0 }, bi_down = { 0 }, bi_save = { 0 }; char szFolderPath[MAX_PATH], app_dir[MAX_PATH], system_dir[MAX_PATH], temp_dir[MAX_PATH], sysnative_dir[MAX_PATH]; -char* image_path = NULL; +char *image_path = NULL, *short_image_path; float fScale = 1.0f; -int default_fs; +int default_fs, fs, bt, pt, tt; +int cbw, ddw, ddbh = 0, bh = 0; // (empty) check box width, (empty) drop down width, button height (for and without dropdown match) uint32_t dur_mins, dur_secs; loc_cmd* selected_locale = NULL; WORD selected_langid = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT); DWORD MainThreadId; -HWND hDeviceList, hPartitionScheme, hFileSystem, hClusterSize, hLabel, hBootType, hNBPasses, hLog = NULL; -HWND hLogDlg = NULL, hProgress = NULL, hInfo, hDiskID, hStatusToolbar; -BOOL use_own_c32[NB_OLD_C32] = {FALSE, FALSE}, mbr_selected_by_user = FALSE, togo_mode; -BOOL iso_op_in_progress = FALSE, format_op_in_progress = FALSE, right_to_left_mode = FALSE; +HWND hDeviceList, hPartitionScheme, hTargetSystem, hFileSystem, hClusterSize, hLabel, hBootType, hNBPasses, hLog = NULL; +HWND hLogDialog = NULL, hProgress = NULL, hDiskID; +BOOL use_own_c32[NB_OLD_C32] = {FALSE, FALSE}, mbr_selected_by_user = FALSE, display_togo_option = FALSE; +BOOL iso_op_in_progress = FALSE, format_op_in_progress = FALSE, right_to_left_mode = FALSE, progress_in_use = FALSE, has_uefi_csm; BOOL enable_HDDs = FALSE, force_update = FALSE, enable_ntfs_compression = FALSE, no_confirmation_on_cancel = FALSE, lock_drive = TRUE; -BOOL advanced_mode, allow_dual_uefi_bios, detect_fakes, enable_vmdk, force_large_fat32, usb_debug, use_fake_units, preserve_timestamps; -BOOL zero_drive = FALSE, list_non_usb_removable_drives = FALSE, disable_file_indexing, large_drive = FALSE, prefer_gpt = FALSE; -int dialog_showing = 0, lang_button_id = 0; +BOOL advanced_mode_device, advanced_mode_format, allow_dual_uefi_bios, detect_fakes, enable_vmdk, force_large_fat32, usb_debug, use_fake_units, preserve_timestamps; +BOOL zero_drive = FALSE, list_non_usb_removable_drives = FALSE, disable_file_indexing, large_drive = FALSE, write_as_image = FALSE; +int dialog_showing = 0; uint16_t rufus_version[3], embedded_sl_version[2]; char embedded_sl_version_str[2][12] = { "?.??", "?.??" }; char embedded_sl_version_ext[2][32]; +char ClusterSizeLabel[MAX_CLUSTER_SIZES][64]; +char msgbox[1024], msgbox_title[32], *ini_file = NULL; RUFUS_UPDATE update = { {0,0,0}, {0,0}, NULL, NULL}; -StrArray DriveID, DriveLabel, DriveHub, BlockingProcess; +StrArray DriveID, DriveLabel, DriveHub, BlockingProcess, ImageList; uint32_t DrivePort[MAX_DRIVES]; -extern char* szStatusMessage; -static HANDLE format_thid = NULL, dialog_handle = NULL; -static HWND hBoot = NULL, hSelectISO = NULL, hStart = NULL; -static HICON hIconDisc, hIconDown, hIconUp, hIconLang; -static char szTimer[12] = "00:00:00"; -static unsigned int timer; -static int64_t last_iso_blocking_status; -static void ToggleToGo(void); +static void ToggleImageOption(void); /* * The following is used to allocate slots within the progress bar @@ -133,45 +142,254 @@ static float previous_end; // localization_data.sh and the .rc when the year changes! // Set the combo selection according to the data -static __inline void SetComboEntry(HWND hDlg, int data) { +static void SetComboEntry(HWND hDlg, int data) { int i; for (i = 0; i < ComboBox_GetCount(hDlg); i++) { - if (ComboBox_GetItemData(hDlg, i) == data) + if (ComboBox_GetItemData(hDlg, i) == data) { IGNORE_RETVAL(ComboBox_SetCurSel(hDlg, i)); + break; + } } + if (i == ComboBox_GetCount(hDlg)) + IGNORE_RETVAL(ComboBox_SetCurSel(hDlg, 0)); } -/* - * Fill in the cluster size names - */ +// Fill in the cluster size names static void SetClusterSizeLabels(void) { - unsigned int i, j, k; + unsigned int i, j, msg_id; safe_sprintf(ClusterSizeLabel[0], 64, lmprintf(MSG_029)); - for (i=512, j=1, k=MSG_026; j 8192) { i /= 1024; - k++; + msg_id++; } - safe_sprintf(ClusterSizeLabel[j], 64, "%d %s", i, lmprintf(k)); + safe_sprintf(ClusterSizeLabel[j], 64, "%d %s", i, lmprintf(msg_id)); } } -/* - * Set cluster size values according to http://support.microsoft.com/kb/140365 - * this call will return FALSE if we can't find a supportable FS for the drive - */ -static BOOL DefineClusterSizes(void) +static void SetAllowedFileSystems(void) { + int i; + + memset(allowed_filesystem, 0, sizeof(allowed_filesystem)); + // Nothing is allowed if we don't have a drive + if (ComboBox_GetCurSel(hDeviceList) < 0) + return; + switch (selection_default) { + case BT_NON_BOOTABLE: + for (i = 0; i < FS_MAX; i++) + allowed_filesystem[i] = TRUE; + break; + case BT_MSDOS: + case BT_FREEDOS: + allowed_filesystem[FS_FAT16] = TRUE; + allowed_filesystem[FS_FAT32] = TRUE; + break; + case BT_IMAGE: + if (!HAS_WINDOWS(img_report) || (tt != TT_BIOS) || allow_dual_uefi_bios) { + if (!HAS_WINTOGO(img_report) || (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) != 1)) { + allowed_filesystem[FS_FAT16] = TRUE; + allowed_filesystem[FS_FAT32] = TRUE; + } + } + allowed_filesystem[FS_NTFS] = TRUE; + break; + case BT_SYSLINUX_V6: + allowed_filesystem[FS_NTFS] = TRUE; + // Fall through + case BT_SYSLINUX_V4: + case BT_REACTOS: + case BT_GRUB4DOS: + case BT_GRUB2: + allowed_filesystem[FS_FAT16] = TRUE; + allowed_filesystem[FS_FAT32] = TRUE; + break; + case BT_UEFI_NTFS: + allowed_filesystem[FS_NTFS] = TRUE; + break; + } + + // Reset disk ID to 0x80 if Rufus MBR is used + if (selection_default != BT_IMAGE) { + IGNORE_RETVAL(ComboBox_SetCurSel(hDiskID, 0)); + } +} + +// Populate the Boot selection dropdown +static void SetBootOptions(void) +{ + char tmp[32]; + + IGNORE_RETVAL(ComboBox_ResetContent(hBootType)); + IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, lmprintf(MSG_279)), BT_NON_BOOTABLE)); + if (nWindowsVersion < WINDOWS_10) // The diskcopy.dll along with its MS-DOS floppy image was removed in Windows 10 + IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "MS-DOS"), BT_MSDOS)); + IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "FreeDOS"), BT_FREEDOS)); + image_index = (nWindowsVersion < WINDOWS_10) ? 3 : 2; + IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, + (image_path == NULL) ? lmprintf(MSG_281, lmprintf(MSG_280)) : short_image_path), BT_IMAGE)); + + if (advanced_mode_device) { + static_sprintf(tmp, "Syslinux %s", embedded_sl_version_str[0]); + IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, tmp), BT_SYSLINUX_V4)); + static_sprintf(tmp, "Syslinux %s", embedded_sl_version_str[1]); + IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, tmp), BT_SYSLINUX_V6)); + IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "ReactOS"), BT_REACTOS)); + IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, + "Grub " GRUB2_PACKAGE_VERSION), BT_GRUB2)); + IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, + "Grub4DOS " GRUB4DOS_VERSION), BT_GRUB4DOS)); + IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "UEFI:NTFS"), BT_UEFI_NTFS)); + } + if ((!advanced_mode_device) && (selection_default >= BT_SYSLINUX_V4)) { + selection_default = BT_IMAGE; + CheckDlgButton(hMainDialog, IDC_DISK_ID, BST_UNCHECKED); + } + SetComboEntry(hBootType, selection_default); +} + +static void SetPartitionSchemeAndTargetSystem(BOOL only_target) +{ + // MBR, GPT, SFD + BOOL allowed_partition_scheme[3] = { TRUE, TRUE, FALSE }; + // BIOS, UEFI, DUAL + BOOL allowed_target_system[3] = { TRUE, TRUE, FALSE }; + BOOL is_windows_to_go_selected; + + if (!only_target) + IGNORE_RETVAL(ComboBox_ResetContent(hPartitionScheme)); + IGNORE_RETVAL(ComboBox_ResetContent(hTargetSystem)); + + bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); + is_windows_to_go_selected = (bt == BT_IMAGE) && (image_path != NULL) && HAS_WINTOGO(img_report) && + (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1); + // If no device is selected, don't populate anything + if (ComboBox_GetCurSel(hDeviceList) < 0) + return; + switch (bt) { + case BT_NON_BOOTABLE: + allowed_partition_scheme[PARTITION_STYLE_SFD] = TRUE; + allowed_target_system[0] = FALSE; + allowed_target_system[1] = FALSE; + allowed_target_system[2] = TRUE; + break; + case BT_IMAGE: + if (image_path == NULL) + break; + // Check if image is EFI bootable + if (!IS_EFI_BOOTABLE(img_report)) { + allowed_partition_scheme[PARTITION_STYLE_GPT] = FALSE; + allowed_target_system[1] = FALSE; + break; + } + // Image is EFI bootable => set dual BIOS + UEFI and so on... + if (IS_BIOS_BOOTABLE(img_report)) { + if (!HAS_WINDOWS(img_report) || allow_dual_uefi_bios || is_windows_to_go_selected) { + allowed_target_system[0] = FALSE; + allowed_target_system[1] = TRUE; + allowed_target_system[2] = TRUE; + } + } else { + allowed_target_system[0] = FALSE; + } + break; + case BT_MSDOS: + case BT_FREEDOS: + case BT_SYSLINUX_V4: + case BT_SYSLINUX_V6: + case BT_REACTOS: + case BT_GRUB4DOS: + case BT_GRUB2: + allowed_partition_scheme[PARTITION_STYLE_GPT] = FALSE; + allowed_target_system[1] = FALSE; + break; + case BT_UEFI_NTFS: + allowed_target_system[0] = FALSE; + break; + } + + if (!only_target) { + if (allowed_partition_scheme[PARTITION_STYLE_MBR]) + IGNORE_RETVAL(ComboBox_SetItemData(hPartitionScheme, + ComboBox_AddStringU(hPartitionScheme, "MBR"), PARTITION_STYLE_MBR)); + if (allowed_partition_scheme[PARTITION_STYLE_GPT]) + IGNORE_RETVAL(ComboBox_SetItemData(hPartitionScheme, + ComboBox_AddStringU(hPartitionScheme, "GPT"), PARTITION_STYLE_GPT)); + if (allowed_partition_scheme[PARTITION_STYLE_SFD]) + IGNORE_RETVAL(ComboBox_SetItemData(hPartitionScheme, + ComboBox_AddStringU(hPartitionScheme, sfd_name), PARTITION_STYLE_SFD)); + SetComboEntry(hPartitionScheme, PARTITION_STYLE_GPT); + pt = (int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme)); + } + + has_uefi_csm = FALSE; + if (allowed_target_system[0] && (pt != PARTITION_STYLE_GPT)) { + IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem, + ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_031)), TT_BIOS)); + has_uefi_csm = TRUE; + } + if (allowed_target_system[1] && !((pt == PARTITION_STYLE_MBR) && IS_BIOS_BOOTABLE(img_report) && IS_EFI_BOOTABLE(img_report)) ) + IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem, + ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_032)), TT_UEFI)); + if (allowed_target_system[2] && ((pt != PARTITION_STYLE_GPT) || (bt == BT_NON_BOOTABLE))) + IGNORE_RETVAL(ComboBox_SetItemData(hTargetSystem, + ComboBox_AddStringU(hTargetSystem, lmprintf(MSG_033)), TT_BIOS)); + IGNORE_RETVAL(ComboBox_SetCurSel(hTargetSystem, 0)); + tt = (int)ComboBox_GetItemData(hTargetSystem, ComboBox_GetCurSel(hTargetSystem)); + // Can't update a tooltip from a thread, so we send a message instead + SendMessage(hMainDialog, UM_UPDATE_CSM_TOOLTIP, 0, 0); +} + +// Populate the Allocation unit size field +static BOOL SetClusterSizes(int FSType) +{ + char* szClustSize; + int i, k, default_index = 0; + ULONG j; + + IGNORE_RETVAL(ComboBox_ResetContent(hClusterSize)); + + if ((FSType < 0) || (FSType >= FS_MAX)) { + return FALSE; + } + + if ((SelectedDrive.ClusterSize[FSType].Allowed == 0) + || (SelectedDrive.ClusterSize[FSType].Default == 0)) { + return FALSE; + } + + for (i = 0, j = 0x100, k = 0; j<0x10000000; i++, j <<= 1) { + if (j & SelectedDrive.ClusterSize[FSType].Allowed) { + if (j == SelectedDrive.ClusterSize[FSType].Default) { + szClustSize = lmprintf(MSG_030, ClusterSizeLabel[i]); + default_index = k; + } else { + szClustSize = ClusterSizeLabel[i]; + } + IGNORE_RETVAL(ComboBox_SetItemData(hClusterSize, ComboBox_AddStringU(hClusterSize, szClustSize), j)); + k++; + } + } + + IGNORE_RETVAL(ComboBox_SetCurSel(hClusterSize, default_index)); + return TRUE; +} + +// Populate the File System and Cluster Size dropdowns +static BOOL SetFileSystemAndClusterSize(char* fs_type) +{ + int fs_index; LONGLONG i; - int fs; - BOOL r = FALSE; char tmp[128] = "", *entry; + IGNORE_RETVAL(ComboBox_ResetContent(hFileSystem)); + IGNORE_RETVAL(ComboBox_ResetContent(hClusterSize)); default_fs = FS_UNKNOWN; memset(&SelectedDrive.ClusterSize, 0, sizeof(SelectedDrive.ClusterSize)); /* + * See https://support.microsoft.com/en-gb/help/140365/default-cluster-size-for-ntfs--fat--and-exfat * The following are MS's allowed cluster sizes for FAT16 and FAT32: * * FAT16 @@ -279,133 +497,42 @@ static BOOL DefineClusterSizes(void) } // Only add the filesystems we can service - for (fs=0; fs Use rightmost bit to select the new one - SelectedDrive.ClusterSize[fs].Default = - SelectedDrive.ClusterSize[fs].Allowed & (-(LONG)SelectedDrive.ClusterSize[fs].Allowed); + SelectedDrive.ClusterSize[fs_index].Default = + SelectedDrive.ClusterSize[fs_index].Allowed & (-(LONG)SelectedDrive.ClusterSize[fs_index].Allowed); } - if (SelectedDrive.ClusterSize[fs].Allowed != 0) { + if (SelectedDrive.ClusterSize[fs_index].Allowed != 0) { tmp[0] = 0; // Tell the user if we're going to use Large FAT32 or regular - if ((fs == FS_FAT32) && ((SelectedDrive.DiskSize > LARGE_FAT32_SIZE) || (force_large_fat32))) + if ((fs_index == FS_FAT32) && ((SelectedDrive.DiskSize > LARGE_FAT32_SIZE) || (force_large_fat32))) static_strcat(tmp, "Large "); - static_strcat(tmp, FileSystemLabel[fs]); + static_strcat(tmp, FileSystemLabel[fs_index]); if (default_fs == FS_UNKNOWN) { entry = lmprintf(MSG_030, tmp); - default_fs = fs; + default_fs = fs_index; } else { entry = tmp; } - IGNORE_RETVAL(ComboBox_SetItemData(hFileSystem, - ComboBox_AddStringU(hFileSystem, entry), fs)); - r = TRUE; - } - } - - return r; -} - -/* - * Populate the Allocation unit size field - */ -static BOOL SetClusterSizes(int FSType) -{ - char* szClustSize; - int i, k, default_index = 0; - ULONG j; - - IGNORE_RETVAL(ComboBox_ResetContent(hClusterSize)); - - if ((FSType < 0) || (FSType >= FS_MAX)) { - return FALSE; - } - - if ( (SelectedDrive.ClusterSize[FSType].Allowed == 0) - || (SelectedDrive.ClusterSize[FSType].Default == 0) ) { - uprintf("The drive is incompatible with FS type #%d\n", FSType); - return FALSE; - } - - for(i=0,j=0x100,k=0;j<0x10000000;i++,j<<=1) { - if (j & SelectedDrive.ClusterSize[FSType].Allowed) { - if (j == SelectedDrive.ClusterSize[FSType].Default) { - szClustSize = lmprintf(MSG_030, ClusterSizeLabel[i]); - default_index = k; - } else { - szClustSize = ClusterSizeLabel[i]; + if (allowed_filesystem[fs_index]) { + IGNORE_RETVAL(ComboBox_SetItemData(hFileSystem, + ComboBox_AddStringU(hFileSystem, entry), fs_index)); } - IGNORE_RETVAL(ComboBox_SetItemData(hClusterSize, ComboBox_AddStringU(hClusterSize, szClustSize), j)); - k++; } } - IGNORE_RETVAL(ComboBox_SetCurSel(hClusterSize, default_index)); - return TRUE; -} - -// This call sets the first option for the "partition type and target system" field -// according to whether we will be running in UEFI/CSM mode or standard UEFI -// Return value is -1 if the image is pure EFI (non BIOS bootable), 0 otherwise. -static int SetMBRForUEFI(BOOL replace) -{ - static BOOL pure_efi = FALSE; - BOOL useCSM = FALSE; - - if (ComboBox_GetCurSel(hDeviceList) < 0) - return 0; - - if (image_path != NULL) { - if ( !IS_EFI_BOOTABLE(img_report) || (HAS_BOOTMGR(img_report) && (!allow_dual_uefi_bios) && - (Button_GetCheck(GetDlgItem(hMainDialog, IDC_WINDOWS_TO_GO)) != BST_CHECKED)) ) - useCSM = TRUE; - } - - // If we weren't already dealing with pure EFI, we need to remove the first option - if (replace && !pure_efi) - ComboBox_DeleteString(hPartitionScheme, 0); - - if ((image_path != NULL) && IS_EFI_BOOTABLE(img_report) && !IS_BIOS_BOOTABLE(img_report)) { - pure_efi = TRUE; - // Pure EFI -> no need to add the BIOS option - return -1; - } - - pure_efi = FALSE; - IGNORE_RETVAL(ComboBox_SetItemData(hPartitionScheme, ComboBox_InsertStringU(hPartitionScheme, 0, - lmprintf(MSG_031, PartitionTypeLabel[PARTITION_STYLE_MBR], useCSM?"UEFI-CSM":"UEFI")), (TT_BIOS<<16)|PARTITION_STYLE_MBR)); - if (replace) - IGNORE_RETVAL(ComboBox_SetCurSel(hPartitionScheme, max(ComboBox_GetCurSel(hPartitionScheme), 0))); - return 0; -} - -/* - * Fill the drive properties (size, FS, etc) - */ -static BOOL SetDriveInfo(int ComboIndex) -{ - DWORD i; - int pt; - char fs_type[32]; - - memset(&SelectedDrive, 0, sizeof(SelectedDrive)); - SelectedDrive.DeviceNumber = (DWORD)ComboBox_GetItemData(hDeviceList, ComboIndex); - - GetDrivePartitionData(SelectedDrive.DeviceNumber, fs_type, sizeof(fs_type), FALSE); - - if (!DefineClusterSizes()) { - uprintf("No file system is selectable for this drive\n"); - return FALSE; - } - // re-select existing FS if it's one we know SelectedDrive.FSType = FS_UNKNOWN; if (safe_strlen(fs_type) != 0) { - for (SelectedDrive.FSType=FS_MAX-1; SelectedDrive.FSType>=0; SelectedDrive.FSType--) { + for (SelectedDrive.FSType = FS_MAX - 1; SelectedDrive.FSType >= 0; SelectedDrive.FSType--) { if (safe_strcmp(fs_type, FileSystemLabel[SelectedDrive.FSType]) == 0) { break; } @@ -414,7 +541,7 @@ static BOOL SetDriveInfo(int ComboIndex) SelectedDrive.FSType = FS_UNKNOWN; } - for (i=0; i pick default - for (i=0; i enable formatting - EnableWindow(hStart, TRUE); - return SetClusterSizes((int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem))); } static void SetFSFromISO(void) { - int i, fs, selected_fs = FS_UNKNOWN; + int i, fs_tmp, selected_fs = FS_UNKNOWN; uint32_t fs_mask = 0; - int tt = GETTARGETTYPE((int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme))); - BOOL windows_to_go = (togo_mode) && HAS_WINTOGO(img_report) && - (Button_GetCheck(GetDlgItem(hMainDialog, IDC_WINDOWS_TO_GO)) == BST_CHECKED); + BOOL windows_to_go = display_togo_option && (bt == BT_IMAGE) && HAS_WINTOGO(img_report) && + (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1); if (image_path == NULL) return; // Create a mask of all the FS's available for (i=0; i=BT_IMG)||!IsChecked(IDC_BOOT))?FALSE:enable; - BOOL actual_enable_fix = ((tt==TT_UEFI)||(selection_default==BT_IMG)||!IsChecked(IDC_BOOT))?FALSE:enable; + BOOL actual_enable_mbr = (bt > BT_IMAGE) ? FALSE: enable; + BOOL actual_enable_fix = enable; static UINT uXPartChecked = BST_UNCHECKED; - if ((selection_default == BT_ISO) && IS_BIOS_BOOTABLE(img_report) && !HAS_WINPE(img_report) && !HAS_BOOTMGR(img_report)) { + if ((pt != PARTITION_STYLE_MBR) || (tt != TT_BIOS) || ((bt == BT_IMAGE) && !IS_BIOS_BOOTABLE(img_report))) { + // These options cannot apply if we aren't using MBR+BIOS, or are using an image that isn't BIOS bootable actual_enable_mbr = FALSE; - mbr_selected_by_user = FALSE; + actual_enable_fix = FALSE; + } else { + // If we are using an image, the Rufus MBR only applies if it's for Windows + if ((bt == BT_IMAGE) && !HAS_WINPE(img_report) && !HAS_BOOTMGR(img_report)) { + actual_enable_mbr = FALSE; + mbr_selected_by_user = FALSE; + } + if (bt == BT_NON_BOOTABLE) { + actual_enable_fix = FALSE; + } } + if (remove_checkboxes) { // Store/Restore the checkbox states if (IsWindowEnabled(GetDlgItem(hMainDialog, IDC_RUFUS_MBR)) && !actual_enable_mbr) { uMBRChecked = IsChecked(IDC_RUFUS_MBR); CheckDlgButton(hMainDialog, IDC_RUFUS_MBR, BST_UNCHECKED); - uXPartChecked = IsChecked(IDC_EXTRA_PARTITION); - CheckDlgButton(hMainDialog, IDC_EXTRA_PARTITION, BST_UNCHECKED); + uXPartChecked = IsChecked(IDC_OLD_BIOS_FIXES); + CheckDlgButton(hMainDialog, IDC_OLD_BIOS_FIXES, BST_UNCHECKED); } else if (!IsWindowEnabled(GetDlgItem(hMainDialog, IDC_RUFUS_MBR)) && actual_enable_mbr) { CheckDlgButton(hMainDialog, IDC_RUFUS_MBR, uMBRChecked); - CheckDlgButton(hMainDialog, IDC_EXTRA_PARTITION, uXPartChecked); + CheckDlgButton(hMainDialog, IDC_OLD_BIOS_FIXES, uXPartChecked); } } - EnableWindow(GetDlgItem(hMainDialog, IDC_EXTRA_PARTITION), actual_enable_fix); + EnableWindow(GetDlgItem(hMainDialog, IDC_OLD_BIOS_FIXES), actual_enable_fix); EnableWindow(GetDlgItem(hMainDialog, IDC_RUFUS_MBR), actual_enable_mbr); EnableWindow(hDiskID, actual_enable_mbr); } static void EnableBootOptions(BOOL enable, BOOL remove_checkboxes) { - int fs = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); - BOOL actual_enable = ((!IS_FAT(fs)) && (fs != FS_NTFS) && (selection_default == BT_IMG))?FALSE:enable; + BOOL actual_enable_bb, actual_enable = enable; - EnableWindow(hBoot, actual_enable); - EnableWindow(hBootType, actual_enable); - EnableWindow(hSelectISO, actual_enable); - EnableWindow(GetDlgItem(hMainDialog, IDC_WINDOWS_INSTALL), actual_enable); - EnableWindow(GetDlgItem(hMainDialog, IDC_WINDOWS_TO_GO), actual_enable); - EnableAdvancedBootOptions(actual_enable, remove_checkboxes); -} + // If no device is selected, don't enable anything + if (ComboBox_GetCurSel(hDeviceList) < 0) + actual_enable = FALSE; + // If boot selection is set to image, but no image is currently selected, don't enable anything + if ((bt == BT_IMAGE) && (image_path == NULL)) + actual_enable = FALSE; + actual_enable_bb = actual_enable; + // If we are dealing with a pure DD image, remove all options except Bad Blocks check + if ((bt == BT_IMAGE) && (img_report.is_bootable_img) && (!img_report.is_iso)) + actual_enable = FALSE; -static void SetPartitionSchemeTooltip(void) -{ - int tt = GETTARGETTYPE((int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme))); - int pt = GETPARTTYPE((int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme))); - if (tt == TT_BIOS) { - if (pt != PARTITION_STYLE_SFD) - CreateTooltip(hPartitionScheme, lmprintf(MSG_150), 15000); - else - DestroyTooltip(hPartitionScheme); - } else { - if (pt == PARTITION_STYLE_MBR) - CreateTooltip(hPartitionScheme, lmprintf(MSG_151), 15000); - else if (pt == PARTITION_STYLE_GPT) - CreateTooltip(hPartitionScheme, lmprintf(MSG_152), 15000); - else - DestroyTooltip(hPartitionScheme); - } -} + EnableWindow(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION), actual_enable); + EnableMBRBootOptions(actual_enable, remove_checkboxes); -static void SetTargetSystem(void) -{ - int ts = SetMBRForUEFI(TRUE); // Will be set to -1 for pure UEFI, 0 otherwise - if ((prefer_gpt && IS_EFI_BOOTABLE(img_report)) || SelectedDrive.PartitionType == PARTITION_STYLE_GPT) { - ts += 2; // GPT/UEFI - } else if (SelectedDrive.has_protective_mbr || SelectedDrive.has_mbr_uefi_marker || - (IS_EFI_BOOTABLE(img_report) && !IS_BIOS_BOOTABLE(img_report)) ) { - ts += 1; // MBR/UEFI - } else { - ts += 0; // MBR/BIOS|UEFI - } - IGNORE_RETVAL(ComboBox_SetCurSel(hPartitionScheme, ts)); - // Can't call SetPartitionSchemeTooltip() directly, as we may be on a different thread - SendMessage(hMainDialog, UM_SET_PARTITION_SCHEME_TOOLTIP, 0, 0); + EnableWindow(GetDlgItem(hMainDialog, IDC_LABEL), actual_enable); + EnableWindow(GetDlgItem(hMainDialog, IDC_QUICK_FORMAT), actual_enable); + EnableWindow(GetDlgItem(hMainDialog, IDC_BAD_BLOCKS), actual_enable_bb); + EnableWindow(GetDlgItem(hMainDialog, IDC_NB_PASSES), actual_enable_bb); + EnableWindow(GetDlgItem(hMainDialog, IDC_EXTENDED_LABEL), actual_enable); } static void SetProposedLabel(int ComboIndex) { const char no_label[] = STR_NO_LABEL, empty[] = ""; - int bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); app_changed_label = TRUE; // If bootable ISO creation is selected, and we have an ISO selected with a valid name, use that // Also some distros (eg. Arch) require the USB to have the same label as the ISO - if (IsChecked(IDC_BOOT) && (bt == BT_ISO) && (image_path != NULL) && (img_report.label[0] != 0)) { + if ((bt == BT_IMAGE) && (image_path != NULL) && (img_report.label[0] != 0)) { SetWindowTextU(hLabel, img_report.label); // If we force the ISO label, we need to reset the user_changed_label flag user_changed_label = FALSE; @@ -638,58 +726,96 @@ static void SetProposedLabel(int ComboIndex) } } -/* - * Populate the UI properties - */ -static BOOL PopulateProperties(int ComboIndex) +// Toggle controls according to operation +static void EnableControls(BOOL bEnable) +{ + // The following only get disabled on format/checksum and otherwise remain enabled, + // even if no device or image are selected + EnableWindow(hDeviceList, bEnable); + EnableWindow(hBootType, bEnable); + EnableWindow(hSelectImage, bEnable); + EnableWindow(GetDlgItem(hMainDialog, IDC_LIST_USB_HDD), bEnable); + EnableWindow(hAdvancedDeviceToolbar, bEnable); + EnableWindow(hAdvancedFormatToolbar, bEnable); + SendMessage(hMultiToolbar, TB_ENABLEBUTTON, (WPARAM)IDC_LANG, (LPARAM)bEnable); + SendMessage(hMultiToolbar, TB_ENABLEBUTTON, (WPARAM)IDC_ABOUT, (LPARAM)bEnable); + SendMessage(hMultiToolbar, TB_ENABLEBUTTON, (WPARAM)IDC_SETTINGS, (LPARAM)bEnable); + + // Checksum button is enabled if an image has been selected + EnableWindow(GetDlgItem(hMainDialog, IDC_HASH), bEnable && (bt == BT_IMAGE) && (image_path != NULL)); + + // Toggle CLOSE/CANCEL + SetDlgItemTextU(hMainDialog, IDCANCEL, bEnable ? uppercase_close : uppercase_cancel); + + // Only enable the following controls if a device is active + bEnable = (ComboBox_GetCurSel(hDeviceList) < 0) ? FALSE : bEnable; + EnableWindow(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION), bEnable); + EnableWindow(GetDlgItem(hMainDialog, IDC_SAVE), bEnable); + + // Enable or disable the Start button and the other boot options + bEnable = ((bt == BT_IMAGE) && (image_path == NULL)) ? FALSE : bEnable; + EnableWindow(hStart, bEnable); + EnableBootOptions(bEnable, FALSE); + + // Finally, only enable the half-size dropdowns if we aren't dealing with a pure DD image + bEnable = ((bt == BT_IMAGE) && (image_path != NULL) && (!img_report.is_iso)) ? FALSE : bEnable; + EnableWindow(hPartitionScheme, bEnable); + EnableWindow(hTargetSystem, bEnable); + EnableWindow(GetDlgItem(hMainDialog, IDS_CSM_HELP_TXT), bEnable); + EnableWindow(hFileSystem, bEnable); + EnableWindow(hClusterSize, bEnable); +} + +// Populate the UI main dropdown properties. +// This should be called on device or boot type change. +static BOOL PopulateProperties(int device_index) { char* device_tooltip; + char fs_type[32]; - IGNORE_RETVAL(ComboBox_ResetContent(hPartitionScheme)); - IGNORE_RETVAL(ComboBox_ResetContent(hFileSystem)); - IGNORE_RETVAL(ComboBox_ResetContent(hClusterSize)); - EnableWindow(hStart, FALSE); memset(&SelectedDrive, 0, sizeof(SelectedDrive)); + EnableWindow(hStart, FALSE); - if (ComboIndex < 0) + if (device_index < 0) goto out; - if (!SetDriveInfo(ComboIndex)) { // This also populates FS + // Get data from the currently selected drive + SelectedDrive.DeviceNumber = (DWORD)ComboBox_GetItemData(hDeviceList, device_index); + GetDrivePartitionData(SelectedDrive.DeviceNumber, fs_type, sizeof(fs_type), FALSE); + + SetPartitionSchemeAndTargetSystem(FALSE); + if (!SetFileSystemAndClusterSize(fs_type)) { SetProposedLabel(-1); + uprintf("No file system is selectable for this drive\n"); return FALSE; } - SetTargetSystem(); - SetFSFromISO(); - EnableBootOptions(TRUE, TRUE); + + EnableControls(TRUE); // Set a proposed label according to the size (eg: "256MB", "8GB") static_sprintf(SelectedDrive.proposed_label, SizeToHumanReadable(SelectedDrive.DiskSize, FALSE, use_fake_units)); // Add a tooltip (with the size of the device in parenthesis) - device_tooltip = (char*) malloc(safe_strlen(DriveID.String[ComboIndex]) + 16); + device_tooltip = (char*) malloc(safe_strlen(DriveID.String[device_index]) + 16); if (device_tooltip != NULL) { - safe_sprintf(device_tooltip, safe_strlen(DriveID.String[ComboIndex]) + 16, "%s (%s)", - DriveID.String[ComboIndex], SizeToHumanReadable(SelectedDrive.DiskSize, FALSE, FALSE)); + safe_sprintf(device_tooltip, safe_strlen(DriveID.String[device_index]) + 16, "%s (%s)", + DriveID.String[device_index], SizeToHumanReadable(SelectedDrive.DiskSize, FALSE, FALSE)); CreateTooltip(hDeviceList, device_tooltip, -1); free(device_tooltip); } out: - SetProposedLabel(ComboIndex); + SetProposedLabel(device_index); return TRUE; } -/* - * Set up progress bar real estate allocation - */ +// Set up progress bar real estate allocation static void InitProgress(BOOL bOnlyFormat) { - int i, fs; + int i; float last_end = 0.0f, slots_discrete = 0.0f, slots_analog = 0.0f; - fs = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); - memset(nb_slots, 0, sizeof(nb_slots)); memset(slot_end, 0, sizeof(slot_end)); previous_end = 0.0f; @@ -698,10 +824,10 @@ static void InitProgress(BOOL bOnlyFormat) nb_slots[OP_FORMAT] = -1; } else { nb_slots[OP_ANALYZE_MBR] = 1; - if (IsChecked(IDC_BADBLOCKS)) { + if (IsChecked(IDC_BAD_BLOCKS)) { nb_slots[OP_BADBLOCKS] = -1; } - if (IsChecked(IDC_BOOT)) { + if (bt != BT_NON_BOOTABLE) { // 1 extra slot for PBR writing switch (selection_default) { case BT_MSDOS: @@ -710,18 +836,15 @@ static void InitProgress(BOOL bOnlyFormat) case BT_FREEDOS: nb_slots[OP_DOS] = 5+1; break; - case BT_IMG: - nb_slots[OP_DOS] = 0; - break; - case BT_ISO: - nb_slots[OP_DOS] = -1; + case BT_IMAGE: + nb_slots[OP_DOS] = img_report.is_iso ? -1 : 0; break; default: nb_slots[OP_DOS] = 2+1; break; } } - if (selection_default == BT_IMG) { + if (selection_default == BT_IMAGE && !img_report.is_iso) { nb_slots[OP_FORMAT] = -1; } else { nb_slots[OP_ZERO_MBR] = 1; @@ -729,11 +852,11 @@ static void InitProgress(BOOL bOnlyFormat) nb_slots[OP_FIX_MBR] = 1; nb_slots[OP_CREATE_FS] = nb_steps[ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem))]; - if ( (!IsChecked(IDC_QUICKFORMAT)) + if ( (!IsChecked(IDC_QUICK_FORMAT)) || ((fs == FS_FAT32) && ((SelectedDrive.DiskSize >= LARGE_FAT32_SIZE) || (force_large_fat32))) ) { nb_slots[OP_FORMAT] = -1; } - nb_slots[OP_FINALIZE] = ((selection_default == BT_ISO) && (fs == FS_NTFS))?3:2; + nb_slots[OP_FINALIZE] = ((selection_default == BT_IMAGE) && (fs == FS_NTFS))?3:2; } } @@ -757,7 +880,7 @@ static void InitProgress(BOOL bOnlyFormat) last_end = slot_end[i+1]; } - /* Is there's no analog, adjust our discrete ends to fill the whole bar */ + // If there's no analog, adjust our discrete ends to fill the whole bar if (slots_analog == 0.0f) { for (i=0; i= WINDOWS_8) - if ( ((!togo_mode) && (HAS_WINTOGO(img_report))) || ((togo_mode) && (!HAS_WINTOGO(img_report))) ) - ToggleToGo(); + if ( ((!display_togo_option) && (HAS_WINTOGO(img_report))) || ((display_togo_option) && (!HAS_WINTOGO(img_report))) ) + ToggleImageOption(); +} + +// Move a control along the Y axis +static __inline void MoveCtrlY(HWND hDlg, int nID, int vertical_shift) { + ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, nID), 0, vertical_shift, 0, 0, 1.0f); +} + +static void SetPassesTooltip(void) +{ + const unsigned char pattern[] = BADBLOCK_PATTERNS; + CreateTooltip(hNBPasses, lmprintf(MSG_153 + ComboBox_GetCurSel(hNBPasses), + pattern[0], pattern[1], pattern[2], pattern[3]), -1); +} + +static void ResizeDialogs(int shift) +{ + RECT rc; + POINT point; + + // Resize the main dialog + GetWindowRect(hMainDialog, &rc); + point.x = (rc.right - rc.left); + point.y = (rc.bottom - rc.top); + MoveWindow(hMainDialog, rc.left, rc.top, point.x, point.y + shift, TRUE); + + // Resize the log + GetWindowRect(hLogDialog, &rc); + point.x = (rc.right - rc.left); + point.y = (rc.bottom - rc.top); + MoveWindow(hLogDialog, rc.left, rc.top, point.x, point.y + shift, TRUE); + MoveCtrlY(hLogDialog, IDC_LOG_CLEAR, shift); + MoveCtrlY(hLogDialog, IDC_LOG_SAVE, shift); + MoveCtrlY(hLogDialog, IDCANCEL, shift); + GetWindowRect(hLog, &rc); + point.x = (rc.right - rc.left); + point.y = (rc.bottom - rc.top) + shift; + SetWindowPos(hLog, NULL, 0, 0, point.x, point.y, SWP_NOZORDER); + // Don't forget to scroll the edit to the bottom after resize + Edit_Scroll(hLog, 0, Edit_GetLineCount(hLog)); +} + +// Toggle "advanced" options +static void ToggleAdvancedDeviceOptions(BOOL enable) +{ + RECT rc; + SIZE sz; + TBBUTTONINFO button_info; + int i, shift = advanced_device_section_height; + + if (!enable) + shift = -shift; + format_vpos += shift; + status_vpos += shift; + + // Toggle the Hide/Show toolbar text + utf8_to_wchar_no_alloc(lmprintf((enable) ? MSG_122 : MSG_121, lmprintf(MSG_119)), wtbtext[0], ARRAYSIZE(wtbtext[0])); + button_info.cbSize = sizeof(button_info); + button_info.dwMask = TBIF_TEXT; + button_info.pszText = wtbtext[0]; + SendMessage(hAdvancedDeviceToolbar, TB_SETBUTTONINFO, (WPARAM)IDC_ADVANCED_DRIVE_PROPERTIES, (LPARAM)&button_info); + SendMessage(hAdvancedDeviceToolbar, TB_SETIMAGELIST, (WPARAM)0, (LPARAM)((enable) ? hUpImageList : hDownImageList)); + GetWindowRect(hAdvancedDeviceToolbar, &rc); + MapWindowPoints(NULL, hMainDialog, (POINT*)&rc, 2); + SendMessage(hAdvancedDeviceToolbar, TB_GETIDEALSIZE, (WPARAM)FALSE, (LPARAM)&sz); + SetWindowPos(hAdvancedDeviceToolbar, HWND_TOP, rc.left, rc.top, sz.cx, rc.bottom - rc.top, 0); + + // Move the controls up or down + for (i = 0; i use a thread @@ -1029,19 +1321,19 @@ DWORD WINAPI ISOScanThread(LPVOID param) if ((img_report.image_size == 0) || (!img_report.is_iso && !img_report.is_bootable_img)) { // Failed to scan image SendMessage(hMainDialog, UM_PROGRESS_EXIT, 0, 0); - PrintInfoDebug(0, MSG_203); safe_free(image_path); EnableControls(TRUE); - EnableWindow(hStatusToolbar, FALSE); - PrintStatus(0, MSG_086); SetMBRProps(); + PopulateProperties(ComboBox_GetCurSel(hDeviceList)); + PrintInfoDebug(0, MSG_203); + PrintStatus(0, MSG_203); goto out; } if (img_report.is_bootable_img) { uprintf(" Image is a %sbootable %s image", (img_report.compression_type != BLED_COMPRESSION_NONE) ? "compressed " : "", img_report.is_vhd ? "VHD" : "disk"); - selection_default = BT_IMG; + selection_default = BT_IMAGE; } if (img_report.is_iso) { @@ -1050,38 +1342,38 @@ DWORD WINAPI ISOScanThread(LPVOID param) if (IS_DD_BOOTABLE(img_report) && !IS_BIOS_BOOTABLE(img_report) && !IS_EFI_BOOTABLE(img_report)) { uprintf("This ISOHybrid is not compatible with any of the ISO boot methods we support"); img_report.is_iso = FALSE; - } else { - // Will override BT_IMG above for ISOHybrid - selection_default = BT_ISO; } + selection_default = BT_IMAGE; } - // Only enable AFTER we have determined the image type - EnableControls(TRUE); if (!IS_DD_BOOTABLE(img_report) && !IS_BIOS_BOOTABLE(img_report) && !IS_EFI_BOOTABLE(img_report)) { // No boot method that we support PrintInfo(0, MSG_081); safe_free(image_path); - EnableWindow(hStatusToolbar, FALSE); - MessageBoxExU(hMainDialog, lmprintf(MSG_082), lmprintf(MSG_081), MB_OK|MB_ICONINFORMATION|MB_IS_RTL, selected_langid); + MessageBoxExU(hMainDialog, lmprintf(MSG_082), lmprintf(MSG_081), MB_OK | MB_ICONINFORMATION | MB_IS_RTL, selected_langid); PrintStatus(0, MSG_086); + EnableControls(TRUE); SetMBRProps(); } else { - // Enable bootable and set Target System and FS accordingly - CheckDlgButton(hMainDialog, IDC_BOOT, BST_CHECKED); + if (!dont_display_image_name) { + for (i = (int)safe_strlen(image_path); (i > 0) && (image_path[i] != '\\'); i--); + short_image_path = &image_path[i + 1]; + PrintStatus(0, MSG_205, short_image_path); + UpdateImage(); + uprintf("Using image: %s (%s)", short_image_path, SizeToHumanReadable(img_report.image_size, FALSE, FALSE)); + } + EnableControls(TRUE); + // Set Target and FS accordingly if (img_report.is_iso) { - SetTargetSystem(); + IGNORE_RETVAL(ComboBox_SetCurSel(hBootType, image_index)); + SetPartitionSchemeAndTargetSystem(FALSE); + SetFileSystemAndClusterSize(NULL); SetFSFromISO(); SetMBRProps(); SetProposedLabel(ComboBox_GetCurSel(hDeviceList)); } else { - SendMessage(hMainDialog, WM_COMMAND, (CBN_SELCHANGE<<16) | IDC_FILESYSTEM, + SendMessage(hMainDialog, WM_COMMAND, (CBN_SELCHANGE << 16) | IDC_FILE_SYSTEM, ComboBox_GetCurSel(hFileSystem)); } - if (!dont_display_image_name) { - for (i = (int)safe_strlen(image_path); (i > 0) && (image_path[i] != '\\'); i--); - PrintStatus(0, MSG_205, &image_path[i + 1]); - uprintf("Using image: %s (%s)", &image_path[i + 1], SizeToHumanReadable(img_report.image_size, FALSE, FALSE)); - } // Lose the focus on the select ISO (but place it on Close) SendMessage(hMainDialog, WM_NEXTDLGCTL, (WPARAM)FALSE, 0); // Lose the focus from Close and set it back to Start @@ -1100,190 +1392,9 @@ out: ExitThread(0); } -// Move a control along the Y axis according to the advanced mode setting -static __inline void MoveCtrlY(HWND hDlg, int nID, float vertical_shift) { - ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, nID), 0, (int)vertical_shift, 0, 0, fScale); -} - -static void SetPassesTooltip(void) -{ - const unsigned char pattern[] = BADBLOCK_PATTERNS; - CreateTooltip(hNBPasses, lmprintf(MSG_153 + ComboBox_GetCurSel(hNBPasses), - pattern[0], pattern[1], pattern[2], pattern[3]), -1); -} - -// Toggle "advanced" mode -static void ToggleAdvanced(BOOL enable) -{ - // Compute the shift according to the weird values we measured at different scales: - // {1.0, 82}, {1.25, 88}, {1.5, 90}, {2.0, 96}, {2.5, 94} (Seriously, WTF is wrong with your scaling Microsoft?!?!) - // https://www.wolframalpha.com/input/?i=cubic+fit+{1%2C82}%2C{1.25%2C88}%2C{1.5%2C90}%2C{2%2C96}%2C{2.5%2C94} - float dialog_shift = -3.22807f*fScale*fScale*fScale + 6.69173f*fScale*fScale + 15.8822f*fScale + 62.9737f; - RECT rect; - POINT point; - BOOL needs_resel = FALSE; - int i, toggle; - - if (!enable) - dialog_shift = -dialog_shift; - - // Increase or decrease the Window size - GetWindowRect(hMainDialog, &rect); - point.x = (rect.right - rect.left); - point.y = (rect.bottom - rect.top); - MoveWindow(hMainDialog, rect.left, rect.top, point.x, - point.y + (int)(fScale*dialog_shift), TRUE); - - // Move the controls up or down - MoveCtrlY(hMainDialog, IDC_STATUS, dialog_shift); - MoveCtrlY(hMainDialog, IDC_STATUS_TOOLBAR, dialog_shift); - MoveCtrlY(hMainDialog, IDC_START, dialog_shift); - MoveCtrlY(hMainDialog, IDC_INFO, dialog_shift); - MoveCtrlY(hMainDialog, IDC_PROGRESS, dialog_shift); - MoveCtrlY(hMainDialog, IDC_ABOUT, dialog_shift); - MoveCtrlY(hMainDialog, IDC_LOG, dialog_shift); - MoveCtrlY(hMainDialog, IDCANCEL, dialog_shift); -#ifdef RUFUS_TEST - MoveCtrlY(hMainDialog, IDC_TEST, dialog_shift); -#endif - - // And do the same for the log dialog while we're at it - GetWindowRect(hLogDlg, &rect); - point.x = (rect.right - rect.left); - point.y = (rect.bottom - rect.top); - MoveWindow(hLogDlg, rect.left, rect.top, point.x, - point.y + (int)(fScale*dialog_shift), TRUE); - MoveCtrlY(hLogDlg, IDC_LOG_CLEAR, dialog_shift); - MoveCtrlY(hLogDlg, IDC_LOG_SAVE, dialog_shift); - MoveCtrlY(hLogDlg, IDCANCEL, dialog_shift); - GetWindowRect(hLog, &rect); - point.x = (rect.right - rect.left); - point.y = (rect.bottom - rect.top) + (int)(fScale*dialog_shift); - SetWindowPos(hLog, NULL, 0, 0, point.x, point.y, SWP_NOZORDER); - // Don't forget to scroll the edit to the bottom after resize - Edit_Scroll(hLog, 0, Edit_GetLineCount(hLog)); - - // Hide or show the various advanced options - toggle = enable?SW_SHOW:SW_HIDE; - ShowWindow(GetDlgItem(hMainDialog, IDC_ENABLE_FIXED_DISKS), toggle); - ShowWindow(GetDlgItem(hMainDialog, IDC_EXTRA_PARTITION), toggle); - ShowWindow(GetDlgItem(hMainDialog, IDC_RUFUS_MBR), toggle); - ShowWindow(GetDlgItem(hMainDialog, IDC_DISK_ID), toggle); - ShowWindow(GetDlgItem(hMainDialog, IDS_ADVANCED_OPTIONS_GRP), toggle); - - if (enable) { - IGNORE_RETVAL(ComboBox_SetItemData(hPartitionScheme, - ComboBox_AddStringU(hPartitionScheme, "Super Floppy Disk"), PARTITION_STYLE_SFD)); - } else { - for (i = 0; i < ComboBox_GetCount(hPartitionScheme); i++) { - if (ComboBox_GetItemData(hPartitionScheme, i) == PARTITION_STYLE_SFD) { - if (ComboBox_GetCurSel(hPartitionScheme) == i) - needs_resel = TRUE; - ComboBox_DeleteString(hPartitionScheme, i); - } - } - if (needs_resel) - SetTargetSystem(); - } - - // Toggle the up/down icon - SendMessage(GetDlgItem(hMainDialog, IDC_ADVANCED), BCM_SETIMAGELIST, 0, (LPARAM)(enable?&bi_up:&bi_down)); - - // Never hurts to force Windows' hand - InvalidateRect(hMainDialog, NULL, TRUE); -} - -// Toggle DD Image mode -static void ToggleImage(BOOL enable) -{ - EnableWindow(GetDlgItem(hMainDialog, IDC_QUICKFORMAT), enable); - EnableWindow(GetDlgItem(hMainDialog, IDC_PARTITION_TYPE), enable); - EnableWindow(GetDlgItem(hMainDialog, IDC_FILESYSTEM), enable); - EnableWindow(GetDlgItem(hMainDialog, IDC_CLUSTERSIZE), enable); - EnableWindow(GetDlgItem(hMainDialog, IDC_LABEL), enable); - EnableWindow(GetDlgItem(hMainDialog, IDC_QUICKFORMAT), enable); - EnableWindow(GetDlgItem(hMainDialog, IDC_SET_ICON), enable); -} - -// Toggle the Windows To Go radio choice -static void ToggleToGo(void) -{ - // {1.0, 38}, {1.25, 40}, {1.5, 40}, {2.0, 44}, {2.5, 44} - float dialog_shift = (fScale >= 1.9f)?44.0f:((fScale >= 1.2f)?40.0f:38.0f); - RECT rect; - POINT point; - int toggle; - - // Windows To Go mode is only available for Windows 8 or later due to the lack - // of an ISO mounting API on previous versions. - // But we still need to be able to hide the Windows To Go option on startup. - if ((nWindowsVersion < WINDOWS_8) && (!togo_mode)) - return; - - togo_mode = !togo_mode; - if (!togo_mode) - dialog_shift = -dialog_shift; - - // Increase or decrease the Window size - GetWindowRect(hMainDialog, &rect); - point.x = (rect.right - rect.left); - point.y = (rect.bottom - rect.top); - MoveWindow(hMainDialog, rect.left, rect.top, point.x, - point.y + (int)(fScale*dialog_shift), TRUE); - - // Move the controls up or down - MoveCtrlY(hMainDialog, IDC_STATUS, dialog_shift); - MoveCtrlY(hMainDialog, IDC_STATUS_TOOLBAR, dialog_shift); - MoveCtrlY(hMainDialog, IDC_START, dialog_shift); - MoveCtrlY(hMainDialog, IDC_INFO, dialog_shift); - MoveCtrlY(hMainDialog, IDC_PROGRESS, dialog_shift); - MoveCtrlY(hMainDialog, IDC_ABOUT, dialog_shift); - MoveCtrlY(hMainDialog, IDC_LOG, dialog_shift); - MoveCtrlY(hMainDialog, IDCANCEL, dialog_shift); - MoveCtrlY(hMainDialog, IDC_SET_ICON, dialog_shift); - MoveCtrlY(hMainDialog, IDS_ADVANCED_OPTIONS_GRP, dialog_shift); - MoveCtrlY(hMainDialog, IDC_ENABLE_FIXED_DISKS, dialog_shift); - MoveCtrlY(hMainDialog, IDC_EXTRA_PARTITION, dialog_shift); - MoveCtrlY(hMainDialog, IDC_RUFUS_MBR, dialog_shift); - MoveCtrlY(hMainDialog, IDC_DISK_ID, dialog_shift); - ResizeMoveCtrl(hMainDialog, GetDlgItem(hMainDialog, IDS_FORMAT_OPTIONS_GRP), 0, 0, 0, (int)dialog_shift, fScale); - -#ifdef RUFUS_TEST - MoveCtrlY(hMainDialog, IDC_TEST, dialog_shift); -#endif - - // And do the same for the log dialog while we're at it - GetWindowRect(hLogDlg, &rect); - point.x = (rect.right - rect.left); - point.y = (rect.bottom - rect.top); - MoveWindow(hLogDlg, rect.left, rect.top, point.x, - point.y + (int)(fScale*dialog_shift), TRUE); - MoveCtrlY(hLogDlg, IDC_LOG_CLEAR, dialog_shift); - MoveCtrlY(hLogDlg, IDC_LOG_SAVE, dialog_shift); - MoveCtrlY(hLogDlg, IDCANCEL, dialog_shift); - GetWindowRect(hLog, &rect); - point.x = (rect.right - rect.left); - point.y = (rect.bottom - rect.top) + (int)(fScale*dialog_shift); - SetWindowPos(hLog, NULL, 0, 0, point.x, point.y, SWP_NOZORDER); - // Don't forget to scroll the edit to the bottom after resize - Edit_Scroll(hLog, 0, Edit_GetLineCount(hLog)); - - // Hide or show the various advanced options - toggle = togo_mode?SW_SHOW:SW_HIDE; - ShowWindow(GetDlgItem(hMainDialog, IDC_WINDOWS_INSTALL), toggle); - ShowWindow(GetDlgItem(hMainDialog, IDC_WINDOWS_TO_GO), toggle); - - // Reset the radio button choice - Button_SetCheck(GetDlgItem(hMainDialog, IDC_WINDOWS_INSTALL), BST_CHECKED); - Button_SetCheck(GetDlgItem(hMainDialog, IDC_WINDOWS_TO_GO), BST_UNCHECKED); - - // If you don't force a redraw here, all kind of bad UI artifacts happen... - InvalidateRect(hMainDialog, NULL, TRUE); -} - static BOOL BootCheck(void) { - int i, fs, tt, bt, pt, r; + int i, r; FILE *fd; DWORD len; BOOL in_files_dir = FALSE; @@ -1296,12 +1407,11 @@ static BOOL BootCheck(void) syslinux_ldlinux_len[0] = 0; syslinux_ldlinux_len[1] = 0; safe_free(grub2_buf); - bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); - pt = GETPARTTYPE((int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme))); - if ((bt == BT_ISO) || (bt == BT_IMG)) { + if (bt == BT_IMAGE) { + // We should never be there if (image_path == NULL) { - // Please click on the disc button to select a bootable ISO - MessageBoxExU(hMainDialog, lmprintf(MSG_087), lmprintf(MSG_086), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); + uprintf("Spock gone crazy error in %s:%d", __FILE__, __LINE__); + MessageBoxExU(hMainDialog, "image_path is NULL. Please report this error to the author of this application", "Logic error", MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); return FALSE; } if ((size_check) && (img_report.projected_size > (uint64_t)SelectedDrive.DiskSize)) { @@ -1309,15 +1419,11 @@ static BOOL BootCheck(void) MessageBoxExU(hMainDialog, lmprintf(MSG_089), lmprintf(MSG_088), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); return FALSE; } - if (bt == BT_IMG) { - if (!IS_DD_BOOTABLE(img_report)) - // The selected image doesn't match the boot option selected. - MessageBoxExU(hMainDialog, lmprintf(MSG_188), lmprintf(MSG_187), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); - return IS_DD_BOOTABLE(img_report); + if (IS_DD_BOOTABLE(img_report) && !img_report.is_iso) { + // Pure DD images are fine at this stage + return TRUE; } - fs = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); - tt = GETTARGETTYPE((int)ComboBox_GetItemData(hPartitionScheme, ComboBox_GetCurSel(hPartitionScheme))); - if ((togo_mode) && (Button_GetCheck(GetDlgItem(hMainDialog, IDC_WINDOWS_TO_GO)) == BST_CHECKED)) { + if ((display_togo_option) && (ComboBox_GetCurSel(GetDlgItem(hMainDialog, IDC_IMAGE_OPTION)) == 1)) { if (fs != FS_NTFS) { // Windows To Go only works for NTFS MessageBoxExU(hMainDialog, lmprintf(MSG_097, "Windows To Go"), lmprintf(MSG_092), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); @@ -1627,96 +1733,44 @@ static __inline const char* IsAlphaOrBeta(void) #endif } -static INT_PTR CALLBACK InfoCallback(HWND hCtrl, UINT message, WPARAM wParam, LPARAM lParam) +static INT_PTR CALLBACK ProgressCallback(HWND hCtrl, UINT message, WPARAM wParam, LPARAM lParam) { - HDC hdc; + HDC hDC; RECT rect; PAINTSTRUCT ps; - wchar_t winfo[128]; - - // Prevent the cursor (caret) from appearing within the edit control - HideCaret(hCtrl); + wchar_t winfo[128] = L"Copying ISO files..."; switch (message) { - // Prevent text selection (wich Windows seems keen on doing on its own) - case EM_SETSEL: - return (INT_PTR)TRUE; - - // Prevent select (which screws up our display as it redraws the font using different settings) - case WM_LBUTTONDOWN: - return (INT_PTR)FALSE; - - // Prevent the text selection pointer from appearing on hover - case WM_SETCURSOR: - SetCursor(LoadCursor(NULL, IDC_ARROW)); - return (INT_PTR)TRUE; - - // The things one needs to do to vertically center text in an edit control... case WM_PAINT: - GetWindowTextW(hInfo, winfo, ARRAYSIZE(winfo)); - hdc = BeginPaint(hCtrl , &ps); - SelectObject(hdc, hInfoFont); - SetTextColor(hdc, GetSysColor(COLOR_BTNTEXT)); - SetBkColor(hdc, GetSysColor(COLOR_BTNFACE)); - SetTextAlign(hdc , TA_CENTER | TA_BASELINE); - GetClientRect(hCtrl , &rect); - // If you don't fill the client area, you get leftover text artifacts - FillRect(hdc, &rect, hInfoBrush); - ExtTextOutW(hdc, rect.right/2, rect.bottom/2 + (int)(5.0f * fScale), - ETO_CLIPPED | ETO_NUMERICSLOCAL | (right_to_left_mode?ETO_RTLREADING:0), + hDC = BeginPaint(hCtrl, &ps); + CallWindowProc(progress_original_proc, hCtrl, message, (WPARAM)hDC, lParam); + GetWindowTextW(hProgress, winfo, ARRAYSIZE(winfo)); + SetBkMode(hDC, TRANSPARENT); + SelectObject(hDC, hInfoFont); + SetTextColor(hDC, RGB(0xFF, 0xFF, 0xFF)); + SetTextAlign(hDC, TA_CENTER | TA_BASELINE); + GetClientRect(hCtrl, &rect); + ExtTextOutW(hDC, rect.right / 2, rect.bottom / 2 + (int)(4.0f * fScale), + ETO_CLIPPED | ETO_NUMERICSLOCAL | (right_to_left_mode ? ETO_RTLREADING : 0), &rect, winfo, (int)wcslen(winfo), NULL); EndPaint(hCtrl, &ps); return (INT_PTR)TRUE; } - return CallWindowProc(info_original_proc, hCtrl, message, wParam, lParam); + return CallWindowProc(progress_original_proc, hCtrl, message, wParam, lParam); } -static void InitDialog(HWND hDlg) +static void CreateAdditionalControls(HWND hDlg) { - HINSTANCE hShell32DllInst, hUserLanguagesCplDllInst, hINetCplDllInst; - HIMAGELIST hLangToolbarImageList; - TBBUTTON tbLangToolbarButtons[1]; - RECT rcDeviceList, rcToolbarButton, rcFormatGroup, rcAdvancedOptions, rcBootType, rcSelectImage; - DWORD len; + HINSTANCE hDll; + HIMAGELIST hToolbarImageList; + RECT rc; SIZE sz; - HWND hCtrl; - HDC hDC; - int i, i16, s16, lfHeight; - char tmp[128], *token, *buf, *ext; - wchar_t wtmp[128] = {0}; - static char* resource[2] = { MAKEINTRESOURCEA(IDR_SL_LDLINUX_V4_SYS), MAKEINTRESOURCEA(IDR_SL_LDLINUX_V6_SYS) }; + int i16, s16, toolbar_dx = -4 - ((fScale > 1.49f) ? 1 : 0) - ((fScale > 1.99f) ? 1 : 0); + TBBUTTON tbToolbarButtons[7]; -#ifdef RUFUS_TEST - ShowWindow(GetDlgItem(hDlg, IDC_TEST), SW_SHOW); -#endif - - // Quite a burden to carry around as parameters - hMainDialog = hDlg; - MainThreadId = GetCurrentThreadId(); - hDeviceList = GetDlgItem(hDlg, IDC_DEVICE); - hPartitionScheme = GetDlgItem(hDlg, IDC_PARTITION_TYPE); - hFileSystem = GetDlgItem(hDlg, IDC_FILESYSTEM); - hClusterSize = GetDlgItem(hDlg, IDC_CLUSTERSIZE); - hLabel = GetDlgItem(hDlg, IDC_LABEL); - hProgress = GetDlgItem(hDlg, IDC_PROGRESS); - hInfo = GetDlgItem(hDlg, IDC_INFO); - hBoot = GetDlgItem(hDlg, IDC_BOOT); - hBootType = GetDlgItem(hDlg, IDC_BOOTTYPE); - hSelectISO = GetDlgItem(hDlg, IDC_SELECT_ISO); - hNBPasses = GetDlgItem(hDlg, IDC_NBPASSES); - hDiskID = GetDlgItem(hDlg, IDC_DISK_ID); - hStart = GetDlgItem(hDlg, IDC_START); - - // High DPI scaling - i16 = GetSystemMetrics(SM_CXSMICON); - hDC = GetDC(hDlg); - lfHeight = -MulDiv(9, GetDeviceCaps(hDC, LOGPIXELSY), 72); - if (hDC != NULL) - ReleaseDC(hDlg, hDC); - // Adjust icon size lookup - s16 = i16; + s16 = i16 = GetSystemMetrics(SM_CXSMICON); if (s16 >= 54) s16 = 64; else if (s16 >= 40) @@ -1726,17 +1780,635 @@ static void InitDialog(HWND hDlg) else if (s16 >= 20) s16 = 24; - // Create the font and brush for the Info edit box + // Load system icons (NB: Use the excellent http://www.nirsoft.net/utils/iconsext.html to find icon IDs) + hDll = GetLibraryHandle("Shell32"); + hIconSave = (HICON)LoadImage(hDll, MAKEINTRESOURCE(16761), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + hIconLog = (HICON)LoadImage(hDll, MAKEINTRESOURCE(281), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + hIconAbout = (HICON)LoadImage(hDll, MAKEINTRESOURCE(16783), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + hIconSettings = (HICON)LoadImage(hDll, MAKEINTRESOURCE(16826), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + if (hIconSettings == NULL) + hIconSettings = (HICON)LoadImage(hDll, MAKEINTRESOURCE(153), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + + if (nWindowsVersion >= WINDOWS_8) { + // Use the icon from the Windows 8+ 'Language' Control Panel + hDll = GetLibraryHandle("UserLanguagesCpl"); + hIconLang = (HICON)LoadImage(hDll, MAKEINTRESOURCE(1), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + } else { + // Otherwise use the globe icon, from the Internet Options Control Panel + hDll = GetLibraryHandle("inetcpl.cpl"); + hIconLang = (HICON)LoadImage(hDll, MAKEINTRESOURCE(1313), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + } + + // Fetch the up and down expand icons for the advanced options toolbar + hDll = GetLibraryHandle("ComDlg32"); + hIconDown = (HICON)LoadImage(hDll, MAKEINTRESOURCE(577), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + hIconUp = (HICON)LoadImage(hDll, MAKEINTRESOURCE(578), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + // Fallback to using Shell32 if we can't locate the icons we want in ComDlg32 + hDll = GetLibraryHandle("Shell32"); + if (hIconUp == NULL) + hIconUp = (HICON)LoadImage(hDll, MAKEINTRESOURCE(16749), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + if (hIconDown == NULL) + hIconDown = (HICON)LoadImage(hDll, MAKEINTRESOURCE(16750), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + hUpImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0); + hDownImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0); + ImageList_AddIcon(hUpImageList, hIconUp); + ImageList_AddIcon(hDownImageList, hIconDown); + + // Create the advanced options toolbars + memset(wtbtext, 0, sizeof(wtbtext)); + utf8_to_wchar_no_alloc(lmprintf((advanced_mode_device) ? MSG_122 : MSG_121, lmprintf(MSG_119)), wtbtext[0], ARRAYSIZE(wtbtext[0])); + hAdvancedDeviceToolbar = CreateWindowExW(0, TOOLBARCLASSNAME, NULL, + WS_CHILD | WS_TABSTOP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CCS_NOPARENTALIGN | + CCS_NODIVIDER | TBSTYLE_FLAT | TBSTYLE_LIST | TBSTYLE_TRANSPARENT | TBSTYLE_TOOLTIPS | TBSTYLE_AUTOSIZE, + 0, 0, 0, 0, hMainDialog, (HMENU)IDC_ADVANCED_DEVICE_TOOLBAR, hMainInstance, NULL); + SendMessage(hAdvancedDeviceToolbar, CCM_SETVERSION, (WPARAM)6, 0); + memset(tbToolbarButtons, 0, sizeof(TBBUTTON)); + tbToolbarButtons[0].idCommand = IDC_ADVANCED_DRIVE_PROPERTIES; + tbToolbarButtons[0].fsStyle = BTNS_SHOWTEXT | BTNS_AUTOSIZE; + tbToolbarButtons[0].fsState = TBSTATE_ENABLED; + tbToolbarButtons[0].iString = (INT_PTR)wtbtext[0]; + tbToolbarButtons[0].iBitmap = 0; + SendMessage(hAdvancedDeviceToolbar, TB_SETIMAGELIST, 0, (LPARAM)hUpImageList); + SendMessage(hAdvancedDeviceToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0); + SendMessage(hAdvancedDeviceToolbar, TB_ADDBUTTONS, 1, (LPARAM)&tbToolbarButtons); + GetWindowRect(GetDlgItem(hDlg, IDC_ADVANCED_DRIVE_PROPERTIES), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + SendMessage(hAdvancedDeviceToolbar, TB_GETIDEALSIZE, (WPARAM)FALSE, (LPARAM)&sz); + SetWindowPos(hAdvancedDeviceToolbar, HWND_TOP, rc.left + toolbar_dx, rc.top, sz.cx, rc.bottom - rc.top, 0); + + utf8_to_wchar_no_alloc(lmprintf((advanced_mode_format) ? MSG_122 : MSG_121, lmprintf(MSG_120)), wtbtext[1], ARRAYSIZE(wtbtext[1])); + hAdvancedFormatToolbar = CreateWindowExW(0, TOOLBARCLASSNAME, NULL, + WS_CHILD | WS_TABSTOP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CCS_NOPARENTALIGN | + CCS_NODIVIDER | TBSTYLE_FLAT | TBSTYLE_LIST | TBSTYLE_TRANSPARENT | TBSTYLE_TOOLTIPS | TBSTYLE_AUTOSIZE, + 0, 0, 0, 0, hMainDialog, (HMENU)IDC_ADVANCED_FORMAT_TOOLBAR, hMainInstance, NULL); + SendMessage(hAdvancedFormatToolbar, CCM_SETVERSION, (WPARAM)6, 0); + memset(tbToolbarButtons, 0, sizeof(TBBUTTON)); + tbToolbarButtons[0].idCommand = IDC_ADVANCED_FORMAT_OPTIONS; + tbToolbarButtons[0].fsStyle = BTNS_SHOWTEXT | BTNS_AUTOSIZE; + tbToolbarButtons[0].fsState = TBSTATE_ENABLED; + tbToolbarButtons[0].iString = (INT_PTR)wtbtext[1]; + tbToolbarButtons[0].iBitmap = 0; + SendMessage(hAdvancedFormatToolbar, TB_SETIMAGELIST, (WPARAM)0, (LPARAM)hUpImageList); + SendMessage(hAdvancedFormatToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0); + SendMessage(hAdvancedFormatToolbar, TB_ADDBUTTONS, (WPARAM)1, (LPARAM)&tbToolbarButtons); + GetWindowRect(GetDlgItem(hDlg, IDC_ADVANCED_FORMAT_OPTIONS), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + SendMessage(hAdvancedFormatToolbar, TB_GETIDEALSIZE, (WPARAM)FALSE, (LPARAM)&sz); + SetWindowPos(hAdvancedFormatToolbar, HWND_TOP, rc.left + toolbar_dx, rc.top, sz.cx, rc.bottom - rc.top, 0); + + // Create the bottom toolbar + hMultiToolbar = CreateWindowExW(0, TOOLBARCLASSNAME, NULL, + WS_CHILD | WS_TABSTOP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CCS_NOPARENTALIGN | + CCS_NODIVIDER | TBSTYLE_FLAT | TBSTYLE_LIST | TBSTYLE_TRANSPARENT | TBSTYLE_TOOLTIPS | TBSTYLE_AUTOSIZE, + 0, 0, 0, 0, hMainDialog, (HMENU)IDC_MULTI_TOOLBAR, hMainInstance, NULL); + hToolbarImageList = ImageList_Create(i16, i16, ILC_COLOR32, 4, 0); + ImageList_AddIcon(hToolbarImageList, hIconLang); + ImageList_AddIcon(hToolbarImageList, hIconAbout); + ImageList_AddIcon(hToolbarImageList, hIconSettings); + ImageList_AddIcon(hToolbarImageList, hIconLog); + SendMessage(hMultiToolbar, TB_SETIMAGELIST, (WPARAM)0, (LPARAM)hToolbarImageList); + SendMessage(hMultiToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0); + memset(tbToolbarButtons, 0, sizeof(TBBUTTON) * ARRAYSIZE(tbToolbarButtons)); + tbToolbarButtons[0].idCommand = IDC_LANG; + tbToolbarButtons[0].fsStyle = BTNS_AUTOSIZE; + tbToolbarButtons[0].fsState = TBSTATE_ENABLED; + tbToolbarButtons[0].iBitmap = 0; + tbToolbarButtons[1].fsStyle = BTNS_AUTOSIZE; + tbToolbarButtons[1].fsState = TBSTATE_INDETERMINATE; + tbToolbarButtons[1].iBitmap = I_IMAGENONE; + tbToolbarButtons[1].iString = (fScale < 1.5f) ? (INT_PTR)L"" : (INT_PTR)L" "; + tbToolbarButtons[2].idCommand = IDC_ABOUT; + tbToolbarButtons[2].fsStyle = BTNS_AUTOSIZE; + tbToolbarButtons[2].fsState = TBSTATE_ENABLED; + tbToolbarButtons[2].iBitmap = 1; + tbToolbarButtons[3].fsStyle = BTNS_AUTOSIZE; + tbToolbarButtons[3].fsState = TBSTATE_INDETERMINATE; + tbToolbarButtons[3].iBitmap = I_IMAGENONE; + tbToolbarButtons[3].iString = (fScale < 1.5f) ? (INT_PTR)L"" : (INT_PTR)L" "; + tbToolbarButtons[4].idCommand = IDC_SETTINGS; + tbToolbarButtons[4].fsStyle = BTNS_AUTOSIZE; + tbToolbarButtons[4].fsState = TBSTATE_ENABLED; + tbToolbarButtons[4].iBitmap = 2; + tbToolbarButtons[5].fsStyle = BTNS_AUTOSIZE; + tbToolbarButtons[5].fsState = TBSTATE_INDETERMINATE; + tbToolbarButtons[5].iBitmap = I_IMAGENONE; + tbToolbarButtons[5].iString = (fScale < 1.5f) ? (INT_PTR)L"" : (INT_PTR)L" "; + tbToolbarButtons[6].idCommand = IDC_LOG; + tbToolbarButtons[6].fsStyle = BTNS_AUTOSIZE; + tbToolbarButtons[6].fsState = TBSTATE_ENABLED; + tbToolbarButtons[6].iBitmap = 3; + SendMessage(hMultiToolbar, TB_ADDBUTTONS, (WPARAM)7, (LPARAM)&tbToolbarButtons); + + // Set the icons on the the buttons + bi_save.himl = ImageList_Create(i16, i16, ILC_COLOR32 | ILC_MASK, 1, 0); + ImageList_ReplaceIcon(bi_save.himl, -1, hIconSave); + SetRect(&bi_save.margin, 0, 1, 0, 0); + bi_save.uAlign = BUTTON_IMAGELIST_ALIGN_CENTER; + bi_down.himl = ImageList_Create(i16, i16, ILC_COLOR32 | ILC_MASK, 1, 0); + ImageList_ReplaceIcon(bi_down.himl, -1, hIconDown); + SetRect(&bi_down.margin, 0, 0, 0, 0); + bi_down.uAlign = BUTTON_IMAGELIST_ALIGN_CENTER; + bi_up.himl = ImageList_Create(i16, i16, ILC_COLOR32 | ILC_MASK, 1, 0); + ImageList_ReplaceIcon(bi_up.himl, -1, hIconUp); + SetRect(&bi_up.margin, 0, 0, 0, 0); + bi_up.uAlign = BUTTON_IMAGELIST_ALIGN_CENTER; + + SendMessage(GetDlgItem(hDlg, IDC_SAVE), BCM_SETIMAGELIST, 0, (LPARAM)&bi_save); +} + +// https://stackoverflow.com/a/20926332/1069307 +// https://msdn.microsoft.com/en-us/library/windows/desktop/bb226818.aspx +static void GetBasicControlsWidth(HWND hDlg) +{ + int checkbox_internal_spacing = 12, dropdown_internal_spacing = 15; + RECT rc = { 0, 0, 4, 8 }; + SIZE bu; + + // Compute base unit sizes since GetDialogBaseUnits() returns garbage data. + // See http://support.microsoft.com/kb/125681 + MapDialogRect(hDlg, &rc); + bu.cx = rc.right; + bu.cy = rc.bottom; + + // TODO: figure out the specifics of each Windows version + if (nWindowsVersion == WINDOWS_10) { + checkbox_internal_spacing = 10; + dropdown_internal_spacing = 13; + } + + // Checkbox and (blank) dropdown widths + cbw = MulDiv(checkbox_internal_spacing, bu.cx, 4); + ddw = MulDiv(dropdown_internal_spacing, bu.cx, 4); + + // Spacing width between half-length dropdowns (sep) as well as left margin + GetWindowRect(GetDlgItem(hDlg, IDC_TARGET_SYSTEM), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + sw = rc.left; + GetWindowRect(GetDlgItem(hDlg, IDC_PARTITION_TYPE), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + sw -= rc.right; + mw = rc.left; + + // Small button and small separator widths + GetWindowRect(GetDlgItem(hDlg, IDC_SAVE), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + sbw = rc.right - rc.left; + bh = rc.bottom - rc.top; + ssw = rc.left; + GetWindowRect(hDeviceList, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + ssw -= rc.right; + + // Hash button width + GetWindowRect(GetDlgItem(hDlg, IDC_HASH), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + hbw = rc.right - rc.left; + + // CSM tooltip separator width + GetWindowRect(GetDlgItem(hDlg, IDS_CSM_HELP_TXT), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + tw = rc.left; + GetWindowRect(hTargetSystem, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + tw -= rc.right; +} + +// Compute the minimum size of the main buttons +static void GetMainButtonsWidth(HWND hDlg) +{ + unsigned int i; + RECT rc; + + GetWindowRect(GetDlgItem(hDlg, main_button_ids[0]), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + bw = rc.right - rc.left; + + for (i = 0; i < ARRAYSIZE(main_button_ids); i++) + bw = max(bw, GetTextWidth(hDlg, main_button_ids[i]) + cbw); + // The 'CLOSE' button is also be used to display 'CANCEL' => measure that too + bw = max(bw, GetTextSize(GetDlgItem(hDlg, IDCANCEL), lmprintf(MSG_007)).cx + cbw); +} + +// The following goes over the data that gets populated into the half-width dropdowns +// (Partition scheme, Target System, Disk ID, File system, Cluster size, Nb passes) +// to figure out the minimum width we should allocate. +static void GetHalfDropwdownWidth(HWND hDlg) +{ + RECT rc; + unsigned int i, j, msg_id; + char tmp[256]; + + // Initialize half width to the UI's default size + GetWindowRect(GetDlgItem(hDlg, IDC_PARTITION_TYPE), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + hw = rc.right - rc.left - ddw; + + // "Super Floppy Disk" is the longuest entry in the Partition Scheme dropdown + hw = max(hw, GetTextSize(GetDlgItem(hDlg, IDC_PARTITION_TYPE), (char*)sfd_name).cx); + + // This is basically the same as SetClusterSizeLabels() except we're adding (Default) to each entry + for (i = 512, j = 1, msg_id = MSG_026; j 8192) { + i /= 1024; + msg_id++; + } + safe_sprintf(tmp, 64, "%d %s", i, lmprintf(msg_id)); + hw = max(hw, GetTextSize(GetDlgItem(hDlg, IDC_CLUSTER_SIZE), lmprintf(MSG_030, tmp)).cx); + } + // We don't go over file systems, because none of them will be longer than "Super Floppy Disk" + // We do however go over the BIOS vs UEFI entries, as some of these are translated + for (msg_id = MSG_031; msg_id <= MSG_033; msg_id++) + hw = max(hw, GetTextSize(GetDlgItem(hDlg, IDC_TARGET_SYSTEM), lmprintf(msg_id)).cx); + + // Just in case, we also do the number of passes + for (i = 1; i <= 4; i++) + hw = max(hw, GetTextSize(GetDlgItem(hDlg, IDC_TARGET_SYSTEM), + lmprintf((i == 1) ? MSG_034 : MSG_035, i)).cx); + + // Finally, we must ensure that we'll have enough space for the 2 checkbox controls + // that end up with a half dropdown + hw = max(hw, GetTextWidth(hDlg, IDC_RUFUS_MBR) - sw); + hw = max(hw, GetTextWidth(hDlg, IDC_BAD_BLOCKS) - sw); + + // Add the width of a blank dropdown + hw += ddw; +} + +/* + * dbw = dialog border width + * mw = margin width + * fw = full dropdown width + * hd = half dropdown width + * bsw = boot selection dropdown width + * sw = separator width + * ssw = small separator width + * bw = button width + * sbw = small button width + * hbw = hash button width + * + * | fw | + * | bsw | ssw | hbw | ssw | bw | + * 8 ->|<- 96 ->|<- 24 ->|<- 96 ->|<- 8 + * mw | hw | sw | hw | mw + * | bw | ssw | bw | + */ +static void GetFullWidth(HWND hDlg) +{ + RECT rc; + int i; + + // Get the dialog border width + GetWindowRect(hDlg, &rc); + dbw = rc.right - rc.left; + GetClientRect(hDlg, &rc); + dbw -= rc.right - rc.left; + + // Compute the minimum size needed for the Boot Selection dropdown + GetWindowRect(GetDlgItem(hDlg, IDC_BOOT_SELECTION), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + + bsw = max(rc.right - rc.left, GetTextSize(hBootType, lmprintf(MSG_279)).cx + ddw); + bsw = max(bsw, GetTextSize(hBootType, lmprintf(MSG_281, lmprintf(MSG_280))).cx + ddw); + + // Initialize full width to the UI's default size + GetWindowRect(GetDlgItem(hDlg, IDC_IMAGE_OPTION), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + fw = rc.right - rc.left - ddw; + + // Go through the Image Options for Windows To Go + fw = max(fw, GetTextSize(GetDlgItem(hDlg, IDC_IMAGE_OPTION), lmprintf(MSG_117)).cx); + fw = max(fw, GetTextSize(GetDlgItem(hDlg, IDC_IMAGE_OPTION), lmprintf(MSG_118)).cx); + + // Now deal with full length checkbox lines + for (i=0; i= 1.3f) + return; + + for (i = 0; i < ARRAYSIZE(adjust_dpi_ids); i++) { + dy += ddy; + // "...and the other thing I really like about Microsoft's UI handling is how " + //."you never have to introduce weird hardcoded constants all over the place, " + // "just to make your UI look good...", said NO ONE ever. + if (adjust_dpi_ids[i][0] == IDC_QUICK_FORMAT) + dy += 1; + for (j = 0; j < 5; j++) { + if (adjust_dpi_ids[i][j] == 0) + break; + hCtrl = GetDlgItem(hDlg, adjust_dpi_ids[i][j]); + GetWindowRect(hCtrl, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + SetWindowPos(hCtrl, HWND_TOP, rc.left, rc.top + dy, + rc.right - rc.left, rc.bottom - rc.top, 0); + } + } + + format_vpos += 9 * ddy; + status_vpos += 16 * ddy + 1; + advanced_device_section_height += 3 * ddy; + advanced_format_section_height += 3 * ddy + 1; + + ResizeDialogs(dy + 2*ddy); + InvalidateRect(hDlg, NULL, TRUE); +} + +static void SetSectionHeaders(HWND hDlg) +{ + RECT rc; + HWND hCtrl; + SIZE sz; + HFONT hf; + wchar_t wtmp[128]; + int i, control[3] = { IDS_DRIVE_PROPERTIES_TXT, IDS_FORMAT_OPTIONS_TXT, IDS_STATUS_TXT }; + + // Set the section header fonts and resize the static controls accordingly + hf = CreateFontA(-MulDiv(14, GetDeviceCaps(GetDC(hMainDialog), LOGPIXELSY), 72), 0, 0, 0, + FW_SEMIBOLD, FALSE, FALSE, FALSE, DEFAULT_CHARSET, 0, 0, PROOF_QUALITY, 0, "Segoe UI"); + + for (i = 0; i < ARRAYSIZE(control); i++) { + SendDlgItemMessageA(hDlg, control[i], WM_SETFONT, (WPARAM)hf, TRUE); + hCtrl = GetDlgItem(hDlg, control[i]); + memset(wtmp, 0, sizeof(wtmp)); + GetWindowTextW(hCtrl, wtmp, ARRAYSIZE(wtmp)); + wtmp[wcslen(wtmp)] = ' '; + SetWindowTextW(hCtrl, wtmp); + GetWindowRect(hCtrl, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + sz = GetTextSize(hCtrl, NULL); + SetWindowPos(hCtrl, NULL, rc.left, rc.top, sz.cx, sz.cy, SWP_NOZORDER); + } +} + +// Create the horizontal section lines +void OnPaint(HDC hdc) +{ + HPEN hp = CreatePen(0, (fScale < 1.5f)?2:3, RGB(0, 0, 0)); + SelectObject(hdc, hp); + MoveToEx(hdc, mw + 10, device_vpos, NULL); + LineTo(hdc, mw + fw, device_vpos); + MoveToEx(hdc, mw + 10, format_vpos, NULL); + LineTo(hdc, mw + fw, format_vpos); + MoveToEx(hdc, mw + 10, status_vpos, NULL); + LineTo(hdc, mw + fw, status_vpos); +} + +static void InitDialog(HWND hDlg) +{ + DWORD len; + HDC hDC; + int i, lfHeight; + char tmp[128], *token, *buf, *ext; + static char* resource[2] = { MAKEINTRESOURCEA(IDR_SL_LDLINUX_V4_SYS), MAKEINTRESOURCEA(IDR_SL_LDLINUX_V6_SYS) }; + +#ifdef RUFUS_TEST + ShowWindow(GetDlgItem(hDlg, IDC_TEST), SW_SHOW); +#endif + + hDC = GetDC(hDlg); + lfHeight = -MulDiv(9, GetDeviceCaps(hDC, LOGPIXELSY), 72); + safe_release_dc(hDlg, hDC); + + // Quite a burden to carry around as parameters + hMainDialog = hDlg; + MainThreadId = GetCurrentThreadId(); + hDeviceList = GetDlgItem(hDlg, IDC_DEVICE); + hPartitionScheme = GetDlgItem(hDlg, IDC_PARTITION_TYPE); + hTargetSystem = GetDlgItem(hDlg, IDC_TARGET_SYSTEM); + hFileSystem = GetDlgItem(hDlg, IDC_FILE_SYSTEM); + hClusterSize = GetDlgItem(hDlg, IDC_CLUSTER_SIZE); + hLabel = GetDlgItem(hDlg, IDC_LABEL); + hProgress = GetDlgItem(hDlg, IDC_PROGRESS); + hBootType = GetDlgItem(hDlg, IDC_BOOT_SELECTION); + hSelectImage = GetDlgItem(hDlg, IDC_SELECT); + hNBPasses = GetDlgItem(hDlg, IDC_NB_PASSES); + hDiskID = GetDlgItem(hDlg, IDC_DISK_ID); + hStart = GetDlgItem(hDlg, IDC_START); + + // Convert the main button labels to uppercase + GetWindowTextU(hStart, uppercase_start, sizeof(uppercase_start)); + CharUpperBuffU(uppercase_start, sizeof(uppercase_start)); + SetWindowTextU(hStart, uppercase_start); + GetWindowTextU(GetDlgItem(hDlg, IDCANCEL), uppercase_close, sizeof(uppercase_close)); + CharUpperBuffU(uppercase_close, sizeof(uppercase_close)); + // Hardcoded exception for German + if (strcmp("SCHLIEßEN", uppercase_close) == 0) + strcpy(uppercase_close, "SCHLIESSEN"); + SetWindowTextU(GetDlgItem(hDlg, IDCANCEL), uppercase_close); + GetWindowTextU(GetDlgItem(hDlg, IDC_SELECT), uppercase_select, sizeof(uppercase_select)); + CharUpperBuffU(uppercase_select, sizeof(uppercase_select)); + SetWindowTextU(GetDlgItem(hDlg, IDC_SELECT), uppercase_select); + strcpy(uppercase_cancel, lmprintf(MSG_007)); + CharUpperBuffU(uppercase_cancel, sizeof(uppercase_cancel)); + + GetBasicControlsWidth(hDlg); + GetMainButtonsWidth(hDlg); + GetHalfDropwdownWidth(hDlg); + GetFullWidth(hDlg); + + // Create the font and brush for the progress messages hInfoFont = CreateFontA(lfHeight, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, 0, 0, PROOF_QUALITY, 0, "Segoe UI"); - SendDlgItemMessageA(hDlg, IDC_INFO, WM_SETFONT, (WPARAM)hInfoFont, TRUE); - hInfoBrush = CreateSolidBrush(GetSysColor(COLOR_BTNFACE)); - HideCaret(hInfo); // Create the title bar icon SetTitleBarIcon(hDlg); GetWindowTextA(hDlg, tmp, sizeof(tmp)); - // Count of Microsoft for making it more attractive to read a + // Count on Microsoft for making it more attractive to read a // version using strtok() than using GetFileVersionInfo() token = strtok(tmp, " "); for (i=0; (i<3) && ((token = strtok(NULL, ".")) != NULL); i++) @@ -1778,30 +2450,23 @@ static void InitDialog(HWND hDlg) uprintf("If you think you can help update this translation, please e-mail the author of this application"); } - SetClusterSizeLabels(); - - // Prefer FreeDOS to MS-DOS - selection_default = BT_FREEDOS; - // Create the status line and initialize the taskbar icon for progress overlay - CreateStatusBar(); + selection_default = BT_IMAGE; CreateTaskbarList(); SetTaskbarProgressState(TASKBAR_NORMAL); // Use maximum granularity for the progress bar SendMessage(hProgress, PBM_SETRANGE, 0, (MAX_PROGRESS<<16) & 0xFFFF0000); + // Fill up the passes for (i=0; i<4; i++) { IGNORE_RETVAL(ComboBox_AddStringU(hNBPasses, lmprintf((i==0)?MSG_034:MSG_035, i+1))); } IGNORE_RETVAL(ComboBox_SetCurSel(hNBPasses, 0)); SetPassesTooltip(); - // Fill up the boot type dropdown - if (nWindowsVersion < WINDOWS_10) // The diskcopy.dll with the MS-DOS floppy image was removed in Windows 10 - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "MS-DOS"), BT_MSDOS)); - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "FreeDOS"), BT_FREEDOS)); - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, lmprintf(MSG_036)), BT_ISO)); - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, lmprintf(MSG_095)), BT_IMG)); - SetComboEntry(hBootType, selection_default); + + // Fill up the boot options dropdown + SetBootOptions(); + // Fill up the MBR masqueraded disk IDs ("8 disks should be enough for anybody") IGNORE_RETVAL(ComboBox_SetItemData(hDiskID, ComboBox_AddStringU(hDiskID, lmprintf(MSG_030, LEFT_TO_RIGHT_EMBEDDING "0x80" POP_DIRECTIONAL_FORMATTING)), 0x80)); for (i=1; i<=7; i++) { @@ -1814,134 +2479,59 @@ static void InitDialog(HWND hDlg) StrArrayCreate(&DriveLabel, MAX_DRIVES); StrArrayCreate(&DriveHub, MAX_DRIVES); StrArrayCreate(&BlockingProcess, 16); + StrArrayCreate(&ImageList, 16); // Set various checkboxes - CheckDlgButton(hDlg, IDC_QUICKFORMAT, BST_CHECKED); - CheckDlgButton(hDlg, IDC_BOOT, BST_CHECKED); - CheckDlgButton(hDlg, IDC_SET_ICON, BST_CHECKED); + CheckDlgButton(hDlg, IDC_QUICK_FORMAT, BST_CHECKED); + CheckDlgButton(hDlg, IDC_EXTENDED_LABEL, BST_CHECKED); - // Load system icons (NB: Use the excellent http://www.nirsoft.net/utils/iconsext.html to find icon IDs) - hShell32DllInst = GetLibraryHandle("Shell32"); - hIconDisc = (HICON)LoadImage(hShell32DllInst, MAKEINTRESOURCE(12), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); + CreateAdditionalControls(hDlg); + SetSectionHeaders(hDlg); + PositionControls(hDlg); + AdjustForLowDPI(hDlg); + // Because we created the log dialog before we computed our sizes, we need to send a custom message + SendMessage(hLogDialog, UM_RESIZE_BUTTONS, 0, 0); + // Create the status line and initialize the taskbar icon for progress overlay + CreateStatusBar(); - if (nWindowsVersion >= WINDOWS_8) { - // Use the icon from the Windows 8+ 'Language' Control Panel - hUserLanguagesCplDllInst = GetLibraryHandle("UserLanguagesCpl"); - hIconLang = (HICON)LoadImage(hUserLanguagesCplDllInst, MAKEINTRESOURCE(1), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); - } else { - // Otherwise use the globe icon, from the Internet Options Control Panel - hINetCplDllInst = GetLibraryHandle("inetcpl.cpl"); - hIconLang = (HICON)LoadImage(hINetCplDllInst, MAKEINTRESOURCE(1313), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); - } - - hIconDown = (HICON)LoadImage(hShell32DllInst, MAKEINTRESOURCE(16750), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); - hIconUp = (HICON)LoadImage(hShell32DllInst, MAKEINTRESOURCE(16749), IMAGE_ICON, s16, s16, LR_DEFAULTCOLOR | LR_SHARED); - - // Create the language toolbar - hLangToolbar = CreateWindowExW(0, TOOLBARCLASSNAME, NULL, WS_CHILD | WS_TABSTOP | TBSTYLE_TRANSPARENT | CCS_NOPARENTALIGN | - CCS_NORESIZE | CCS_NODIVIDER, 0, 0, 0, 0, hMainDialog, NULL, hMainInstance, NULL); - hLangToolbarImageList = ImageList_Create(i16, i16, ILC_COLOR32, 1, 0); - ImageList_AddIcon(hLangToolbarImageList, hIconLang); - SendMessage(hLangToolbar, TB_SETIMAGELIST, (WPARAM)0, (LPARAM)hLangToolbarImageList); - SendMessage(hLangToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0); - memset(tbLangToolbarButtons, 0, sizeof(TBBUTTON)); - tbLangToolbarButtons[0].idCommand = lang_button_id; - tbLangToolbarButtons[0].fsStyle = BTNS_WHOLEDROPDOWN; - tbLangToolbarButtons[0].fsState = TBSTATE_ENABLED; - SendMessage(hLangToolbar, TB_ADDBUTTONS, (WPARAM)1, (LPARAM)&tbLangToolbarButtons); // Add just the 1 button - SendMessage(hLangToolbar, TB_GETRECT, lang_button_id, (LPARAM)&rcToolbarButton); - - // Make the toolbar window just big enough to hold the button - // Set the top margin to 4 DIPs and the right margin so that it's aligned with the Device List Combobox - GetWindowRect(hDeviceList, &rcDeviceList); - MapWindowPoints(NULL, hDlg, (POINT*)&rcDeviceList, 2); - SetWindowPos(hLangToolbar, HWND_TOP, rcDeviceList.right - rcToolbarButton.right, - (int)(4.0f * fScale), rcToolbarButton.right, rcToolbarButton.bottom, 0); - ShowWindow(hLangToolbar, SW_SHOWNORMAL); - - // Add trailing space to the "Format Options" text - hCtrl = GetDlgItem(hDlg, IDS_FORMAT_OPTIONS_GRP); - GetWindowTextW(hCtrl, wtmp, ARRAYSIZE(wtmp)); - wtmp[wcslen(wtmp)] = ' '; - SetWindowTextW(hCtrl, wtmp); - - // Reposition and resize the Advanced button - GetWindowRect(hCtrl, &rcFormatGroup); - MapWindowPoints(NULL, hDlg, (POINT*)&rcFormatGroup, 2); - sz = GetTextSize(hCtrl); - GetWindowRect(GetDlgItem(hDlg, IDC_ADVANCED), &rcAdvancedOptions); - // The label of a group box is always 8 pixels to the right, *regardless* of the zoom level - SetWindowPos(GetDlgItem(hDlg, IDC_ADVANCED), hCtrl, rcFormatGroup.left + 8 + sz.cx, - rcFormatGroup.top, i16 + (int)(4.0f * fScale), i16/2 + (int)(8.0f * fScale), 0); - - // Reposition and resize the Select Image button - GetWindowRect(hBootType, &rcBootType); - MapWindowPoints(NULL, hDlg, (POINT*)&rcBootType, 2); - GetWindowRect(hSelectISO, &rcSelectImage); - MapWindowPoints(NULL, hDlg, (POINT*)&rcSelectImage, 2); - SetWindowPos(hSelectISO, NULL, rcSelectImage.left, rcBootType.top - 1, - rcSelectImage.right - rcSelectImage.left, rcBootType.bottom - rcBootType.top + 2, SWP_NOZORDER); - - // The things one needs to do to keep things looking good... - if (fScale > 1.4f) { - ResizeMoveCtrl(hDlg, GetDlgItem(hMainDialog, IDS_ADVANCED_OPTIONS_GRP), 0, +1, 0, 0, fScale); - } - - // Subclass the Info box so that we can align its text vertically - info_original_proc = (WNDPROC)SetWindowLongPtr(hInfo, GWLP_WNDPROC, (LONG_PTR)InfoCallback); - - // Set the icons on the the buttons - bi_iso.himl = ImageList_Create(i16, i16, ILC_COLOR32 | ILC_MASK, 1, 0); - ImageList_ReplaceIcon(bi_iso.himl, -1, hIconDisc); - SetRect(&bi_iso.margin, 0, 1, 0, 0); - bi_iso.uAlign = BUTTON_IMAGELIST_ALIGN_CENTER; - bi_down.himl = ImageList_Create(i16, i16, ILC_COLOR32 | ILC_MASK, 1, 0); - ImageList_ReplaceIcon(bi_down.himl, -1, hIconDown); - SetRect(&bi_down.margin, 0, 0, 0, 0); - bi_down.uAlign = BUTTON_IMAGELIST_ALIGN_CENTER; - bi_up.himl = ImageList_Create(i16, i16, ILC_COLOR32 | ILC_MASK, 1, 0); - ImageList_ReplaceIcon(bi_up.himl, -1, hIconUp); - SetRect(&bi_up.margin, 0, 0, 0, 0); - bi_up.uAlign = BUTTON_IMAGELIST_ALIGN_CENTER; - - SendMessage(hSelectISO, BCM_SETIMAGELIST, 0, (LPARAM)&bi_iso); - SendMessage(GetDlgItem(hDlg, IDC_ADVANCED), BCM_SETIMAGELIST, 0, - (LPARAM)(advanced_mode?&bi_up:&bi_down)); + // Subclass the progress bar so that we can write on it + progress_original_proc = (WNDPROC)SetWindowLongPtr(hProgress, GWLP_WNDPROC, (LONG_PTR)ProgressCallback); // Set the various tooltips CreateTooltip(hFileSystem, lmprintf(MSG_157), -1); CreateTooltip(hClusterSize, lmprintf(MSG_158), -1); CreateTooltip(hLabel, lmprintf(MSG_159), -1); - CreateTooltip(GetDlgItem(hDlg, IDC_ADVANCED), lmprintf(MSG_160), -1); - CreateTooltip(GetDlgItem(hDlg, IDC_BADBLOCKS), lmprintf(MSG_161), -1); - CreateTooltip(GetDlgItem(hDlg, IDC_QUICKFORMAT), lmprintf(MSG_162), -1); - CreateTooltip(hBoot, lmprintf(MSG_163), -1); + CreateTooltip(hAdvancedDeviceToolbar, lmprintf(MSG_160), -1); + CreateTooltip(hAdvancedFormatToolbar, lmprintf(MSG_160), -1); + CreateTooltip(GetDlgItem(hDlg, IDC_BAD_BLOCKS), lmprintf(MSG_161), -1); + CreateTooltip(GetDlgItem(hDlg, IDC_QUICK_FORMAT), lmprintf(MSG_162), -1); CreateTooltip(hBootType, lmprintf(MSG_164), -1); - CreateTooltip(hSelectISO, lmprintf(MSG_165), -1); - CreateTooltip(GetDlgItem(hDlg, IDC_SET_ICON), lmprintf(MSG_166), 10000); + CreateTooltip(hSelectImage, lmprintf(MSG_165), -1); + CreateTooltip(GetDlgItem(hDlg, IDC_EXTENDED_LABEL), lmprintf(MSG_166), 10000); CreateTooltip(GetDlgItem(hDlg, IDC_RUFUS_MBR), lmprintf(MSG_167), 10000); CreateTooltip(hDiskID, lmprintf(MSG_168), 10000); - CreateTooltip(GetDlgItem(hDlg, IDC_EXTRA_PARTITION), lmprintf(MSG_169), -1); - CreateTooltip(GetDlgItem(hDlg, IDC_ENABLE_FIXED_DISKS), lmprintf(MSG_170), -1); + CreateTooltip(GetDlgItem(hDlg, IDC_OLD_BIOS_FIXES), lmprintf(MSG_169), -1); + CreateTooltip(GetDlgItem(hDlg, IDC_LIST_USB_HDD), lmprintf(MSG_170), -1); CreateTooltip(hStart, lmprintf(MSG_171), -1); CreateTooltip(GetDlgItem(hDlg, IDC_ABOUT), lmprintf(MSG_172), -1); - CreateTooltip(GetDlgItem(hDlg, IDC_WINDOWS_INSTALL), lmprintf(MSG_199), -1); - CreateTooltip(GetDlgItem(hDlg, IDC_WINDOWS_TO_GO), lmprintf(MSG_200), -1); - CreateTooltip(hStatusToolbar, lmprintf(MSG_272), -1); - CreateTooltip(hLangToolbar, lmprintf(MSG_273), -1); + CreateTooltip(hPartitionScheme, lmprintf(MSG_163), -1); + CreateTooltip(hTargetSystem, lmprintf(MSG_150), 30000); + CreateTooltip(GetDlgItem(hDlg, IDS_CSM_HELP_TXT), lmprintf(MSG_151), 30000); + CreateTooltip(GetDlgItem(hDlg, IDC_HASH), lmprintf(MSG_272), -1); + CreateTooltip(GetDlgItem(hDlg, IDC_SAVE), lmprintf(MSG_304), -1); + CreateTooltip(GetDlgItem(hDlg, IDC_IMAGE_OPTION), lmprintf(MSG_305), 30000); - // Set a label for the Advanced Mode and Select Image button for screen readers - SetWindowTextU(GetDlgItem(hDlg, IDC_ADVANCED), lmprintf(MSG_160)); - SetWindowTextU(hSelectISO, lmprintf(MSG_165)); - - if (!advanced_mode) // Hide as needed, since we display the advanced controls by default - ToggleAdvanced(FALSE); - ToggleToGo(); + if (!advanced_mode_device) // Hide as needed, since we display the advanced controls by default + ToggleAdvancedDeviceOptions(FALSE); + if (!advanced_mode_format) + ToggleAdvancedFormatOptions(FALSE); + ToggleImageOption(); // Process commandline parameters if (iso_provided) { - // Simulate a button click for ISO selection - PostMessage(hDlg, WM_COMMAND, IDC_SELECT_ISO, 0); + // Simulate a button click for image selection + PostMessage(hDlg, WM_COMMAND, IDC_SELECT, 0); } + SetBootTypeDropdownWidth(); PrintInfo(0, MSG_210); } @@ -1986,56 +2576,6 @@ static void ShowLanguageMenu(RECT rcExclude) DestroyMenu(menu); } -static void SetBoot(int fs, int tt, int pt) -{ - int i; - char tmp[32]; - - IGNORE_RETVAL(ComboBox_ResetContent(hBootType)); - if ((tt == TT_BIOS) && (IS_FAT(fs))) { - if (nWindowsVersion < WINDOWS_10) // The diskcopy.dll with the MS-DOS floppy image was removed in Windows 10 - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "MS-DOS"), BT_MSDOS)); - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "FreeDOS"), BT_FREEDOS)); - } - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, lmprintf(MSG_036)), BT_ISO)); - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, lmprintf(MSG_095)), BT_IMG)); - // If needed (advanced mode) also append "bare" Syslinux and other options - if ( (tt == TT_BIOS) && ((IS_FAT(fs) || (fs == FS_NTFS)) && (advanced_mode)) ) { - static_sprintf(tmp, "Syslinux %s", embedded_sl_version_str[0]); - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, tmp), BT_SYSLINUX_V4)); - static_sprintf(tmp, "Syslinux %s", embedded_sl_version_str[1]); - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, tmp), BT_SYSLINUX_V6)); - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "ReactOS"), BT_REACTOS)); - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, - "Grub " GRUB2_PACKAGE_VERSION), BT_GRUB2)); - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, - "Grub4DOS " GRUB4DOS_VERSION), BT_GRUB4DOS)); - } - if (advanced_mode) - IGNORE_RETVAL(ComboBox_SetItemData(hBootType, ComboBox_AddStringU(hBootType, "UEFI:NTFS"), BT_UEFI_NTFS)); - if ((!advanced_mode) && (selection_default >= BT_SYSLINUX_V4)) { - selection_default = BT_FREEDOS; - CheckDlgButton(hMainDialog, IDC_DISK_ID, BST_UNCHECKED); - } - for (i=0; i LARGE_FAT32_SIZE) || (force_large_fat32))) || (fs == FS_REFS) ) { - if (IsWindowEnabled(GetDlgItem(hMainDialog, IDC_QUICKFORMAT))) { - uQFChecked = IsChecked(IDC_QUICKFORMAT); - CheckDlgButton(hMainDialog, IDC_QUICKFORMAT, BST_CHECKED); - EnableWindow(GetDlgItem(hMainDialog, IDC_QUICKFORMAT), FALSE); + if (IsWindowEnabled(GetDlgItem(hMainDialog, IDC_QUICK_FORMAT))) { + uQFChecked = IsChecked(IDC_QUICK_FORMAT); + CheckDlgButton(hMainDialog, IDC_QUICK_FORMAT, BST_CHECKED); + EnableWindow(GetDlgItem(hMainDialog, IDC_QUICK_FORMAT), FALSE); } } else { - if (!IsWindowEnabled(GetDlgItem(hMainDialog, IDC_QUICKFORMAT))) { - CheckDlgButton(hMainDialog, IDC_QUICKFORMAT, uQFChecked); - EnableWindow(GetDlgItem(hMainDialog, IDC_QUICKFORMAT), TRUE); + if (!IsWindowEnabled(GetDlgItem(hMainDialog, IDC_QUICK_FORMAT))) { + CheckDlgButton(hMainDialog, IDC_QUICK_FORMAT, uQFChecked); + EnableWindow(GetDlgItem(hMainDialog, IDC_QUICK_FORMAT), TRUE); } } if (fs < 0) { @@ -2442,66 +2988,43 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA } break; } - if ((fs == FS_EXFAT) || (fs == FS_UDF) || (fs == FS_REFS) || (pt == PARTITION_STYLE_SFD)) { - if (IsWindowEnabled(hBoot)) { - // unlikely to be supported by BIOSes => don't bother - IGNORE_RETVAL(ComboBox_SetCurSel(hBootType, 0)); - uBootChecked = IsChecked(IDC_BOOT); - CheckDlgButton(hDlg, IDC_BOOT, BST_UNCHECKED); - EnableBootOptions(FALSE, TRUE); - } else if (IsChecked(IDC_BOOT)) { - uBootChecked = TRUE; - CheckDlgButton(hDlg, IDC_BOOT, BST_UNCHECKED); - } - SetMBRProps(); - break; - } - EnableAdvancedBootOptions(TRUE, TRUE); - SetBoot(fs, tt, pt); + EnableMBRBootOptions(TRUE, FALSE); SetMBRProps(); - SetToGo(); break; - case IDC_BOOT: - EnableAdvancedBootOptions(TRUE, TRUE); - if (selection_default == BT_IMG) - ToggleImage(!IsChecked(IDC_BOOT)); - SetProposedLabel(ComboBox_GetCurSel(hDeviceList)); - break; - case IDC_BOOTTYPE: - if (HIWORD(wParam) != CBN_SELCHANGE) + case IDC_BOOT_SELECTION: + bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); + if ((HIWORD(wParam) != CBN_SELCHANGE) || (bt == selection_default)) break; - selection_default = (int) ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); - EnableAdvancedBootOptions(TRUE, TRUE); - ToggleImage(!IsChecked(IDC_BOOT) || (selection_default != BT_IMG)); + selection_default = bt; + SetPartitionSchemeAndTargetSystem(FALSE); + SetFileSystemAndClusterSize(NULL); SetToGo(); SetProposedLabel(ComboBox_GetCurSel(hDeviceList)); - if (selection_default == BT_UEFI_NTFS) { - // Try to select NTFS as default - for (i=0; i 1) && (MessageBoxExU(hMainDialog, lmprintf(MSG_093), lmprintf(MSG_094), MB_OKCANCEL|MB_ICONWARNING|MB_IS_RTL, selected_langid) == IDCANCEL)) goto aborted_start; - if ((!zero_drive) && (IsChecked(IDC_BOOT)) && (SelectedDrive.SectorSize != 512) && + if ((!zero_drive) && (bt != BT_NON_BOOTABLE) && (SelectedDrive.SectorSize != 512) && (MessageBoxExU(hMainDialog, lmprintf(MSG_196, SelectedDrive.SectorSize), lmprintf(MSG_197), MB_OKCANCEL|MB_ICONWARNING|MB_IS_RTL, selected_langid) == IDCANCEL)) goto aborted_start; @@ -2625,6 +3146,16 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA SendMessage(hDlg, UM_MEDIA_CHANGE, 0, 0); EnableWindow(GetDlgItem(hDlg, IDCANCEL), TRUE); break; + case IDC_LANG: + // Show the language menu such that it doesn't overlap the button + SendMessage(hMultiToolbar, TB_GETRECT, (WPARAM)IDC_ABOUT, (LPARAM)&rc); + MapWindowPoints(hDlg, NULL, (POINT*)&rc, 2); + rc.left += cbw / 2; + ShowLanguageMenu(rc); + break; + case IDC_SETTINGS: + MyDialogBox(hMainInstance, IDD_UPDATE_POLICY, hDlg, UpdateCallback); + break; case IDC_HASH: if ((format_thid == NULL) && (image_path != NULL)) { FormatStatus = 0; @@ -2654,11 +3185,18 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA } } break; + case IDC_SAVE: + SaveVHD(); + break; default: return (INT_PTR)FALSE; } return (INT_PTR)TRUE; + case UM_UPDATE_CSM_TOOLTIP: + ShowWindow(GetDlgItem(hMainDialog, IDS_CSM_HELP_TXT), ((tt == TT_UEFI) || has_uefi_csm) ? SW_SHOW : SW_HIDE); + CreateTooltip(GetDlgItem(hMainDialog, IDS_CSM_HELP_TXT), lmprintf((tt == TT_UEFI) ? MSG_152 : MSG_151), 30000); + break; case UM_MEDIA_CHANGE: wParam = DBT_CUSTOMEVENT; // Fall through @@ -2684,8 +3222,13 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA queued_hotplug_event = FALSE; GetDevices((DWORD)ComboBox_GetItemData(hDeviceList, ComboBox_GetCurSel(hDeviceList))); user_changed_label = FALSE; - } - else { + EnableControls(TRUE); + if (ComboBox_GetCurSel(hDeviceList) < 0) { + SetPartitionSchemeAndTargetSystem(FALSE); + SetFileSystemAndClusterSize(NULL); + ShowWindow(GetDlgItem(hDlg, IDS_CSM_HELP_TXT), SW_HIDE); + } + } else { queued_hotplug_event = TRUE; } return (INT_PTR)TRUE; @@ -2706,17 +3249,16 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA // Make sure fScale is set before the first call to apply localization, so that move/resize scale appropriately hDC = GetDC(hDlg); fScale = GetDeviceCaps(hDC, LOGPIXELSX) / 96.0f; - if (hDC != NULL) - ReleaseDC(hDlg, hDC); + safe_release_dc(hDlg, hDC); apply_localization(IDD_DIALOG, hDlg); SetUpdateCheck(); - togo_mode = TRUE; // We display the ToGo controls by default and need to hide them - // Create the log window (hidden) + display_togo_option = TRUE; // We display the ToGo controls by default and need to hide them first_log_display = TRUE; log_displayed = FALSE; - hLogDlg = MyCreateDialog(hMainInstance, IDD_LOG, hDlg, (DLGPROC)LogProc); + hLogDialog = MyCreateDialog(hMainInstance, IDD_LOG, hDlg, (DLGPROC)LogCallback); InitDialog(hDlg); GetDevices(0); + EnableControls(TRUE); CheckForUpdates(FALSE); // Register MEDIA_INSERTED/MEDIA_REMOVED notifications for card readers if (SUCCEEDED(SHGetSpecialFolderLocation(0, CSIDL_DESKTOP, &pidlDesktop))) { @@ -2732,8 +3274,8 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA SetWindowPos(hMainDialog, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); SetWindowPos(hMainDialog, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); - // Set 'Start' as the selected button if it's enabled, otherwise use 'Select ISO', instead - SendMessage(hDlg, WM_NEXTDLGCTL, (WPARAM)(IsWindowEnabled(hStart) ? hStart : hSelectISO), TRUE); + // Set 'START' as the selected button if it's enabled, otherwise use 'SELECT', instead + SendMessage(hDlg, WM_NEXTDLGCTL, (WPARAM)(IsWindowEnabled(hStart) ? hStart : hSelectImage), TRUE); #if defined(ALPHA) // Add a VERY ANNOYING popup for Alpha releases, so that people don't start redistributing them @@ -2751,7 +3293,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA if (wParam == IDC_STATUS) { pDI = (DRAWITEMSTRUCT*)lParam; pDI->rcItem.top -= (int)((4.0f * fScale) - 6.0f); - pDI->rcItem.left += (int)(((pDI->itemID == SB_SECTION_MIDDLE) ? -2.0f : 4.0f) * fScale); + pDI->rcItem.left += (int)(4.0f * fScale); SetBkMode(pDI->hDC, TRANSPARENT); switch (pDI->itemID) { case SB_SECTION_LEFT: @@ -2767,25 +3309,45 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA } break; + case WM_PAINT: + hDC = BeginPaint(hDlg, &ps); + OnPaint(hDC); + EndPaint(hDlg, &ps); + break; + + case WM_CTLCOLORSTATIC: + if ((HWND)lParam != GetDlgItem(hDlg, IDS_CSM_HELP_TXT)) + return FALSE; + SetBkMode((HDC)wParam, TRANSPARENT); + CreateStaticFont((HDC)wParam, &hyperlink_font, FALSE); + SelectObject((HDC)wParam, hyperlink_font); + SetTextColor((HDC)wParam, RGB(0, 0, 125)); // DARK_BLUE + return (INT_PTR)CreateSolidBrush(GetSysColor(COLOR_BTNFACE)); + case WM_NOTIFY: switch (((LPNMHDR)lParam)->code) { - case TBN_DROPDOWN: - lpnmtb = (LPNMTOOLBAR)lParam; - - // We only care about the language button on the language toolbar - if (lpnmtb->hdr.hwndFrom == hLangToolbar - && lpnmtb->iItem == lang_button_id) { - // Get toolbar button rect and map it to actual screen pixels - SendMessage(lpnmtb->hdr.hwndFrom, TB_GETRECT, (WPARAM)lpnmtb->iItem, (LPARAM)&LangToolbarRect); - MapWindowPoints(lpnmtb->hdr.hwndFrom, NULL, (POINT*)&LangToolbarRect, 2); - - // Show the language menu such that it doesn't overlap the button - ShowLanguageMenu(LangToolbarRect); - return (INT_PTR)TBDDRET_DEFAULT; + case TTN_GETDISPINFO: + lpttt = (LPTOOLTIPTEXT)lParam; + switch (lpttt->hdr.idFrom) { + case IDC_ABOUT: + utf8_to_wchar_no_alloc(lmprintf(MSG_302), wtooltip, ARRAYSIZE(wtooltip)); + lpttt->lpszText = wtooltip; + break; + case IDC_SETTINGS: + utf8_to_wchar_no_alloc(lmprintf(MSG_301), wtooltip, ARRAYSIZE(wtooltip)); + lpttt->lpszText = wtooltip; + break; + case IDC_LANG: + utf8_to_wchar_no_alloc(lmprintf(MSG_273), wtooltip, ARRAYSIZE(wtooltip)); + lpttt->lpszText = wtooltip; + break; + case IDC_LOG: + utf8_to_wchar_no_alloc(lmprintf(MSG_303), wtooltip, ARRAYSIZE(wtooltip)); + lpttt->lpszText = wtooltip; + break; } break; } - break; case WM_DROPFILES: @@ -2802,8 +3364,8 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA if (image_path != NULL) { iso_provided = TRUE; - // Simulate ISO selection click - SendMessage(hDlg, WM_COMMAND, IDC_SELECT_ISO, 0); + // Simulate image selection click + SendMessage(hDlg, WM_COMMAND, IDC_SELECT, 0); } break; @@ -2840,7 +3402,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA } SetTaskbarProgressState(TASKBAR_NORMAL); SetTaskbarProgressValue(0, MAX_PROGRESS); - + progress_in_use = TRUE; break; case UM_PROGRESS_EXIT: @@ -2859,6 +3421,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA } SendMessage(hProgress, PBM_SETSTATE, (WPARAM)PBST_NORMAL, 0); SetTaskbarProgressState(TASKBAR_NORMAL); + progress_in_use = FALSE; break; case UM_NO_UPDATE: @@ -2909,10 +3472,6 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA format_op_in_progress = FALSE; return (INT_PTR)TRUE; - // Ensures that SetPartitionSchemeTooltip() can be called from the original thread - case UM_SET_PARTITION_SCHEME_TOOLTIP: - SetPartitionSchemeTooltip(); - break; } return (INT_PTR)FALSE; } @@ -3150,7 +3709,8 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine } // Restore user-saved settings - advanced_mode = ReadSettingBool(SETTING_ADVANCED_MODE); + advanced_mode_device = ReadSettingBool(SETTING_ADVANCED_MODE_DEVICE); + advanced_mode_format = ReadSettingBool(SETTING_ADVANCED_MODE_FORMAT); preserve_timestamps = ReadSettingBool(SETTING_PRESERVE_TIMESTAMPS); use_fake_units = !ReadSettingBool(SETTING_USE_PROPER_SIZE_UNITS); usb_debug = ReadSettingBool(SETTING_ENABLE_USB_DEBUG); @@ -3163,8 +3723,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine // Initialize the global scaling, in case we need it before we initialize the dialog hDC = GetDC(NULL); fScale = GetDeviceCaps(hDC, LOGPIXELSX) / 96.0f; - if (hDC != NULL) - ReleaseDC(NULL, hDC); + safe_release_dc(NULL, hDC); // Init localization init_localization(); @@ -3316,11 +3875,11 @@ relaunch: // Do our own event processing and process "magic" commands while(GetMessage(&msg, NULL, 0, 0)) { - // ** ***** **** ** ********** + // ** ***** **** ** ***** **** // .,ABCDEFGHIJKLMNOPQRSTUVWXYZ // Ctrl-A => Select the log data - if ( (IsWindowVisible(hLogDlg)) && (GetKeyState(VK_CONTROL) & 0x8000) && + if ( (IsWindowVisible(hLogDialog)) && (GetKeyState(VK_CONTROL) & 0x8000) && (msg.message == WM_KEYDOWN) && (msg.wParam == 'A') ) { // Might also need ES_NOHIDESEL property if you want to select when not active Edit_SetSel(hLog, 0, -1); @@ -3354,16 +3913,15 @@ relaunch: // Alt-C => Cycle USB port for currently selected device if ((msg.message == WM_SYSKEYDOWN) && (msg.wParam == 'C')) { int index = ComboBox_GetCurSel(hDeviceList); - if (index < 0) - break; - ResetDevice(index); + if (index >= 0) + ResetDevice(index); continue; } - // Alt-D => Delete the NoDriveTypeAutorun key on exit (useful if the app crashed) - // This key is used to disable Windows popup messages when an USB drive is plugged in. + // Alt-D => Delete the 'rufus_files' subdirectory if ((msg.message == WM_SYSKEYDOWN) && (msg.wParam == 'D')) { - PrintStatus(2000, MSG_255); - existing_key = FALSE; + static_sprintf(tmp_path, "%s\\%s", app_dir, FILES_DIR); + PrintStatus(2000, MSG_264, tmp_path); + SHDeleteDirectoryExU(NULL, tmp_path, FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMATION); continue; } // Alt-E => Enhanced installation mode (allow dual UEFI/BIOS mode and FAT32 for Windows) @@ -3371,7 +3929,7 @@ relaunch: allow_dual_uefi_bios = !allow_dual_uefi_bios; WriteSettingBool(SETTING_ENABLE_WIN_DUAL_EFI_BIOS, allow_dual_uefi_bios); PrintStatusTimeout(lmprintf(MSG_266), allow_dual_uefi_bios); - SetMBRForUEFI(TRUE); + SetPartitionSchemeAndTargetSystem(FALSE); continue; } // Alt-F => Toggle detection of USB HDDs @@ -3382,7 +3940,7 @@ relaunch: enable_HDDs = !enable_HDDs; PrintStatusTimeout(lmprintf(MSG_253), enable_HDDs); GetDevices(0); - CheckDlgButton(hMainDialog, IDC_ENABLE_FIXED_DISKS, enable_HDDs?BST_CHECKED:BST_UNCHECKED); + CheckDlgButton(hMainDialog, IDC_LIST_USB_HDD, enable_HDDs?BST_CHECKED:BST_UNCHECKED); continue; } // Alt-I => Toggle ISO support @@ -3394,7 +3952,7 @@ relaunch: if (image_path != NULL) { iso_provided = TRUE; dont_display_image_name = TRUE; - SendMessage(hDlg, WM_COMMAND, IDC_SELECT_ISO, 0); + SendMessage(hDlg, WM_COMMAND, IDC_SELECT, 0); } continue; } @@ -3470,11 +4028,6 @@ relaunch: GetDevices(0); continue; } - // Alt-V => Save selected device to *UNCOMPRESSED* VHD - if ((msg.message == WM_SYSKEYDOWN) && (msg.wParam == 'V')) { - SaveVHD(); - continue; - } // Alt-W => Enable VMWare disk detection if ((msg.message == WM_SYSKEYDOWN) && (msg.wParam == 'W')) { enable_vmdk = !enable_vmdk; @@ -3483,11 +4036,11 @@ relaunch: GetDevices(0); continue; } - // Alt-X => Delete the 'rufus_files' subdirectory + // Alt-X => Delete the NoDriveTypeAutorun key on exit (useful if the app crashed) + // This key is used to disable Windows popup messages when an USB drive is plugged in. if ((msg.message == WM_SYSKEYDOWN) && (msg.wParam == 'X')) { - static_sprintf(tmp_path, "%s\\%s", app_dir, FILES_DIR); - PrintStatus(2000, MSG_264, tmp_path); - SHDeleteDirectoryExU(NULL, tmp_path, FOF_SILENT | FOF_NOERRORUI | FOF_NOCONFIRMATION); + PrintStatus(2000, MSG_255); + existing_key = FALSE; continue; } // Alt Y => Force the update check to be successful @@ -3517,7 +4070,7 @@ relaunch: } else { enable_HDDs = previous_enable_HDDs; } - CheckDlgButton(hMainDialog, IDC_ENABLE_FIXED_DISKS, enable_HDDs ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hMainDialog, IDC_LIST_USB_HDD, enable_HDDs ? BST_CHECKED : BST_UNCHECKED); PrintStatusTimeout(lmprintf(MSG_287), list_non_usb_removable_drives); uprintf("%sListing of non-USB removable drives %s", (list_non_usb_removable_drives)?"CAUTION: ":"", (list_non_usb_removable_drives)?"enabled":"disabled"); @@ -3528,7 +4081,7 @@ relaunch: } // Let the system handle dialog messages (e.g. those from the tab key) - if (!IsDialogMessage(hDlg, &msg) && !IsDialogMessage(hLogDlg, &msg)) { + if (!IsDialogMessage(hDlg, &msg) && !IsDialogMessage(hLogDialog, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } diff --git a/src/rufus.h b/src/rufus.h index 9cdf4077..3b2d2c8a 100644 --- a/src/rufus.h +++ b/src/rufus.h @@ -1,6 +1,6 @@ /* * Rufus: The Reliable USB Formatting Utility - * Copyright © 2011-2017 Pete Batard + * Copyright © 2011-2018 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -152,7 +152,8 @@ enum user_message_type { UM_PROGRESS_INIT, UM_PROGRESS_EXIT, UM_NO_UPDATE, - UM_SET_PARTITION_SCHEME_TOOLTIP, + UM_UPDATE_CSM_TOOLTIP, + UM_RESIZE_BUTTONS, // Start of the WM IDs for the language menu items UM_LANGUAGE_MENU = WM_APP + 0x100 }; @@ -173,8 +174,7 @@ typedef struct { /* Status Bar sections */ #define SB_SECTION_LEFT 0 -#define SB_SECTION_MIDDLE 1 -#define SB_SECTION_RIGHT 2 +#define SB_SECTION_RIGHT 1 #define SB_TIMER_SECTION_SIZE 58.0f /* Timers used throughout the program */ @@ -218,14 +218,14 @@ enum fs_type { enum boot_type { BT_MSDOS = 0, BT_FREEDOS, - BT_ISO, - BT_IMG, + BT_IMAGE, BT_SYSLINUX_V4, // Start of indexes that only display in advanced mode BT_SYSLINUX_V6, BT_REACTOS, BT_GRUB4DOS, BT_GRUB2, BT_UEFI_NTFS, + BT_NON_BOOTABLE, BT_MAX }; @@ -236,8 +236,6 @@ enum target_type { }; // For the partition types we'll use Microsoft's PARTITION_STYLE_### constants #define PARTITION_STYLE_SFD PARTITION_STYLE_RAW -#define GETTARGETTYPE(x) (((x)>0)?(((x) >> 16) & 0xFFFF):0) -#define GETPARTTYPE(x) (((x)>0)?((x) & 0xFFFF):0); enum checksum_type { CHECKSUM_MD5 = 0, @@ -384,9 +382,9 @@ enum WindowsVersion { * Globals */ extern HINSTANCE hMainInstance; -extern HWND hMainDialog, hLogDlg, hStatus, hDeviceList, hCapacity; -extern HWND hPartitionScheme, hFileSystem, hClusterSize, hLabel, hBootType, hNBPasses, hLog; -extern HWND hInfo, hProgress, hDiskID, hStatusToolbar; +extern HWND hMainDialog, hLogDialog, hStatus, hDeviceList, hCapacity; +extern HWND hPartitionScheme, hTargetSystem, hFileSystem, hClusterSize, hLabel, hBootType, hNBPasses, hLog; +extern HWND hInfo, hProgress, hDiskID; extern float fScale; extern char szFolderPath[MAX_PATH], app_dir[MAX_PATH], temp_dir[MAX_PATH], system_dir[MAX_PATH], sysnative_dir[MAX_PATH]; extern char* image_path; @@ -395,12 +393,13 @@ extern BOOL PromptOnError; extern unsigned long syslinux_ldlinux_len[2]; extern const int nb_steps[FS_MAX]; extern BOOL use_own_c32[NB_OLD_C32], detect_fakes, iso_op_in_progress, format_op_in_progress, right_to_left_mode; -extern BOOL allow_dual_uefi_bios, togo_mode, large_drive, usb_debug; +extern BOOL allow_dual_uefi_bios, display_togo_option, large_drive, usb_debug; extern RUFUS_IMG_REPORT img_report; extern int64_t iso_blocking_status; extern uint16_t rufus_version[3], embedded_sl_version[2]; extern int nWindowsVersion; extern int nWindowsBuildNumber; +extern int fs, bt, pt, tt; extern char WindowsVersionStr[128]; extern size_t ubuffer_pos; extern char ubuffer[UBUFFER_SIZE]; @@ -430,7 +429,9 @@ extern HWND MyCreateDialog(HINSTANCE hInstance, int Dialog_ID, HWND hWndParent, extern INT_PTR MyDialogBox(HINSTANCE hInstance, int Dialog_ID, HWND hWndParent, DLGPROC lpDialogFunc); extern void CenterDialog(HWND hDlg); extern void ResizeMoveCtrl(HWND hDlg, HWND hCtrl, int dx, int dy, int dw, int dh, float scale); +extern void ResizeButtonHeight(HWND hDlg, int id); extern void CreateStatusBar(void); +extern void CreateStaticFont(HDC hDC, HFONT* hFont, BOOL underlined); extern void SetTitleBarIcon(HWND hDlg); extern BOOL CreateTaskbarList(void); extern BOOL SetTaskbarProgressState(TASKBAR_PROGRESS_FLAGS tbpFlags); @@ -442,7 +443,7 @@ extern void DestroyAllTooltips(void); extern BOOL Notification(int type, const notification_info* more_info, char* title, char* format, ...); extern int SelectionDialog(char* title, char* message, char** choices, int size); extern void ListDialog(char* title, char* message, char** items, int size); -extern SIZE GetTextSize(HWND hCtrl); +extern SIZE GetTextSize(HWND hCtrl, char* txt); extern BOOL ExtractDOS(const char* path); extern BOOL ExtractISO(const char* src_iso, const char* dest_dir, BOOL scan); extern int64_t ExtractISOFile(const char* iso, const char* iso_file, const char* dest_file, DWORD attributes); @@ -512,6 +513,7 @@ extern BYTE SearchProcess(char* HandleName, DWORD dwTimeout, BOOL bPartialMatch, extern BOOL EnablePrivileges(void); extern void FlashTaskbar(HANDLE handle); extern DWORD WaitForSingleObjectWithMessages(HANDLE hHandle, DWORD dwMilliseconds); +#define GetTextWidth(hDlg, id) GetTextSize(GetDlgItem(hDlg, id), NULL).cx DWORD WINAPI FormatThread(void* param); DWORD WINAPI SaveImageThread(void* param); @@ -541,6 +543,7 @@ typedef struct { } StrArray; extern void StrArrayCreate(StrArray* arr, uint32_t initial_size); extern int32_t StrArrayAdd(StrArray* arr, const char* str, BOOL ); +extern int32_t StrArrayFind(StrArray* arr, const char* str); extern void StrArrayClear(StrArray* arr); extern void StrArrayDestroy(StrArray* arr); #define IsStrArrayEmpty(arr) (arr.Index == 0) diff --git a/src/rufus.rc b/src/rufus.rc index ba69a8ed..0ac1ea3b 100644 --- a/src/rufus.rc +++ b/src/rufus.rc @@ -30,67 +30,72 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL // Dialog // -IDD_DIALOG DIALOGEX 12, 12, 242, 376 +IDD_DIALOG DIALOGEX 12, 12, 232, 326 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES -CAPTION "Rufus 2.18.1221" -FONT 8, "Segoe UI Symbol", 400, 0, 0x0 +CAPTION "Rufus 3.0.1222" +FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN - LTEXT "Device",IDS_DEVICE_TXT,9,6,200,8 - COMBOBOX IDC_DEVICE,8,17,226,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Partition scheme and target system type",IDS_PARTITION_TYPE_TXT,9,35,222,8 - COMBOBOX IDC_PARTITION_TYPE,8,46,226,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "File system",IDS_FILESYSTEM_TXT,9,64,222,10 - COMBOBOX IDC_FILESYSTEM,8,75,226,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Cluster size",IDS_CLUSTERSIZE_TXT,9,93,222,10 - COMBOBOX IDC_CLUSTERSIZE,8,104,226,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "New volume label",IDS_LABEL_TXT,9,121,222,10 - EDITTEXT IDC_LABEL,8,131,226,12,ES_AUTOHSCROLL - GROUPBOX "Format Options",IDS_FORMAT_OPTIONS_GRP,7,149,227,89 - PUSHBUTTON "",IDC_ADVANCED,220,148,14,10,BS_ICON - CONTROL "Check device for bad blocks",IDC_BADBLOCKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,161,112,10 - COMBOBOX IDC_NBPASSES,128,159,100,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Quick format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,173,121,10 - CONTROL "Create a bootable disk using",IDC_BOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,112,10 - COMBOBOX IDC_BOOTTYPE,128,184,75,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_SELECT_ISO,207,183,21,14,BS_ICON - CONTROL "Standard Windows installation",IDC_WINDOWS_INSTALL, - "Button",BS_AUTORADIOBUTTON | WS_GROUP,23,198,205,8 - CONTROL "Windows To Go",IDC_WINDOWS_TO_GO,"Button",BS_AUTORADIOBUTTON,23,210,205,8 - CONTROL "Create extended label and icon files",IDC_SET_ICON, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,221,216,10 - GROUPBOX "Advanced Options",IDS_ADVANCED_OPTIONS_GRP,7,233,227,55 - CONTROL "List USB Hard Drives",IDC_ENABLE_FIXED_DISKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,246,216,10 - CONTROL "Add fixes for old BIOSes (extra partition, align, etc.)",IDC_EXTRA_PARTITION, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,258,216,10 - CONTROL "Use Rufus MBR with BIOS ID",IDC_RUFUS_MBR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,271,112,10 - COMBOBOX IDC_DISK_ID,128,269,100,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,8,298,225,9 - EDITTEXT IDC_INFO,8,316,225,12,ES_CENTER | ES_READONLY | NOT WS_BORDER,WS_EX_STATICEDGE - PUSHBUTTON "About...",IDC_ABOUT,8,339,50,14 - PUSHBUTTON "Log",IDC_LOG,63,339,21,14 - PUSHBUTTON "T",IDC_TEST,90,339,12,14,NOT WS_VISIBLE - DEFPUSHBUTTON "Start",IDC_START,127,339,50,14 - PUSHBUTTON "Close",IDCANCEL,183,339,50,14 + LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP + LTEXT "Device",IDS_DEVICE_TXT,8,21,216,8 + COMBOBOX IDC_DEVICE,8,30,196,10,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "...",IDC_SAVE,210,30,14,12,BS_ICON + LTEXT "Boot selection",IDS_BOOT_SELECTION_TXT,8,43,216,8 + COMBOBOX IDC_BOOT_SELECTION,8,52,148,10,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "#",IDC_HASH,162,52,10,10,BS_ICON + PUSHBUTTON "SELECT",IDC_SELECT,180,52,45,10 + LTEXT "Image option",IDS_IMAGE_OPTION_TXT,8,65,216,8 + COMBOBOX IDC_IMAGE_OPTION,8,74,216,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Partition scheme",IDS_PARTITION_TYPE_TXT,8,87,96,8 + COMBOBOX IDC_PARTITION_TYPE,8,96,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Target system",IDS_TARGET_SYSTEM_TXT,128,87,96,8 + COMBOBOX IDC_TARGET_SYSTEM,128,96,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "?",IDS_CSM_HELP_TXT,226,97,8,15,SS_NOTIFY | NOT WS_VISIBLE + CONTROL "Show advanced drive properties",IDC_ADVANCED_DRIVE_PROPERTIES, + "Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,8,109,216,10 + CONTROL "List USB Hard Drives",IDC_LIST_USB_HDD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,119,216,10 + CONTROL "Add fixes for old BIOSes (extra partition, align, etc.)",IDC_OLD_BIOS_FIXES, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,129,216,10 + CONTROL "Use Rufus MBR with BIOS ID",IDC_RUFUS_MBR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,139,110,10 + COMBOBOX IDC_DISK_ID,128,139,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Format Options",IDS_FORMAT_OPTIONS_TXT,8,152,57,12,NOT WS_GROUP + LTEXT "Volume label",IDS_LABEL_TXT,8,167,216,8 + EDITTEXT IDC_LABEL,8,176,216,12,ES_AUTOHSCROLL + LTEXT "File system",IDS_FILE_SYSTEM_TXT,8,189,96,8 + COMBOBOX IDC_FILE_SYSTEM,8,198,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Cluster size",IDS_CLUSTER_SIZE_TXT,128,189,96,8 + COMBOBOX IDC_CLUSTER_SIZE,128,198,96,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Show advanced format options",IDC_ADVANCED_FORMAT_OPTIONS, + "Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,8,211,216,10 + CONTROL "Quick format",IDC_QUICK_FORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,221,216,10 + CONTROL "Create extended label and icon files",IDC_EXTENDED_LABEL, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,231,216,10 + CONTROL "Check device for bad blocks",IDC_BAD_BLOCKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,241,112,10 + COMBOBOX IDC_NB_PASSES,128,241,96,10,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Status",IDS_STATUS_TXT,8,254,23,9,NOT WS_GROUP + CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,8,273,216,9 + PUSHBUTTON "Multi Toolbar",IDC_ABOUT,8,294,74,10,NOT WS_VISIBLE + PUSHBUTTON "T",IDC_TEST,90,294,12,10,NOT WS_VISIBLE + DEFPUSHBUTTON "START",IDC_START,124,294,45,10 + PUSHBUTTON "CLOSE",IDCANCEL,178,294,45,10 END IDD_ABOUTBOX DIALOGEX 0, 0, 319, 237 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "About Rufus" -FONT 8, "Segoe UI Symbol", 400, 0, 0x0 +FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN ICON IDI_ICON,IDC_ABOUT_ICON,11,8,20,20 - CONTROL "",IDC_ABOUT_BLURB,"RichEdit20W",ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY,45,7,268,107 - CONTROL "",IDC_ABOUT_COPYRIGHTS,"RichEdit20W",ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_TABSTOP,46,115,267,91,WS_EX_STATICEDGE - PUSHBUTTON "License",IDC_ABOUT_LICENSE,46,215,50,14,WS_GROUP - PUSHBUTTON "Updates",IDC_ABOUT_UPDATES,100,215,50,14,NOT WS_VISIBLE | WS_GROUP - DEFPUSHBUTTON "OK",IDOK,251,215,50,14,WS_GROUP + CONTROL "",IDC_ABOUT_BLURB,"RichEdit20W",0x884,45,7,268,107 + CONTROL "",IDC_ABOUT_COPYRIGHTS,"RichEdit20W",WS_VSCROLL | WS_TABSTOP | 0x804,46,115,267,91,WS_EX_STATICEDGE + PUSHBUTTON "License",IDC_ABOUT_LICENSE,46,216,50,12,WS_GROUP + DEFPUSHBUTTON "OK",IDOK,253,216,50,12,WS_GROUP END IDD_CHECKSUM DIALOGEX 0, 0, 301, 70 -STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Checksums" -FONT 8, "Segoe UI Symbol", 400, 0, 0x0 +FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "MD5:",IDC_STATIC,9,10,18,8 EDITTEXT IDC_MD5,40,9,197,12,ES_LOWERCASE | ES_AUTOHSCROLL | ES_READONLY @@ -98,33 +103,33 @@ BEGIN EDITTEXT IDC_SHA1,40,25,197,12,ES_LOWERCASE | ES_AUTOHSCROLL | ES_READONLY LTEXT "SHA256:",IDC_STATIC,9,42,27,8 EDITTEXT IDC_SHA256,40,41,197,22,ES_MULTILINE | ES_LOWERCASE | ES_READONLY - DEFPUSHBUTTON "OK",IDOK,243,49,50,14,WS_GROUP + DEFPUSHBUTTON "OK",IDOK,243,49,50,12,WS_GROUP END -IDD_LICENSE DIALOGEX 0, 0, 335, 205 +IDD_LICENSE DIALOGEX 0, 0, 335, 213 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Rufus License" -FONT 8, "Segoe UI Symbol", 400, 0, 0x0 +FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN - DEFPUSHBUTTON "Close",IDCANCEL,278,187,50,14 + DEFPUSHBUTTON "Close",IDCANCEL,278,192,50,12 EDITTEXT IDC_LICENSE_TEXT,7,7,321,176,ES_MULTILINE | ES_READONLY | WS_VSCROLL END -IDD_LOG DIALOGEX 0, 0, 366, 376 +IDD_LOG DIALOGEX 0, 0, 366, 326 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Log" -FONT 8, "Segoe UI Symbol", 400, 0, 0x0 +FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN - EDITTEXT IDC_LOG_EDIT,0,0,366,346,ES_MULTILINE | ES_READONLY | NOT WS_BORDER | WS_VSCROLL,WS_EX_CLIENTEDGE - PUSHBUTTON "Clear Log",IDC_LOG_CLEAR,198,354,50,14 - PUSHBUTTON "Save Log",IDC_LOG_SAVE,253,354,50,14 - DEFPUSHBUTTON "Close Log",IDCANCEL,308,354,50,14 + EDITTEXT IDC_LOG_EDIT,0,0,366,296,ES_MULTILINE | ES_READONLY | NOT WS_BORDER | WS_VSCROLL,WS_EX_CLIENTEDGE + PUSHBUTTON "Clear",IDC_LOG_CLEAR,192,305,50,12 + PUSHBUTTON "Save",IDC_LOG_SAVE,249,305,50,12 + DEFPUSHBUTTON "Close",IDCANCEL,306,305,50,12 END IDD_NOTIFICATION DIALOGEX 0, 0, 263, 63 STYLE DS_SETFONT | DS_NOFAILCREATE | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME CAPTION "Rufus" -FONT 8, "Segoe UI Symbol", 400, 0, 0x0 +FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "",IDC_NOTIFICATION_LINE,0,0,263,39 LTEXT "",IDC_STATIC,0,0,263,38 @@ -132,20 +137,20 @@ BEGIN LTEXT "Message",IDC_NOTIFICATION_TEXT,35,10,219,20 DEFPUSHBUTTON "No",IDNO,206,44,50,14 PUSHBUTTON "More information",IDC_MORE_INFO,8,44,76,14,NOT WS_VISIBLE - PUSHBUTTON "Yes",IDYES,154,44,50,14,NOT WS_VISIBLE + PUSHBUTTON "Yes",IDYES,149,44,50,14,NOT WS_VISIBLE END IDD_SELECTION DIALOGEX 0, 0, 312, 71 -STYLE DS_SETFONT | DS_NOFAILCREATE | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME +STYLE DS_SETFONT | DS_FIXEDSYS | DS_NOFAILCREATE | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME CAPTION "Rufus" -FONT 8, "Segoe UI Symbol", 400, 0, 0x0 +FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "",IDC_SELECTION_LINE,0,0,312,47 LTEXT "",IDC_STATIC,0,0,312,46 ICON IDI_ICON,IDC_SELECTION_ICON,6,6,20,20,0,WS_EX_TRANSPARENT LTEXT "Message",IDC_SELECTION_TEXT,35,5,269,8 - DEFPUSHBUTTON "OK",IDOK,196,52,50,14 - PUSHBUTTON "Cancel",IDCANCEL,254,52,50,14 + DEFPUSHBUTTON "OK",IDOK,196,53,50,12 + PUSHBUTTON "Cancel",IDCANCEL,254,53,50,12 CONTROL "Choice 1",IDC_SELECTION_CHOICE1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,35,18,269,10,WS_EX_TRANSPARENT CONTROL "Choice 2",IDC_SELECTION_CHOICE2,"Button",BS_AUTORADIOBUTTON,35,31,269,10,WS_EX_TRANSPARENT CONTROL "Choice 3",IDC_SELECTION_CHOICE3,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,35,44,269,10,WS_EX_TRANSPARENT @@ -165,66 +170,66 @@ BEGIN END IDD_LIST DIALOGEX 0, 0, 312, 59 -STYLE DS_SETFONT | DS_NOFAILCREATE | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME +STYLE DS_SETFONT | DS_FIXEDSYS | DS_NOFAILCREATE | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME CAPTION "Rufus" -FONT 8, "Segoe UI Symbol", 400, 0, 0x0 +FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "",IDC_LIST_LINE,0,0,312,32 LTEXT "",IDC_STATIC,0,0,312,31 ICON IDI_ICON,IDC_LIST_ICON,6,6,20,20,0,WS_EX_TRANSPARENT LTEXT "Message",IDC_LIST_TEXT,35,5,269,8 - PUSHBUTTON "OK",IDOK,254,39,50,14 + PUSHBUTTON "OK",IDOK,254,40,50,12 LTEXT "List 1",IDC_LIST_ITEM1,35,17,269,10,SS_PATHELLIPSIS - LTEXT "List 2",IDC_LIST_ITEM2,35,28,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 3",IDC_LIST_ITEM3,35,39,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 4",IDC_LIST_ITEM4,35,50,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 5",IDC_LIST_ITEM5,35,61,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 6",IDC_LIST_ITEM6,35,72,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 7",IDC_LIST_ITEM7,35,73,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 8",IDC_LIST_ITEM8,35,84,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 9",IDC_LIST_ITEM9,35,95,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 10",IDC_LIST_ITEM10,35,106,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 11",IDC_LIST_ITEM11,35,117,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 12",IDC_LIST_ITEM12,35,128,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 13",IDC_LIST_ITEM13,35,139,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 14",IDC_LIST_ITEM14,35,150,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 15",IDC_LIST_ITEM15,35,161,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS - LTEXT "List 16",IDC_LIST_ITEMMAX,35,172,269,10,NOT WS_VISIBLE|SS_PATHELLIPSIS + LTEXT "List 2",IDC_LIST_ITEM2,35,28,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 3",IDC_LIST_ITEM3,35,39,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 4",IDC_LIST_ITEM4,35,50,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 5",IDC_LIST_ITEM5,35,61,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 6",IDC_LIST_ITEM6,35,72,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 7",IDC_LIST_ITEM7,35,73,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 8",IDC_LIST_ITEM8,35,84,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 9",IDC_LIST_ITEM9,35,95,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 10",IDC_LIST_ITEM10,35,106,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 11",IDC_LIST_ITEM11,35,117,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 12",IDC_LIST_ITEM12,35,128,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 13",IDC_LIST_ITEM13,35,139,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 14",IDC_LIST_ITEM14,35,150,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 15",IDC_LIST_ITEM15,35,161,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE + LTEXT "List 16",IDC_LIST_ITEMMAX,35,172,269,10,SS_PATHELLIPSIS | NOT WS_VISIBLE END IDD_UPDATE_POLICY DIALOGEX 0, 0, 287, 198 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Update policy and settings" -FONT 8, "Segoe UI Symbol", 400, 0, 0x0 +FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN ICON IDI_ICON,IDC_ABOUT_ICON,11,8,20,20 - DEFPUSHBUTTON "Close",IDCANCEL,221,172,50,14,WS_GROUP - CONTROL "",IDC_POLICY,"RichEdit20W",ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_TABSTOP,46,8,235,132,WS_EX_STATICEDGE + CONTROL "",IDC_POLICY,"RichEdit20W",WS_VSCROLL | WS_TABSTOP | 0x804,46,8,235,132,WS_EX_STATICEDGE GROUPBOX "Settings",IDS_UPDATE_SETTINGS_GRP,45,145,165,46 - LTEXT "Check for updates",IDS_UPDATE_FREQUENCY_TXT,51,159,76,11 - COMBOBOX IDC_UPDATE_FREQUENCY,133,155,66,12,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Include beta versions",IDS_INCLUDE_BETAS_TXT,51,174,76,11 - COMBOBOX IDC_INCLUDE_BETAS,133,172,36,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Check for updates",IDS_UPDATE_FREQUENCY_TXT,51,158,80,10 + COMBOBOX IDC_UPDATE_FREQUENCY,133,158,66,12,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Include beta versions",IDS_INCLUDE_BETAS_TXT,51,173,80,10 + COMBOBOX IDC_INCLUDE_BETAS,133,173,66,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP GROUPBOX "",IDS_CHECK_NOW_GRP,210,145,71,46 - PUSHBUTTON "Check Now",IDC_CHECK_NOW,221,154,50,15 + PUSHBUTTON "Check Now",IDC_CHECK_NOW,221,158,50,11 + DEFPUSHBUTTON "Close",IDCANCEL,221,173,50,11,WS_GROUP END IDD_NEW_VERSION DIALOGEX 0, 0, 384, 268 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Check For Updates - Rufus" -FONT 8, "Segoe UI Symbol", 400, 0, 0x0 +FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN - PUSHBUTTON "Close",IDCANCEL,167,244,50,14,WS_GROUP + PUSHBUTTON "Close",IDCANCEL,167,245,50,12,WS_GROUP CONTROL "",IDC_RELEASE_NOTES,"RichEdit20W",WS_VSCROLL | 0x804,15,77,352,88,WS_EX_STATICEDGE - DEFPUSHBUTTON "Download",IDC_DOWNLOAD,293,211,74,14,WS_GROUP - CONTROL "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,15,212,270,11 GROUPBOX "Release Notes",IDS_NEW_VERSION_NOTES_GRP,8,63,367,111 LTEXT "A newer version is available. Please download the latest version!",IDS_NEW_VERSION_AVAIL_TXT,10,32,366,8 LTEXT "[...]",IDC_YOUR_VERSION,10,8,366,8 LTEXT "[...]",IDC_LATEST_VERSION,10,19,366,8 CTEXT "Click here to go to the website",IDC_WEBSITE,10,49,366,9,SS_NOTIFY GROUPBOX "Download",IDS_NEW_VERSION_DOWNLOAD_GRP,8,177,367,58 - EDITTEXT IDC_DOWNLOAD_URL,15,191,351,13,ES_AUTOHSCROLL | ES_READONLY + EDITTEXT IDC_DOWNLOAD_URL,15,191,351,11,ES_AUTOHSCROLL | ES_READONLY + CONTROL "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,15,212,270,11 + DEFPUSHBUTTON "Download",IDC_DOWNLOAD,293,212,74,11,WS_GROUP END @@ -366,8 +371,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,18,1221,0 - PRODUCTVERSION 2,18,1221,0 + FILEVERSION 2,18,1222,0 + PRODUCTVERSION 2,18,1222,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -384,13 +389,13 @@ BEGIN BEGIN VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "2.18.1221" + VALUE "FileVersion", "2.18.1222" VALUE "InternalName", "Rufus" - VALUE "LegalCopyright", " 2011-2017 Pete Batard (GPL v3)" + VALUE "LegalCopyright", " 2011-2018 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" VALUE "OriginalFilename", "rufus.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "2.18.1221" + VALUE "ProductVersion", "2.18.1222" END END BLOCK "VarFileInfo" diff --git a/src/settings.h b/src/settings.h index 39364c87..73cebf08 100644 --- a/src/settings.h +++ b/src/settings.h @@ -1,7 +1,7 @@ /* * Rufus: The Reliable USB Formatting Utility * Settings access, through either registry or INI file - * Copyright 2015-2016 Pete Batard + * Copyright © 2015-2016 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,6 +36,8 @@ extern char* ini_file; #define SETTING_DISABLE_LGP "DisableLGP" #define SETTING_ADVANCED_MODE "AdvancedMode" +#define SETTING_ADVANCED_MODE_DEVICE "ShowAdvancedDriveProperties" +#define SETTING_ADVANCED_MODE_FORMAT "ShowAdvancedFormatOptions" #define SETTING_PRESERVE_TIMESTAMPS "PreserveTimestamps" #define SETTING_USE_PROPER_SIZE_UNITS "UseProperSizeUnits" #define SETTING_ENABLE_USB_DEBUG "EnableUsbDebug" diff --git a/src/smart.c b/src/smart.c index 7b32e328..3715792d 100644 --- a/src/smart.c +++ b/src/smart.c @@ -312,7 +312,7 @@ static int UsbCypressAtaPassthrough(HANDLE hPhysical, ATA_PASSTHROUGH_CMD* Comma } /* The various bridges we will try, in order */ -AtaPassThroughType pt[] = { +AtaPassThroughType ata_pt[] = { { SatAtaPassthrough, "SAT" }, { UsbJmicronAtaPassthrough, "JMicron" }, { UsbProlificAtaPassthrough, "Prolific" }, @@ -335,10 +335,10 @@ BOOL Identify(HANDLE hPhysical) if (idd == NULL) return FALSE; - for (i=0; iCommandSetSupport.SmartCommands) { DumpBufferHex(idd, sizeof(IDENTIFY_DEVICE_DATA)); uprintf("SMART support detected!\n"); @@ -347,9 +347,9 @@ BOOL Identify(HANDLE hPhysical) } break; } - uprintf("No joy with: %s (%s)\n", pt[i].type, SptStrerr(r)); + uprintf("No joy with: %s (%s)\n", ata_pt[i].type, SptStrerr(r)); } - if (i >= ARRAYSIZE(pt)) + if (i >= ARRAYSIZE(ata_pt)) uprintf("NO ATA FOR YOU!\n"); _mm_free(idd); diff --git a/src/stdfn.c b/src/stdfn.c index 779184dd..34611f20 100644 --- a/src/stdfn.c +++ b/src/stdfn.c @@ -370,9 +370,21 @@ int32_t StrArrayAdd(StrArray* arr, const char* str, BOOL duplicate) return arr->Index++; } +int32_t StrArrayFind(StrArray* arr, const char* str) +{ + uint32_t i; + if ((str == NULL) || (arr == NULL) || (arr->String == NULL)) + return -1; + for (i = 0; iIndex; i++) { + if (strcmp(arr->String[i], str) == 0) + return (int32_t)i; + } + return -1; +} + void StrArrayClear(StrArray* arr) { - size_t i; + uint32_t i; if ((arr == NULL) || (arr->String == NULL)) return; for (i=0; iIndex; i++) { @@ -628,19 +640,23 @@ static BOOL CALLBACK EnumFontFamExProc(const LOGFONTA *lpelfe, return TRUE; } -BOOL IsFontAvailable(const char* font_name) { +BOOL IsFontAvailable(const char* font_name) +{ + BOOL r; LOGFONTA lf = { 0 }; HDC hDC = GetDC(hMainDialog); if (font_name == NULL) { - ReleaseDC(hMainDialog, hDC); + safe_release_dc(hMainDialog, hDC); return FALSE; } lf.lfCharSet = DEFAULT_CHARSET; safe_strcpy(lf.lfFaceName, LF_FACESIZE, font_name); - return EnumFontFamiliesExA(hDC, &lf, EnumFontFamExProc, 0, 0); + r = EnumFontFamiliesExA(hDC, &lf, EnumFontFamExProc, 0, 0); + safe_release_dc(hMainDialog, hDC); + return r; } /* diff --git a/src/stdlg.c b/src/stdlg.c index 3e549b61..37c276d4 100644 --- a/src/stdlg.c +++ b/src/stdlg.c @@ -1,7 +1,7 @@ /* * Rufus: The Reliable USB Formatting Utility * Standard Dialog Routines (Browse for folder, About, etc) - * Copyright © 2011-2017 Pete Batard + * Copyright © 2011-2018 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -54,12 +54,24 @@ static WNDPROC pOrgBrowseWndproc; static const SETTEXTEX friggin_microsoft_unicode_amateurs = {ST_DEFAULT, CP_UTF8}; static BOOL notification_is_question; static const notification_info* notification_more_info; -static BOOL settings_commcheck = FALSE; static WNDPROC update_original_proc = NULL; static HWINEVENTHOOK fp_weh = NULL; static char *fp_title_str = "Microsoft Windows", *fp_button_str = "Format disk"; extern loc_cmd* selected_locale; +extern int cbw, ddw, ddbh, bh; + +static int update_settings_reposition_ids[] = { + IDC_POLICY, + IDS_UPDATE_SETTINGS_GRP, + IDS_UPDATE_FREQUENCY_TXT, + IDS_INCLUDE_BETAS_TXT, + IDC_UPDATE_FREQUENCY, + IDC_INCLUDE_BETAS, + IDS_CHECK_NOW_GRP, + IDC_CHECK_NOW, + IDCANCEL, +}; /* * https://blogs.msdn.microsoft.com/oldnewthing/20040802-00/?p=38283/ @@ -390,95 +402,26 @@ fallback: */ void CreateStatusBar(void) { - SIZE sz = {0, 0}; RECT rect; - LONG x, y, width, height; - int edge[3]; - TBBUTTON tbbStatusToolbarButtons[1]; - TBBUTTONINFO tbi; + int edge[2]; HFONT hFont; - HDC hDC; - // Create the status bar (WS_CLIPSIBLINGS since we have an overlapping button) - hStatus = CreateWindowExW(0, STATUSCLASSNAME, NULL, WS_CHILD | WS_VISIBLE | SBARS_TOOLTIPS | WS_CLIPSIBLINGS, + // Create the status bar + hStatus = CreateWindowExW(0, STATUSCLASSNAME, NULL, WS_CHILD | WS_VISIBLE | SBARS_TOOLTIPS, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hMainDialog, (HMENU)IDC_STATUS, hMainInstance, NULL); - // Keep track of the status bar height - GetClientRect(hStatus, &rect); - height = rect.bottom; - - // Set the font we'll use to display the '#' sign in the toolbar button - hFont = CreateFontA(-MulDiv(10, GetDeviceCaps(GetDC(hMainDialog), LOGPIXELSY), 72), - 0, 0, 0, FW_MEDIUM, FALSE, FALSE, FALSE, DEFAULT_CHARSET, - 0, 0, PROOF_QUALITY, 0, "Segoe UI"); - - // Find the width of our hash sign - hDC = GetDC(hMainDialog); - SelectObject(hDC, hFont); - GetTextExtentPoint32W(hDC, L"#", 1, &sz); - if (hDC != NULL) - ReleaseDC(hMainDialog, hDC); - - // Create 3 status areas + // Create 2 status areas GetClientRect(hMainDialog, &rect); - edge[1] = rect.right - (int)(SB_TIMER_SECTION_SIZE * fScale); - edge[0] = edge[1] - (8 + sz.cx + 8 + 1); // There's 8 absolute pixels on right and left of the text - edge[2] = rect.right; + edge[0] = rect.right - (int)(SB_TIMER_SECTION_SIZE * fScale); + edge[1] = rect.right; SendMessage(hStatus, SB_SETPARTS, (WPARAM)ARRAYSIZE(edge), (LPARAM)&edge); - // NB: To add an icon on the status bar, you can use something like this: - // SendMessage(hStatus, SB_SETICON, (WPARAM) 1, (LPARAM)LoadImage(GetLibraryHandle("rasdlg"), - // MAKEINTRESOURCE(50), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_DEFAULTCOLOR | LR_SHARED)); - - // This is supposed to create a toolips for a statusbar section (when SBARS_TOOLTIPS is in use)... but doesn't :( - // SendMessageLU(hStatus, SB_SETTIPTEXT, (WPARAM)2, (LPARAM)"HELLO"); - - // Compute the dimensions for the hash button - x = edge[0]; - y = rect.bottom - height + 1; - width = edge[1] - edge[0] - 1; - // How I wish there was a way to figure out how to make Windows controls look good - // at all scales, without adding all these crappy empirical adjustments... - if ((fScale > 1.20f) && (fScale <2.40f)) - height -= 1; - if (nWindowsVersion <= WINDOWS_7) - height += 1; - - // Create the status toolbar - hStatusToolbar = CreateWindowExW(WS_EX_TRANSPARENT, TOOLBARCLASSNAME, NULL, WS_CHILD | WS_TABSTOP | WS_DISABLED | - TBSTYLE_LIST | CCS_NOPARENTALIGN | CCS_NODIVIDER | CCS_NORESIZE, - x, y, width, height, hMainDialog, (HMENU)IDC_STATUS_TOOLBAR, hMainInstance, NULL); - - // Set the button properties - SendMessage(hStatusToolbar, WM_SETFONT, (WPARAM)hFont, TRUE); - SendMessage(hStatusToolbar, TB_SETEXTENDEDSTYLE, 0, (LPARAM)TBSTYLE_EX_MIXEDBUTTONS); - SendMessage(hStatusToolbar, TB_SETIMAGELIST, 0, (LPARAM)NULL); - SendMessage(hStatusToolbar, TB_SETDISABLEDIMAGELIST, 0, (LPARAM)NULL); - SendMessage(hStatusToolbar, TB_SETBITMAPSIZE, 0, MAKELONG(0,0)); - - // Set our text - memset(tbbStatusToolbarButtons, 0, sizeof(TBBUTTON)); - tbbStatusToolbarButtons[0].idCommand = IDC_HASH; - tbbStatusToolbarButtons[0].fsStyle = BTNS_SHOWTEXT; - tbbStatusToolbarButtons[0].fsState = TBSTATE_ENABLED; - tbbStatusToolbarButtons[0].iString = (INT_PTR)L"#"; - SendMessage(hStatusToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0); - SendMessage(hStatusToolbar, TB_ADDBUTTONS, (WPARAM)1, (LPARAM)&tbbStatusToolbarButtons); - - SendMessage(hStatusToolbar, TB_SETBUTTONSIZE, 0, MAKELPARAM(width, height - 1)); - // Yeah, you'd think that TB_SETBUTTONSIZE would work for the width... but you'd be wrong. - // The only working method that actually enforces the requested width is TB_SETBUTTONINFO - tbi.cbSize = sizeof(tbi); - tbi.dwMask = TBIF_SIZE | TBIF_COMMAND; - tbi.cx = (WORD)width; - tbi.idCommand = IDC_HASH; - SendMessage(hStatusToolbar, TB_SETBUTTONINFO, (WPARAM)IDC_HASH, (LPARAM)&tbi); - - // Need to resend the positioning for the toolbar to become active... One of Windows' mysteries - // Also use this opportunity to set our Z-order for tab stop - SetWindowPos(hStatusToolbar, GetDlgItem(hMainDialog, IDCANCEL), x, y, width, height, 0); - ShowWindow(hStatusToolbar, SW_SHOWNORMAL); + // Set the font + hFont = CreateFontA(-MulDiv(9, GetDeviceCaps(GetDC(hMainDialog), LOGPIXELSY), 72), + 0, 0, 0, FW_MEDIUM, FALSE, FALSE, FALSE, DEFAULT_CHARSET, + 0, 0, PROOF_QUALITY, 0, "Segoe UI"); + SendMessage(hStatus, WM_SETFONT, (WPARAM)hFont, TRUE); } /* @@ -545,6 +488,20 @@ void ResizeMoveCtrl(HWND hDlg, HWND hCtrl, int dx, int dy, int dw, int dh, float InvalidateRect(hCtrl, NULL, TRUE); } +void ResizeButtonHeight(HWND hDlg, int id) +{ + HWND hCtrl; + RECT rc; + int dy = 0; + + hCtrl = GetDlgItem(hDlg, id); + GetWindowRect(hCtrl, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + if (rc.bottom - rc.top < bh) + dy = (bh - (rc.bottom - rc.top)) / 2; + SetWindowPos(hCtrl, HWND_TOP, rc.left, rc.top - dy, rc.right - rc.left, bh, 0); +} + /* * License callback */ @@ -557,6 +514,7 @@ INT_PTR CALLBACK LicenseCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM hLicense = GetDlgItem(hDlg, IDC_LICENSE_TEXT); apply_localization(IDD_LICENSE, hDlg); CenterDialog(hDlg); + ResizeButtonHeight(hDlg, IDCANCEL); // Suppress any inherited RTL flags style = GetWindowLong(hLicense, GWL_EXSTYLE); style &= ~(WS_EX_RTLREADING | WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR); @@ -587,10 +545,10 @@ INT_PTR CALLBACK AboutCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP const int edit_id[2] = {IDC_ABOUT_BLURB, IDC_ABOUT_COPYRIGHTS}; char about_blurb[2048]; const char* edit_text[2] = {about_blurb, additional_copyrights}; - HWND hEdit[2]; + HWND hEdit[2], hCtrl; TEXTRANGEW tr; ENLINK* enl; - RECT rect; + RECT rc; REQRESIZE* rsz; wchar_t wUrl[256]; static BOOL resized_already = TRUE; @@ -602,11 +560,19 @@ INT_PTR CALLBACK AboutCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP apply_localization(IDD_ABOUTBOX, hDlg); SetTitleBarIcon(hDlg); CenterDialog(hDlg); - if (settings_commcheck) - ShowWindow(GetDlgItem(hDlg, IDC_ABOUT_UPDATES), SW_SHOW); + // Resize the 'License' button + hCtrl = GetDlgItem(hDlg, IDC_ABOUT_LICENSE); + GetWindowRect(hCtrl, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + dy = 0; + if (rc.bottom - rc.top < bh) + dy = (bh - (rc.bottom - rc.top)) / 2; + SetWindowPos(hCtrl, NULL, rc.left, rc.top - dy, + max(rc.right - rc.left, GetTextSize(hCtrl, NULL).cx + cbw), bh, SWP_NOZORDER); + ResizeButtonHeight(hDlg, IDOK); static_sprintf(about_blurb, about_blurb_format, lmprintf(MSG_174|MSG_RTF), lmprintf(MSG_175|MSG_RTF, rufus_version[0], rufus_version[1], rufus_version[2]), - right_to_left_mode?"Akeo \\\\ Pete Batard 2011-2017 © Copyright":"Copyright © 2011-2017 Pete Batard / Akeo", + right_to_left_mode?"Akeo \\\\ Pete Batard 2011-2018 © Copyright":"Copyright © 2011-2018 Pete Batard / Akeo", lmprintf(MSG_176|MSG_RTF), lmprintf(MSG_177|MSG_RTF), lmprintf(MSG_178|MSG_RTF)); for (i=0; irc.bottom - rsz->rc.top; ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, edit_id[0]), 0, 0, 0, -dy, 1.0f); @@ -660,9 +626,6 @@ INT_PTR CALLBACK AboutCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM lP case IDC_ABOUT_LICENSE: MyDialogBox(hMainInstance, IDD_LICENSE, hDlg, LicenseCallback); break; - case IDC_ABOUT_UPDATES: - MyDialogBox(hMainInstance, IDD_UPDATE_POLICY, hDlg, UpdateCallback); - break; } break; } @@ -692,6 +655,8 @@ INT_PTR CALLBACK NotificationCallback(HWND hDlg, UINT message, WPARAM wParam, LP // To use the system message font NONCLIENTMETRICS ncm; HFONT hDlgFont; + HWND hCtrl; + RECT rc; switch (message) { case WM_INITDIALOG: @@ -710,6 +675,11 @@ INT_PTR CALLBACK NotificationCallback(HWND hDlg, UINT message, WPARAM wParam, LP SendMessage(GetDlgItem(hDlg, IDC_MORE_INFO), WM_SETFONT, (WPARAM)hDlgFont, MAKELPARAM(TRUE, 0)); SendMessage(GetDlgItem(hDlg, IDYES), WM_SETFONT, (WPARAM)hDlgFont, MAKELPARAM(TRUE, 0)); SendMessage(GetDlgItem(hDlg, IDNO), WM_SETFONT, (WPARAM)hDlgFont, MAKELPARAM(TRUE, 0)); + if (bh != 0) { + ResizeButtonHeight(hDlg, IDC_MORE_INFO); + ResizeButtonHeight(hDlg, IDYES); + ResizeButtonHeight(hDlg, IDNO); + } apply_localization(IDD_NOTIFICATION, hDlg); background_brush = CreateSolidBrush(GetSysColor(COLOR_WINDOW)); @@ -731,7 +701,13 @@ INT_PTR CALLBACK NotificationCallback(HWND hDlg, UINT message, WPARAM wParam, LP ShowWindow(GetDlgItem(hDlg, IDYES), SW_SHOW); } if ((notification_more_info != NULL) && (notification_more_info->callback != NULL)) { - ShowWindow(GetDlgItem(hDlg, IDC_MORE_INFO), SW_SHOW); + hCtrl = GetDlgItem(hDlg, IDC_MORE_INFO); + // Resize the 'More information' button + GetWindowRect(hCtrl, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + SetWindowPos(hCtrl, NULL, rc.left, rc.top, + max(rc.right - rc.left, GetTextSize(hCtrl, NULL).cx + cbw), rc.bottom - rc.top, SWP_NOZORDER); + ShowWindow(hCtrl, SW_SHOW); } // Set the control text if (szMessageText != NULL) { @@ -844,16 +820,8 @@ INT_PTR CALLBACK SelectionCallback(HWND hDlg, UINT message, WPARAM wParam, LPARA nDialogItems, IDC_SELECTION_CHOICEMAX - IDC_SELECTION_CHOICE1); nDialogItems = IDC_SELECTION_CHOICEMAX - IDC_SELECTION_CHOICE1; } - // TODO: This shouldn't be needed when using DS_SHELLFONT // Get the system message box font. See http://stackoverflow.com/a/6057761 ncm.cbSize = sizeof(ncm); - // If we're compiling with the Vista SDK or later, the NONCLIENTMETRICS struct - // will be the wrong size for previous versions, so we need to adjust it. -#if defined(_MSC_VER) && (_MSC_VER >= 1500) && (_WIN32_WINNT >= _WIN32_WINNT_VISTA) - // In versions of Windows prior to Vista, the iPaddedBorderWidth member - // is not present, so we need to subtract its size from cbSize. - ncm.cbSize -= sizeof(ncm.iPaddedBorderWidth); -#endif SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize, &ncm, 0); hDlgFont = CreateFontIndirect(&(ncm.lfMessageFont)); // Set the dialog to use the system message box font @@ -886,8 +854,7 @@ INT_PTR CALLBACK SelectionCallback(HWND hDlg, UINT message, WPARAM wParam, LPARA dh = rect.bottom - rect.top; DrawTextU(hDC, szMessageText, -1, &rect, DT_CALCRECT | DT_WORDBREAK); dh = rect.bottom - rect.top - dh; - if (hDC != NULL) - ReleaseDC(hCtrl, hDC); + safe_release_dc(hCtrl, hDC); ResizeMoveCtrl(hDlg, hCtrl, 0, 0, 0, dh, 1.0f); for (i = 0; i < nDialogItems; i++) ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDC_SELECTION_CHOICE1 + i), 0, dh, 0, 0, 1.0f); @@ -901,6 +868,8 @@ INT_PTR CALLBACK SelectionCallback(HWND hDlg, UINT message, WPARAM wParam, LPARA ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDC_SELECTION_LINE), 0, dh, 0, 0, 1.0f); ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDOK), 0, dh, 0, 0, 1.0f); ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDCANCEL), 0, dh, 0, 0, 1.0f); + ResizeButtonHeight(hDlg, IDOK); + ResizeButtonHeight(hDlg, IDCANCEL); // Set the radio selection Button_SetCheck(GetDlgItem(hDlg, IDC_SELECTION_CHOICE1), BST_CHECKED); @@ -984,16 +953,8 @@ INT_PTR CALLBACK ListCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM lPa nDialogItems, IDC_LIST_ITEMMAX - IDC_LIST_ITEM1); nDialogItems = IDC_LIST_ITEMMAX - IDC_LIST_ITEM1; } - // TODO: This shouldn't be needed when using DS_SHELLFONT // Get the system message box font. See http://stackoverflow.com/a/6057761 ncm.cbSize = sizeof(ncm); - // If we're compiling with the Vista SDK or later, the NONCLIENTMETRICS struct - // will be the wrong size for previous versions, so we need to adjust it. -#if defined(_MSC_VER) && (_MSC_VER >= 1500) && (_WIN32_WINNT >= _WIN32_WINNT_VISTA) - // In versions of Windows prior to Vista, the iPaddedBorderWidth member - // is not present, so we need to subtract its size from cbSize. - ncm.cbSize -= sizeof(ncm.iPaddedBorderWidth); -#endif SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize, &ncm, 0); hDlgFont = CreateFontIndirect(&(ncm.lfMessageFont)); // Set the dialog to use the system message box font @@ -1026,8 +987,7 @@ INT_PTR CALLBACK ListCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM lPa dh = rect.bottom - rect.top; DrawTextU(hDC, szMessageText, -1, &rect, DT_CALCRECT | DT_WORDBREAK); dh = rect.bottom - rect.top - dh; - if (hDC != NULL) - ReleaseDC(hCtrl, hDC); + safe_release_dc(hCtrl, hDC); ResizeMoveCtrl(hDlg, hCtrl, 0, 0, 0, dh, 1.0f); for (i = 0; i < nDialogItems; i++) ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDC_LIST_ITEM1 + i), 0, dh, 0, 0, 1.0f); @@ -1041,6 +1001,8 @@ INT_PTR CALLBACK ListCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM lPa ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDC_LIST_LINE), 0, dh, 0, 0, 1.0f); ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDOK), 0, dh, 0, 0, 1.0f); ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDCANCEL), 0, dh, 0, 0, 1.0f); + ResizeButtonHeight(hDlg, IDOK); + ResizeButtonHeight(hDlg, IDCANCEL); return (INT_PTR)TRUE; case WM_CTLCOLORSTATIC: // Change the background colour for static text and icon @@ -1251,8 +1213,7 @@ LONG GetEntryWidth(HWND hDropDown, const char *entry) if (hFont != NULL) SelectObject(hDC, hDefFont); - if (hDC != NULL) - ReleaseDC(hDropDown, hDC); + safe_release_dc(hDropDown, hDC); return size.cx; } @@ -1289,12 +1250,88 @@ BOOL SetTaskbarProgressValue(ULONGLONG ullCompleted, ULONGLONG ullTotal) return !FAILED(ptbl->lpVtbl->SetProgressValue(ptbl, hMainDialog, ullCompleted, ullTotal)); } +static void Reposition(HWND hDlg, int id, int dx, int dw) +{ + HWND hCtrl; + RECT rc; + + hCtrl = GetDlgItem(hDlg, id); + GetWindowRect(hCtrl, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + SetWindowPos(hCtrl, HWND_TOP, rc.left + dx, rc.top, rc.right - rc.left + dw, rc.bottom - rc.top, 0); +} + +static void PositionControls(HWND hDlg) +{ + RECT rc; + HWND hCtrl; + int i, ow, dw; // original width, delta + + // Get the original size of the control + GetWindowRect(GetDlgItem(hDlg, IDS_UPDATE_FREQUENCY_TXT), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + ow = rc.right - rc.left; + dw = GetTextWidth(hDlg, IDS_UPDATE_FREQUENCY_TXT) - ow; + dw = max(dw, GetTextWidth(hDlg, IDS_INCLUDE_BETAS_TXT) - ow); + if (dw > 0) { + GetWindowRect(hDlg, &rc); + SetWindowPos(hDlg, NULL, -1, -1, rc.right - rc.left + dw, rc.bottom - rc.top, SWP_NOMOVE | SWP_NOZORDER); + for (i = 0; i < ARRAYSIZE(update_settings_reposition_ids); i++) + Reposition(hDlg, update_settings_reposition_ids[i], (i < 4) ? 0 : dw, (i >= 4) ? 0 : dw); + } + + hCtrl = GetDlgItem(hDlg, IDC_UPDATE_FREQUENCY); + GetWindowRect(hCtrl, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + ow = rc.right - rc.left; + + dw = GetTextSize(hCtrl, lmprintf(MSG_013)).cx; + dw = max(dw, GetTextSize(hCtrl, lmprintf(MSG_030, lmprintf(MSG_014))).cx); + dw = max(dw, GetTextSize(hCtrl, lmprintf(MSG_015)).cx); + dw = max(dw, GetTextSize(hCtrl, lmprintf(MSG_016)).cx); + dw = max(dw, GetTextSize(hCtrl, lmprintf(MSG_008)).cx); + dw = max(dw, GetTextSize(hCtrl, lmprintf(MSG_009)).cx); + dw -= ow - ddw; + if (dw > 0) { + GetWindowRect(hDlg, &rc); + SetWindowPos(hDlg, NULL, -1, -1, rc.right - rc.left + dw, rc.bottom - rc.top, SWP_NOMOVE | SWP_NOZORDER); + for (i = 0; i < ARRAYSIZE(update_settings_reposition_ids); i++) { + if ((i >= 2) && (i <= 3)) + continue; + Reposition(hDlg, update_settings_reposition_ids[i], (i < 6) ? 0 : dw, (i >= 6) ? 0 : dw); + } + } + + GetWindowRect(GetDlgItem(hDlg, IDC_CHECK_NOW), &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + ow = rc.right - rc.left; + dw = GetTextWidth(hDlg, IDC_CHECK_NOW) - ow + cbw; + dw = max(dw, GetTextWidth(hDlg, IDCANCEL) - ow + cbw); + if (dw > 0) { + GetWindowRect(hDlg, &rc); + SetWindowPos(hDlg, NULL, -1, -1, rc.right - rc.left + dw, rc.bottom - rc.top, SWP_NOMOVE | SWP_NOZORDER); + for (i = 0; i < ARRAYSIZE(update_settings_reposition_ids); i++) { + if ((i >= 1) && (i <= 5)) + continue; + Reposition(hDlg, update_settings_reposition_ids[i], 0, dw); + } + } + hCtrl = GetDlgItem(hDlg, IDC_CHECK_NOW); + GetWindowRect(hCtrl, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + SetWindowPos(hCtrl, HWND_TOP, rc.left, rc.top, rc.right - rc.left, ddbh, 0); + hCtrl = GetDlgItem(hDlg, IDCANCEL); + GetWindowRect(hCtrl, &rc); + MapWindowPoints(NULL, hDlg, (POINT*)&rc, 2); + SetWindowPos(hCtrl, HWND_TOP, rc.left, rc.top, rc.right - rc.left, ddbh, 0); +} + /* * Update policy and settings dialog callback */ INT_PTR CALLBACK UpdateCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { - int dy; + int i, dy; RECT rect; REQRESIZE* rsz; HWND hPolicy; @@ -1308,6 +1345,7 @@ INT_PTR CALLBACK UpdateCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM l resized_already = FALSE; hUpdatesDlg = hDlg; apply_localization(IDD_UPDATE_POLICY, hDlg); + PositionControls(hDlg); SetTitleBarIcon(hDlg); CenterDialog(hDlg); hFrequency = GetDlgItem(hDlg, IDC_UPDATE_FREQUENCY); @@ -1362,14 +1400,8 @@ INT_PTR CALLBACK UpdateCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM l dy -= rsz->rc.bottom - rsz->rc.top + 6; // add the border ResizeMoveCtrl(hDlg, hDlg, 0, 0, 0, -dy, 1.0f); ResizeMoveCtrl(hDlg, hPolicy, 0, 0, 0, -dy, 1.0f); - ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDS_UPDATE_SETTINGS_GRP), 0, -dy, 0, 0, 1.0f); - ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDS_UPDATE_FREQUENCY_TXT), 0, -dy, 0, 0, 1.0f); - ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDC_UPDATE_FREQUENCY), 0, -dy, 0, 0, 1.0f); - ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDS_INCLUDE_BETAS_TXT), 0, -dy, 0, 0, 1.0f); - ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDC_INCLUDE_BETAS), 0, -dy, 0, 0, 1.0f); - ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDS_CHECK_NOW_GRP), 0, -dy, 0, 0, 1.0f); - ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDC_CHECK_NOW), 0, -dy, 0, 0, 1.0f); - ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, IDCANCEL), 0, -dy, 0, 0, 1.0f); + for (i = 1; i < ARRAYSIZE(update_settings_reposition_ids); i++) + ResizeMoveCtrl(hDlg, GetDlgItem(hDlg, update_settings_reposition_ids[i]), 0, -dy, 0, 0, 1.0f); } break; case WM_COMMAND: @@ -1416,7 +1448,6 @@ BOOL SetUpdateCheck(void) WriteSetting64(SETTING_COMM_CHECK, commcheck); if (ReadSetting64(SETTING_COMM_CHECK) != commcheck) return FALSE; - settings_commcheck = TRUE; // If the update interval is not set, this is the first time we run so prompt the user if (ReadSetting32(SETTING_UPDATE_INTERVAL) == 0) { @@ -1448,28 +1479,29 @@ BOOL SetUpdateCheck(void) return TRUE; } -static void CreateStaticFont(HDC dc, HFONT* hyperlink_font) { +void CreateStaticFont(HDC hDC, HFONT* hFont, BOOL underlined) +{ TEXTMETRIC tm; LOGFONT lf; - if (*hyperlink_font != NULL) + if (*hFont != NULL) return; - GetTextMetrics(dc, &tm); + GetTextMetrics(hDC, &tm); lf.lfHeight = tm.tmHeight; lf.lfWidth = 0; lf.lfEscapement = 0; lf.lfOrientation = 0; lf.lfWeight = tm.tmWeight; lf.lfItalic = tm.tmItalic; - lf.lfUnderline = TRUE; + lf.lfUnderline = underlined; lf.lfStrikeOut = tm.tmStruckOut; lf.lfCharSet = tm.tmCharSet; lf.lfOutPrecision = OUT_DEFAULT_PRECIS; lf.lfClipPrecision = CLIP_DEFAULT_PRECIS; lf.lfQuality = DEFAULT_QUALITY; lf.lfPitchAndFamily = tm.tmPitchAndFamily; - GetTextFace(dc, LF_FACESIZE, lf.lfFaceName); - *hyperlink_font = CreateFontIndirect(&lf); + GetTextFace(hDC, LF_FACESIZE, lf.lfFaceName); + *hFont = CreateFontIndirect(&lf); } /* @@ -1498,11 +1530,11 @@ INT_PTR CALLBACK NewVersionCallback(HWND hDlg, UINT message, WPARAM wParam, LPAR char cmdline[] = APPLICATION_NAME " -w 150"; static char* filepath = NULL; static int download_status = 0; + static HFONT hyperlink_font = NULL; LONG i; HWND hNotes; STARTUPINFOA si; PROCESS_INFORMATION pi; - HFONT hyperlink_font = NULL; EXT_DECL(dl_ext, NULL, __VA_GROUP__("*.exe"), __VA_GROUP__(lmprintf(MSG_037))); switch (message) { @@ -1526,13 +1558,14 @@ INT_PTR CALLBACK NewVersionCallback(HWND hDlg, UINT message, WPARAM wParam, LPAR SendMessage(GetDlgItem(hDlg, IDC_PROGRESS), PBM_SETRANGE, 0, (MAX_PROGRESS<<16) & 0xFFFF0000); if (update.download_url == NULL) EnableWindow(GetDlgItem(hDlg, IDC_DOWNLOAD), FALSE); + ResizeButtonHeight(hDlg, IDCANCEL); break; case WM_CTLCOLORSTATIC: if ((HWND)lParam != GetDlgItem(hDlg, IDC_WEBSITE)) return FALSE; // Change the font for the hyperlink SetBkMode((HDC)wParam, TRANSPARENT); - CreateStaticFont((HDC)wParam, &hyperlink_font); + CreateStaticFont((HDC)wParam, &hyperlink_font, TRUE); SelectObject((HDC)wParam, hyperlink_font); SetTextColor((HDC)wParam, RGB(0,0,125)); // DARK_BLUE return (INT_PTR)CreateSolidBrush(GetSysColor(COLOR_BTNFACE)); @@ -1657,7 +1690,7 @@ void SetTitleBarIcon(HWND hDlg) } // Return the onscreen size of the text displayed by a control -SIZE GetTextSize(HWND hCtrl) +SIZE GetTextSize(HWND hCtrl, char* txt) { SIZE sz = {0, 0}; HDC hDC; @@ -1673,18 +1706,23 @@ SIZE GetTextSize(HWND hCtrl) if (hFont == NULL) goto out; SelectObject(hDC, hFont); - len = GetWindowTextLengthW(hCtrl); - if (len <= 0) - goto out; - wstr = calloc(len + 1, sizeof(wchar_t)); - if (wstr == NULL) - goto out; - if (GetWindowTextW(hCtrl, wstr, len + 1) > 0) - GetTextExtentPoint32W(hDC, wstr, len, &sz); + if (txt == NULL) { + len = GetWindowTextLengthW(hCtrl); + if (len <= 0) + goto out; + wstr = calloc(len + 1, sizeof(wchar_t)); + if (wstr == NULL) + goto out; + if (GetWindowTextW(hCtrl, wstr, len + 1) > 0) + GetTextExtentPoint32W(hDC, wstr, len, &sz); + } else { + wstr = utf8_to_wchar(txt); + if (wstr != NULL) + GetTextExtentPoint32W(hDC, wstr, (int)wcslen(wstr), &sz); + } out: safe_free(wstr); - if (hDC != NULL) - ReleaseDC(hCtrl, hDC); + safe_release_dc(hCtrl, hDC); return sz; } @@ -1692,7 +1730,6 @@ out: * The following is used to work around dialog template limitations when switching from LTR to RTL * or switching the font. This avoids having to multiply similar templates in the RC. * TODO: Can we use http://stackoverflow.com/questions/6057239/which-font-is-the-default-for-mfc-dialog-controls? - * TODO: We are supposed to use Segoe with font size 9 in Vista or later */ // Produce a dialog template from our RC, and update its RTL and Font settings dynamically diff --git a/src/syslinux.c b/src/syslinux.c index 8cdcb598..47c8bd34 100644 --- a/src/syslinux.c +++ b/src/syslinux.c @@ -2,7 +2,7 @@ * * Copyright 2003 Lars Munch Christensen - All Rights Reserved * Copyright 1998-2008 H. Peter Anvin - All Rights Reserved - * Copyright 2012-2016 Pete Batard + * Copyright 2012-2018 Pete Batard * * Based on the Linux installer program for SYSLINUX by H. Peter Anvin * @@ -106,16 +106,15 @@ BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) const char* mboot_c32 = "mboot.c32"; char path[MAX_PATH], tmp[64]; const char *errmsg; - struct libfat_filesystem *fs; + struct libfat_filesystem *lf_fs; libfat_sector_t s, *secp; libfat_sector_t *sectors = NULL; int ldlinux_sectors; uint32_t ldlinux_cluster; int i, nsectors, sl_fs_stype; - int bt = (int)ComboBox_GetItemData(hBootType, ComboBox_GetCurSel(hBootType)); - BOOL use_v5 = (bt == BT_SYSLINUX_V6) || ((bt == BT_ISO) && (SL_MAJOR(img_report.sl_version) >= 5)); + BOOL use_v5 = (bt == BT_SYSLINUX_V6) || ((bt == BT_IMAGE) && (SL_MAJOR(img_report.sl_version) >= 5)); - PrintInfoDebug(0, MSG_234, (bt == BT_ISO)?img_report.sl_version_str:embedded_sl_version_str[use_v5?1:0]); + PrintInfoDebug(0, MSG_234, (bt == BT_IMAGE)?img_report.sl_version_str:embedded_sl_version_str[use_v5?1:0]); /* 4K sector size workaround */ SECTOR_SHIFT = 0; @@ -219,7 +218,7 @@ BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) } uprintf("Successfully wrote '%s'", &path[3]); - if (bt != BT_ISO) + if (bt != BT_IMAGE) UpdateProgress(OP_DOS, -1.0f); /* Now flush the media */ @@ -266,21 +265,21 @@ BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) case FS_FAT16: case FS_FAT32: case FS_EXFAT: - fs = libfat_open(libfat_readfile, (intptr_t) d_handle); - if (fs == NULL) { + lf_fs = libfat_open(libfat_readfile, (intptr_t) d_handle); + if (lf_fs == NULL) { uprintf("Syslinux FAT access error"); goto out; } - ldlinux_cluster = libfat_searchdir(fs, 0, "LDLINUX SYS", NULL); + ldlinux_cluster = libfat_searchdir(lf_fs, 0, "LDLINUX SYS", NULL); secp = sectors; nsectors = 0; - s = libfat_clustertosector(fs, ldlinux_cluster); + s = libfat_clustertosector(lf_fs, ldlinux_cluster); while (s && nsectors < ldlinux_sectors) { *secp++ = s; nsectors++; - s = libfat_nextsector(fs, s); + s = libfat_nextsector(lf_fs, s); } - libfat_close(fs); + libfat_close(lf_fs); break; default: uprintf("Unsupported Syslinux filesystem"); @@ -380,7 +379,7 @@ BOOL InstallSyslinux(DWORD drive_index, char drive_letter, int fs_type) fclose(fd); } - if (bt != BT_ISO) + if (bt != BT_IMAGE) UpdateProgress(OP_DOS, -1.0f); r = TRUE; diff --git a/src/ui.h b/src/ui.h new file mode 100644 index 00000000..179b927b --- /dev/null +++ b/src/ui.h @@ -0,0 +1,183 @@ +/* + * Rufus: The Reliable USB Formatting Utility + * UI element lists + * Copyright © 2018 Pete Batard + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include "resource.h" + +#pragma once + +static int image_option_move_ids[] = { + IDS_PARTITION_TYPE_TXT, + IDC_PARTITION_TYPE, + IDS_TARGET_SYSTEM_TXT, + IDC_TARGET_SYSTEM, + IDS_CSM_HELP_TXT, + IDC_ADVANCED_DEVICE_TOOLBAR, + IDC_LIST_USB_HDD, + IDC_OLD_BIOS_FIXES, + IDC_RUFUS_MBR, + IDC_DISK_ID, + IDS_FORMAT_OPTIONS_TXT, + IDS_LABEL_TXT, + IDC_LABEL, + IDS_FILE_SYSTEM_TXT, + IDC_FILE_SYSTEM, + IDS_CLUSTER_SIZE_TXT, + IDC_CLUSTER_SIZE, + IDC_ADVANCED_FORMAT_TOOLBAR, + IDC_QUICK_FORMAT, + IDC_BAD_BLOCKS, + IDC_NB_PASSES, + IDC_EXTENDED_LABEL, + IDS_STATUS_TXT, + IDC_PROGRESS, + IDC_ABOUT, + IDC_LOG, + IDC_MULTI_TOOLBAR, + IDC_TEST, + IDC_START, + IDCANCEL, + IDC_STATUS, + IDC_STATUS_TOOLBAR, +}; + +static int image_option_toggle_ids[] = { + IDS_IMAGE_OPTION_TXT, + IDC_IMAGE_OPTION, +}; + +static int advanced_device_move_ids[] = { + IDC_LIST_USB_HDD, + IDC_OLD_BIOS_FIXES, + IDC_RUFUS_MBR, + IDS_FORMAT_OPTIONS_TXT, + IDS_LABEL_TXT, + IDC_LABEL, + IDS_FILE_SYSTEM_TXT, + IDC_FILE_SYSTEM, + IDS_CLUSTER_SIZE_TXT, + IDC_CLUSTER_SIZE, + IDC_ADVANCED_FORMAT_TOOLBAR, + IDC_QUICK_FORMAT, + IDC_BAD_BLOCKS, + IDC_NB_PASSES, + IDC_EXTENDED_LABEL, + IDS_STATUS_TXT, + IDC_PROGRESS, + IDC_ABOUT, + IDC_LOG, + IDC_MULTI_TOOLBAR, + IDC_TEST, + IDC_START, + IDCANCEL, + IDC_STATUS, + IDC_STATUS_TOOLBAR, +}; + +static int advanced_device_toggle_ids[] = { + IDC_SAVE, + IDC_LIST_USB_HDD, + IDC_OLD_BIOS_FIXES, + IDC_RUFUS_MBR, + IDC_DISK_ID, +}; + +static int advanced_format_move_ids[] = { + IDS_STATUS_TXT, + IDC_PROGRESS, + IDC_ABOUT, + IDC_LOG, + IDC_MULTI_TOOLBAR, + IDC_TEST, + IDC_START, + IDCANCEL, + IDC_STATUS, + IDC_STATUS_TOOLBAR, +}; + +static int advanced_format_toggle_ids[] = { + IDC_QUICK_FORMAT, + IDC_BAD_BLOCKS, + IDC_NB_PASSES, + IDC_EXTENDED_LABEL, +}; + +static int main_button_ids[] = { + IDC_SELECT, + IDC_START, + IDCANCEL, +}; + +static int full_width_controls[] = { + IDS_DEVICE_TXT, + IDS_BOOT_SELECTION_TXT, + IDS_IMAGE_OPTION_TXT, + IDC_IMAGE_OPTION, + IDS_LABEL_TXT, + IDC_LABEL, + IDC_ADVANCED_DRIVE_PROPERTIES, + IDC_LIST_USB_HDD, + IDC_OLD_BIOS_FIXES, + IDC_ADVANCED_FORMAT_OPTIONS, + IDC_QUICK_FORMAT, + IDC_EXTENDED_LABEL, + IDC_PROGRESS, +}; + +static int full_width_checkboxes[] = { + IDC_LIST_USB_HDD, + IDC_OLD_BIOS_FIXES, + IDC_QUICK_FORMAT, + IDC_EXTENDED_LABEL, +}; + +static int half_width_ids[] = { + IDC_BAD_BLOCKS, + IDC_RUFUS_MBR, + IDS_PARTITION_TYPE_TXT, + IDC_PARTITION_TYPE, + IDC_FILE_SYSTEM, + IDS_TARGET_SYSTEM_TXT, + IDC_TARGET_SYSTEM, + IDC_DISK_ID, + IDS_CLUSTER_SIZE_TXT, + IDC_CLUSTER_SIZE, + IDC_NB_PASSES, +}; + +static int adjust_dpi_ids[][5] = { + {IDS_DEVICE_TXT, IDC_DEVICE, IDC_SAVE, 0, 0}, + {IDS_BOOT_SELECTION_TXT, IDC_BOOT_SELECTION, IDC_HASH, IDC_SELECT, 0}, + {IDS_IMAGE_OPTION_TXT, IDC_IMAGE_OPTION, 0, 0, 0}, + {IDS_PARTITION_TYPE_TXT, IDC_PARTITION_TYPE, IDS_TARGET_SYSTEM_TXT, IDC_TARGET_SYSTEM, IDS_CSM_HELP_TXT}, + {IDC_ADVANCED_DEVICE_TOOLBAR, 0, 0, 0, 0}, + {IDC_LIST_USB_HDD, 0, 0, 0, 0 }, + {IDC_OLD_BIOS_FIXES, 0, 0, 0, 0}, + {IDC_RUFUS_MBR, IDC_DISK_ID, 0, 0, 0}, + {IDS_FORMAT_OPTIONS_TXT, 0, 0, 0, 0}, + {IDS_LABEL_TXT, IDC_LABEL, 0, 0, 0}, + {IDS_FILE_SYSTEM_TXT, IDC_FILE_SYSTEM, IDS_CLUSTER_SIZE_TXT, IDC_CLUSTER_SIZE, 0}, + {IDC_ADVANCED_FORMAT_TOOLBAR, 0, 0, 0, 0}, + {IDC_QUICK_FORMAT, 0, 0, 0, 0}, + {IDC_EXTENDED_LABEL, 0, 0, 0, 0}, + {IDC_BAD_BLOCKS, IDC_NB_PASSES, 0, 0, 0}, + {IDS_STATUS_TXT, 0, 0, 0, 0}, + {IDC_PROGRESS, 0, 0, 0, 0 }, + {IDC_MULTI_TOOLBAR, IDC_TEST, IDC_START, IDCANCEL, 0} +};