[loc] use a single rufus.loc as translator base

* Remove the need to maintain a new_translation.loc
* Add a sed invocation to remove comments and unwanted stuff
  to generate a final embedded.loc
* Note: sed is only invoked for MinGW.
  MS compilers still embed the unmodified rufus.loc.
* Also fix a small bug when parsing the version.
This commit is contained in:
Pete Batard 2013-11-01 19:17:46 +00:00
parent c44fa3969d
commit c544429606
25 changed files with 602 additions and 438 deletions

View File

@ -106,6 +106,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@

View File

@ -1,6 +1,5 @@
#!/bin/sh
aclocal || exit 1
#autoheader || exit 1
automake -a -c || exit 1
autoconf || exit 1
rm -rf autom4te.cache

76
configure vendored
View File

@ -173,7 +173,8 @@ test x\$exitcode = x0 || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1"
if (eval "$as_required") 2>/dev/null; then :
as_have_required=yes
else
@ -574,6 +575,7 @@ AM_CFLAGS
VISIBILITY_CFLAGS
WINDRES
RM
SED
RANLIB
OBJEXT
EXEEXT
@ -3165,6 +3167,75 @@ else
RANLIB="$ac_cv_prog_RANLIB"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
$as_echo_n "checking for a sed that does not truncate output... " >&6; }
if ${ac_cv_path_SED+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
for ac_i in 1 2 3 4 5 6 7; do
ac_script="$ac_script$as_nl$ac_script"
done
echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
{ ac_script=; unset ac_script;}
if test -z "$SED"; then
ac_path_SED_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
case `"$ac_path_SED" --version 2>&1` in
*GNU*)
ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo '' >> "conftest.nl"
"$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_SED_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_SED="$ac_path_SED"
ac_path_SED_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_SED_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_SED"; then
as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
fi
else
ac_cv_path_SED=$SED
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
$as_echo "$ac_cv_path_SED" >&6; }
SED="$ac_cv_path_SED"
rm -f conftest.sed
# Extract the first word of "rm", so it can be a program name with args.
set dummy rm; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@ -3505,6 +3576,8 @@ ac_config_files="$ac_config_files src/libcdio/udf/Makefile"
ac_config_files="$ac_config_files src/libcdio/driver/Makefile"
ac_config_files="$ac_config_files res/localization/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
@ -4242,6 +4315,7 @@ do
"src/libcdio/iso9660/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcdio/iso9660/Makefile" ;;
"src/libcdio/udf/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcdio/udf/Makefile" ;;
"src/libcdio/driver/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcdio/driver/Makefile" ;;
"res/localization/Makefile") CONFIG_FILES="$CONFIG_FILES res/localization/Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
esac

View File

@ -10,6 +10,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
AC_PREREQ([2.50])
AC_PROG_CC
AC_PROG_RANLIB
AC_PROG_SED
AC_PATH_PROG(RM, rm, rm)
AC_CHECK_TOOL(STRIP, strip, strip)
AC_CHECK_TOOL(WINDRES, windres, windres)
@ -58,4 +59,5 @@ AC_CONFIG_FILES([src/syslinux/libinstaller/Makefile])
AC_CONFIG_FILES([src/libcdio/iso9660/Makefile])
AC_CONFIG_FILES([src/libcdio/udf/Makefile])
AC_CONFIG_FILES([src/libcdio/driver/Makefile])
AC_CONFIG_FILES([res/localization/Makefile])
AC_OUTPUT

View File

@ -0,0 +1,15 @@
all-local: embedded.loc
BUILT_SOURCES = embedded.loc
noinst_PROGRAMS =
noinst_EXES =
pkg_v_sed = $(pkg_v_sed_$(V))
pkg_v_sed_ = $(pkg_v_sed_$(AM_DEFAULT_VERBOSITY))
pkg_v_sed_0 = @echo " SED $<";
embedded.loc: rufus.loc
$(pkg_v_sed)$(SED) -f embedded.sed $< > $@
clean-local:
-rm -rf embedded.loc

View File

@ -0,0 +1,312 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
noinst_PROGRAMS =
subdir = res/localization
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
depcomp =
am__depfiles_maybe =
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_LDFLAGS = @AM_LDFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EXEEXT = @EXEEXT@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
WINDRES = @WINDRES@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
BUILT_SOURCES = embedded.loc
noinst_EXES =
pkg_v_sed = $(pkg_v_sed_$(V))
pkg_v_sed_ = $(pkg_v_sed_$(AM_DEFAULT_VERBOSITY))
pkg_v_sed_0 = @echo " SED $<";
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps res/localization/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign --ignore-deps res/localization/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
check-am: all-am
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(PROGRAMS) all-local
installdirs:
install: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am
clean-am: clean-generic clean-local clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: all check install install-am install-strip
.PHONY: all all-am all-local check check-am clean clean-generic \
clean-local clean-noinstPROGRAMS distclean distclean-generic \
dvi dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am uninstall uninstall-am
all-local: embedded.loc
embedded.loc: rufus.loc
$(pkg_v_sed)$(SED) -f embedded.sed $< > $@
clean-local:
-rm -rf embedded.loc
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -0,0 +1,17 @@
# This sed script removes everything we don't need from rufus.loc, for embedding.
# remove comments (aggressively!)
s/#.*$//
# remove empty lines
/^$/d
# remove trailing whitespaces
s/[ \t]*$//
# remove the UI controls for "en-US" as they are just here for translators
# 1,300 means we only do this for the the first 300 lines
1,300 {/g IDD_DIALOG/,/g IDD_MESSAGES/{/g IDD_MESSAGES/!d}}
# output file *MUST* be CR/LF
s/$/\r/

View File

@ -1,414 +0,0 @@
# This file should be saved as UTF-8, no-BOM
######################## HOW TO ADD A NEW TRANSLATION ###########################
# For a more comprehensive set of instructions, please see the *FULL* Localization guide at:
# https://github.com/pbatard/rufus/wiki/Localization
#
# 1. Rename this file as 'rufus.loc' and save it in the same directory where you have the Rufus executable.
# 2. Start Rufus, and check the log a line starting with 'LCID' (eg. LCID 0x1809).
# 3. Edit the 'l' line below and:
# - set the IETF language tag (in quotes) for your language, eg: "en-US", "fr-FR", "zh-CN"
# See http://en.wikipedia.org/wiki/IETF_language_tag as well as the table on page 9 of
# http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-LCID%5D.pdf
# - set the name under which you want your language to appear in the (future) language selection menu.
# As this is the name users will see, it should be in your language (eg. "正體字" rather than "Chinese")
# - replace "0x1234" with the LCID code you got in step 2. You should also look at the table on page 9 of
# the PDF above to add all the LCID codes your translation should cover. Separate these codes with a comma.
# 4. Translate the messages that appear below into your language. The 'g' lines indicate the group a translated
# element belongs to. You shouldn't have to modify them.
# 5. (Re)launch Rufus. If a 'rufus.loc' file is found in the current directory, it will be used over the one
# embedded in the application. Since there is only one translation in this file, it will be used by default
# 6. Repeat steps 4 & 5 until you're happy with that translated elements. Note that you MUST restart Rufus every
# time you change your .loc file as there is no reload option.
# 7. Once you are satisfied with your translation, you should pick up the official rufus.loc from:
# https://github.com/pbatard/rufus/raw/master/res/localization/rufus.loc
# You should then add your translation at the end of it, and confirm that it is still picked as the default
# for your system You can also force the use of a translation by passing the option -l when starting Rufus.
# For instance, to have the "zz_ZZ" translation below apply, you could use either one of:
# rufus.exe -l zz-ZZ
# rufus.exe -l 0x1234
# rufus.exe -l 0xabcd
# 8. If you need to resize a control or a dialog to fid the translated text, use the 'm' (Move) or 's' (reSize)
# options. For an example of how these commands work, see how they are use in the French translation at:
# https://github.com/pbatard/rufus/blob/master/res/localization/rufus.loc
#
# Tips:
# - Please make sure that you edit the language include *your* name in MSG_176. It will be displayed in the
# About dialog and I want to give you credit for your work!
# - Use Alt-R in Rufus to delete the registry keys on exit, which will reset the update check policy. This
# will allow you to see your translation for the initial prompt about application updates.
# - I strongly recommend installing and using DbgView to check for translation errors, as you will get more
# information about how Rufus initallly parses the translation file plus reports of any issue found (with
# the line number). Download DbgView from: http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx
# - As shown below, you can break a long message over multiple lines, as long as these fragments begin and end
# with a double quote ("). Also be careful to keep the special symbols such as %d, %s, \\b, \", \n. Time
# permitting, I'll try to provide examples of the output that these lines generate.
# - A more comprehensive guide WILL be available at https://github.com/pbatard/rufus/wiki/Localization
# This early set of instructions is provided only for impatient translators! ;)
################################################################################
l "zz-ZZ" "LangName_EN (LangName_ZZ)" 0x1234, 0xabcd
# See http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx or
# 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
v 1.0.2
# Main dialog
g IDD_DIALOG
t IDS_DEVICE_TXT "Device"
t IDS_PARTITION_TYPE_TXT "Partition scheme and target system type"
t IDS_FILESYSTEM_TXT "File system"
t IDS_CLUSTERSIZE_TXT "Cluster size"
t IDS_LABEL_TXT "New volume label"
t IDS_FORMAT_OPTIONS_GRP "Format Options "
t IDC_BADBLOCKS "Check device for bad blocks:"
t IDC_QUICKFORMAT "Quick format"
t IDC_BOOT "Create a bootable disk using:"
t IDC_SET_ICON "Create extended label and icon files"
t IDC_ABOUT "About..."
t IDC_LOG "Log"
t IDCANCEL "Close"
t IDC_START "Start"
t IDS_ADVANCED_OPTIONS_GRP "Advanced Options"
t IDC_ENABLE_FIXED_DISKS "List non removable or unpartitioned USB disks"
t IDC_EXTRA_PARTITION "Add fixes for old BIOSes (extra partition, align, etc.)"
t IDC_RUFUS_MBR "Use Rufus MBR with BIOS ID:"
# About dialog
g IDD_ABOUTBOX
t IDD_ABOUTBOX "About Rufus"
t IDC_ABOUT_LICENSE "License"
t IDC_ABOUT_UPDATES "Updates"
# About -> License dialog
g IDD_LICENSE
t IDD_LICENSE "Rufus License"
t IDCANCEL "Close"
# Notifications. You can trigger one of these by using Alt-R and re-launching Rufus
g IDD_NOTIFICATION
t IDC_MORE_INFO "More information"
t IDYES "Yes"
t IDNO "No"
# Log dialog
g IDD_LOG
t IDD_LOG "Log"
t IDC_LOG_CLEAR "Clear Log"
t IDC_LOG_SAVE "Save Log"
t IDCANCEL "Close Log"
# About -> Updates
g IDD_UPDATE_POLICY
t IDD_UPDATE_POLICY "Update policy and settings"
t IDS_UPDATE_SETTINGS_GRP "Settings"
t IDS_UPDATE_FREQUENCY_TXT "Check for updates:"
t IDS_INCLUDE_BETAS_TXT "Include beta versions:"
t IDC_CHECK_NOW "Check Now"
t IDCANCEL "Close"
# Dialog that appears when a new version is available
g IDD_NEW_VERSION
t IDD_NEW_VERSION "Check For Updates - Rufus"
t IDS_NEW_VERSION_AVAIL_TXT "A newer version is available. Please download the latest version!"
t IDC_WEBSITE "Click here to go to the website"
t IDS_NEW_VERSION_NOTES_GRP "Release Notes"
t IDS_NEW_VERSION_DOWNLOAD_GRP "Download"
t IDC_DOWNLOAD "Download"
t IDCANCEL "Close"
# Dialog that appears when scanning/extracting ISO files
g IDD_ISO_EXTRACT
t IDD_ISO_EXTRACT "Copying ISO files..."
t IDC_ISO_FILENAME "Opening ISO image - please wait..."
t IDC_ISO_ABORT "Cancel"
# Messages used throughout the application
g IDD_MESSAGES
t MSG_001 "Other instance detected"
t MSG_002 "Another Rufus application is running.\n"
"Please close the first application before running another one."
t MSG_003 "WARNING: ALL DATA ON DEVICE '%s' WILL BE DESTROYED.\n"
"To continue with this operation, click OK. To quit click CANCEL."
t MSG_004 "Rufus update policy"
t MSG_005 "Do you want to allow Rufus to check for application updates online?"
# Must be the same as IDD_DIALOG:IDCANCEL (i.e. "Close" - I know it's confusing)
t MSG_006 "Close"
t MSG_007 "Cancel"
t MSG_008 "Yes"
t MSG_009 "No"
t MSG_010 "Bad blocks found"
t MSG_011 "Check completed: %u bad block(s) found\n"
" %d read error(s)\n %d write error(s)\n %d corruption error(s)\n"
# The following will contain the formatted message above as well as the name of the bad blocks logfile
t MSG_012 "%s\nA more detailed report can be found in:\n%s"
t MSG_013 "Disabled"
t MSG_014 "Daily"
t MSG_015 "Weekly"
t MSG_016 "Monthly"
t MSG_017 "Custom"
t MSG_018 "Your version: %d.%d.%d (Build %d)"
t MSG_019 "Latest version: %d.%d.%d (Build %d)"
# *Short* size names. These can be used as suffixes
t MSG_020 "bytes"
t MSG_021 "KB"
t MSG_022 "MB"
t MSG_023 "GB"
t MSG_024 "TB"
t MSG_025 "PB"
# *Long* size names, as they are displayed for the cluster size in the MS format dialog.
t MSG_026 "bytes" # Yes, this is a repeat from MSG_020
t MSG_027 "kilobytes"
t MSG_028 "megabytes"
t MSG_029 "Default"
# The following gets appended to the file system, cluster size, etc.
t MSG_030 "%s (Default)"
t MSG_031 "%s partition scheme for BIOS computer"
t MSG_032 "%s partition scheme for UEFI computer"
t MSG_033 "%s partition scheme for BIOS or UEFI computers"
# Number of bad block check passes (singular for 1 pass, plural for 2 or more passes)
t MSG_034 "%d Pass"
t MSG_035 "%d Passes"
t MSG_036 "ISO Image"
t MSG_037 "Application"
t MSG_038 "Abort"
t MSG_039 "Launch"
t MSG_040 "Download"
t MSG_041 "Operation cancelled by the user"
t MSG_042 "Error"
t MSG_043 "Error: %s"
t MSG_044 "File download"
t MSG_045 "USB Storage Device (Generic)"
t MSG_046 "%s (Disk %d)"
t MSG_047 "%s (%c:)"
t MSG_048 "Rufus - Flushing buffers"
t MSG_049 "Rufus - Cancellation"
# Error messages
t MSG_050 "Success."
t MSG_051 "Undetermined error while formatting."
t MSG_052 "Cannot use the selected file system for this media."
t MSG_053 "Access to the device is denied."
t MSG_054 "Media is write protected."
t MSG_055 "The device is in use by another process. "
"Please close any other process that may be accessing the device."
t MSG_056 "Quick format is not available for this device."
t MSG_057 "The volume label is invalid."
t MSG_058 "The device handle is invalid."
t MSG_059 "The selected cluster size is not valid for this device."
t MSG_060 "The volume size is invalid."
t MSG_061 "Please insert a removable media in drive."
t MSG_062 "An unsupported command was received."
t MSG_063 "Memory allocation error."
t MSG_064 "Read error."
t MSG_065 "Write error."
t MSG_066 "Installation failure"
t MSG_067 "Could not open media. It may be in use by another process. "
"Please re-plug the media and try again."
t MSG_068 "Error while partitioning drive."
t MSG_069 "Could not copy files to target drive."
t MSG_070 "Cancelled by user."
# See http://en.wikipedia.org/wiki/Thread_%28computing%29
t MSG_071 "Unable to start thread."
t MSG_072 "Bad blocks check didn't complete."
t MSG_073 "ISO image scan failure."
t MSG_074 "ISO image extraction failure."
t MSG_075 "Unable to remount volume."
t MSG_076 "Unable to patch/setup files for boot."
t MSG_077 "Unable to assign a drive letter."
t MSG_078 "Can't mount GUID volume."
t MSG_080 "Rufus detected that Windows is still flushing its internal buffers onto the USB device.\n\n"
"Depending on the speed of your USB device, this operation may take a long time to complete, "
"especially for large files.\n\nWe recommend that you let Windows finish, to avoid corruption. "
"But if you grow tired of waiting, you can just unplug the device..."
t MSG_081 "Unsupported ISO"
t MSG_082 "This version of Rufus only supports bootable ISOs based on bootmgr/WinPE, isolinux or EFI.\n"
"This ISO doesn't appear to use either..."
t MSG_083 "Replace %s?"
t MSG_084 "This ISO image seems to use an obsolete version of '%s'.\n"
"Boot menus may not display properly because of this.\n\n"
"A newer version can be downloaded by Rufus to fix this issue:\n"
"- Choose 'Yes' to connect to the internet and download the file\n"
"- Choose 'No' to leave the existing ISO file unmodified\n"
"If you don't know what to do, you should select 'Yes'.\n\n"
"Note: The new file will be downloaded in the current directory and once a "
"'%s' exists there, it will be reused automatically."
t MSG_085 "Downloading %s"
t MSG_086 "No ISO image selected"
# The content between the quotes below (\"Create a bootable disk\") should match
# the beginning of the IDC_BOOT text
t MSG_087 "Please click on the disc button to select a bootable ISO, "
"or uncheck the \"Create a bootable disk...\" checkbox."
t MSG_088 "ISO too big"
t MSG_089 "This ISO image is too big for the selected target."
t MSG_090 "Unsupported ISO"
t MSG_091 "When using UEFI Target Type, only EFI bootable ISO images are supported. "
"Please select an EFI bootable ISO or set the Target Type to BIOS."
t MSG_092 "Unsupported filesystem"
t MSG_093 "When using UEFI Target Type, only FAT/FAT32 is supported. "
"Please select FAT/FAT32 as the File system or set the Target Type to BIOS."
t MSG_094 "Non UEFI compatible ISO"
t MSG_095 "This ISO image contains a file larger than 4 GB and cannot be used to create an EFI bootable USB.\n"
"This is a limitation of UEFI/FAT32, not Rufus."
t MSG_096 "Only FAT/FAT32 is supported for this type of ISO. Please select FAT/FAT32 as the File system."
t MSG_097 "Only 'bootmgr' or 'WinPE' based ISO images can currently be used with NTFS."
t MSG_098 "FAT/FAT32 can only be used for isolinux based ISO images or when the Target Type is UEFI."
t MSG_099 "Filesystem limitation"
t MSG_100 "This ISO image contains a file larger than 4GB file, which is more than the "
"maximum size allowed for a FAT or FAT32 file system."
t MSG_101 "Missing WIM support"
t MSG_102 "Your platform cannot extract files from WIM archives. WIM extraction "
"is required to create EFI bootable Windows 7 and Windows Vista USB drives. You can fix that "
"by installing a recent version of 7-Zip.\nDo you want to visit the 7-zip download page?"
t MSG_103 "Download %s?"
t MSG_104 "Syslinux v5.0 or later requires a '%s' file to be installed.\n"
"Because this file is more than 100 KB in size, and always present on Syslinux v5+ ISO images, "
"it is not embedded in Rufus.\n\nRufus can download the missing file for you:\n"
"- Select 'Yes' to connect to the internet and download the file\n"
"- Select 'No' if you want to manually copy this file on the drive later\n\n"
"Note: The file will be downloaded in the current directory and once a "
"'%s' exists there, it will be reused automatically.\n"
t MSG_105 "Cancelling may leave the device in an UNUSABLE state.\n"
"If you are sure you want to cancel, click YES. Otherwise, click NO."
t MSG_106 "Please select folder"
t MSG_107 "All files"
t MSG_108 "Rufus log"
t MSG_109 "0x%02X (Disk %d)"
# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_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."
t MSG_111 "Incompatible Cluster size"
# "%d:%02d" below is a duration (mins:secs)
t MSG_112 "Formatting a large UDF volumes can take a lot of time. At USB 2.0 speeds, the estimated formatting "
"duration is %d:%02d, during which the progress bar will appear frozen. Please be patient!"
t MSG_113 "Large UDF volume"
# Tootips
# Partition Scheme and Target Type
t MSG_150 "Usually the safest choice. If you have an UEFI computer and want to install "
"an OS in EFI mode however, you should select one of the other options"
t MSG_151 "Use this if you want to install an OS in EFI mode, but need to access "
"the USB content from Windows XP"
t MSG_152 "The preferred option to install an OS in EFI mode and when "
"USB access is not required for Windows XP"
t MSG_153 "Test pattern: 0x%02X"
t MSG_154 "Test pattern: 0x%02X, 0x%02X"
t MSG_155 "Test pattern: 0x%02X, 0x%02X, 0x%02X"
t MSG_156 "Test pattern: 0x%02X, 0x%02X, 0x%02X, 0x%02X"
t MSG_157 "Sets the target filesystem"
t MSG_158 "Minimum size that a block of data will occupy in the filesystem"
t MSG_159 "Use this field to set the drive label\nInternational characters are accepted"
t MSG_160 "Toggle advanced options"
t MSG_161 "Check the device for bad blocks using a test pattern"
t MSG_162 "Uncheck this box to use the \"slow\" format method"
t MSG_163 "Check this box to make the USB drive bootable"
t MSG_164 "Method that will be used to make the drive bootable"
t MSG_165 "Click to select an ISO..."
t MSG_166 "Check this box to allow the display of international labels "
"and set a device icon (creates an autorun.inf)"
t MSG_167 "Install an MBR that allows boot selection and can masquerade the BIOS USB drive ID"
t MSG_168 "Try to masquerade first bootable USB drive (usually 0x80) as a different disk.\n"
"This should only be necessary if you install Windows XP and have more than one disk"
t MSG_169 "Create an extra hidden partition and try to align partitions boundaries.\n"
"This can improve boot detection for older BIOSes"
t MSG_170 "Enable detection for disks not normally detected by Rufus. USE AT YOUR OWN RISKS!!!"
t MSG_171 "Start the formatting operation.\nThis will DESTROY any data on the target!"
t MSG_172 "Licensing information and credits"
t MSG_173 "Click to select..."
# The following will appear in the about dialog
t MSG_174 "Rufus - The Reliable USB Formatting Utility"
t MSG_175 "Version %d.%d.%d (Build %d)"
t MSG_176 "English translation: Pete Batard <mailto:pete@akeo.ie>"
t MSG_177 "Report bugs or request enhancements at:"
t MSG_178 "Additional Copyrights:"
t MSG_179 "Update Policy:"
t MSG_180 "If you choose to allow this program to check for application updates, "
"you agree that the following information may be collected on our server(s):"
t MSG_181 "Your operating system's architecture and version"
t MSG_182 "The version of the application you use"
t MSG_183 "Your IP address"
t MSG_184 "For the purpose of generating private usage statistics, we may keep the information collected, "
"\\b for at most a year\\b0 . However, we will not willingly disclose any of this individual data to third parties."
t MSG_185 "Update Process:"
t MSG_186 "Rufus does not install or run background services, therefore update checks are performed only when the main application is running.\\line\n"
"Internet access is of course required when checking for updates."
# Status messages - these messages will appear on the status bar
t MSG_201 "Cancelling - Please wait..."
t MSG_202 "Scanning ISO image..."
t MSG_203 "Failed to scan ISO image"
# Parameter: the name of an obsolete Syslinux .c32 module. eg: "Obsolete vesamenu.c32 detected"
t MSG_204 "Obsolete %s detected"
# Display the name of the ISO selected. eg: "Using ISO: en_win7_x64_sp1.iso"
t MSG_205 "Using ISO: %s"
# Typically "Missing ldlinux.c32 file"
t MSG_206 "Missing %s file"
# The name proposed by Windows' Computer Management -> Disk Management when you try to format a drive
# with an empty label. See http://rufus.akeo.ie/pics/default_name.png
t MSG_207 "New Volume"
# Same message, once for singular and plural ("1 device found", "2 devices found")
t MSG_208 "%d device found"
t MSG_209 "%d devices found"
t MSG_210 "DONE."
t MSG_211 "Cancelled."
t MSG_212 "FAILED."
# Used when a new update has been downloaded and lauched
t MSG_213 "Launching new application..."
t MSG_214 "Failed to launch new application"
# Open/Save file
t MSG_215 "Opened %s"
t MSG_216 "Saved %s"
# Formatting status (make sure you use a double % to print the percent sign)
t MSG_217 "Formatting: %0.1f%% completed"
t MSG_218 "Creating file system: Task %d/%d completed"
t MSG_219 "NTFS Fixup: %d%% completed"
# Parameter: the file system and an estimated duration in mins and secs.
# eg. "Formatting (UDF) - Estimated duration 3:21..."
# NB: if "estimated duration" is too long, just use "estimated" or an abbreviation
t MSG_220 "Formatting (%s) - estimated duration %d:%02d..."
t MSG_221 "Setting Label (This may take while)..."
# Parameter: the file system. eg. "Formatting (NTFS)..."
t MSG_222 "Formatting (%s)..."
t MSG_223 "NTFS Fixup (Checkdisk)..."
t MSG_224 "Clearing MBR/PBR/GPT structures..."
t MSG_225 "Requesting disk access..."
t MSG_226 "Analyzing existing boot records..."
t MSG_227 "Closing existing volume..."
t MSG_228 "Writing master boot record..."
t MSG_229 "Writing partition boot record..."
t MSG_230 "Copying DOS files..."
t MSG_231 "Copying ISO files..."
t MSG_232 "Win7 EFI boot setup (this may take a while)..."
t MSG_233 "Finalizing, please wait..."
# Takes the Syslinux version as paramete. eg. "Installing Syslinux v5..."
t MSG_234 "Installing Syslinux v%d..."
# Bad blocks status. eg: "Bad Blocks: PASS 1/2 - 12.34% (0/0/1 errors)"
t MSG_235 "Bad Blocks: PASS %d/%d - %0.2f%% (%d/%d/%d errors)"
t MSG_236 "Bad Blocks: Testing with random pattern"
t MSG_237 "Bad Blocks: Testing with pattern 0x%02X"
# eg. "Partitioning (MBR)..."
t MSG_238 "Partitioning (%s)..."
t MSG_239 "Deleting partitions..."
t MSG_240 "Downloading %s: Connecting..."
t MSG_241 "Downloading: %0.1f%%"
t MSG_242 "Failed to download file."
t MSG_243 "Checking for Rufus updates..."
t MSG_244 "Updates: Unable to connect to the internet"
t MSG_245 "Updates: Unable to acces version data"
t MSG_246 "A new version of Rufus is available!"
t MSG_247 "No new version of Rufus was found"
t MSG_248 "Application registry keys successfully deleted"
t MSG_249 "Failed to delete application registry keys"
# eg. "Fixed disk detection enabled" "ISO size check disabled"
t MSG_250 "%s enabled"
t MSG_251 "%s disabled"
t MSG_252 "Size checks"
t MSG_253 "Fixed disks detection"
t MSG_254 "Force large FAT32 formatting"
t MSG_255 "NoDriveTypeAutorun will be deleted on exit"
t MSG_256 "Fake drive detection"
t MSG_257 "Joliet support"
t MSG_258 "Rock Ridge support"
t MSG_259 "Force update"

View File

@ -1,8 +1,134 @@
# This file should be saved as UTF-8, no-BOM
# This file should be saved as UTF-8, no-BOM, with CR/LF
######################## HOW TO ADD A NEW TRANSLATION ###########################
# For a more comprehensive set of instructions, please see the *FULL* Localization guide at:
# https://github.com/pbatard/rufus/wiki/Localization
#
# 0. Download the latest Rufus executable, start it and check the log for a line starting with 'LCID'
# (eg. LCID 0x1809).
# 1. Save this file in the same directory where you have the Rufus executable.
# 2. Copy the lines between ### TRANSLATOR START COPY ### and ### TRANSLATOR END COPY ### and paste them at
# the end of the file.
# 3. Edit the 'l' line in the section you copied and:
# - replace the "en-US" IETF language tag for your language, eg: "fr-FR", "zh-CN".
# See http://en.wikipedia.org/wiki/IETF_language_tag as well as the table on page 9 of
# http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-LCID%5D.pdf
# - set the name of your language first in English and then, in parenthesis, in your own language.
# eg: "Chinese Simplified (简体中文)"
# - remove the end of the line starting with 0x0409 and replaced it with the LCID code you got in step 0.
# You also may want to look at the table on page 9 of the PDF above to add all the LCID codes your
# translation should cover. Make sure you separate these codes with a comma.
# 4. Translate the messages that appear below into your language. The 'g' lines indicate the group a translated
# element belongs to. You shouldn't have to modify them.
# 5. (Re)launch Rufus. If a 'rufus.loc' file is found in the current directory, it will be used over the one
# embedded in the application. Since there is only one translation in this file, it will be used by default
# 6. Repeat steps 4 & 5 until you're happy with that translated elements. Note that you MUST restart Rufus every
# time you change your .loc file as there is no reload option.
# 7. Once you are satisfied with your translation, you should pick up the official rufus.loc from:
# https://github.com/pbatard/rufus/raw/master/res/localization/rufus.loc
# You should then add your translation at the end of it, and confirm that it is still picked as the default
# for your system You can also force the use of a translation by passing the option -l when starting Rufus.
# For instance, to have the "zh_CN" translation below apply, you could use either one of:
# 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
# in the About dialog and I want to give you credit for your work!
# - I strongly recommend installing and using DbgView to check for translation errors, as you will get more
# information about how Rufus initallly parses the translation file plus reports of any issue found (with
# the line number). Download DbgView from: http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx
# - As shown below, you can break a long message over multiple lines, as long as these fragments begin and end
# with a double quote ("). Also be careful to keep the special symbols such as %d, %s, \\b, \", \n.
# - Don't forget to check the translation guide from https://github.com/pbatard/rufus/wiki/Localization
################################################################################
############################ TRANSLATOR START COPY #############################
################################################################################
# See http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx or
# 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.2
# Main dialog
g IDD_DIALOG
t IDS_DEVICE_TXT "Device"
t IDS_PARTITION_TYPE_TXT "Partition scheme and target system type"
t IDS_FILESYSTEM_TXT "File system"
t IDS_CLUSTERSIZE_TXT "Cluster size"
t IDS_LABEL_TXT "New volume label"
t IDS_FORMAT_OPTIONS_GRP "Format Options "
t IDC_BADBLOCKS "Check device for bad blocks:"
t IDC_QUICKFORMAT "Quick format"
t IDC_BOOT "Create a bootable disk using:"
t IDC_SET_ICON "Create extended label and icon files"
t IDC_ABOUT "About..."
t IDC_LOG "Log"
t IDCANCEL "Close"
t IDC_START "Start"
t IDS_ADVANCED_OPTIONS_GRP "Advanced Options"
t IDC_ENABLE_FIXED_DISKS "List non removable or unpartitioned USB disks"
t IDC_EXTRA_PARTITION "Add fixes for old BIOSes (extra partition, align, etc.)"
# 'MBR': See bhttp://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:"
# About dialog
g IDD_ABOUTBOX
t IDD_ABOUTBOX "About Rufus"
t IDC_ABOUT_LICENSE "License"
t IDC_ABOUT_UPDATES "Updates"
# About -> License dialog
g IDD_LICENSE
t IDD_LICENSE "Rufus License"
t IDCANCEL "Close"
# Notifications. You can trigger one of these by using Alt-R and re-launching Rufus
g IDD_NOTIFICATION
t IDC_MORE_INFO "More information"
t IDYES "Yes"
t IDNO "No"
# Log dialog
g IDD_LOG
t IDD_LOG "Log"
t IDC_LOG_CLEAR "Clear Log"
t IDC_LOG_SAVE "Save Log"
t IDCANCEL "Close Log"
# About -> Updates
g IDD_UPDATE_POLICY
t IDD_UPDATE_POLICY "Update policy and settings"
t IDS_UPDATE_SETTINGS_GRP "Settings"
t IDS_UPDATE_FREQUENCY_TXT "Check for updates:"
t IDS_INCLUDE_BETAS_TXT "Include beta versions:"
t IDC_CHECK_NOW "Check Now"
t IDCANCEL "Close"
# Dialog that appears when a new version is available
g IDD_NEW_VERSION
t IDD_NEW_VERSION "Check For Updates - Rufus"
t IDS_NEW_VERSION_AVAIL_TXT "A newer version is available. Please download the latest version!"
t IDC_WEBSITE "Click here to go to the website"
t IDS_NEW_VERSION_NOTES_GRP "Release Notes"
t IDS_NEW_VERSION_DOWNLOAD_GRP "Download"
t IDC_DOWNLOAD "Download"
t IDCANCEL "Close"
# Dialog that appears when scanning/extracting ISO files
g IDD_ISO_EXTRACT
t IDD_ISO_EXTRACT "Copying ISO files..."
t IDC_ISO_FILENAME "Opening ISO image - please wait..."
t IDC_ISO_ABORT "Cancel"
# Messages used throughout the application
g IDD_MESSAGES
t MSG_001 "Other instance detected"
t MSG_002 "Another Rufus application is running.\n"
@ -11,7 +137,8 @@ t MSG_003 "WARNING: ALL DATA ON DEVICE '%s' WILL BE DESTROYED.\n"
"To continue with this operation, click OK. To quit click CANCEL."
t MSG_004 "Rufus update policy"
t MSG_005 "Do you want to allow Rufus to check for application updates online?"
t MSG_006 "Close" # Must be the same as IDD_DIALOG:IDCANCEL (i.e. "Close" - I know it's confusing)
# Must be the same as IDD_DIALOG:IDCANCEL (i.e. "Close" - I know it's confusing)
t MSG_006 "Close"
t MSG_007 "Cancel"
t MSG_008 "Yes"
t MSG_009 "No"
@ -86,6 +213,7 @@ t MSG_067 "Could not open media. It may be in use by another process. "
t MSG_068 "Error while partitioning drive."
t MSG_069 "Could not copy files to target drive."
t MSG_070 "Cancelled by user."
# See http://en.wikipedia.org/wiki/Thread_%28computing%29
t MSG_071 "Unable to start thread."
t MSG_072 "Bad blocks check didn't complete."
t MSG_073 "ISO image scan failure."
@ -152,9 +280,12 @@ t MSG_106 "Please select folder"
t MSG_107 "All files"
t MSG_108 "Rufus log"
t MSG_109 "0x%02X (Disk %d)"
t MSG_110 "MS-DOS cannot boot from a drive using a 64 kilobyte Cluster size.\n"
# "Cluster size" below should be the same as the label for IDS_CLUSTERSIZE_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."
t MSG_111 "Incompatible Cluster size"
# "%d:%02d" below is a duration (mins:secs)
t MSG_112 "Formatting a large UDF volumes can take a lot of time. At USB 2.0 speeds, the estimated formatting "
"duration is %d:%02d, during which the progress bar will appear frozen. Please be patient!"
t MSG_113 "Large UDF volume"
@ -194,7 +325,7 @@ t MSG_173 "Click to select..."
# The following will appear in the about dialog
t MSG_174 "Rufus - The Reliable USB Formatting Utility"
t MSG_175 "Version %d.%d.%d (Build %d)"
t MSG_176 ""
t MSG_176 "English translation: Pete Batard <mailto:pete@akeo.ie>"
t MSG_177 "Report bugs or request enhancements at:"
t MSG_178 "Additional Copyrights:"
t MSG_179 "Update Policy:"
@ -238,9 +369,12 @@ t MSG_216 "Saved %s"
t MSG_217 "Formatting: %0.1f%% completed"
t MSG_218 "Creating file system: Task %d/%d completed"
t MSG_219 "NTFS Fixup: %d%% completed"
# Parameter: the file system and an estimated duration in mins and secs
# Parameter: the file system and an estimated duration in mins and secs.
# eg. "Formatting (UDF) - Estimated duration 3:21..."
# NB: if "estimated duration" is too long, just use "estimated" or an abbreviation
t MSG_220 "Formatting (%s) - estimated duration %d:%02d..."
t MSG_221 "Setting Label (This may take while)..."
# Parameter: the file system. eg. "Formatting (NTFS)..."
t MSG_222 "Formatting (%s)..."
t MSG_223 "NTFS Fixup (Checkdisk)..."
t MSG_224 "Clearing MBR/PBR/GPT structures..."
@ -283,6 +417,10 @@ t MSG_256 "Fake drive detection"
t MSG_257 "Joliet support"
t MSG_258 "Rock Ridge support"
t MSG_259 "Force update"
################################################################################
############################# TRANSLATOR END COPY ##############################
################################################################################
################################################################################
l "zh-CN" "Chinese Simplified (简体中文)" 0x0404, 0x0804, 0x0c04, 0x1004, 0x1404

View File

@ -97,7 +97,7 @@
<TargetMachine>MachineX86</TargetMachine>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture />
</ResourceCompile>
</ItemDefinitionGroup>
@ -124,7 +124,7 @@
<TargetMachine>MachineX64</TargetMachine>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture />
</ResourceCompile>
</ItemDefinitionGroup>
@ -147,7 +147,7 @@
<TargetMachine>MachineX86</TargetMachine>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture />
</ResourceCompile>
</ItemDefinitionGroup>
@ -173,7 +173,7 @@
<TargetMachine>MachineX64</TargetMachine>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture />
</ResourceCompile>
</ItemDefinitionGroup>
@ -217,6 +217,7 @@
</ItemGroup>
<ItemGroup>
<None Include="..\..\res\down.ico" />
<None Include="..\..\res\localization\rufus.loc" />
<None Include="..\..\res\rufus.ico" />
<None Include="..\..\res\up.ico" />
</ItemGroup>

View File

@ -121,6 +121,9 @@
<None Include="..\..\res\down.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="..\..\res\localization\rufus.loc">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Manifest Include="..\common_controls_and_elevation.manifest">

View File

@ -4,7 +4,7 @@ UMTYPE=windows
UMENTRY=winmain
INCLUDES=$(DDK_INC_PATH);.\ms-sys\inc;.\syslinux\libfat;.\syslinux\libinstaller;.\msvc-missing;.\libcdio;.\getopt
C_DEFINES = $(C_DEFINES) /DDDKBUILD /DUNICODE /D_UNICODE /DISOLATION_AWARE_ENABLED
C_DEFINES = $(C_DEFINES) /DDDKBUILD /DUNICODE /D_UNICODE /DRUFUS_LOC /DISOLATION_AWARE_ENABLED
!IFNDEF MSC_WARNING_LEVEL
MSC_WARNING_LEVEL=/W3

View File

@ -1,4 +1,4 @@
SUBDIRS = ms-sys syslinux/libfat syslinux/libinstaller libcdio/iso9660 libcdio/udf libcdio/driver
SUBDIRS = ms-sys syslinux/libfat syslinux/libinstaller libcdio/iso9660 libcdio/udf libcdio/driver ../res/localization
noinst_PROGRAMS = rufus
@ -6,7 +6,7 @@ pkg_v_rc = $(pkg_v_rc_$(V))
pkg_v_rc_ = $(pkg_v_rc_$(AM_DEFAULT_VERBOSITY))
pkg_v_rc_0 = @echo " RC $@";
%_rc.o: %.rc
%_rc.o: %.rc ../res/localization/embedded.loc
$(pkg_v_rc)$(WINDRES) $(AM_RCFLAGS) -i $< -o $@
rufus_SOURCES = drive.c icon.c parser.c localization.c iso.c net.c dos.c dos_locale.c badblocks.c syslinux.c vhd.c format.c stdio.c stdfn.c stdlg.c rufus.c

View File

@ -135,6 +135,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
@ -181,7 +182,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = ms-sys syslinux/libfat syslinux/libinstaller libcdio/iso9660 libcdio/udf libcdio/driver
SUBDIRS = ms-sys syslinux/libfat syslinux/libinstaller libcdio/iso9660 libcdio/udf libcdio/driver ../res/localization
pkg_v_rc = $(pkg_v_rc_$(V))
pkg_v_rc_ = $(pkg_v_rc_$(AM_DEFAULT_VERBOSITY))
pkg_v_rc_0 = @echo " RC $@";
@ -623,7 +624,7 @@ uninstall-am:
uninstall uninstall-am
%_rc.o: %.rc
%_rc.o: %.rc ../res/localization/embedded.loc
$(pkg_v_rc)$(WINDRES) $(AM_RCFLAGS) -i $< -o $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View File

@ -121,6 +121,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@

View File

@ -118,6 +118,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@

View File

@ -118,6 +118,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@

View File

@ -69,7 +69,7 @@ const loc_parse parse_cmd[9] = {
/* Globals */
int loc_line_nr;
struct list_head locale_list = {NULL, NULL};
char *loc_filename = NULL, *embedded_loc_filename = "[embedded] rufus.loc";
char *loc_filename = NULL, *embedded_loc_filename = "embedded.loc";
/*
* Hash table functions - modified From glibc 2.3.2:

View File

@ -71,6 +71,7 @@ const loc_control_id control_id[] = {
LOC_CTRL(IDC_ADVANCED),
LOC_CTRL(IDS_ADVANCED_OPTIONS_GRP),
LOC_CTRL(IDC_LOG),
LOC_CTRL(IDC_LANG),
LOC_CTRL(IDC_LOG_EDIT),
LOC_CTRL(IDC_LOG_SAVE),
LOC_CTRL(IDC_LOG_CLEAR),

View File

@ -119,6 +119,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@

View File

@ -294,7 +294,7 @@ BOOL get_supported_locales(const char* filename)
// We use the first version from our loc file (usually en-US) as our base
// as it should always be the most up to date.
loc_base_minor = lcmd->unum[1];
loc_base_micro = lcmd->unum[0];
loc_base_micro = lcmd->unum[2];
version_line_nr = loc_line_nr;
} else if (lcmd->unum[1] < loc_base_minor) {
luprintf("the version of this locale is incompatible with this version of " APPLICATION_NAME " and MUST be updated to at least v%d.%d.0",

View File

@ -2045,7 +2045,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
if (GetFileAttributesU("rufus.loc") == INVALID_FILE_ATTRIBUTES) {
uprintf("loc file not found in current directory - embedded one will be used");
loc_data = (BYTE*)GetResource(hMainInstance, MAKEINTRESOURCEA(IDR_LC_RUFUS_LOC), _RT_RCDATA, "rufus.loc", &loc_size, FALSE);
loc_data = (BYTE*)GetResource(hMainInstance, MAKEINTRESOURCEA(IDR_LC_RUFUS_LOC), _RT_RCDATA, "embedded.loc", &loc_size, FALSE);
GetTempPathU(sizeof(tmp_path), tmp_path);
GetTempFileNameU(tmp_path, APPLICATION_NAME, 0, loc_file);

View File

@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 206, 329
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "Rufus v1.4.0.303"
CAPTION "Rufus v1.4.0.304"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "Start",IDC_START,94,291,50,14
@ -191,7 +191,11 @@ END
3 TEXTINCLUDE
BEGIN
"\r\n"
"#ifdef RUFUS_LOC\r\n"
"IDR_LC_RUFUS_LOC RCDATA ""../res/localization/rufus.loc""\r\n"
"#else\r\n"
"IDR_LC_RUFUS_LOC RCDATA ""../res/localization/embedded.loc""\r\n"
"#endif\r\n"
"IDR_SL_LDLINUX_V4_BSS RCDATA ""../res/syslinux/ldlinux_v4.bss""\r\n"
"IDR_SL_LDLINUX_V4_SYS RCDATA ""../res/syslinux/ldlinux_v4.sys""\r\n"
"IDR_SL_LDLINUX_V5_BSS RCDATA ""../res/syslinux/ldlinux_v5.bss""\r\n"
@ -285,8 +289,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,4,0,303
PRODUCTVERSION 1,4,0,303
FILEVERSION 1,4,0,304
PRODUCTVERSION 1,4,0,304
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -303,13 +307,13 @@ BEGIN
BEGIN
VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)"
VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "1.4.0.303"
VALUE "FileVersion", "1.4.0.304"
VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011-2013 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
VALUE "OriginalFilename", "rufus.exe"
VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "1.4.0.303"
VALUE "ProductVersion", "1.4.0.304"
END
END
BLOCK "VarFileInfo"
@ -340,7 +344,11 @@ IDI_DOWN ICON "../res/down.ico"
// Generated from the TEXTINCLUDE 3 resource.
//
#ifdef RUFUS_LOC
IDR_LC_RUFUS_LOC RCDATA "../res/localization/rufus.loc"
#else
IDR_LC_RUFUS_LOC RCDATA "../res/localization/embedded.loc"
#endif
IDR_SL_LDLINUX_V4_BSS RCDATA "../res/syslinux/ldlinux_v4.bss"
IDR_SL_LDLINUX_V4_SYS RCDATA "../res/syslinux/ldlinux_v4.sys"
IDR_SL_LDLINUX_V5_BSS RCDATA "../res/syslinux/ldlinux_v5.bss"

View File

@ -118,6 +118,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@

View File

@ -118,6 +118,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@