diff --git a/CHANGELOG b/CHANGELOG index fa38c37..6699299 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,54 @@ +0.79.2 28-02-2010 + Semantic Changes + The new missing sector marking method is now the default. + When interchanging images with dvdisaster 0.70 or older, + use --old-ds-marker or the respective setting under + Image/Image format in the preferences setting. + + Changes + - RS03 encoding will check for defective sectors now + - fixed crash when aborting RS03 encoding + - made the new missing sector marking method the default + - confirmation dialogues for overwriting images and ecc files + are now configurable via preferences + +0.79.1 07-02-2010 + A word of caution: This version is still evolving and some parts + are not yet implemented. It may contain severe bugs and fail in + non-obvious ways, even in functions which worked in previous versions. + Do not process important data with this version and do + not keep images and error correction data for archival purposes; + that's what the stable version 0.72 is for. + + Semantic Changes + - query-size option replaced with -a/--assume option. + command line default is now NOT to do exhaustive search + for RS02 information; add -a RS02 to enable it + (old behaviour: exhaustive check was on; required + --query-size=udf to disable it) + - same changes in the preferences dialogues: + "Image size" field replaced with + "Error correction data recognization" options. + + Changes + - added MIN_TRANSFER_LEN and length sanity check as workaround + for buggy drive chipsets (thanks to R.G. for reporting this + and helping with debugging output) + - added -tq command line option as suggested by Mikhail Arefiev + - fixed alignment brokeness between 32bit and 64bit systems + in ecc header and crc sectors + - added RS03 encoding (GUI) + - added RS03 verifying (CLI and GUI) + - fixed RS02/RS03 crash when encoding invoked without image file + - added commandline RS03 encoding (singlethreaded/multithreaded) + - added RS03 decoding and verifying (CLI and GUI) + - fixed "typical uses" links in welcome screen (Thanks to C. Steigies) + - added warning when same files are selected for .iso + and error correction data (Thanks to A. Postkutscher + for suggesting this!) + - removed ASPI driver and ASPI/SPTI splitting logic + - removed 2GB file splitting + 0.72 (pl-1) 08-08-2009 - Pablo Almeida provided a Portuguese translation for the screen text. @@ -9,6 +60,11 @@ - fixed crash when calling dvdisaster on command line without specifying a file name on Mac OS X +0.72 (rc-2) + - fixed lockups in the spiral under Mac OS X + - fixed crash when calling dvdisaster on command line without + specifying a file name on Mac OS X + 0.72 (rc-1) 11-04-2009 - Documentation and locale cleanup for en, de - added app bundle creation for Mac OS X diff --git a/GNUmakefile.template b/GNUmakefile.template index dd9f66c..9df0ff8 100644 --- a/GNUmakefile.template +++ b/GNUmakefile.template @@ -188,7 +188,10 @@ version.php: @echo "$(SRCDIR)/documentation/include/version.php @echo "\$$version=\"$(VERSION)\";" >>$(SRCDIR)/documentation/include/version.php @echo "\$$pkgname=\"$(PKGNAME)\";" >>$(SRCDIR)/documentation/include/version.php + @echo "\$$doc_dir=\"$(SRCDIR)/documentation\";" >>$(SRCDIR)/documentation/include/version.php @echo "\$$cooked_version=\""$(CFG_FULL_VERSION)"\";" >>$(SRCDIR)/documentation/include/version.php + @echo "\$$have_experimental=\""$(CFG_HAVE_EXPERIMENTAL)"\";" >>$(SRCDIR)/documentation/include/version.php + @echo "\$$stable_version=\""$(CFG_STABLE_VERSION)"\";" >>$(SRCDIR)/documentation/include/version.php @if test -e help-dialogs.h && grep UNMODIFIED help-dialogs.h >/dev/null; \ then echo "\$$modified_source=0;" >>$(SRCDIR)/documentation/include/version.php; \ else echo "\$$modified_source=1;" >>$(SRCDIR)/documentation/include/version.php; \ @@ -203,13 +206,17 @@ mount-php: echo "* HTML document directory (as specified by configure --phpmountdir).";\ echo "* You need sudo priviledges to execute the command below:";\ echo ;\ - fi - if ! test -e $(PHPMOUNTDIR)/dvdisaster.de.1; then\ if ! test -e $(PHPMOUNTDIR); then sudo mkdir -p $(PHPMOUNTDIR); fi;\ sudo mount -o bind $(SRCDIR)/documentation $(PHPMOUNTDIR) ;\ fi make version.php - make thumbnails + if ! test -e $(SRCDIR)/documentation/de/thumbnails/good-cd.png; \ + then make thumbnails; \ + fi + for i in $(DOC_LOCALES); do \ + chmod 777 $(SRCDIR)/documentation/$$i/feed $(SRCDIR)/documentation/$$i/feed/atom.xml; \ + echo chmod 777 $(SRCDIR)/documentation/$$i/feed $(SRCDIR)/documentation/$$i/feed/atom.xml; \ + done html: mount-php version.php @echo -n "Producing html documentation... " @@ -246,8 +253,8 @@ help: @echo @echo "Documentation related:" @echo "mount-php - mount documentation sub directory" - @echo "www-images- create package of .php and .png files" - @echo "www - create package of .php files only" + @echo "www-images- create package of .html and .png files" + @echo "www - create package of .html files only" @echo "html - create html version of internet documentation" @echo "localhtml - create html version for local documentation" @echo "thumbnails- unconditionally recreate all thumbnails" @@ -306,7 +313,7 @@ show: ###################################################################### .PHONY : install uninstall clean distclean arch -.PHONY : www www-images +.PHONY : www www-images php php-images .PHONY : srcdist macdist windist install: dvdisaster images @@ -427,13 +434,13 @@ arch: archclean time-stamp @cd .. ; tar -c -z -f $(PKGNAME)-$(BUILD).tgz $(PKGNAME) # TAG: online-docs -www: version.php +www: html @cd documentation ; \ - tar cjf ../../www.tar.bz2 pubkey.asc index.html include/dvdisaster.css include/*.php de/*.php en/*.php ru/*.php + tar cjf ../../www.tar.bz2 pubkey.asc include/dvdisaster.css de/*.html en/*.html ru/*.html de/feed en/feed ru/feed -www-images: thumbnails version.php +www-images: html @cd documentation ; \ - tar cjf ../../www.tar.bz2 pubkey.asc index.html include/dvdisaster.css include/*.php de/*.php en/*.php ru/*.php images/*.png de/images/*.png de/thumbnails/*.png en/images/*.png en/thumbnails/*.png ru/images/*.png ru/thumbnails/*.png + tar cjf ../../www.tar.bz2 pubkey.asc include/dvdisaster.css de/*.html en/*.html ru/*.html images/*.png de/images/*.png de/thumbnails/*.png en/images/*.png en/thumbnails/*.png ru/images/*.png ru/thumbnails/*.png de/feed en/feed ru/feed INSTALL: documentation/install.template @sed "s/@@PKGNAME/$(PKGNAME)/" INSTALL @@ -462,16 +469,23 @@ prepare-dist: @cp tools/pngpack.exe win-build-dir/documentation @mv documentation/images-*.pngpack win-build-dir/documentation @cp $(GTK_BINDIR)/libglib*.dll win-build-dir - @cp $(GTK_BINDIR)/iconv.dll win-build-dir + #@cp $(GTK_BINDIR)/iconv.dll win-build-dir @cp $(GTK_BINDIR)/intl.dll win-build-dir @cp $(GTK_BINDIR)/libatk*.dll win-build-dir + @cp $(GTK_BINDIR)/libcairo*.dll win-build-dir + @cp $(GTK_BINDIR)/libexpat*.dll win-build-dir + @cp $(GTK_BINDIR)/libfontconfig*.dll win-build-dir + @cp $(GTK_BINDIR)/freetype6*.dll win-build-dir @cp $(GTK_BINDIR)/libpango*.dll win-build-dir + @cp $(GTK_BINDIR)/libpng12*.dll win-build-dir @cp $(GTK_BINDIR)/libgmodule*.dll win-build-dir @cp $(GTK_BINDIR)/libgobject*.dll win-build-dir @cp $(GTK_BINDIR)/libgthread*.dll win-build-dir @cp $(GTK_BINDIR)/libgdk_pixbuf*.dll win-build-dir + @cp $(GTK_BINDIR)/libgio*.dll win-build-dir @cp $(GTK_BINDIR)/libgdk-win*.dll win-build-dir @cp $(GTK_BINDIR)/libgtk-win*.dll win-build-dir + @cp $(GTK_BINDIR)/zlib1*.dll win-build-dir @mkdir win-build-dir/locale @cp -r locale/?? win-build-dir/locale @cp -r locale/??_?? win-build-dir/locale @@ -479,19 +493,19 @@ prepare-dist: @mkdir -p win-build-dir/etc/gtk-2.0 @echo "# GdkPixbuf Image Loader Modules file" > win-build-dir/etc/gtk-2.0/gdk-pixbuf.loaders - @mkdir -p win-build-dir/etc/pango - @cp $(GTK_BINDIR)/../etc/pango/pango.aliases win-build-dir/etc/pango - @echo "# Pango Modules file" > win-build-dir/etc/pango/pango.modules - @echo "#" >> win-build-dir/etc/pango/pango.modules - @echo "pango-basic-win32.dll BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:" >> win-build-dir/etc/pango/pango.modules - @cp $(GTK_BINDIR)/../lib/pango/1.?.?/modules/pango-basic-win32.dll win-build-dir + #@mkdir -p win-build-dir/etc/pango + #@cp $(GTK_BINDIR)/../etc/pango/pango.aliases win-build-dir/etc/pango + #@echo "# Pango Modules file" > win-build-dir/etc/pango/pango.modules + #@echo "#" >> win-build-dir/etc/pango/pango.modules + #@echo "pango-basic-win32.dll BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:" >> win-build-dir/etc/pango/pango.modules + #@cp $(GTK_BINDIR)/../lib/pango/1.?.?/modules/pango-basic-win32.dll win-build-dir - @mkdir -p win-build-dir/lib/locale + @mkdir -p win-build-dir/share/locale @for i in $(PO_LOCALES); do \ - mkdir -p win-build-dir/lib/locale/$$i/LC_MESSAGES; \ - cp $(GTK_BINDIR)/../lib/locale/$$i/LC_MESSAGES/atk*.mo win-build-dir/lib/locale/$$i/LC_MESSAGES; \ - cp $(GTK_BINDIR)/../lib/locale/$$i/LC_MESSAGES/glib*.mo win-build-dir/lib/locale/$$i/LC_MESSAGES; \ - cp $(GTK_BINDIR)/../lib/locale/$$i/LC_MESSAGES/gtk*.mo win-build-dir/lib/locale/$$i/LC_MESSAGES; \ + mkdir -p win-build-dir/share/locale/$$i/LC_MESSAGES; \ + cp $(GTK_BINDIR)/../share/locale/$$i/LC_MESSAGES/atk*.mo win-build-dir/share/locale/$$i/LC_MESSAGES; \ + cp $(GTK_BINDIR)/../share/locale/$$i/LC_MESSAGES/glib*.mo win-build-dir/share/locale/$$i/LC_MESSAGES; \ + cp $(GTK_BINDIR)/../share/locale/$$i/LC_MESSAGES/gtk*.mo win-build-dir/share/locale/$$i/LC_MESSAGES; \ done windist: dvdisaster pack-images prepare-dist diff --git a/INSTALL b/INSTALL index 7691836..1ae682c 100644 --- a/INSTALL +++ b/INSTALL @@ -148,11 +148,11 @@ Please change into a directory which is writeable for you and unpack the source code archive: user@host> cd /var/tmp -user@host> tar xjf dvdisaster-0.72.1.tar.bz2 +user@host> tar xjf dvdisaster-0.72.rc1.tar.bz2 Then change into the newly created directory: -user@host> cd /var/tmp/dvdisaster-0.72.1 +user@host> cd /var/tmp/dvdisaster-0.72.rc1 3.2. Configuring the package ---------------------------- @@ -231,7 +231,7 @@ please remove the directory you have created as described in section 3.1: user@host> cd /var/tmp -user@host> rm -rf dvdisaster-0.72.1 +user@host> rm -rf dvdisaster-0.72.rc1 5. Program documentation diff --git a/bitmap.c b/bitmap.c index ad025a1..ece0854 100644 --- a/bitmap.c +++ b/bitmap.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/build.c b/build.c index 70ceab3..310d1af 100644 --- a/build.c +++ b/build.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/build.h b/build.h index 66a38b2..cdb34f0 100644 --- a/build.h +++ b/build.h @@ -1,2 +1,2 @@ -#define BUILD 20 -#define BDATE "08.08.09 (Samstag, 20:46)" +#define BUILD 130 +#define BDATE "27.02.10 (Samstag, 19:41)" diff --git a/closure.c b/closure.c index 7388e72..fd9a868 100644 --- a/closure.c +++ b/closure.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -482,6 +482,7 @@ void ReadDotfile() if(!strcmp(symbol, "cache-size")) { Closure->cacheMB = atoi(value); continue; } if(!strcmp(symbol, "cd-size")) { Closure->cdSize = Closure->savedCDSize = atoll(value); continue; } if(!strcmp(symbol, "codec-threads")) { Closure->codecThreads = atoi(value); continue; } + if(!strcmp(symbol, "confirm-deletion")){ Closure->confirmDeletion = atoi(value); continue; } if(!strcmp(symbol, "dao")) { Closure->noTruncate = atoi(value); continue; } if(!strcmp(symbol, "defective-dump")) { Closure->defectiveDump = atoi(value); continue; } if(!strcmp(symbol, "defective-dir")) { if(Closure->dDumpDir) g_free(Closure->dDumpDir); @@ -491,7 +492,10 @@ void ReadDotfile() if(!strcmp(symbol, "dotfile-version")) { Closure->dotFileVersion = atoi(value); continue; } if(!strcmp(symbol, "dvd-size1")) { Closure->dvdSize1 = Closure->savedDVDSize1 = atoll(value); continue; } if(!strcmp(symbol, "dvd-size2")) { Closure->dvdSize2 = Closure->savedDVDSize2 = atoll(value); continue; } + if(!strcmp(symbol, "ecc-target")) { Closure->eccTarget = atoi(value); continue; } if(!strcmp(symbol, "eject")) { Closure->eject = atoi(value); continue; } + if(!strcmp(symbol, "examine-rs02")) { Closure->examineRS02 = atoi(value); continue; } + if(!strcmp(symbol, "examine-rs03")) { Closure->examineRS03 = atoi(value); continue; } if(!strcmp(symbol, "fill-unreadable")) { Closure->fillUnreadable = atoi(value); continue; } if(!strcmp(symbol, "ignore-fatal-sense")) { Closure->ignoreFatalSense = atoi(value); continue; } if(!strcmp(symbol, "internal-attempts")) { Closure->internalAttempts = atoi(value); continue; } @@ -505,7 +509,7 @@ void ReadDotfile() if(!strcmp(symbol, "max-read-attempts")) { Closure->maxReadAttempts = atoi(value); continue; } if(!strcmp(symbol, "min-read-attempts")) { Closure->minReadAttempts = atoi(value); continue; } if(!strcmp(symbol, "missing-sector-marker")) { Closure->dsmVersion = atoi(value); continue; } - if(!strcmp(symbol, "query-size")) { Closure->querySize = atoi(value); continue; } + if(!strcmp(symbol, "prefetch-sectors")){ Closure->prefetchSectors = atoi(value); continue; } if(!strcmp(symbol, "raw-mode")) { Closure->rawMode = atoi(value); continue; } if(!strcmp(symbol, "read-and-create")) { Closure->readAndCreate = atoi(value); continue; } if(!strcmp(symbol, "read-medium")) { Closure->readingPasses = atoi(value); continue; } @@ -514,7 +518,6 @@ void ReadDotfile() Closure->redundancy = g_strdup(value); continue; } if(!strcmp(symbol, "reverse-cancel-ok")) { Closure->reverseCancelOK = atoi(value); continue; } if(!strcmp(symbol, "spinup-delay")) { Closure->spinupDelay = atoi(value); continue; } - if(!strcmp(symbol, "split-files")) { Closure->splitFiles = atoi(value); continue; } if(!strcmp(symbol, "unlink")) { Closure->unlinkImage = atoi(value); continue; } if(!strcmp(symbol, "verbose")) { Closure->verbose = atoi(value); continue; } if(!strcmp(symbol, "welcome-msg")) { Closure->welcomeMessage = atoi(value); continue; } @@ -582,6 +585,7 @@ static void update_dotfile() g_fprintf(dotfile, "cache-size: %d\n", Closure->cacheMB); g_fprintf(dotfile, "cd-size: %lld\n", (long long int)Closure->cdSize); g_fprintf(dotfile, "codec-threads: %d\n", Closure->codecThreads); + g_fprintf(dotfile, "confirm-deletion: %d\n", Closure->confirmDeletion); g_fprintf(dotfile, "dao: %d\n", Closure->noTruncate); g_fprintf(dotfile, "defective-dump: %d\n", Closure->defectiveDump); g_fprintf(dotfile, "defective-dir: %s\n", Closure->dDumpDir); @@ -589,7 +593,10 @@ static void update_dotfile() g_fprintf(dotfile, "dotfile-version: %d\n", Closure->dotFileVersion); g_fprintf(dotfile, "dvd-size1: %lld\n", (long long int)Closure->dvdSize1); g_fprintf(dotfile, "dvd-size2: %lld\n", (long long int)Closure->dvdSize2); + g_fprintf(dotfile, "ecc-target: %d\n", Closure->eccTarget); g_fprintf(dotfile, "eject: %d\n", Closure->eject); + g_fprintf(dotfile, "examine-rs02: %d\n", Closure->examineRS02); + g_fprintf(dotfile, "examine-rs03: %d\n", Closure->examineRS03); g_fprintf(dotfile, "fill-unreadable: %d\n", Closure->fillUnreadable); g_fprintf(dotfile, "ignore-fatal-sense: %d\n", Closure->ignoreFatalSense); g_fprintf(dotfile, "internal-attempts: %d\n", Closure->internalAttempts); @@ -601,7 +608,7 @@ static void update_dotfile() g_fprintf(dotfile, "max-read-attempts: %d\n", Closure->maxReadAttempts); g_fprintf(dotfile, "min-read-attempts: %d\n", Closure->minReadAttempts); g_fprintf(dotfile, "missing-sector-marker: %d\n", Closure->dsmVersion); - g_fprintf(dotfile, "query-size: %d\n", Closure->querySize); + g_fprintf(dotfile, "prefetch-sectors: %d\n", Closure->prefetchSectors); g_fprintf(dotfile, "raw-mode: %d\n", Closure->rawMode); g_fprintf(dotfile, "read-and-create: %d\n", Closure->readAndCreate); g_fprintf(dotfile, "read-medium: %d\n", Closure->readingPasses); @@ -610,7 +617,6 @@ static void update_dotfile() g_fprintf(dotfile, "redundancy: %s\n", Closure->redundancy); g_fprintf(dotfile, "reverse-cancel-ok: %d\n", Closure->reverseCancelOK); g_fprintf(dotfile, "spinup-delay: %d\n", Closure->spinupDelay); - g_fprintf(dotfile, "split-files: %d\n", Closure->splitFiles); g_fprintf(dotfile, "unlink: %d\n", Closure->unlinkImage); g_fprintf(dotfile, "verbose: %d\n", Closure->verbose); g_fprintf(dotfile, "welcome-msg: %d\n\n", Closure->welcomeMessage); @@ -697,16 +703,18 @@ void InitClosure() Closure->methodName = g_strdup("RS01"); Closure->dDumpDir = g_strdup(Closure->homeDir); Closure->cacheMB = 32; + Closure->prefetchSectors = 128; Closure->codecThreads = 1; + Closure->eccTarget = 1; Closure->minReadAttempts = 1; Closure->maxReadAttempts = 1; Closure->rawMode = 0x20; Closure->internalAttempts = -1; Closure->sectorSkip = 16; Closure->spinupDelay = 5; - Closure->querySize = 2; Closure->fillUnreadable = -1; Closure->welcomeMessage = 1; + Closure->dsmVersion = 1; /* default sizes for typical CD and DVD media */ @@ -738,12 +746,9 @@ void InitClosure() DefaultColors(); memset(Closure->bs, '\b', 255); + memset(Closure->sp, ' ', 255); DefaultLogFile(); - -#ifdef SYS_MINGW - OpenAspi(); -#endif } /* @@ -903,8 +908,4 @@ void FreeClosure() g_free(Closure->readAdaptiveErrorMsg); g_free(Closure); - -#ifdef SYS_MINGW - CloseAspi(); -#endif } diff --git a/configure b/configure index 945ff9a..36e5010 100755 --- a/configure +++ b/configure @@ -19,11 +19,11 @@ fi # Set the package name and version -PACKAGE dvdisaster 0.72 +PACKAGE dvdisaster 0.79 -REL_MICRO=1 -REL_STATUS=patch -#REL_STATUS=devel +REL_MICRO=2 +#REL_STATUS=patch +REL_STATUS=devel #REL_STATUS=rc #REL_MICRO=0 @@ -38,6 +38,11 @@ case "$REL_STATUS" in *) DEFINE_VAR FULL_VERSION "\"$VERSION (${REL_STATUS}-${REL_MICRO})\"" ;; esac +# Last stable version (used only in WWW pages) + +DEFINE_VAR HAVE_EXPERIMENTAL "yes" +DEFINE_VAR STABLE_VERSION "0.72.1" + # Check for some essential tools. REQUIRE_GMAKE @@ -107,6 +112,7 @@ CFG_CFLAGS=$SAVE_CFLAGS echo CHECK_ENDIAN +CHECK_BITNESS CHECK_SSE2 # Look for required tools @@ -128,13 +134,6 @@ if ! EXECUTE_PROGRAM "gdk-pixbuf-csource --help" gdk_pixbuf_csource ; then exit 1 fi -if test $CFG_SYS_OPTIONS == -DSYS_MINGW; then - if ! EXECUTE_PROGRAM "dllwrap -version" dllwrap ; then - echo "* dllwrap not installed or path to it is missing." - echo "* You can build dvdisaster, but not the windows installer." - fi -fi - # Evaluate the --with* customization options PRINT_MESSAGE "\nAdditional configuration options:" @@ -208,12 +207,6 @@ done echo "}" >> method-link.c echo -# Temporary fix for missing rs03 sources - -if test -e rs03-includes.h; then - CFG_HAVE_OPTIONS="$CFG_HAVE_OPTIONS -DHAVE_RS03" -fi - # Okay, hopefully we've got everything together now. (cd locale; bash create-makefile) diff --git a/crc32.c b/crc32.c index 86e773c..df71f1d 100644 --- a/crc32.c +++ b/crc32.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/crcbuf.c b/crcbuf.c index 8503417..a572c17 100644 --- a/crcbuf.c +++ b/crcbuf.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/curve.c b/curve.c index 9c18af4..e9087db 100644 --- a/curve.c +++ b/curve.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/debug.c b/debug.c index 492b1e4..36138ae 100644 --- a/debug.c +++ b/debug.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -22,9 +22,7 @@ #include "dvdisaster.h" #include "rs02-includes.h" -#ifdef HAVE_RS03 - #include "rs03-includes.h" -#endif +#include "rs03-includes.h" #include "udf.h" #include @@ -274,21 +272,24 @@ static void random_error2(EccHeader *eh, char *prefix, char *arg) /* RS03 ecc images */ -#ifdef HAVE_RS03 static void random_error3(EccHeader *eh, char *prefix, char *arg) { RS03Layout *lay; ImageInfo *ii; + LargeFile *eccfile = NULL; gint64 si; - guint64 hpos; - guint64 end; - guint64 header[42]; int block_sel[255]; int i,percent,last_percent = 0; - int hidx,n_errors,erase_max = 0; - double eras_scale, blk_scale, hdr_scale; + int n_errors,erase_max = 0; + double eras_scale, blk_scale; SRandom(Closure->randomSeed); - lay = CalcRS03Layout(uchar_to_gint64(eh->sectors), eh->eccBytes); + + + /*** Calculate the layout */ + + if(eh->methodFlags[0] & MFLAG_ECC_FILE) + lay = CalcRS03Layout(uchar_to_gint64(eh->sectors), eh, ECC_FILE); + else lay = CalcRS03Layout(uchar_to_gint64(eh->sectors), eh, ECC_IMAGE); n_errors = atoi(arg); @@ -302,50 +303,21 @@ static void random_error3(EccHeader *eh, char *prefix, char *arg) eras_scale = (n_errors+1)/((double)MY_RAND_MAX+1.0); blk_scale = (double)255.0/((double)MY_RAND_MAX+1.0); - /*** Open the image file */ ii = OpenImageFile(NULL, WRITEABLE_IMAGE); - - PrintLog(_("\nGenerating random correctable erasures (for %d roots, max erasures = %d).\n"), eh->eccBytes, n_errors); - - /*** Randomly delete some ecc headers */ - - header[0] = lay->firstEccHeader; - hidx = 1; - - hpos = (lay->lastCrcSector + lay->headerModulo - 1) / lay->headerModulo; - hpos *= lay->headerModulo; - end = lay->eccSectors+lay->dataSectors; - - while(hpos < end) /* Calculate positions of all headers */ - { - header[hidx++] = hpos; - hpos += lay->headerModulo; + if(lay->target == ECC_FILE) + { eccfile = LargeOpen(Closure->eccName, O_RDWR, IMG_PERMS); + if(!eccfile) + Stop(_("Could not open %s: %s"),Closure->eccName, strerror(errno)); } - /* Pick one header to remain intact. - Currently this must be one of the repeated headers */ - - hdr_scale = (double)(hidx-1)/((double)MY_RAND_MAX+1.0); - header[(int)(hdr_scale*(double)Random())+1] = 0; - - for(i=0; i0) - { unsigned char missing[2048]; - - if(!LargeSeek(ii->file, (gint64)(2048*s))) - Stop(_("Failed seeking to sector %lld in image: %s"), s, strerror(errno)); - - CreateMissingSector(missing, s, ii->mediumFP, FINGERPRINT_SECTOR, NULL); - - if(LargeWrite(ii->file, missing, 2048) != 2048) - Stop(_("Failed writing to sector %lld in image: %s"), s, strerror(errno)); - } - } + if(lay->target == ECC_FILE) + PrintLog(_("\nRS03 error correction file with %d roots.\n"), eh->eccBytes); + else PrintLog(_("\nRS03 augmented image with %d roots.\n"), eh->eccBytes); + PrintLog(_("Generating at most %d random correctable erasures.\n"), n_errors); /*** Randomly delete the blocks */ @@ -375,18 +347,35 @@ static void random_error3(EccHeader *eh, char *prefix, char *arg) for(i=0; i<255; i++) { if(block_sel[i]) - { unsigned char missing[2048]; + { LargeFile *file = ii->file; + unsigned char missing[2048]; gint64 s; s = RS03SectorIndex(lay, i, si); - if(s<0) continue; /* non-existing padding sector */ - if(!LargeSeek(ii->file, (gint64)(2048*s))) + if(s == 16) /* FIXME: not implemented */ + continue; + + if(s == lay->eccHeaderPos || s == lay->eccHeaderPos+1) + continue; /* FIXME: not implemented */ + + /* Do not write out the virtual padding sectors + in ecc file case */ + + if(lay->target == ECC_FILE + && i<=lay->ndata-1 + && s>=lay->dataSectors) + continue; + + if(lay->target == ECC_FILE && i>=lay->ndata-1) + file = eccfile; + + if(!LargeSeek(file, (gint64)(2048*s))) Stop(_("Failed seeking to sector %lld in image: %s"), s, strerror(errno)); CreateMissingSector(missing, s, ii->mediumFP, FINGERPRINT_SECTOR, NULL); - if(LargeWrite(ii->file, missing, 2048) != 2048) + if(LargeWrite(file, missing, 2048) != 2048) Stop(_("Failed writing to sector %lld in image: %s"), s, strerror(errno)); } } @@ -403,13 +392,14 @@ static void random_error3(EccHeader *eh, char *prefix, char *arg) "Otherwise you'll accumulate >= %d erasures/ECC block and the image will be lost.\n"), n_errors); + if(eccfile) + LargeClose(eccfile); FreeImageInfo(ii); g_free(lay); } -#endif void RandomError(char *prefix, char *arg) -{ Method *method = EccFileMethod(TRUE); +{ Method *method = EccMethod(TRUE); char buf[5]; if(!strncmp(method->name, "RS01", 4)) @@ -423,12 +413,11 @@ void RandomError(char *prefix, char *arg) } /* FIXME: currently only handles augmented images */ -#ifdef HAVE_RS03 + if(!strncmp(method->name, "RS03", 4)) { random_error3(method->lastEh, prefix, arg); return; } -#endif strncpy(buf, method->name, 4); buf[4] = 0; Stop("Don't know how to handle codec %s\n", buf); @@ -1292,3 +1281,31 @@ void MergeImages(char *arg, int mode) LargeClose(left); LargeClose(right); } + +/* + * Print LaTeX'ed table of Galois fields and other matrices + */ + +void LaTeXify(gint32 *table , int rows, int columns) +{ int x,y; + + printf("\\begin{tabular}{|l||"); + for(x=0; x - dvdisaster + Herunterladen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -98,18 +99,16 @@ beliebigen Stelle aus. Bitte beachten Sie die rufen Sie das Programm nach dem Herunterladen auf und folgen dem Dialog. - - -
 
+ist 0.79 (devel-2). +

Stabile Version - zum Einstieg empfohlen

+

Neuigkeiten
Überblick
·Systemvoraussetzungen
·Digitale Unterschrift
·Installation
·Alpha-/Entwicklerversionen
·Zusätzliche Papiere
Fragen und Antworten
@@ -117,17 +116,19 @@ ist 0.72 (pl1). @@ -150,8 +151,9 @@ Grundlegende Neuerungen in dieser Version:

Patches (kleine Änderungen nach Version 0.72; die obigen Dateien wurden erneuert):

0.72 pl1 Pablo Almeida hat die Bildschirmtexte ins Portugiesische übersetzt. -Es wurde ein Workaround eingebaut um das Einfrieren von Windows XP bei bestimmten Kombinationen -von CD-RW-Rohlingen und Laufwerken zu verhindern. (08-Aug-2009)

+Es wurde eine Umgehungslösung eingebaut um das Einfrieren von Windows XP bei bestimmten Kombinationen +von CD-RW-Rohlingen und Laufwerken zu verhindern. (08-Aug-2009)
+Hinweis: Die Umgehungslösung hat sich als nicht immer wirksam herausgestellt. Eine bessere Lösung ist in Version 0.79.x enthalten; diese läßt sich leider nicht so einfach in die stabile Version zurückportieren. (06-Feb-2010)

0.72 Dies ist die erste stabile Version des 0.72er-Zweiges. Igor Gorbounov hat die russische online-Dokumentation vervollständigt @@ -165,6 +167,13 @@ erfolgen. (04-Jul-2009)

0.72-rc1 Erster Kandidat für die stabile Version. (11-Apr-2009)

dvdisaster-0.7208-Aug-2009
- + - + - + - + - + - + + +
  Quellkode für alle Betriebssysteme: dvdisaster-0.72.1.tar.bz2
dvdisaster-0.72.1.tar.bz2
Digitale Unterschrift: dvdisaster-0.72.1.tar.bz2.gpg
dvdisaster-0.72.1.tar.bz2.gpg
Binärversion für Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- bitte erst den Hinweis lesen
dvdisaster-0.72.1.app.zip -- bitte erst den Hinweis lesen
Digitale Unterschrift: dvdisaster-0.72.1.app.zip.gpg
dvdisaster-0.72.1.app.zip.gpg
Binärversion für Windows: dvdisaster-0.72.1-setup.exe
dvdisaster-0.72.1-setup.exe
Digitale Unterschrift: dvdisaster-0.72.1-setup.exe.gpg
dvdisaster-0.72.1-setup.exe.gpg
Ältere Veröffentlichungen des 0.72er-Versionszweiges anzeigen

+Falls kein Herunterladen über die obigen Links möglich ist, +versuchen Sie bitte dvdisaster über +SourceForge +zu bekommen. + +

 
+ Vorangegangene Version - eine Aktualisierung auf Version 0.72 wird empfohlen.

@@ -173,13 +182,13 @@ erfolgen. (04-Jul-2009)

@@ -249,14 +258,16 @@ betrachtet werden. Einige interessante Dateien darin sind: + +
- + - + - + - +
  Quellkode für alle Betriebssysteme: dvdisaster-0.70.6.tar.bz2
dvdisaster-0.70.6.tar.bz2
Digitale Unterschrift: dvdisaster-0.70.6.tar.bz2.gpg
dvdisaster-0.70.6.tar.bz2.gpg
Binärversion für Windows: dvdisaster-0.70.6-setup.exe
dvdisaster-0.70.6-setup.exe
Digitale Unterschrift: dvdisaster-0.70.6-setup.exe.gpg
dvdisaster-0.70.6-setup.exe.gpg
@@ -269,7 +280,7 @@ betrachtet werden. Einige interessante Dateien darin sind: - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/download.php b/documentation/de/download.php index f3404d2..c1f72a7 100644 --- a/documentation/de/download.php +++ b/documentation/de/download.php @@ -1,6 +1,6 @@ @@ -38,18 +39,22 @@ beliebigen Stelle aus. Bitte beachten Sie die rufen Sie das Programm nach dem Herunterladen auf und folgen dem Dialog. - - -

 
+

+ Stabile Version - zum Einstieg empfohlen

+ @@ -57,17 +62,43 @@ ist . @@ -90,8 +121,9 @@ Grundlegende Neuerungen in dieser Version:

Patches (kleine Änderungen nach Version 0.72; die obigen Dateien wurden erneuert):

0.72 pl1 Pablo Almeida hat die Bildschirmtexte ins Portugiesische übersetzt. -Es wurde ein Workaround eingebaut um das Einfrieren von Windows XP bei bestimmten Kombinationen -von CD-RW-Rohlingen und Laufwerken zu verhindern. (08-Aug-2009)

+Es wurde eine Umgehungslösung eingebaut um das Einfrieren von Windows XP bei bestimmten Kombinationen +von CD-RW-Rohlingen und Laufwerken zu verhindern. (08-Aug-2009)
+Hinweis: Die Umgehungslösung hat sich als nicht immer wirksam herausgestellt. Eine bessere Lösung ist in Version 0.79.x enthalten; diese läßt sich leider nicht so einfach in die stabile Version zurückportieren. (06-Feb-2010)

0.72 Dies ist die erste stabile Version des 0.72er-Zweiges. Igor Gorbounov hat die russische online-Dokumentation vervollständigt @@ -105,6 +137,13 @@ erfolgen. (04-Jul-2009)

0.72-rc1 Erster Kandidat für die stabile Version. (11-Apr-2009)

dvdisaster-0.7208-Aug-2009
- + - + - + - + - + - + + + + + + + + + + + + + + + + + + + +
  Quellkode für alle Betriebssysteme: dvdisaster-0.72.1.tar.bz2
dvdisaster-0.72.1.tar.bz2
Digitale Unterschrift: dvdisaster-0.72.1.tar.bz2.gpg
dvdisaster-0.72.1.tar.bz2.gpg
Binärversion für Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- bitte erst den Hinweis lesen
dvdisaster-0.72.1.app.zip -- bitte erst den Hinweis lesen
Digitale Unterschrift: dvdisaster-0.72.1.app.zip.gpg
dvdisaster-0.72.1.app.zip.gpg
Binärversion für Windows: dvdisaster-0.72.1-setup.exe
dvdisaster-0.72.1-setup.exe
Digitale Unterschrift: dvdisaster-0.72.1-setup.exe.gpg
dvdisaster-0.72.1-setup.exe.gpg
Ältere Veröffentlichungen des 0.72er-Versionszweiges anzeigen
Ältere Veröffentlichungen des 0.72er-Versionszweiges verbergen
  Quellkode für alle Betriebssysteme: dvdisaster-0.72.tar.bz2
Digitale Unterschrift: dvdisaster-0.72.tar.bz2.gpg
Binärversion für Mac OS X 10.5 / x86: dvdisaster-0.72.app.zip -- bitte erst den Hinweis lesen
Digitale Unterschrift: dvdisaster-0.72.app.zip.gpg
Binärversion für Windows: dvdisaster-0.72-setup.exe
Digitale Unterschrift: dvdisaster-0.72-setup.exe.gpg

+Falls kein Herunterladen über die obigen Links möglich ist, +versuchen Sie bitte dvdisaster über +SourceForge +zu bekommen. + +

 
+ Vorangegangene Version - eine Aktualisierung auf Version 0.72 wird empfohlen.

@@ -113,13 +152,13 @@ erfolgen. (04-Jul-2009)

diff --git a/documentation/de/download10.html b/documentation/de/download10.html index 1038d5d..9e6ab2a 100644 --- a/documentation/de/download10.html +++ b/documentation/de/download10.html @@ -1,7 +1,7 @@ - dvdisaster + Systemvoraussetzungen @@ -11,7 +11,7 @@
- + - + - + - +
  Quellkode für alle Betriebssysteme: dvdisaster-0.70.6.tar.bz2
dvdisaster-0.70.6.tar.bz2
Digitale Unterschrift: dvdisaster-0.70.6.tar.bz2.gpg
dvdisaster-0.70.6.tar.bz2.gpg
Binärversion für Windows: dvdisaster-0.70.6-setup.exe
dvdisaster-0.70.6-setup.exe
Digitale Unterschrift: dvdisaster-0.70.6-setup.exe.gpg
dvdisaster-0.70.6-setup.exe.gpg
dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -86,18 +87,19 @@

Betriebssysteme

+Das dvdisaster-Projekt empfiehlt GNU/Linux. +
    +
  • GNU/Linux ab Kernel 2.6.7 (empfohlen: 2.6.26)

    +

  • FreeBSD ab Version 6.0
    (für ATAPI-Laufwerke muß das Kernelmodul atapicam geladen werden - siehe INSTALL-Dokument)

  • -
  • GNU/Linux ab Kernel 2.6.7

    -

  • +
  • NetBSD ab Version 3.1.

  • Mac OS X ab Version 10.4 (Tiger),
    auf x86 und PowerPC-Hardware.

  • -
  • NetBSD ab Version 3.1.

  • - -
  • Windows 2000, Windows XP oder Windows Vista (R). +
  • Windows 2000 SP4 oder neuer.
@@ -106,14 +108,16 @@ + +
Neuigkeiten
Überblick
·Systemvoraussetzungen
·Digitale Unterschrift
·Installation
·Alpha-/Entwicklerversionen
·Zusätzliche Papiere
Fragen und Antworten
@@ -126,7 +130,7 @@ - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/download10.php b/documentation/de/download10.php index 49796b3..b09af8b 100644 --- a/documentation/de/download10.php +++ b/documentation/de/download10.php @@ -1,6 +1,6 @@ Betriebssysteme +Das dvdisaster-Projekt empfiehlt GNU/Linux. +

    +
  • GNU/Linux ab Kernel 2.6.7 (empfohlen: 2.6.26)

    +

  • FreeBSD ab Version 6.0
    (für ATAPI-Laufwerke muß das Kernelmodul atapicam geladen werden - siehe INSTALL-Dokument)

  • -
  • GNU/Linux ab Kernel 2.6.7

    -

  • +
  • NetBSD ab Version 3.1.

  • Mac OS X ab Version 10.4 (Tiger),
    auf x86 und PowerPC-Hardware.

  • -
  • NetBSD ab Version 3.1.

  • - -
  • Windows 2000, Windows XP oder Windows Vista (R). +
  • Windows 2000 SP4 oder neuer.
diff --git a/documentation/de/download20.html b/documentation/de/download20.html index bf2bda9..d6ed843 100644 --- a/documentation/de/download20.html +++ b/documentation/de/download20.html @@ -1,7 +1,7 @@ - dvdisaster + Digitale Unterschrift @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -103,14 +104,16 @@ den Betreff "GPG finger print". + +
Neuigkeiten
Überblick
·Systemvoraussetzungen
·Digitale Unterschrift
·Installation
·Alpha-/Entwicklerversionen
·Zusätzliche Papiere
Fragen und Antworten
@@ -123,7 +126,7 @@ den Betreff "GPG finger print". - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/download20.php b/documentation/de/download20.php index f55fd60..34ac93b 100644 --- a/documentation/de/download20.php +++ b/documentation/de/download20.php @@ -1,6 +1,6 @@ - dvdisaster + Installation @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -117,7 +118,7 @@ Für die Windows-Version gilt übrigens sinngemäß das Gleiche ;-)

Installieren der Binärversion für Windows

Zum Installieren der Windows-Version führen Sie bitte das -Installations-Programm (z.B. dvdisaster-0.72.1-setup.exe) +Installations-Programm (z.B. dvdisaster-0.79.2-setup.exe) aus. Es enthält einen Dialog zum Einrichten von dvdisaster.

Warnung: Sie können dvdisaster nicht installieren, indem Sie @@ -133,14 +134,16 @@ zusammenhängen. + +

Neuigkeiten
Überblick
·Systemvoraussetzungen
·Digitale Unterschrift
·Installation
·Alpha-/Entwicklerversionen
·Zusätzliche Papiere
Fragen und Antworten
@@ -153,7 +156,7 @@ zusammenhängen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/download30.php b/documentation/de/download30.php index 86e22ee..cc69c0a 100644 --- a/documentation/de/download30.php +++ b/documentation/de/download30.php @@ -1,6 +1,6 @@ + + + Alpha-/Entwicklerversionen + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  Zur Internet-Version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Inhalt + + + + +

+ + + + + + + + + + + + + + + + + + +
Neuigkeiten
Überblick
Typische Anwendungen
Herunterladen
·Systemvoraussetzungen
·Digitale Unterschrift
·Installation
·Alpha-/Entwicklerversionen
·Zusätzliche Papiere
Fragen und Antworten
Fehler berichten
+

+
+ + + +

Alpha-/Entwicklerversionen

+ +Helfen Sie beim Testen! Hier finden Sie experimentelle +dvdisaster-Versionen, die auf dem Weg zur nächsten "stabilen" Version +entstehen.

+ +Ein Wort der Vorsicht: Diese Version befindet sich noch im +Entwicklungsvorgang und einige Teile sind noch nicht fertig. Sie kann +Programmfehler enthalten und nicht offensichtliche Fehlfunktionen haben, +auch in Teilen die in älteren Versionen bereits funktionierten. +Bearbeiten Sie mit dieser Version keine wichtigen Daten und +verwenden Sie die erzeugten Abbilder und Fehlerkorrektur-Daten +nicht für Archivierungszwecke; dafür +ist die stabile Version 0.72 gedacht. + +


+ +

Geplante Änderungen in der neuen Version

+ +Allgemein: + +
    +
  • Einbauen mehrerer kleinerer Erweiterungen, die während des langen +0.72er-Entwicklungszyklus liegengeblieben sind. [noch nicht angefangen]
  • +
  • Entfernung nicht mehr benötigter Funktionen. [fertig]
  • +
  • Aufräumen der Kodebasis und Vorbereitung für Multithreading und +Mehrkernprozessoren. [in Bearbeitung]
  • +
  • Entwicklung des Multithreading-fähigen RS03-Kodierers [in Bearbeitung]
  • +
  • Dokumentation von RS03. [noch nicht angefangen]
  • +
+ +Windows: + +
    +
  • Aktualisierung des GTK+-Toolkits und der übrigen Entwicklungsumgebung. [fertig]
  • +
  • Erhöhen der Systemvoraussetzungen auf Windows 2000 oder neuer (ältere +Windows-Versionen werden von der Entwicklungsumgebung nicht mehr unterstützt). +Damit wird auch die Unterstützung von ASPI-Treibern und das Aufteilen von +Dateien in 2G-Segmente überflüssig. [fertig]
  • +
+ +MacOS: + +
    +
  • Aktualisierung des GTK+-Toolkits und weitere Workarounds für die +Benutzeroberfläche. [in Bearbeitung]
  • +
+ +
+ +

Herunterladen

+ + +Die Alpha-Versionen verwenden das gleiche Paketformat wie die normalen +Versionen.

+ + + + + + +
dvdisaster-0.7928-Feb-2010
+ + + + + + + + + + + + + + + +
  Quellkode für alle Betriebssysteme: dvdisaster-0.79.2.tar.bz2
Digitale Unterschrift: dvdisaster-0.79.2.tar.bz2.gpg
Binärversion für Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- bitte erst den Hinweis lesen
Digitale Unterschrift: dvdisaster-0.79.2.app.zip.gpg
Binärversion für Windows: dvdisaster-0.79.2-setup.exe
Digitale Unterschrift: dvdisaster-0.79.2-setup.exe.gpg
Ältere Veröffentlichungen des 0.79er-Versionszweiges anzeigen
+
+ +Alle Plattformen: Diese Versionen enthalten umfangreiche Änderungen an +den inneren Strukturen im Vergleich zu Version 0.72.x. Bitte verwenden Sie sie +mit Vorsicht.

+ +0.79.2 (28-Feb-2010)
+

    +
  • Für Mac OS X ist wieder ein Binärpaket verfügbar. Die Entwicklungsumgebung +wurde auf einen aktuellen Stand gebracht; dies hat einige Probleme mit der +graphischen Darstellung behoben. +
  • +
  • +Die Entwicklung von RS03 schreitet weiter voran, +ist aber noch längst nicht abgeschlossen. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • Die SCSI-Schicht enthält eine Umgehungslösung für fehlerhafte Chipsätze, +die in neueren Laufwerken verbaut sein können. Das Ausführen einer Lese- oder +"Prüfen"-Operation kann bei diesen Laufwerken dazu führen daß das System +einfriert. Das Problem ist besonders ausgeprägt bei Windows XP, kann aber +auch bei anderen Betriebssystemen auftreten. Bitte testen Sie ob die +betroffenen Laufwerke nun korrekt arbeiten, und ob keine Fehlfunktionen +bei Laufwerken auftreten, deren Verhalten vorher in Ordnung war.
  • +
  • Eine Referenz-Implementierung +des RS03-Kodierers ist enthalten. +Diese Version dient hauptsächlich dazu, daß interessierte Personen den +Kodierer mit seiner Spezifikation vergleichen +können. Seien Sie vorsichtig und verwenden Sie ihn nicht für produktives +Arbeiten. Die endgültige Version wird mit dvdisaster 0.80 veröffentlicht.
  • +
+Windows: Die gesamte Entwicklungsumgebung einschließlich der mitgelieferten +Programmbibliotheken wurde erneuert. Bitte probieren Sie aus ob die +graphische Benutzeroberfläche und die Übersetzungen der Bildschirmtexte +wie erwartet angezeigt werden. +

+ + + +

+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt. +
+
+
+ + diff --git a/documentation/de/download40.php b/documentation/de/download40.php index f4a22f2..ffb3c20 100644 --- a/documentation/de/download40.php +++ b/documentation/de/download40.php @@ -1,6 +1,6 @@ @@ -20,40 +21,142 @@ begin_page(); dvdisaster-Versionen, die auf dem Weg zur nächsten "stabilen" Version entstehen.

-Ein Wort der Vorsicht: Alpha-Versionen sind nicht so intensiv getestet -wie die stabilen Versionen. Sie können mehr Fehler enthalten und -sollten nicht zum Bearbeiten von wichtigen Daten -verwendet werden.

+Ein Wort der Vorsicht: Diese Version befindet sich noch im +Entwicklungsvorgang und einige Teile sind noch nicht fertig. Sie kann +Programmfehler enthalten und nicht offensichtliche Fehlfunktionen haben, +auch in Teilen die in älteren Versionen bereits funktionierten. +Bearbeiten Sie mit dieser Version keine wichtigen Daten und +verwenden Sie die erzeugten Abbilder und Fehlerkorrektur-Daten +nicht für Archivierungszwecke; dafür +ist die stabile Version 0.72 gedacht. -Verwenden Sie im Zweifelsfall die stabile Version 0.72 -und warten Sie auf die Veröffentlichung von Version 0.74. +


+ +

Geplante Änderungen in der neuen Version

+ +Allgemein: + +
    +
  • Einbauen mehrerer kleinerer Erweiterungen, die während des langen +0.72er-Entwicklungszyklus liegengeblieben sind. [noch nicht angefangen]
  • +
  • Entfernung nicht mehr benötigter Funktionen. [fertig]
  • +
  • Aufräumen der Kodebasis und Vorbereitung für Multithreading und +Mehrkernprozessoren. [in Bearbeitung]
  • +
  • Entwicklung des Multithreading-fähigen RS03-Kodierers [in Bearbeitung]
  • +
  • Dokumentation von RS03. [noch nicht angefangen]
  • +
+ +Windows: + +
    +
  • Aktualisierung des GTK+-Toolkits und der übrigen Entwicklungsumgebung. [fertig]
  • +
  • Erhöhen der Systemvoraussetzungen auf Windows 2000 oder neuer (ältere +Windows-Versionen werden von der Entwicklungsumgebung nicht mehr unterstützt). +Damit wird auch die Unterstützung von ASPI-Treibern und das Aufteilen von +Dateien in 2G-Segmente überflüssig. [fertig]
  • +
+ +MacOS: + +
    +
  • Aktualisierung des GTK+-Toolkits und weitere Workarounds für die +Benutzeroberfläche. [in Bearbeitung]
  • +

Herunterladen

+ Die Alpha-Versionen verwenden das gleiche Paketformat wie die normalen Versionen.

- +
dvdisaster-0.73 (devel1)xx-XXX-2009
dvdisaster-0.7928-Feb-2010
- + - + + + + + - + - - + + + + + + + + + + + + + + + + +
  Quellkode für alle Betriebssysteme: dvdisaster-0.73.1.tar.bz2
dvdisaster-0.79.2.tar.bz2
Digitale Unterschrift: dvdisaster-0.73.1.tar.bz2.gpg
dvdisaster-0.79.2.tar.bz2.gpg
Binärversion für Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- bitte erst den Hinweis lesen
Digitale Unterschrift: dvdisaster-0.79.2.app.zip.gpg
Binärversion für Windows: dvdisaster-0.73.1-setup.exe
dvdisaster-0.79.2-setup.exe
Digitale Unterschrift: dvdisaster-0.73.1-setup.exe.gpg
dvdisaster-0.79.2-setup.exe.gpg
Ältere Veröffentlichungen des 0.79er-Versionszweiges anzeigen
Ältere Veröffentlichungen des 0.79er-Versionszweiges verbergen
  Quellkode für alle Betriebssysteme: dvdisaster-0.79.1.tar.bz2
Digitale Unterschrift: dvdisaster-0.79.1.tar.bz2.gpg
Binärversion für Windows: dvdisaster-0.79.1-setup.exe
Digitale Unterschrift: dvdisaster-0.79.1-setup.exe.gpg
-Not yet released. + +Alle Plattformen: Diese Versionen enthalten umfangreiche Änderungen an +den inneren Strukturen im Vergleich zu Version 0.72.x. Bitte verwenden Sie sie +mit Vorsicht.

+ +0.79.2 (28-Feb-2010)
+

    +
  • Für Mac OS X ist wieder ein Binärpaket verfügbar. Die Entwicklungsumgebung +wurde auf einen aktuellen Stand gebracht; dies hat einige Probleme mit der +graphischen Darstellung behoben. +
  • +
  • +Die Entwicklung von RS03 schreitet weiter voran, +ist aber noch längst nicht abgeschlossen. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • Die SCSI-Schicht enthält eine Umgehungslösung für fehlerhafte Chipsätze, +die in neueren Laufwerken verbaut sein können. Das Ausführen einer Lese- oder +"Prüfen"-Operation kann bei diesen Laufwerken dazu führen daß das System +einfriert. Das Problem ist besonders ausgeprägt bei Windows XP, kann aber +auch bei anderen Betriebssystemen auftreten. Bitte testen Sie ob die +betroffenen Laufwerke nun korrekt arbeiten, und ob keine Fehlfunktionen +bei Laufwerken auftreten, deren Verhalten vorher in Ordnung war.
  • +
  • Eine Referenz-Implementierung +des RS03-Kodierers ist enthalten. +Diese Version dient hauptsächlich dazu, daß interessierte Personen den +Kodierer mit seiner Spezifikation vergleichen +können. Seien Sie vorsichtig und verwenden Sie ihn nicht für produktives +Arbeiten. Die endgültige Version wird mit dvdisaster 0.80 veröffentlicht.
  • +
+Windows: Die gesamte Entwicklungsumgebung einschließlich der mitgelieferten +Programmbibliotheken wurde erneuert. Bitte probieren Sie aus ob die +graphische Benutzeroberfläche und die Übersetzungen der Bildschirmtexte +wie erwartet angezeigt werden.

diff --git a/documentation/de/download40_showall=0.html b/documentation/de/download40_showall=0.html new file mode 100644 index 0000000..6ccba13 --- /dev/null +++ b/documentation/de/download40_showall=0.html @@ -0,0 +1,234 @@ + + + + Alpha-/Entwicklerversionen + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  Zur Internet-Version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Inhalt + + + + +

+ + + + + + + + + + + + + + + + + + +
Neuigkeiten
Überblick
Typische Anwendungen
Herunterladen
·Systemvoraussetzungen
·Digitale Unterschrift
·Installation
·Alpha-/Entwicklerversionen
·Zusätzliche Papiere
Fragen und Antworten
Fehler berichten
+

+
+ + + +

Alpha-/Entwicklerversionen

+ +Helfen Sie beim Testen! Hier finden Sie experimentelle +dvdisaster-Versionen, die auf dem Weg zur nächsten "stabilen" Version +entstehen.

+ +Ein Wort der Vorsicht: Diese Version befindet sich noch im +Entwicklungsvorgang und einige Teile sind noch nicht fertig. Sie kann +Programmfehler enthalten und nicht offensichtliche Fehlfunktionen haben, +auch in Teilen die in älteren Versionen bereits funktionierten. +Bearbeiten Sie mit dieser Version keine wichtigen Daten und +verwenden Sie die erzeugten Abbilder und Fehlerkorrektur-Daten +nicht für Archivierungszwecke; dafür +ist die stabile Version 0.72 gedacht. + +


+ +

Geplante Änderungen in der neuen Version

+ +Allgemein: + +
    +
  • Einbauen mehrerer kleinerer Erweiterungen, die während des langen +0.72er-Entwicklungszyklus liegengeblieben sind. [noch nicht angefangen]
  • +
  • Entfernung nicht mehr benötigter Funktionen. [fertig]
  • +
  • Aufräumen der Kodebasis und Vorbereitung für Multithreading und +Mehrkernprozessoren. [in Bearbeitung]
  • +
  • Entwicklung des Multithreading-fähigen RS03-Kodierers [in Bearbeitung]
  • +
  • Dokumentation von RS03. [noch nicht angefangen]
  • +
+ +Windows: + +
    +
  • Aktualisierung des GTK+-Toolkits und der übrigen Entwicklungsumgebung. [fertig]
  • +
  • Erhöhen der Systemvoraussetzungen auf Windows 2000 oder neuer (ältere +Windows-Versionen werden von der Entwicklungsumgebung nicht mehr unterstützt). +Damit wird auch die Unterstützung von ASPI-Treibern und das Aufteilen von +Dateien in 2G-Segmente überflüssig. [fertig]
  • +
+ +MacOS: + +
    +
  • Aktualisierung des GTK+-Toolkits und weitere Workarounds für die +Benutzeroberfläche. [in Bearbeitung]
  • +
+ +
+ +

Herunterladen

+ + +Die Alpha-Versionen verwenden das gleiche Paketformat wie die normalen +Versionen.

+ + + + + + +
dvdisaster-0.7928-Feb-2010
+ + + + + + + + + + + + + + + +
  Quellkode für alle Betriebssysteme: dvdisaster-0.79.2.tar.bz2
Digitale Unterschrift: dvdisaster-0.79.2.tar.bz2.gpg
Binärversion für Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- bitte erst den Hinweis lesen
Digitale Unterschrift: dvdisaster-0.79.2.app.zip.gpg
Binärversion für Windows: dvdisaster-0.79.2-setup.exe
Digitale Unterschrift: dvdisaster-0.79.2-setup.exe.gpg
Ältere Veröffentlichungen des 0.79er-Versionszweiges anzeigen
+
+ +Alle Plattformen: Diese Versionen enthalten umfangreiche Änderungen an +den inneren Strukturen im Vergleich zu Version 0.72.x. Bitte verwenden Sie sie +mit Vorsicht.

+ +0.79.2 (28-Feb-2010)
+

    +
  • Für Mac OS X ist wieder ein Binärpaket verfügbar. Die Entwicklungsumgebung +wurde auf einen aktuellen Stand gebracht; dies hat einige Probleme mit der +graphischen Darstellung behoben. +
  • +
  • +Die Entwicklung von RS03 schreitet weiter voran, +ist aber noch längst nicht abgeschlossen. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • Die SCSI-Schicht enthält eine Umgehungslösung für fehlerhafte Chipsätze, +die in neueren Laufwerken verbaut sein können. Das Ausführen einer Lese- oder +"Prüfen"-Operation kann bei diesen Laufwerken dazu führen daß das System +einfriert. Das Problem ist besonders ausgeprägt bei Windows XP, kann aber +auch bei anderen Betriebssystemen auftreten. Bitte testen Sie ob die +betroffenen Laufwerke nun korrekt arbeiten, und ob keine Fehlfunktionen +bei Laufwerken auftreten, deren Verhalten vorher in Ordnung war.
  • +
  • Eine Referenz-Implementierung +des RS03-Kodierers ist enthalten. +Diese Version dient hauptsächlich dazu, daß interessierte Personen den +Kodierer mit seiner Spezifikation vergleichen +können. Seien Sie vorsichtig und verwenden Sie ihn nicht für produktives +Arbeiten. Die endgültige Version wird mit dvdisaster 0.80 veröffentlicht.
  • +
+Windows: Die gesamte Entwicklungsumgebung einschließlich der mitgelieferten +Programmbibliotheken wurde erneuert. Bitte probieren Sie aus ob die +graphische Benutzeroberfläche und die Übersetzungen der Bildschirmtexte +wie erwartet angezeigt werden. +

+ + + +

+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt. +
+
+
+ + diff --git a/documentation/de/download40_showall=1.html b/documentation/de/download40_showall=1.html new file mode 100644 index 0000000..850c075 --- /dev/null +++ b/documentation/de/download40_showall=1.html @@ -0,0 +1,250 @@ + + + + Alpha-/Entwicklerversionen + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  Zur Internet-Version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Inhalt + + + + +

+ + + + + + + + + + + + + + + + + + +
Neuigkeiten
Überblick
Typische Anwendungen
Herunterladen
·Systemvoraussetzungen
·Digitale Unterschrift
·Installation
·Alpha-/Entwicklerversionen
·Zusätzliche Papiere
Fragen und Antworten
Fehler berichten
+

+
+ + + +

Alpha-/Entwicklerversionen

+ +Helfen Sie beim Testen! Hier finden Sie experimentelle +dvdisaster-Versionen, die auf dem Weg zur nächsten "stabilen" Version +entstehen.

+ +Ein Wort der Vorsicht: Diese Version befindet sich noch im +Entwicklungsvorgang und einige Teile sind noch nicht fertig. Sie kann +Programmfehler enthalten und nicht offensichtliche Fehlfunktionen haben, +auch in Teilen die in älteren Versionen bereits funktionierten. +Bearbeiten Sie mit dieser Version keine wichtigen Daten und +verwenden Sie die erzeugten Abbilder und Fehlerkorrektur-Daten +nicht für Archivierungszwecke; dafür +ist die stabile Version 0.72 gedacht. + +


+ +

Geplante Änderungen in der neuen Version

+ +Allgemein: + +
    +
  • Einbauen mehrerer kleinerer Erweiterungen, die während des langen +0.72er-Entwicklungszyklus liegengeblieben sind. [noch nicht angefangen]
  • +
  • Entfernung nicht mehr benötigter Funktionen. [fertig]
  • +
  • Aufräumen der Kodebasis und Vorbereitung für Multithreading und +Mehrkernprozessoren. [in Bearbeitung]
  • +
  • Entwicklung des Multithreading-fähigen RS03-Kodierers [in Bearbeitung]
  • +
  • Dokumentation von RS03. [noch nicht angefangen]
  • +
+ +Windows: + +
    +
  • Aktualisierung des GTK+-Toolkits und der übrigen Entwicklungsumgebung. [fertig]
  • +
  • Erhöhen der Systemvoraussetzungen auf Windows 2000 oder neuer (ältere +Windows-Versionen werden von der Entwicklungsumgebung nicht mehr unterstützt). +Damit wird auch die Unterstützung von ASPI-Treibern und das Aufteilen von +Dateien in 2G-Segmente überflüssig. [fertig]
  • +
+ +MacOS: + +
    +
  • Aktualisierung des GTK+-Toolkits und weitere Workarounds für die +Benutzeroberfläche. [in Bearbeitung]
  • +
+ +
+ +

Herunterladen

+ + +Die Alpha-Versionen verwenden das gleiche Paketformat wie die normalen +Versionen.

+ + + + + + +
dvdisaster-0.7928-Feb-2010
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
  Quellkode für alle Betriebssysteme: dvdisaster-0.79.2.tar.bz2
Digitale Unterschrift: dvdisaster-0.79.2.tar.bz2.gpg
Binärversion für Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- bitte erst den Hinweis lesen
Digitale Unterschrift: dvdisaster-0.79.2.app.zip.gpg
Binärversion für Windows: dvdisaster-0.79.2-setup.exe
Digitale Unterschrift: dvdisaster-0.79.2-setup.exe.gpg
Ältere Veröffentlichungen des 0.79er-Versionszweiges verbergen
  Quellkode für alle Betriebssysteme: dvdisaster-0.79.1.tar.bz2
Digitale Unterschrift: dvdisaster-0.79.1.tar.bz2.gpg
Binärversion für Windows: dvdisaster-0.79.1-setup.exe
Digitale Unterschrift: dvdisaster-0.79.1-setup.exe.gpg
+
+ +Alle Plattformen: Diese Versionen enthalten umfangreiche Änderungen an +den inneren Strukturen im Vergleich zu Version 0.72.x. Bitte verwenden Sie sie +mit Vorsicht.

+ +0.79.2 (28-Feb-2010)
+

    +
  • Für Mac OS X ist wieder ein Binärpaket verfügbar. Die Entwicklungsumgebung +wurde auf einen aktuellen Stand gebracht; dies hat einige Probleme mit der +graphischen Darstellung behoben. +
  • +
  • +Die Entwicklung von RS03 schreitet weiter voran, +ist aber noch längst nicht abgeschlossen. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • Die SCSI-Schicht enthält eine Umgehungslösung für fehlerhafte Chipsätze, +die in neueren Laufwerken verbaut sein können. Das Ausführen einer Lese- oder +"Prüfen"-Operation kann bei diesen Laufwerken dazu führen daß das System +einfriert. Das Problem ist besonders ausgeprägt bei Windows XP, kann aber +auch bei anderen Betriebssystemen auftreten. Bitte testen Sie ob die +betroffenen Laufwerke nun korrekt arbeiten, und ob keine Fehlfunktionen +bei Laufwerken auftreten, deren Verhalten vorher in Ordnung war.
  • +
  • Eine Referenz-Implementierung +des RS03-Kodierers ist enthalten. +Diese Version dient hauptsächlich dazu, daß interessierte Personen den +Kodierer mit seiner Spezifikation vergleichen +können. Seien Sie vorsichtig und verwenden Sie ihn nicht für produktives +Arbeiten. Die endgültige Version wird mit dvdisaster 0.80 veröffentlicht.
  • +
+Windows: Die gesamte Entwicklungsumgebung einschließlich der mitgelieferten +Programmbibliotheken wurde erneuert. Bitte probieren Sie aus ob die +graphische Benutzeroberfläche und die Übersetzungen der Bildschirmtexte +wie erwartet angezeigt werden. +

+ + + +

+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt. +
+
+
+ + diff --git a/documentation/de/download50.html b/documentation/de/download50.html new file mode 100644 index 0000000..65fdcb7 --- /dev/null +++ b/documentation/de/download50.html @@ -0,0 +1,139 @@ + + + + Zusätzliche Papiere + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  Zur Internet-Version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Inhalt + + + + +

+ + + + + + + + + + + + + + + + + + +
Neuigkeiten
Überblick
Typische Anwendungen
Herunterladen
·Systemvoraussetzungen
·Digitale Unterschrift
·Installation
·Alpha-/Entwicklerversionen
·Zusätzliche Papiere
Fragen und Antworten
Fehler berichten
+

+
+ + + +

Zusätzliche Papiere

+ +Die Online-Dokumentation, die Sie gerade lesen, ist auch +in den dvdisaster-Programmpaketen selbst enthalten. Sie brauchen +sich diese Seiten also nicht zusätzlich herunterzuladen.

+ +Folgende zusätzliche Papiere sind verfügbar:

+ +Spezifikation für RS03

+ +Mit RS03 wird in zukünftigen dvdisaster-Versionen ein neues +Kodierungsverfahren eingeführt, das seine Berechnungen auf mehrere +Prozessorkerne verteilen kann. Dies ist mit den momentanen +Verfahren RS01 und RS02 aufgrund deren inneren Aufbaus nicht möglich.

+ +Eine Vorschau der RS03-Spezifikation (rs03.pdf) +ist ab sofort verfügbar, um die Eigenschaften des neuen Kodierers +diskutieren zu können. Die Spezifikation ist noch nicht endgültig.

+ +Das RS03-Dokument setzt Kenntnisse im Bereich Kodierungstheorie voraus +und ist nicht als Benutzerdokumentation gedacht. + + + + +

+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt. +
+
+
+ + diff --git a/documentation/de/download50.php b/documentation/de/download50.php new file mode 100644 index 0000000..e9269f4 --- /dev/null +++ b/documentation/de/download50.php @@ -0,0 +1,46 @@ + + + + +

Zusätzliche Papiere

+ +Die Online-Dokumentation, die Sie gerade lesen, ist auch +in den dvdisaster-Programmpaketen selbst enthalten. Sie brauchen +sich diese Seiten also nicht zusätzlich herunterzuladen.

+ +Folgende zusätzliche Papiere sind verfügbar:

+ +Spezifikation für RS03

+ +Mit RS03 wird in zukünftigen dvdisaster-Versionen ein neues +Kodierungsverfahren eingeführt, das seine Berechnungen auf mehrere +Prozessorkerne verteilen kann. Dies ist mit den momentanen +Verfahren RS01 und RS02 aufgrund deren inneren Aufbaus nicht möglich.

+ +Eine Vorschau der RS03-Spezifikation (rs03.pdf) +ist ab sofort verfügbar, um die Eigenschaften des neuen Kodierers +diskutieren zu können. Die Spezifikation ist noch nicht endgültig.

+ +Das RS03-Dokument setzt Kenntnisse im Bereich Kodierungstheorie voraus +und ist nicht als Benutzerdokumentation gedacht. + + + + + diff --git a/documentation/de/download_showall=0.html b/documentation/de/download_showall=0.html new file mode 100644 index 0000000..aa32ac4 --- /dev/null +++ b/documentation/de/download_showall=0.html @@ -0,0 +1,293 @@ + + + + Herunterladen + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  Zur Internet-Version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Inhalt + + + + +

+ + + + + + + + + + + + + + + + + + +
Neuigkeiten
Überblick
Typische Anwendungen
Herunterladen
·Systemvoraussetzungen
·Digitale Unterschrift
·Installation
·Alpha-/Entwicklerversionen
·Zusätzliche Papiere
Fragen und Antworten
Fehler berichten
+

+
+ + + +

dvdisaster herunterladen

+ +dvdisaster unterstützt die Betriebssysteme Darwin/Mac OS X, FreeBSD, GNU/Linux, NetBSD und Windows in den aktuellen Versionen. +Es wird Ihnen +als freie Software +unter der GNU General Public License v2*) zur +Verfügung gestellt.

+ +Laden Sie sich bitte entweder den Quellkode oder eine Binärversion +aus der folgenden Liste herunter. Die Pakete können mit +einer digitalen Unterschrift auf +ihren Ursprungszustand überprüft werden.

+ +

    +
  • Die Quellkode-Version enthält eine Datei INSTALL mit weiteren +Informationen zum Übersetzen des Programmes.
  • +
  • Für Mac OS X laden Sie bitte das ZIP-Archiv herunter und packen es an einer +beliebigen Stelle aus. Bitte beachten Sie die +speziellen Hinweise für Mac OS X.
  • +
  • Um die Binärversion für Windows zu installieren, +rufen Sie das Programm nach dem Herunterladen auf und folgen dem Dialog.
  • +
+ +Alpha-/Entwickler-Versionen - neu und experimentell für erfahrene Benutzer!

+ +Sie sind eingeladen, die nächste dvdisaster-Version auszuprobieren, +aber beachten Sie bitte, daß diese Version noch Fehler und +Kompatibilitätsprobleme enthalten kann. Die neueste experimentelle Version +ist 0.79 (devel-2). +

+ +Stabile Version - zum Einstieg empfohlen

+ + + + + + + +
dvdisaster-0.7208-Aug-2009
+ + + + + + + + + + + + + + + +
  Quellkode für alle Betriebssysteme: dvdisaster-0.72.1.tar.bz2
Digitale Unterschrift: dvdisaster-0.72.1.tar.bz2.gpg
Binärversion für Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- bitte erst den Hinweis lesen
Digitale Unterschrift: dvdisaster-0.72.1.app.zip.gpg
Binärversion für Windows: dvdisaster-0.72.1-setup.exe
Digitale Unterschrift: dvdisaster-0.72.1-setup.exe.gpg
Ältere Veröffentlichungen des 0.72er-Versionszweiges anzeigen
+
+Grundlegende Neuerungen in dieser Version:

+

    +
  • Unterstützung für Blu-Ray-Datenträger
  • +
  • "Raw"-Lesen und C2-Überprüfungen für CD-Datenträger
  • +
  • Einstellbare Anzahl der Leseversuche
  • +
  • Erstes "natives" Mac OS X-Paket
  • +
  • NetBSD-Port von Sergey Svishchev
  • +
  • Verbesserte Typerkennung für eingelegte Datenträger
  • +
  • Informationsfenster für eingelegten Datenträger
  • +
  • Überarbeiteter und erweiterter Dialog für Programmeinstellungen
  • +
  • Neu gestaltete und erweiterte Dokumentation
  • +
  • Russische Übersetzungen von Igor Gorbounov
  • +
  • ... und unzählige weitere kleine Sachen.
  • +
+ +Patches (kleine Änderungen nach Version 0.72; die obigen Dateien wurden erneuert):

+ +0.72 pl1 Pablo Almeida hat die Bildschirmtexte ins Portugiesische übersetzt. +Es wurde eine Umgehungslösung eingebaut um das Einfrieren von Windows XP bei bestimmten Kombinationen +von CD-RW-Rohlingen und Laufwerken zu verhindern. (08-Aug-2009)
+Hinweis: Die Umgehungslösung hat sich als nicht immer wirksam herausgestellt. Eine bessere Lösung ist in Version 0.79.x enthalten; diese läßt sich leider nicht so einfach in die stabile Version zurückportieren. (06-Feb-2010)

+ +0.72 Dies ist die erste stabile Version des 0.72er-Zweiges. +Igor Gorbounov hat die russische online-Dokumentation vervollständigt +und es wurden noch einige kleine Fehler aus dem ersten +Veröffentlichungskandidaten behoben.

+Unter neueren Windows-Versionen wird bei bestimmten Spracheinstellungen +nicht die gewünschte Bildschirmsprache dargestellt. Die Behebung +dieses Problems ist ziemlich komplex und wird erst mit Version 0.73 +erfolgen. (04-Jul-2009)

+ +0.72-rc1 Erster Kandidat für die stabile Version. (11-Apr-2009) +

+ +Falls kein Herunterladen über die obigen Links möglich ist, +versuchen Sie bitte dvdisaster über +SourceForge +zu bekommen. + +

 
+ +Vorangegangene Version - eine Aktualisierung auf Version 0.72 wird empfohlen.

+ + + + + + +
dvdisaster-0.7004-Mär-2008
+ + + + + + + + + +
  Quellkode für alle Betriebssysteme: dvdisaster-0.70.6.tar.bz2
Digitale Unterschrift: dvdisaster-0.70.6.tar.bz2.gpg
Binärversion für Windows: dvdisaster-0.70.6-setup.exe
Digitale Unterschrift: dvdisaster-0.70.6-setup.exe.gpg
+
+Das RS02-Fehlerkorrektur-Verfahren +wird in der graphischen Benutzeroberfläche vollständig unterstützt. +Damit erzeugte Abbilder können nun auch +mit dem angepaßten Leseverfahren verarbeitet werden.

+ +Julian Einwag hat damit begonnen, dvdisaster +für Mac OS X / Darwin anzupassen.

+ +Daniel Nylander hat die Bildschirmtexte ins Schwedische übersetzt.

+ +Patches (kleine Änderungen nach Version 0.70; die obigen Dateien wurden erneuert):

+ +pl6 Die Unterstützung von Umlauten in Dateinamen wurde +wieder rückgängig gemacht, +da sie zur fehlerhaften Bearbeitung von Dateien > 2GB unter Windows führte. +Eine korrekte Behandlung von Dateinamen mit Sonderzeichen + wird jetzt erst in der +experimentellen Version 0.71.25 erprobt. (04-Mär-2008)

+ +pl5 Behebt ein Problem mit neueren Linux-Kernen, das unter bestimmten Bedingungen zum +Einfrieren des Systems führen kann. Die Behandlung von Umlauten in Dateinamen wurde +verbessert. +Zurückportierung einiger weiterer +Verbesserungen aus 0.71.24. (24-Feb-2008).

+ +pl4 ist besser kompatibel zu zweischichtigen DVDs +(DVD-R DL und DVD+R DL).
+Einige kleinere Fehler wurden behoben. (20-Jan-2007).

+ +pl3 behebt einen Fehler bei der Erkennung von nicht unterstützten CDs, +der unter Umständen einen blauen Bildschirm unter Windows erzeugte. +Abbruchmöglichkeit während der RS02-Erkennung für DVD RW hinzugefügt. +(10-Dez-2006).

+ +pl2 behebt eine fehlerhafte Speicherfreigabe beim Schließen des Programms. +Das Auspacken der Bildschirmfotos für die Dokumentation auf PPC-Plattformen wurde +korrigiert. Nur die Quellkode-Archive wurden erneuert. +(03-Okt-2006).

+ +pl1 behebt einen Fehler im angepaßten Lesen für RS02, durch den unter bestimmten +Bedingungen nicht genügend Daten für eine erfolgreiche Wiederherstellung gelesen wurden. +Ein paar kleine Verbesserungen an der Dokumentation und der Benutzbarkeit sind auch dabei. +(30-Jul-2006) +

+ +Der Quellkode von dvdisaster kann auch direkt im +CVS-Archiv +betrachtet werden. Einige interessante Dateien darin sind: +

    +
  • CHANGELOG- was hat sich in den letzten Versionen geändert (in Englisch);
  • +
  • CREDITS.de- wer bei dem Projekt bisher mitgemacht hat;
  • +
  • INSTALL - Installationshinweise (in Englisch);
  • +
  • README - eine Übersicht zum Quellkodearchiv (in Englisch).
  • +
+ +
 
+ +
+*)dvdisaster wird zu einem späteren Zeitpunkt zur GNU General Public License Version 3 wechseln. + + + +
+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt. +
+
+
+ + diff --git a/documentation/de/download_showall=1.html b/documentation/de/download_showall=1.html new file mode 100644 index 0000000..437f7dc --- /dev/null +++ b/documentation/de/download_showall=1.html @@ -0,0 +1,307 @@ + + + + Herunterladen + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  Zur Internet-Version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Inhalt + + + + +

+ + + + + + + + + + + + + + + + + + +
Neuigkeiten
Überblick
Typische Anwendungen
Herunterladen
·Systemvoraussetzungen
·Digitale Unterschrift
·Installation
·Alpha-/Entwicklerversionen
·Zusätzliche Papiere
Fragen und Antworten
Fehler berichten
+

+
+ + + +

dvdisaster herunterladen

+ +dvdisaster unterstützt die Betriebssysteme Darwin/Mac OS X, FreeBSD, GNU/Linux, NetBSD und Windows in den aktuellen Versionen. +Es wird Ihnen +als freie Software +unter der GNU General Public License v2*) zur +Verfügung gestellt.

+ +Laden Sie sich bitte entweder den Quellkode oder eine Binärversion +aus der folgenden Liste herunter. Die Pakete können mit +einer digitalen Unterschrift auf +ihren Ursprungszustand überprüft werden.

+ +

    +
  • Die Quellkode-Version enthält eine Datei INSTALL mit weiteren +Informationen zum Übersetzen des Programmes.
  • +
  • Für Mac OS X laden Sie bitte das ZIP-Archiv herunter und packen es an einer +beliebigen Stelle aus. Bitte beachten Sie die +speziellen Hinweise für Mac OS X.
  • +
  • Um die Binärversion für Windows zu installieren, +rufen Sie das Programm nach dem Herunterladen auf und folgen dem Dialog.
  • +
+ +Alpha-/Entwickler-Versionen - neu und experimentell für erfahrene Benutzer!

+ +Sie sind eingeladen, die nächste dvdisaster-Version auszuprobieren, +aber beachten Sie bitte, daß diese Version noch Fehler und +Kompatibilitätsprobleme enthalten kann. Die neueste experimentelle Version +ist 0.79 (devel-2). +

+ +Stabile Version - zum Einstieg empfohlen

+ + + + + + + +
dvdisaster-0.7208-Aug-2009
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  Quellkode für alle Betriebssysteme: dvdisaster-0.72.1.tar.bz2
Digitale Unterschrift: dvdisaster-0.72.1.tar.bz2.gpg
Binärversion für Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- bitte erst den Hinweis lesen
Digitale Unterschrift: dvdisaster-0.72.1.app.zip.gpg
Binärversion für Windows: dvdisaster-0.72.1-setup.exe
Digitale Unterschrift: dvdisaster-0.72.1-setup.exe.gpg
Ältere Veröffentlichungen des 0.72er-Versionszweiges verbergen
  Quellkode für alle Betriebssysteme: dvdisaster-0.72.tar.bz2
Digitale Unterschrift: dvdisaster-0.72.tar.bz2.gpg
Binärversion für Mac OS X 10.5 / x86: dvdisaster-0.72.app.zip -- bitte erst den Hinweis lesen
Digitale Unterschrift: dvdisaster-0.72.app.zip.gpg
Binärversion für Windows: dvdisaster-0.72-setup.exe
Digitale Unterschrift: dvdisaster-0.72-setup.exe.gpg
+
+Grundlegende Neuerungen in dieser Version:

+

    +
  • Unterstützung für Blu-Ray-Datenträger
  • +
  • "Raw"-Lesen und C2-Überprüfungen für CD-Datenträger
  • +
  • Einstellbare Anzahl der Leseversuche
  • +
  • Erstes "natives" Mac OS X-Paket
  • +
  • NetBSD-Port von Sergey Svishchev
  • +
  • Verbesserte Typerkennung für eingelegte Datenträger
  • +
  • Informationsfenster für eingelegten Datenträger
  • +
  • Überarbeiteter und erweiterter Dialog für Programmeinstellungen
  • +
  • Neu gestaltete und erweiterte Dokumentation
  • +
  • Russische Übersetzungen von Igor Gorbounov
  • +
  • ... und unzählige weitere kleine Sachen.
  • +
+ +Patches (kleine Änderungen nach Version 0.72; die obigen Dateien wurden erneuert):

+ +0.72 pl1 Pablo Almeida hat die Bildschirmtexte ins Portugiesische übersetzt. +Es wurde eine Umgehungslösung eingebaut um das Einfrieren von Windows XP bei bestimmten Kombinationen +von CD-RW-Rohlingen und Laufwerken zu verhindern. (08-Aug-2009)
+Hinweis: Die Umgehungslösung hat sich als nicht immer wirksam herausgestellt. Eine bessere Lösung ist in Version 0.79.x enthalten; diese läßt sich leider nicht so einfach in die stabile Version zurückportieren. (06-Feb-2010)

+ +0.72 Dies ist die erste stabile Version des 0.72er-Zweiges. +Igor Gorbounov hat die russische online-Dokumentation vervollständigt +und es wurden noch einige kleine Fehler aus dem ersten +Veröffentlichungskandidaten behoben.

+Unter neueren Windows-Versionen wird bei bestimmten Spracheinstellungen +nicht die gewünschte Bildschirmsprache dargestellt. Die Behebung +dieses Problems ist ziemlich komplex und wird erst mit Version 0.73 +erfolgen. (04-Jul-2009)

+ +0.72-rc1 Erster Kandidat für die stabile Version. (11-Apr-2009) +

+ +Falls kein Herunterladen über die obigen Links möglich ist, +versuchen Sie bitte dvdisaster über +SourceForge +zu bekommen. + +

 
+ +Vorangegangene Version - eine Aktualisierung auf Version 0.72 wird empfohlen.

+ + + + + + +
dvdisaster-0.7004-Mär-2008
+ + + + + + + + + +
  Quellkode für alle Betriebssysteme: dvdisaster-0.70.6.tar.bz2
Digitale Unterschrift: dvdisaster-0.70.6.tar.bz2.gpg
Binärversion für Windows: dvdisaster-0.70.6-setup.exe
Digitale Unterschrift: dvdisaster-0.70.6-setup.exe.gpg
+
+Das RS02-Fehlerkorrektur-Verfahren +wird in der graphischen Benutzeroberfläche vollständig unterstützt. +Damit erzeugte Abbilder können nun auch +mit dem angepaßten Leseverfahren verarbeitet werden.

+ +Julian Einwag hat damit begonnen, dvdisaster +für Mac OS X / Darwin anzupassen.

+ +Daniel Nylander hat die Bildschirmtexte ins Schwedische übersetzt.

+ +Patches (kleine Änderungen nach Version 0.70; die obigen Dateien wurden erneuert):

+ +pl6 Die Unterstützung von Umlauten in Dateinamen wurde +wieder rückgängig gemacht, +da sie zur fehlerhaften Bearbeitung von Dateien > 2GB unter Windows führte. +Eine korrekte Behandlung von Dateinamen mit Sonderzeichen + wird jetzt erst in der +experimentellen Version 0.71.25 erprobt. (04-Mär-2008)

+ +pl5 Behebt ein Problem mit neueren Linux-Kernen, das unter bestimmten Bedingungen zum +Einfrieren des Systems führen kann. Die Behandlung von Umlauten in Dateinamen wurde +verbessert. +Zurückportierung einiger weiterer +Verbesserungen aus 0.71.24. (24-Feb-2008).

+ +pl4 ist besser kompatibel zu zweischichtigen DVDs +(DVD-R DL und DVD+R DL).
+Einige kleinere Fehler wurden behoben. (20-Jan-2007).

+ +pl3 behebt einen Fehler bei der Erkennung von nicht unterstützten CDs, +der unter Umständen einen blauen Bildschirm unter Windows erzeugte. +Abbruchmöglichkeit während der RS02-Erkennung für DVD RW hinzugefügt. +(10-Dez-2006).

+ +pl2 behebt eine fehlerhafte Speicherfreigabe beim Schließen des Programms. +Das Auspacken der Bildschirmfotos für die Dokumentation auf PPC-Plattformen wurde +korrigiert. Nur die Quellkode-Archive wurden erneuert. +(03-Okt-2006).

+ +pl1 behebt einen Fehler im angepaßten Lesen für RS02, durch den unter bestimmten +Bedingungen nicht genügend Daten für eine erfolgreiche Wiederherstellung gelesen wurden. +Ein paar kleine Verbesserungen an der Dokumentation und der Benutzbarkeit sind auch dabei. +(30-Jul-2006) +

+ +Der Quellkode von dvdisaster kann auch direkt im +CVS-Archiv +betrachtet werden. Einige interessante Dateien darin sind: +

    +
  • CHANGELOG- was hat sich in den letzten Versionen geändert (in Englisch);
  • +
  • CREDITS.de- wer bei dem Projekt bisher mitgemacht hat;
  • +
  • INSTALL - Installationshinweise (in Englisch);
  • +
  • README - eine Übersicht zum Quellkodearchiv (in Englisch).
  • +
+ +
 
+ +
+*)dvdisaster wird zu einem späteren Zeitpunkt zur GNU General Public License Version 3 wechseln. + + + +
+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt. +
+
+
+ + diff --git a/documentation/de/empty.php b/documentation/de/empty.php index ff328ea..97efbc4 100644 --- a/documentation/de/empty.php +++ b/documentation/de/empty.php @@ -1,6 +1,6 @@ + +tag:dvdisaster.net,2009-10-02:/de/feeds/atom.xml +Neues von dvdisaster +2010-02-28T19:15:30+01:00 + + + Carsten Gnörlich + http://www.dvdisaster.org + + +dvdisaster 0.79.2 veröffentlicht + +tag:dvdisaster.net,2010-02-28:/de/news.html/15 +2010-02-28T00:00:00Z +2010-02-28T00:00:00Z + +

Binärpakete sind wieder für Mac OS X verfügbar nachdem die Entwicklungsumgebung auch für Mac OS X aktualisiert wurde. Die Entwicklung von RS03 geht weiter, ist aber noch längst nicht abgeschlossen. [...] + + +Beginn des neuen Entwicklungszweiges 0.79 + +tag:dvdisaster.net,2010-02-07:/de/news.html/14 +2010-02-07T00:00:00Z +2010-02-07T00:00:00Z + + Heute wird mit Version 0.79.1 die erste Version des neuen Entwicklungszweiges veröffentlicht. Diese Version dient hauptsächlich zum Ausprobieren neuer Funktionen und wird nicht zum produktiven Einsatz empfohlen. Auf der Seite zum [...] + + +Einschätzung zu potentiellen Sicherheitslücken in der GTK-Bibliothek für Windows + +tag:dvdisaster.net,2009-10-01:/de/news.html/13 +2009-10-01T00:00:00Z +2009-10-01T00:00:00Z + + Die Windows-Versionen von dvdisaster 0.70.x/0.72.x werden mit einer alten Version der GTK-Bibliothek ausgeliefert, die Schwachstellen in der Verarbeitung von Bilddateien aufweist. Um die Lücke auszunutzen, müssen manipulierte Bilder [...] + + +Projektseiten auf SourceForge nicht aktuell + +tag:dvdisaster.net,2009-08-10:/de/news.html/12 +2009-08-10T00:00:00Z +2009-08-10T00:00:00Z + + Aufgrund von Änderungen in der Funktionalität von SourceForge können die Inhalte der News, Downloads und des CVS nicht zeitnah hochgeladen werden. Bitte nutzen Sie stattdessen die entsprechenden Rubriken auf diesen Seiten [...] + + +dvdisaster 0.72.1 veröffentlicht + +tag:dvdisaster.net,2009-08-08:/de/news.html/11 +2009-08-08T00:00:00Z +2010-02-06T00:00:00Z + + Pablo Almeida hat die Bildschirmtexte ins Portugiesische übersetzt. Es wurde eine Umgehungslösung eingebaut um Win XP vom Einfrieren bei bestimmten CD-RW/Laufwerks-Kombinationen abzuhalten. Aktueller Hinweis: Die Umgehungslösung ist [...] + + +dvdisaster 0.72 veröffentlicht + +tag:dvdisaster.net,2009-07-04:/de/news.html/10 +2009-07-04T00:00:00Z +2009-07-04T00:00:00Z + + Dies ist die erste stabile Version des 0.72er-Zweiges. Igor Gorbounov hat die russische online-Dokumentation vervollständigt und es wurden noch einige kleine Fehler aus dem ersten Veröffentlichungskandidaten behoben. [...] + + diff --git a/documentation/de/feedback.html b/documentation/de/feedback.html index e2fbfa5..cb73118 100644 --- a/documentation/de/feedback.html +++ b/documentation/de/feedback.html @@ -1,7 +1,7 @@ - dvdisaster + Fehler berichten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -155,14 +154,16 @@ Vielen Dank für Ihre Mithilfe! + +
Neuigkeiten
Überblick
@@ -175,7 +176,7 @@ Vielen Dank für Ihre Mithilfe! - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/feedback.php b/documentation/de/feedback.php index 30f5a95..f575967 100644 --- a/documentation/de/feedback.php +++ b/documentation/de/feedback.php @@ -1,6 +1,6 @@ - dvdisaster + Fehler berichten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -153,14 +152,16 @@ Vielen Dank für Ihre Mithilfe! + +
Neuigkeiten
Überblick
@@ -173,7 +174,7 @@ Vielen Dank für Ihre Mithilfe! - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos.html b/documentation/de/howtos.html index 4e4d9e2..82af32a 100644 --- a/documentation/de/howtos.html +++ b/documentation/de/howtos.html @@ -1,7 +1,7 @@ - dvdisaster + Typische Anwendungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -155,14 +154,16 @@ Fehlerkorrektur-Daten benötigt werden. + +
Neuigkeiten
Überblick
@@ -175,7 +176,7 @@ Fehlerkorrektur-Daten benötigt werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos.php b/documentation/de/howtos.php index 17761ad..afb6467 100644 --- a/documentation/de/howtos.php +++ b/documentation/de/howtos.php @@ -1,6 +1,6 @@ - dvdisaster + Datenträger auf Lesefehler prüfen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -145,14 +144,16 @@ + +
Neuigkeiten
Überblick
@@ -165,7 +166,7 @@ - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos10.php b/documentation/de/howtos10.php index 83fb022..d8c0262 100644 --- a/documentation/de/howtos10.php +++ b/documentation/de/howtos10.php @@ -1,6 +1,6 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -233,14 +232,16 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. + +
Neuigkeiten
Überblick
@@ -253,7 +254,7 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos11.php b/documentation/de/howtos11.php index 77a43a6..cebf19f 100644 --- a/documentation/de/howtos11.php +++ b/documentation/de/howtos11.php @@ -1,6 +1,6 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -231,14 +230,16 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. + +
Neuigkeiten
Überblick
@@ -251,7 +252,7 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos11_expand=2.html b/documentation/de/howtos11_expand=2.html index 2835a6d..a291bbd 100644 --- a/documentation/de/howtos11_expand=2.html +++ b/documentation/de/howtos11_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -231,14 +230,16 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. + +
Neuigkeiten
Überblick
@@ -251,7 +252,7 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos11_expand=3.html b/documentation/de/howtos11_expand=3.html index 75f83e7..afe725a 100644 --- a/documentation/de/howtos11_expand=3.html +++ b/documentation/de/howtos11_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -231,14 +230,16 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. + +
Neuigkeiten
Überblick
@@ -251,7 +252,7 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos11_expand=4.html b/documentation/de/howtos11_expand=4.html index 6367e79..4e09312 100644 --- a/documentation/de/howtos11_expand=4.html +++ b/documentation/de/howtos11_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -231,14 +230,16 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. + +
Neuigkeiten
Überblick
@@ -251,7 +252,7 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos11_expand=5.html b/documentation/de/howtos11_expand=5.html index bace5d3..3ed9966 100644 --- a/documentation/de/howtos11_expand=5.html +++ b/documentation/de/howtos11_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -231,14 +230,16 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. + +
Neuigkeiten
Überblick
@@ -251,7 +252,7 @@ keine Auswirkungen auf die Überprüfung von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos12.html b/documentation/de/howtos12.html index b479e8b..737dd8d 100644 --- a/documentation/de/howtos12.html +++ b/documentation/de/howtos12.html @@ -1,7 +1,7 @@ - dvdisaster + Prüfung durchführen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -184,14 +183,16 @@ Verschieben von Fenstern kann die Überprüfung beeinflussen. + +
Neuigkeiten
Überblick
@@ -204,7 +205,7 @@ Verschieben von Fenstern kann die Überprüfung beeinflussen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos12.php b/documentation/de/howtos12.php index 399b7e4..6363c96 100644 --- a/documentation/de/howtos12.php +++ b/documentation/de/howtos12.php @@ -1,6 +1,6 @@ - dvdisaster + Prüfung durchführen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -184,14 +183,16 @@ Verschieben von Fenstern kann die Überprüfung beeinflussen. + +
Neuigkeiten
Überblick
@@ -204,7 +205,7 @@ Verschieben von Fenstern kann die Überprüfung beeinflussen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos12_expand=1.html b/documentation/de/howtos12_expand=1.html index 8284c68..29b73b6 100644 --- a/documentation/de/howtos12_expand=1.html +++ b/documentation/de/howtos12_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Prüfung durchführen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -183,14 +182,16 @@ Verschieben von Fenstern kann die Überprüfung beeinflussen. + +
Neuigkeiten
Überblick
@@ -203,7 +204,7 @@ Verschieben von Fenstern kann die Überprüfung beeinflussen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos13.html b/documentation/de/howtos13.html index 34de9b2..66b959a 100644 --- a/documentation/de/howtos13.html +++ b/documentation/de/howtos13.html @@ -1,7 +1,7 @@ - dvdisaster + Ergebnisse bewerten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -276,14 +275,16 @@ oder falsch eingestellte Taktfrequenzen. + +
Neuigkeiten
Überblick
@@ -296,7 +297,7 @@ oder falsch eingestellte Taktfrequenzen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos13.php b/documentation/de/howtos13.php index 698fdba..f9f2190 100644 --- a/documentation/de/howtos13.php +++ b/documentation/de/howtos13.php @@ -1,6 +1,6 @@ - dvdisaster + Ergebnisse bewerten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -276,14 +275,16 @@ oder falsch eingestellte Taktfrequenzen. + +
Neuigkeiten
Überblick
@@ -296,7 +297,7 @@ oder falsch eingestellte Taktfrequenzen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos13_expand=1.html b/documentation/de/howtos13_expand=1.html index 841fefd..2f7b47d 100644 --- a/documentation/de/howtos13_expand=1.html +++ b/documentation/de/howtos13_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Ergebnisse bewerten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -274,14 +273,16 @@ oder falsch eingestellte Taktfrequenzen. + +
Neuigkeiten
Überblick
@@ -294,7 +295,7 @@ oder falsch eingestellte Taktfrequenzen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos13_expand=2.html b/documentation/de/howtos13_expand=2.html index a253820..69d3b43 100644 --- a/documentation/de/howtos13_expand=2.html +++ b/documentation/de/howtos13_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Ergebnisse bewerten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -274,14 +273,16 @@ oder falsch eingestellte Taktfrequenzen. + +
Neuigkeiten
Überblick
@@ -294,7 +295,7 @@ oder falsch eingestellte Taktfrequenzen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos13_expand=3.html b/documentation/de/howtos13_expand=3.html index 6bb843e..3db94d4 100644 --- a/documentation/de/howtos13_expand=3.html +++ b/documentation/de/howtos13_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Ergebnisse bewerten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -274,14 +273,16 @@ oder falsch eingestellte Taktfrequenzen. + +
Neuigkeiten
Überblick
@@ -294,7 +295,7 @@ oder falsch eingestellte Taktfrequenzen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos13_expand=4.html b/documentation/de/howtos13_expand=4.html index cd2909e..c64a796 100644 --- a/documentation/de/howtos13_expand=4.html +++ b/documentation/de/howtos13_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Ergebnisse bewerten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -274,14 +273,16 @@ oder falsch eingestellte Taktfrequenzen. + +
Neuigkeiten
Überblick
@@ -294,7 +295,7 @@ oder falsch eingestellte Taktfrequenzen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos13_expand=5.html b/documentation/de/howtos13_expand=5.html index 7e5932c..f78b07f 100644 --- a/documentation/de/howtos13_expand=5.html +++ b/documentation/de/howtos13_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Ergebnisse bewerten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -274,14 +273,16 @@ oder falsch eingestellte Taktfrequenzen. + +
Neuigkeiten
Überblick
@@ -294,7 +295,7 @@ oder falsch eingestellte Taktfrequenzen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos13_expand=6.html b/documentation/de/howtos13_expand=6.html index 4fe76d7..c57b4e8 100644 --- a/documentation/de/howtos13_expand=6.html +++ b/documentation/de/howtos13_expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Ergebnisse bewerten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -274,14 +273,16 @@ oder falsch eingestellte Taktfrequenzen. + +
Neuigkeiten
Überblick
@@ -294,7 +295,7 @@ oder falsch eingestellte Taktfrequenzen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos14.html b/documentation/de/howtos14.html index 5cfb23c..78deb58 100644 --- a/documentation/de/howtos14.html +++ b/documentation/de/howtos14.html @@ -1,7 +1,7 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -152,14 +151,16 @@ die Anzahl der gemeldeten Fehler wird höher und ungenauer. + +
Neuigkeiten
Überblick
@@ -172,7 +173,7 @@ die Anzahl der gemeldeten Fehler wird höher und ungenauer. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos14.php b/documentation/de/howtos14.php index b32316a..58a4ad8 100644 --- a/documentation/de/howtos14.php +++ b/documentation/de/howtos14.php @@ -1,6 +1,6 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -150,14 +149,16 @@ die Anzahl der gemeldeten Fehler wird höher und ungenauer. + +
Neuigkeiten
Überblick
@@ -170,7 +171,7 @@ die Anzahl der gemeldeten Fehler wird höher und ungenauer. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos14_expand=2.html b/documentation/de/howtos14_expand=2.html index 64aaac8..93fcd4a 100644 --- a/documentation/de/howtos14_expand=2.html +++ b/documentation/de/howtos14_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -150,14 +149,16 @@ die Anzahl der gemeldeten Fehler wird höher und ungenauer. + +
Neuigkeiten
Überblick
@@ -170,7 +171,7 @@ die Anzahl der gemeldeten Fehler wird höher und ungenauer. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos20.html b/documentation/de/howtos20.html index 589eefa..97d30fc 100644 --- a/documentation/de/howtos20.html +++ b/documentation/de/howtos20.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Daten als Datei erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -158,14 +157,16 @@ mehr erstellt werden. + +
Neuigkeiten
Überblick
@@ -178,7 +179,7 @@ mehr erstellt werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos20.php b/documentation/de/howtos20.php index 73460eb..2ede581 100644 --- a/documentation/de/howtos20.php +++ b/documentation/de/howtos20.php @@ -1,6 +1,6 @@ - dvdisaster + Entscheidungshilfe @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -136,14 +135,16 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. + +
Neuigkeiten
Überblick
@@ -156,7 +157,7 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos21.php b/documentation/de/howtos21.php index 549a972..7ac539d 100644 --- a/documentation/de/howtos21.php +++ b/documentation/de/howtos21.php @@ -1,6 +1,6 @@ - dvdisaster + Entscheidungshilfe @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -139,14 +138,16 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. + +
Neuigkeiten
Überblick
@@ -159,7 +160,7 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos21_answer=2.html b/documentation/de/howtos21_answer=2.html index 2600ab9..51eaa08 100644 --- a/documentation/de/howtos21_answer=2.html +++ b/documentation/de/howtos21_answer=2.html @@ -1,7 +1,7 @@ - dvdisaster + Entscheidungshilfe @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -141,14 +140,16 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. + +
Neuigkeiten
Überblick
@@ -161,7 +162,7 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos21_answer=3.html b/documentation/de/howtos21_answer=3.html index e4c3400..d111acf 100644 --- a/documentation/de/howtos21_answer=3.html +++ b/documentation/de/howtos21_answer=3.html @@ -1,7 +1,7 @@ - dvdisaster + Entscheidungshilfe @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -144,14 +143,16 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. + +
Neuigkeiten
Überblick
@@ -164,7 +165,7 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos21_answer=4.html b/documentation/de/howtos21_answer=4.html index 473ae9c..5d23c31 100644 --- a/documentation/de/howtos21_answer=4.html +++ b/documentation/de/howtos21_answer=4.html @@ -1,7 +1,7 @@ - dvdisaster + Entscheidungshilfe @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -143,14 +142,16 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. + +
Neuigkeiten
Überblick
@@ -163,7 +164,7 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos22.html b/documentation/de/howtos22.html index a04866f..ca5273c 100644 --- a/documentation/de/howtos22.html +++ b/documentation/de/howtos22.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -234,11 +233,8 @@ schnell überlastet werden könnte.
Neuigkeiten
Überblick
+ +
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows, wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. -Die übrigen Einstellungen sollten Sie zunächst ausgeschaltet lassen; Hinweise auf Optimierungen +Reiterkarte "Dateien". Lassen Sie die Optionen auf dieser Reiterkarte +zunächst ausgeschaltet; Hinweise auf Optimierungen mit Hilfe dieser Werte folgen später. @@ -272,14 +268,16 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien.
@@ -292,7 +290,7 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos22.php b/documentation/de/howtos22.php index 5dac6ff..91540a8 100644 --- a/documentation/de/howtos22.php +++ b/documentation/de/howtos22.php @@ -1,6 +1,6 @@ -Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows, wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. -Die übrigen Einstellungen sollten Sie zunächst ausgeschaltet lassen; Hinweise auf Optimierungen +Reiterkarte "Dateien". Lassen Sie die Optionen auf dieser Reiterkarte +zunächst ausgeschaltet; Hinweise auf Optimierungen mit Hilfe dieser Werte folgen später. diff --git a/documentation/de/howtos22_expand=1.html b/documentation/de/howtos22_expand=1.html index 878ce01..2eb5e3a 100644 --- a/documentation/de/howtos22_expand=1.html +++ b/documentation/de/howtos22_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -232,11 +231,8 @@ schnell überlastet werden könnte.
Neuigkeiten
Überblick
+ +
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows, wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. -Die übrigen Einstellungen sollten Sie zunächst ausgeschaltet lassen; Hinweise auf Optimierungen +Reiterkarte "Dateien". Lassen Sie die Optionen auf dieser Reiterkarte +zunächst ausgeschaltet; Hinweise auf Optimierungen mit Hilfe dieser Werte folgen später. @@ -270,14 +266,16 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien.
@@ -290,7 +288,7 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos22_expand=2.html b/documentation/de/howtos22_expand=2.html index ecd9a71..abd65eb 100644 --- a/documentation/de/howtos22_expand=2.html +++ b/documentation/de/howtos22_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -232,11 +231,8 @@ schnell überlastet werden könnte.
Neuigkeiten
Überblick
+ +
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows, wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. -Die übrigen Einstellungen sollten Sie zunächst ausgeschaltet lassen; Hinweise auf Optimierungen +Reiterkarte "Dateien". Lassen Sie die Optionen auf dieser Reiterkarte +zunächst ausgeschaltet; Hinweise auf Optimierungen mit Hilfe dieser Werte folgen später. @@ -270,14 +266,16 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien.
@@ -290,7 +288,7 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos22_expand=3.html b/documentation/de/howtos22_expand=3.html index 95e7c22..772af90 100644 --- a/documentation/de/howtos22_expand=3.html +++ b/documentation/de/howtos22_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -232,11 +231,8 @@ schnell überlastet werden könnte.
Neuigkeiten
Überblick
+ +
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows, wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. -Die übrigen Einstellungen sollten Sie zunächst ausgeschaltet lassen; Hinweise auf Optimierungen +Reiterkarte "Dateien". Lassen Sie die Optionen auf dieser Reiterkarte +zunächst ausgeschaltet; Hinweise auf Optimierungen mit Hilfe dieser Werte folgen später. @@ -270,14 +266,16 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien.
@@ -290,7 +288,7 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos22_expand=4.html b/documentation/de/howtos22_expand=4.html index b71b26e..8c9680f 100644 --- a/documentation/de/howtos22_expand=4.html +++ b/documentation/de/howtos22_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -232,11 +231,8 @@ schnell überlastet werden könnte.
Neuigkeiten
Überblick
+ +
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows, wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. -Die übrigen Einstellungen sollten Sie zunächst ausgeschaltet lassen; Hinweise auf Optimierungen +Reiterkarte "Dateien". Lassen Sie die Optionen auf dieser Reiterkarte +zunächst ausgeschaltet; Hinweise auf Optimierungen mit Hilfe dieser Werte folgen später. @@ -270,14 +266,16 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien.
@@ -290,7 +288,7 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos22_expand=5.html b/documentation/de/howtos22_expand=5.html index 7440544..eca1057 100644 --- a/documentation/de/howtos22_expand=5.html +++ b/documentation/de/howtos22_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -232,11 +231,8 @@ schnell überlastet werden könnte.
Neuigkeiten
Überblick
+ +
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows, wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. -Die übrigen Einstellungen sollten Sie zunächst ausgeschaltet lassen; Hinweise auf Optimierungen +Reiterkarte "Dateien". Lassen Sie die Optionen auf dieser Reiterkarte +zunächst ausgeschaltet; Hinweise auf Optimierungen mit Hilfe dieser Werte folgen später. @@ -270,14 +266,16 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien.
@@ -290,7 +288,7 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos22_expand=6.html b/documentation/de/howtos22_expand=6.html index 9833e93..23598bd 100644 --- a/documentation/de/howtos22_expand=6.html +++ b/documentation/de/howtos22_expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -234,11 +233,8 @@ schnell überlastet werden könnte.
Neuigkeiten
Überblick
+ +
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows, wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. -Die übrigen Einstellungen sollten Sie zunächst ausgeschaltet lassen; Hinweise auf Optimierungen +Reiterkarte "Dateien". Lassen Sie die Optionen auf dieser Reiterkarte +zunächst ausgeschaltet; Hinweise auf Optimierungen mit Hilfe dieser Werte folgen später.
@@ -270,14 +266,16 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien.
@@ -290,7 +288,7 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Dateien. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos23.html b/documentation/de/howtos23.html index f313c87..8b7df81 100644 --- a/documentation/de/howtos23.html +++ b/documentation/de/howtos23.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -115,14 +114,16 @@ erzeugen möchten. Klicken Sie auf eine der beiden Möglichkeiten:

+ +

Neuigkeiten
Überblick
@@ -135,7 +136,7 @@ erzeugen möchten. Klicken Sie auf eine der beiden Möglichkeiten:

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos23.php b/documentation/de/howtos23.php index feb09d2..a5cf5a3 100644 --- a/documentation/de/howtos23.php +++ b/documentation/de/howtos23.php @@ -1,6 +1,6 @@ - dvdisaster + Fehlerkorrektur-Datei erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -254,14 +253,16 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat + +
Neuigkeiten
Überblick
@@ -274,7 +275,7 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos23_way=1&expand=1.html b/documentation/de/howtos23_way=1&expand=1.html index 54375d6..222a911 100644 --- a/documentation/de/howtos23_way=1&expand=1.html +++ b/documentation/de/howtos23_way=1&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -259,14 +258,16 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat + +
Neuigkeiten
Überblick
@@ -279,7 +280,7 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos23_way=1&expand=2.html b/documentation/de/howtos23_way=1&expand=2.html index b64acb2..d40120e 100644 --- a/documentation/de/howtos23_way=1&expand=2.html +++ b/documentation/de/howtos23_way=1&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -259,14 +258,16 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat + +
Neuigkeiten
Überblick
@@ -279,7 +280,7 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos23_way=1.html b/documentation/de/howtos23_way=1.html index 3a63f36..1d66d6a 100644 --- a/documentation/de/howtos23_way=1.html +++ b/documentation/de/howtos23_way=1.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -254,14 +253,16 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat + +
Neuigkeiten
Überblick
@@ -274,7 +275,7 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos23_way=2&expand=0.html b/documentation/de/howtos23_way=2&expand=0.html index aa552be..e04fcd6 100644 --- a/documentation/de/howtos23_way=2&expand=0.html +++ b/documentation/de/howtos23_way=2&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -193,14 +192,16 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat + +
Neuigkeiten
Überblick
@@ -213,7 +214,7 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos23_way=2&expand=1.html b/documentation/de/howtos23_way=2&expand=1.html index 87622fa..da61774 100644 --- a/documentation/de/howtos23_way=2&expand=1.html +++ b/documentation/de/howtos23_way=2&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -198,14 +197,16 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat + +
Neuigkeiten
Überblick
@@ -218,7 +219,7 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos23_way=2&expand=2.html b/documentation/de/howtos23_way=2&expand=2.html index 00a5f34..c03bd3b 100644 --- a/documentation/de/howtos23_way=2&expand=2.html +++ b/documentation/de/howtos23_way=2&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -193,14 +192,16 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat + +
Neuigkeiten
Überblick
@@ -213,7 +214,7 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos23_way=2.html b/documentation/de/howtos23_way=2.html index aa552be..e04fcd6 100644 --- a/documentation/de/howtos23_way=2.html +++ b/documentation/de/howtos23_way=2.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -193,14 +192,16 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat + +
Neuigkeiten
Überblick
@@ -213,7 +214,7 @@ es ein paar Vorschläge, wie Sie die Fehlerkorrektur-Dat - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos24.html b/documentation/de/howtos24.html index 46b3ffd..84fca10 100644 --- a/documentation/de/howtos24.html +++ b/documentation/de/howtos24.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei archivieren @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -141,14 +140,16 @@ rekonstruieren, um an die Daten des ersten wieder heranzukommen ;-) + +
Neuigkeiten
Überblick
@@ -161,7 +162,7 @@ rekonstruieren, um an die Daten des ersten wieder heranzukommen ;-) - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos24.php b/documentation/de/howtos24.php index cbe34ac..c47cbf3 100644 --- a/documentation/de/howtos24.php +++ b/documentation/de/howtos24.php @@ -1,6 +1,6 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -137,14 +136,16 @@ Namen für die Fehlerkorrektur-Datei anzugeben, da sonst die vorherige Datei üb + +
Neuigkeiten
Überblick
@@ -157,7 +158,7 @@ Namen für die Fehlerkorrektur-Datei anzugeben, da sonst die vorherige Datei üb - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos25.php b/documentation/de/howtos25.php index 1740dae..b470353 100644 --- a/documentation/de/howtos25.php +++ b/documentation/de/howtos25.php @@ -1,6 +1,6 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -135,14 +134,16 @@ Namen für die Fehlerkorrektur-Datei anzugeben, da sonst die vorherige Datei üb + +
Neuigkeiten
Überblick
@@ -155,7 +156,7 @@ Namen für die Fehlerkorrektur-Datei anzugeben, da sonst die vorherige Datei üb - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos25_expand=2.html b/documentation/de/howtos25_expand=2.html index 38cb2af..38a2f7f 100644 --- a/documentation/de/howtos25_expand=2.html +++ b/documentation/de/howtos25_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -135,14 +134,16 @@ Namen für die Fehlerkorrektur-Datei anzugeben, da sonst die vorherige Datei üb + +
Neuigkeiten
Überblick
@@ -155,7 +156,7 @@ Namen für die Fehlerkorrektur-Datei anzugeben, da sonst die vorherige Datei üb - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos30.html b/documentation/de/howtos30.html index 5e923ce..260fbd6 100644 --- a/documentation/de/howtos30.html +++ b/documentation/de/howtos30.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Daten auf dem Datenträger ablegen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -156,14 +155,16 @@ Fehlerkorrektur-Daten erweitert werden. + +
Neuigkeiten
Überblick
@@ -176,7 +177,7 @@ Fehlerkorrektur-Daten erweitert werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos30.php b/documentation/de/howtos30.php index bc6f752..280e2b1 100644 --- a/documentation/de/howtos30.php +++ b/documentation/de/howtos30.php @@ -1,6 +1,6 @@ - dvdisaster + Entscheidungshilfe @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -136,14 +135,16 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. + +
Neuigkeiten
Überblick
@@ -156,7 +157,7 @@ finden Sie weitere Informationen zu den Vor- und Nachteilen der beiden Methoden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos32.html b/documentation/de/howtos32.html index b58e240..41c7f92 100644 --- a/documentation/de/howtos32.html +++ b/documentation/de/howtos32.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -154,14 +153,16 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Daten. + +
Neuigkeiten
Überblick
@@ -174,7 +175,7 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Daten. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos32.php b/documentation/de/howtos32.php index 8b3a29f..3c1403d 100644 --- a/documentation/de/howtos32.php +++ b/documentation/de/howtos32.php @@ -1,6 +1,6 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -152,14 +151,16 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Daten. + +
Neuigkeiten
Überblick
@@ -172,7 +173,7 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Daten. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos32_expand=2.html b/documentation/de/howtos32_expand=2.html index 4809e24..87a56f6 100644 --- a/documentation/de/howtos32_expand=2.html +++ b/documentation/de/howtos32_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -152,14 +151,16 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Daten. + +
Neuigkeiten
Überblick
@@ -172,7 +173,7 @@ keine Auswirkungen auf die erstellten Fehlerkorrektur-Daten. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33.html b/documentation/de/howtos33.html index 6cc25fa..c7663e4 100644 --- a/documentation/de/howtos33.html +++ b/documentation/de/howtos33.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -247,14 +246,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -267,7 +268,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33.php b/documentation/de/howtos33.php index 3846fc1..f80a419 100644 --- a/documentation/de/howtos33.php +++ b/documentation/de/howtos33.php @@ -1,6 +1,6 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -247,14 +246,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -267,7 +268,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_expand=1.html b/documentation/de/howtos33_expand=1.html index 8112d49..89250bb 100644 --- a/documentation/de/howtos33_expand=1.html +++ b/documentation/de/howtos33_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -252,14 +251,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -272,7 +273,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_expand=2.html b/documentation/de/howtos33_expand=2.html index bbadf76..a1d7676 100644 --- a/documentation/de/howtos33_expand=2.html +++ b/documentation/de/howtos33_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -252,14 +251,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -272,7 +273,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=0&expand=0.html b/documentation/de/howtos33_way=0&expand=0.html index c2d16c9..2f5790a 100644 --- a/documentation/de/howtos33_way=0&expand=0.html +++ b/documentation/de/howtos33_way=0&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -247,14 +246,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -267,7 +268,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=0&expand=1.html b/documentation/de/howtos33_way=0&expand=1.html index a43ef96..d8d8c6c 100644 --- a/documentation/de/howtos33_way=0&expand=1.html +++ b/documentation/de/howtos33_way=0&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -252,14 +251,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -272,7 +273,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=0&expand=2.html b/documentation/de/howtos33_way=0&expand=2.html index 6b2360d..acff9e2 100644 --- a/documentation/de/howtos33_way=0&expand=2.html +++ b/documentation/de/howtos33_way=0&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -252,14 +251,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -272,7 +273,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=0.html b/documentation/de/howtos33_way=0.html index c2d16c9..2f5790a 100644 --- a/documentation/de/howtos33_way=0.html +++ b/documentation/de/howtos33_way=0.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -247,14 +246,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -267,7 +268,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=1&.html b/documentation/de/howtos33_way=1&.html index 91e8238..3bced77 100644 --- a/documentation/de/howtos33_way=1&.html +++ b/documentation/de/howtos33_way=1&.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -403,14 +402,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -423,7 +424,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=1&expand=0.html b/documentation/de/howtos33_way=1&expand=0.html index 91e8238..3bced77 100644 --- a/documentation/de/howtos33_way=1&expand=0.html +++ b/documentation/de/howtos33_way=1&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -403,14 +402,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -423,7 +424,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=1&expand=1.html b/documentation/de/howtos33_way=1&expand=1.html index 2d9856c..ae72b2d 100644 --- a/documentation/de/howtos33_way=1&expand=1.html +++ b/documentation/de/howtos33_way=1&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -401,14 +400,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -421,7 +422,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=1&expand=2.html b/documentation/de/howtos33_way=1&expand=2.html index 7fab5be..43bc936 100644 --- a/documentation/de/howtos33_way=1&expand=2.html +++ b/documentation/de/howtos33_way=1&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -401,14 +400,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -421,7 +422,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=1&expand=3.html b/documentation/de/howtos33_way=1&expand=3.html index f422d15..73c8264 100644 --- a/documentation/de/howtos33_way=1&expand=3.html +++ b/documentation/de/howtos33_way=1&expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -401,14 +400,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -421,7 +422,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=1&expand=4.html b/documentation/de/howtos33_way=1&expand=4.html index 5ab9e36..43a5aa3 100644 --- a/documentation/de/howtos33_way=1&expand=4.html +++ b/documentation/de/howtos33_way=1&expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -401,14 +400,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -421,7 +422,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=1&expand=5.html b/documentation/de/howtos33_way=1&expand=5.html index f0bd195..4390fd1 100644 --- a/documentation/de/howtos33_way=1&expand=5.html +++ b/documentation/de/howtos33_way=1&expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -401,14 +400,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -421,7 +422,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=1&expand=6.html b/documentation/de/howtos33_way=1&expand=6.html index a278f1f..693e725 100644 --- a/documentation/de/howtos33_way=1&expand=6.html +++ b/documentation/de/howtos33_way=1&expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -408,14 +407,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -428,7 +429,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=1&expand=7.html b/documentation/de/howtos33_way=1&expand=7.html index 6e49778..2005cde 100644 --- a/documentation/de/howtos33_way=1&expand=7.html +++ b/documentation/de/howtos33_way=1&expand=7.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -408,14 +407,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -428,7 +429,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=1.html b/documentation/de/howtos33_way=1.html index 91e8238..3bced77 100644 --- a/documentation/de/howtos33_way=1.html +++ b/documentation/de/howtos33_way=1.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -403,14 +402,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -423,7 +424,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=2&.html b/documentation/de/howtos33_way=2&.html index b948b60..92b10ab 100644 --- a/documentation/de/howtos33_way=2&.html +++ b/documentation/de/howtos33_way=2&.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -356,14 +355,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -376,7 +377,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=2&expand=0.html b/documentation/de/howtos33_way=2&expand=0.html index b948b60..92b10ab 100644 --- a/documentation/de/howtos33_way=2&expand=0.html +++ b/documentation/de/howtos33_way=2&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -356,14 +355,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -376,7 +377,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=2&expand=1.html b/documentation/de/howtos33_way=2&expand=1.html index e437c9a..ee81115 100644 --- a/documentation/de/howtos33_way=2&expand=1.html +++ b/documentation/de/howtos33_way=2&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -361,14 +360,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -381,7 +382,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=2&expand=2.html b/documentation/de/howtos33_way=2&expand=2.html index 4c4031f..ee3674b 100644 --- a/documentation/de/howtos33_way=2&expand=2.html +++ b/documentation/de/howtos33_way=2&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -361,14 +360,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -381,7 +382,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=2&expand=3.html b/documentation/de/howtos33_way=2&expand=3.html index f357b03..7d1b378 100644 --- a/documentation/de/howtos33_way=2&expand=3.html +++ b/documentation/de/howtos33_way=2&expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -354,14 +353,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -374,7 +375,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=2&expand=4.html b/documentation/de/howtos33_way=2&expand=4.html index 8c0e06d..d9f52ac 100644 --- a/documentation/de/howtos33_way=2&expand=4.html +++ b/documentation/de/howtos33_way=2&expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -354,14 +353,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -374,7 +375,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=2&expand=5.html b/documentation/de/howtos33_way=2&expand=5.html index 89b8f5a..43376c9 100644 --- a/documentation/de/howtos33_way=2&expand=5.html +++ b/documentation/de/howtos33_way=2&expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -354,14 +353,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -374,7 +375,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=2&expand=6.html b/documentation/de/howtos33_way=2&expand=6.html index efbfc01..07988a4 100644 --- a/documentation/de/howtos33_way=2&expand=6.html +++ b/documentation/de/howtos33_way=2&expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -354,14 +353,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -374,7 +375,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=2.html b/documentation/de/howtos33_way=2.html index b948b60..92b10ab 100644 --- a/documentation/de/howtos33_way=2.html +++ b/documentation/de/howtos33_way=2.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -356,14 +355,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -376,7 +377,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&.html b/documentation/de/howtos33_way=3&.html index bbffb3d..4c2a4fb 100644 --- a/documentation/de/howtos33_way=3&.html +++ b/documentation/de/howtos33_way=3&.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -512,14 +511,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -532,7 +533,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=0.html b/documentation/de/howtos33_way=3&expand=0.html index bbffb3d..4c2a4fb 100644 --- a/documentation/de/howtos33_way=3&expand=0.html +++ b/documentation/de/howtos33_way=3&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -512,14 +511,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -532,7 +533,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=1.html b/documentation/de/howtos33_way=3&expand=1.html index 24eda8d..4e2bfa5 100644 --- a/documentation/de/howtos33_way=3&expand=1.html +++ b/documentation/de/howtos33_way=3&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -530,7 +531,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=10.html b/documentation/de/howtos33_way=3&expand=10.html index 3a67465..6f31c2f 100644 --- a/documentation/de/howtos33_way=3&expand=10.html +++ b/documentation/de/howtos33_way=3&expand=10.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -530,7 +531,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=11.html b/documentation/de/howtos33_way=3&expand=11.html index 12d19ec..55ef771 100644 --- a/documentation/de/howtos33_way=3&expand=11.html +++ b/documentation/de/howtos33_way=3&expand=11.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -530,7 +531,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=2.html b/documentation/de/howtos33_way=3&expand=2.html index 6d1f430..5ace56d 100644 --- a/documentation/de/howtos33_way=3&expand=2.html +++ b/documentation/de/howtos33_way=3&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -530,7 +531,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=3.html b/documentation/de/howtos33_way=3&expand=3.html index 908a326..4d5165c 100644 --- a/documentation/de/howtos33_way=3&expand=3.html +++ b/documentation/de/howtos33_way=3&expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -530,7 +531,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=4.html b/documentation/de/howtos33_way=3&expand=4.html index 45d2b50..344ef40 100644 --- a/documentation/de/howtos33_way=3&expand=4.html +++ b/documentation/de/howtos33_way=3&expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -530,7 +531,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=5.html b/documentation/de/howtos33_way=3&expand=5.html index 2e50ad8..7dc9230 100644 --- a/documentation/de/howtos33_way=3&expand=5.html +++ b/documentation/de/howtos33_way=3&expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -530,7 +531,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=6.html b/documentation/de/howtos33_way=3&expand=6.html index 0a3a64b..a56580f 100644 --- a/documentation/de/howtos33_way=3&expand=6.html +++ b/documentation/de/howtos33_way=3&expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -517,14 +516,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -537,7 +538,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=7.html b/documentation/de/howtos33_way=3&expand=7.html index 9478217..cf23317 100644 --- a/documentation/de/howtos33_way=3&expand=7.html +++ b/documentation/de/howtos33_way=3&expand=7.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -517,14 +516,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -537,7 +538,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=8.html b/documentation/de/howtos33_way=3&expand=8.html index 9f4b047..69a27e9 100644 --- a/documentation/de/howtos33_way=3&expand=8.html +++ b/documentation/de/howtos33_way=3&expand=8.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -530,7 +531,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3&expand=9.html b/documentation/de/howtos33_way=3&expand=9.html index dfe7ed8..9176377 100644 --- a/documentation/de/howtos33_way=3&expand=9.html +++ b/documentation/de/howtos33_way=3&expand=9.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -530,7 +531,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos33_way=3.html b/documentation/de/howtos33_way=3.html index bbffb3d..4c2a4fb 100644 --- a/documentation/de/howtos33_way=3.html +++ b/documentation/de/howtos33_way=3.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger erzeugen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -512,14 +511,16 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter + +
Neuigkeiten
Überblick
@@ -532,7 +533,7 @@ Dies ist empfohlen, wenn Sie zum ersten Mal mit Ihrer Brennsoftware ein erweiter - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos34.html b/documentation/de/howtos34.html index 8396559..284ecdc 100644 --- a/documentation/de/howtos34.html +++ b/documentation/de/howtos34.html @@ -1,7 +1,7 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -123,14 +122,16 @@ Aktivieren Sie in diesem Fall die gelb markierte Funktion "Verwende höchstens . + +
Neuigkeiten
Überblick
@@ -143,7 +144,7 @@ Aktivieren Sie in diesem Fall die gelb markierte Funktion "Verwende höchstens . - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos34.php b/documentation/de/howtos34.php index ff3d4ad..f1e069a 100644 --- a/documentation/de/howtos34.php +++ b/documentation/de/howtos34.php @@ -1,6 +1,6 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -121,14 +120,16 @@ Aktivieren Sie in diesem Fall die gelb markierte Funktion "Verwende höchstens . + +
Neuigkeiten
Überblick
@@ -141,7 +142,7 @@ Aktivieren Sie in diesem Fall die gelb markierte Funktion "Verwende höchstens . - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos40.html b/documentation/de/howtos40.html index 7741fba..1d46b79 100644 --- a/documentation/de/howtos40.html +++ b/documentation/de/howtos40.html @@ -1,7 +1,7 @@ - dvdisaster + Datenträger-Abbild rekonstruieren @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -149,14 +148,16 @@ ein defekter Datenträger und eine zugehörige Fehlerkor + +
Neuigkeiten
Überblick
@@ -169,7 +170,7 @@ ein defekter Datenträger und eine zugehörige Fehlerkor - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos40.php b/documentation/de/howtos40.php index 029ea1f..bd75052 100644 --- a/documentation/de/howtos40.php +++ b/documentation/de/howtos40.php @@ -1,6 +1,6 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -186,26 +185,6 @@ Erst wenn diese Einstellungen nicht genügend Daten liefern können Sie weitere
Neuigkeiten
Überblick

- - - - - - -
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. - - - - - -
Reiterkarte "Dateien".
-

- -

 
Nicht verwendete Reiterkarten

@@ -225,14 +204,16 @@ keine Auswirkungen auf das Einlesen von Datenträgern. + + @@ -245,7 +226,7 @@ keine Auswirkungen auf das Einlesen von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos41.php b/documentation/de/howtos41.php index 58a6752..b90e38e 100644 --- a/documentation/de/howtos41.php +++ b/documentation/de/howtos41.php @@ -1,6 +1,6 @@ - -Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. - -

 
Nicht verwendete Reiterkarten

diff --git a/documentation/de/howtos41_expand=1.html b/documentation/de/howtos41_expand=1.html index f487f2e..13d597f 100644 --- a/documentation/de/howtos41_expand=1.html +++ b/documentation/de/howtos41_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -184,26 +183,6 @@ Erst wenn diese Einstellungen nicht genügend Daten liefern können Sie weitere
Neuigkeiten
Überblick

- - - - - - -
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. - - - - - -
Reiterkarte "Dateien".
-

- -

 
Nicht verwendete Reiterkarten

@@ -223,14 +202,16 @@ keine Auswirkungen auf das Einlesen von Datenträgern. + + @@ -243,7 +224,7 @@ keine Auswirkungen auf das Einlesen von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos41_expand=2.html b/documentation/de/howtos41_expand=2.html index 9741355..cf3a4ba 100644 --- a/documentation/de/howtos41_expand=2.html +++ b/documentation/de/howtos41_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -184,26 +183,6 @@ Erst wenn diese Einstellungen nicht genügend Daten liefern können Sie weitere
Neuigkeiten
Überblick

- - - - - - -
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. - - - - - -
Reiterkarte "Dateien".
-

- -

 
Nicht verwendete Reiterkarten

@@ -223,14 +202,16 @@ keine Auswirkungen auf das Einlesen von Datenträgern. + + @@ -243,7 +224,7 @@ keine Auswirkungen auf das Einlesen von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos41_expand=3.html b/documentation/de/howtos41_expand=3.html index 71aae2d..8ee1b28 100644 --- a/documentation/de/howtos41_expand=3.html +++ b/documentation/de/howtos41_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -184,26 +183,6 @@ Erst wenn diese Einstellungen nicht genügend Daten liefern können Sie weitere
Neuigkeiten
Überblick

- - - - - - -
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. - - - - - -
Reiterkarte "Dateien".
-

- -

 
Nicht verwendete Reiterkarten

@@ -223,14 +202,16 @@ keine Auswirkungen auf das Einlesen von Datenträgern. + + @@ -243,7 +224,7 @@ keine Auswirkungen auf das Einlesen von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos41_expand=4.html b/documentation/de/howtos41_expand=4.html index b7ae777..794953c 100644 --- a/documentation/de/howtos41_expand=4.html +++ b/documentation/de/howtos41_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Grundeinstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -184,26 +183,6 @@ Erst wenn diese Einstellungen nicht genügend Daten liefern können Sie weitere
Neuigkeiten
Überblick

 
- - - - - - -
-Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. - - - - - -
Reiterkarte "Dateien".
-

- -

 
Nicht verwendete Reiterkarten

@@ -223,14 +202,16 @@ keine Auswirkungen auf das Einlesen von Datenträgern. + + @@ -243,7 +224,7 @@ keine Auswirkungen auf das Einlesen von Datenträgern. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos41_expand=5.html b/documentation/de/howtos41_expand=5.html deleted file mode 100644 index 20a4cb0..0000000 --- a/documentation/de/howtos41_expand=5.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - dvdisaster - - - - - - - - - - -
- dvdisaster - Version 0.72 (pl1) - -  Zur Internet-Version - - - -
- - - - - - - -
- -
- - - - - - - - - - - - - - - - - - -
- - - - -
- Inhalt - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - -
Neuigkeiten
Überblick
Typische Anwendungen
·Das große Bild
·Datenträger auf Lesefehler prüfen
·Fehlerkorrektur-Daten als Datei erzeugen
·Fehlerkorrektur-Daten auf dem Datenträger ablegen
·Datenträger-Abbild rekonstruieren
-Grundeinstellungen
-Abbild rekonstruieren
-Fortgeschrittene Einstellungen
·Informationen über Abbilder und Fehlerkorrektur-Daten anzeigen
·Abbild-Kompatibilität überprüfen
·Bedienelemente
Herunterladen
Fragen und Antworten
Fehler berichten
-

-
- - - - -
Datenträger-Abbild rekonstruieren
Grundeinstellungen

- - - - - - - - - -
- - -
Die nachfolgend besprochenen Reiterkarten finden Sie -im Einstellungsdialog. Das zum Aufruf verwendete Symbol ist -in dem Bildschirmfoto grün markiert (Anklicken vergrößert das Bild). -Das Symbol kann je nach verwendetem Symbol-Thema anders aussehen.
-
- - - - -
Einstellungsdialog aufrufen.
-

- - -Mit den hier gezeigten Einstellungen wird dvdisaster für das Einlesen von beschädigten -Datenträgern konfiguriert. Das Rekonstruieren des Abbilds aus den Fehlerkorrektur-Daten benötigt -keine speziellen Einstellungen. -

 
- - - - - - - -
-Reiterkarte "Abbild". Wählen Sie zunächst die Art der Fehlerkorrektur-Daten aus. -Nehmen Sie die Einstellung "ISO/UDF" (grüne Markierung) wenn Sie eine Fehlerkorrektur-Datei haben. -Aktivieren Sie hingegen die Einstellung "ECC/RS02" (blaue Markierung) um einen Datenträger zu -bearbeiten, der direkt mit Fehlerkorrektur-Daten erweitert wurde.

-Das angepaßte Leseverfahren nutzt die Informationen aus den Fehlerkorrektur-Daten, um das Einlesen -effizient zu steuern. Aktivieren Sie es mit dem gelb markierten Knopf.

-Nehmen Sie die übrigen Einstellungen wie in dem Bildschirmfoto angegeben vor.

-

- - - - -
Reiterkarte "Abbild".
-

- - - - - - - - -
-Reiterkarte "Laufwerk". Arbeiten Sie in dieser Reiterkarte zunächst -mit den gezeigten Grundeinstellungen. Bei einigen Laufwerken ergibt die -Einstellung "21h" bei "Raw-Lese-Verfahren" bessere Ergebnisse. Mehr Informationen -dazu gibt es in den fortgeschrittenen Einstellungen. -

-

- - - - -
Reiterkarte "Laufwerk".
-

- - - - - - - - -
-Reiterkarte "Leseversuche". Die Stärke des angepaßten Leseverfahrens besteht darin, -die noch lesbaren Sektoren auf dem Datenträger zu finden und sich nicht mit dem Einlesen -von defekten Sektoren zu verzetteln. Verwenden Sie daher "raw" lesen (grüne Markierung, kostet keinen -zusätzlichen Aufwand), aber reduzieren Sie zunächst die Anzahl der Leseversuche -auf ein Minimum (gelbe Markierungen). Stellen Sie für den ersten Leseversuch ein -moderates Abbruchkriterium von 128 unlesbaren Bereichen -(blaue Markierung) ein und lassen -Sie das Aufbewahren von Roh-Sektoren zunächst abgewählt. -Erst wenn diese Einstellungen nicht genügend Daten liefern können Sie weitere -Anpassungen vornehmen. -

-

- - - - -
Reiterkarte "Leseversuche".
-

- - - - - - - -
- -Reiterkarte "Dateien". Wenn Ihr Betriebssystem keine Dateien erzeugen kann, die größer als 2GB sind, -müssen Sie die grün markierte Einstellung auswählen. Anstelle einer einzigen Datei "abbild.iso" -werden dann bis zu 100 Segmente "abbild00.iso", "abbild01.iso" usw. verwendet; dies kostet etwas Geschwindigkeit. -Sie brauchen diese Option hauptsächlich unter Windows wenn Sie dort noch mit dem alten Dateisystem FAT32 arbeiten. -
- - - -
Bildschirmfoto: Reiterkarte "Dateien".

 
- - -
 
- -Nicht verwendete Reiterkarten

- -Die Reiterkarten "Fehlerkorrektur" und "Sonstiges" haben auf das Einlesen -keinen Einfluß. In der Reiterkarte "Darstellung" können Sie die Anzeige -von dvdisaster nach Ihrem Geschmack farblich verändern; dies hat aber ebenfalls -keine Auswirkungen auf das Einlesen von Datenträgern. - -

 
- - -Abbild einlesen und Daten wiederherstellen... - - - -
-
Alte Dokumentation (V0.70)
-
- - - - - - - - - - - - - -
- - Copyright 2004-2009 Carsten Gnörlich.
- Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt. -
-
-
- - diff --git a/documentation/de/howtos42.html b/documentation/de/howtos42.html index ec15aad..8b834f7 100644 --- a/documentation/de/howtos42.html +++ b/documentation/de/howtos42.html @@ -1,7 +1,7 @@ - dvdisaster + Abbild rekonstruieren @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -336,14 +335,16 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. + +
Neuigkeiten
Überblick
@@ -356,7 +357,7 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos42.php b/documentation/de/howtos42.php index a891ea6..6e87522 100644 --- a/documentation/de/howtos42.php +++ b/documentation/de/howtos42.php @@ -1,6 +1,6 @@ - dvdisaster + Abbild rekonstruieren @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -336,14 +335,16 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. + +
Neuigkeiten
Überblick
@@ -356,7 +357,7 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos42_expand=1.html b/documentation/de/howtos42_expand=1.html index 6ba7979..d480757 100644 --- a/documentation/de/howtos42_expand=1.html +++ b/documentation/de/howtos42_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Abbild rekonstruieren @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -335,14 +334,16 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. + +
Neuigkeiten
Überblick
@@ -355,7 +356,7 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos42_expand=2.html b/documentation/de/howtos42_expand=2.html index 5af3c77..25ad22b 100644 --- a/documentation/de/howtos42_expand=2.html +++ b/documentation/de/howtos42_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Abbild rekonstruieren @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -335,14 +334,16 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. + +
Neuigkeiten
Überblick
@@ -355,7 +356,7 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos42_expand=3.html b/documentation/de/howtos42_expand=3.html index ad08253..96fad3e 100644 --- a/documentation/de/howtos42_expand=3.html +++ b/documentation/de/howtos42_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Abbild rekonstruieren @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -335,14 +334,16 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. + +
Neuigkeiten
Überblick
@@ -355,7 +356,7 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos42_expand=4.html b/documentation/de/howtos42_expand=4.html index 78271fd..efb07c2 100644 --- a/documentation/de/howtos42_expand=4.html +++ b/documentation/de/howtos42_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Abbild rekonstruieren @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -335,14 +334,16 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. + +
Neuigkeiten
Überblick
@@ -355,7 +356,7 @@ Fehlerkorrektur-Datei können Sie mit dem neuen Datenträger weiter verwenden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos43.html b/documentation/de/howtos43.html index 7d73213..1675952 100644 --- a/documentation/de/howtos43.html +++ b/documentation/de/howtos43.html @@ -1,7 +1,7 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -266,14 +265,16 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. + +
Neuigkeiten
Überblick
@@ -286,7 +287,7 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos43.php b/documentation/de/howtos43.php index 59483bf..5a19d2e 100644 --- a/documentation/de/howtos43.php +++ b/documentation/de/howtos43.php @@ -1,6 +1,6 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -264,14 +263,16 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. + +
Neuigkeiten
Überblick
@@ -284,7 +285,7 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos43_expand=2.html b/documentation/de/howtos43_expand=2.html index 9f90b64..0d9107e 100644 --- a/documentation/de/howtos43_expand=2.html +++ b/documentation/de/howtos43_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -264,14 +263,16 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. + +
Neuigkeiten
Überblick
@@ -284,7 +285,7 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos43_expand=3.html b/documentation/de/howtos43_expand=3.html index 8ff4ebd..f142308 100644 --- a/documentation/de/howtos43_expand=3.html +++ b/documentation/de/howtos43_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -264,14 +263,16 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. + +
Neuigkeiten
Überblick
@@ -284,7 +285,7 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos43_expand=4.html b/documentation/de/howtos43_expand=4.html index aa66efb..a9f0de8 100644 --- a/documentation/de/howtos43_expand=4.html +++ b/documentation/de/howtos43_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -264,14 +263,16 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. + +
Neuigkeiten
Überblick
@@ -284,7 +285,7 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos43_expand=5.html b/documentation/de/howtos43_expand=5.html index e94e232..7f132be 100644 --- a/documentation/de/howtos43_expand=5.html +++ b/documentation/de/howtos43_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Fortgeschrittene Einstellungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -264,14 +263,16 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. + +
Neuigkeiten
Überblick
@@ -284,7 +285,7 @@ Bildschirmfoto) und schauen Sie erneut nach, ob Raw-Dateien entstehen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos50.html b/documentation/de/howtos50.html index 966772c..8252c15 100644 --- a/documentation/de/howtos50.html +++ b/documentation/de/howtos50.html @@ -1,7 +1,7 @@ - dvdisaster + Informationen über Abbilder und Fehlerkorrektur-Daten anzeigen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -137,14 +136,16 @@ Fehlerkorrektur-Datei. + +
Neuigkeiten
Überblick
@@ -157,7 +158,7 @@ Fehlerkorrektur-Datei. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos50.php b/documentation/de/howtos50.php index 2f89fff..2dc2734 100644 --- a/documentation/de/howtos50.php +++ b/documentation/de/howtos50.php @@ -1,6 +1,6 @@ - dvdisaster + Informationen anzeigen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -170,14 +169,16 @@ Fehlerkorrektur-Datei vollständig gelesen werden. + +
Neuigkeiten
Überblick
@@ -190,7 +191,7 @@ Fehlerkorrektur-Datei vollständig gelesen werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos51.php b/documentation/de/howtos51.php index 187ca93..893af0e 100644 --- a/documentation/de/howtos51.php +++ b/documentation/de/howtos51.php @@ -1,6 +1,6 @@ - dvdisaster + Informationen anzeigen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -170,14 +169,16 @@ Fehlerkorrektur-Datei vollständig gelesen werden. + +
Neuigkeiten
Überblick
@@ -190,7 +191,7 @@ Fehlerkorrektur-Datei vollständig gelesen werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos51_expand=1.html b/documentation/de/howtos51_expand=1.html index 6fbf04a..70384d4 100644 --- a/documentation/de/howtos51_expand=1.html +++ b/documentation/de/howtos51_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Informationen anzeigen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -169,14 +168,16 @@ Fehlerkorrektur-Datei vollständig gelesen werden. + +
Neuigkeiten
Überblick
@@ -189,7 +190,7 @@ Fehlerkorrektur-Datei vollständig gelesen werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos52.html b/documentation/de/howtos52.html index b217330..7fbb475 100644 --- a/documentation/de/howtos52.html +++ b/documentation/de/howtos52.html @@ -1,7 +1,7 @@ - dvdisaster + Ausgaben für Fehlerkorrektur-Dateien @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -221,14 +220,16 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. + +
Neuigkeiten
Überblick
@@ -241,7 +242,7 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos52.php b/documentation/de/howtos52.php index e9e4eb4..5ed1331 100644 --- a/documentation/de/howtos52.php +++ b/documentation/de/howtos52.php @@ -1,6 +1,6 @@ - dvdisaster + Ausgaben für Fehlerkorrektur-Dateien @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -221,14 +220,16 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. + +
Neuigkeiten
Überblick
@@ -241,7 +242,7 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos52_expand=1.html b/documentation/de/howtos52_expand=1.html index bd0dcec..431c4e5 100644 --- a/documentation/de/howtos52_expand=1.html +++ b/documentation/de/howtos52_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Ausgaben für Fehlerkorrektur-Dateien @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -220,14 +219,16 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. + +
Neuigkeiten
Überblick
@@ -240,7 +241,7 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos53.html b/documentation/de/howtos53.html index 09388ae..869ae2c 100644 --- a/documentation/de/howtos53.html +++ b/documentation/de/howtos53.html @@ -1,7 +1,7 @@ - dvdisaster + Ausgaben für erweiterte Abbilder @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -213,14 +212,16 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. + +
Neuigkeiten
Überblick
@@ -233,7 +234,7 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos53.php b/documentation/de/howtos53.php index 0e25c58..aec005c 100644 --- a/documentation/de/howtos53.php +++ b/documentation/de/howtos53.php @@ -1,6 +1,6 @@ - dvdisaster + Ausgaben für erweiterte Abbilder @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -213,14 +212,16 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. + +
Neuigkeiten
Überblick
@@ -233,7 +234,7 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos53_expand=1.html b/documentation/de/howtos53_expand=1.html index 1e1d81f..7777956 100644 --- a/documentation/de/howtos53_expand=1.html +++ b/documentation/de/howtos53_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Ausgaben für erweiterte Abbilder @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -212,14 +211,16 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. + +
Neuigkeiten
Überblick
@@ -232,7 +233,7 @@ Anderenfalls wird dort der wichtigste aufgetretene Fehler näher erklärt. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos59.html b/documentation/de/howtos59.html index 68bad40..4a61800 100644 --- a/documentation/de/howtos59.html +++ b/documentation/de/howtos59.html @@ -1,7 +1,7 @@ - dvdisaster + Beispiele @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -217,14 +216,16 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. + +
Neuigkeiten
Überblick
@@ -237,7 +238,7 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos59.php b/documentation/de/howtos59.php index befcc06..321dcb2 100644 --- a/documentation/de/howtos59.php +++ b/documentation/de/howtos59.php @@ -1,6 +1,6 @@ - dvdisaster + Beispiele @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -215,14 +214,16 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. + +
Neuigkeiten
Überblick
@@ -235,7 +236,7 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos59_expand=2.html b/documentation/de/howtos59_expand=2.html index 4d30da7..7320f96 100644 --- a/documentation/de/howtos59_expand=2.html +++ b/documentation/de/howtos59_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Beispiele @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -215,14 +214,16 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. + +
Neuigkeiten
Überblick
@@ -235,7 +236,7 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos59_expand=3.html b/documentation/de/howtos59_expand=3.html index 202e5c6..8c4fd44 100644 --- a/documentation/de/howtos59_expand=3.html +++ b/documentation/de/howtos59_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Beispiele @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -215,14 +214,16 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. + +
Neuigkeiten
Überblick
@@ -235,7 +236,7 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos59_expand=4.html b/documentation/de/howtos59_expand=4.html index 26ce3ee..97b08c5 100644 --- a/documentation/de/howtos59_expand=4.html +++ b/documentation/de/howtos59_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Beispiele @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -215,14 +214,16 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. + +
Neuigkeiten
Überblick
@@ -235,7 +236,7 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos59_expand=5.html b/documentation/de/howtos59_expand=5.html index a578313..e52811d 100644 --- a/documentation/de/howtos59_expand=5.html +++ b/documentation/de/howtos59_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Beispiele @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -215,14 +214,16 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. + +
Neuigkeiten
Überblick
@@ -235,7 +236,7 @@ Daran sieht man daß die Fehlerkorrektur-Datei nicht zu dem Abbild gehört. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos60.html b/documentation/de/howtos60.html index 0ce0ea0..6b9bfd5 100644 --- a/documentation/de/howtos60.html +++ b/documentation/de/howtos60.html @@ -1,7 +1,7 @@ - dvdisaster + Das große Bild @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -257,14 +256,16 @@ Personen oder Situationen sind rein zufällig. + +
Neuigkeiten
Überblick
@@ -277,7 +278,7 @@ Personen oder Situationen sind rein zufällig. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos60.php b/documentation/de/howtos60.php index ee914f8..9f1ad50 100644 --- a/documentation/de/howtos60.php +++ b/documentation/de/howtos60.php @@ -1,6 +1,6 @@ - dvdisaster + Fehlerkorrektur @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -198,14 +197,16 @@ Kodierungstheorie hinzuziehen. + +
Neuigkeiten
Überblick
@@ -218,7 +219,7 @@ Kodierungstheorie hinzuziehen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos61.php b/documentation/de/howtos61.php index e529f4d..e922034 100644 --- a/documentation/de/howtos61.php +++ b/documentation/de/howtos61.php @@ -1,6 +1,6 @@ - dvdisaster + richtige Anwendung @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -170,14 +169,16 @@ kaputt geht. + +
Neuigkeiten
Überblick
@@ -190,7 +191,7 @@ kaputt geht. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos62.php b/documentation/de/howtos62.php index 295c8ff..4e34397 100644 --- a/documentation/de/howtos62.php +++ b/documentation/de/howtos62.php @@ -1,6 +1,6 @@ - dvdisaster + falsche Anwendung @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -191,14 +190,16 @@ Datenträger-Typen erstellen. + +
Neuigkeiten
Überblick
@@ -211,7 +212,7 @@ Datenträger-Typen erstellen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos63.php b/documentation/de/howtos63.php index b929237..8ede5a6 100644 --- a/documentation/de/howtos63.php +++ b/documentation/de/howtos63.php @@ -1,6 +1,6 @@ - dvdisaster + Abbild-Kompatibilität überprüfen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -133,14 +132,16 @@ zum ersten Mal zusammen mit dvdisaster einsetzen. + +
Neuigkeiten
Überblick
@@ -153,7 +154,7 @@ zum ersten Mal zusammen mit dvdisaster einsetzen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos90.php b/documentation/de/howtos90.php index 1ef3188..51dea78 100644 --- a/documentation/de/howtos90.php +++ b/documentation/de/howtos90.php @@ -1,6 +1,6 @@ - dvdisaster + bei Fehlerkorrektur-Dateien @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -340,14 +339,16 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit + +
Neuigkeiten
Überblick
@@ -360,7 +361,7 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos91.php b/documentation/de/howtos91.php index 8d88b04..87c80ee 100644 --- a/documentation/de/howtos91.php +++ b/documentation/de/howtos91.php @@ -1,6 +1,6 @@ - dvdisaster + bei Fehlerkorrektur-Dateien @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -340,14 +339,16 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit + +
Neuigkeiten
Überblick
@@ -360,7 +361,7 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos91_expand=1.html b/documentation/de/howtos91_expand=1.html index 8fa05ba..681af50 100644 --- a/documentation/de/howtos91_expand=1.html +++ b/documentation/de/howtos91_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + bei Fehlerkorrektur-Dateien @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -339,14 +338,16 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit + +
Neuigkeiten
Überblick
@@ -359,7 +360,7 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos91_expand=2.html b/documentation/de/howtos91_expand=2.html index 1d5b42d..9f1c9f2 100644 --- a/documentation/de/howtos91_expand=2.html +++ b/documentation/de/howtos91_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + bei Fehlerkorrektur-Dateien @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -345,14 +344,16 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit + +
Neuigkeiten
Überblick
@@ -365,7 +366,7 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos91_expand=3.html b/documentation/de/howtos91_expand=3.html index d2e5953..4ec6727 100644 --- a/documentation/de/howtos91_expand=3.html +++ b/documentation/de/howtos91_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + bei Fehlerkorrektur-Dateien @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -345,14 +344,16 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit + +
Neuigkeiten
Überblick
@@ -365,7 +366,7 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos91_expand=4.html b/documentation/de/howtos91_expand=4.html index 89ceecb..b74f015 100644 --- a/documentation/de/howtos91_expand=4.html +++ b/documentation/de/howtos91_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + bei Fehlerkorrektur-Dateien @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -339,14 +338,16 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit + +
Neuigkeiten
Überblick
@@ -359,7 +360,7 @@ auch den Vorteil daß der gebrannte Datenträger einmal komplett auf Lesbarkeit - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos92.html b/documentation/de/howtos92.html index a198b14..5e2b309 100644 --- a/documentation/de/howtos92.html +++ b/documentation/de/howtos92.html @@ -1,7 +1,7 @@ - dvdisaster + beim Ablegen von Fehlerkorrektur-Daten auf dem Datenträger @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -292,14 +291,16 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. + +
Neuigkeiten
Überblick
@@ -312,7 +313,7 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos92.php b/documentation/de/howtos92.php index 882a637..04982b9 100644 --- a/documentation/de/howtos92.php +++ b/documentation/de/howtos92.php @@ -1,6 +1,6 @@ - dvdisaster + beim Ablegen von Fehlerkorrektur-Daten auf dem Datenträger @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -292,14 +291,16 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. + +
Neuigkeiten
Überblick
@@ -312,7 +313,7 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos92_expand=1.html b/documentation/de/howtos92_expand=1.html index 91eead6..9c61ecb 100644 --- a/documentation/de/howtos92_expand=1.html +++ b/documentation/de/howtos92_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + beim Ablegen von Fehlerkorrektur-Daten auf dem Datenträger @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -291,14 +290,16 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. + +
Neuigkeiten
Überblick
@@ -311,7 +312,7 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos92_expand=2.html b/documentation/de/howtos92_expand=2.html index e0ef1e5..9e39603 100644 --- a/documentation/de/howtos92_expand=2.html +++ b/documentation/de/howtos92_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + beim Ablegen von Fehlerkorrektur-Daten auf dem Datenträger @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -297,14 +296,16 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. + +
Neuigkeiten
Überblick
@@ -317,7 +318,7 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos92_expand=3.html b/documentation/de/howtos92_expand=3.html index cc0a8e2..3203ac9 100644 --- a/documentation/de/howtos92_expand=3.html +++ b/documentation/de/howtos92_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + beim Ablegen von Fehlerkorrektur-Daten auf dem Datenträger @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -297,14 +296,16 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. + +
Neuigkeiten
Überblick
@@ -317,7 +318,7 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos92_expand=4.html b/documentation/de/howtos92_expand=4.html index 91c78c8..aa8f0cb 100644 --- a/documentation/de/howtos92_expand=4.html +++ b/documentation/de/howtos92_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + beim Ablegen von Fehlerkorrektur-Daten auf dem Datenträger @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -291,14 +290,16 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. + +
Neuigkeiten
Überblick
@@ -311,7 +312,7 @@ Führen Sie den Test erneut mit der Software eines anderen Herstellers aus. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtos_winfile.php b/documentation/de/howtos_winfile.php index 2eb2b92..709e1aa 100644 --- a/documentation/de/howtos_winfile.php +++ b/documentation/de/howtos_winfile.php @@ -1,6 +1,6 @@ diff --git a/documentation/de/howtosa0.html b/documentation/de/howtosa0.html index f87064d..6f8923c 100644 --- a/documentation/de/howtosa0.html +++ b/documentation/de/howtosa0.html @@ -1,7 +1,7 @@ - dvdisaster + Bedienelemente @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -126,14 +125,16 @@ Dieses Kapitel erklärt einige der häufig verwendeten Bedienelemente: + +
Neuigkeiten
Überblick
@@ -146,7 +147,7 @@ Dieses Kapitel erklärt einige der häufig verwendeten Bedienelemente: - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtosa0.php b/documentation/de/howtosa0.php index e9d12ce..b30450f 100644 --- a/documentation/de/howtosa0.php +++ b/documentation/de/howtosa0.php @@ -1,6 +1,6 @@ - dvdisaster + Laufwerk auswählen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -134,14 +133,16 @@ Ausgeklappte Auswahl unter Windows + +
Neuigkeiten
Überblick
@@ -154,7 +155,7 @@ Ausgeklappte Auswahl unter Windows - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtosa1.php b/documentation/de/howtosa1.php index 81fe857..6edb6f4 100644 --- a/documentation/de/howtosa1.php +++ b/documentation/de/howtosa1.php @@ -1,6 +1,6 @@ - dvdisaster + Laufwerk auswählen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -132,14 +131,16 @@ Ausgeklappte Auswahl unter Windows + +
Neuigkeiten
Überblick
@@ -152,7 +153,7 @@ Ausgeklappte Auswahl unter Windows - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtosa2.html b/documentation/de/howtosa2.html index 2c41cf8..5f71e2c 100644 --- a/documentation/de/howtosa2.html +++ b/documentation/de/howtosa2.html @@ -1,7 +1,7 @@ - dvdisaster + Abbild-Datei auswählen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -178,14 +177,16 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. + +
Neuigkeiten
Überblick
@@ -198,7 +199,7 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtosa2.php b/documentation/de/howtosa2.php index 7ba4edd..5b9b08b 100644 --- a/documentation/de/howtosa2.php +++ b/documentation/de/howtosa2.php @@ -1,6 +1,6 @@ - dvdisaster + Abbild-Datei auswählen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -176,14 +175,16 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. + +
Neuigkeiten
Überblick
@@ -196,7 +197,7 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtosa2_expand=2.html b/documentation/de/howtosa2_expand=2.html index 63e3840..91e4d7d 100644 --- a/documentation/de/howtosa2_expand=2.html +++ b/documentation/de/howtosa2_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Abbild-Datei auswählen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -176,14 +175,16 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. + +
Neuigkeiten
Überblick
@@ -196,7 +197,7 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtosa3.html b/documentation/de/howtosa3.html index 09bf659..7963aef 100644 --- a/documentation/de/howtosa3.html +++ b/documentation/de/howtosa3.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei auswählen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -174,14 +173,16 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. + +
Neuigkeiten
Überblick
@@ -194,7 +195,7 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtosa3.php b/documentation/de/howtosa3.php index 5d6e18e..ffa202a 100644 --- a/documentation/de/howtosa3.php +++ b/documentation/de/howtosa3.php @@ -1,6 +1,6 @@ - dvdisaster + Fehlerkorrektur-Datei auswählen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -172,14 +171,16 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. + +
Neuigkeiten
Überblick
@@ -192,7 +193,7 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtosa3_expand=2.html b/documentation/de/howtosa3_expand=2.html index c89409d..04d8d89 100644 --- a/documentation/de/howtosa3_expand=2.html +++ b/documentation/de/howtosa3_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Fehlerkorrektur-Datei auswählen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -172,14 +171,16 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. + +
Neuigkeiten
Überblick
@@ -192,7 +193,7 @@ dazu muß der gelb hervorgehobene Bereich (s.o.) verwendet werden. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtosa4.html b/documentation/de/howtosa4.html index 27ba34a..c849b21 100644 --- a/documentation/de/howtosa4.html +++ b/documentation/de/howtosa4.html @@ -2,7 +2,7 @@ - dvdisaster + Aktionen beginnen @@ -12,7 +12,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -49,7 +49,6 @@

- @@ -170,14 +169,16 @@ wenn dvdisaster gerade mit dem Lesen eines beschädigten Sektors beschäftigt is + +
Neuigkeiten
Überblick
@@ -190,7 +191,7 @@ wenn dvdisaster gerade mit dem Lesen eines beschädigten Sektors beschäftigt is - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/howtosa4.php b/documentation/de/howtosa4.php index ad52a77..74d5a60 100644 --- a/documentation/de/howtosa4.php +++ b/documentation/de/howtosa4.php @@ -1,7 +1,7 @@ - dvdisaster + Aktionen beginnen @@ -12,7 +12,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -49,7 +49,6 @@

- @@ -168,14 +167,16 @@ wenn dvdisaster gerade mit dem Lesen eines beschädigten Sektors beschäftigt is + +
Neuigkeiten
Überblick
@@ -188,7 +189,7 @@ wenn dvdisaster gerade mit dem Lesen eines beschädigten Sektors beschäftigt is - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/imprint.php b/documentation/de/imprint.php index d41495c..5d25411 100644 --- a/documentation/de/imprint.php +++ b/documentation/de/imprint.php @@ -1,6 +1,6 @@ - dvdisaster + Überblick + @@ -11,7 +12,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +49,6 @@

- @@ -116,6 +116,7 @@ Solche Funktionen sind mit den Zielen und dem inneren Aufbau von dvdisaster nich
Neuigkeiten
Überblick
+ +
Neuigkeiten + @@ -123,29 +124,29 @@ Solche Funktionen sind mit den Zielen und dem inneren Aufbau von dvdisaster nich

+ 28.02.2010
+ + dvdisaster 0.79.2 veröffentlicht +

+ 07.02.2010
+ + Beginn des neuen Entwicklungszweiges 0.79 +

+ 01.10.2009
+ + Einschätzung zu potentiellen Sicherheitslücken in der GTK-Bibliothek für Windows +

+ 10.08.2009
+ + Projektseiten auf SourceForge nicht aktuell +

08.08.2009
- dvdisaster 0.72.1 veröffentlicht + dvdisaster 0.72.1 veröffentlicht

04.07.2009
- dvdisaster 0.72 veröffentlicht -

- 14.04.2009
- - Nachgelegt: dvdisaster 0.72.rc1 für Mac OS X -

- 11.04.2009
- - dvdisaster 0.72.rc1 veröffentlicht -

- 08.03.2009
- - dvdisaster 0.71.28 veröffentlicht -

- 18.01.2009
- - dvdisaster 0.71.27 veröffentlicht + dvdisaster 0.72 veröffentlicht

@@ -153,14 +154,16 @@ Solche Funktionen sind mit den Zielen und dem inneren Aufbau von dvdisaster nich

@@ -173,7 +176,7 @@ Solche Funktionen sind mit den Zielen und dem inneren Aufbau von dvdisaster nich
- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/index.php b/documentation/de/index.php index 887a95b..5add5d2 100644 --- a/documentation/de/index.php +++ b/documentation/de/index.php @@ -1,6 +1,6 @@ - dvdisaster + Beispiele für die Fehlerkorrektur @@ -11,7 +11,7 @@
dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -143,14 +142,16 @@ verloren.

+ +

Neuigkeiten
Überblick
@@ -163,7 +164,7 @@ verloren.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/index10.php b/documentation/de/index10.php index 51b7571..6641f39 100644 --- a/documentation/de/index10.php +++ b/documentation/de/index10.php @@ -1,6 +1,6 @@ - dvdisaster + Beispiele für die Fehlerkorrektur @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -141,14 +140,16 @@ verloren.

+ +

Neuigkeiten
Überblick
@@ -161,7 +162,7 @@ verloren.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/index10_expand=2.html b/documentation/de/index10_expand=2.html index a5f3b46..862d313 100644 --- a/documentation/de/index10_expand=2.html +++ b/documentation/de/index10_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Beispiele für die Fehlerkorrektur @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -141,14 +140,16 @@ verloren.

+ +

Neuigkeiten
Überblick
@@ -161,7 +162,7 @@ verloren.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/index20.html b/documentation/de/index20.html index 5893d74..5c65dfc 100644 --- a/documentation/de/index20.html +++ b/documentation/de/index20.html @@ -1,7 +1,7 @@ - dvdisaster + dvdisaster ergänzt Qualitäts-Analysen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -112,14 +111,16 @@ neuer Datenträger erstellt. + +
Neuigkeiten
Überblick
@@ -132,7 +133,7 @@ neuer Datenträger erstellt. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/index20.php b/documentation/de/index20.php index 2bc3845..de4a486 100644 --- a/documentation/de/index20.php +++ b/documentation/de/index20.php @@ -1,6 +1,6 @@ - dvdisaster + Vor- und Nachteile von dvdisaster @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -110,14 +109,16 @@ Arbeitsweise von dvdisaster zu erfahren. + +
Neuigkeiten
Überblick
@@ -130,7 +131,7 @@ Arbeitsweise von dvdisaster zu erfahren. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/index30.php b/documentation/de/index30.php index b89e6e9..53804e2 100644 --- a/documentation/de/index30.php +++ b/documentation/de/index30.php @@ -1,6 +1,6 @@ - dvdisaster + Neuigkeiten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,8 +48,8 @@

- + @@ -74,7 +74,128 @@

Neues über dvdisaster

Neuigkeiten
·2009
·2008
·2007
- + + + +
dvdisaster 0.72.1 veröffentlichtdvdisaster 0.79.2 veröffentlicht28.02.2010
+ + + + +
+ + + + +
+ + +
+ +Binärpakete sind wieder für Mac OS X verfügbar nachdem die +Entwicklungsumgebung auch für Mac OS X aktualisiert wurde. + Die Entwicklung +von RS03 geht weiter, ist aber noch längst nicht abgeschlossen. + +
+

 
+ + + + + +
Beginn des neuen Entwicklungszweiges 0.7907.02.2010
+ + + + +
+ + + + +
+ + +
+ +Heute wird mit Version 0.79.1 die erste Version des neuen +Entwicklungszweiges veröffentlicht. Diese Version dient hauptsächlich +zum Ausprobieren neuer Funktionen und wird nicht zum produktiven +Einsatz empfohlen. +Auf der Seite zum Herunterladen +finden Sie Informationen darüber, was gerade geändert wurde und wie +Sie beim Testen mithelfen können. + +
+
 
+ + + + + +
Einschätzung zu potentiellen Sicherheitslücken in der GTK-Bibliothek für Windows01.10.2009
+ + + + +
+ + + + +
+ + +
+ +Die Windows-Versionen von dvdisaster 0.70.x/0.72.x werden mit einer alten Version +der GTK-Bibliothek +ausgeliefert, die Schwachstellen in der Verarbeitung von Bilddateien aufweist. +Um die Lücke auszunutzen, müssen manipulierte Bilder aus +einer externen Quelle nachgeladen werden. Da dvdisaster +keine derartigen Funktionen beinhaltet, ist diese Schwachstelle als nicht +gefährlich anzusehen.

+Ein Auswechseln von GTK innerhalb von dvdisaster 0.70.x/0.72.x wird nicht +empfohlen, da sich in neueren GTK-Versionen einige Schnittstellen geändert +haben. Der Austausch kann daher zu Fehlfunktionen führen.

+Die Windows-Version von dvdisaster 0.79.1 wird mit entsprechend überarbeiteten +Schnittstellen und einer aktuellen Version von GTK ausgeliefert werden.

+An dieser Stelle vielen Dank an alle Nutzer, die einen Hinweis auf die +Schwachstelle gegeben haben. + +

+
 
+ + + + + +
Projektseiten auf SourceForge nicht aktuell10.08.2009
+ + + + +
+ + + + +
+ + +
+ +Aufgrund von Änderungen in der Funktionalität von SourceForge +können die Inhalte der News, Downloads und des CVS nicht zeitnah +hochgeladen werden. Bitte nutzen Sie stattdessen die entsprechenden +Rubriken auf diesen Seiten (http://dvdisaster.net). + +
+
 
+ + +
dvdisaster 0.72.1 veröffentlicht 08.08.2009
@@ -92,15 +213,17 @@ Pablo Almeida hat die Bildschirmtexte ins Portugiesische übersetzt. -Es wurde ein Workaround eingebaut um Win XP vom Einfrieren -bei bestimmten CD-RW/Laufwerks-Kominationen abzuhalten.

+Es wurde eine Umgehungslösung eingebaut um Win XP vom Einfrieren +bei bestimmten CD-RW/Laufwerks-Kombinationen abzuhalten.

+Aktueller Hinweis: Die Umgehungslösung ist nicht vollständig. +Falls das Problem immer noch besteht, probieren Sie bitte Version 0.79.x aus.

 
- +
dvdisaster 0.72 veröffentlichtdvdisaster 0.72 veröffentlicht 04.07.2009
@@ -125,127 +248,19 @@ Veröffentlichungskandidaten behoben.

 
- - - - - -
Nachgelegt: dvdisaster 0.72.rc1 für Mac OS X14.04.2009
- - - - -
- - - - -
- - -
- -Die native Version für Mac OS X ist im Bereich der -Benutzeroberfläche noch etwas hakelig, -da die Portierung der GTK+-Bibliothek in einem frühen Entwicklungsstadium ist. -Doch mit der heute aktualisierten dvdisaster-Version läßt sich schon auf dem Mac arbeiten... - -
-
 
- - - - - -
dvdisaster 0.72.rc1 veröffentlicht11.04.2009
- - - - -
- - - - -
- - -
- -Der erste Veröffentlichungskandidat für den stabilen 0.72er Zweig -steht nun bereit. Unter anderem gibt es Unterstützung für Blu-Ray-Datenträger und -"Raw"-Lesen sowie C2-Überprüfungen für CD. -Auf der Herunterladen-Seite -finden Sie mehr Informationen. - -
-
 
- - - - - -
dvdisaster 0.71.28 veröffentlicht08.03.2009
- - - - -
- - - - -
- - -
- -Diese Version behebt Abstürze durch unzulässige Befehle -("illegal Instruction") auf x86-Maschinen die SSE2 nicht unterstützen. -Sie enthält weitere kleinere Änderungen auf dem Weg zum -Veröffentlichungskandidaten für den stabilen Zweig. - -
-
 
- - - - - -
dvdisaster 0.71.27 veröffentlicht18.01.2009
- - - - -
- - - - -
- - -
- -Die Dokumentation ist wieder komplett. Einige Crashes und -Inkompatibilitäten mit ungewöhnlichen Laufwerken und Datenträgern wurden behoben. -Diese Version enthält die letzte große interne Änderung, die für die 0.71.x-Serie -geplant war. Wenn alles gut geht wird die nächste Version ein -Veröffentlichungskandidat für den stabilen Zweig (0.72). - -
-
 
+ + @@ -258,7 +273,7 @@ Veröffentlichungskandidat für den stabilen Zweig (0.72). - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/news.php b/documentation/de/news.php index 0f96a26..b116218 100644 --- a/documentation/de/news.php +++ b/documentation/de/news.php @@ -1,6 +1,6 @@ Seite zum Herunterladen +finden Sie Informationen darüber, was gerade geändert wurde und wie +Sie beim Testen mithelfen können. +", 14, "2010-02-07T00:00:00Z", "2010-02-07T00:00:00Z"); + + +news_item("01.10.2009", "Einschätzung zu potentiellen Sicherheitslücken in der GTK-Bibliothek für Windows", " +Die Windows-Versionen von dvdisaster 0.70.x/0.72.x werden mit einer alten Version +der GTK-Bibliothek +ausgeliefert, die Schwachstellen in der Verarbeitung von Bilddateien aufweist. +Um die Lücke auszunutzen, müssen manipulierte Bilder aus +einer externen Quelle nachgeladen werden. Da dvdisaster +keine derartigen Funktionen beinhaltet, ist diese Schwachstelle als nicht +gefährlich anzusehen.

+Ein Auswechseln von GTK innerhalb von dvdisaster 0.70.x/0.72.x wird nicht +empfohlen, da sich in neueren GTK-Versionen einige Schnittstellen geändert +haben. Der Austausch kann daher zu Fehlfunktionen führen.

+Die Windows-Version von dvdisaster 0.79.1 wird mit entsprechend überarbeiteten +Schnittstellen und einer aktuellen Version von GTK ausgeliefert werden.

+An dieser Stelle vielen Dank an alle Nutzer, die einen Hinweis auf die +Schwachstelle gegeben haben. +", 13, "2009-10-01T00:00:00Z", "2009-10-01T00:00:00Z"); + +news_item("10.08.2009", "Projektseiten auf SourceForge nicht aktuell", " +Aufgrund von Änderungen in der Funktionalität von SourceForge +können die Inhalte der News, Downloads und des CVS nicht zeitnah +hochgeladen werden. Bitte nutzen Sie stattdessen die entsprechenden +Rubriken auf diesen Seiten (http://dvdisaster.net). +", 12, "2009-08-10T00:00:00Z", "2009-08-10T00:00:00Z"); + news_item("08.08.2009", "dvdisaster 0.72.1 veröffentlicht", " Pablo Almeida hat die Bildschirmtexte ins Portugiesische übersetzt. -Es wurde ein Workaround eingebaut um Win XP vom Einfrieren -bei bestimmten CD-RW/Laufwerks-Kominationen abzuhalten.

-"); +Es wurde eine Umgehungslösung eingebaut um Win XP vom Einfrieren +bei bestimmten CD-RW/Laufwerks-Kombinationen abzuhalten.

+Aktueller Hinweis: Die Umgehungslösung ist nicht vollständig. +Falls das Problem immer noch besteht, probieren Sie bitte Version 0.79.x aus. +", 11, "2009-08-08T00:00:00Z", "2010-02-06T00:00:00Z"); news_item("04.07.2009", "dvdisaster 0.72 veröffentlicht", " Dies ist die erste stabile Version des 0.72er-Zweiges. Igor Gorbounov hat die russische online-Dokumentation vervollständigt und es wurden noch einige kleine Fehler aus dem ersten Veröffentlichungskandidaten behoben.

-"); +", 10, "2009-07-04T00:00:00Z", "2009-07-04T00:00:00Z"); -news_item("14.04.2009", "Nachgelegt: dvdisaster 0.72.rc1 für Mac OS X", " -Die native Version für Mac OS X ist im Bereich der -Benutzeroberfläche noch etwas hakelig, -da die Portierung der GTK+-Bibliothek in einem frühen Entwicklungsstadium ist. -Doch mit der heute aktualisierten dvdisaster-Version läßt sich schon auf dem Mac arbeiten... -"); - -news_item("11.04.2009", "dvdisaster 0.72.rc1 veröffentlicht", " -Der erste Veröffentlichungskandidat für den stabilen 0.72er Zweig -steht nun bereit. Unter anderem gibt es Unterstützung für Blu-Ray-Datenträger und -\"Raw\"-Lesen sowie C2-Überprüfungen für CD. -Auf der Herunterladen-Seite -finden Sie mehr Informationen. -"); - -news_item("08.03.2009", "dvdisaster 0.71.28 veröffentlicht", " -Diese Version behebt Abstürze durch unzulässige Befehle -(\"illegal Instruction\") auf x86-Maschinen die SSE2 nicht unterstützen. -Sie enthält weitere kleinere Änderungen auf dem Weg zum -Veröffentlichungskandidaten für den stabilen Zweig. -"); - -news_item("18.01.2009", "dvdisaster 0.71.27 veröffentlicht", " -Die Dokumentation ist wieder komplett. Einige Crashes und -Inkompatibilitäten mit ungewöhnlichen Laufwerken und Datenträgern wurden behoben. -Diese Version enthält die letzte große interne Änderung, die für die 0.71.x-Serie -geplant war. Wenn alles gut geht wird die nächste Version ein -Veröffentlichungskandidat für den stabilen Zweig (0.72). -"); +news_finalize(); if($news_flash == 0) end_page(); diff --git a/documentation/de/news2007.html b/documentation/de/news2007.html index f8c21c1..1ac6e79 100644 --- a/documentation/de/news2007.html +++ b/documentation/de/news2007.html @@ -1,7 +1,7 @@ - dvdisaster + 2007 @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,8 +48,8 @@

- + @@ -102,14 +102,16 @@ + +
Neuigkeiten
·2009
·2008
·2007
@@ -122,7 +124,7 @@ - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/news2007.php b/documentation/de/news2007.php index b570064..45eced4 100644 --- a/documentation/de/news2007.php +++ b/documentation/de/news2007.php @@ -1,6 +1,6 @@ - dvdisaster + 2008 @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,8 +48,8 @@

- + @@ -74,7 +74,7 @@

Neuigkeiten - Archiv von 2008

Neuigkeiten
·2009
·2008
·2007
- +
dvdisaster 0.71.26 veröffentlichtdvdisaster 0.71.26 veröffentlicht 30.03.2008
@@ -102,7 +102,7 @@ eine Rückmeldung geben. Die Unterstützung von BD-Datenträgern wurde verbesser

 
- +
Problem mit vorheriger Windows-Version behoben (0.70.6 / 0.71.25)Problem mit vorheriger Windows-Version behoben (0.70.6 / 0.71.25) 05.03.2008
@@ -157,7 +157,7 @@ eine Rückmeldung geben. Die Unterstützung von BD-Datenträgern wurde verbesser
 
- +
dvdisaster 0.70.5 / 0.71.24 beheben Problem mit neuen Linux-Versionendvdisaster 0.70.5 / 0.71.24 beheben Problem mit neuen Linux-Versionen 24.02.2008
@@ -190,14 +190,16 @@ eine Rückmeldung geben. Die Unterstützung von BD-Datenträgern wurde verbesser + + @@ -210,7 +212,7 @@ eine Rückmeldung geben. Die Unterstützung von BD-Datenträgern wurde verbesser - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/news2008.php b/documentation/de/news2008.php index 975c6c9..a9c9780 100644 --- a/documentation/de/news2008.php +++ b/documentation/de/news2008.php @@ -1,6 +1,6 @@ 2GB erzeugen Fehler in 0.70.5 and 0.71.24 unter Windows", " Die Behandlung von Umlauten in Dateinamen hat dazu geführt, daß unter Windows keine Abbilder >2GB mehr verarbeitet werden können. Betroffen sind nur die gerade veröffentlichten Versionen 0.70.5 and 0.71.24. Verbesserte Versionen kommen in den nächsten Tagen. -"); +", 3, "2008-03-03T00:00:00Z", "2008-03-03T00:00:00Z"); news_item("24.02.2008", "dvdisaster 0.70.5 / 0.71.24 beheben Problem mit neuen Linux-Versionen", " Die neuen Versionen beheben ein Problem mit neueren Linux-Kernen, das unter @@ -50,7 +50,7 @@ news_item("24.02.2008", "dvdisaster 0.70.5 / 0.71.24 beheben Problem mit neuen L Mit dieser Version beginnt außerdem die Überarbeitung der Online-Dokumentation, einschließlich einer russischen Übersetzung von Igor Gorbounov. -"); # end of news_item +", 2, "2008-02-24T00:00:00Z", "2008-02-24T00:00:00Z"); if($news_flash == 0) end_page(); diff --git a/documentation/de/news2009.html b/documentation/de/news2009.html new file mode 100644 index 0000000..c69c508 --- /dev/null +++ b/documentation/de/news2009.html @@ -0,0 +1,220 @@ + + + + 2009 + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  Zur Internet-Version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Inhalt + + + + +

+ + + + + + + + + + + + + + + + +
Neuigkeiten
·2009
·2008
·2007
Überblick
Typische Anwendungen
Herunterladen
Fragen und Antworten
Fehler berichten
+

+
+

Neuigkeiten - Archiv von 2009

+ + + + + +
Nachgelegt: dvdisaster 0.72.rc1 für Mac OS X14.04.2009
+ + + + +
+ + + + +
+ + +
+ +Die native Version für Mac OS X ist im Bereich der +Benutzeroberfläche noch etwas hakelig, +da die Portierung der GTK+-Bibliothek in einem frühen Entwicklungsstadium ist. +Doch mit der heute aktualisierten dvdisaster-Version läßt sich schon auf dem Mac arbeiten... + +
+
 
+ + + + + +
dvdisaster 0.72.rc1 veröffentlicht11.04.2009
+ + + + +
+ + + + +
+ + +
+ +Der erste Veröffentlichungskandidat für den stabilen 0.72er Zweig +steht nun bereit. Unter anderem gibt es Unterstützung für Blu-Ray-Datenträger und +"Raw"-Lesen sowie C2-Überprüfungen für CD. +Auf der Herunterladen-Seite +finden Sie mehr Informationen. + +
+
 
+ + + + + +
dvdisaster 0.71.28 veröffentlicht08.03.2009
+ + + + +
+ + + + +
+ + +
+ +Diese Version behebt Abstürze durch unzulässige Befehle +("illegal Instruction") auf x86-Maschinen die SSE2 nicht unterstützen. +Sie enthält weitere kleinere Änderungen auf dem Weg zum +Veröffentlichungskandidaten für den stabilen Zweig. + +
+
 
+ + + + + +
dvdisaster 0.71.27 veröffentlicht18.01.2009
+ + + + +
+ + + + +
+ + +
+ +Die Dokumentation ist wieder komplett. Einige Crashes und +Inkompatibilitäten mit ungewöhnlichen Laufwerken und Datenträgern wurden behoben. +Diese Version enthält die letzte große interne Änderung, die für die 0.71.x-Serie +geplant war. Wenn alles gut geht wird die nächste Version ein +Veröffentlichungskandidat für den stabilen Zweig (0.72). + +
+
 
+
+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt. +
+
+
+ + diff --git a/documentation/de/news2009.php b/documentation/de/news2009.php new file mode 100644 index 0000000..f114a70 --- /dev/null +++ b/documentation/de/news2009.php @@ -0,0 +1,52 @@ +noch etwas hakelig, +da die Portierung der GTK+-Bibliothek in einem frühen Entwicklungsstadium ist. +Doch mit der heute aktualisierten dvdisaster-Version läßt sich schon auf dem Mac arbeiten... +", 9, "2009-04-14T00:00:00Z", "2009-04-14T00:00:00Z"); + +news_item("11.04.2009", "dvdisaster 0.72.rc1 veröffentlicht", " +Der erste Veröffentlichungskandidat für den stabilen 0.72er Zweig +steht nun bereit. Unter anderem gibt es Unterstützung für Blu-Ray-Datenträger und +\"Raw\"-Lesen sowie C2-Überprüfungen für CD. +Auf der Herunterladen-Seite +finden Sie mehr Informationen. +", 8, "2009-04-11T00:00:00Z", "2009-04-11T00:00:00Z"); + +news_item("08.03.2009", "dvdisaster 0.71.28 veröffentlicht", " +Diese Version behebt Abstürze durch unzulässige Befehle +(\"illegal Instruction\") auf x86-Maschinen die SSE2 nicht unterstützen. +Sie enthält weitere kleinere Änderungen auf dem Weg zum +Veröffentlichungskandidaten für den stabilen Zweig. +", 7, "2009-03-08T00:00:00Z", "2009-03-08T00:00:00Z"); + +news_item("18.01.2009", "dvdisaster 0.71.27 veröffentlicht", " +Die Dokumentation ist wieder komplett. Einige Crashes und +Inkompatibilitäten mit ungewöhnlichen Laufwerken und Datenträgern wurden behoben. +Diese Version enthält die letzte große interne Änderung, die für die 0.71.x-Serie +geplant war. Wenn alles gut geht wird die nächste Version ein +Veröffentlichungskandidat für den stabilen Zweig (0.72). +", 6, "2009-01-18T00:00:00Z", "2009-01-18T00:00:00Z"); + +if($news_flash == 0) + end_page(); +?> diff --git a/documentation/de/placeholder.php b/documentation/de/placeholder.php index 6d1b67a..35cf37e 100644 --- a/documentation/de/placeholder.php +++ b/documentation/de/placeholder.php @@ -1,6 +1,6 @@ - dvdisaster + Fragen und Antworten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -78,8 +77,9 @@ 1.1 Wie spricht man "dvdisaster" aus?

1.2 Was sind Qualitäts-Analysen und warum werden nicht mehr unterstützt?

-1.3 Ist dvdisaster mit nachfolgenden Versionen kompatibel? - +1.3 Ist dvdisaster mit nachfolgenden Versionen kompatibel?

+1.4 Bei erweiterten Abbildern liegen die Fehlerkorrektur-Daten am Ende des Datenträgers. Ist das eine schlechte Wahl?

+1.5 Was sind die Unterschiede zwischen Fehlerkorrektur auf Datei- und Abbild-Ebene?


1.1 Wie spricht man "dvdisaster" aus?

@@ -116,19 +116,141 @@ Fehlerkorrekturdateien von Vorgängerversionen weiter verwenden und brauchen diese nicht neu zu erzeugen.

+1.4 Bei erweiterten Abbildern liegen die Fehlerkorrektur-Daten am Ende des Datenträgers. Ist das eine schlechte Wahl?

+Nein. Zunächst eine kleine Begriffsbestimmung: +Wenn wir 80 Bytes Nutzerdaten mit 20 Bytes Fehlerkorrektur-Daten erweitern, +dann erhalten wir einen "Ecc-Block", der aus 100 Bytes besteht. +Nun betrachten Sie die folgenden Überlegungen zu dem Ecc-Block: + +

    +
  1. Es ist egal, wo die Fehlerkorrektur-Daten innerhalb des Ecc-Blocks liegen. +

    +Der RS-Dekoder unterscheidet nicht zwischen Nutzerdaten und +Fehlerkorrektur-Daten. Für ihn besteht der Ecc-Block aus 100 Bytes, +von denen er eine beliebige Menge aus 20 Bytes wiederherstellen kann. +Das können die ersten oder letzen 20 Bytes sein, aber auch +jede Kombination von 20 Bytes dazwischen kann wiederhergestellt werden, +solange die restlichen 80 Bytes +noch in Ordnung sind. Daraus folgt daß die Position der Fehlerkorrekur-Daten +innerhalb des Ecc-Blocks egal ist. Die Leistungsfähigkeit der +Fehlerkorrektur wird nicht davon beeinflußt, ob die Fehlerkorrektur-Daten +am Anfang oder Ende der Nutzerdaten eingefügt werden oder ob sie gar mit +den Nutzerdaten vermischt sind.

  2. + +
  3. Eine gleichförmige Verteilung des Ecc-Blocks kompensiert den Einfluß schlechter Datenträger-Bereiche.

    +Optische Datenträger haben höhere Ausfallwahrscheinlichkeiten in den +äußeren Bereichen; aus technischen Gründen müssen aber hier die +Fehlerkorrektur-Daten gespeichert werden. Dieser Effekt wird jedoch +dadurch kompensiert, daß der Inhalt der Ecc-Blöcke gleichmäßig über +den Datenträger verteilt wird. Nehmen wir an daß der Datenträger zu 80% +mit Nutzerdaten gefüllt ist. Dadurch verbleiben 20% am äußeren Rand für +Fehlerkorrektur-Daten. Betrachten wir jetzt wieder den Ecc-Block aus +100 Bytes. Um ihn zusammenzubauen nehmen wir 80 Bytes aus dem Bereich der +Nutzerdaten und 20 zusätzliche Bytepostionen aus dem Fehlerkorrektur-Bereich. +Selbst unter diesen Einschränkungen können die 100 Bytes des Ecc-Blocks +gleichmäßig über den Datenträger verteilt werden, von innen nach außen +und mit einem jeweils maximal großen Abstand zu ihren Nachbarn. +Zusammen mit Punkt (1) werden so die Einflüsse schlechter Datenträger-Bereiche +kompensiert: Aus Symmetriegründen existiert für jedes Fehlerkorrektur-Byte +im (schlechten) äußeren Bereich ein Nutzerdaten-Byte im (guten) inneren +Bereich des Datenträgers.

    +(Wenn Sie die Argumentation noch nicht nachvollziehen können, stellen Sie +sich vor, die Fehlerkorrektur-Daten in dem inneren Bereich des Datenträgers +zu speichern und die Nutzerdaten im äußeren Bereich. Überdenken Sie +Punkt (1) erneut um zu sehen daß sich dadurch für die Fehlerkorrektur +nichts verbessert.) +

  4. +
+

+ +1.5 Was sind die Unterschiede zwischen Fehlerkorrektur auf Datei- und Abbild-Ebene?

+ +Optische Datenträger sind aus 2048 Bytes großen Sektoren aufgebaut. +Die meisten Sektoren davon werden zum Speichern von Dateien verwendet, +aber einige zusätzliche Sektoren sind nötig, +um "Meta-Daten" wie z.B. die Struktur +von Unterverzeichnissen zu speichern.
+Abbildung 1.5.1 (nachfolgend) zeigt wie ein Verzeichnis "Fotos" mit drei +Dateien "wald.jpg", "felsen.jpg" und +"schutz.par" 1) auf dem Datenträger +realisiert ist: Die Dateien werden auf die grünen bzw. blauen Sektoren +abgebildet. Ein weiterer rot markierter Sektor wird benötigt, +um die Struktur des "Fotos"-Verzeichnisses abzuspeichern. +

+ +

Neuigkeiten
Überblick

+ +Nachteile der Fehlerkorrektur auf Dateisystem-Ebene bei optischen Datenträgern.
+Nehmen wir jetzt eine Dateisystem-basierte Fehlerkorrektur an. +Die Datei "schutz.par" enthält Fehlerkorrektur-Informationen, mit denen +unlesbare Sektoren innerhalb der Dateien "wald.jpg" und "felsen.jpg" +wiederhergestellt werden können. Dies funktioniert nur solange wie +wir unlesbare Sektoren antreffen, die innerhalb von Dateien liegen. +Sobald Meta-Daten unlesbar werden, versagt die Fehlerkorrektur auf +Datei-Ebene. Betrachten Sie Abbildung 1.5.2: Wenn der rote Sektor +für das Unterverzeichnis "Fotos" unlesbar wird, verlieren Sie nicht nur das +Verzeichnis selbst, sondern auch alle darin enthaltenen Dateien. +Dies liegt an der logischen Struktur des ISO/UDF-Dateisystems. +Sobald die Meta-Daten des Verzeichnisses verloren sind, gibt es keine +Möglichkeit mehr festzustellen wie die grünen und blauen Sektoren +den Dateien zugeordnet sind. Daher haben wir einen kompletten Datenverlust +obwohl alle zu den Dateien gehörenden Sektoren noch lesbar sind.

+ +

+ +

Bitte beachten Sie daß sich das Problem nicht lösen läßt indem man +die Datei "schutz.par" auf einem anderen Datenträger speichert. +Der Unterverzeichnis-Sektor ist immer noch nicht wiederherstellbar +da er nicht von den Fehlerkorrektur-Daten innerhalb von "schutz.par" +abgedeckt wird.

+ +Vorteile der Fehlerkorrektur auf Abbild-Ebene bei optischen Datenträgern.
+ +dvdisaster betreibt Fehlerkorrektur auf der Abbild-Ebene. +Der Datenträger wird als ISO-Abbild gelesen und verarbeitet. +Das ISO-Abbild enthält alle Sektoren des Datenträgers, also auch diejenigen +die Meta-Daten des Dateisystems enthalten. Dementsprechend schützt die +Fehlerkorrektur von dvdisaster alle Sektoren innerhalb des +ISO-Abbildes, d.h. sowohl Dateien als auch Meta-Daten (z.B. Verzeichnisse) +werden wiederhergestellt. Abbildung 1.5.3 verdeutlicht den Bereich des +Abbild-basierten Schutzes. + +

+ +Weder das Lesen des beschädigten ISO-Abbildes noch die Anwendung +der Fehlerkorrektur benötigen Informationen aus dem Dateisystem. +Solange das Laufwerk den Datenträger noch erkennt, wird dvdisaster +in der Lage sein die noch lesbaren Sektoren einzusammeln. Daher gibt es +im Gegensatz zum Datei-basierten Ansatz +keine kritischen Einzelsektoren, die zum kompletten Ausfall der +Fehlerkorrektur führen können. + + + +
+1) +Das ist nicht als Angriff gegen das PAR/PAR2-Projekt gemeint. +Carsten ist einfach der Meinung daß ein Schutz auf Datei-Ebene +auf optischen Datenträgern nicht funktioniert :-) + + +

+ + + @@ -141,7 +263,7 @@ diese nicht neu zu erzeugen.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/qa.php b/documentation/de/qa.php index 46a156a..1a38115 100644 --- a/documentation/de/qa.php +++ b/documentation/de/qa.php @@ -1,6 +1,6 @@ 1.1 Wie spricht man "dvdisaster" aus?

1.2 Was sind Qualitäts-Analysen und warum werden nicht mehr unterstützt?

-1.3 Ist dvdisaster mit nachfolgenden Versionen kompatibel? - +1.3 Ist dvdisaster mit nachfolgenden Versionen kompatibel?

+1.4 Bei erweiterten Abbildern liegen die Fehlerkorrektur-Daten am Ende des Datenträgers. Ist das eine schlechte Wahl?

+1.5 Was sind die Unterschiede zwischen Fehlerkorrektur auf Datei- und Abbild-Ebene?


1.1 Wie spricht man "dvdisaster" aus?

@@ -56,6 +57,126 @@ Fehlerkorrekturdateien von Vorgängerversionen weiter verwenden und brauchen diese nicht neu zu erzeugen.

+1.4 Bei erweiterten Abbildern liegen die Fehlerkorrektur-Daten am Ende des Datenträgers. Ist das eine schlechte Wahl?

+Nein. Zunächst eine kleine Begriffsbestimmung: +Wenn wir 80 Bytes Nutzerdaten mit 20 Bytes Fehlerkorrektur-Daten erweitern, +dann erhalten wir einen "Ecc-Block", der aus 100 Bytes besteht. +Nun betrachten Sie die folgenden Überlegungen zu dem Ecc-Block: + +

    +
  1. Es ist egal, wo die Fehlerkorrektur-Daten innerhalb des Ecc-Blocks liegen. +

    +Der RS-Dekoder unterscheidet nicht zwischen Nutzerdaten und +Fehlerkorrektur-Daten. Für ihn besteht der Ecc-Block aus 100 Bytes, +von denen er eine beliebige Menge aus 20 Bytes wiederherstellen kann. +Das können die ersten oder letzen 20 Bytes sein, aber auch +jede Kombination von 20 Bytes dazwischen kann wiederhergestellt werden, +solange die restlichen 80 Bytes +noch in Ordnung sind. Daraus folgt daß die Position der Fehlerkorrekur-Daten +innerhalb des Ecc-Blocks egal ist. Die Leistungsfähigkeit der +Fehlerkorrektur wird nicht davon beeinflußt, ob die Fehlerkorrektur-Daten +am Anfang oder Ende der Nutzerdaten eingefügt werden oder ob sie gar mit +den Nutzerdaten vermischt sind.

  2. + +
  3. Eine gleichförmige Verteilung des Ecc-Blocks kompensiert den Einfluß schlechter Datenträger-Bereiche.

    +Optische Datenträger haben höhere Ausfallwahrscheinlichkeiten in den +äußeren Bereichen; aus technischen Gründen müssen aber hier die +Fehlerkorrektur-Daten gespeichert werden. Dieser Effekt wird jedoch +dadurch kompensiert, daß der Inhalt der Ecc-Blöcke gleichmäßig über +den Datenträger verteilt wird. Nehmen wir an daß der Datenträger zu 80% +mit Nutzerdaten gefüllt ist. Dadurch verbleiben 20% am äußeren Rand für +Fehlerkorrektur-Daten. Betrachten wir jetzt wieder den Ecc-Block aus +100 Bytes. Um ihn zusammenzubauen nehmen wir 80 Bytes aus dem Bereich der +Nutzerdaten und 20 zusätzliche Bytepostionen aus dem Fehlerkorrektur-Bereich. +Selbst unter diesen Einschränkungen können die 100 Bytes des Ecc-Blocks +gleichmäßig über den Datenträger verteilt werden, von innen nach außen +und mit einem jeweils maximal großen Abstand zu ihren Nachbarn. +Zusammen mit Punkt (1) werden so die Einflüsse schlechter Datenträger-Bereiche +kompensiert: Aus Symmetriegründen existiert für jedes Fehlerkorrektur-Byte +im (schlechten) äußeren Bereich ein Nutzerdaten-Byte im (guten) inneren +Bereich des Datenträgers.

    +(Wenn Sie die Argumentation noch nicht nachvollziehen können, stellen Sie +sich vor, die Fehlerkorrektur-Daten in dem inneren Bereich des Datenträgers +zu speichern und die Nutzerdaten im äußeren Bereich. Überdenken Sie +Punkt (1) erneut um zu sehen daß sich dadurch für die Fehlerkorrektur +nichts verbessert.) +

  4. +
+

+ +1.5 Was sind die Unterschiede zwischen Fehlerkorrektur auf Datei- und Abbild-Ebene?

+ +Optische Datenträger sind aus 2048 Bytes großen Sektoren aufgebaut. +Die meisten Sektoren davon werden zum Speichern von Dateien verwendet, +aber einige zusätzliche Sektoren sind nötig, +um "Meta-Daten" wie z.B. die Struktur +von Unterverzeichnissen zu speichern.
+Abbildung 1.5.1 (nachfolgend) zeigt wie ein Verzeichnis "Fotos" mit drei +Dateien "wald.jpg", "felsen.jpg" und +"schutz.par" 1) auf dem Datenträger +realisiert ist: Die Dateien werden auf die grünen bzw. blauen Sektoren +abgebildet. Ein weiterer rot markierter Sektor wird benötigt, +um die Struktur des "Fotos"-Verzeichnisses abzuspeichern. +

+ +

+ +Nachteile der Fehlerkorrektur auf Dateisystem-Ebene bei optischen Datenträgern.
+Nehmen wir jetzt eine Dateisystem-basierte Fehlerkorrektur an. +Die Datei "schutz.par" enthält Fehlerkorrektur-Informationen, mit denen +unlesbare Sektoren innerhalb der Dateien "wald.jpg" und "felsen.jpg" +wiederhergestellt werden können. Dies funktioniert nur solange wie +wir unlesbare Sektoren antreffen, die innerhalb von Dateien liegen. +Sobald Meta-Daten unlesbar werden, versagt die Fehlerkorrektur auf +Datei-Ebene. Betrachten Sie Abbildung 1.5.2: Wenn der rote Sektor +für das Unterverzeichnis "Fotos" unlesbar wird, verlieren Sie nicht nur das +Verzeichnis selbst, sondern auch alle darin enthaltenen Dateien. +Dies liegt an der logischen Struktur des ISO/UDF-Dateisystems. +Sobald die Meta-Daten des Verzeichnisses verloren sind, gibt es keine +Möglichkeit mehr festzustellen wie die grünen und blauen Sektoren +den Dateien zugeordnet sind. Daher haben wir einen kompletten Datenverlust +obwohl alle zu den Dateien gehörenden Sektoren noch lesbar sind.

+ +

+ +

Bitte beachten Sie daß sich das Problem nicht lösen läßt indem man +die Datei "schutz.par" auf einem anderen Datenträger speichert. +Der Unterverzeichnis-Sektor ist immer noch nicht wiederherstellbar +da er nicht von den Fehlerkorrektur-Daten innerhalb von "schutz.par" +abgedeckt wird.

+ +Vorteile der Fehlerkorrektur auf Abbild-Ebene bei optischen Datenträgern.
+ +dvdisaster betreibt Fehlerkorrektur auf der Abbild-Ebene. +Der Datenträger wird als ISO-Abbild gelesen und verarbeitet. +Das ISO-Abbild enthält alle Sektoren des Datenträgers, also auch diejenigen +die Meta-Daten des Dateisystems enthalten. Dementsprechend schützt die +Fehlerkorrektur von dvdisaster alle Sektoren innerhalb des +ISO-Abbildes, d.h. sowohl Dateien als auch Meta-Daten (z.B. Verzeichnisse) +werden wiederhergestellt. Abbildung 1.5.3 verdeutlicht den Bereich des +Abbild-basierten Schutzes. + +

+ +Weder das Lesen des beschädigten ISO-Abbildes noch die Anwendung +der Fehlerkorrektur benötigen Informationen aus dem Dateisystem. +Solange das Laufwerk den Datenträger noch erkennt, wird dvdisaster +in der Lage sein die noch lesbaren Sektoren einzusammeln. Daher gibt es +im Gegensatz zum Datei-basierten Ansatz +keine kritischen Einzelsektoren, die zum kompletten Ausfall der +Fehlerkorrektur führen können. + + + +
+1) +Das ist nicht als Angriff gegen das PAR/PAR2-Projekt gemeint. +Carsten ist einfach der Meinung daß ein Schutz auf Datei-Ebene +auf optischen Datenträgern nicht funktioniert :-) + + +

+ - dvdisaster + Technische Fragen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -79,7 +78,6 @@ 2.1 In welchen Übersetzungen ist das Programm verfügbar?

2.2 Welche Datenträger-Typen werden unterstützt?

2.3 Welche Dateisysteme werden unterstützt?

-2.4 Was bedeuten "SPTI" und "ASPI"?


@@ -187,67 +185,21 @@ kann es keine logischen Fehler darin beheben und insbesondere keine verlorengegangenen oder gelöschten Dateien wiederherstellen.

- -2.4 Was bedeuten "SPTI" und "ASPI"?

- -Windows 98 und ME verwenden ASPI als Treiber, um CD/DVD-Laufwerke -anzusprechen. Windows NT und seine Nachfolger -sind hingegen mit der Schnittstelle SPTI ausgerüstet, erlauben -jedoch auch noch die zusätzliche Installation von ASPI-Treibern.

- ->  Vor- und Nachteile von ASPI unter Windows NT/2000/XP?

- -

Neuigkeiten
Überblick
- - - -
+Es werden keine Systemverwalterrechte für den Zugriff -auf die Laufwerke benötigt.
-ASPI erlaubt manchmal keine eindeutige Zuordnung von Laufwerksbuchstaben.
-Einige Brennprogramme installieren ihre -eigenen ASPI-Versionen. -Die zusätzliche Installation eines fremden ASPI-Treibers kann die Funktion -der vorhandenen Brennsoftware stören.

- ->  Welche ASPI-Version wird für die Benutzung mit dvdisaster empfohlen?

- -Adaptec stellt seine ASPI-Treiber zum kostenlosen Herunterladen bereit. -Unter Windows 2000/XP erkennen die Versionen 4.72.* manchmal keine -Laufwerke. In diesem Fall hilft typischerweise die Installation der -älteren Version 4.60.

- ->  Die Laufwerksbuchstaben stimmen unter ASPI nicht!

- -Die ASPI-Treiber verwenden ein eigenes System von Laufwerkskennungen, -das nicht zu den Laufwerksbuchstaben von Windows kompatibel ist.
-Um eine einheitliche Benutzerschnittstelle für SPTI und ASPI zu bieten, -versucht dvdisaster zu erraten, wie die Laufwerke unter ASPI zugeordnet sind. -Diese Zuordnung gelingt nicht in allen Konfigurationen.

- -Mit Hilfe der --list -Funktion kann man -die aktuelle Zuordnung von Laufwerksbuchstaben herausfinden.

- ->  Wie kann man zwischen SPTI und ASPI auswählen?

- -In der Grundeinstellung wählt dvdisaster automatisch zwischen SPTI und -ASPI aus, wobei SPTI bevorzugt wird. -Die Benutzung von ASPI kann allerdings erzwungen werden; -näheres dazu steht in der Beschreibung -der --list -Funktion. - -

- + + @@ -260,7 +212,7 @@ der --list -Funktion. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/qa10.php b/documentation/de/qa10.php index 82393a7..26128d9 100644 --- a/documentation/de/qa10.php +++ b/documentation/de/qa10.php @@ -1,6 +1,6 @@ 2.1 In welchen Übersetzungen ist das Programm verfügbar?

2.2 Welche Datenträger-Typen werden unterstützt?

2.3 Welche Dateisysteme werden unterstützt?

-2.4 Was bedeuten "SPTI" und "ASPI"?


@@ -127,54 +126,6 @@ kann es keine logischen Fehler darin beheben und insbesondere keine verlorengegangenen oder gelöschten Dateien wiederherstellen.

- -2.4 Was bedeuten "SPTI" und "ASPI"?

- -Windows 98 und ME verwenden ASPI als Treiber, um CD/DVD-Laufwerke -anzusprechen. Windows NT und seine Nachfolger -sind hingegen mit der Schnittstelle SPTI ausgerüstet, erlauben -jedoch auch noch die zusätzliche Installation von ASPI-Treibern.

- ->  Vor- und Nachteile von ASPI unter Windows NT/2000/XP?

- - - - - -
+Es werden keine Systemverwalterrechte für den Zugriff -auf die Laufwerke benötigt.
-ASPI erlaubt manchmal keine eindeutige Zuordnung von Laufwerksbuchstaben.
-Einige Brennprogramme installieren ihre -eigenen ASPI-Versionen. -Die zusätzliche Installation eines fremden ASPI-Treibers kann die Funktion -der vorhandenen Brennsoftware stören.

- ->  Welche ASPI-Version wird für die Benutzung mit dvdisaster empfohlen?

- -Adaptec stellt seine ASPI-Treiber zum kostenlosen Herunterladen bereit. -Unter Windows 2000/XP erkennen die Versionen 4.72.* manchmal keine -Laufwerke. In diesem Fall hilft typischerweise die Installation der -älteren Version 4.60.

- ->  Die Laufwerksbuchstaben stimmen unter ASPI nicht!

- -Die ASPI-Treiber verwenden ein eigenes System von Laufwerkskennungen, -das nicht zu den Laufwerksbuchstaben von Windows kompatibel ist.
-Um eine einheitliche Benutzerschnittstelle für SPTI und ASPI zu bieten, -versucht dvdisaster zu erraten, wie die Laufwerke unter ASPI zugeordnet sind. -Diese Zuordnung gelingt nicht in allen Konfigurationen.

- -Mit Hilfe der --list -Funktion kann man -die aktuelle Zuordnung von Laufwerksbuchstaben herausfinden.

- ->  Wie kann man zwischen SPTI und ASPI auswählen?

- -In der Grundeinstellung wählt dvdisaster automatisch zwischen SPTI und -ASPI aus, wobei SPTI bevorzugt wird. -Die Benutzung von ASPI kann allerdings erzwungen werden; -näheres dazu steht in der Beschreibung -der --list -Funktion. - -

- - dvdisaster + Fehlermeldungen @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -218,14 +217,16 @@ nur zusammen mit dvdisaster 0.66 oder neueren Versionen. + +
Neuigkeiten
Überblick
@@ -238,7 +239,7 @@ nur zusammen mit dvdisaster 0.66 oder neueren Versionen. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/de/qa20.php b/documentation/de/qa20.php index cb83a94..7b3fc81 100644 --- a/documentation/de/qa20.php +++ b/documentation/de/qa20.php @@ -1,6 +1,6 @@ - dvdisaster + Fragen und Antworten @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  Zur Internet-Version @@ -48,7 +48,6 @@

- @@ -78,8 +77,9 @@ 1.1 Wie spricht man "dvdisaster" aus?

1.2 Was sind Qualitäts-Analysen und warum werden nicht mehr unterstützt?

-1.3 Ist dvdisaster mit nachfolgenden Versionen kompatibel? - +1.3 Ist dvdisaster mit nachfolgenden Versionen kompatibel?

+1.4 Bei erweiterten Abbildern liegen die Fehlerkorrektur-Daten am Ende des Datenträgers. Ist das eine schlechte Wahl?

+1.5 Was sind die Unterschiede zwischen Fehlerkorrektur auf Datei- und Abbild-Ebene?


1.1 Wie spricht man "dvdisaster" aus?

@@ -116,19 +116,141 @@ Fehlerkorrekturdateien von Vorgängerversionen weiter verwenden und brauchen diese nicht neu zu erzeugen.

+1.4 Bei erweiterten Abbildern liegen die Fehlerkorrektur-Daten am Ende des Datenträgers. Ist das eine schlechte Wahl?

+Nein. Zunächst eine kleine Begriffsbestimmung: +Wenn wir 80 Bytes Nutzerdaten mit 20 Bytes Fehlerkorrektur-Daten erweitern, +dann erhalten wir einen "Ecc-Block", der aus 100 Bytes besteht. +Nun betrachten Sie die folgenden Überlegungen zu dem Ecc-Block: + +

    +
  1. Es ist egal, wo die Fehlerkorrektur-Daten innerhalb des Ecc-Blocks liegen. +

    +Der RS-Dekoder unterscheidet nicht zwischen Nutzerdaten und +Fehlerkorrektur-Daten. Für ihn besteht der Ecc-Block aus 100 Bytes, +von denen er eine beliebige Menge aus 20 Bytes wiederherstellen kann. +Das können die ersten oder letzen 20 Bytes sein, aber auch +jede Kombination von 20 Bytes dazwischen kann wiederhergestellt werden, +solange die restlichen 80 Bytes +noch in Ordnung sind. Daraus folgt daß die Position der Fehlerkorrekur-Daten +innerhalb des Ecc-Blocks egal ist. Die Leistungsfähigkeit der +Fehlerkorrektur wird nicht davon beeinflußt, ob die Fehlerkorrektur-Daten +am Anfang oder Ende der Nutzerdaten eingefügt werden oder ob sie gar mit +den Nutzerdaten vermischt sind.

  2. + +
  3. Eine gleichförmige Verteilung des Ecc-Blocks kompensiert den Einfluß schlechter Datenträger-Bereiche.

    +Optische Datenträger haben höhere Ausfallwahrscheinlichkeiten in den +äußeren Bereichen; aus technischen Gründen müssen aber hier die +Fehlerkorrektur-Daten gespeichert werden. Dieser Effekt wird jedoch +dadurch kompensiert, daß der Inhalt der Ecc-Blöcke gleichmäßig über +den Datenträger verteilt wird. Nehmen wir an daß der Datenträger zu 80% +mit Nutzerdaten gefüllt ist. Dadurch verbleiben 20% am äußeren Rand für +Fehlerkorrektur-Daten. Betrachten wir jetzt wieder den Ecc-Block aus +100 Bytes. Um ihn zusammenzubauen nehmen wir 80 Bytes aus dem Bereich der +Nutzerdaten und 20 zusätzliche Bytepostionen aus dem Fehlerkorrektur-Bereich. +Selbst unter diesen Einschränkungen können die 100 Bytes des Ecc-Blocks +gleichmäßig über den Datenträger verteilt werden, von innen nach außen +und mit einem jeweils maximal großen Abstand zu ihren Nachbarn. +Zusammen mit Punkt (1) werden so die Einflüsse schlechter Datenträger-Bereiche +kompensiert: Aus Symmetriegründen existiert für jedes Fehlerkorrektur-Byte +im (schlechten) äußeren Bereich ein Nutzerdaten-Byte im (guten) inneren +Bereich des Datenträgers.

    +(Wenn Sie die Argumentation noch nicht nachvollziehen können, stellen Sie +sich vor, die Fehlerkorrektur-Daten in dem inneren Bereich des Datenträgers +zu speichern und die Nutzerdaten im äußeren Bereich. Überdenken Sie +Punkt (1) erneut um zu sehen daß sich dadurch für die Fehlerkorrektur +nichts verbessert.) +

  4. +
+

+ +1.5 Was sind die Unterschiede zwischen Fehlerkorrektur auf Datei- und Abbild-Ebene?

+ +Optische Datenträger sind aus 2048 Bytes großen Sektoren aufgebaut. +Die meisten Sektoren davon werden zum Speichern von Dateien verwendet, +aber einige zusätzliche Sektoren sind nötig, +um "Meta-Daten" wie z.B. die Struktur +von Unterverzeichnissen zu speichern.
+Abbildung 1.5.1 (nachfolgend) zeigt wie ein Verzeichnis "Fotos" mit drei +Dateien "wald.jpg", "felsen.jpg" und +"schutz.par" 1) auf dem Datenträger +realisiert ist: Die Dateien werden auf die grünen bzw. blauen Sektoren +abgebildet. Ein weiterer rot markierter Sektor wird benötigt, +um die Struktur des "Fotos"-Verzeichnisses abzuspeichern. +

+ +

Neuigkeiten
Überblick

+ +Nachteile der Fehlerkorrektur auf Dateisystem-Ebene bei optischen Datenträgern.
+Nehmen wir jetzt eine Dateisystem-basierte Fehlerkorrektur an. +Die Datei "schutz.par" enthält Fehlerkorrektur-Informationen, mit denen +unlesbare Sektoren innerhalb der Dateien "wald.jpg" und "felsen.jpg" +wiederhergestellt werden können. Dies funktioniert nur solange wie +wir unlesbare Sektoren antreffen, die innerhalb von Dateien liegen. +Sobald Meta-Daten unlesbar werden, versagt die Fehlerkorrektur auf +Datei-Ebene. Betrachten Sie Abbildung 1.5.2: Wenn der rote Sektor +für das Unterverzeichnis "Fotos" unlesbar wird, verlieren Sie nicht nur das +Verzeichnis selbst, sondern auch alle darin enthaltenen Dateien. +Dies liegt an der logischen Struktur des ISO/UDF-Dateisystems. +Sobald die Meta-Daten des Verzeichnisses verloren sind, gibt es keine +Möglichkeit mehr festzustellen wie die grünen und blauen Sektoren +den Dateien zugeordnet sind. Daher haben wir einen kompletten Datenverlust +obwohl alle zu den Dateien gehörenden Sektoren noch lesbar sind.

+ +

+ +

Bitte beachten Sie daß sich das Problem nicht lösen läßt indem man +die Datei "schutz.par" auf einem anderen Datenträger speichert. +Der Unterverzeichnis-Sektor ist immer noch nicht wiederherstellbar +da er nicht von den Fehlerkorrektur-Daten innerhalb von "schutz.par" +abgedeckt wird.

+ +Vorteile der Fehlerkorrektur auf Abbild-Ebene bei optischen Datenträgern.
+ +dvdisaster betreibt Fehlerkorrektur auf der Abbild-Ebene. +Der Datenträger wird als ISO-Abbild gelesen und verarbeitet. +Das ISO-Abbild enthält alle Sektoren des Datenträgers, also auch diejenigen +die Meta-Daten des Dateisystems enthalten. Dementsprechend schützt die +Fehlerkorrektur von dvdisaster alle Sektoren innerhalb des +ISO-Abbildes, d.h. sowohl Dateien als auch Meta-Daten (z.B. Verzeichnisse) +werden wiederhergestellt. Abbildung 1.5.3 verdeutlicht den Bereich des +Abbild-basierten Schutzes. + +

+ +Weder das Lesen des beschädigten ISO-Abbildes noch die Anwendung +der Fehlerkorrektur benötigen Informationen aus dem Dateisystem. +Solange das Laufwerk den Datenträger noch erkennt, wird dvdisaster +in der Lage sein die noch lesbaren Sektoren einzusammeln. Daher gibt es +im Gegensatz zum Datei-basierten Ansatz +keine kritischen Einzelsektoren, die zum kompletten Ausfall der +Fehlerkorrektur führen können. + + + +
+1) +Das ist nicht als Angriff gegen das PAR/PAR2-Projekt gemeint. +Carsten ist einfach der Meinung daß ein Schutz auf Datei-Ebene +auf optischen Datenträgern nicht funktioniert :-) + + +

+ + + @@ -141,7 +263,7 @@ diese nicht neu zu erzeugen.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Die unveränderte Wiedergabe und Verteilung dieses gesamten Textes in beliebiger Form ist gestattet, sofern dieser Hinweis erhalten bleibt.
diff --git a/documentation/dvdisaster.cs.1 b/documentation/dvdisaster.cs.1 index feb89a0..a30fac7 100644 --- a/documentation/dvdisaster.cs.1 +++ b/documentation/dvdisaster.cs.1 @@ -7,7 +7,7 @@ .\" .TH DVDISASTER 1 "2006-01-04" "0.65" "ochrana pro média CD/DVD" -.SH NÁZEV +.SH JMÉNO DVDISASTER \- ochrana proti ztrátě dat poškrábáním/stárnutím média CD/DVD .SH SYNTAXE diff --git a/documentation/dvdisaster.de.1 b/documentation/dvdisaster.de.1 index 37d954b..702a978 100644 --- a/documentation/dvdisaster.de.1 +++ b/documentation/dvdisaster.de.1 @@ -1,4 +1,4 @@ -.TH DVDISASTER 1 "2009-07-04" "0.72" "Schutz f\[:u]r CD/DVD Medien" +.TH DVDISASTER 1 "2010-02-07" "0.80" "Schutz f\[:u]r CD/DVD Medien" .SH NAME DVDISASTER \- Schutz f\[:u]r CD/DVD Medien gegen Datenverlust durch Alterung @@ -6,7 +6,7 @@ oder Kratzer .SH SYNTAX .B dvdisaster -.RB [\| \-r \||\| \-c \||\| \-f \||\| \-s \||\| \-t \||\| \-u \|] +.RB [\| \-r \||\| \-c \||\| \-f \||\| \-s \||\| \-t[q] \||\| \-u \|] .RB [\| \-d .IR device \|] .RB [\| \-p @@ -15,7 +15,10 @@ oder Kratzer .IR image \|] .RB [\| \-e .IR eccfile \|] -.RB [\| \-\-list \|] +.RB [\| \-o +.IR file|image \|] +.RB [\| \-a +.IR codec-list \|] .RB [\| \-j .IR n \|] .RB [\| -n @@ -23,18 +26,25 @@ oder Kratzer .RB [\| -m .IR n \|] .RB [\| -v \|] +.RB [\| -x +.IR n \|] .RB [\| \-\-adaptive-read \|] .RB [\| \-\-auto-suffix \|] .RB [\| \-\-cache-size .IR n \|] .RB [\| \-\-dao \|] +.RB [\| \-\-defective-dump \| +.IR d \|] +.RB [\| \-\-driver \| +.IR d \|] .RB [\| \-\-eject \|] .RB [\| \-\-fill-unreadable .IR n \|] .RB [\| \-\-ignore-fatal-sense \|] .RB [\| \-\-internal-rereads .IR n \|] -.RB [\| \-\-query-size +.RB [\| \-\-old-ds-marker \|] +.RB [\| \-\-prefetch-sectors .IR n \|] .RB [\| \-\-raw-mode .IR n \|] @@ -45,9 +55,8 @@ oder Kratzer .RB [\| \-\-read-raw \|] .RB [\| \-\-speed-warning .IR n \|] -.RB [\| \-\-spinup\-dalay +.RB [\| \-\-spinup\-delay .IR n \|] -.RB [\| \-\-split\-files \|] .SH BESCHREIBUNG .B DVDISASTER @@ -122,8 +131,10 @@ Versucht das Abbild mit Hilfe der Fehlerkorrektur-Daten zu reparieren. .B \-s, \-\-scan Untersucht den Datentr\[:a]ger auf Lesefehler. .TP -.B \-t, \-\-test +.B \-t, \-\-test, \-tq, \-test=q Pr\[:u]ft die Struktur der .iso und .ecc - Dateien. +Bei Angabe der "q"-Option werden nur die Informationen ausgegeben, +die ohne vollständiges Lesen der Dateien ermittelt werden k\[:o]nnen. .TP .B \-u, \-\-unlink L\[:o]scht .iso - Dateien nach Beenden der vorherigen Aktionen. @@ -142,13 +153,25 @@ Name der Abbild - Datei (Standard: medium.iso). .TP .B \-e, \-\-ecc eccfile Name der Fehlerkorrektur-Datei (Standard: medium.ecc). -.PP -.B \-\-list -Zeigt verf\[:u]gbare Laufwerke unter dem ASPI-Treiber (nur f\[:u]r Windows). +.TP +.B \-o, \-\-ecc-target file|image +Gibt an ob mit RS03 Fehlerkorrektur-Dateien oder erweiterte +Abbilder erzeugt werden sollen (Standard: erweiterte Abbilder). .PP Feineinstellung (Beachten Sie die Hinweise in der Dokumentation!): .TP +.B \-a, \-\-assume codec1,codec2,... +Nimmt an daß das Abbild mit einem der angegebenen Kodierer erweitert +wurde. Dies bewirkt eine erschöpfende Suche nach den Datenstrukturen +der Kodierer und ist hilfreich, um in beschädigten Datenträgern enthaltene +Fehlerkorrektur-Daten wiederzufinden. Wenn das Abbild allerdings keine +der angegebenen Fehlerkorrektur-Daten enthält, verschwendet diese Option +eine große Menge Rechenzeit und Ein-/Ausgabeoperationen. +.RS +M\[:o]gliche Werte sind RS02 und RS03. +.RE +.TP .B \-j, \-\-jump n \[:u]berspringe n Sektoren nach einem Lesefehler (Standard: 16). .TP @@ -164,6 +187,12 @@ M\[:o]gliche Werte sind RS01 und RS02. .B \-v, \-\-verbose n% mehr erl\[:a]uternde Ausgaben .TP +.B \-x, \-\-threads n +Verwende n Kontrollfäden für den RS03-Kodierer/Dekodierer. Empfohlen +sind 2 bzw. 4 Kontrollfäden für 2- bzw. 4-Kern-Prozessoren. Lassen Sie +auf größeren Systemen einen Kontrollfaden für Verwaltungszwecke frei, +d.h. benutzen Sie 7 Kontrollfäden auf einem 8-Kern-System. +.TP .B \-\-adaptive-read verwende optimierte Lesestrategie f\[:u]r defekte Datentr\[:a]ger. .TP @@ -176,6 +205,16 @@ Zwischenspeicher in MB bei .ecc-Datei-Erzeugung - (Standard: 32MB). .B \-\-dao unterstelle DAO; Abbild am Ende nicht k\[:u]rzen. .TP +.B \-\-defective-dump d +Gibt das Unterverzeichnis zum Sammeln von unvollständigen +Roh-Sektoren an. +.TP +.B \-\-driver d (nur für Linux) +dvdisaster verwendet unter Linux normalerweise den Treiber für optische +Laufwerke. Einige sehr alte SCSI-Kontroller erzeugen dabei Systemabstürze. +Probieren Sie in diesem Fall mit +\-\-driver=sg das Laufwerk über den alternativen SCSI-Treiber anzusteuern. +.TP .B \-\-eject Datentr\[:a]ger nach erfolgreichem Lesen auswerfen. .TP @@ -195,11 +234,23 @@ Viele Laufwerke ignorieren diese Einstellung ohnehin. Benutzen Sie den Wert -1 u die Standardeinstellungen des Laufwerks zu verwenden. .RE .TP -.B \-\-query-size n -Ermittelt die Abbildgr\[:o]sse durch das Laufwerk oder das Dateisystem auf dem Datentr\[:a]ger -(Standard: ecc) +.B \-\-old-ds-marker +Markiert fehlende Sektoren in einer Weise, die mit dvdisaster +0.70 oder noch früheren Versionen kompatibel ist. .RS -M\[:o]gliche Werte: drive udf ecc +Das voreingestellte Markierungsverfahren ist ab dvdisaster +0.72 die bessere Wahl. Allerdings können Sie mit diesem Verfahren +markierte Abbilder nicht mit früheren dvdisaster-Versionen verwenden, +da diese keine fehlenden Sektoren in den Abbildern erkennen würden. + +Bearbeiten Sie ein Abbild nicht mit wechselnden Einstellungen für +diese Option. +.RE +.TP +.B \-\-prefetch-sectors n +n Sektoren für die RS03-(De)kodierung im Voraus laden (Standard: 32) +.RS +Ein Wert von n verbraucht ungefähr n MB Arbeitsspeicher. .RE .TP .B \-\-raw-mode n @@ -227,9 +278,6 @@ warnt bei Geschwindigkeits\[:a]nderung um mehr als n Prozent. .TP .B \-\-spinup-delay n gibt dem Laufwerk n Sekunden Zeit zum Hochlaufen. -.TP -.B \-\-split-files -Abbild in mehrere Dateien <= 2GB aufteilen. .PP .SH SIEHE AUCH @@ -243,4 +291,4 @@ DVDISASTER wurde von Carsten Gnoerlich geschrieben. .PP Diese Hilfeseite wurde von Daniel Baumann f\[:u]r das Debian Projekt geschrieben (kann aber auch von Anderen verwendet -werden). Sie wurde f\[:u]r Version 0.70/0.72 von Carsten Gn\[:o]rlich erweitert. +werden). Sie wird seit Version 0.70 von Carsten Gn\[:o]rlich gepflegt. diff --git a/documentation/dvdisaster.en.1 b/documentation/dvdisaster.en.1 index 0909131..9ef58c8 100644 --- a/documentation/dvdisaster.en.1 +++ b/documentation/dvdisaster.en.1 @@ -1,11 +1,11 @@ -.TH DVDISASTER 1 "2009-07-04" "0.72" "protection for CD/DVD media" +.TH DVDISASTER 1 "2010-02-06" "0.80" "protection for CD/DVD media" .SH NAME DVDISASTER \- data loss/scratch/aging protection for CD/DVD media .SH SYNOPSIS .B dvdisaster -.RB [\| \-r \||\| \-c \||\| \-f \||\| \-s \||\| \-t \||\| \-u \|] +.RB [\| \-r \||\| \-c \||\| \-f \||\| \-s \||\| \-t[q] \||\| \-u \|] .RB [\| \-d .IR device \|] .RB [\| \-p @@ -14,7 +14,10 @@ DVDISASTER \- data loss/scratch/aging protection for CD/DVD media .IR image \|] .RB [\| \-e .IR eccfile \|] -.RB [\| \-\-list \|] +.RB [\| \-o +.IR file|image \|] +.RB [\| \-a +.IR codec-list \|] .RB [\| \-j .IR n \|] .RB [\| -n @@ -22,18 +25,25 @@ DVDISASTER \- data loss/scratch/aging protection for CD/DVD media .RB [\| -m .IR n \|] .RB [\| -v \|] +.RB [\| -x +.IR n \|] .RB [\| \-\-adaptive-read \|] .RB [\| \-\-auto-suffix \|] .RB [\| \-\-cache-size .IR n \|] .RB [\| \-\-dao \|] +.RB [\| \-\-defective-dump +.IR d \|] +.RB [\| \-\-driver +.IR d \|] .RB [\| \-\-eject \|] .RB [\| \-\-fill-unreadable .IR n \|] .RB [\| \-\-ignore-fatal-sense \|] .RB [\| \-\-internal-rereads .IR n \|] -.RB [\| \-\-query-size +.RB [\| \-\-old-ds-marker \|] +.RB [\| \-\-prefetch-sectors .IR n \|] .RB [\| \-\-raw-mode .IR n \|] @@ -46,7 +56,6 @@ DVDISASTER \- data loss/scratch/aging protection for CD/DVD media .IR n \|] .RB [\| \-\-spinup\-delay .IR n \|] -.RB [\| \-\-split\-files \|] .SH DESCRIPTION .B DVDISASTER @@ -114,8 +123,10 @@ Try to fix medium image using .ecc information. .B \-s, \-\-scan Scan the medium for read errors. .TP -.B \-t, \-\-test -Test integrity of the .iso and .ecc files. +.B \-t, \-\-test, \-tq, \-\-test=q +Test integrity of the .iso and .ecc files. When the +"q" option is given, only information is output +which can be gathered without fully scanning the files. .TP .B \-u, \-\-unlink Delete .iso files (when other actions complete). @@ -135,12 +146,24 @@ name of image file (default: medium.iso). .B \-e, \-\-ecc eccfile name of parity file (default: medium.ecc). .TP -.B \-\-list -lists available drives for the ASPI driver (Windows only). -.PP +.B \-o, \-\-ecc-target file|image +Specifies whether RS03 should create error correction files +or augmented images (default: image). +.TP Tweaking options (see manual before using!): .TP +.B \-a, \-\-assume codec1,codec2,... +Assumes that the image is augmented with one of the given codecs. +This enables an exhaustive search for codec signatures +and might be helpful for detecting error correction information on +damaged media. If the image does +not contain the specified error correction information, a significant +amount of CPU and I/O time may be wasted. +.RS +Possible values are RS02 and RS03. +.RE +.TP .B \-j, \-\-jump n jump n sectors forward after a read error (default: 16). .TP @@ -156,6 +179,12 @@ Possible values are RS01 and RS02. .B \-v, \-\-verbose n% more diagnostic messages .TP +.B \-x, \-\-threads n +Use n threads for the RS03 codec. Use 2 or 4 threads for 2 or 4 core +processors respectively. +On larger machines save one core for housekeeping; e.g. use 7 threads +on an eight core machine. +.TP .B \-\-adaptive-read use optimized strategy for reading damaged media. .TP @@ -168,6 +197,14 @@ image cache size in MB during -c mode (default: 32MB). .B \-\-dao assume DAO disc; do not trim image end. .TP +.B \-\-defective-dump d +Specifies the sub directory for storing incomplete raw sectors. +.TP +.B \-\-driver d (Linux only) +dvdisaster uses the optical drive interface by default. This may cause +system failures on some ancient SCSI controllers. Try using the generic +SCSI driver with the option \-\-driver=sg in such cases. +.TP .B \-\-eject eject medium after successful read. .TP @@ -186,10 +223,22 @@ and manage read attempts through the --read-attempts parameter. Most drives igno this setting anyways. Use -1 to leave the drive at its default setting. .RE .TP -.B \-\-query-size n -queries drive or filesystem on medium for image size (default: ecc) +.B \-\-old-ds-marker +Marks missing sectors in a manner which is compatible with +dvdisaster 0.70 or older. .RS -Possible values are: drive udf ecc +The default marking method is recommended for dvdisaster 0.72 and later +versions. However images marked with the current method can not +be processed with older dvdisaster versions as missing sectors +would not be recognized in the image. + +Do not process the same image with different settings for this option. +.RE +.TP +.B \-\-prefetch-sectors n +number of sectors to preload during RS03 de-/encoding (default: 32) +.RS +Using a value of n uses approx. n MB of RAM. .RE .TP .B \-\-raw-mode n @@ -216,9 +265,6 @@ print warning if speed changes by more than n percent. .TP .B \-\-spinup-delay n wait n seconds for drive to spin up. -.TP -.B \-\-split-files -split image into files <= 2GB. .PP .SH SEE ALSO @@ -231,4 +277,4 @@ DVDISASTER was written by Carsten Gnoerlich . .PP This manual page was written by Daniel Baumann , for the Debian project (but may be used -by others). It was enhanced for V0.70/0.72 by Carsten Gnoerlich. +by others). Since version 0.70 it is maintained by Carsten Gnoerlich. diff --git a/documentation/en/download.html b/documentation/en/download.html index 1cb1ab6..68dd06c 100644 --- a/documentation/en/download.html +++ b/documentation/en/download.html @@ -1,7 +1,7 @@ - dvdisaster + Download @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -96,18 +97,16 @@ into an arbitrary place. Please note the please execute the downloaded program and follow the dialog. - - -
 
+0.79 (devel-2). +

Stable version - recommended for getting started.

+

News
Overview
·System requirements
·Digital signature
·Installation
·Alpha (unstable) versions
·Additional resources
Questions and Answers
@@ -115,17 +114,19 @@ The current unstable release is @@ -149,6 +150,9 @@ Most important changes in this version:

0.72 pl1 Pablo Almeida provided Portuguese translations of the screen texts. Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2009)

+Update: The workaround has been found to be ineffective in some cases. A +better workaround is included in version 0.79.x; +unfortunately it can not be easily backported into the stable version. (06-Feb-2010)

0.72 This is the first stable version of the 0.72 branch. Igor Gorbounov has completed the russian online documentation. @@ -161,6 +165,12 @@ and will be addressed in the upcoming 0.73.x releases. (04-Jul-2009) 0.72-rc1 First release candidate. (11-Apr-2009)

dvdisaster-0.7208-Aug-2009
- + - + - + - + - + - + + +
  Source code for all operating systems: dvdisaster-0.72.1.tar.bz2
dvdisaster-0.72.1.tar.bz2
Digital signature: dvdisaster-0.72.1.tar.bz2.gpg
dvdisaster-0.72.1.tar.bz2.gpg
Binary for Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- please read these hints first
dvdisaster-0.72.1.app.zip -- please read these hints first
Digital signature: dvdisaster-0.72.1.app.zip.gpg
dvdisaster-0.72.1.app.zip.gpg
Binary for Windows: dvdisaster-0.72.1-setup.exe
dvdisaster-0.72.1-setup.exe
Digital signature: dvdisaster-0.72.1-setup.exe.gpg
dvdisaster-0.72.1-setup.exe.gpg
Show older releases in the 0.72 version branch

+If the links above fail to download +please try getting dvdisaster via +SourceForge. + +

 
+ Previous release - upgrading to version 0.72 is recommended.

@@ -169,13 +179,13 @@ and will be addressed in the upcoming 0.73.x releases. (04-Jul-2009) @@ -238,14 +248,16 @@ Some file of particular interest are: + +
- + - + - + - +
  Source code for all operating systems: dvdisaster-0.70.6.tar.bz2
dvdisaster-0.70.6.tar.bz2
Digital signature: dvdisaster-0.70.6.tar.bz2.gpg
dvdisaster-0.70.6.tar.bz2.gpg
Binary for Windows: dvdisaster-0.70.6-setup.exe
dvdisaster-0.70.6-setup.exe
Digital signature: dvdisaster-0.70.6-setup.exe.gpg
dvdisaster-0.70.6-setup.exe.gpg
@@ -258,7 +270,7 @@ Some file of particular interest are: - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/download.php b/documentation/en/download.php index aadea9a..37f37f2 100644 --- a/documentation/en/download.php +++ b/documentation/en/download.php @@ -1,6 +1,6 @@ @@ -36,18 +37,22 @@ into an arbitrary place. Please note the please execute the downloaded program and follow the dialog. - - -

 
+

+ Stable version - recommended for getting started.

+ @@ -55,17 +60,42 @@ The current unstable release is @@ -89,6 +119,9 @@ Most important changes in this version:

0.72 pl1 Pablo Almeida provided Portuguese translations of the screen texts. Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2009)

+Update: The workaround has been found to be ineffective in some cases. A +better workaround is included in version 0.79.x; +unfortunately it can not be easily backported into the stable version. (06-Feb-2010)

0.72 This is the first stable version of the 0.72 branch. Igor Gorbounov has completed the russian online documentation. @@ -101,6 +134,12 @@ and will be addressed in the upcoming 0.73.x releases. (04-Jul-2009) 0.72-rc1 First release candidate. (11-Apr-2009)

dvdisaster-0.7208-Aug-2009
- + - + - + - + - + - + + + + + + + + + + + + + + + + + + +
  Source code for all operating systems: dvdisaster-0.72.1.tar.bz2
dvdisaster-0.72.1.tar.bz2
Digital signature: dvdisaster-0.72.1.tar.bz2.gpg
dvdisaster-0.72.1.tar.bz2.gpg
Binary for Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- please read these hints first
dvdisaster-0.72.1.app.zip -- please read these hints first
Digital signature: dvdisaster-0.72.1.app.zip.gpg
dvdisaster-0.72.1.app.zip.gpg
Binary for Windows: dvdisaster-0.72.1-setup.exe
dvdisaster-0.72.1-setup.exe
Digital signature: dvdisaster-0.72.1-setup.exe.gpg
dvdisaster-0.72.1-setup.exe.gpg
Show older releases in the 0.72 version branch
Hide older releases in the 0.72 version branch
  Source code for all operating systems: dvdisaster-0.72.tar.bz2
Digital signature: dvdisaster-0.72.tar.bz2.gpg
Binary for Mac OS X 10.5 / x86: dvdisaster-0.72.app.zip -- please read these hints first
Digital signature: dvdisaster-0.72.app.zip.gpg
Binary for Windows: dvdisaster-0.72-setup.exe
Digital signature: dvdisaster-0.72-setup.exe.gpg

+If the links above fail to download +please try getting dvdisaster via +SourceForge. + +

 
+ Previous release - upgrading to version 0.72 is recommended.

@@ -109,13 +148,13 @@ and will be addressed in the upcoming 0.73.x releases. (04-Jul-2009) diff --git a/documentation/en/download10.html b/documentation/en/download10.html index a76109b..f77e2fe 100644 --- a/documentation/en/download10.html +++ b/documentation/en/download10.html @@ -1,7 +1,7 @@ - dvdisaster + System requirements @@ -11,7 +11,7 @@
- + - + - + - +
  Source code for all operating systems: dvdisaster-0.70.6.tar.bz2
dvdisaster-0.70.6.tar.bz2
Digital signature: dvdisaster-0.70.6.tar.bz2.gpg
dvdisaster-0.70.6.tar.bz2.gpg
Binary for Windows: dvdisaster-0.70.6-setup.exe
dvdisaster-0.70.6-setup.exe
Digital signature: dvdisaster-0.70.6-setup.exe.gpg
dvdisaster-0.70.6-setup.exe.gpg
dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -85,16 +86,18 @@

Operating systems

+The dvdisaster project recommends GNU/Linux. +
    +
  • GNU/Linux with kernel 2.6.7 or later (2.6.26 recommended).

    +

  • FreeBSD version 6.0 or later
    (using ATAPI drives requires loading the atapicam kernel module -- see INSTALL doc)

  • -
  • GNU/Linux with kernel 2.6.7 or later.

    -

  • +
  • NetBSD version 3.1 or later.

  • Mac OS X version 10.4 (Tiger) or later,
    on x86 and PowerPC hardware.

    -

  • NetBSD version 3.1 or later.

  • -
  • Windows 2000, Windows XP oder Windows Vista (R).
  • +
  • Windows 2000 SP4 or newer.
@@ -102,14 +105,16 @@ + +
News
Overview
·System requirements
·Digital signature
·Installation
·Alpha (unstable) versions
·Additional resources
Questions and Answers
@@ -122,7 +127,7 @@ - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/download10.php b/documentation/en/download10.php index 37ef871..46c3592 100644 --- a/documentation/en/download10.php +++ b/documentation/en/download10.php @@ -1,6 +1,6 @@

Operating systems

+The dvdisaster project recommends GNU/Linux. +
    +
  • GNU/Linux with kernel 2.6.7 or later (2.6.26 recommended).

    +

  • FreeBSD version 6.0 or later
    (using ATAPI drives requires loading the atapicam kernel module -- see INSTALL doc)

  • -
  • GNU/Linux with kernel 2.6.7 or later.

    -

  • +
  • NetBSD version 3.1 or later.

  • Mac OS X version 10.4 (Tiger) or later,
    on x86 and PowerPC hardware.

    -

  • NetBSD version 3.1 or later.

  • -
  • Windows 2000, Windows XP oder Windows Vista (R).
  • +
  • Windows 2000 SP4 or newer.
diff --git a/documentation/en/download20.html b/documentation/en/download20.html index ca44c19..30bdd8b 100644 --- a/documentation/en/download20.html +++ b/documentation/en/download20.html @@ -1,7 +1,7 @@ - dvdisaster + Digital signature @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -101,14 +102,16 @@ Please include "GPG finger print" in the subject line. + +
News
Overview
·System requirements
·Digital signature
·Installation
·Alpha (unstable) versions
·Additional resources
Questions and Answers
@@ -121,7 +124,7 @@ Please include "GPG finger print" in the subject line. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/download20.php b/documentation/en/download20.php index 158bd90..0d7f3b2 100644 --- a/documentation/en/download20.php +++ b/documentation/en/download20.php @@ -1,6 +1,6 @@ - dvdisaster + Installation @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -112,7 +113,7 @@ Similar reasons hold for the Windows version btw ;-)

Installation of the binary for Windows

Please install the Windows version by executing the setup binary -(e.g. dvdisaster-0.72.1-setup.exe) and follow the +(e.g. dvdisaster-0.79.2-setup.exe) and follow the installation dialog.

Caution: dvdisaster can NOT be installed from @@ -125,14 +126,16 @@ errors which seem to be totally unrelated to an improper installation. + +

News
Overview
·System requirements
·Digital signature
·Installation
·Alpha (unstable) versions
·Additional resources
Questions and Answers
@@ -145,7 +148,7 @@ errors which seem to be totally unrelated to an improper installation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/download30.php b/documentation/en/download30.php index dde449e..97f939d 100644 --- a/documentation/en/download30.php +++ b/documentation/en/download30.php @@ -1,6 +1,6 @@ + + + Alpha (unstable) versions + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  To the Internet version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Contents + + + + +

+ + + + + + + + + + + + + + + + + + +
News
Overview
Howtos
Download
·System requirements
·Digital signature
·Installation
·Alpha (unstable) versions
·Additional resources
Questions and Answers
Bug reporting
+

+
+ + + +

Alpha (developer) versions

+ +Help us testing! This page contains experimental dvdisaster versions +which are created on the way to the next stable release.

+ +A word of caution: This version is still evolving and some parts +are not yet implemented. It may contain severe bugs and fail in non-obvious +ways, even in functions which worked in previous versions. +Do not process important data with this version and do not keep images and +error correction data for archival purposes; +that's what the stable version 0.72 +is for. + +


+ +

Planned changes in the new version

+ +All platforms: + +
    +
  • Implement some small additions which have been put on hold +during the 0.72 development cycle. [not yet started]
  • +
  • Remove obsolete functionality. [completed]
  • +
  • Clean up source code and prepare for multithreading and multi core +processors. [in progress]
  • +
  • Implement the multithreaded RS03 codec. [in progress]
  • +
  • Document RS03 usage. [not yet started]
  • +
+ +Windows: + +
    +
  • Update the GTK+ toolkit and development system. [completed]
  • +
  • Raise system requirements to Windows 2000 or newer (older +Windows releases are no longer supported by the development tools). +This makes support for ASPI drivers and splitting files into 2G +segments obsolete. [completed]
  • +
+ +MacOS: + +
    +
  • Update the GTK+ toolkit and provide more workarounds +for the graphical user interface. [in progress]
  • +
+ +
+ +

Downloads

+ + +The alpha versions use the same package format as the regular releases.

+ + + + + + +
dvdisaster-0.7928-Feb-2010
+ + + + + + + + + + + + + + + + +
  Source code for all operating systems: dvdisaster-0.79.2.tar.bz2
Digital signature: dvdisaster-0.79.2.tar.bz2.gpg
Binary for Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- please read these hints first
Digital signature: dvdisaster-0.79.2.app.zip.gpg
Binary for Windows: dvdisaster-0.79.2-setup.exe
Digital signature: dvdisaster-0.79.2-setup.exe.gpg
Show older releases in the 0.79 version branch
+
+ +All platforms: These releases contain major internal changes compared +to 0.72.x. Please use them carefully.

+ +0.79.2 (28-Feb-2010)
+

    +
  • A binary package for Mac OS X is available now. The Mac OS X +development environment has been updated; this removed some glitches +in the graphical user interface. +
  • +
  • +Development of the RS03 codec makes progress, but is far from being +finished yet. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • The SCSI layer contains a workaround for buggy chipsets found in recent +drives. Starting a read or scan operation would case a system freeze with +such drives. The problem seems to be especially visible under Windows XP, +but other OS might expose similar failures. +Please test if these drives are working +now, and also report if some drives stopped working which were okay previously.
  • +
  • A reference implementation of the RS03 codec is +included. This version is only supplied so that interested people can +compare it against its specification. +Take care and do not use it for productive work. The final version will +be released with version 0.80.
  • +
+Windows: All components of the development environment and the +supplied libraries have been updated. Please test whether the graphical +user interface and localization still work as expected. +

+ + + +

+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. +
+
+
+ + diff --git a/documentation/en/download40.php b/documentation/en/download40.php index 1480844..e3ce6f0 100644 --- a/documentation/en/download40.php +++ b/documentation/en/download40.php @@ -1,6 +1,6 @@ @@ -19,39 +20,137 @@ begin_page(); Help us testing! This page contains experimental dvdisaster versions which are created on the way to the next stable release.

-A word of caution: Alpha versions are not thoroughly tested. They -may contain more errors than a stable version and should not be used -to process important data.

+A word of caution: This version is still evolving and some parts +are not yet implemented. It may contain severe bugs and fail in non-obvious +ways, even in functions which worked in previous versions. +Do not process important data with this version and do not keep images and +error correction data for archival purposes; +that's what the stable version 0.72 +is for. -If in doubt please continue using the stable version 0.72 -and wait for the release of version 0.74. +


+ +

Planned changes in the new version

+ +All platforms: + +
    +
  • Implement some small additions which have been put on hold +during the 0.72 development cycle. [not yet started]
  • +
  • Remove obsolete functionality. [completed]
  • +
  • Clean up source code and prepare for multithreading and multi core +processors. [in progress]
  • +
  • Implement the multithreaded RS03 codec. [in progress]
  • +
  • Document RS03 usage. [not yet started]
  • +
+ +Windows: + +
    +
  • Update the GTK+ toolkit and development system. [completed]
  • +
  • Raise system requirements to Windows 2000 or newer (older +Windows releases are no longer supported by the development tools). +This makes support for ASPI drivers and splitting files into 2G +segments obsolete. [completed]
  • +
+ +MacOS: + +
    +
  • Update the GTK+ toolkit and provide more workarounds +for the graphical user interface. [in progress]
  • +

Downloads

+ The alpha versions use the same package format as the regular releases.

- +
dvdisaster-0.73 (devel1)xx-XXX-2009
dvdisaster-0.7928-Feb-2010
- + - + + + + + - + - + + + + + + + + + + + + + + + + +
  Source code for all operating systems: dvdisaster-0.73.1.tar.bz2
dvdisaster-0.79.2.tar.bz2
Digital signature: dvdisaster-0.73.1.tar.bz2.gpg
dvdisaster-0.79.2.tar.bz2.gpg
Binary for Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- please read these hints first
Digital signature: dvdisaster-0.79.2.app.zip.gpg
Binary for Windows: dvdisaster-0.73.1-setup.exe
dvdisaster-0.79.2-setup.exe
Digital signature: dvdisaster-0.73.1-setup.exe.gpg
dvdisaster-0.79.2-setup.exe.gpg
Show older releases in the 0.79 version branch
Hide older releases in the 0.79 version branch
  Source code for all operating systems: dvdisaster-0.79.1.tar.bz2
Digital signature: dvdisaster-0.79.1.tar.bz2.gpg
Binary for Windows: dvdisaster-0.79.1-setup.exe
Digital signature: dvdisaster-0.79.1-setup.exe.gpg
-Not yet released. -

+All platforms: These releases contain major internal changes compared +to 0.72.x. Please use them carefully.

+ +0.79.2 (28-Feb-2010)
+

    +
  • A binary package for Mac OS X is available now. The Mac OS X +development environment has been updated; this removed some glitches +in the graphical user interface. +
  • +
  • +Development of the RS03 codec makes progress, but is far from being +finished yet. +
  • +
+ +0.79.1 (07-Feb-2010)
+
+Windows: All components of the development environment and the +supplied libraries have been updated. Please test whether the graphical +user interface and localization still work as expected. +

diff --git a/documentation/en/download40_showall=0.html b/documentation/en/download40_showall=0.html new file mode 100644 index 0000000..98d3043 --- /dev/null +++ b/documentation/en/download40_showall=0.html @@ -0,0 +1,228 @@ + + + + Alpha (unstable) versions + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  To the Internet version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Contents + + + + +

+ + + + + + + + + + + + + + + + + + +
News
Overview
Howtos
Download
·System requirements
·Digital signature
·Installation
·Alpha (unstable) versions
·Additional resources
Questions and Answers
Bug reporting
+

+
+ + + +

Alpha (developer) versions

+ +Help us testing! This page contains experimental dvdisaster versions +which are created on the way to the next stable release.

+ +A word of caution: This version is still evolving and some parts +are not yet implemented. It may contain severe bugs and fail in non-obvious +ways, even in functions which worked in previous versions. +Do not process important data with this version and do not keep images and +error correction data for archival purposes; +that's what the stable version 0.72 +is for. + +


+ +

Planned changes in the new version

+ +All platforms: + +
    +
  • Implement some small additions which have been put on hold +during the 0.72 development cycle. [not yet started]
  • +
  • Remove obsolete functionality. [completed]
  • +
  • Clean up source code and prepare for multithreading and multi core +processors. [in progress]
  • +
  • Implement the multithreaded RS03 codec. [in progress]
  • +
  • Document RS03 usage. [not yet started]
  • +
+ +Windows: + +
    +
  • Update the GTK+ toolkit and development system. [completed]
  • +
  • Raise system requirements to Windows 2000 or newer (older +Windows releases are no longer supported by the development tools). +This makes support for ASPI drivers and splitting files into 2G +segments obsolete. [completed]
  • +
+ +MacOS: + +
    +
  • Update the GTK+ toolkit and provide more workarounds +for the graphical user interface. [in progress]
  • +
+ +
+ +

Downloads

+ + +The alpha versions use the same package format as the regular releases.

+ + + + + + +
dvdisaster-0.7928-Feb-2010
+ + + + + + + + + + + + + + + + +
  Source code for all operating systems: dvdisaster-0.79.2.tar.bz2
Digital signature: dvdisaster-0.79.2.tar.bz2.gpg
Binary for Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- please read these hints first
Digital signature: dvdisaster-0.79.2.app.zip.gpg
Binary for Windows: dvdisaster-0.79.2-setup.exe
Digital signature: dvdisaster-0.79.2-setup.exe.gpg
Show older releases in the 0.79 version branch
+
+ +All platforms: These releases contain major internal changes compared +to 0.72.x. Please use them carefully.

+ +0.79.2 (28-Feb-2010)
+

    +
  • A binary package for Mac OS X is available now. The Mac OS X +development environment has been updated; this removed some glitches +in the graphical user interface. +
  • +
  • +Development of the RS03 codec makes progress, but is far from being +finished yet. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • The SCSI layer contains a workaround for buggy chipsets found in recent +drives. Starting a read or scan operation would case a system freeze with +such drives. The problem seems to be especially visible under Windows XP, +but other OS might expose similar failures. +Please test if these drives are working +now, and also report if some drives stopped working which were okay previously.
  • +
  • A reference implementation of the RS03 codec is +included. This version is only supplied so that interested people can +compare it against its specification. +Take care and do not use it for productive work. The final version will +be released with version 0.80.
  • +
+Windows: All components of the development environment and the +supplied libraries have been updated. Please test whether the graphical +user interface and localization still work as expected. +

+ + + +

+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. +
+
+
+ + diff --git a/documentation/en/download40_showall=1.html b/documentation/en/download40_showall=1.html new file mode 100644 index 0000000..7b87621 --- /dev/null +++ b/documentation/en/download40_showall=1.html @@ -0,0 +1,243 @@ + + + + Alpha (unstable) versions + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  To the Internet version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Contents + + + + +

+ + + + + + + + + + + + + + + + + + +
News
Overview
Howtos
Download
·System requirements
·Digital signature
·Installation
·Alpha (unstable) versions
·Additional resources
Questions and Answers
Bug reporting
+

+
+ + + +

Alpha (developer) versions

+ +Help us testing! This page contains experimental dvdisaster versions +which are created on the way to the next stable release.

+ +A word of caution: This version is still evolving and some parts +are not yet implemented. It may contain severe bugs and fail in non-obvious +ways, even in functions which worked in previous versions. +Do not process important data with this version and do not keep images and +error correction data for archival purposes; +that's what the stable version 0.72 +is for. + +


+ +

Planned changes in the new version

+ +All platforms: + +
    +
  • Implement some small additions which have been put on hold +during the 0.72 development cycle. [not yet started]
  • +
  • Remove obsolete functionality. [completed]
  • +
  • Clean up source code and prepare for multithreading and multi core +processors. [in progress]
  • +
  • Implement the multithreaded RS03 codec. [in progress]
  • +
  • Document RS03 usage. [not yet started]
  • +
+ +Windows: + +
    +
  • Update the GTK+ toolkit and development system. [completed]
  • +
  • Raise system requirements to Windows 2000 or newer (older +Windows releases are no longer supported by the development tools). +This makes support for ASPI drivers and splitting files into 2G +segments obsolete. [completed]
  • +
+ +MacOS: + +
    +
  • Update the GTK+ toolkit and provide more workarounds +for the graphical user interface. [in progress]
  • +
+ +
+ +

Downloads

+ + +The alpha versions use the same package format as the regular releases.

+ + + + + + +
dvdisaster-0.7928-Feb-2010
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
  Source code for all operating systems: dvdisaster-0.79.2.tar.bz2
Digital signature: dvdisaster-0.79.2.tar.bz2.gpg
Binary for Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- please read these hints first
Digital signature: dvdisaster-0.79.2.app.zip.gpg
Binary for Windows: dvdisaster-0.79.2-setup.exe
Digital signature: dvdisaster-0.79.2-setup.exe.gpg
Hide older releases in the 0.79 version branch
  Source code for all operating systems: dvdisaster-0.79.1.tar.bz2
Digital signature: dvdisaster-0.79.1.tar.bz2.gpg
Binary for Windows: dvdisaster-0.79.1-setup.exe
Digital signature: dvdisaster-0.79.1-setup.exe.gpg
+
+ +All platforms: These releases contain major internal changes compared +to 0.72.x. Please use them carefully.

+ +0.79.2 (28-Feb-2010)
+

    +
  • A binary package for Mac OS X is available now. The Mac OS X +development environment has been updated; this removed some glitches +in the graphical user interface. +
  • +
  • +Development of the RS03 codec makes progress, but is far from being +finished yet. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • The SCSI layer contains a workaround for buggy chipsets found in recent +drives. Starting a read or scan operation would case a system freeze with +such drives. The problem seems to be especially visible under Windows XP, +but other OS might expose similar failures. +Please test if these drives are working +now, and also report if some drives stopped working which were okay previously.
  • +
  • A reference implementation of the RS03 codec is +included. This version is only supplied so that interested people can +compare it against its specification. +Take care and do not use it for productive work. The final version will +be released with version 0.80.
  • +
+Windows: All components of the development environment and the +supplied libraries have been updated. Please test whether the graphical +user interface and localization still work as expected. +

+ + + +

+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. +
+
+
+ + diff --git a/documentation/en/download50.html b/documentation/en/download50.html new file mode 100644 index 0000000..6bd2e8e --- /dev/null +++ b/documentation/en/download50.html @@ -0,0 +1,137 @@ + + + + Additional resources + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  To the Internet version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Contents + + + + +

+ + + + + + + + + + + + + + + + + + +
News
Overview
Howtos
Download
·System requirements
·Digital signature
·Installation
·Alpha (unstable) versions
·Additional resources
Questions and Answers
Bug reporting
+

+
+ + + +

Additional resources

+ +The online documentation which you are currently reading is included +in the dvdisaster program packages. You do not need to download +it separately.

+ +The following additional papers are available:

+ +RS03 specification

+ +RS03 is a new encoding format for upcoming dvdisaster versions, +capable of using multiple processor cores for its +calculations. This can not be done with the current RS01 +und RS02 methods due to limits in their internal structure.

+ +A preview of the RS03 specification (rs03.pdf) +is available now for discussion. The specification is not final.

+ +Reading the RS03 document requires knowledge in the area of +coding theory. It is not meant as end user documentation. + + + +

+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. +
+
+
+ + diff --git a/documentation/en/download50.php b/documentation/en/download50.php new file mode 100644 index 0000000..da69ae9 --- /dev/null +++ b/documentation/en/download50.php @@ -0,0 +1,44 @@ + + + + +

Additional resources

+ +The online documentation which you are currently reading is included +in the dvdisaster program packages. You do not need to download +it separately.

+ +The following additional papers are available:

+ +RS03 specification

+ +RS03 is a new encoding format for upcoming dvdisaster versions, +capable of using multiple processor cores for its +calculations. This can not be done with the current RS01 +und RS02 methods due to limits in their internal structure.

+ +A preview of the RS03 specification (rs03.pdf) +is available now for discussion. The specification is not final.

+ +Reading the RS03 document requires knowledge in the area of +coding theory. It is not meant as end user documentation. + + + + diff --git a/documentation/en/download_showall=0.html b/documentation/en/download_showall=0.html new file mode 100644 index 0000000..a763a1c --- /dev/null +++ b/documentation/en/download_showall=0.html @@ -0,0 +1,283 @@ + + + + Download + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  To the Internet version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Contents + + + + +

+ + + + + + + + + + + + + + + + + + +
News
Overview
Howtos
Download
·System requirements
·Digital signature
·Installation
·Alpha (unstable) versions
·Additional resources
Questions and Answers
Bug reporting
+

+
+ + + +

Download dvdisaster

+ +dvdisaster is available for recent versions +of the FreeBSD, GNU/Linux, Mac OS X(Darwin), NetBSD +and Windows operating systems. It is provided +as free Software +under the GNU General Public License v2*).

+ +Please download either the source code or a binary version from the list below. +A digital signature is provided for verification that the +packets are in their original state.

+ +

    +
  • The source code version contains a file INSTALL with further instructions for compiling it.
  • +
  • For Mac OS X a ZIP archive is provided which is installed by unpacking it +into an arbitrary place. Please note the +special hints for Mac OS X.
  • +
  • To install the binary version for Windows +please execute the downloaded program and follow the dialog.
  • +
+ +Alpha (unstable) versions - new and experimental for experienced users!

+ +Testers are welcome for the upcoming dvdisaster release, but should be aware of remaining +bugs and incompatibilities. +The current unstable release is +0.79 (devel-2). +

+ +Stable version - recommended for getting started.

+ + + + + + + +
dvdisaster-0.7208-Aug-2009
+ + + + + + + + + + + + + + + +
  Source code for all operating systems: dvdisaster-0.72.1.tar.bz2
Digital signature: dvdisaster-0.72.1.tar.bz2.gpg
Binary for Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- please read these hints first
Digital signature: dvdisaster-0.72.1.app.zip.gpg
Binary for Windows: dvdisaster-0.72.1-setup.exe
Digital signature: dvdisaster-0.72.1-setup.exe.gpg
Show older releases in the 0.72 version branch
+
+Most important changes in this version:

+

    +
  • Support for Blu-Ray media
  • +
  • "Raw" reading and C2 scans for CD media
  • +
  • Selectable number of reading attempts
  • +
  • First native Mac OS X application bundle
  • +
  • NetBSD-Port by Sergey Svishchev
  • +
  • Improved media type recognition
  • +
  • Info window describing inserted medium
  • +
  • Improved and enhanced preferences dialog
  • +
  • Reworked and enhanced documentation
  • +
  • Russian translations by Igor Gorbounov
  • +
  • ... and many more small changes and fixes.
  • +
+ +Patches (small changes after version 0.72; files above have been updated):

+ +0.72 pl1 Pablo Almeida provided Portuguese translations of the screen texts. +Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2009)

+Update: The workaround has been found to be ineffective in some cases. A +better workaround is included in version 0.79.x; +unfortunately it can not be easily backported into the stable version. (06-Feb-2010)

+ +0.72 This is the first stable version of the 0.72 branch. +Igor Gorbounov has completed the russian online documentation. +Some minor bugs from the first release candidate have been removed.

+Newer Windows versions may not display the proper screen language +under certain language settings. This problem is rather complex +and will be addressed in the upcoming 0.73.x releases. (04-Jul-2009) +

+ +0.72-rc1 First release candidate. (11-Apr-2009) +

+ +If the links above fail to download +please try getting dvdisaster via +SourceForge. + +

 
+ +Previous release - upgrading to version 0.72 is recommended.

+ + + + + + +
dvdisaster-0.7004-Mar-2008
+ + + + + + + + + +
  Source code for all operating systems: dvdisaster-0.70.6.tar.bz2
Digital signature: dvdisaster-0.70.6.tar.bz2.gpg
Binary for Windows: dvdisaster-0.70.6-setup.exe
Digital signature: dvdisaster-0.70.6-setup.exe.gpg
+
+The RS02 error correction method +is fully supported in the graphical user interface. Images created +with RS02 can be used +with the adaptive reading strategy.

+ +Julian Einwag started porting dvdisaster +to Mac OS X / Darwin.

+ +Daniel Nylander provided Swedish translations of the screen texts.

+ +Patches (small changes after version 0.70; files above have been updated):

+ +pl6 Rolled back support for localized file names +as it broke large file support under Windows. A new handler +for localized file names will first be tested in the experimental version +0.71.25. (04-Mar-2008)

+ +pl5 +Fixes a problem with newer Linux kernels which may lead to a frozen system under +some circumstances. Treatment of file names containing localized characters has +been improved. +Contains backports of major bug fixes from 0.71.24. (24-Feb-2008).

+ +pl4 provides better compatibility with two layered DVDs +(DVD-R DL and DVD+R DL).
+Some minor bugs have been fixed. (20-Jan-2007).

+ +pl3 fixes incorrect recognization of unsupported CD formats which +produced a Windows blue screen under rare circumstances. Added cancel option +during RS02 initialization on DVD RW media. +(10-Dec-2006).

+ +pl2 fixes incorrect memory freeing when the program window is closed. +Unpacking of documentation screen shots is fixed for PPC platforms. +Only the source code archives have been updated. +(03-Oct-2006).

+ +pl1 fixes a bug in adaptive reading for RS02 which would sometimes result in +reading insufficient data for a successful recovery. Adds some small +improvements of documentation and usability. (30-Jul-2006) +

+ + +The dvdisaster source code is also +available via CVS. +Some file of particular interest are: +

    +
  • CHANGELOG- changes from the previous versions;
  • +
  • CREDITS.en- people involved in the project;
  • +
  • INSTALL - additional hints for installation;
  • +
  • README - a road map of the source code archive.
  • +
+ + + +
+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. +
+
+
+ + diff --git a/documentation/en/download_showall=1.html b/documentation/en/download_showall=1.html new file mode 100644 index 0000000..f1781ea --- /dev/null +++ b/documentation/en/download_showall=1.html @@ -0,0 +1,296 @@ + + + + Download + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  To the Internet version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Contents + + + + +

+ + + + + + + + + + + + + + + + + + +
News
Overview
Howtos
Download
·System requirements
·Digital signature
·Installation
·Alpha (unstable) versions
·Additional resources
Questions and Answers
Bug reporting
+

+
+ + + +

Download dvdisaster

+ +dvdisaster is available for recent versions +of the FreeBSD, GNU/Linux, Mac OS X(Darwin), NetBSD +and Windows operating systems. It is provided +as free Software +under the GNU General Public License v2*).

+ +Please download either the source code or a binary version from the list below. +A digital signature is provided for verification that the +packets are in their original state.

+ +

    +
  • The source code version contains a file INSTALL with further instructions for compiling it.
  • +
  • For Mac OS X a ZIP archive is provided which is installed by unpacking it +into an arbitrary place. Please note the +special hints for Mac OS X.
  • +
  • To install the binary version for Windows +please execute the downloaded program and follow the dialog.
  • +
+ +Alpha (unstable) versions - new and experimental for experienced users!

+ +Testers are welcome for the upcoming dvdisaster release, but should be aware of remaining +bugs and incompatibilities. +The current unstable release is +0.79 (devel-2). +

+ +Stable version - recommended for getting started.

+ + + + + + + +
dvdisaster-0.7208-Aug-2009
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  Source code for all operating systems: dvdisaster-0.72.1.tar.bz2
Digital signature: dvdisaster-0.72.1.tar.bz2.gpg
Binary for Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- please read these hints first
Digital signature: dvdisaster-0.72.1.app.zip.gpg
Binary for Windows: dvdisaster-0.72.1-setup.exe
Digital signature: dvdisaster-0.72.1-setup.exe.gpg
Hide older releases in the 0.72 version branch
  Source code for all operating systems: dvdisaster-0.72.tar.bz2
Digital signature: dvdisaster-0.72.tar.bz2.gpg
Binary for Mac OS X 10.5 / x86: dvdisaster-0.72.app.zip -- please read these hints first
Digital signature: dvdisaster-0.72.app.zip.gpg
Binary for Windows: dvdisaster-0.72-setup.exe
Digital signature: dvdisaster-0.72-setup.exe.gpg
+
+Most important changes in this version:

+

    +
  • Support for Blu-Ray media
  • +
  • "Raw" reading and C2 scans for CD media
  • +
  • Selectable number of reading attempts
  • +
  • First native Mac OS X application bundle
  • +
  • NetBSD-Port by Sergey Svishchev
  • +
  • Improved media type recognition
  • +
  • Info window describing inserted medium
  • +
  • Improved and enhanced preferences dialog
  • +
  • Reworked and enhanced documentation
  • +
  • Russian translations by Igor Gorbounov
  • +
  • ... and many more small changes and fixes.
  • +
+ +Patches (small changes after version 0.72; files above have been updated):

+ +0.72 pl1 Pablo Almeida provided Portuguese translations of the screen texts. +Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2009)

+Update: The workaround has been found to be ineffective in some cases. A +better workaround is included in version 0.79.x; +unfortunately it can not be easily backported into the stable version. (06-Feb-2010)

+ +0.72 This is the first stable version of the 0.72 branch. +Igor Gorbounov has completed the russian online documentation. +Some minor bugs from the first release candidate have been removed.

+Newer Windows versions may not display the proper screen language +under certain language settings. This problem is rather complex +and will be addressed in the upcoming 0.73.x releases. (04-Jul-2009) +

+ +0.72-rc1 First release candidate. (11-Apr-2009) +

+ +If the links above fail to download +please try getting dvdisaster via +SourceForge. + +

 
+ +Previous release - upgrading to version 0.72 is recommended.

+ + + + + + +
dvdisaster-0.7004-Mar-2008
+ + + + + + + + + +
  Source code for all operating systems: dvdisaster-0.70.6.tar.bz2
Digital signature: dvdisaster-0.70.6.tar.bz2.gpg
Binary for Windows: dvdisaster-0.70.6-setup.exe
Digital signature: dvdisaster-0.70.6-setup.exe.gpg
+
+The RS02 error correction method +is fully supported in the graphical user interface. Images created +with RS02 can be used +with the adaptive reading strategy.

+ +Julian Einwag started porting dvdisaster +to Mac OS X / Darwin.

+ +Daniel Nylander provided Swedish translations of the screen texts.

+ +Patches (small changes after version 0.70; files above have been updated):

+ +pl6 Rolled back support for localized file names +as it broke large file support under Windows. A new handler +for localized file names will first be tested in the experimental version +0.71.25. (04-Mar-2008)

+ +pl5 +Fixes a problem with newer Linux kernels which may lead to a frozen system under +some circumstances. Treatment of file names containing localized characters has +been improved. +Contains backports of major bug fixes from 0.71.24. (24-Feb-2008).

+ +pl4 provides better compatibility with two layered DVDs +(DVD-R DL and DVD+R DL).
+Some minor bugs have been fixed. (20-Jan-2007).

+ +pl3 fixes incorrect recognization of unsupported CD formats which +produced a Windows blue screen under rare circumstances. Added cancel option +during RS02 initialization on DVD RW media. +(10-Dec-2006).

+ +pl2 fixes incorrect memory freeing when the program window is closed. +Unpacking of documentation screen shots is fixed for PPC platforms. +Only the source code archives have been updated. +(03-Oct-2006).

+ +pl1 fixes a bug in adaptive reading for RS02 which would sometimes result in +reading insufficient data for a successful recovery. Adds some small +improvements of documentation and usability. (30-Jul-2006) +

+ + +The dvdisaster source code is also +available via CVS. +Some file of particular interest are: +

    +
  • CHANGELOG- changes from the previous versions;
  • +
  • CREDITS.en- people involved in the project;
  • +
  • INSTALL - additional hints for installation;
  • +
  • README - a road map of the source code archive.
  • +
+ + + +
+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. +
+
+
+ + diff --git a/documentation/en/empty.php b/documentation/en/empty.php index 946e8ec..ac54d5f 100644 --- a/documentation/en/empty.php +++ b/documentation/en/empty.php @@ -1,6 +1,6 @@ + +tag:dvdisaster.net,2009-10-02:/en/feeds/atom.xml +dvdisaster news +2010-02-28T19:15:30+01:00 + + + Carsten Gnörlich + http://www.dvdisaster.org + + +dvdisaster 0.79.2 released + +tag:dvdisaster.net,2010-02-28:/en/news.html/15 +2010-02-28T00:00:00Z +2010-02-28T00:00:00Z + +

Mac OS X binaries are available again as the Mac OS X development environment has been updated for this version. RS03 codec development progresses, but is still far from being finished. [...] + + +Started new development branch 0.79 + +tag:dvdisaster.net,2010-02-07:/en/news.html/14 +2010-02-07T00:00:00Z +2010-02-07T00:00:00Z + + The first version of the new development branch (0.79.1) has just been released. This release is meant for testing new functions; it is not recommended for doing productive work. See the download page for information on what has been [...] + + +Assessment of potential vulnerabilities in the windows version +of the GTK library + +tag:dvdisaster.net,2009-10-01:/en/news.html/13 +2009-10-01T00:00:00Z +2009-10-01T00:00:00Z + + The Windows versions of dvdisaster 0.70.x/0.72.x are shipped with an outdated GTK library containing vulnerabilities in its image processing routines. To exploit the vulnerability, manipulated images need to be loaded from an external [...] + + +Project represention on SourceForge may be outdated + +tag:dvdisaster.net,2009-08-10:/en/news.html/12 +2009-08-10T00:00:00Z +2009-08-10T00:00:00Z + + Due to the recent functionality changes on SourceForge we are unable to upload the News, Downloads and CVS contents in time. Please refer to the respective sections on this site (http://dvdisaster.net) instead. [...] + + +dvdisaster 0.72.1 released + +tag:dvdisaster.net,2009-08-08:/en/news.html/11 +2009-08-08T00:00:00Z +2010-02-06T00:00:00Z + + Pablo Almeida provided a Portuguese translation for the screen text. Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs. Update: The workaround is not complete. If the problem persists please try version 0.79.x. [...] + + +dvdisaster 0.72 released + +tag:dvdisaster.net,2009-07-04:/en/news.html/10 +2009-07-04T00:00:00Z +2009-07-04T00:00:00Z + + This is the first stable version of the 0.72 branch. Igor Gorbounov has completed the russian online documentation. Some minor bugs from the first release candidate have been removed. [...] + + diff --git a/documentation/en/feedback.html b/documentation/en/feedback.html index a376918..913a12a 100644 --- a/documentation/en/feedback.html +++ b/documentation/en/feedback.html @@ -1,7 +1,7 @@ - dvdisaster + Bug reporting @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -149,14 +148,16 @@ Thanks for your feedback! + +
News
Overview
@@ -169,7 +170,7 @@ Thanks for your feedback! - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/feedback.php b/documentation/en/feedback.php index 3b02b4e..fec6948 100644 --- a/documentation/en/feedback.php +++ b/documentation/en/feedback.php @@ -1,6 +1,6 @@ - dvdisaster + Bug reporting @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -147,14 +146,16 @@ Thanks for your feedback! + +
News
Overview
@@ -167,7 +168,7 @@ Thanks for your feedback! - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos.html b/documentation/en/howtos.html index a394d07..4aa59db 100644 --- a/documentation/en/howtos.html +++ b/documentation/en/howtos.html @@ -1,7 +1,7 @@ - dvdisaster + Howtos @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -155,14 +154,16 @@ data is required. + +
News
Overview
@@ -175,7 +176,7 @@ data is required. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos.php b/documentation/en/howtos.php index d85c93e..18b9e69 100644 --- a/documentation/en/howtos.php +++ b/documentation/en/howtos.php @@ -1,6 +1,6 @@ - dvdisaster + Scanning media for errors @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -144,14 +143,16 @@ However scanning will also work without error correction data. + +
News
Overview
@@ -164,7 +165,7 @@ However scanning will also work without error correction data. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos10.php b/documentation/en/howtos10.php index a252f23..f45ac2a 100644 --- a/documentation/en/howtos10.php +++ b/documentation/en/howtos10.php @@ -1,6 +1,6 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -227,14 +226,16 @@ but these have no further effects on the scanning process. + +
News
Overview
@@ -247,7 +248,7 @@ but these have no further effects on the scanning process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos11.php b/documentation/en/howtos11.php index ce6d1f5..f673fa2 100644 --- a/documentation/en/howtos11.php +++ b/documentation/en/howtos11.php @@ -1,6 +1,6 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -225,14 +224,16 @@ but these have no further effects on the scanning process. + +
News
Overview
@@ -245,7 +246,7 @@ but these have no further effects on the scanning process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos11_expand=2.html b/documentation/en/howtos11_expand=2.html index 134da4a..47dfaba 100644 --- a/documentation/en/howtos11_expand=2.html +++ b/documentation/en/howtos11_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -225,14 +224,16 @@ but these have no further effects on the scanning process. + +
News
Overview
@@ -245,7 +246,7 @@ but these have no further effects on the scanning process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos11_expand=3.html b/documentation/en/howtos11_expand=3.html index be00dde..5dab9a4 100644 --- a/documentation/en/howtos11_expand=3.html +++ b/documentation/en/howtos11_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -225,14 +224,16 @@ but these have no further effects on the scanning process. + +
News
Overview
@@ -245,7 +246,7 @@ but these have no further effects on the scanning process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos11_expand=4.html b/documentation/en/howtos11_expand=4.html index 76b5c02..995dab3 100644 --- a/documentation/en/howtos11_expand=4.html +++ b/documentation/en/howtos11_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -225,14 +224,16 @@ but these have no further effects on the scanning process. + +
News
Overview
@@ -245,7 +246,7 @@ but these have no further effects on the scanning process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos11_expand=5.html b/documentation/en/howtos11_expand=5.html index ce50540..4c5348b 100644 --- a/documentation/en/howtos11_expand=5.html +++ b/documentation/en/howtos11_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -225,14 +224,16 @@ but these have no further effects on the scanning process. + +
News
Overview
@@ -245,7 +246,7 @@ but these have no further effects on the scanning process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos12.html b/documentation/en/howtos12.html index f1db5b2..c75f7a9 100644 --- a/documentation/en/howtos12.html +++ b/documentation/en/howtos12.html @@ -1,7 +1,7 @@ - dvdisaster + Performing the test @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -185,14 +184,16 @@ might affect the scanning results. + +
News
Overview
@@ -205,7 +206,7 @@ might affect the scanning results. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos12.php b/documentation/en/howtos12.php index 51492b6..41a876b 100644 --- a/documentation/en/howtos12.php +++ b/documentation/en/howtos12.php @@ -1,6 +1,6 @@ - dvdisaster + Performing the test @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -185,14 +184,16 @@ might affect the scanning results. + +
News
Overview
@@ -205,7 +206,7 @@ might affect the scanning results. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos12_expand=1.html b/documentation/en/howtos12_expand=1.html index f429c88..82aa38c 100644 --- a/documentation/en/howtos12_expand=1.html +++ b/documentation/en/howtos12_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Performing the test @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -184,14 +183,16 @@ might affect the scanning results. + +
News
Overview
@@ -204,7 +205,7 @@ might affect the scanning results. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos13.html b/documentation/en/howtos13.html index f528985..db71392 100644 --- a/documentation/en/howtos13.html +++ b/documentation/en/howtos13.html @@ -1,7 +1,7 @@ - dvdisaster + Interpreting the results @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -280,14 +279,16 @@ speeds. + +
News
Overview
@@ -300,7 +301,7 @@ speeds. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos13.php b/documentation/en/howtos13.php index 4d4c250..4ba38da 100644 --- a/documentation/en/howtos13.php +++ b/documentation/en/howtos13.php @@ -1,6 +1,6 @@ - dvdisaster + Interpreting the results @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ speeds. + +
News
Overview
@@ -298,7 +299,7 @@ speeds. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos13_expand=2.html b/documentation/en/howtos13_expand=2.html index 33e8ea1..b64ce1b 100644 --- a/documentation/en/howtos13_expand=2.html +++ b/documentation/en/howtos13_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Interpreting the results @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ speeds. + +
News
Overview
@@ -298,7 +299,7 @@ speeds. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos13_expand=3.html b/documentation/en/howtos13_expand=3.html index 4485a03..adf69d0 100644 --- a/documentation/en/howtos13_expand=3.html +++ b/documentation/en/howtos13_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Interpreting the results @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ speeds. + +
News
Overview
@@ -298,7 +299,7 @@ speeds. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos13_expand=4.html b/documentation/en/howtos13_expand=4.html index 34400dd..e9fd901 100644 --- a/documentation/en/howtos13_expand=4.html +++ b/documentation/en/howtos13_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Interpreting the results @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ speeds. + +
News
Overview
@@ -298,7 +299,7 @@ speeds. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos13_expand=5.html b/documentation/en/howtos13_expand=5.html index 683252e..5c42293 100644 --- a/documentation/en/howtos13_expand=5.html +++ b/documentation/en/howtos13_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Interpreting the results @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ speeds. + +
News
Overview
@@ -298,7 +299,7 @@ speeds. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos13_expand=6.html b/documentation/en/howtos13_expand=6.html index 6450cae..64c4396 100644 --- a/documentation/en/howtos13_expand=6.html +++ b/documentation/en/howtos13_expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Interpreting the results @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ speeds. + +
News
Overview
@@ -298,7 +299,7 @@ speeds. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos14.html b/documentation/en/howtos14.html index 8405f38..c232e39 100644 --- a/documentation/en/howtos14.html +++ b/documentation/en/howtos14.html @@ -1,7 +1,7 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -150,14 +149,16 @@ accurate.

+ +

News
Overview
@@ -170,7 +171,7 @@ accurate.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos14.php b/documentation/en/howtos14.php index 8557dff..20e2d78 100644 --- a/documentation/en/howtos14.php +++ b/documentation/en/howtos14.php @@ -1,6 +1,6 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -148,14 +147,16 @@ accurate.

+ +

News
Overview
@@ -168,7 +169,7 @@ accurate.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos14_expand=2.html b/documentation/en/howtos14_expand=2.html index 45bb952..18668e2 100644 --- a/documentation/en/howtos14_expand=2.html +++ b/documentation/en/howtos14_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -148,14 +147,16 @@ accurate.

+ +

News
Overview
@@ -168,7 +169,7 @@ accurate.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos20.html b/documentation/en/howtos20.html index 6248cde..013d6e0 100644 --- a/documentation/en/howtos20.html +++ b/documentation/en/howtos20.html @@ -1,7 +1,7 @@ - dvdisaster + Putting error correction data on a separate file @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -161,14 +160,16 @@ from an already defective medium. + +
News
Overview
@@ -181,7 +182,7 @@ from an already defective medium. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos20.php b/documentation/en/howtos20.php index bb3f42a..b32a887 100644 --- a/documentation/en/howtos20.php +++ b/documentation/en/howtos20.php @@ -1,6 +1,6 @@ - dvdisaster + Decision help @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -136,14 +135,16 @@ can be found in the + +
News
Overview
@@ -156,7 +157,7 @@ can be found in the - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos21.php b/documentation/en/howtos21.php index 4f958e5..c3d2d0f 100644 --- a/documentation/en/howtos21.php +++ b/documentation/en/howtos21.php @@ -1,6 +1,6 @@ - dvdisaster + Decision help @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
To the Internet version @@ -48,7 +48,6 @@

- @@ -138,14 +137,16 @@ can be found in the + +
News
Overview
@@ -158,7 +159,7 @@ can be found in the - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos21_answer=2.html b/documentation/en/howtos21_answer=2.html index b0744e3..dcd55d4 100644 --- a/documentation/en/howtos21_answer=2.html +++ b/documentation/en/howtos21_answer=2.html @@ -1,7 +1,7 @@ - dvdisaster + Decision help @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
To the Internet version @@ -48,7 +48,6 @@

- @@ -141,14 +140,16 @@ can be found in the + +
News
Overview
@@ -161,7 +162,7 @@ can be found in the - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos21_answer=3.html b/documentation/en/howtos21_answer=3.html index ce5f9c8..c00a1c9 100644 --- a/documentation/en/howtos21_answer=3.html +++ b/documentation/en/howtos21_answer=3.html @@ -1,7 +1,7 @@ - dvdisaster + Decision help @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
To the Internet version @@ -48,7 +48,6 @@

- @@ -144,14 +143,16 @@ can be found in the + +
News
Overview
@@ -164,7 +165,7 @@ can be found in the - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos21_answer=4.html b/documentation/en/howtos21_answer=4.html index a3f8610..208d3e3 100644 --- a/documentation/en/howtos21_answer=4.html +++ b/documentation/en/howtos21_answer=4.html @@ -1,7 +1,7 @@ - dvdisaster + Decision help @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
To the Internet version @@ -48,7 +48,6 @@

- @@ -143,14 +142,16 @@ can be found in the + +
News
Overview
@@ -163,7 +164,7 @@ can be found in the - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos22.html b/documentation/en/howtos22.html index a6f5221..bb83265 100644 --- a/documentation/en/howtos22.html +++ b/documentation/en/howtos22.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings for reading @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
To the Internet version @@ -48,7 +48,6 @@

- @@ -240,13 +239,8 @@ recommended as the error correction might be overloaded too quickly.
News
Overview
+ +
-"Files" tab. If your operating system can not create files larger than 2GB -then you must choose the "Split files " setting (marked green). -In that case dvdisaster will -create up to 100 segments called "medium00.iso", "medium01.iso" etc. instead -of a single "medium.iso" file. Using this option results in a small performance hit. -This option is mostly useful under Windows if the old FAT32 file system is still used. -Leave the other settings off for the moment; suggestions for further +"Files" tab. In this tab, leave the settings off for the moment; +suggestions for further optimization follow later. @@ -279,14 +273,16 @@ but these have no further effects on the error correction data creation.
@@ -299,7 +295,7 @@ but these have no further effects on the error correction data creation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos22.php b/documentation/en/howtos22.php index 6d52ef6..98ee5f7 100644 --- a/documentation/en/howtos22.php +++ b/documentation/en/howtos22.php @@ -1,6 +1,6 @@ -"Files" tab. If your operating system can not create files larger than 2GB -then you must choose the "Split files " setting (marked green). -In that case dvdisaster will -create up to 100 segments called "medium00.iso", "medium01.iso" etc. instead -of a single "medium.iso" file. Using this option results in a small performance hit. -This option is mostly useful under Windows if the old FAT32 file system is still used. -Leave the other settings off for the moment; suggestions for further +"Files" tab. In this tab, leave the settings off for the moment; +suggestions for further optimization follow later. diff --git a/documentation/en/howtos22_expand=1.html b/documentation/en/howtos22_expand=1.html index 3bba7a8..3aa95d0 100644 --- a/documentation/en/howtos22_expand=1.html +++ b/documentation/en/howtos22_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings for reading @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -238,13 +237,8 @@ recommended as the error correction might be overloaded too quickly.
News
Overview
+ +
-"Files" tab. If your operating system can not create files larger than 2GB -then you must choose the "Split files " setting (marked green). -In that case dvdisaster will -create up to 100 segments called "medium00.iso", "medium01.iso" etc. instead -of a single "medium.iso" file. Using this option results in a small performance hit. -This option is mostly useful under Windows if the old FAT32 file system is still used. -Leave the other settings off for the moment; suggestions for further +"Files" tab. In this tab, leave the settings off for the moment; +suggestions for further optimization follow later. @@ -277,14 +271,16 @@ but these have no further effects on the error correction data creation.
@@ -297,7 +293,7 @@ but these have no further effects on the error correction data creation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos22_expand=2.html b/documentation/en/howtos22_expand=2.html index 7953252..44cb81d 100644 --- a/documentation/en/howtos22_expand=2.html +++ b/documentation/en/howtos22_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings for reading @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -238,13 +237,8 @@ recommended as the error correction might be overloaded too quickly.
News
Overview
+ +
-"Files" tab. If your operating system can not create files larger than 2GB -then you must choose the "Split files " setting (marked green). -In that case dvdisaster will -create up to 100 segments called "medium00.iso", "medium01.iso" etc. instead -of a single "medium.iso" file. Using this option results in a small performance hit. -This option is mostly useful under Windows if the old FAT32 file system is still used. -Leave the other settings off for the moment; suggestions for further +"Files" tab. In this tab, leave the settings off for the moment; +suggestions for further optimization follow later. @@ -277,14 +271,16 @@ but these have no further effects on the error correction data creation.
@@ -297,7 +293,7 @@ but these have no further effects on the error correction data creation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos22_expand=3.html b/documentation/en/howtos22_expand=3.html index 4d153ad..4b3037e 100644 --- a/documentation/en/howtos22_expand=3.html +++ b/documentation/en/howtos22_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings for reading @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -238,13 +237,8 @@ recommended as the error correction might be overloaded too quickly.
News
Overview
+ +
-"Files" tab. If your operating system can not create files larger than 2GB -then you must choose the "Split files " setting (marked green). -In that case dvdisaster will -create up to 100 segments called "medium00.iso", "medium01.iso" etc. instead -of a single "medium.iso" file. Using this option results in a small performance hit. -This option is mostly useful under Windows if the old FAT32 file system is still used. -Leave the other settings off for the moment; suggestions for further +"Files" tab. In this tab, leave the settings off for the moment; +suggestions for further optimization follow later. @@ -277,14 +271,16 @@ but these have no further effects on the error correction data creation.
@@ -297,7 +293,7 @@ but these have no further effects on the error correction data creation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos22_expand=4.html b/documentation/en/howtos22_expand=4.html index 2b0cd84..fcf7a63 100644 --- a/documentation/en/howtos22_expand=4.html +++ b/documentation/en/howtos22_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings for reading @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -238,13 +237,8 @@ recommended as the error correction might be overloaded too quickly.
News
Overview
+ +
-"Files" tab. If your operating system can not create files larger than 2GB -then you must choose the "Split files " setting (marked green). -In that case dvdisaster will -create up to 100 segments called "medium00.iso", "medium01.iso" etc. instead -of a single "medium.iso" file. Using this option results in a small performance hit. -This option is mostly useful under Windows if the old FAT32 file system is still used. -Leave the other settings off for the moment; suggestions for further +"Files" tab. In this tab, leave the settings off for the moment; +suggestions for further optimization follow later. @@ -277,14 +271,16 @@ but these have no further effects on the error correction data creation.
@@ -297,7 +293,7 @@ but these have no further effects on the error correction data creation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos22_expand=5.html b/documentation/en/howtos22_expand=5.html index dc84271..a753dd6 100644 --- a/documentation/en/howtos22_expand=5.html +++ b/documentation/en/howtos22_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings for reading @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -238,13 +237,8 @@ recommended as the error correction might be overloaded too quickly.
News
Overview
+ +
-"Files" tab. If your operating system can not create files larger than 2GB -then you must choose the "Split files " setting (marked green). -In that case dvdisaster will -create up to 100 segments called "medium00.iso", "medium01.iso" etc. instead -of a single "medium.iso" file. Using this option results in a small performance hit. -This option is mostly useful under Windows if the old FAT32 file system is still used. -Leave the other settings off for the moment; suggestions for further +"Files" tab. In this tab, leave the settings off for the moment; +suggestions for further optimization follow later. @@ -277,14 +271,16 @@ but these have no further effects on the error correction data creation.
@@ -297,7 +293,7 @@ but these have no further effects on the error correction data creation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos22_expand=6.html b/documentation/en/howtos22_expand=6.html index 435219e..06c641b 100644 --- a/documentation/en/howtos22_expand=6.html +++ b/documentation/en/howtos22_expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings for reading @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -240,13 +239,8 @@ recommended as the error correction might be overloaded too quickly.
News
Overview
+ +
-"Files" tab. If your operating system can not create files larger than 2GB -then you must choose the "Split files " setting (marked green). -In that case dvdisaster will -create up to 100 segments called "medium00.iso", "medium01.iso" etc. instead -of a single "medium.iso" file. Using this option results in a small performance hit. -This option is mostly useful under Windows if the old FAT32 file system is still used. -Leave the other settings off for the moment; suggestions for further +"Files" tab. In this tab, leave the settings off for the moment; +suggestions for further optimization follow later.
@@ -277,14 +271,16 @@ but these have no further effects on the error correction data creation.
@@ -297,7 +293,7 @@ but these have no further effects on the error correction data creation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos23.html b/documentation/en/howtos23.html index 966b6b1..aaa62cf 100644 --- a/documentation/en/howtos23.html +++ b/documentation/en/howtos23.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the error correction file @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -114,14 +113,16 @@ these two ways:

+ +

News
Overview
@@ -134,7 +135,7 @@ these two ways:

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos23.php b/documentation/en/howtos23.php index 138fbf9..3041fcc 100644 --- a/documentation/en/howtos23.php +++ b/documentation/en/howtos23.php @@ -1,6 +1,6 @@ - dvdisaster + Creating the error correction file @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -252,14 +251,16 @@ damaged. Refer to the next page for some suggestions about + +
News
Overview
@@ -272,7 +273,7 @@ damaged. Refer to the next page for some suggestions about - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos23_way=1&expand=1.html b/documentation/en/howtos23_way=1&expand=1.html index a0ec8d4..1b49ed2 100644 --- a/documentation/en/howtos23_way=1&expand=1.html +++ b/documentation/en/howtos23_way=1&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the error correction file @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -257,14 +256,16 @@ damaged. Refer to the next page for some suggestions about + +
News
Overview
@@ -277,7 +278,7 @@ damaged. Refer to the next page for some suggestions about - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos23_way=1&expand=2.html b/documentation/en/howtos23_way=1&expand=2.html index ef5a725..245b028 100644 --- a/documentation/en/howtos23_way=1&expand=2.html +++ b/documentation/en/howtos23_way=1&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the error correction file @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -257,14 +256,16 @@ damaged. Refer to the next page for some suggestions about + +
News
Overview
@@ -277,7 +278,7 @@ damaged. Refer to the next page for some suggestions about - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos23_way=1.html b/documentation/en/howtos23_way=1.html index d5ced0a..d149f09 100644 --- a/documentation/en/howtos23_way=1.html +++ b/documentation/en/howtos23_way=1.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the error correction file @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -252,14 +251,16 @@ damaged. Refer to the next page for some suggestions about + +
News
Overview
@@ -272,7 +273,7 @@ damaged. Refer to the next page for some suggestions about - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos23_way=2&expand=0.html b/documentation/en/howtos23_way=2&expand=0.html index 3f9d830..34c78e3 100644 --- a/documentation/en/howtos23_way=2&expand=0.html +++ b/documentation/en/howtos23_way=2&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the error correction file @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -189,14 +188,16 @@ damaged. Refer to the next page for some suggestions about + +
News
Overview
@@ -209,7 +210,7 @@ damaged. Refer to the next page for some suggestions about - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos23_way=2&expand=1.html b/documentation/en/howtos23_way=2&expand=1.html index e79e711..4c8b9d3 100644 --- a/documentation/en/howtos23_way=2&expand=1.html +++ b/documentation/en/howtos23_way=2&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the error correction file @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -194,14 +193,16 @@ damaged. Refer to the next page for some suggestions about + +
News
Overview
@@ -214,7 +215,7 @@ damaged. Refer to the next page for some suggestions about - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos23_way=2&expand=2.html b/documentation/en/howtos23_way=2&expand=2.html index a77afdd..20e9281 100644 --- a/documentation/en/howtos23_way=2&expand=2.html +++ b/documentation/en/howtos23_way=2&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the error correction file @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -189,14 +188,16 @@ damaged. Refer to the next page for some suggestions about + +
News
Overview
@@ -209,7 +210,7 @@ damaged. Refer to the next page for some suggestions about - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos23_way=2.html b/documentation/en/howtos23_way=2.html index 3f9d830..34c78e3 100644 --- a/documentation/en/howtos23_way=2.html +++ b/documentation/en/howtos23_way=2.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the error correction file @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -189,14 +188,16 @@ damaged. Refer to the next page for some suggestions about + +
News
Overview
@@ -209,7 +210,7 @@ damaged. Refer to the next page for some suggestions about - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos24.html b/documentation/en/howtos24.html index 109a99e..05c22b6 100644 --- a/documentation/en/howtos24.html +++ b/documentation/en/howtos24.html @@ -1,7 +1,7 @@ - dvdisaster + Archiving error correction files @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -149,14 +148,16 @@ with the most recent one ;-) + +
News
Overview
@@ -169,7 +170,7 @@ with the most recent one ;-) - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos24.php b/documentation/en/howtos24.php index f45221c..b123118 100644 --- a/documentation/en/howtos24.php +++ b/documentation/en/howtos24.php @@ -1,6 +1,6 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -143,14 +142,16 @@ the previous error correction file will be overwritten. + +
News
Overview
@@ -163,7 +164,7 @@ the previous error correction file will be overwritten. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos25.php b/documentation/en/howtos25.php index 8e76209..595e3ca 100644 --- a/documentation/en/howtos25.php +++ b/documentation/en/howtos25.php @@ -1,6 +1,6 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -141,14 +140,16 @@ the previous error correction file will be overwritten. + +
News
Overview
@@ -161,7 +162,7 @@ the previous error correction file will be overwritten. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos25_expand=2.html b/documentation/en/howtos25_expand=2.html index 4a5c087..169281c 100644 --- a/documentation/en/howtos25_expand=2.html +++ b/documentation/en/howtos25_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -141,14 +140,16 @@ the previous error correction file will be overwritten. + +
News
Overview
@@ -161,7 +162,7 @@ the previous error correction file will be overwritten. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos30.html b/documentation/en/howtos30.html index ed19045..1730132 100644 --- a/documentation/en/howtos30.html +++ b/documentation/en/howtos30.html @@ -1,7 +1,7 @@ - dvdisaster + Putting error correction data on the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -154,14 +153,16 @@ a separate file. + +
News
Overview
@@ -174,7 +175,7 @@ a separate file. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos30.php b/documentation/en/howtos30.php index 07e6cc0..abcffea 100644 --- a/documentation/en/howtos30.php +++ b/documentation/en/howtos30.php @@ -1,6 +1,6 @@ - dvdisaster + Decision help @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -136,14 +135,16 @@ can be found in the + +
News
Overview
@@ -156,7 +157,7 @@ can be found in the - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos32.html b/documentation/en/howtos32.html index 603db14..6852f7a 100644 --- a/documentation/en/howtos32.html +++ b/documentation/en/howtos32.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
To the Internet version @@ -48,7 +48,6 @@

- @@ -156,14 +155,16 @@ but these have no further effects on the error correction data creation. + +
News
Overview
@@ -176,7 +177,7 @@ but these have no further effects on the error correction data creation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos32.php b/documentation/en/howtos32.php index 929f0e7..27935ba 100644 --- a/documentation/en/howtos32.php +++ b/documentation/en/howtos32.php @@ -1,6 +1,6 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -154,14 +153,16 @@ but these have no further effects on the error correction data creation. + +
News
Overview
@@ -174,7 +175,7 @@ but these have no further effects on the error correction data creation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos32_expand=2.html b/documentation/en/howtos32_expand=2.html index b74d69a..60e8d5b 100644 --- a/documentation/en/howtos32_expand=2.html +++ b/documentation/en/howtos32_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -154,14 +153,16 @@ but these have no further effects on the error correction data creation. + +
News
Overview
@@ -174,7 +175,7 @@ but these have no further effects on the error correction data creation. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33.html b/documentation/en/howtos33.html index 4c110a0..04d9428 100644 --- a/documentation/en/howtos33.html +++ b/documentation/en/howtos33.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -248,14 +247,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -268,7 +269,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33.php b/documentation/en/howtos33.php index 5d8f3df..5837b9d 100644 --- a/documentation/en/howtos33.php +++ b/documentation/en/howtos33.php @@ -1,6 +1,6 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -248,14 +247,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -268,7 +269,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_expand=1.html b/documentation/en/howtos33_expand=1.html index 89e29f2..bf465e7 100644 --- a/documentation/en/howtos33_expand=1.html +++ b/documentation/en/howtos33_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -253,14 +252,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -273,7 +274,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_expand=2.html b/documentation/en/howtos33_expand=2.html index 5894429..b9196dc 100644 --- a/documentation/en/howtos33_expand=2.html +++ b/documentation/en/howtos33_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -253,14 +252,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -273,7 +274,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=0&expand=0.html b/documentation/en/howtos33_way=0&expand=0.html index 57365c5..70cf682 100644 --- a/documentation/en/howtos33_way=0&expand=0.html +++ b/documentation/en/howtos33_way=0&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -248,14 +247,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -268,7 +269,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=0&expand=1.html b/documentation/en/howtos33_way=0&expand=1.html index 1dc5958..ec88d01 100644 --- a/documentation/en/howtos33_way=0&expand=1.html +++ b/documentation/en/howtos33_way=0&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -253,14 +252,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -273,7 +274,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=0&expand=2.html b/documentation/en/howtos33_way=0&expand=2.html index 9459b30..062c6df 100644 --- a/documentation/en/howtos33_way=0&expand=2.html +++ b/documentation/en/howtos33_way=0&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -253,14 +252,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -273,7 +274,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=0.html b/documentation/en/howtos33_way=0.html index 57365c5..70cf682 100644 --- a/documentation/en/howtos33_way=0.html +++ b/documentation/en/howtos33_way=0.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -248,14 +247,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -268,7 +269,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=1&.html b/documentation/en/howtos33_way=1&.html index 236e0de..56e4eee 100644 --- a/documentation/en/howtos33_way=1&.html +++ b/documentation/en/howtos33_way=1&.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -405,14 +404,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -425,7 +426,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=1&expand=0.html b/documentation/en/howtos33_way=1&expand=0.html index 236e0de..56e4eee 100644 --- a/documentation/en/howtos33_way=1&expand=0.html +++ b/documentation/en/howtos33_way=1&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -405,14 +404,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -425,7 +426,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=1&expand=1.html b/documentation/en/howtos33_way=1&expand=1.html index 9e07c5a..119bc0b 100644 --- a/documentation/en/howtos33_way=1&expand=1.html +++ b/documentation/en/howtos33_way=1&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -403,14 +402,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -423,7 +424,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=1&expand=2.html b/documentation/en/howtos33_way=1&expand=2.html index ad6624f..d4e24fc 100644 --- a/documentation/en/howtos33_way=1&expand=2.html +++ b/documentation/en/howtos33_way=1&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -403,14 +402,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -423,7 +424,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=1&expand=3.html b/documentation/en/howtos33_way=1&expand=3.html index ec72699..108914d 100644 --- a/documentation/en/howtos33_way=1&expand=3.html +++ b/documentation/en/howtos33_way=1&expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -403,14 +402,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -423,7 +424,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=1&expand=4.html b/documentation/en/howtos33_way=1&expand=4.html index abdd4c2..c20b427 100644 --- a/documentation/en/howtos33_way=1&expand=4.html +++ b/documentation/en/howtos33_way=1&expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -403,14 +402,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -423,7 +424,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=1&expand=5.html b/documentation/en/howtos33_way=1&expand=5.html index dc32111..4fb555f 100644 --- a/documentation/en/howtos33_way=1&expand=5.html +++ b/documentation/en/howtos33_way=1&expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -403,14 +402,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -423,7 +424,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=1&expand=6.html b/documentation/en/howtos33_way=1&expand=6.html index a3b6301..87c7352 100644 --- a/documentation/en/howtos33_way=1&expand=6.html +++ b/documentation/en/howtos33_way=1&expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -410,14 +409,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -430,7 +431,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=1&expand=7.html b/documentation/en/howtos33_way=1&expand=7.html index 03cb9ab..106df2a 100644 --- a/documentation/en/howtos33_way=1&expand=7.html +++ b/documentation/en/howtos33_way=1&expand=7.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -410,14 +409,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -430,7 +431,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=1.html b/documentation/en/howtos33_way=1.html index 236e0de..56e4eee 100644 --- a/documentation/en/howtos33_way=1.html +++ b/documentation/en/howtos33_way=1.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -405,14 +404,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -425,7 +426,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=2&.html b/documentation/en/howtos33_way=2&.html index 49d9d80..5318d8d 100644 --- a/documentation/en/howtos33_way=2&.html +++ b/documentation/en/howtos33_way=2&.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -355,14 +354,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -375,7 +376,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=2&expand=0.html b/documentation/en/howtos33_way=2&expand=0.html index 49d9d80..5318d8d 100644 --- a/documentation/en/howtos33_way=2&expand=0.html +++ b/documentation/en/howtos33_way=2&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -355,14 +354,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -375,7 +376,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=2&expand=1.html b/documentation/en/howtos33_way=2&expand=1.html index b6099f5..09215df 100644 --- a/documentation/en/howtos33_way=2&expand=1.html +++ b/documentation/en/howtos33_way=2&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -360,14 +359,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -380,7 +381,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=2&expand=2.html b/documentation/en/howtos33_way=2&expand=2.html index f42851c..d23d584 100644 --- a/documentation/en/howtos33_way=2&expand=2.html +++ b/documentation/en/howtos33_way=2&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -360,14 +359,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -380,7 +381,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=2&expand=3.html b/documentation/en/howtos33_way=2&expand=3.html index 40a049f..21dfba9 100644 --- a/documentation/en/howtos33_way=2&expand=3.html +++ b/documentation/en/howtos33_way=2&expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -353,14 +352,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -373,7 +374,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=2&expand=4.html b/documentation/en/howtos33_way=2&expand=4.html index 5d7cf19..5eef0eb 100644 --- a/documentation/en/howtos33_way=2&expand=4.html +++ b/documentation/en/howtos33_way=2&expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -353,14 +352,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -373,7 +374,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=2&expand=5.html b/documentation/en/howtos33_way=2&expand=5.html index 14e19f9..82138ca 100644 --- a/documentation/en/howtos33_way=2&expand=5.html +++ b/documentation/en/howtos33_way=2&expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -353,14 +352,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -373,7 +374,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=2&expand=6.html b/documentation/en/howtos33_way=2&expand=6.html index ea5fdb1..1c97696 100644 --- a/documentation/en/howtos33_way=2&expand=6.html +++ b/documentation/en/howtos33_way=2&expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -353,14 +352,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -373,7 +374,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=2.html b/documentation/en/howtos33_way=2.html index 49d9d80..5318d8d 100644 --- a/documentation/en/howtos33_way=2.html +++ b/documentation/en/howtos33_way=2.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -355,14 +354,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -375,7 +376,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&.html b/documentation/en/howtos33_way=3&.html index b201ee5..79b6c37 100644 --- a/documentation/en/howtos33_way=3&.html +++ b/documentation/en/howtos33_way=3&.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -512,14 +511,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -532,7 +533,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=0.html b/documentation/en/howtos33_way=3&expand=0.html index b201ee5..79b6c37 100644 --- a/documentation/en/howtos33_way=3&expand=0.html +++ b/documentation/en/howtos33_way=3&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -512,14 +511,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -532,7 +533,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=1.html b/documentation/en/howtos33_way=3&expand=1.html index 92b36a0..b5a9511 100644 --- a/documentation/en/howtos33_way=3&expand=1.html +++ b/documentation/en/howtos33_way=3&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -530,7 +531,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=10.html b/documentation/en/howtos33_way=3&expand=10.html index 7f8f4ab..3baa440 100644 --- a/documentation/en/howtos33_way=3&expand=10.html +++ b/documentation/en/howtos33_way=3&expand=10.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -530,7 +531,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=11.html b/documentation/en/howtos33_way=3&expand=11.html index 0a6d686..3252d2c 100644 --- a/documentation/en/howtos33_way=3&expand=11.html +++ b/documentation/en/howtos33_way=3&expand=11.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -530,7 +531,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=2.html b/documentation/en/howtos33_way=3&expand=2.html index fc4219e..3087934 100644 --- a/documentation/en/howtos33_way=3&expand=2.html +++ b/documentation/en/howtos33_way=3&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -530,7 +531,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=3.html b/documentation/en/howtos33_way=3&expand=3.html index 87d4f41..811f8e3 100644 --- a/documentation/en/howtos33_way=3&expand=3.html +++ b/documentation/en/howtos33_way=3&expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -530,7 +531,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=4.html b/documentation/en/howtos33_way=3&expand=4.html index 101f18b..6656ef8 100644 --- a/documentation/en/howtos33_way=3&expand=4.html +++ b/documentation/en/howtos33_way=3&expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -530,7 +531,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=5.html b/documentation/en/howtos33_way=3&expand=5.html index a4b65ec..c64e11b 100644 --- a/documentation/en/howtos33_way=3&expand=5.html +++ b/documentation/en/howtos33_way=3&expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -530,7 +531,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=6.html b/documentation/en/howtos33_way=3&expand=6.html index 6157462..be3dedc 100644 --- a/documentation/en/howtos33_way=3&expand=6.html +++ b/documentation/en/howtos33_way=3&expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -517,14 +516,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -537,7 +538,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=7.html b/documentation/en/howtos33_way=3&expand=7.html index 992c8b6..e86e251 100644 --- a/documentation/en/howtos33_way=3&expand=7.html +++ b/documentation/en/howtos33_way=3&expand=7.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -517,14 +516,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -537,7 +538,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=8.html b/documentation/en/howtos33_way=3&expand=8.html index babf13d..b72d7eb 100644 --- a/documentation/en/howtos33_way=3&expand=8.html +++ b/documentation/en/howtos33_way=3&expand=8.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -530,7 +531,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3&expand=9.html b/documentation/en/howtos33_way=3&expand=9.html index c725722..3e07397 100644 --- a/documentation/en/howtos33_way=3&expand=9.html +++ b/documentation/en/howtos33_way=3&expand=9.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -510,14 +509,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -530,7 +531,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos33_way=3.html b/documentation/en/howtos33_way=3.html index b201ee5..79b6c37 100644 --- a/documentation/en/howtos33_way=3.html +++ b/documentation/en/howtos33_way=3.html @@ -1,7 +1,7 @@ - dvdisaster + Creating the medium @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -512,14 +511,16 @@ interoperates well with dvdisaster. + +
News
Overview
@@ -532,7 +533,7 @@ interoperates well with dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos34.html b/documentation/en/howtos34.html index b0290b4..48f1cef 100644 --- a/documentation/en/howtos34.html +++ b/documentation/en/howtos34.html @@ -1,7 +1,7 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -121,14 +120,16 @@ the maximum image size in units of sectors (1 sector = 2KB). + +
News
Overview
@@ -141,7 +142,7 @@ the maximum image size in units of sectors (1 sector = 2KB). - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos34.php b/documentation/en/howtos34.php index 6aa7c98..3adbb95 100644 --- a/documentation/en/howtos34.php +++ b/documentation/en/howtos34.php @@ -1,6 +1,6 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -119,14 +118,16 @@ the maximum image size in units of sectors (1 sector = 2KB). + +
News
Overview
@@ -139,7 +140,7 @@ the maximum image size in units of sectors (1 sector = 2KB). - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos40.html b/documentation/en/howtos40.html index 0a245eb..6fb0853 100644 --- a/documentation/en/howtos40.html +++ b/documentation/en/howtos40.html @@ -1,7 +1,7 @@ - dvdisaster + Recovering media images @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -144,14 +143,16 @@ a defective medium with an appropriate error correction + +
News
Overview
@@ -164,7 +165,7 @@ a defective medium with an appropriate error correction - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos40.php b/documentation/en/howtos40.php index 474f938..87c7f78 100644 --- a/documentation/en/howtos40.php +++ b/documentation/en/howtos40.php @@ -1,6 +1,6 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
To the Internet version @@ -48,7 +48,6 @@

- @@ -184,30 +183,6 @@ recovery they can be
News
Overview

- - - - - - -
-"Files" tab. -If your operating system can not create files larger than 2GB then you -must choose the "Split files " setting (marked green). In that case -dvdisaster will create up to 100 segments called "medium00.iso", -"medium01.iso" etc. instead of a single "medium.iso" file. Using this -option results in a small performance hit. This option is mostly -useful under Windows if the old FAT32 file system is still used. Leave -the other settings off as shown in the screen shot. - - - - - -
"Files" tab.
-

- -

 
Not used tabs

@@ -229,14 +204,16 @@ but these have no further effects on the reading process. + + @@ -249,7 +226,7 @@ but these have no further effects on the reading process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos41.php b/documentation/en/howtos41.php index 2549a05..1a2d672 100644 --- a/documentation/en/howtos41.php +++ b/documentation/en/howtos41.php @@ -1,6 +1,6 @@ - -"Files" tab. -If your operating system can not create files larger than 2GB then you -must choose the "Split files " setting (marked green). In that case -dvdisaster will create up to 100 segments called "medium00.iso", -"medium01.iso" etc. instead of a single "medium.iso" file. Using this -option results in a small performance hit. This option is mostly -useful under Windows if the old FAT32 file system is still used. Leave -the other settings off as shown in the screen shot. - -

 
Not used tabs

diff --git a/documentation/en/howtos41_expand=1.html b/documentation/en/howtos41_expand=1.html index 1978a07..469b013 100644 --- a/documentation/en/howtos41_expand=1.html +++ b/documentation/en/howtos41_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -182,30 +181,6 @@ recovery they can be
News
Overview

- - - - - - -
-"Files" tab. -If your operating system can not create files larger than 2GB then you -must choose the "Split files " setting (marked green). In that case -dvdisaster will create up to 100 segments called "medium00.iso", -"medium01.iso" etc. instead of a single "medium.iso" file. Using this -option results in a small performance hit. This option is mostly -useful under Windows if the old FAT32 file system is still used. Leave -the other settings off as shown in the screen shot. - - - - - -
"Files" tab.
-

- -

 
Not used tabs

@@ -227,14 +202,16 @@ but these have no further effects on the reading process. + + @@ -247,7 +224,7 @@ but these have no further effects on the reading process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos41_expand=2.html b/documentation/en/howtos41_expand=2.html index b81fe10..aa9a0cb 100644 --- a/documentation/en/howtos41_expand=2.html +++ b/documentation/en/howtos41_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -182,30 +181,6 @@ recovery they can be
News
Overview

- - - - - - -
-"Files" tab. -If your operating system can not create files larger than 2GB then you -must choose the "Split files " setting (marked green). In that case -dvdisaster will create up to 100 segments called "medium00.iso", -"medium01.iso" etc. instead of a single "medium.iso" file. Using this -option results in a small performance hit. This option is mostly -useful under Windows if the old FAT32 file system is still used. Leave -the other settings off as shown in the screen shot. - - - - - -
"Files" tab.
-

- -

 
Not used tabs

@@ -227,14 +202,16 @@ but these have no further effects on the reading process. + + @@ -247,7 +224,7 @@ but these have no further effects on the reading process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos41_expand=3.html b/documentation/en/howtos41_expand=3.html index 83c967b..fe58f5e 100644 --- a/documentation/en/howtos41_expand=3.html +++ b/documentation/en/howtos41_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -182,30 +181,6 @@ recovery they can be
News
Overview

- - - - - - -
-"Files" tab. -If your operating system can not create files larger than 2GB then you -must choose the "Split files " setting (marked green). In that case -dvdisaster will create up to 100 segments called "medium00.iso", -"medium01.iso" etc. instead of a single "medium.iso" file. Using this -option results in a small performance hit. This option is mostly -useful under Windows if the old FAT32 file system is still used. Leave -the other settings off as shown in the screen shot. - - - - - -
"Files" tab.
-

- -

 
Not used tabs

@@ -227,14 +202,16 @@ but these have no further effects on the reading process. + + @@ -247,7 +224,7 @@ but these have no further effects on the reading process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos41_expand=4.html b/documentation/en/howtos41_expand=4.html index f50e069..e1170e9 100644 --- a/documentation/en/howtos41_expand=4.html +++ b/documentation/en/howtos41_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Basic settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -182,30 +181,6 @@ recovery they can be
News
Overview

 
- - - - - - -
-"Files" tab. -If your operating system can not create files larger than 2GB then you -must choose the "Split files " setting (marked green). In that case -dvdisaster will create up to 100 segments called "medium00.iso", -"medium01.iso" etc. instead of a single "medium.iso" file. Using this -option results in a small performance hit. This option is mostly -useful under Windows if the old FAT32 file system is still used. Leave -the other settings off as shown in the screen shot. - - - - - -
"Files" tab.
-

- -

 
Not used tabs

@@ -227,14 +202,16 @@ but these have no further effects on the reading process. + + @@ -247,7 +224,7 @@ but these have no further effects on the reading process. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos41_expand=5.html b/documentation/en/howtos41_expand=5.html deleted file mode 100644 index 494ecfa..0000000 --- a/documentation/en/howtos41_expand=5.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - dvdisaster - - - - - - - - - - -
- dvdisaster - Version 0.72 (pl1) - -  To the Internet version - - - -
- - - - - - - -
- -
- - - - - - - - - - - - - - - - - - -
- - - - -
- Contents - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - -
News
Overview
Howtos
·The big picture
·Scanning media for errors
·Putting error correction data on a separate file
·Putting error correction data on the medium
·Recovering media images
-Basic settings
-Recovering the image
-Advanced settings
·Getting information about images and error correction data
·Testing image compatibility
·Dialogs and buttons
Download
Questions and Answers
Bug reporting
-

-
- - - - -
Recovering media images
Basic settings

- - - - - - - - - -
- - -
The following tabs are found in the configuration dialog. -Open the dialog by selecting the symbol marked green in the screen shot -(click the image to expand it). The symbol may look different -due to the symbol theme you are using.
-
- - - - -
Opening the configuration dialog.
-

- - -The settings shown here configure dvdisaster for reading the defective medium. -There are no dedicated settings for reconstructing the image from the error -correction data. -

 
- - - - - - - -
-"Image" tab. First choose the type of error correction data. -Pick the setting "ISO/UDF" (marked green) if you have an error correction file. -Otherwise choose "ECC/RS02" (marked blue) to process a medium which has been -augmented with error correction data.

-The adaptive reading strategy uses information from the error correction data to -make the reading process as efficient as possible. Activate it using the button -marked yellow.

-Leave the remaining settings at the values shown in the screen shot.

-

- - - - -
"Image" tab.
-

- - - - - - - - -
-"Drive" tab. Leave this tab at the shown default settings for the moment. -Some drives might work better using the raw reading mode "21h". See the -advanced settings for more information.

-

- - - - -
"Drive" tab.
-

- - - - - - - - -
-"Reading attempts" tab. The strength of the adaptive reading strategy lies in -finding the still readable sectors and avoiding the lengthy process of trying to read -defective sectors. Therefore select "raw" reading (marked green) as it will not cost additional -processing time, but reduce the number of reading attempts to the minimum values -(marked yellow). Use a moderate termination criterium of 128 unreadable sectors -(marked blue) for the first reading attempt. Do not activate raw sector caching yet. -If it turns out that these settings do not provide enough data for a successful -recovery they can be -optimized later. -

-

- - - - -
"Reading attempts" tab.
-

- - - - - - - -
- -"Files" tab. -If your operating system can not create files larger than 2GB then you -must choose the "Split files " setting (marked green). In that case -dvdisaster will create up to 100 segments called "medium00.iso", -"medium01.iso" etc. instead of a single "medium.iso" file. Using this -option results in a small performance hit. This option is mostly -useful under Windows if the old FAT32 file system is still used. Leave -the other settings off as shown in the screen shot. -
- - - -
Screen shot: "Files" tab.

 
- - -
 
- -Not used tabs

- -The "Error correction" tab has no influence on the reading process. -The "Misc" tab currently has only functions for creating -log files. This is helpful for sending in bug reports -but should be left off during normal operation. -The "Appearance" tab allows you to adapt the output colors to your taste, -but these have no further effects on the reading process. - -

 
- - -Reading the medium and recovering its contents... - - - -
-
Old documentation (V0.70)
-
- - - - - - - - - - - - - -
- - Copyright 2004-2009 Carsten Gnörlich.
- Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. -
-
-
- - diff --git a/documentation/en/howtos42.html b/documentation/en/howtos42.html index 6c53926..e12acf6 100644 --- a/documentation/en/howtos42.html +++ b/documentation/en/howtos42.html @@ -1,7 +1,7 @@ - dvdisaster + Recovering the image @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -329,14 +328,16 @@ created medium. + +
News
Overview
@@ -349,7 +350,7 @@ created medium. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos42.php b/documentation/en/howtos42.php index 643b2aa..b8dfc6d 100644 --- a/documentation/en/howtos42.php +++ b/documentation/en/howtos42.php @@ -1,6 +1,6 @@ - dvdisaster + Recovering the image @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -329,14 +328,16 @@ created medium. + +
News
Overview
@@ -349,7 +350,7 @@ created medium. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos42_expand=1.html b/documentation/en/howtos42_expand=1.html index 22d87c5..f676f19 100644 --- a/documentation/en/howtos42_expand=1.html +++ b/documentation/en/howtos42_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Recovering the image @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -328,14 +327,16 @@ created medium. + +
News
Overview
@@ -348,7 +349,7 @@ created medium. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos42_expand=2.html b/documentation/en/howtos42_expand=2.html index fbda0cb..5f535b8 100644 --- a/documentation/en/howtos42_expand=2.html +++ b/documentation/en/howtos42_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Recovering the image @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -328,14 +327,16 @@ created medium. + +
News
Overview
@@ -348,7 +349,7 @@ created medium. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos42_expand=3.html b/documentation/en/howtos42_expand=3.html index d0a88f9..899c2fd 100644 --- a/documentation/en/howtos42_expand=3.html +++ b/documentation/en/howtos42_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Recovering the image @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -328,14 +327,16 @@ created medium. + +
News
Overview
@@ -348,7 +349,7 @@ created medium. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos42_expand=4.html b/documentation/en/howtos42_expand=4.html index 988b1a7..c4270cf 100644 --- a/documentation/en/howtos42_expand=4.html +++ b/documentation/en/howtos42_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Recovering the image @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -328,14 +327,16 @@ created medium. + +
News
Overview
@@ -348,7 +349,7 @@ created medium. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos43.html b/documentation/en/howtos43.html index fa34aad..3468436 100644 --- a/documentation/en/howtos43.html +++ b/documentation/en/howtos43.html @@ -1,7 +1,7 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -264,14 +263,16 @@ Check again whether some raw files have been created. + +
News
Overview
@@ -284,7 +285,7 @@ Check again whether some raw files have been created. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos43.php b/documentation/en/howtos43.php index a2c7aff..27ed14e 100644 --- a/documentation/en/howtos43.php +++ b/documentation/en/howtos43.php @@ -1,6 +1,6 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -262,14 +261,16 @@ Check again whether some raw files have been created. + +
News
Overview
@@ -282,7 +283,7 @@ Check again whether some raw files have been created. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos43_expand=2.html b/documentation/en/howtos43_expand=2.html index 30d0221..79d17fc 100644 --- a/documentation/en/howtos43_expand=2.html +++ b/documentation/en/howtos43_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -262,14 +261,16 @@ Check again whether some raw files have been created. + +
News
Overview
@@ -282,7 +283,7 @@ Check again whether some raw files have been created. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos43_expand=3.html b/documentation/en/howtos43_expand=3.html index b845654..312ab04 100644 --- a/documentation/en/howtos43_expand=3.html +++ b/documentation/en/howtos43_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -262,14 +261,16 @@ Check again whether some raw files have been created. + +
News
Overview
@@ -282,7 +283,7 @@ Check again whether some raw files have been created. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos43_expand=4.html b/documentation/en/howtos43_expand=4.html index 0a7bb70..1a397b4 100644 --- a/documentation/en/howtos43_expand=4.html +++ b/documentation/en/howtos43_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -262,14 +261,16 @@ Check again whether some raw files have been created. + +
News
Overview
@@ -282,7 +283,7 @@ Check again whether some raw files have been created. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos43_expand=5.html b/documentation/en/howtos43_expand=5.html index e7da7d5..bca88be 100644 --- a/documentation/en/howtos43_expand=5.html +++ b/documentation/en/howtos43_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Advanced settings @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -262,14 +261,16 @@ Check again whether some raw files have been created. + +
News
Overview
@@ -282,7 +283,7 @@ Check again whether some raw files have been created. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos50.html b/documentation/en/howtos50.html index efa8f53..5180f08 100644 --- a/documentation/en/howtos50.html +++ b/documentation/en/howtos50.html @@ -1,7 +1,7 @@ - dvdisaster + Getting information about images and error correction data @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -135,14 +134,16 @@ An image file and optionally the error correction file for it. + +
News
Overview
@@ -155,7 +156,7 @@ An image file and optionally the error correction file for it. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos50.php b/documentation/en/howtos50.php index 257f4fe..1e6ae07 100644 --- a/documentation/en/howtos50.php +++ b/documentation/en/howtos50.php @@ -1,6 +1,6 @@ - dvdisaster + Show information @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -170,14 +169,16 @@ must be fully read. + +
News
Overview
@@ -190,7 +191,7 @@ must be fully read. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos51.php b/documentation/en/howtos51.php index bf40e2a..6b68fb8 100644 --- a/documentation/en/howtos51.php +++ b/documentation/en/howtos51.php @@ -1,6 +1,6 @@ - dvdisaster + Show information @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -170,14 +169,16 @@ must be fully read. + +
News
Overview
@@ -190,7 +191,7 @@ must be fully read. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos51_expand=1.html b/documentation/en/howtos51_expand=1.html index 727cf39..1621a6f 100644 --- a/documentation/en/howtos51_expand=1.html +++ b/documentation/en/howtos51_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Show information @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -169,14 +168,16 @@ must be fully read. + +
News
Overview
@@ -189,7 +190,7 @@ must be fully read. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos52.html b/documentation/en/howtos52.html index a0c0492..0596d9d 100644 --- a/documentation/en/howtos52.html +++ b/documentation/en/howtos52.html @@ -1,7 +1,7 @@ - dvdisaster + Results for error correction files @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -218,14 +217,16 @@ Otherwise the most important error will be explained there. + +
News
Overview
@@ -238,7 +239,7 @@ Otherwise the most important error will be explained there. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos52.php b/documentation/en/howtos52.php index 0254d0a..ad02da8 100644 --- a/documentation/en/howtos52.php +++ b/documentation/en/howtos52.php @@ -1,6 +1,6 @@ - dvdisaster + Results for error correction files @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -218,14 +217,16 @@ Otherwise the most important error will be explained there. + +
News
Overview
@@ -238,7 +239,7 @@ Otherwise the most important error will be explained there. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos52_expand=1.html b/documentation/en/howtos52_expand=1.html index 890b390..9169665 100644 --- a/documentation/en/howtos52_expand=1.html +++ b/documentation/en/howtos52_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Results for error correction files @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -217,14 +216,16 @@ Otherwise the most important error will be explained there. + +
News
Overview
@@ -237,7 +238,7 @@ Otherwise the most important error will be explained there. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos53.html b/documentation/en/howtos53.html index 2f5063d..b09444a 100644 --- a/documentation/en/howtos53.html +++ b/documentation/en/howtos53.html @@ -1,7 +1,7 @@ - dvdisaster + Results für augmented images @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -210,14 +209,16 @@ Otherwise the most important error will be explained there. + +
News
Overview
@@ -230,7 +231,7 @@ Otherwise the most important error will be explained there. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos53.php b/documentation/en/howtos53.php index dff8d24..7696765 100644 --- a/documentation/en/howtos53.php +++ b/documentation/en/howtos53.php @@ -1,6 +1,6 @@ - dvdisaster + Results für augmented images @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -210,14 +209,16 @@ Otherwise the most important error will be explained there. + +
News
Overview
@@ -230,7 +231,7 @@ Otherwise the most important error will be explained there. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos53_expand=1.html b/documentation/en/howtos53_expand=1.html index b4eb39a..78abb85 100644 --- a/documentation/en/howtos53_expand=1.html +++ b/documentation/en/howtos53_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Results für augmented images @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -209,14 +208,16 @@ Otherwise the most important error will be explained there. + +
News
Overview
@@ -229,7 +230,7 @@ Otherwise the most important error will be explained there. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos59.html b/documentation/en/howtos59.html index e6b2c1f..0467ecb 100644 --- a/documentation/en/howtos59.html +++ b/documentation/en/howtos59.html @@ -1,7 +1,7 @@ - dvdisaster + Examples @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -214,14 +213,16 @@ This tells you that the error correction file does not belong to the image. + +
News
Overview
@@ -234,7 +235,7 @@ This tells you that the error correction file does not belong to the image. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos59.php b/documentation/en/howtos59.php index c286b47..79afb9c 100644 --- a/documentation/en/howtos59.php +++ b/documentation/en/howtos59.php @@ -1,6 +1,6 @@ - dvdisaster + Examples @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -212,14 +211,16 @@ This tells you that the error correction file does not belong to the image. + +
News
Overview
@@ -232,7 +233,7 @@ This tells you that the error correction file does not belong to the image. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos59_expand=2.html b/documentation/en/howtos59_expand=2.html index 9eed6ea..670f34e 100644 --- a/documentation/en/howtos59_expand=2.html +++ b/documentation/en/howtos59_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Examples @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -212,14 +211,16 @@ This tells you that the error correction file does not belong to the image. + +
News
Overview
@@ -232,7 +233,7 @@ This tells you that the error correction file does not belong to the image. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos59_expand=3.html b/documentation/en/howtos59_expand=3.html index 8a47f6f..baf5ded 100644 --- a/documentation/en/howtos59_expand=3.html +++ b/documentation/en/howtos59_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Examples @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -212,14 +211,16 @@ This tells you that the error correction file does not belong to the image. + +
News
Overview
@@ -232,7 +233,7 @@ This tells you that the error correction file does not belong to the image. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos59_expand=4.html b/documentation/en/howtos59_expand=4.html index e48e1f1..660e8be 100644 --- a/documentation/en/howtos59_expand=4.html +++ b/documentation/en/howtos59_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Examples @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -212,14 +211,16 @@ This tells you that the error correction file does not belong to the image. + +
News
Overview
@@ -232,7 +233,7 @@ This tells you that the error correction file does not belong to the image. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos59_expand=5.html b/documentation/en/howtos59_expand=5.html index d6df4f7..3389c30 100644 --- a/documentation/en/howtos59_expand=5.html +++ b/documentation/en/howtos59_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Examples @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -212,14 +211,16 @@ This tells you that the error correction file does not belong to the image. + +
News
Overview
@@ -232,7 +233,7 @@ This tells you that the error correction file does not belong to the image. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos60.html b/documentation/en/howtos60.html index 7a8ff89..b667eb8 100644 --- a/documentation/en/howtos60.html +++ b/documentation/en/howtos60.html @@ -1,7 +1,7 @@ - dvdisaster + The big picture @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -251,14 +250,16 @@ persons or situations are purely conincidental. + +
News
Overview
@@ -271,7 +272,7 @@ persons or situations are purely conincidental. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos60.php b/documentation/en/howtos60.php index d27f8b6..925871f 100644 --- a/documentation/en/howtos60.php +++ b/documentation/en/howtos60.php @@ -1,6 +1,6 @@ - dvdisaster + error correction @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -196,14 +195,16 @@ books in coding theory. + +
News
Overview
@@ -216,7 +217,7 @@ books in coding theory. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos61.php b/documentation/en/howtos61.php index b171407..fc45dab 100644 --- a/documentation/en/howtos61.php +++ b/documentation/en/howtos61.php @@ -1,6 +1,6 @@ - dvdisaster + correct usage @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -168,14 +167,16 @@ in the future. + +
News
Overview
@@ -188,7 +189,7 @@ in the future. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos62.php b/documentation/en/howtos62.php index 17c3023..04a036d 100644 --- a/documentation/en/howtos62.php +++ b/documentation/en/howtos62.php @@ -1,6 +1,6 @@ - dvdisaster + incorrect usage @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -190,14 +189,16 @@ additional copies on different types of media. + +
News
Overview
@@ -210,7 +211,7 @@ additional copies on different types of media. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos63.php b/documentation/en/howtos63.php index 426b57a..241644b 100644 --- a/documentation/en/howtos63.php +++ b/documentation/en/howtos63.php @@ -1,6 +1,6 @@ - dvdisaster + Testing image compatibility @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -127,14 +126,16 @@ software does correctly transfer the error correction da + +
News
Overview
@@ -147,7 +148,7 @@ software does correctly transfer the error correction da - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos90.php b/documentation/en/howtos90.php index 0ca6fbb..ede40f8 100644 --- a/documentation/en/howtos90.php +++ b/documentation/en/howtos90.php @@ -1,6 +1,6 @@ - dvdisaster + with error correction files @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  
To the Internet version @@ -48,7 +48,6 @@

- @@ -343,14 +342,16 @@ medium for readability. + +
News
Overview
@@ -363,7 +364,7 @@ medium for readability. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos91.php b/documentation/en/howtos91.php index ed64b17..96c5691 100644 --- a/documentation/en/howtos91.php +++ b/documentation/en/howtos91.php @@ -1,6 +1,6 @@ - dvdisaster + with error correction files @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -343,14 +342,16 @@ medium for readability. + +
News
Overview
@@ -363,7 +364,7 @@ medium for readability. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos91_expand=1.html b/documentation/en/howtos91_expand=1.html index 1a5c056..3427756 100644 --- a/documentation/en/howtos91_expand=1.html +++ b/documentation/en/howtos91_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + with error correction files @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -342,14 +341,16 @@ medium for readability. + +
News
Overview
@@ -362,7 +363,7 @@ medium for readability. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos91_expand=2.html b/documentation/en/howtos91_expand=2.html index fdf95fd..6edd7b6 100644 --- a/documentation/en/howtos91_expand=2.html +++ b/documentation/en/howtos91_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + with error correction files @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -348,14 +347,16 @@ medium for readability. + +
News
Overview
@@ -368,7 +369,7 @@ medium for readability. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos91_expand=3.html b/documentation/en/howtos91_expand=3.html index 651ea2f..3a1fbc0 100644 --- a/documentation/en/howtos91_expand=3.html +++ b/documentation/en/howtos91_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + with error correction files @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -348,14 +347,16 @@ medium for readability. + +
News
Overview
@@ -368,7 +369,7 @@ medium for readability. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos91_expand=4.html b/documentation/en/howtos91_expand=4.html index 46b289a..67f65ff 100644 --- a/documentation/en/howtos91_expand=4.html +++ b/documentation/en/howtos91_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + with error correction files @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -342,14 +341,16 @@ medium for readability. + +
News
Overview
@@ -362,7 +363,7 @@ medium for readability. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos92.html b/documentation/en/howtos92.html index a22b922..f6132b4 100644 --- a/documentation/en/howtos92.html +++ b/documentation/en/howtos92.html @@ -1,7 +1,7 @@ - dvdisaster + when augmenting images with error correction data @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -289,14 +288,16 @@ Perform the test again using a software from a different vendor. + +
News
Overview
@@ -309,7 +310,7 @@ Perform the test again using a software from a different vendor. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos92.php b/documentation/en/howtos92.php index 077bc45..3cba5d9 100644 --- a/documentation/en/howtos92.php +++ b/documentation/en/howtos92.php @@ -1,6 +1,6 @@ - dvdisaster + when augmenting images with error correction data @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -289,14 +288,16 @@ Perform the test again using a software from a different vendor. + +
News
Overview
@@ -309,7 +310,7 @@ Perform the test again using a software from a different vendor. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos92_expand=1.html b/documentation/en/howtos92_expand=1.html index 385fa70..ed6d92f 100644 --- a/documentation/en/howtos92_expand=1.html +++ b/documentation/en/howtos92_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + when augmenting images with error correction data @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -288,14 +287,16 @@ Perform the test again using a software from a different vendor. + +
News
Overview
@@ -308,7 +309,7 @@ Perform the test again using a software from a different vendor. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos92_expand=2.html b/documentation/en/howtos92_expand=2.html index 77e2565..4d496a3 100644 --- a/documentation/en/howtos92_expand=2.html +++ b/documentation/en/howtos92_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + when augmenting images with error correction data @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -294,14 +293,16 @@ Perform the test again using a software from a different vendor. + +
News
Overview
@@ -314,7 +315,7 @@ Perform the test again using a software from a different vendor. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos92_expand=3.html b/documentation/en/howtos92_expand=3.html index 9d0ca0d..3102a29 100644 --- a/documentation/en/howtos92_expand=3.html +++ b/documentation/en/howtos92_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + when augmenting images with error correction data @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -294,14 +293,16 @@ Perform the test again using a software from a different vendor. + +
News
Overview
@@ -314,7 +315,7 @@ Perform the test again using a software from a different vendor. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos92_expand=4.html b/documentation/en/howtos92_expand=4.html index 61fd85d..c1fd726 100644 --- a/documentation/en/howtos92_expand=4.html +++ b/documentation/en/howtos92_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + when augmenting images with error correction data @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -288,14 +287,16 @@ Perform the test again using a software from a different vendor. + +
News
Overview
@@ -308,7 +309,7 @@ Perform the test again using a software from a different vendor. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtos_winfile.php b/documentation/en/howtos_winfile.php index d7e9bd6..e07699a 100644 --- a/documentation/en/howtos_winfile.php +++ b/documentation/en/howtos_winfile.php @@ -1,6 +1,6 @@ diff --git a/documentation/en/howtosa0.html b/documentation/en/howtosa0.html index 98882e7..39cbdd6 100644 --- a/documentation/en/howtosa0.html +++ b/documentation/en/howtosa0.html @@ -1,7 +1,7 @@ - dvdisaster + Dialogs and buttons @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -126,14 +125,16 @@ This section explains commonly used dialogs and buttons: + +
News
Overview
@@ -146,7 +147,7 @@ This section explains commonly used dialogs and buttons: - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtosa0.php b/documentation/en/howtosa0.php index a044249..14d1999 100644 --- a/documentation/en/howtosa0.php +++ b/documentation/en/howtosa0.php @@ -1,6 +1,6 @@ - dvdisaster + Drive selection @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -135,14 +134,16 @@ Unfolded selection using Windows + +
News
Overview
@@ -155,7 +156,7 @@ Unfolded selection using Windows - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtosa1.php b/documentation/en/howtosa1.php index 856a447..e519517 100644 --- a/documentation/en/howtosa1.php +++ b/documentation/en/howtosa1.php @@ -1,6 +1,6 @@ - dvdisaster + Drive selection @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -133,14 +132,16 @@ Unfolded selection using Windows + +
News
Overview
@@ -153,7 +154,7 @@ Unfolded selection using Windows - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtosa2.html b/documentation/en/howtosa2.html index cd59104..85625ae 100644 --- a/documentation/en/howtosa2.html +++ b/documentation/en/howtosa2.html @@ -1,7 +1,7 @@ - dvdisaster + Image file selection @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -181,14 +180,16 @@ please use the yellow part of the selection for tha + +
News
Overview
@@ -201,7 +202,7 @@ please use the yellow part of the selection for tha - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtosa2.php b/documentation/en/howtosa2.php index 32b5b3d..4e487fc 100644 --- a/documentation/en/howtosa2.php +++ b/documentation/en/howtosa2.php @@ -1,6 +1,6 @@ - dvdisaster + Image file selection @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -179,14 +178,16 @@ please use the yellow part of the selection for tha + +
News
Overview
@@ -199,7 +200,7 @@ please use the yellow part of the selection for tha - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtosa2_expand=2.html b/documentation/en/howtosa2_expand=2.html index 3b8779b..22dd095 100644 --- a/documentation/en/howtosa2_expand=2.html +++ b/documentation/en/howtosa2_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Image file selection @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -179,14 +178,16 @@ please use the yellow part of the selection for tha + +
News
Overview
@@ -199,7 +200,7 @@ please use the yellow part of the selection for tha - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtosa3.html b/documentation/en/howtosa3.html index beda15f..0fe3710 100644 --- a/documentation/en/howtosa3.html +++ b/documentation/en/howtosa3.html @@ -1,7 +1,7 @@ - dvdisaster + Error correction file selection @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -177,14 +176,16 @@ please use the yellow part of the selection for tha + +
News
Overview
@@ -197,7 +198,7 @@ please use the yellow part of the selection for tha - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtosa3.php b/documentation/en/howtosa3.php index f7bea79..247b71b 100644 --- a/documentation/en/howtosa3.php +++ b/documentation/en/howtosa3.php @@ -1,6 +1,6 @@ - dvdisaster + Error correction file selection @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -175,14 +174,16 @@ please use the yellow part of the selection for tha + +
News
Overview
@@ -195,7 +196,7 @@ please use the yellow part of the selection for tha - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtosa3_expand=2.html b/documentation/en/howtosa3_expand=2.html index bc1b5c5..24b7661 100644 --- a/documentation/en/howtosa3_expand=2.html +++ b/documentation/en/howtosa3_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Error correction file selection @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -175,14 +174,16 @@ please use the yellow part of the selection for tha + +
News
Overview
@@ -195,7 +196,7 @@ please use the yellow part of the selection for tha - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtosa4.html b/documentation/en/howtosa4.html index c4f0a05..2ebd55f 100644 --- a/documentation/en/howtosa4.html +++ b/documentation/en/howtosa4.html @@ -1,7 +1,7 @@ - dvdisaster + Starting actions @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -166,14 +165,16 @@ is hit while reading a defective sector. + +
News
Overview
@@ -186,7 +187,7 @@ is hit while reading a defective sector. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/howtosa4.php b/documentation/en/howtosa4.php index 2734b20..20b3c88 100644 --- a/documentation/en/howtosa4.php +++ b/documentation/en/howtosa4.php @@ -1,6 +1,6 @@ - dvdisaster + Starting actions @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -164,14 +163,16 @@ is hit while reading a defective sector. + +
News
Overview
@@ -184,7 +185,7 @@ is hit while reading a defective sector. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/imprint.php b/documentation/en/imprint.php index 01ccbf1..31e52f6 100644 --- a/documentation/en/imprint.php +++ b/documentation/en/imprint.php @@ -1,6 +1,6 @@ - dvdisaster + Overview + @@ -11,7 +12,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +49,6 @@

- @@ -115,6 +115,7 @@ Such functions are outside the scope of dvdisaster's internal design and goals.<
News
Overview
+ +
News + @@ -122,29 +123,30 @@ Such functions are outside the scope of dvdisaster's internal design and goals.<

+ 28.02.2010
+ + dvdisaster 0.79.2 released +

+ 07.02.2010
+ + Started new development branch 0.79 +

+ 01.10.2009
+ + Assessment of potential vulnerabilities in the windows version +of the GTK library +

+ 10.08.2009
+ + Project represention on SourceForge may be outdated +

08.08.2009
- dvdisaster 0.72.1 released + dvdisaster 0.72.1 released

04.07.2009
- dvdisaster 0.72 released -

- 14.04.2009
- - Added: dvdisaster 0.72.rc1 for Mac OS X -

- 11.04.2009
- - dvdisaster 0.72.rc1 released -

- 08.03.2009
- - dvdisaster 0.71.28 released -

- 18.01.2009
- - dvdisaster 0.71.27 released + dvdisaster 0.72 released

@@ -152,14 +154,16 @@ Such functions are outside the scope of dvdisaster's internal design and goals.<

@@ -172,7 +176,7 @@ Such functions are outside the scope of dvdisaster's internal design and goals.<
- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/index.php b/documentation/en/index.php index 8873582..9825ee3 100644 --- a/documentation/en/index.php +++ b/documentation/en/index.php @@ -1,6 +1,6 @@ - dvdisaster + Examples of the error correction @@ -11,7 +11,7 @@
dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -139,14 +138,16 @@ your data is probably lost.

+ +

News
Overview
@@ -159,7 +160,7 @@ your data is probably lost.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/index10.php b/documentation/en/index10.php index d6cbe00..65339b3 100644 --- a/documentation/en/index10.php +++ b/documentation/en/index10.php @@ -1,6 +1,6 @@ - dvdisaster + Examples of the error correction @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -137,14 +136,16 @@ your data is probably lost.

+ +

News
Overview
@@ -157,7 +158,7 @@ your data is probably lost.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/index10_expand=2.html b/documentation/en/index10_expand=2.html index 42bc537..2230860 100644 --- a/documentation/en/index10_expand=2.html +++ b/documentation/en/index10_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Examples of the error correction @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -137,14 +136,16 @@ your data is probably lost.

+ +

News
Overview
@@ -157,7 +158,7 @@ your data is probably lost.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/index20.html b/documentation/en/index20.html index 92bf31f..3e3ea54 100644 --- a/documentation/en/index20.html +++ b/documentation/en/index20.html @@ -1,7 +1,7 @@ - dvdisaster + dvdisaster complements quality scans @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -111,14 +110,16 @@ Write the recovered image to a new medium. + +
News
Overview
@@ -131,7 +132,7 @@ Write the recovered image to a new medium. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/index20.php b/documentation/en/index20.php index 4669acd..be29319 100644 --- a/documentation/en/index20.php +++ b/documentation/en/index20.php @@ -1,6 +1,6 @@ - dvdisaster + Pro and con of dvdisaster @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -109,14 +108,16 @@ to learn more about the functioning of dvdisaster. + +
News
Overview
@@ -129,7 +130,7 @@ to learn more about the functioning of dvdisaster. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/index30.php b/documentation/en/index30.php index aa5acae..35acd99 100644 --- a/documentation/en/index30.php +++ b/documentation/en/index30.php @@ -1,6 +1,6 @@ - dvdisaster + News @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,8 +48,8 @@

- + @@ -74,7 +74,126 @@

dvdisaster News

News
·2009
·2008
·2007
- + + + +
dvdisaster 0.72.1 releaseddvdisaster 0.79.2 released28.02.2010
+ + + + +
+ + + + +
+ + +
+ + Mac OS X binaries are available again as the Mac OS X development environment + has been updated for this version. + RS03 codec development progresses, +but is still far from being finished. + +
+

 
+ + + + + +
Started new development branch 0.7907.02.2010
+ + + + +
+ + + + +
+ + +
+ +The first version of the new development branch (0.79.1) has just +been released. This release is meant for testing new functions; +it is not recommended for doing productive work. See the +download page for information on +what has been changed and how you can participate in testing. + +
+
 
+ + + + + +
Assessment of potential vulnerabilities in the windows version +of the GTK library01.10.2009
+ + + + +
+ + + + +
+ + +
+ +The Windows versions of dvdisaster 0.70.x/0.72.x are shipped with an outdated +GTK library containing vulnerabilities in its image processing routines. +To exploit the vulnerability, manipulated images need to be loaded from +an external source. Since dvdisaster does not contain/use such functions, +these vulnerabilities are not considered to be a threat.

+ +It is not recommended to replace GTK in the 0.70.x/0.72.x versions of +dvdisaster as some interfaces have been changed in newer GTK versions. +Replacing GTK will likely cause severe malfunction.

+ +The windows version of dvdisaster 0.73.1 will have updated interfaces +and will be shipped with a current version of GTK.

+ +Many thanks to all users who brought this issue to my attention. + +

+
 
+ + + + + +
Project represention on SourceForge may be outdated10.08.2009
+ + + + +
+ + + + +
+ + +
+ +Due to the recent functionality changes on SourceForge we are unable +to upload the News, Downloads and CVS contents in time. Please refer +to the respective sections on this site (http://dvdisaster.net) instead. + +
+
 
+ + +
dvdisaster 0.72.1 released 08.08.2009
@@ -93,13 +212,15 @@ Pablo Almeida provided a Portuguese translation for the screen text. Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.

+Update: The workaround is not complete. If the problem persists please +try version 0.79.x.

 
- +
dvdisaster 0.72 releaseddvdisaster 0.72 released 04.07.2009
@@ -123,123 +244,19 @@ Some minor bugs from the first release candidate have been removed.

 
- - - - - -
Added: dvdisaster 0.72.rc1 for Mac OS X14.04.2009
- - - - -
- - - - -
- - -
- - The native version for Mac OS X is still a bit rough - around the edges in the user interface: The underlying GTK+ library port is in an early - development stage. But with todays update, dvdisaster is becoming usable on the Mac... - -
-
 
- - - - - -
dvdisaster 0.72.rc1 released11.04.2009
- - - - -
- - - - -
- - -
- - The first release candidate for the stable 0.72 branch is available now. - Among the new features are Blu-Ray media support, raw reading and C2 scans - for CD. - See the download page for more information. - -
-
 
- - - - - -
dvdisaster 0.71.28 released08.03.2009
- - - - -
- - - - -
- - -
- - This version fixes "illegal instruction" crashes on x86 machines - which do not support SSE2. More minor fixes towards the release - candidate. - -
-
 
- - - - - -
dvdisaster 0.71.27 released18.01.2009
- - - - -
- - - - -
- - -
- - The documentation is finally complete. Some crashes and incompatibilities - with uncommon media and drives have been fixed. This version includes - the last major internal overhaul planned for the 0.71.x series, so if - all goes well the next version will be a stable release candidate. - -
-
 
+ + @@ -252,7 +269,7 @@ Some minor bugs from the first release candidate have been removed.

- Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/news.php b/documentation/en/news.php index 8708739..087b23d 100644 --- a/documentation/en/news.php +++ b/documentation/en/news.php @@ -1,6 +1,6 @@ download page for information on +what has been changed and how you can participate in testing. +", 14, "2010-02-07T00:00:00Z", "2010-02-07T00:00:00Z"); + +news_item("01.10.2009", "Assessment of potential vulnerabilities in the windows version +of the GTK library", " +The Windows versions of dvdisaster 0.70.x/0.72.x are shipped with an outdated +GTK library containing vulnerabilities in its image processing routines. +To exploit the vulnerability, manipulated images need to be loaded from +an external source. Since dvdisaster does not contain/use such functions, +these vulnerabilities are not considered to be a threat.

+ +It is not recommended to replace GTK in the 0.70.x/0.72.x versions of +dvdisaster as some interfaces have been changed in newer GTK versions. +Replacing GTK will likely cause severe malfunction.

+ +The windows version of dvdisaster 0.73.1 will have updated interfaces +and will be shipped with a current version of GTK.

+ +Many thanks to all users who brought this issue to my attention. +", 13, "2009-10-01T00:00:00Z", "2009-10-01T00:00:00Z"); + +news_item("10.08.2009", "Project represention on SourceForge may be outdated", " +Due to the recent functionality changes on SourceForge we are unable +to upload the News, Downloads and CVS contents in time. Please refer +to the respective sections on this site (http://dvdisaster.net) instead. +", 12, "2009-08-10T00:00:00Z", "2009-08-10T00:00:00Z"); + news_item("08.08.2009", "dvdisaster 0.72.1 released", " Pablo Almeida provided a Portuguese translation for the screen text. Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.

-"); +Update: The workaround is not complete. If the problem persists please +try version 0.79.x. +", 11, "2009-08-08T00:00:00Z", "2010-02-06T00:00:00Z"); news_item("04.07.2009", "dvdisaster 0.72 released", " This is the first stable version of the 0.72 branch. Igor Gorbounov has completed the russian online documentation. Some minor bugs from the first release candidate have been removed.

-"); +", 10, "2009-07-04T00:00:00Z", "2009-07-04T00:00:00Z"); -news_item("14.04.2009", "Added: dvdisaster 0.72.rc1 for Mac OS X", " - The native version for Mac OS X is still a bit rough - around the edges in the user interface: The underlying GTK+ library port is in an early - development stage. But with todays update, dvdisaster is becoming usable on the Mac... -"); - -news_item("11.04.2009", "dvdisaster 0.72.rc1 released", " - The first release candidate for the stable 0.72 branch is available now. - Among the new features are Blu-Ray media support, raw reading and C2 scans - for CD. - See the download page for more information. -"); - -news_item("08.03.2009", "dvdisaster 0.71.28 released", " - This version fixes \"illegal instruction\" crashes on x86 machines - which do not support SSE2. More minor fixes towards the release - candidate. -"); - -news_item("18.01.2009", "dvdisaster 0.71.27 released", " - The documentation is finally complete. Some crashes and incompatibilities - with uncommon media and drives have been fixed. This version includes - the last major internal overhaul planned for the 0.71.x series, so if - all goes well the next version will be a stable release candidate. -"); +news_finalize(); if($news_flash == 0) end_page(); diff --git a/documentation/en/news2007.html b/documentation/en/news2007.html index 7a2b9bb..6f9ed78 100644 --- a/documentation/en/news2007.html +++ b/documentation/en/news2007.html @@ -1,7 +1,7 @@ - dvdisaster + 2007 @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,8 +48,8 @@

- + @@ -101,14 +101,16 @@ + +
News
·2009
·2008
·2007
@@ -121,7 +123,7 @@ - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/news2007.php b/documentation/en/news2007.php index 882e5ec..195857a 100644 --- a/documentation/en/news2007.php +++ b/documentation/en/news2007.php @@ -1,6 +1,6 @@ - dvdisaster + 2008 @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,8 +48,8 @@

- + @@ -74,7 +74,7 @@

News archive from 2008

News
·2009
·2008
·2007
- +
dvdisaster 0.71.26 releaseddvdisaster 0.71.26 released 30.03.2008
@@ -102,7 +102,7 @@

 
- +
Problem with previous Windows release fixed (0.70.6 / 0.71.25)Problem with previous Windows release fixed (0.70.6 / 0.71.25) 05.03.2008
@@ -155,7 +155,7 @@
 
- +
dvdisaster 0.70.5 / 0.71.24 fix problems with newer Linux versionsdvdisaster 0.70.5 / 0.71.24 fix problems with newer Linux versions 24.02.2008
@@ -183,21 +183,22 @@ Currently, the english documentation is far from being complete. Please bear with us; we'll catch up soon. -
 
+ + @@ -210,7 +211,7 @@ - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/news2008.php b/documentation/en/news2008.php index ec6b063..5e33a76 100644 --- a/documentation/en/news2008.php +++ b/documentation/en/news2008.php @@ -1,6 +1,6 @@ Currently, the english documentation is far from being complete. Please bear with us; we'll catch up soon. - -"); # end of news_item +", 2, "2008-02-24T00:00:00Z", "2008-02-24T00:00:00Z"); if($news_flash == 0) end_page(); diff --git a/documentation/en/news2009.html b/documentation/en/news2009.html new file mode 100644 index 0000000..c682121 --- /dev/null +++ b/documentation/en/news2009.html @@ -0,0 +1,216 @@ + + + + 2009 + + + + + + + + + + +
+ dvdisaster + Version 0.72.1 / 0.79 (devel-2) + +  To the Internet version + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Contents + + + + +

+ + + + + + + + + + + + + + + + +
News
·2009
·2008
·2007
Overview
Howtos
Download
Questions and Answers
Bug reporting
+

+
+

News archive from 2009

+ + + + + +
Added: dvdisaster 0.72.rc1 for Mac OS X14.04.2009
+ + + + +
+ + + + +
+ + +
+ + The native version for Mac OS X is still a bit rough + around the edges in the user interface: The underlying GTK+ library port is in an early + development stage. But with todays update, dvdisaster is becoming usable on the Mac... + +
+
 
+ + + + + +
dvdisaster 0.72.rc1 released11.04.2009
+ + + + +
+ + + + +
+ + +
+ + The first release candidate for the stable 0.72 branch is available now. + Among the new features are Blu-Ray media support, raw reading and C2 scans + for CD. + See the download page for more information. + +
+
 
+ + + + + +
dvdisaster 0.71.28 released08.03.2009
+ + + + +
+ + + + +
+ + +
+ + This version fixes "illegal instruction" crashes on x86 machines + which do not support SSE2. More minor fixes towards the release + candidate. + +
+
 
+ + + + + +
dvdisaster 0.71.27 released18.01.2009
+ + + + +
+ + + + +
+ + +
+ + The documentation is finally complete. Some crashes and incompatibilities + with uncommon media and drives have been fixed. This version includes + the last major internal overhaul planned for the 0.71.x series, so if + all goes well the next version will be a stable release candidate. + +
+
 
+
+ + + + + + + + + + + + + +
+ + Copyright 2004-2010 Carsten Gnörlich.
+ Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. +
+
+
+ + diff --git a/documentation/en/news2009.php b/documentation/en/news2009.php new file mode 100644 index 0000000..a9dcc9a --- /dev/null +++ b/documentation/en/news2009.php @@ -0,0 +1,48 @@ +rough + around the edges in the user interface: The underlying GTK+ library port is in an early + development stage. But with todays update, dvdisaster is becoming usable on the Mac... +", 9, "2009-04-14T00:00:00Z", "2009-04-14T00:00:00Z"); + +news_item("11.04.2009", "dvdisaster 0.72.rc1 released", " + The first release candidate for the stable 0.72 branch is available now. + Among the new features are Blu-Ray media support, raw reading and C2 scans + for CD. + See the download page for more information. +", 8, "2009-04-11T00:00:00Z", "2009-04-11T00:00:00Z"); + +news_item("08.03.2009", "dvdisaster 0.71.28 released", " + This version fixes \"illegal instruction\" crashes on x86 machines + which do not support SSE2. More minor fixes towards the release + candidate. +", 7, "2009-03-08T00:00:00Z", "2009-03-08T00:00:00Z"); + +news_item("18.01.2009", "dvdisaster 0.71.27 released", " + The documentation is finally complete. Some crashes and incompatibilities + with uncommon media and drives have been fixed. This version includes + the last major internal overhaul planned for the 0.71.x series, so if + all goes well the next version will be a stable release candidate. +", 6, "2009-01-18T00:00:00Z", "2009-01-18T00:00:00Z"); + +if($news_flash == 0) + end_page(); +?> diff --git a/documentation/en/placeholder.php b/documentation/en/placeholder.php index 07afe2f..39ac1af 100644 --- a/documentation/en/placeholder.php +++ b/documentation/en/placeholder.php @@ -1,6 +1,6 @@ - dvdisaster + Questions and Answers @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -79,6 +78,8 @@ 1.1 How is "dvdisaster" pronounced?

1.2 What are quality scans and why don't you support more?

1.3 Is dvdisaster compatible with future releases?

+1.4 Augmented images have the error correction data appended at the end of the medium. Isn't that a bad choice?

+1.5 What's the difference between image based and file based data recovery?


@@ -114,22 +115,138 @@ Yes, dvdisaster files are intended for an archival time of many years. When upgrading to a newer version of dvdisaster you can continue using images and error correction data created from previous versions. There is no need to recreate them again. +

+1.4 Augmented images have the error correction data appended at the end of the medium. Isn't that a bad choice?

+No. First a bit of terminology: +If we augment 80 bytes of user data with 20 bytes of error correction +data, we get an "ecc block" comprised of 100 bytes. +Now take the following into consideration about the ecc block: + +

    +
  1. The position of the error correction data within the ecc block +does not matter.

    +The RS decoder does not differentiate between +user data and error correction data. In the view of the RS decoder +our ecc block is a sequence of 100 bytes from which an arbitrary +subset of 20 bytes can be recovered. It can recover +the first 20 bytes, the last 20 bytes, or any +combination from within as long as the remaining 80 bytes +are still intact. +From this it follows that the position of the +ecc data within the ecc block does not matter; whether it is appended +at one end of the user data or is interleaved with it +has no influence on the error correcting capability.

  2. + +
  3. Properly distributing the ecc block offsets influence of bad media spots.

    +Optical media have a higher probability of failing in the outer area; +for technical reasons this is +the only place where the error correction data can be stored. +However this effect is offset +by distributing the ecc block content over the medium. Let's assume that our +medium is filled 80% with user data, leaving the remaining 20% free for +error correction data. Now consider the 100 byte ecc block again. +We need to pick 80 bytes from the user data for it and require 20 +additional byte positions in the error correction data area. +Even under these constraints it is possible to evenly distribute the +100 bytes over the medium, from the +inside to the outside, each having a maximum distance to its neighbors. +Together with point (1), this negates the influence of bad spots on the +medium. Symmetry implies that for each error correction byte +stored in the (bad) outer region there will +be a user data byte located in the (good) inner medium region. +

    +(If you do not already see the point, imagine putting the ecc data into +the inner medium region and the user data in the outer region. Consider +point (1) again to see that nothing changes with respect to the error +correction.) +

  4. +
+

+ + +1.5 What's the difference between image based and file based data recovery?

+ +Optical media are comprised of 2048 byte-wide sectors. Most of those sectors +are used to store file data, but some of them hold so-called "meta data", +e.g. information on directory folders.
+In figure 1.5.1 (below) there is +a directory "Pics" holding three files "forest.jpg", "rock.jpg" and +"protect.par"1). +Note how these files are mapped onto physical sectors +(green/blue squares) on the medium, +and that an additional meta data sector (red square) is needed +for storing the "Pics" directory structure.

+ +

News
Overview

+ +Shortcoming of file based recovery on optical media.
+Now let's assume that we are working with file based error correction. +The file "protect.par" holds error correction information which can be used +to recover unreadable sectors within the files "forest.jpg" and "rock.jpg". +This will only work as long as we need to recover sectors which are part +of a file. But if meta data sectors become unreadable, the +file based protection will collapse. Consider figure 1.5.2. When the +red directory sector becomes unreadable, not only the directory "Pics" +but also all files under "Pics" become inaccessible. +This is due to the logical structure of the ISO/UDF file system, +as there is no way to tell how the green and blue sectors relate +to files anymore when the directory is lost. So we have +a complete data loss although all sectors comprising the files +are still physically readable.

+ +

+ +

Please note that moving "protect.par" to a separate medium does not +rectify the problem - the directory block is still not recoverable as +it is not protected by the error correction data in "protect.par".

+ +Advantages of image level recovery on optical media.
+ +dvdisaster applies an image level approach to error recovery. +The medium is read and processed as an ISO image. + The ISO image contains a sequence of all sectors found on +the medium, including those which are meta data for the file system. +Since the dvdisaster error correction data protects all sectors in the +ISO image, file contents as well as meta data sectors (e.g. directories) +can be restored. See fig. 1.5.3 for the different range of protection. + +

+ +In addition, neither reading the damaged ISO image nor applying the +error correction requires any information from the file system +contained on the medium. As long as the +drive is still able to recognize the medium, dvdisaster will be able +to recover the still readable sectors from it. Therefore +there are no "single sectors of failure" as in the file based approach. + + + +
+1) +No offense intended against the PAR/PAR2 project. +Carsten is just confident that file based protection does not work +on optical media :-) + + +

+ + @@ -142,7 +259,7 @@ There is no need to recreate them again. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/qa.php b/documentation/en/qa.php index d0e3706..8ddd7b1 100644 --- a/documentation/en/qa.php +++ b/documentation/en/qa.php @@ -1,6 +1,6 @@ 1.1 How is "dvdisaster" pronounced?

1.2 What are quality scans and why don't you support more?

1.3 Is dvdisaster compatible with future releases?

+1.4 Augmented images have the error correction data appended at the end of the medium. Isn't that a bad choice?

+1.5 What's the difference between image based and file based data recovery?


@@ -54,8 +56,122 @@ Yes, dvdisaster files are intended for an archival time of many years. When upgrading to a newer version of dvdisaster you can continue using images and error correction data created from previous versions. There is no need to recreate them again. +

+1.4 Augmented images have the error correction data appended at the end of the medium. Isn't that a bad choice?

+No. First a bit of terminology: +If we augment 80 bytes of user data with 20 bytes of error correction +data, we get an "ecc block" comprised of 100 bytes. +Now take the following into consideration about the ecc block: + +

    +
  1. The position of the error correction data within the ecc block +does not matter.

    +The RS decoder does not differentiate between +user data and error correction data. In the view of the RS decoder +our ecc block is a sequence of 100 bytes from which an arbitrary +subset of 20 bytes can be recovered. It can recover +the first 20 bytes, the last 20 bytes, or any +combination from within as long as the remaining 80 bytes +are still intact. +From this it follows that the position of the +ecc data within the ecc block does not matter; whether it is appended +at one end of the user data or is interleaved with it +has no influence on the error correcting capability.

  2. + +
  3. Properly distributing the ecc block offsets influence of bad media spots.

    +Optical media have a higher probability of failing in the outer area; +for technical reasons this is +the only place where the error correction data can be stored. +However this effect is offset +by distributing the ecc block content over the medium. Let's assume that our +medium is filled 80% with user data, leaving the remaining 20% free for +error correction data. Now consider the 100 byte ecc block again. +We need to pick 80 bytes from the user data for it and require 20 +additional byte positions in the error correction data area. +Even under these constraints it is possible to evenly distribute the +100 bytes over the medium, from the +inside to the outside, each having a maximum distance to its neighbors. +Together with point (1), this negates the influence of bad spots on the +medium. Symmetry implies that for each error correction byte +stored in the (bad) outer region there will +be a user data byte located in the (good) inner medium region. +

    +(If you do not already see the point, imagine putting the ecc data into +the inner medium region and the user data in the outer region. Consider +point (1) again to see that nothing changes with respect to the error +correction.) +

  4. +
+

+ + +1.5 What's the difference between image based and file based data recovery?

+ +Optical media are comprised of 2048 byte-wide sectors. Most of those sectors +are used to store file data, but some of them hold so-called "meta data", +e.g. information on directory folders.
+In figure 1.5.1 (below) there is +a directory "Pics" holding three files "forest.jpg", "rock.jpg" and +"protect.par"1). +Note how these files are mapped onto physical sectors +(green/blue squares) on the medium, +and that an additional meta data sector (red square) is needed +for storing the "Pics" directory structure.

+ +

+ +Shortcoming of file based recovery on optical media.
+Now let's assume that we are working with file based error correction. +The file "protect.par" holds error correction information which can be used +to recover unreadable sectors within the files "forest.jpg" and "rock.jpg". +This will only work as long as we need to recover sectors which are part +of a file. But if meta data sectors become unreadable, the +file based protection will collapse. Consider figure 1.5.2. When the +red directory sector becomes unreadable, not only the directory "Pics" +but also all files under "Pics" become inaccessible. +This is due to the logical structure of the ISO/UDF file system, +as there is no way to tell how the green and blue sectors relate +to files anymore when the directory is lost. So we have +a complete data loss although all sectors comprising the files +are still physically readable.

+ +

+ +

Please note that moving "protect.par" to a separate medium does not +rectify the problem - the directory block is still not recoverable as +it is not protected by the error correction data in "protect.par".

+ +Advantages of image level recovery on optical media.
+ +dvdisaster applies an image level approach to error recovery. +The medium is read and processed as an ISO image. + The ISO image contains a sequence of all sectors found on +the medium, including those which are meta data for the file system. +Since the dvdisaster error correction data protects all sectors in the +ISO image, file contents as well as meta data sectors (e.g. directories) +can be restored. See fig. 1.5.3 for the different range of protection. + +

+ +In addition, neither reading the damaged ISO image nor applying the +error correction requires any information from the file system +contained on the medium. As long as the +drive is still able to recognize the medium, dvdisaster will be able +to recover the still readable sectors from it. Therefore +there are no "single sectors of failure" as in the file based approach. + + + +
+1) +No offense intended against the PAR/PAR2 project. +Carsten is just confident that file based protection does not work +on optical media :-) + + +

diff --git a/documentation/en/qa10.html b/documentation/en/qa10.html index a49c601..f9275a1 100644 --- a/documentation/en/qa10.html +++ b/documentation/en/qa10.html @@ -1,7 +1,7 @@ - dvdisaster + Technical Questions @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -79,7 +78,6 @@ 2.1 Which translations of the program are available?

2.2 Which media types are supported?

2.3 Which file systems are supported?

-2.4 What does "SPTI" and "ASPI" mean?


@@ -180,64 +178,21 @@ it can not repair logical errors at the file system level. It can not recover lost or deleted files.

- -2.4 What does "SPTI" and "ASPI" mean?

- -Windows 98 and ME use drivers called "ASPI" to access CD/DVD drives. -Windows NT and its successors provide similar functionality -through an interface named "SPTI", but do still allow the installation -of additional ASPI drivers.

- ->  Pro and Con of installing ASPI under Windows NT/2000/XP:

- -

News
Overview
- - - -
+No administrator priviledges needed for accessing the drives.
-ASPI does not map well onto the Windows drive letters.
-Some CD/DVD writing programs install -their own ASPI drivers. Installing another ASPI driver may interfere -with the existing software.

- ->  Which ASPI versions are recommended for use with dvdisaster?

- -Adaptec provides their ASPI drivers free of charge for download. -Sometimes versions 4.72.* have difficulties recognizing drives under -Windows 2000/XP. Downgrading to version 4.60 usually helps in such -cases.

- ->  Drive letters are wrong under ASPI!

- -ASPI drivers use their own system of identifying drives, which does -not support the drive letter scheme of Windows.
-In order to provide a unified access to SPTI and ASPI, -dvdisaster tries to guess the mapping of ASPI drives to drive letters. -However this does not work under all configurations.

- -The --list function prints out -the current mapping of drive letters.

- ->  How to select between SPTI and ASPI?

- -dvdisaster will automatically choose between SPTI and ASPI, -deciding in favor of SPTI if both are available. -Usage of ASPI can be forced; see the description of the ---list function for details. - -

- + + @@ -250,7 +205,7 @@ Usage of ASPI can be forced; see the description of the - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/qa10.php b/documentation/en/qa10.php index f5574f1..734a9ee 100644 --- a/documentation/en/qa10.php +++ b/documentation/en/qa10.php @@ -1,6 +1,6 @@ 2.1 Which translations of the program are available?

2.2 Which media types are supported?

2.3 Which file systems are supported?

-2.4 What does "SPTI" and "ASPI" mean?


@@ -120,51 +119,6 @@ it can not repair logical errors at the file system level. It can not recover lost or deleted files.

- -2.4 What does "SPTI" and "ASPI" mean?

- -Windows 98 and ME use drivers called "ASPI" to access CD/DVD drives. -Windows NT and its successors provide similar functionality -through an interface named "SPTI", but do still allow the installation -of additional ASPI drivers.

- ->  Pro and Con of installing ASPI under Windows NT/2000/XP:

- - - - - -
+No administrator priviledges needed for accessing the drives.
-ASPI does not map well onto the Windows drive letters.
-Some CD/DVD writing programs install -their own ASPI drivers. Installing another ASPI driver may interfere -with the existing software.

- ->  Which ASPI versions are recommended for use with dvdisaster?

- -Adaptec provides their ASPI drivers free of charge for download. -Sometimes versions 4.72.* have difficulties recognizing drives under -Windows 2000/XP. Downgrading to version 4.60 usually helps in such -cases.

- ->  Drive letters are wrong under ASPI!

- -ASPI drivers use their own system of identifying drives, which does -not support the drive letter scheme of Windows.
-In order to provide a unified access to SPTI and ASPI, -dvdisaster tries to guess the mapping of ASPI drives to drive letters. -However this does not work under all configurations.

- -The --list function prints out -the current mapping of drive letters.

- ->  How to select between SPTI and ASPI?

- -dvdisaster will automatically choose between SPTI and ASPI, -deciding in favor of SPTI if both are available. -Usage of ASPI can be forced; see the description of the ---list function for details. - -

- - dvdisaster + Error messages @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -228,14 +227,16 @@ CVS versions only together with dvdisaster 0.66 or newer versions. + +
News
Overview
@@ -248,7 +249,7 @@ CVS versions only together with dvdisaster 0.66 or newer versions. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/en/qa20.php b/documentation/en/qa20.php index 4d2d5da..e881a8b 100644 --- a/documentation/en/qa20.php +++ b/documentation/en/qa20.php @@ -1,6 +1,6 @@ - dvdisaster + Questions and Answers @@ -11,7 +11,7 @@ dvdisaster - Version 0.72 (pl1) + Version 0.72.1 / 0.79 (devel-2)  To the Internet version @@ -48,7 +48,6 @@

- @@ -79,6 +78,8 @@ 1.1 How is "dvdisaster" pronounced?

1.2 What are quality scans and why don't you support more?

1.3 Is dvdisaster compatible with future releases?

+1.4 Augmented images have the error correction data appended at the end of the medium. Isn't that a bad choice?

+1.5 What's the difference between image based and file based data recovery?


@@ -114,22 +115,138 @@ Yes, dvdisaster files are intended for an archival time of many years. When upgrading to a newer version of dvdisaster you can continue using images and error correction data created from previous versions. There is no need to recreate them again. +

+1.4 Augmented images have the error correction data appended at the end of the medium. Isn't that a bad choice?

+No. First a bit of terminology: +If we augment 80 bytes of user data with 20 bytes of error correction +data, we get an "ecc block" comprised of 100 bytes. +Now take the following into consideration about the ecc block: + +

    +
  1. The position of the error correction data within the ecc block +does not matter.

    +The RS decoder does not differentiate between +user data and error correction data. In the view of the RS decoder +our ecc block is a sequence of 100 bytes from which an arbitrary +subset of 20 bytes can be recovered. It can recover +the first 20 bytes, the last 20 bytes, or any +combination from within as long as the remaining 80 bytes +are still intact. +From this it follows that the position of the +ecc data within the ecc block does not matter; whether it is appended +at one end of the user data or is interleaved with it +has no influence on the error correcting capability.

  2. + +
  3. Properly distributing the ecc block offsets influence of bad media spots.

    +Optical media have a higher probability of failing in the outer area; +for technical reasons this is +the only place where the error correction data can be stored. +However this effect is offset +by distributing the ecc block content over the medium. Let's assume that our +medium is filled 80% with user data, leaving the remaining 20% free for +error correction data. Now consider the 100 byte ecc block again. +We need to pick 80 bytes from the user data for it and require 20 +additional byte positions in the error correction data area. +Even under these constraints it is possible to evenly distribute the +100 bytes over the medium, from the +inside to the outside, each having a maximum distance to its neighbors. +Together with point (1), this negates the influence of bad spots on the +medium. Symmetry implies that for each error correction byte +stored in the (bad) outer region there will +be a user data byte located in the (good) inner medium region. +

    +(If you do not already see the point, imagine putting the ecc data into +the inner medium region and the user data in the outer region. Consider +point (1) again to see that nothing changes with respect to the error +correction.) +

  4. +
+

+ + +1.5 What's the difference between image based and file based data recovery?

+ +Optical media are comprised of 2048 byte-wide sectors. Most of those sectors +are used to store file data, but some of them hold so-called "meta data", +e.g. information on directory folders.
+In figure 1.5.1 (below) there is +a directory "Pics" holding three files "forest.jpg", "rock.jpg" and +"protect.par"1). +Note how these files are mapped onto physical sectors +(green/blue squares) on the medium, +and that an additional meta data sector (red square) is needed +for storing the "Pics" directory structure.

+ +

News
Overview

+ +Shortcoming of file based recovery on optical media.
+Now let's assume that we are working with file based error correction. +The file "protect.par" holds error correction information which can be used +to recover unreadable sectors within the files "forest.jpg" and "rock.jpg". +This will only work as long as we need to recover sectors which are part +of a file. But if meta data sectors become unreadable, the +file based protection will collapse. Consider figure 1.5.2. When the +red directory sector becomes unreadable, not only the directory "Pics" +but also all files under "Pics" become inaccessible. +This is due to the logical structure of the ISO/UDF file system, +as there is no way to tell how the green and blue sectors relate +to files anymore when the directory is lost. So we have +a complete data loss although all sectors comprising the files +are still physically readable.

+ +

+ +

Please note that moving "protect.par" to a separate medium does not +rectify the problem - the directory block is still not recoverable as +it is not protected by the error correction data in "protect.par".

+ +Advantages of image level recovery on optical media.
+ +dvdisaster applies an image level approach to error recovery. +The medium is read and processed as an ISO image. + The ISO image contains a sequence of all sectors found on +the medium, including those which are meta data for the file system. +Since the dvdisaster error correction data protects all sectors in the +ISO image, file contents as well as meta data sectors (e.g. directories) +can be restored. See fig. 1.5.3 for the different range of protection. + +

+ +In addition, neither reading the damaged ISO image nor applying the +error correction requires any information from the file system +contained on the medium. As long as the +drive is still able to recognize the medium, dvdisaster will be able +to recover the still readable sectors from it. Therefore +there are no "single sectors of failure" as in the file based approach. + + + +
+1) +No offense intended against the PAR/PAR2 project. +Carsten is just confident that file based protection does not work +on optical media :-) + + +

+ + @@ -142,7 +259,7 @@ There is no need to recreate them again. - Copyright 2004-2009 Carsten Gnörlich.
+ Copyright 2004-2010 Carsten Gnörlich.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
diff --git a/documentation/images-common.pngpack b/documentation/images-common.pngpack index fd397ce..a8bd77c 100644 Binary files a/documentation/images-common.pngpack and b/documentation/images-common.pngpack differ diff --git a/documentation/images-de.pngpack b/documentation/images-de.pngpack index e641ecc..6a2b46b 100644 Binary files a/documentation/images-de.pngpack and b/documentation/images-de.pngpack differ diff --git a/documentation/images-en.pngpack b/documentation/images-en.pngpack index c223ea0..6d5c166 100644 Binary files a/documentation/images-en.pngpack and b/documentation/images-en.pngpack differ diff --git a/documentation/include/dict_de.php b/documentation/include/dict_de.php index 962966b..6fd994c 100644 --- a/documentation/include/dict_de.php +++ b/documentation/include/dict_de.php @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/documentation/include/dict_en.php b/documentation/include/dict_en.php index 006a7c1..555c220 100644 --- a/documentation/include/dict_en.php +++ b/documentation/include/dict_en.php @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/documentation/include/dict_ru.php b/documentation/include/dict_ru.php index 3ccbfe3..381e433 100644 --- a/documentation/include/dict_ru.php +++ b/documentation/include/dict_ru.php @@ -1,6 +1,6 @@ diff --git a/documentation/include/dvdisaster.css b/documentation/include/dvdisaster.css index b031684..42d57ee 100644 Binary files a/documentation/include/dvdisaster.css and b/documentation/include/dvdisaster.css differ diff --git a/documentation/include/dvdisaster.php b/documentation/include/dvdisaster.php index a70647c..748b8f4 100644 --- a/documentation/include/dvdisaster.php +++ b/documentation/include/dvdisaster.php @@ -1,13 +1,15 @@ \n"; +{ global $toc_title_mode; + global $toc_title_content; + global $script_name; + global $script_lang; + global $create_feed; + global $trans_atom_title; + + echo "\n"; echo "\n"; echo " \n"; - echo " dvdisaster\n"; + $toc_title_mode = 1; + $toc_title_content = "dvdisaster"; + require("toc.php"); + echo " $toc_title_content\n"; + $toc_title_mode = 0; echo " \n"; + if(!strcmp($script_name, "index")) + { echo "\n"; + $create_feed=1; + } echo "\n"; echo "\n"; @@ -60,6 +105,8 @@ function lang_link($lang_name, $lang, $spacing) function begin_page() { global $cooked_version; + global $have_experimental; + global $stable_version; global $trans_to_hoster; global $trans_to_internet; global $trans_version; @@ -78,8 +125,10 @@ function begin_page() echo " \n"; echo " \n"; echo " dvdisaster\n"; - echo " $trans_version $cooked_version\n"; - + if(!strcmp($have_experimental, "no")) + echo " $trans_version $cooked_version\n"; + else + echo " $trans_version $stable_version / $cooked_version\n"; if(!strcmp($mode, "local")) { echo " \n"; echo " \n"; @@ -161,6 +210,27 @@ function subsubsection($subsubsection_name) $toc_mode = "subsubsection"; } +function toc_title($msg, $lang) +{ global $script_lang; + global $script_name; + global $toc_mode; + global $toc_section; + global $toc_subsection; + global $toc_subsubsection; + global $toc_title_content; + + if(strcmp($lang, $script_lang)) return; # wrong locale + + if(!strcmp($toc_mode, "section") && !strcmp($toc_section, $script_name)) + $toc_title_content = $msg; + + if(!strcmp($toc_mode, "subsection") && !strcmp($toc_subsection, $script_name)) + $toc_title_content = $msg; + + if(!strcmp($toc_mode, "subsubsection") && !strcmp($toc_subsubsection, $script_name)) + $toc_title_content = $msg; +} + function toc_link($msg, $lang) { static $separator=0; global $script_lang; @@ -172,7 +242,7 @@ function toc_link($msg, $lang) if(strcmp($lang, $script_lang)) return; # wrong locale - # Decide whether this is the currently unfolded (sub)section + # Decide whether this is the currently unfolded section # and render it accordingly if(!strcmp($toc_mode, "section")) @@ -211,37 +281,93 @@ function toc_link($msg, $lang) } -function de($msg) {toc_link($msg, "de"); }; -function en($msg) {toc_link($msg, "en"); }; -function ru($msg) {toc_link($msg, "ru"); }; - # # Helper functions for creating the news pages and -flash # function news_headline($headline) { global $news_flash; + global $atom_handle; + global $create_feed; + global $script_lang; + global $doc_dir; + global $trans_atom_title; if(!$news_flash) echo "

$headline

\n"; + + if($create_feed != 1) return; + + # Prodoce atom feed xml file + + $atom_name="atom.xml"; + $atom_handle=fopen("$doc_dir/$script_lang/feed/$atom_name","w"); + + fwrite($atom_handle, "\n"); + fwrite($atom_handle, "\n"); + fwrite($atom_handle, "tag:dvdisaster.net,2009-10-02:/$script_lang/feeds/$atom_name\n"); + fwrite($atom_handle, "$trans_atom_title\n"); + $updated=date(DATE_ATOM); + fwrite($atom_handle, "$updated\n"); + fwrite($atom_handle, "\n"); + fwrite($atom_handle, "\n"); + fwrite($atom_handle, " Carsten Gnörlich\n"); + fwrite($atom_handle, " http://www.dvdisaster.org\n"); + fwrite($atom_handle, "\n"); } -function news_item($date, $headline, $body) +function news_finalize() +{ global $atom_handle; + global $create_feed; + + if($create_feed != 1) + return; + + fwrite($atom_handle, "\n"); + fclose($atom_handle); +} + +function news_item($date, $headline, $body, $atom_tag, $atom_created, $atom_updated) { global $news_flash; global $news_counter; + global $max_news_flash_items; + global $atom_handle; + global $create_feed; + global $script_lang; $news_counter++; + if($create_feed == 1) + { $stripped=strtr(strip_tags($body),"\n"," "); + $summary=substr($stripped, 0, 240); + $cutpos=240-strlen(strrchr($summary, " ")); + $summary=substr($stripped, 0, $cutpos)." [...]"; + + fwrite($atom_handle,"\n"); + fwrite($atom_handle,"$headline\n"); + fwrite($atom_handle,"\n"); + $created=substr($atom_created,0,10); + fwrite($atom_handle,"tag:dvdisaster.net,$created:/$script_lang/news.html/$atom_tag\n"); + fwrite($atom_handle,"$atom_created\n"); + fwrite($atom_handle,"$atom_updated\n"); + fwrite($atom_handle,"\n"); + fwrite($atom_handle,"$summary\n"); + fwrite($atom_handle,"\n"); + } + if($news_flash) - { echo " $date
\n"; + { if($news_counter > $max_news_flash_items) + return; + + echo " $date
\n"; echo " \n"; - echo " $headline\n"; + echo " $headline\n"; echo "

\n"; } else { echo " \n"; echo " \n"; - echo " \n"; + echo " \n"; echo " \n"; echo " \n"; echo "
${headline}${headline}$date
\n"; @@ -329,8 +455,8 @@ function end_page() global $trans_hosting; global $modified_source; global $news_flash; - global $script_lang; /* for old version link */ - global $trans_old_version; + global $news_counter; + global $script_lang; # Close the body table @@ -348,6 +474,7 @@ function end_page()
$trans_news\n"; + echo " \n"; ?> @@ -381,6 +508,8 @@ function end_page() ?> + +
- dvdisaster + Скачать @@ -11,7 +11,7 @@
dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -96,18 +97,17 @@ dvdisaster имеется для последних в запустите загруженную программу на выполнение и действуйте в соответствии с диалогом. - +0.79 (devel-2). +

-

 
Стабильная версия - рекомендуется для начала.

+

Новости
Обзор
·Системные требования
·Цифровая подпись
·Установка
·Альфа (нестабильные) версии
·Аdditional resources
Вопросы и ответы
@@ -115,17 +115,19 @@ dvdisaster имеется для последних в @@ -149,6 +151,9 @@ dvdisaster имеется для последних в 0.72 pl1 Pablo Almeida provided Portuguese translations of the screen texts. Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2009)

+Update: The workaround has been found to be ineffective in some cases. A +better workaround is included in version 0.79.x; +unfortunately it can not be easily backported into the stable version. (06-Feb-2010)

0.72 Это первая стабильная версия ветки 0.72. Игорь Горбунов завершил перевод онлайн-документации на русский язык. @@ -161,6 +166,12 @@ Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2 0.72-rc1 Первый кандидат на выпуск. (11 апреля 2009)

dvdisaster-0.724 июля 2009
- + - + - + - + - + - + + +
  Исходные тексты для всех операционных систем: dvdisaster-0.72.1.tar.bz2
dvdisaster-0.72.1.tar.bz2
Цифровая подпись: dvdisaster-0.72.1.tar.bz2.gpg
dvdisaster-0.72.1.tar.bz2.gpg
Двоичная версия для Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- сначала прочитайте эти советы
dvdisaster-0.72.1.app.zip -- сначала прочитайте эти советы
Цифровая подпись: dvdisaster-0.72.1.app.zip.gpg
dvdisaster-0.72.1.app.zip.gpg
Двоичная версия для Windows: dvdisaster-0.72.1-setup.exe
dvdisaster-0.72.1-setup.exe
Цифровая подпись: dvdisaster-0.72.1-setup.exe.gpg
dvdisaster-0.72.1-setup.exe.gpg
Show older releases in the 0.72 version branch

+If the links above fail to download +please try getting dvdisaster via +SourceForge. + +

 
+ Предыдущая версия - рекомендуется обновить до версии 0.72.

@@ -169,13 +180,13 @@ Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2 @@ -238,14 +249,16 @@ Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2 + +
- + - + - + - +
  Исходный текст для всех операционных систем: dvdisaster-0.70.6.tar.bz2
dvdisaster-0.70.6.tar.bz2
Цифровая подпись: dvdisaster-0.70.6.tar.bz2.gpg
dvdisaster-0.70.6.tar.bz2.gpg
Двоичный пакет для Windows: dvdisaster-0.70.6-setup.exe
dvdisaster-0.70.6-setup.exe
Цифровая подпись: dvdisaster-0.70.6-setup.exe.gpg
dvdisaster-0.70.6-setup.exe.gpg
diff --git a/documentation/ru/download.php b/documentation/ru/download.php index aa91a5a..a048000 100644 --- a/documentation/ru/download.php +++ b/documentation/ru/download.php @@ -1,6 +1,6 @@ @@ -36,18 +37,23 @@ dvdisaster имеется для последних в запустите загруженную программу на выполнение и действуйте в соответствии с диалогом. - +

-

 
+ Стабильная версия - рекомендуется для начала.

+ @@ -55,17 +61,42 @@ dvdisaster имеется для последних в @@ -89,6 +120,9 @@ dvdisaster имеется для последних в 0.72 pl1 Pablo Almeida provided Portuguese translations of the screen texts. Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2009)

+Update: The workaround has been found to be ineffective in some cases. A +better workaround is included in version 0.79.x; +unfortunately it can not be easily backported into the stable version. (06-Feb-2010)

0.72 Это первая стабильная версия ветки 0.72. Игорь Горбунов завершил перевод онлайн-документации на русский язык. @@ -101,6 +135,12 @@ Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2 0.72-rc1 Первый кандидат на выпуск. (11 апреля 2009)

dvdisaster-0.724 июля 2009
- + - + - + - + - + - + + + + + + + + + + + + + + + + + + +
  Исходные тексты для всех операционных систем: dvdisaster-0.72.1.tar.bz2
dvdisaster-0.72.1.tar.bz2
Цифровая подпись: dvdisaster-0.72.1.tar.bz2.gpg
dvdisaster-0.72.1.tar.bz2.gpg
Двоичная версия для Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- сначала прочитайте эти советы
dvdisaster-0.72.1.app.zip -- сначала прочитайте эти советы
Цифровая подпись: dvdisaster-0.72.1.app.zip.gpg
dvdisaster-0.72.1.app.zip.gpg
Двоичная версия для Windows: dvdisaster-0.72.1-setup.exe
dvdisaster-0.72.1-setup.exe
Цифровая подпись: dvdisaster-0.72.1-setup.exe.gpg
dvdisaster-0.72.1-setup.exe.gpg
Show older releases in the 0.72 version branch
Hide older releases in the 0.72 version branch
  Исходные тексты для всех операционных систем: dvdisaster-0.72.tar.bz2
Цифровая подпись: dvdisaster-0.72.tar.bz2.gpg
Двоичная версия для Mac OS X 10.5 / x86: dvdisaster-0.72.app.zip -- сначала прочитайте эти советы
Цифровая подпись: dvdisaster-0.72.app.zip.gpg
Двоичная версия для Windows: dvdisaster-0.72-setup.exe
Цифровая подпись: dvdisaster-0.72-setup.exe.gpg

+If the links above fail to download +please try getting dvdisaster via +SourceForge. + +

 
+ Предыдущая версия - рекомендуется обновить до версии 0.72.

@@ -109,13 +149,13 @@ Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2 diff --git a/documentation/ru/download10.html b/documentation/ru/download10.html index 9774445..1c4c2cd 100644 --- a/documentation/ru/download10.html +++ b/documentation/ru/download10.html @@ -1,7 +1,7 @@ - dvdisaster + Системные требования @@ -11,7 +11,7 @@
- + - + - + - +
  Исходный текст для всех операционных систем: dvdisaster-0.70.6.tar.bz2
dvdisaster-0.70.6.tar.bz2
Цифровая подпись: dvdisaster-0.70.6.tar.bz2.gpg
dvdisaster-0.70.6.tar.bz2.gpg
Двоичный пакет для Windows: dvdisaster-0.70.6-setup.exe
dvdisaster-0.70.6-setup.exe
Цифровая подпись: dvdisaster-0.70.6-setup.exe.gpg
dvdisaster-0.70.6-setup.exe.gpg
dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -103,14 +104,16 @@ + +
Новости
Обзор
·Системные требования
·Цифровая подпись
·Установка
·Альфа (нестабильные) версии
·Аdditional resources
Вопросы и ответы
diff --git a/documentation/ru/download10.php b/documentation/ru/download10.php index 9b508fc..ecbc578 100644 --- a/documentation/ru/download10.php +++ b/documentation/ru/download10.php @@ -1,6 +1,6 @@ - dvdisaster + Цифровая подпись @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -101,14 +102,16 @@ sub 1024g/091AD320 2003-08-22 + +
Новости
Обзор
·Системные требования
·Цифровая подпись
·Установка
·Альфа (нестабильные) версии
·Аdditional resources
Вопросы и ответы
diff --git a/documentation/ru/download20.php b/documentation/ru/download20.php index be56faf..3a9e050 100644 --- a/documentation/ru/download20.php +++ b/documentation/ru/download20.php @@ -1,6 +1,6 @@ - dvdisaster + Установка @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -59,6 +58,8 @@ + + @@ -112,7 +113,7 @@ GTK+.

Установка двоичных версий для Windows

Для установки Windows-версии, запускайте на выполнение двоичный файл -(например, dvdisaster-0.72.1-setup.exe) и следуйте диалогу в процессе установки.

+(например, dvdisaster-0.79.2-setup.exe) и следуйте диалогу в процессе установки.

Предупреждение: dvdisaster НЕ устанавливается путем ручной распаковки программы setup.exe или путем копирования его из уже @@ -125,14 +126,16 @@ GTK+.

+ +

Новости
Обзор
·Системные требования
·Цифровая подпись
·Установка
·Альфа (нестабильные) версии
·Аdditional resources
Вопросы и ответы
diff --git a/documentation/ru/download30.php b/documentation/ru/download30.php index daa478f..85b3a15 100644 --- a/documentation/ru/download30.php +++ b/documentation/ru/download30.php @@ -1,6 +1,6 @@ + + + Альфа (нестабильные) версии + + + + + + + + + + +
+ dvdisaster + Версия 0.72.1 / 0.79 (devel-2) + +  К интернет-версии + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Содержание + + + + +

+ + + + + + + + + + + + + + + + + + +
Новости
Обзор
Howto's
Скачать
·Системные требования
·Цифровая подпись
·Установка
·Альфа (нестабильные) версии
·Аdditional resources
Вопросы и ответы
Сообщения об ошибках
+

+
+ + + +

Альфа-версии (для разработчиков)

+ +Помогите нам с тестированием! На этой странице находятся экспериментальные версии dvdisaster, +создаваемые на пути к следующему стабильному выпуску.

+ +Предупреждение: This version is still evolving and some parts +are not yet implemented. It may contain severe bugs and fail in non-obvious +ways, even in functions which worked in previous versions. +Do not process important data with this version and do not keep images and +error correction data for archival purposes; +that's what the stable version 0.72 +is for. + +


+ +

Planned changes in the new version

+ +All platforms: + +
    +
  • Implement some small additions which have been put on hold +during the 0.72 development cycle. [not yet started]
  • +
  • Remove obsolete functionality. [completed]
  • +
  • Clean up source code and prepare for multithreading and multi core +processors. [in progress]
  • +
  • Implement the multithreaded RS03 codec. [in progress]
  • +
  • Document RS03 usage. [not yet started]
  • +
+ +Windows: + +
    +
  • Update the GTK+ toolkit and development system. [completed]
  • +
  • Raise system requirements to Windows 2000 or newer (older +Windows releases are no longer supported by the development tools). +This makes support for ASPI drivers and splitting files into 2G +segments obsolete. [completed]
  • +
+ +MacOS: + +
    +
  • Update the GTK+ toolkit and provide more workarounds +for the graphical user interface. [in progress]
  • +
+
+ +

Загрузки

+ + +Для альфа-версий используется такой же формат пакетов, как и для нормальных версий.

+ + + + + + +
dvdisaster-0.7928 Feb 2010
+ + + + + + + + + + + + + + + +
  Исходные тексты для всех операционных систем: dvdisaster-0.79.2.tar.bz2
Цифровая подпись: dvdisaster-0.79.2.tar.bz2.gpg
Двоичная версия для Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- сначала прочитайте эти советы
Цифровая подпись: dvdisaster-0.79.2.app.zip.gpg
Двоичная версия для Windows: dvdisaster-0.79.2-setup.exe
Цифровая подпись: dvdisaster-0.79.2-setup.exe.gpg
Show older releases in the 0.79 version branch
+
+ +All platforms: These releases contain major internal changes compared +to 0.72.x. Please use them carefully.

+ +0.79.2 (28-Feb-2010)
+

    +
  • A binary package for Mac OS X is available now. The Mac OS X +development environment has been updated; this removed some glitches +in the graphical user interface. +
  • +
  • +Development of the RS03 codec makes progress, but is far from being +finished yet. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • The SCSI layer contains a workaround for buggy chipsets found in recent +drives. Starting a read or scan operation would case a system freeze with +such drives. The problem seems to be especially visible under Windows XP, +but other OS might expose similar failures. +Please test if these drives are working +now, and also report if some drives stopped working which were okay previously.
  • +
  • A reference implementation of the RS03 codec is +included. This version is only supplied so that interested people can +compare it against its specification. +Take care and do not use it for productive work. The final version will +be released with version 0.80.
  • +
+Windows: All components of the development environment and the +supplied libraries have been updated. Please test whether the graphical +user interface and localization still work as expected. +

+ + + +

+ + + + + + + + + + + + + +
+ + Copyright 2007-2009 Igor Gorbounov.
+ Дословное копирование и распространение всей этой статьи разрешается на любом носителе, при условии, что это уведомление сохраняется. +
+
+
+ + diff --git a/documentation/ru/download40.php b/documentation/ru/download40.php index b5abe85..e1dbd12 100644 --- a/documentation/ru/download40.php +++ b/documentation/ru/download40.php @@ -1,6 +1,6 @@ @@ -19,37 +20,134 @@ begin_page(); Помогите нам с тестированием! На этой странице находятся экспериментальные версии dvdisaster, создаваемые на пути к следующему стабильному выпуску.

-Предупреждение: Альфа-версии не прошли тщательного тестирования. В них может -быть больше ошибок, чем в стабильной версии, и их не следует использовать -для обработки важных данных.

- -Если есть сомнения, то продолжайте использовать стабильную версию 0.72 -и ждите выпуска версии 0.74. +Предупреждение: This version is still evolving and some parts +are not yet implemented. It may contain severe bugs and fail in non-obvious +ways, even in functions which worked in previous versions. +Do not process important data with this version and do not keep images and +error correction data for archival purposes; +that's what the stable version 0.72 +is for.


+

Planned changes in the new version

+ +All platforms: + +
    +
  • Implement some small additions which have been put on hold +during the 0.72 development cycle. [not yet started]
  • +
  • Remove obsolete functionality. [completed]
  • +
  • Clean up source code and prepare for multithreading and multi core +processors. [in progress]
  • +
  • Implement the multithreaded RS03 codec. [in progress]
  • +
  • Document RS03 usage. [not yet started]
  • +
+ +Windows: + +
    +
  • Update the GTK+ toolkit and development system. [completed]
  • +
  • Raise system requirements to Windows 2000 or newer (older +Windows releases are no longer supported by the development tools). +This makes support for ASPI drivers and splitting files into 2G +segments obsolete. [completed]
  • +
+ +MacOS: + +
    +
  • Update the GTK+ toolkit and provide more workarounds +for the graphical user interface. [in progress]
  • +
+
+

Загрузки

+ Для альфа-версий используется такой же формат пакетов, как и для нормальных версий.

- +
dvdisaster-0.73 (devel1)xx-XXX-2009
dvdisaster-0.7928 Feb 2010
- + - + + + + + - + - + + + + + + + + + + + + + + + +
  Исходные тексты для всех операционных систем: dvdisaster-0.73.1.tar.bz2
dvdisaster-0.79.2.tar.bz2
Цифровая подпись: dvdisaster-0.73.1.tar.bz2.gpg
dvdisaster-0.79.2.tar.bz2.gpg
Двоичная версия для Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- сначала прочитайте эти советы
Цифровая подпись: dvdisaster-0.79.2.app.zip.gpg
Двоичная версия для Windows: dvdisaster-0.73.1-setup.exe
dvdisaster-0.79.2-setup.exe
Цифровая подпись: dvdisaster-0.73.1-setup.exe.gpg
dvdisaster-0.79.2-setup.exe.gpg
Show older releases in the 0.79 version branch
Hide older releases in the 0.79 version branch
  Исходные тексты для всех операционных систем: dvdisaster-0.79.1.tar.bz2
Цифровая подпись: dvdisaster-0.79.1.tar.bz2.gpg
Двоичная версия для Windows: dvdisaster-0.79.1-setup.exe
Цифровая подпись: dvdisaster-0.79.1-setup.exe.gpg
-Еще не выпущена. + +All platforms: These releases contain major internal changes compared +to 0.72.x. Please use them carefully.

+ +0.79.2 (28-Feb-2010)
+

    +
  • A binary package for Mac OS X is available now. The Mac OS X +development environment has been updated; this removed some glitches +in the graphical user interface. +
  • +
  • +Development of the RS03 codec makes progress, but is far from being +finished yet. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • The SCSI layer contains a workaround for buggy chipsets found in recent +drives. Starting a read or scan operation would case a system freeze with +such drives. The problem seems to be especially visible under Windows XP, +but other OS might expose similar failures. +Please test if these drives are working +now, and also report if some drives stopped working which were okay previously.
  • +
  • A reference implementation of the RS03 codec is +included. This version is only supplied so that interested people can +compare it against its specification. +Take care and do not use it for productive work. The final version will +be released with version 0.80.
  • +
+Windows: All components of the development environment and the +supplied libraries have been updated. Please test whether the graphical +user interface and localization still work as expected.

diff --git a/documentation/ru/download40_showall=0.html b/documentation/ru/download40_showall=0.html new file mode 100644 index 0000000..39d18b3 --- /dev/null +++ b/documentation/ru/download40_showall=0.html @@ -0,0 +1,226 @@ + + + + Альфа (нестабильные) версии + + + + + + + + + + +
+ dvdisaster + Версия 0.72.1 / 0.79 (devel-2) + +  К интернет-версии + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Содержание + + + + +

+ + + + + + + + + + + + + + + + + + +
Новости
Обзор
Howto's
Скачать
·Системные требования
·Цифровая подпись
·Установка
·Альфа (нестабильные) версии
·Аdditional resources
Вопросы и ответы
Сообщения об ошибках
+

+
+ + + +

Альфа-версии (для разработчиков)

+ +Помогите нам с тестированием! На этой странице находятся экспериментальные версии dvdisaster, +создаваемые на пути к следующему стабильному выпуску.

+ +Предупреждение: This version is still evolving and some parts +are not yet implemented. It may contain severe bugs and fail in non-obvious +ways, even in functions which worked in previous versions. +Do not process important data with this version and do not keep images and +error correction data for archival purposes; +that's what the stable version 0.72 +is for. + +


+ +

Planned changes in the new version

+ +All platforms: + +
    +
  • Implement some small additions which have been put on hold +during the 0.72 development cycle. [not yet started]
  • +
  • Remove obsolete functionality. [completed]
  • +
  • Clean up source code and prepare for multithreading and multi core +processors. [in progress]
  • +
  • Implement the multithreaded RS03 codec. [in progress]
  • +
  • Document RS03 usage. [not yet started]
  • +
+ +Windows: + +
    +
  • Update the GTK+ toolkit and development system. [completed]
  • +
  • Raise system requirements to Windows 2000 or newer (older +Windows releases are no longer supported by the development tools). +This makes support for ASPI drivers and splitting files into 2G +segments obsolete. [completed]
  • +
+ +MacOS: + +
    +
  • Update the GTK+ toolkit and provide more workarounds +for the graphical user interface. [in progress]
  • +
+
+ +

Загрузки

+ + +Для альфа-версий используется такой же формат пакетов, как и для нормальных версий.

+ + + + + + +
dvdisaster-0.7928 Feb 2010
+ + + + + + + + + + + + + + + +
  Исходные тексты для всех операционных систем: dvdisaster-0.79.2.tar.bz2
Цифровая подпись: dvdisaster-0.79.2.tar.bz2.gpg
Двоичная версия для Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- сначала прочитайте эти советы
Цифровая подпись: dvdisaster-0.79.2.app.zip.gpg
Двоичная версия для Windows: dvdisaster-0.79.2-setup.exe
Цифровая подпись: dvdisaster-0.79.2-setup.exe.gpg
Show older releases in the 0.79 version branch
+
+ +All platforms: These releases contain major internal changes compared +to 0.72.x. Please use them carefully.

+ +0.79.2 (28-Feb-2010)
+

    +
  • A binary package for Mac OS X is available now. The Mac OS X +development environment has been updated; this removed some glitches +in the graphical user interface. +
  • +
  • +Development of the RS03 codec makes progress, but is far from being +finished yet. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • The SCSI layer contains a workaround for buggy chipsets found in recent +drives. Starting a read or scan operation would case a system freeze with +such drives. The problem seems to be especially visible under Windows XP, +but other OS might expose similar failures. +Please test if these drives are working +now, and also report if some drives stopped working which were okay previously.
  • +
  • A reference implementation of the RS03 codec is +included. This version is only supplied so that interested people can +compare it against its specification. +Take care and do not use it for productive work. The final version will +be released with version 0.80.
  • +
+Windows: All components of the development environment and the +supplied libraries have been updated. Please test whether the graphical +user interface and localization still work as expected. +

+ + + +

+ + + + + + + + + + + + + +
+ + Copyright 2007-2009 Igor Gorbounov.
+ Дословное копирование и распространение всей этой статьи разрешается на любом носителе, при условии, что это уведомление сохраняется. +
+
+
+ + diff --git a/documentation/ru/download40_showall=1.html b/documentation/ru/download40_showall=1.html new file mode 100644 index 0000000..b56a575 --- /dev/null +++ b/documentation/ru/download40_showall=1.html @@ -0,0 +1,241 @@ + + + + Альфа (нестабильные) версии + + + + + + + + + + +
+ dvdisaster + Версия 0.72.1 / 0.79 (devel-2) + +  К интернет-версии + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Содержание + + + + +

+ + + + + + + + + + + + + + + + + + +
Новости
Обзор
Howto's
Скачать
·Системные требования
·Цифровая подпись
·Установка
·Альфа (нестабильные) версии
·Аdditional resources
Вопросы и ответы
Сообщения об ошибках
+

+
+ + + +

Альфа-версии (для разработчиков)

+ +Помогите нам с тестированием! На этой странице находятся экспериментальные версии dvdisaster, +создаваемые на пути к следующему стабильному выпуску.

+ +Предупреждение: This version is still evolving and some parts +are not yet implemented. It may contain severe bugs and fail in non-obvious +ways, even in functions which worked in previous versions. +Do not process important data with this version and do not keep images and +error correction data for archival purposes; +that's what the stable version 0.72 +is for. + +


+ +

Planned changes in the new version

+ +All platforms: + +
    +
  • Implement some small additions which have been put on hold +during the 0.72 development cycle. [not yet started]
  • +
  • Remove obsolete functionality. [completed]
  • +
  • Clean up source code and prepare for multithreading and multi core +processors. [in progress]
  • +
  • Implement the multithreaded RS03 codec. [in progress]
  • +
  • Document RS03 usage. [not yet started]
  • +
+ +Windows: + +
    +
  • Update the GTK+ toolkit and development system. [completed]
  • +
  • Raise system requirements to Windows 2000 or newer (older +Windows releases are no longer supported by the development tools). +This makes support for ASPI drivers and splitting files into 2G +segments obsolete. [completed]
  • +
+ +MacOS: + +
    +
  • Update the GTK+ toolkit and provide more workarounds +for the graphical user interface. [in progress]
  • +
+
+ +

Загрузки

+ + +Для альфа-версий используется такой же формат пакетов, как и для нормальных версий.

+ + + + + + +
dvdisaster-0.7928 Feb 2010
+ + + + + + + + + + + + + + + + + + + + + + + + + +
  Исходные тексты для всех операционных систем: dvdisaster-0.79.2.tar.bz2
Цифровая подпись: dvdisaster-0.79.2.tar.bz2.gpg
Двоичная версия для Mac OS X 10.5 / x86: dvdisaster-0.79.2.app.zip -- сначала прочитайте эти советы
Цифровая подпись: dvdisaster-0.79.2.app.zip.gpg
Двоичная версия для Windows: dvdisaster-0.79.2-setup.exe
Цифровая подпись: dvdisaster-0.79.2-setup.exe.gpg
Hide older releases in the 0.79 version branch
  Исходные тексты для всех операционных систем: dvdisaster-0.79.1.tar.bz2
Цифровая подпись: dvdisaster-0.79.1.tar.bz2.gpg
Двоичная версия для Windows: dvdisaster-0.79.1-setup.exe
Цифровая подпись: dvdisaster-0.79.1-setup.exe.gpg
+
+ +All platforms: These releases contain major internal changes compared +to 0.72.x. Please use them carefully.

+ +0.79.2 (28-Feb-2010)
+

    +
  • A binary package for Mac OS X is available now. The Mac OS X +development environment has been updated; this removed some glitches +in the graphical user interface. +
  • +
  • +Development of the RS03 codec makes progress, but is far from being +finished yet. +
  • +
+ +0.79.1 (07-Feb-2010)
+
    +
  • The SCSI layer contains a workaround for buggy chipsets found in recent +drives. Starting a read or scan operation would case a system freeze with +such drives. The problem seems to be especially visible under Windows XP, +but other OS might expose similar failures. +Please test if these drives are working +now, and also report if some drives stopped working which were okay previously.
  • +
  • A reference implementation of the RS03 codec is +included. This version is only supplied so that interested people can +compare it against its specification. +Take care and do not use it for productive work. The final version will +be released with version 0.80.
  • +
+Windows: All components of the development environment and the +supplied libraries have been updated. Please test whether the graphical +user interface and localization still work as expected. +

+ + + +

+ + + + + + + + + + + + + +
+ + Copyright 2007-2009 Igor Gorbounov.
+ Дословное копирование и распространение всей этой статьи разрешается на любом носителе, при условии, что это уведомление сохраняется. +
+
+
+ + diff --git a/documentation/ru/download50.html b/documentation/ru/download50.html new file mode 100644 index 0000000..5b8c6a3 --- /dev/null +++ b/documentation/ru/download50.html @@ -0,0 +1,137 @@ + + + + Аdditional resources + + + + + + + + + + +
+ dvdisaster + Версия 0.72.1 / 0.79 (devel-2) + +  К интернет-версии + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Содержание + + + + +

+ + + + + + + + + + + + + + + + + + +
Новости
Обзор
Howto's
Скачать
·Системные требования
·Цифровая подпись
·Установка
·Альфа (нестабильные) версии
·Аdditional resources
Вопросы и ответы
Сообщения об ошибках
+

+
+ + + +

Additional resources

+ +The online documentation which you are currently reading is included +in the dvdisaster program packages. You do not need to download +it separately.

+ +The following additional papers are available:

+ +RS03 specification

+ +RS03 is a new encoding format for upcoming dvdisaster versions, +capable of using multiple processor cores for its +calculations. This can not be done with the current RS01 +und RS02 methods due to limits in their internal structure.

+ +A preview of the RS03 specification (rs03.pdf) +is available now for discussion. The specification is not final.

+ +Reading the RS03 document requires knowledge in the area of +coding theory. It is not meant as end user documentation. + + + +

+ + + + + + + + + + + + + +
+ + Copyright 2007-2009 Igor Gorbounov.
+ Дословное копирование и распространение всей этой статьи разрешается на любом носителе, при условии, что это уведомление сохраняется. +
+
+
+ + diff --git a/documentation/ru/download50.php b/documentation/ru/download50.php new file mode 100644 index 0000000..da69ae9 --- /dev/null +++ b/documentation/ru/download50.php @@ -0,0 +1,44 @@ + + + + +

Additional resources

+ +The online documentation which you are currently reading is included +in the dvdisaster program packages. You do not need to download +it separately.

+ +The following additional papers are available:

+ +RS03 specification

+ +RS03 is a new encoding format for upcoming dvdisaster versions, +capable of using multiple processor cores for its +calculations. This can not be done with the current RS01 +und RS02 methods due to limits in their internal structure.

+ +A preview of the RS03 specification (rs03.pdf) +is available now for discussion. The specification is not final.

+ +Reading the RS03 document requires knowledge in the area of +coding theory. It is not meant as end user documentation. + + + + diff --git a/documentation/ru/download_showall=0.html b/documentation/ru/download_showall=0.html new file mode 100644 index 0000000..6f39ba6 --- /dev/null +++ b/documentation/ru/download_showall=0.html @@ -0,0 +1,284 @@ + + + + Скачать + + + + + + + + + + +
+ dvdisaster + Версия 0.72.1 / 0.79 (devel-2) + +  К интернет-версии + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Содержание + + + + +

+ + + + + + + + + + + + + + + + + + +
Новости
Обзор
Howto's
Скачать
·Системные требования
·Цифровая подпись
·Установка
·Альфа (нестабильные) версии
·Аdditional resources
Вопросы и ответы
Сообщения об ошибках
+

+
+ + + +

Скачать dvdisaster

+ +dvdisaster имеется для последних версий +операционных систем FreeBSD, GNU/Linux, Mac OS X(Darwin), NetBSD +и Windows. Он предоставляется как +свободное программное обеспечение +под лицензией GNU General Public License v2*).

+ +Скачивать исходные тексты или двоичную версию можно из приведенного ниже списка. +Цифровая подпись предоставляется для подтверждения того, что +пакеты находятся в своем первоначальном состоянии.

+ +

    +
  • В пакете с исходными текстами имеется файл INSTALL, содержащий дальнейшие инструкции для сборки.
  • +
  • Для Mac OS X предоставлен ZIP-архив, который устанавливается путем его распаковывания +в любое место. Обратите внимание на +специальные советы для Mac OS X.
  • +
  • Для установки двоичной версии для Windows +запустите загруженную программу на выполнение и действуйте в соответствии с диалогом.
  • +
+ +Альфа (нестабильные) версии - новые и экспериментальные для опытных пользователей!

+ +Приглашаем тестеров для предстоящих версий dvdisaster, но следует иметь в виду, что +остались еще ошибки и несоответствия. +Текущая нестабильная версия - +0.79 (devel-2). +

+ + +Стабильная версия - рекомендуется для начала.

+ + + + + + + +
dvdisaster-0.724 июля 2009
+ + + + + + + + + + + + + + + +
  Исходные тексты для всех операционных систем: dvdisaster-0.72.1.tar.bz2
Цифровая подпись: dvdisaster-0.72.1.tar.bz2.gpg
Двоичная версия для Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- сначала прочитайте эти советы
Цифровая подпись: dvdisaster-0.72.1.app.zip.gpg
Двоичная версия для Windows: dvdisaster-0.72.1-setup.exe
Цифровая подпись: dvdisaster-0.72.1-setup.exe.gpg
Show older releases in the 0.72 version branch
+
+Наиболее важные изменения в этой версии:

+

    +
  • Поддержка носителей Blu-Ray
  • +
  • Низкоуровневое чтение и проверки на C2 для CD-носителей
  • +
  • Выбираемое число попыток чтения
  • +
  • Первый "родной" пакет приложения для Mac OS X
  • +
  • Порт на NetBSD Сергея Свищева
  • +
  • Улучшенное распознавание типа носителей
  • +
  • Информационное окно с описанием вставленного носителя
  • +
  • Улучшенный и дополненный диалог настроек
  • +
  • Переработанная и дополненная документация
  • +
  • Русский перевод Игоря Горбунова
  • +
  • ... и еще много небольших изменений и исправлений.
  • +
+ +Исправления (небольшие изменения после версии 0.72; вышеприведенные файлы были обновлены):

+ +0.72 pl1 Pablo Almeida provided Portuguese translations of the screen texts. +Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2009)

+Update: The workaround has been found to be ineffective in some cases. A +better workaround is included in version 0.79.x; +unfortunately it can not be easily backported into the stable version. (06-Feb-2010)

+ +0.72 Это первая стабильная версия ветки 0.72. +Игорь Горбунов завершил перевод онлайн-документации на русский язык. +Устранены некоторые незначительные ошибки в первом кандидате на выпуск.

+В более новых версиях Windows при некоторых языковых настройках может быть неправильный вывод +на экран. Это довольно сложная проблема и она будет решаться +в предстоящих версиях 0.73.x. (04-Jul-2009) +

+ +0.72-rc1 Первый кандидат на выпуск. (11 апреля 2009) +

+ +If the links above fail to download +please try getting dvdisaster via +SourceForge. + +

 
+ +Предыдущая версия - рекомендуется обновить до версии 0.72.

+ + + + + + +
dvdisaster-0.7004 марта 2008
+ + + + + + + + + +
  Исходный текст для всех операционных систем: dvdisaster-0.70.6.tar.bz2
Цифровая подпись: dvdisaster-0.70.6.tar.bz2.gpg
Двоичный пакет для Windows: dvdisaster-0.70.6-setup.exe
Цифровая подпись: dvdisaster-0.70.6-setup.exe.gpg
+
+Метод коррекции ошибок RS02 +полностью поддерживается в графическом интерфейсе. Образы, созданные +с использованием RS02, могут использоваться +со стратегией адаптивного чтения.

+ +Джулиан Айнваг (Julian Einwag) начал перенос dvdisaster +на Mac OS X / Darwin.

+ +Дэниэл Найландер (Daniel Nylander) дал шведский перевод экранных текстов.

+ +Исправления (небольшие изменения после версии 0.70; вышеприведенные файлы были обновлены):

+ +pl6 Сделан откат назад поддержки локализованных имен файлов, +поскольку она нарушила поддержку больших файлов под Windows. Новый обработчик +для локализованных имен файлов будет сначала протестирован в экспериментальной версии +0.71.25. (04-мар-2008)

+ +pl5 +Исправляет проблему с новыми ядрами Linux, которая может привести к зависанию системы в +некоторых случаях. Улучшена обработка имен файлов, содержащих локализованные +символы. +Содержит обратный перенос основных исправлений ошибок с 0.71.24. (24-фев-2008).

+ +pl4 обеспечивает лучшую совместимость с двухслойными DVD +(DVD-R DL и DVD+R DL).
+Были исправлены некоторые незначительные ошибки. (20-янв-2007).

+ +pl3 исправляет неправильное распознавание неподдерживаемых форматов CD, которые +приводили к синему экрану Windows при редком стечении обстоятельств. Добавлена возможность отмены +во время инициализации RS02 на носителях DVD RW. +(10-дек-2006).

+ +pl2 исправляет неправильное освобождение памяти, когда закрывается окно программы. +Исправлена распаковка снимков экрана в документации для платформ PPC. +Обновлены только архивы исходных текстов. +(03-окт-2006).

+ +pl1 исправляет ошибку в адаптивном чтении для RS02, которая иногда приводит к +чтению недосточного количества данных при сообщении об успешном восстановлении. Добавляет несколько +небольших улучшений в документации и функциональности. (30-июл-2006) +

+ + +Исходные тексты dvdisaster доступны также +через CVS. +Файлы, представляющие интерес: +

    +
  • CHANGELOG- изменения от предыдущих версий;
  • +
  • CREDITS.en- люди, занятые в проекте;
  • +
  • INSTALL - дополнительные советы для установки;
  • +
  • README - план развития из архива исходных текстов.
  • +
+ + + +
+ + + + + + + + + + + + + +
+ + Copyright 2007-2009 Igor Gorbounov.
+ Дословное копирование и распространение всей этой статьи разрешается на любом носителе, при условии, что это уведомление сохраняется. +
+
+
+ + diff --git a/documentation/ru/download_showall=1.html b/documentation/ru/download_showall=1.html new file mode 100644 index 0000000..65d3247 --- /dev/null +++ b/documentation/ru/download_showall=1.html @@ -0,0 +1,297 @@ + + + + Скачать + + + + + + + + + + +
+ dvdisaster + Версия 0.72.1 / 0.79 (devel-2) + +  К интернет-версии + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Содержание + + + + +

+ + + + + + + + + + + + + + + + + + +
Новости
Обзор
Howto's
Скачать
·Системные требования
·Цифровая подпись
·Установка
·Альфа (нестабильные) версии
·Аdditional resources
Вопросы и ответы
Сообщения об ошибках
+

+
+ + + +

Скачать dvdisaster

+ +dvdisaster имеется для последних версий +операционных систем FreeBSD, GNU/Linux, Mac OS X(Darwin), NetBSD +и Windows. Он предоставляется как +свободное программное обеспечение +под лицензией GNU General Public License v2*).

+ +Скачивать исходные тексты или двоичную версию можно из приведенного ниже списка. +Цифровая подпись предоставляется для подтверждения того, что +пакеты находятся в своем первоначальном состоянии.

+ +

    +
  • В пакете с исходными текстами имеется файл INSTALL, содержащий дальнейшие инструкции для сборки.
  • +
  • Для Mac OS X предоставлен ZIP-архив, который устанавливается путем его распаковывания +в любое место. Обратите внимание на +специальные советы для Mac OS X.
  • +
  • Для установки двоичной версии для Windows +запустите загруженную программу на выполнение и действуйте в соответствии с диалогом.
  • +
+ +Альфа (нестабильные) версии - новые и экспериментальные для опытных пользователей!

+ +Приглашаем тестеров для предстоящих версий dvdisaster, но следует иметь в виду, что +остались еще ошибки и несоответствия. +Текущая нестабильная версия - +0.79 (devel-2). +

+ + +Стабильная версия - рекомендуется для начала.

+ + + + + + + +
dvdisaster-0.724 июля 2009
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  Исходные тексты для всех операционных систем: dvdisaster-0.72.1.tar.bz2
Цифровая подпись: dvdisaster-0.72.1.tar.bz2.gpg
Двоичная версия для Mac OS X 10.5 / x86: dvdisaster-0.72.1.app.zip -- сначала прочитайте эти советы
Цифровая подпись: dvdisaster-0.72.1.app.zip.gpg
Двоичная версия для Windows: dvdisaster-0.72.1-setup.exe
Цифровая подпись: dvdisaster-0.72.1-setup.exe.gpg
Hide older releases in the 0.72 version branch
  Исходные тексты для всех операционных систем: dvdisaster-0.72.tar.bz2
Цифровая подпись: dvdisaster-0.72.tar.bz2.gpg
Двоичная версия для Mac OS X 10.5 / x86: dvdisaster-0.72.app.zip -- сначала прочитайте эти советы
Цифровая подпись: dvdisaster-0.72.app.zip.gpg
Двоичная версия для Windows: dvdisaster-0.72-setup.exe
Цифровая подпись: dvdisaster-0.72-setup.exe.gpg
+
+Наиболее важные изменения в этой версии:

+

    +
  • Поддержка носителей Blu-Ray
  • +
  • Низкоуровневое чтение и проверки на C2 для CD-носителей
  • +
  • Выбираемое число попыток чтения
  • +
  • Первый "родной" пакет приложения для Mac OS X
  • +
  • Порт на NetBSD Сергея Свищева
  • +
  • Улучшенное распознавание типа носителей
  • +
  • Информационное окно с описанием вставленного носителя
  • +
  • Улучшенный и дополненный диалог настроек
  • +
  • Переработанная и дополненная документация
  • +
  • Русский перевод Игоря Горбунова
  • +
  • ... и еще много небольших изменений и исправлений.
  • +
+ +Исправления (небольшие изменения после версии 0.72; вышеприведенные файлы были обновлены):

+ +0.72 pl1 Pablo Almeida provided Portuguese translations of the screen texts. +Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.(08-Aug-2009)

+Update: The workaround has been found to be ineffective in some cases. A +better workaround is included in version 0.79.x; +unfortunately it can not be easily backported into the stable version. (06-Feb-2010)

+ +0.72 Это первая стабильная версия ветки 0.72. +Игорь Горбунов завершил перевод онлайн-документации на русский язык. +Устранены некоторые незначительные ошибки в первом кандидате на выпуск.

+В более новых версиях Windows при некоторых языковых настройках может быть неправильный вывод +на экран. Это довольно сложная проблема и она будет решаться +в предстоящих версиях 0.73.x. (04-Jul-2009) +

+ +0.72-rc1 Первый кандидат на выпуск. (11 апреля 2009) +

+ +If the links above fail to download +please try getting dvdisaster via +SourceForge. + +

 
+ +Предыдущая версия - рекомендуется обновить до версии 0.72.

+ + + + + + +
dvdisaster-0.7004 марта 2008
+ + + + + + + + + +
  Исходный текст для всех операционных систем: dvdisaster-0.70.6.tar.bz2
Цифровая подпись: dvdisaster-0.70.6.tar.bz2.gpg
Двоичный пакет для Windows: dvdisaster-0.70.6-setup.exe
Цифровая подпись: dvdisaster-0.70.6-setup.exe.gpg
+
+Метод коррекции ошибок RS02 +полностью поддерживается в графическом интерфейсе. Образы, созданные +с использованием RS02, могут использоваться +со стратегией адаптивного чтения.

+ +Джулиан Айнваг (Julian Einwag) начал перенос dvdisaster +на Mac OS X / Darwin.

+ +Дэниэл Найландер (Daniel Nylander) дал шведский перевод экранных текстов.

+ +Исправления (небольшие изменения после версии 0.70; вышеприведенные файлы были обновлены):

+ +pl6 Сделан откат назад поддержки локализованных имен файлов, +поскольку она нарушила поддержку больших файлов под Windows. Новый обработчик +для локализованных имен файлов будет сначала протестирован в экспериментальной версии +0.71.25. (04-мар-2008)

+ +pl5 +Исправляет проблему с новыми ядрами Linux, которая может привести к зависанию системы в +некоторых случаях. Улучшена обработка имен файлов, содержащих локализованные +символы. +Содержит обратный перенос основных исправлений ошибок с 0.71.24. (24-фев-2008).

+ +pl4 обеспечивает лучшую совместимость с двухслойными DVD +(DVD-R DL и DVD+R DL).
+Были исправлены некоторые незначительные ошибки. (20-янв-2007).

+ +pl3 исправляет неправильное распознавание неподдерживаемых форматов CD, которые +приводили к синему экрану Windows при редком стечении обстоятельств. Добавлена возможность отмены +во время инициализации RS02 на носителях DVD RW. +(10-дек-2006).

+ +pl2 исправляет неправильное освобождение памяти, когда закрывается окно программы. +Исправлена распаковка снимков экрана в документации для платформ PPC. +Обновлены только архивы исходных текстов. +(03-окт-2006).

+ +pl1 исправляет ошибку в адаптивном чтении для RS02, которая иногда приводит к +чтению недосточного количества данных при сообщении об успешном восстановлении. Добавляет несколько +небольших улучшений в документации и функциональности. (30-июл-2006) +

+ + +Исходные тексты dvdisaster доступны также +через CVS. +Файлы, представляющие интерес: +

    +
  • CHANGELOG- изменения от предыдущих версий;
  • +
  • CREDITS.en- люди, занятые в проекте;
  • +
  • INSTALL - дополнительные советы для установки;
  • +
  • README - план развития из архива исходных текстов.
  • +
+ + + +
+ + + + + + + + + + + + + +
+ + Copyright 2007-2009 Igor Gorbounov.
+ Дословное копирование и распространение всей этой статьи разрешается на любом носителе, при условии, что это уведомление сохраняется. +
+
+
+ + diff --git a/documentation/ru/empty.php b/documentation/ru/empty.php index 1c5ca4c..c13a020 100644 --- a/documentation/ru/empty.php +++ b/documentation/ru/empty.php @@ -1,6 +1,6 @@ + +tag:dvdisaster.net,2009-10-02:/ru/feeds/atom.xml +dvdisaster news +2010-02-28T19:15:30+01:00 + + + Carsten Gnörlich + http://www.dvdisaster.org + + +dvdisaster 0.79.2 released + +tag:dvdisaster.net,2010-02-28:/ru/news.html/15 +2010-02-28T00:00:00Z +2010-02-28T00:00:00Z + +

Mac OS X binaries are available again as the Mac OS X development environment has been updated for this version. RS03 codec development progresses, but is still far from being finished. [...] + + +Started new development branch 0.79 + +tag:dvdisaster.net,2010-02-07:/ru/news.html/14 +2010-02-07T00:00:00Z +2010-02-07T00:00:00Z + + The first version of the new development branch (0.79.1) has just been released. This release is meant for testing new functions; it is not recommended for doing productive work. See the download page for information on what has been [...] + + +Assessment of potential vulnerabilities in the windows version +of the GTK library + +tag:dvdisaster.net,2009-10-01:/ru/news.html/13 +2009-10-01T00:00:00Z +2009-10-01T00:00:00Z + + The Windows versions of dvdisaster 0.70.x/0.72.x are shipped with an outdated GTK library containing vulnerabilities in its image processing routines. To exploit the vulnerability, manipulated images need to be loaded from an external [...] + + +Project represention on SourceForge may be outdated + +tag:dvdisaster.net,2009-08-10:/ru/news.html/12 +2009-08-10T00:00:00Z +2009-08-10T00:00:00Z + + Due to the recent functionality changes on SourceForge we are unable to upload the News, Downloads and CVS contents in time. Please refer to the respective sections on this site (http://dvdisaster.net) instead. [...] + + +dvdisaster 0.72.1 released + +tag:dvdisaster.net,2009-08-08:/ru/news.html/11 +2009-08-08T00:00:00Z +2010-02-06T00:00:00Z + + Pablo Almeida provided a Portuguese translation for the screen text. Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs. Update: The workaround is not complete. If the problem persists please try version 0.79.x. [...] + + +выпущен dvdisaster 0.72 + +tag:dvdisaster.net,2009-07-04:/ru/news.html/10 +2009-07-04T00:00:00Z +2009-07-04T00:00:00Z + + Это первая стабильная версия ветки 0.72. Игорь Горбунов завершил перевод онлайн-документации на русский язык. Устранены некоторые [...] + + diff --git a/documentation/ru/feedback.html b/documentation/ru/feedback.html index fae2a1a..d2f656e 100644 --- a/documentation/ru/feedback.html +++ b/documentation/ru/feedback.html @@ -1,7 +1,7 @@ - dvdisaster + Сообщения об ошибках @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -148,14 +147,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/feedback.php b/documentation/ru/feedback.php index 46b846a..5276a98 100644 --- a/documentation/ru/feedback.php +++ b/documentation/ru/feedback.php @@ -1,6 +1,6 @@ - dvdisaster + Сообщения об ошибках @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -146,14 +145,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos.html b/documentation/ru/howtos.html index f3b417b..3a44b6a 100644 --- a/documentation/ru/howtos.html +++ b/documentation/ru/howtos.html @@ -1,7 +1,7 @@ - dvdisaster + Howto's @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -158,14 +157,16 @@ dvdisaster - это сложный инструмент, для описания + +
Новости
Обзор
diff --git a/documentation/ru/howtos.php b/documentation/ru/howtos.php index 940384d..5ec6a7f 100644 --- a/documentation/ru/howtos.php +++ b/documentation/ru/howtos.php @@ -1,6 +1,6 @@ - dvdisaster + Поиск ошибок на носителях @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -145,14 +144,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos10.php b/documentation/ru/howtos10.php index 4feb98d..01ef288 100644 --- a/documentation/ru/howtos10.php +++ b/documentation/ru/howtos10.php @@ -1,6 +1,6 @@ - dvdisaster + Основные настройки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -218,14 +217,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos11.php b/documentation/ru/howtos11.php index 4ab71a3..4ee3f6b 100644 --- a/documentation/ru/howtos11.php +++ b/documentation/ru/howtos11.php @@ -1,6 +1,6 @@ - dvdisaster + Основные настройки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -216,14 +215,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos11_expand=2.html b/documentation/ru/howtos11_expand=2.html index a6c4923..5f090ae 100644 --- a/documentation/ru/howtos11_expand=2.html +++ b/documentation/ru/howtos11_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Основные настройки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -216,14 +215,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos11_expand=3.html b/documentation/ru/howtos11_expand=3.html index 236b24b..a554902 100644 --- a/documentation/ru/howtos11_expand=3.html +++ b/documentation/ru/howtos11_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Основные настройки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -216,14 +215,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos11_expand=4.html b/documentation/ru/howtos11_expand=4.html index 9da3a68..7a8d23b 100644 --- a/documentation/ru/howtos11_expand=4.html +++ b/documentation/ru/howtos11_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Основные настройки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -216,14 +215,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos11_expand=5.html b/documentation/ru/howtos11_expand=5.html index 0036e7c..2f2d039 100644 --- a/documentation/ru/howtos11_expand=5.html +++ b/documentation/ru/howtos11_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Основные настройки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -216,14 +215,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos12.html b/documentation/ru/howtos12.html index 316d3b0..9190a53 100644 --- a/documentation/ru/howtos12.html +++ b/documentation/ru/howtos12.html @@ -1,7 +1,7 @@ - dvdisaster + Выполнение проверки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -184,14 +183,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos12.php b/documentation/ru/howtos12.php index 0b032d5..70fc81f 100644 --- a/documentation/ru/howtos12.php +++ b/documentation/ru/howtos12.php @@ -1,6 +1,6 @@ - dvdisaster + Выполнение проверки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -184,14 +183,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos12_expand=1.html b/documentation/ru/howtos12_expand=1.html index 9eb17a6..ef28899 100644 --- a/documentation/ru/howtos12_expand=1.html +++ b/documentation/ru/howtos12_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Выполнение проверки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -183,14 +182,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos13.html b/documentation/ru/howtos13.html index 4f3c08c..07dd817 100644 --- a/documentation/ru/howtos13.html +++ b/documentation/ru/howtos13.html @@ -1,7 +1,7 @@ - dvdisaster + Объяснение результатов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -274,14 +273,16 @@ CD-приводы имеют встроенную коррекцию ошибо + +
Новости
Обзор
diff --git a/documentation/ru/howtos13.php b/documentation/ru/howtos13.php index d70fc6a..e58e871 100644 --- a/documentation/ru/howtos13.php +++ b/documentation/ru/howtos13.php @@ -1,6 +1,6 @@ - dvdisaster + Объяснение результатов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -272,14 +271,16 @@ CD-приводы имеют встроенную коррекцию ошибо + +
Новости
Обзор
diff --git a/documentation/ru/howtos13_expand=2.html b/documentation/ru/howtos13_expand=2.html index e068821..775fb43 100644 --- a/documentation/ru/howtos13_expand=2.html +++ b/documentation/ru/howtos13_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Объяснение результатов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -272,14 +271,16 @@ CD-приводы имеют встроенную коррекцию ошибо + +
Новости
Обзор
diff --git a/documentation/ru/howtos13_expand=3.html b/documentation/ru/howtos13_expand=3.html index 2883c7a..e5bd860 100644 --- a/documentation/ru/howtos13_expand=3.html +++ b/documentation/ru/howtos13_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Объяснение результатов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -272,14 +271,16 @@ CD-приводы имеют встроенную коррекцию ошибо + +
Новости
Обзор
diff --git a/documentation/ru/howtos13_expand=4.html b/documentation/ru/howtos13_expand=4.html index 69aaf15..6e0dd79 100644 --- a/documentation/ru/howtos13_expand=4.html +++ b/documentation/ru/howtos13_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Объяснение результатов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -272,14 +271,16 @@ CD-приводы имеют встроенную коррекцию ошибо + +
Новости
Обзор
diff --git a/documentation/ru/howtos13_expand=5.html b/documentation/ru/howtos13_expand=5.html index 9b36e69..77fb5a9 100644 --- a/documentation/ru/howtos13_expand=5.html +++ b/documentation/ru/howtos13_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Объяснение результатов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -272,14 +271,16 @@ CD-приводы имеют встроенную коррекцию ошибо + +
Новости
Обзор
diff --git a/documentation/ru/howtos13_expand=6.html b/documentation/ru/howtos13_expand=6.html index 874b04f..9d0e4e4 100644 --- a/documentation/ru/howtos13_expand=6.html +++ b/documentation/ru/howtos13_expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Объяснение результатов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -272,14 +271,16 @@ CD-приводы имеют встроенную коррекцию ошибо + +
Новости
Обзор
diff --git a/documentation/ru/howtos14.html b/documentation/ru/howtos14.html index d6c3ac5..2f96a67 100644 --- a/documentation/ru/howtos14.html +++ b/documentation/ru/howtos14.html @@ -1,7 +1,7 @@ - dvdisaster + Дополнительные настройки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -148,14 +147,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos14.php b/documentation/ru/howtos14.php index 6c240b6..d296f3f 100644 --- a/documentation/ru/howtos14.php +++ b/documentation/ru/howtos14.php @@ -1,6 +1,6 @@ - dvdisaster + Дополнительные настройки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -146,14 +145,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos14_expand=2.html b/documentation/ru/howtos14_expand=2.html index ab2093e..1680c89 100644 --- a/documentation/ru/howtos14_expand=2.html +++ b/documentation/ru/howtos14_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Дополнительные настройки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -146,14 +145,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos20.html b/documentation/ru/howtos20.html index 6993428..5238e22 100644 --- a/documentation/ru/howtos20.html +++ b/documentation/ru/howtos20.html @@ -1,7 +1,7 @@ - dvdisaster + Размещение данных для исправления ошибок в отдельном файле @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -162,14 +161,16 @@ ISO-образ носителя (например, образ, использу + +
Новости
Обзор
diff --git a/documentation/ru/howtos20.php b/documentation/ru/howtos20.php index 00c7762..865cc88 100644 --- a/documentation/ru/howtos20.php +++ b/documentation/ru/howtos20.php @@ -1,6 +1,6 @@ - dvdisaster + Помощь в принятии решения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -134,14 +133,16 @@ dvdisaster помогает защищать ваши носители от по + +
Новости
Обзор
diff --git a/documentation/ru/howtos21.php b/documentation/ru/howtos21.php index c1f1203..66b3807 100644 --- a/documentation/ru/howtos21.php +++ b/documentation/ru/howtos21.php @@ -1,6 +1,6 @@ - dvdisaster + Помощь в принятии решения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -136,14 +135,16 @@ dvdisaster помогает защищать ваши носители от по + +
Новости
Обзор
diff --git a/documentation/ru/howtos21_answer=2.html b/documentation/ru/howtos21_answer=2.html index 895d06b..32d3d1d 100644 --- a/documentation/ru/howtos21_answer=2.html +++ b/documentation/ru/howtos21_answer=2.html @@ -1,7 +1,7 @@ - dvdisaster + Помощь в принятии решения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -139,14 +138,16 @@ dvdisaster помогает защищать ваши носители от по + +
Новости
Обзор
diff --git a/documentation/ru/howtos21_answer=3.html b/documentation/ru/howtos21_answer=3.html index d506d3c..a2d2923 100644 --- a/documentation/ru/howtos21_answer=3.html +++ b/documentation/ru/howtos21_answer=3.html @@ -1,7 +1,7 @@ - dvdisaster + Помощь в принятии решения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -142,14 +141,16 @@ dvdisaster помогает защищать ваши носители от по + +
Новости
Обзор
diff --git a/documentation/ru/howtos21_answer=4.html b/documentation/ru/howtos21_answer=4.html index 6f987b0..956be9a 100644 --- a/documentation/ru/howtos21_answer=4.html +++ b/documentation/ru/howtos21_answer=4.html @@ -1,7 +1,7 @@ - dvdisaster + Помощь в принятии решения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -141,14 +140,16 @@ dvdisaster помогает защищать ваши носители от по + +
Новости
Обзор
diff --git a/documentation/ru/howtos22.html b/documentation/ru/howtos22.html index 768a6bb..ab0021c 100644 --- a/documentation/ru/howtos22.html +++ b/documentation/ru/howtos22.html @@ -1,7 +1,7 @@ - dvdisaster + Основные настройки для чтения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -280,14 +279,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos22.php b/documentation/ru/howtos22.php index 92657b7..c6060d0 100644 --- a/documentation/ru/howtos22.php +++ b/documentation/ru/howtos22.php @@ -1,6 +1,6 @@ - dvdisaster + Основные настройки для чтения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos22_expand=2.html b/documentation/ru/howtos22_expand=2.html index f69542c..0364376 100644 --- a/documentation/ru/howtos22_expand=2.html +++ b/documentation/ru/howtos22_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Основные настройки для чтения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos22_expand=3.html b/documentation/ru/howtos22_expand=3.html index fb5dcc7..ef1cf22 100644 --- a/documentation/ru/howtos22_expand=3.html +++ b/documentation/ru/howtos22_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Основные настройки для чтения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos22_expand=4.html b/documentation/ru/howtos22_expand=4.html index 117b1c6..ff9a839 100644 --- a/documentation/ru/howtos22_expand=4.html +++ b/documentation/ru/howtos22_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Основные настройки для чтения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos22_expand=5.html b/documentation/ru/howtos22_expand=5.html index 3287f8e..b107a14 100644 --- a/documentation/ru/howtos22_expand=5.html +++ b/documentation/ru/howtos22_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Основные настройки для чтения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos22_expand=6.html b/documentation/ru/howtos22_expand=6.html index 0e8cfae..c4c0921 100644 --- a/documentation/ru/howtos22_expand=6.html +++ b/documentation/ru/howtos22_expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Основные настройки для чтения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -278,14 +277,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos23.html b/documentation/ru/howtos23.html index ae54949..8f25657 100644 --- a/documentation/ru/howtos23.html +++ b/documentation/ru/howtos23.html @@ -1,7 +1,7 @@ - dvdisaster + Создание файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -114,14 +113,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos23.php b/documentation/ru/howtos23.php index f17b421..23c112a 100644 --- a/documentation/ru/howtos23.php +++ b/documentation/ru/howtos23.php @@ -1,6 +1,6 @@ - dvdisaster + Создание файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -251,14 +250,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos23_way=1&expand=1.html b/documentation/ru/howtos23_way=1&expand=1.html index d0718ce..1c5ea87 100644 --- a/documentation/ru/howtos23_way=1&expand=1.html +++ b/documentation/ru/howtos23_way=1&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Создание файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -256,14 +255,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos23_way=1&expand=2.html b/documentation/ru/howtos23_way=1&expand=2.html index beaf6eb..9806b5b 100644 --- a/documentation/ru/howtos23_way=1&expand=2.html +++ b/documentation/ru/howtos23_way=1&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Создание файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -256,14 +255,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos23_way=1.html b/documentation/ru/howtos23_way=1.html index d729e05..3b9b23d 100644 --- a/documentation/ru/howtos23_way=1.html +++ b/documentation/ru/howtos23_way=1.html @@ -1,7 +1,7 @@ - dvdisaster + Создание файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -251,14 +250,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos23_way=2&expand=0.html b/documentation/ru/howtos23_way=2&expand=0.html index a6cf8eb..7f9edb6 100644 --- a/documentation/ru/howtos23_way=2&expand=0.html +++ b/documentation/ru/howtos23_way=2&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Создание файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -188,14 +187,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos23_way=2&expand=1.html b/documentation/ru/howtos23_way=2&expand=1.html index 04e4a3d..5433b97 100644 --- a/documentation/ru/howtos23_way=2&expand=1.html +++ b/documentation/ru/howtos23_way=2&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Создание файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -193,14 +192,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos23_way=2&expand=2.html b/documentation/ru/howtos23_way=2&expand=2.html index f4e2ef2..e27f3fe 100644 --- a/documentation/ru/howtos23_way=2&expand=2.html +++ b/documentation/ru/howtos23_way=2&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Создание файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -188,14 +187,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos23_way=2.html b/documentation/ru/howtos23_way=2.html index a6cf8eb..7f9edb6 100644 --- a/documentation/ru/howtos23_way=2.html +++ b/documentation/ru/howtos23_way=2.html @@ -1,7 +1,7 @@ - dvdisaster + Создание файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -188,14 +187,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos24.html b/documentation/ru/howtos24.html index 4293141..4e3f944 100644 --- a/documentation/ru/howtos24.html +++ b/documentation/ru/howtos24.html @@ -1,7 +1,7 @@ - dvdisaster + Архивация файлов для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -148,14 +147,16 @@ CD/DVD/BD являются теперь одними из наиболее эф + +
Новости
Обзор
diff --git a/documentation/ru/howtos24.php b/documentation/ru/howtos24.php index 2ba92c3..e895dc1 100644 --- a/documentation/ru/howtos24.php +++ b/documentation/ru/howtos24.php @@ -1,6 +1,6 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -144,14 +143,16 @@ dvdisaster попытается извлечь носитель после пр + +
Новости
Обзор
diff --git a/documentation/ru/howtos25.php b/documentation/ru/howtos25.php index 77b2b36..1b0b083 100644 --- a/documentation/ru/howtos25.php +++ b/documentation/ru/howtos25.php @@ -1,6 +1,6 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -142,14 +141,16 @@ dvdisaster попытается извлечь носитель после пр + +
Новости
Обзор
diff --git a/documentation/ru/howtos25_expand=2.html b/documentation/ru/howtos25_expand=2.html index 6cbaaba..a612fcc 100644 --- a/documentation/ru/howtos25_expand=2.html +++ b/documentation/ru/howtos25_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -142,14 +141,16 @@ dvdisaster попытается извлечь носитель после пр + +
Новости
Обзор
diff --git a/documentation/ru/howtos30.html b/documentation/ru/howtos30.html index ab7d6b3..22cf21f 100644 --- a/documentation/ru/howtos30.html +++ b/documentation/ru/howtos30.html @@ -1,7 +1,7 @@ - dvdisaster + Размещение данных для исправления ошибок на носителе @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -153,14 +152,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos30.php b/documentation/ru/howtos30.php index 11d5883..a66d1e8 100644 --- a/documentation/ru/howtos30.php +++ b/documentation/ru/howtos30.php @@ -1,6 +1,6 @@ - dvdisaster + Помощь в принятии решения @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -101,14 +100,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos31.php b/documentation/ru/howtos31.php index da07837..cdd1f09 100644 --- a/documentation/ru/howtos31.php +++ b/documentation/ru/howtos31.php @@ -1,6 +1,6 @@ - dvdisaster + Основные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -156,14 +155,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos32.php b/documentation/ru/howtos32.php index e6ec6a6..40cb0ae 100644 --- a/documentation/ru/howtos32.php +++ b/documentation/ru/howtos32.php @@ -1,6 +1,6 @@ - dvdisaster + Основные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -154,14 +153,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos32_expand=2.html b/documentation/ru/howtos32_expand=2.html index c0f54b8..bacac17 100644 --- a/documentation/ru/howtos32_expand=2.html +++ b/documentation/ru/howtos32_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Основные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -154,14 +153,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos33.html b/documentation/ru/howtos33.html index 5b57ba9..3857da7 100644 --- a/documentation/ru/howtos33.html +++ b/documentation/ru/howtos33.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -246,14 +245,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33.php b/documentation/ru/howtos33.php index 9248c69..6c3f57a 100644 --- a/documentation/ru/howtos33.php +++ b/documentation/ru/howtos33.php @@ -1,6 +1,6 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -246,14 +245,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_expand=1.html b/documentation/ru/howtos33_expand=1.html index 5f8afb6..a71986f 100644 --- a/documentation/ru/howtos33_expand=1.html +++ b/documentation/ru/howtos33_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -251,14 +250,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_expand=2.html b/documentation/ru/howtos33_expand=2.html index fceb81d..06a4225 100644 --- a/documentation/ru/howtos33_expand=2.html +++ b/documentation/ru/howtos33_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -251,14 +250,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=0&expand=0.html b/documentation/ru/howtos33_way=0&expand=0.html index 7933b06..6ca7ee6 100644 --- a/documentation/ru/howtos33_way=0&expand=0.html +++ b/documentation/ru/howtos33_way=0&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -246,14 +245,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=0&expand=1.html b/documentation/ru/howtos33_way=0&expand=1.html index 8632693..c668f07 100644 --- a/documentation/ru/howtos33_way=0&expand=1.html +++ b/documentation/ru/howtos33_way=0&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -251,14 +250,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=0&expand=2.html b/documentation/ru/howtos33_way=0&expand=2.html index 456e65e..05954eb 100644 --- a/documentation/ru/howtos33_way=0&expand=2.html +++ b/documentation/ru/howtos33_way=0&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -251,14 +250,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=0.html b/documentation/ru/howtos33_way=0.html index 7933b06..6ca7ee6 100644 --- a/documentation/ru/howtos33_way=0.html +++ b/documentation/ru/howtos33_way=0.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -246,14 +245,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=1&.html b/documentation/ru/howtos33_way=1&.html index f5a6f0c..ebe4772 100644 --- a/documentation/ru/howtos33_way=1&.html +++ b/documentation/ru/howtos33_way=1&.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -401,14 +400,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=1&expand=0.html b/documentation/ru/howtos33_way=1&expand=0.html index f5a6f0c..ebe4772 100644 --- a/documentation/ru/howtos33_way=1&expand=0.html +++ b/documentation/ru/howtos33_way=1&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -401,14 +400,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=1&expand=1.html b/documentation/ru/howtos33_way=1&expand=1.html index bf79488..8d23ad3 100644 --- a/documentation/ru/howtos33_way=1&expand=1.html +++ b/documentation/ru/howtos33_way=1&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -399,14 +398,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=1&expand=2.html b/documentation/ru/howtos33_way=1&expand=2.html index 0e03711..9f8d886 100644 --- a/documentation/ru/howtos33_way=1&expand=2.html +++ b/documentation/ru/howtos33_way=1&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -399,14 +398,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=1&expand=3.html b/documentation/ru/howtos33_way=1&expand=3.html index a04319f..b47ca99 100644 --- a/documentation/ru/howtos33_way=1&expand=3.html +++ b/documentation/ru/howtos33_way=1&expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -399,14 +398,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=1&expand=4.html b/documentation/ru/howtos33_way=1&expand=4.html index cb42914..6af079c 100644 --- a/documentation/ru/howtos33_way=1&expand=4.html +++ b/documentation/ru/howtos33_way=1&expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -399,14 +398,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=1&expand=5.html b/documentation/ru/howtos33_way=1&expand=5.html index 1f7d6cd..29e8d5d 100644 --- a/documentation/ru/howtos33_way=1&expand=5.html +++ b/documentation/ru/howtos33_way=1&expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -399,14 +398,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=1&expand=6.html b/documentation/ru/howtos33_way=1&expand=6.html index 27e7fa4..ad7a6b7 100644 --- a/documentation/ru/howtos33_way=1&expand=6.html +++ b/documentation/ru/howtos33_way=1&expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -406,14 +405,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=1&expand=7.html b/documentation/ru/howtos33_way=1&expand=7.html index 2d41a71..4fe0069 100644 --- a/documentation/ru/howtos33_way=1&expand=7.html +++ b/documentation/ru/howtos33_way=1&expand=7.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -406,14 +405,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=1.html b/documentation/ru/howtos33_way=1.html index f5a6f0c..ebe4772 100644 --- a/documentation/ru/howtos33_way=1.html +++ b/documentation/ru/howtos33_way=1.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -401,14 +400,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=2&.html b/documentation/ru/howtos33_way=2&.html index fb61022..b12f333 100644 --- a/documentation/ru/howtos33_way=2&.html +++ b/documentation/ru/howtos33_way=2&.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -352,14 +351,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=2&expand=0.html b/documentation/ru/howtos33_way=2&expand=0.html index fb61022..b12f333 100644 --- a/documentation/ru/howtos33_way=2&expand=0.html +++ b/documentation/ru/howtos33_way=2&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -352,14 +351,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=2&expand=1.html b/documentation/ru/howtos33_way=2&expand=1.html index 998318d..7a31144 100644 --- a/documentation/ru/howtos33_way=2&expand=1.html +++ b/documentation/ru/howtos33_way=2&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -357,14 +356,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=2&expand=2.html b/documentation/ru/howtos33_way=2&expand=2.html index 02f6d4a..35935ea 100644 --- a/documentation/ru/howtos33_way=2&expand=2.html +++ b/documentation/ru/howtos33_way=2&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -357,14 +356,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=2&expand=3.html b/documentation/ru/howtos33_way=2&expand=3.html index 3e4a1c3..646982d 100644 --- a/documentation/ru/howtos33_way=2&expand=3.html +++ b/documentation/ru/howtos33_way=2&expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -350,14 +349,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=2&expand=4.html b/documentation/ru/howtos33_way=2&expand=4.html index e4c388b..f998fb1 100644 --- a/documentation/ru/howtos33_way=2&expand=4.html +++ b/documentation/ru/howtos33_way=2&expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -350,14 +349,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=2&expand=5.html b/documentation/ru/howtos33_way=2&expand=5.html index ab8eb08..34d9b14 100644 --- a/documentation/ru/howtos33_way=2&expand=5.html +++ b/documentation/ru/howtos33_way=2&expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -350,14 +349,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=2&expand=6.html b/documentation/ru/howtos33_way=2&expand=6.html index 4dce1ad..85889db 100644 --- a/documentation/ru/howtos33_way=2&expand=6.html +++ b/documentation/ru/howtos33_way=2&expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -350,14 +349,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=2.html b/documentation/ru/howtos33_way=2.html index fb61022..b12f333 100644 --- a/documentation/ru/howtos33_way=2.html +++ b/documentation/ru/howtos33_way=2.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -352,14 +351,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&.html b/documentation/ru/howtos33_way=3&.html index dba57a1..ed989e3 100644 --- a/documentation/ru/howtos33_way=3&.html +++ b/documentation/ru/howtos33_way=3&.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -507,14 +506,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=0.html b/documentation/ru/howtos33_way=3&expand=0.html index dba57a1..ed989e3 100644 --- a/documentation/ru/howtos33_way=3&expand=0.html +++ b/documentation/ru/howtos33_way=3&expand=0.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -507,14 +506,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=1.html b/documentation/ru/howtos33_way=3&expand=1.html index 966cb32..5b2aefe 100644 --- a/documentation/ru/howtos33_way=3&expand=1.html +++ b/documentation/ru/howtos33_way=3&expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -505,14 +504,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=10.html b/documentation/ru/howtos33_way=3&expand=10.html index f94526c..e99fc58 100644 --- a/documentation/ru/howtos33_way=3&expand=10.html +++ b/documentation/ru/howtos33_way=3&expand=10.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -505,14 +504,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=11.html b/documentation/ru/howtos33_way=3&expand=11.html index 8f0ea01..aabb579 100644 --- a/documentation/ru/howtos33_way=3&expand=11.html +++ b/documentation/ru/howtos33_way=3&expand=11.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -505,14 +504,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=2.html b/documentation/ru/howtos33_way=3&expand=2.html index e490458..d0597e3 100644 --- a/documentation/ru/howtos33_way=3&expand=2.html +++ b/documentation/ru/howtos33_way=3&expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -505,14 +504,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=3.html b/documentation/ru/howtos33_way=3&expand=3.html index 7bf55c4..e502ac1 100644 --- a/documentation/ru/howtos33_way=3&expand=3.html +++ b/documentation/ru/howtos33_way=3&expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -505,14 +504,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=4.html b/documentation/ru/howtos33_way=3&expand=4.html index 56834db..6302432 100644 --- a/documentation/ru/howtos33_way=3&expand=4.html +++ b/documentation/ru/howtos33_way=3&expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -505,14 +504,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=5.html b/documentation/ru/howtos33_way=3&expand=5.html index d76bab2..a3ddb89 100644 --- a/documentation/ru/howtos33_way=3&expand=5.html +++ b/documentation/ru/howtos33_way=3&expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -505,14 +504,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=6.html b/documentation/ru/howtos33_way=3&expand=6.html index 526e005..e1ed45b 100644 --- a/documentation/ru/howtos33_way=3&expand=6.html +++ b/documentation/ru/howtos33_way=3&expand=6.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -512,14 +511,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=7.html b/documentation/ru/howtos33_way=3&expand=7.html index 2571462..a260d81 100644 --- a/documentation/ru/howtos33_way=3&expand=7.html +++ b/documentation/ru/howtos33_way=3&expand=7.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -512,14 +511,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=8.html b/documentation/ru/howtos33_way=3&expand=8.html index 42a6b26..c1bfee7 100644 --- a/documentation/ru/howtos33_way=3&expand=8.html +++ b/documentation/ru/howtos33_way=3&expand=8.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -505,14 +504,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3&expand=9.html b/documentation/ru/howtos33_way=3&expand=9.html index 87d50c5..e9d7a5e 100644 --- a/documentation/ru/howtos33_way=3&expand=9.html +++ b/documentation/ru/howtos33_way=3&expand=9.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -505,14 +504,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos33_way=3.html b/documentation/ru/howtos33_way=3.html index dba57a1..ed989e3 100644 --- a/documentation/ru/howtos33_way=3.html +++ b/documentation/ru/howtos33_way=3.html @@ -1,7 +1,7 @@ - dvdisaster + Создание носителя @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -507,14 +506,16 @@ ISO-образа, который вы только что создали. + +
Новости
Обзор
diff --git a/documentation/ru/howtos34.html b/documentation/ru/howtos34.html index 576719e..1f34118 100644 --- a/documentation/ru/howtos34.html +++ b/documentation/ru/howtos34.html @@ -1,7 +1,7 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -116,14 +115,16 @@ dvdisaster определит размер носителя и обновит с + +
Новости
Обзор
diff --git a/documentation/ru/howtos34.php b/documentation/ru/howtos34.php index 371ccdd..e5f4ef7 100644 --- a/documentation/ru/howtos34.php +++ b/documentation/ru/howtos34.php @@ -1,6 +1,6 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -114,14 +113,16 @@ dvdisaster определит размер носителя и обновит с + +
Новости
Обзор
diff --git a/documentation/ru/howtos40.html b/documentation/ru/howtos40.html index e98bd38..321f9c5 100644 --- a/documentation/ru/howtos40.html +++ b/documentation/ru/howtos40.html @@ -1,7 +1,7 @@ - dvdisaster + Восстановление образов носителей @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -144,14 +143,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos40.php b/documentation/ru/howtos40.php index 1e3ea73..07bbd73 100644 --- a/documentation/ru/howtos40.php +++ b/documentation/ru/howtos40.php @@ -1,6 +1,6 @@ - dvdisaster + Основные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -220,14 +219,16 @@ dvdisaster будет создавать до 100 сегментов с имен + +
Новости
Обзор
diff --git a/documentation/ru/howtos41.php b/documentation/ru/howtos41.php index 2af45db..68a0f12 100644 --- a/documentation/ru/howtos41.php +++ b/documentation/ru/howtos41.php @@ -1,6 +1,6 @@ - dvdisaster + Основные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -218,14 +217,16 @@ dvdisaster будет создавать до 100 сегментов с имен + +
Новости
Обзор
diff --git a/documentation/ru/howtos41_expand=2.html b/documentation/ru/howtos41_expand=2.html index 8d55384..ef49410 100644 --- a/documentation/ru/howtos41_expand=2.html +++ b/documentation/ru/howtos41_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Основные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -218,14 +217,16 @@ dvdisaster будет создавать до 100 сегментов с имен + +
Новости
Обзор
diff --git a/documentation/ru/howtos41_expand=3.html b/documentation/ru/howtos41_expand=3.html index d8e5513..0323ea9 100644 --- a/documentation/ru/howtos41_expand=3.html +++ b/documentation/ru/howtos41_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Основные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -218,14 +217,16 @@ dvdisaster будет создавать до 100 сегментов с имен + +
Новости
Обзор
diff --git a/documentation/ru/howtos41_expand=4.html b/documentation/ru/howtos41_expand=4.html index b09499b..0f630fd 100644 --- a/documentation/ru/howtos41_expand=4.html +++ b/documentation/ru/howtos41_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Основные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -218,14 +217,16 @@ dvdisaster будет создавать до 100 сегментов с имен + +
Новости
Обзор
diff --git a/documentation/ru/howtos41_expand=5.html b/documentation/ru/howtos41_expand=5.html index 25b588a..123b0ce 100644 --- a/documentation/ru/howtos41_expand=5.html +++ b/documentation/ru/howtos41_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Основные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -218,14 +217,16 @@ dvdisaster будет создавать до 100 сегментов с имен + +
Новости
Обзор
diff --git a/documentation/ru/howtos42.html b/documentation/ru/howtos42.html index 8fc0fe1..338280e 100644 --- a/documentation/ru/howtos42.html +++ b/documentation/ru/howtos42.html @@ -1,7 +1,7 @@ - dvdisaster + Восстановление образа @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -317,14 +316,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos42.php b/documentation/ru/howtos42.php index d0e479f..fe58170 100644 --- a/documentation/ru/howtos42.php +++ b/documentation/ru/howtos42.php @@ -1,6 +1,6 @@ - dvdisaster + Восстановление образа @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -317,14 +316,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos42_expand=1.html b/documentation/ru/howtos42_expand=1.html index 54066a5..c01922b 100644 --- a/documentation/ru/howtos42_expand=1.html +++ b/documentation/ru/howtos42_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Восстановление образа @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -316,14 +315,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos42_expand=2.html b/documentation/ru/howtos42_expand=2.html index a2e42bc..cc4a247 100644 --- a/documentation/ru/howtos42_expand=2.html +++ b/documentation/ru/howtos42_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Восстановление образа @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -316,14 +315,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos42_expand=3.html b/documentation/ru/howtos42_expand=3.html index bf8ef32..be0bf1d 100644 --- a/documentation/ru/howtos42_expand=3.html +++ b/documentation/ru/howtos42_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Восстановление образа @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -316,14 +315,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos42_expand=4.html b/documentation/ru/howtos42_expand=4.html index c3f33c4..a0ae228 100644 --- a/documentation/ru/howtos42_expand=4.html +++ b/documentation/ru/howtos42_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Восстановление образа @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -316,14 +315,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos43.html b/documentation/ru/howtos43.html index 4153f1f..cf7d366 100644 --- a/documentation/ru/howtos43.html +++ b/documentation/ru/howtos43.html @@ -1,7 +1,7 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -257,14 +256,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos43.php b/documentation/ru/howtos43.php index 9302d46..26f5f23 100644 --- a/documentation/ru/howtos43.php +++ b/documentation/ru/howtos43.php @@ -1,6 +1,6 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -255,14 +254,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos43_expand=2.html b/documentation/ru/howtos43_expand=2.html index 8eb24ae..9ba36c8 100644 --- a/documentation/ru/howtos43_expand=2.html +++ b/documentation/ru/howtos43_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -255,14 +254,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos43_expand=3.html b/documentation/ru/howtos43_expand=3.html index 3aff67d..187c435 100644 --- a/documentation/ru/howtos43_expand=3.html +++ b/documentation/ru/howtos43_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -255,14 +254,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos43_expand=4.html b/documentation/ru/howtos43_expand=4.html index c2b7bb9..6b0304c 100644 --- a/documentation/ru/howtos43_expand=4.html +++ b/documentation/ru/howtos43_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -255,14 +254,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos43_expand=5.html b/documentation/ru/howtos43_expand=5.html index 7dabb20..2d6f82d 100644 --- a/documentation/ru/howtos43_expand=5.html +++ b/documentation/ru/howtos43_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Дополнительные параметры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -255,14 +254,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos50.html b/documentation/ru/howtos50.html index 0f4d90a..73b8fe4 100644 --- a/documentation/ru/howtos50.html +++ b/documentation/ru/howtos50.html @@ -1,7 +1,7 @@ - dvdisaster + Получение информации об образах и данных для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -136,14 +135,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos50.php b/documentation/ru/howtos50.php index 29cd765..813eb58 100644 --- a/documentation/ru/howtos50.php +++ b/documentation/ru/howtos50.php @@ -1,6 +1,6 @@ - dvdisaster + Показать информацию @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -169,14 +168,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos51.php b/documentation/ru/howtos51.php index 9e598bc..78671d5 100644 --- a/documentation/ru/howtos51.php +++ b/documentation/ru/howtos51.php @@ -1,6 +1,6 @@ - dvdisaster + Показать информацию @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -169,14 +168,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos51_expand=1.html b/documentation/ru/howtos51_expand=1.html index b817481..4c4b193 100644 --- a/documentation/ru/howtos51_expand=1.html +++ b/documentation/ru/howtos51_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Показать информацию @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -168,14 +167,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos52.html b/documentation/ru/howtos52.html index f69b8cf..01e754b 100644 --- a/documentation/ru/howtos52.html +++ b/documentation/ru/howtos52.html @@ -1,7 +1,7 @@ - dvdisaster + Результаты для файлов с данными для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -216,14 +215,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos52.php b/documentation/ru/howtos52.php index 7b8d5f3..d378f15 100644 --- a/documentation/ru/howtos52.php +++ b/documentation/ru/howtos52.php @@ -1,6 +1,6 @@ - dvdisaster + Результаты для файлов с данными для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -216,14 +215,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos52_expand=1.html b/documentation/ru/howtos52_expand=1.html index 2e7e3d8..6118a47 100644 --- a/documentation/ru/howtos52_expand=1.html +++ b/documentation/ru/howtos52_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Результаты для файлов с данными для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -215,14 +214,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos53.html b/documentation/ru/howtos53.html index bb3ba42..fd45235 100644 --- a/documentation/ru/howtos53.html +++ b/documentation/ru/howtos53.html @@ -1,7 +1,7 @@ - dvdisaster + Результаты для дополненных образов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -208,14 +207,16 @@ dvdisaster'ом. Поскольку данные для исправления + +
Новости
Обзор
diff --git a/documentation/ru/howtos53.php b/documentation/ru/howtos53.php index 587669a..40e77b7 100644 --- a/documentation/ru/howtos53.php +++ b/documentation/ru/howtos53.php @@ -1,6 +1,6 @@ - dvdisaster + Результаты для дополненных образов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -208,14 +207,16 @@ dvdisaster'ом. Поскольку данные для исправления + +
Новости
Обзор
diff --git a/documentation/ru/howtos53_expand=1.html b/documentation/ru/howtos53_expand=1.html index 4c52a0f..150b46d 100644 --- a/documentation/ru/howtos53_expand=1.html +++ b/documentation/ru/howtos53_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + Результаты для дополненных образов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -207,14 +206,16 @@ dvdisaster'ом. Поскольку данные для исправления + +
Новости
Обзор
diff --git a/documentation/ru/howtos59.html b/documentation/ru/howtos59.html index b225d0e..abc2213 100644 --- a/documentation/ru/howtos59.html +++ b/documentation/ru/howtos59.html @@ -1,7 +1,7 @@ - dvdisaster + Примеры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -212,14 +211,16 @@ ECC, поскольку даные для исправления ошибок р + +
Новости
Обзор
diff --git a/documentation/ru/howtos59.php b/documentation/ru/howtos59.php index e870e5d..7bdc31f 100644 --- a/documentation/ru/howtos59.php +++ b/documentation/ru/howtos59.php @@ -1,6 +1,6 @@ - dvdisaster + Примеры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -210,14 +209,16 @@ ECC, поскольку даные для исправления ошибок р + +
Новости
Обзор
diff --git a/documentation/ru/howtos59_expand=2.html b/documentation/ru/howtos59_expand=2.html index e4d9921..47dd685 100644 --- a/documentation/ru/howtos59_expand=2.html +++ b/documentation/ru/howtos59_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Примеры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -210,14 +209,16 @@ ECC, поскольку даные для исправления ошибок р + +
Новости
Обзор
diff --git a/documentation/ru/howtos59_expand=3.html b/documentation/ru/howtos59_expand=3.html index aa4884d..20577cf 100644 --- a/documentation/ru/howtos59_expand=3.html +++ b/documentation/ru/howtos59_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + Примеры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -210,14 +209,16 @@ ECC, поскольку даные для исправления ошибок р + +
Новости
Обзор
diff --git a/documentation/ru/howtos59_expand=4.html b/documentation/ru/howtos59_expand=4.html index 7c3e421..ee231f6 100644 --- a/documentation/ru/howtos59_expand=4.html +++ b/documentation/ru/howtos59_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + Примеры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -210,14 +209,16 @@ ECC, поскольку даные для исправления ошибок р + +
Новости
Обзор
diff --git a/documentation/ru/howtos59_expand=5.html b/documentation/ru/howtos59_expand=5.html index 911738e..d8343e9 100644 --- a/documentation/ru/howtos59_expand=5.html +++ b/documentation/ru/howtos59_expand=5.html @@ -1,7 +1,7 @@ - dvdisaster + Примеры @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -210,14 +209,16 @@ ECC, поскольку даные для исправления ошибок р + +
Новости
Обзор
diff --git a/documentation/ru/howtos60.html b/documentation/ru/howtos60.html index 339e1dc..5fefc71 100644 --- a/documentation/ru/howtos60.html +++ b/documentation/ru/howtos60.html @@ -1,7 +1,7 @@ - dvdisaster + Общая картина @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -237,14 +236,16 @@ CD/DVD/BD: один носитель может быть утерян, разр + +
Новости
Обзор
diff --git a/documentation/ru/howtos60.php b/documentation/ru/howtos60.php index d948869..115534c 100644 --- a/documentation/ru/howtos60.php +++ b/documentation/ru/howtos60.php @@ -1,6 +1,6 @@ - dvdisaster + исправление ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -195,14 +194,16 @@ x = 19 - 8 - 2 - 3, и, следовательно, x = 6.

+ +

Новости
Обзор
diff --git a/documentation/ru/howtos61.php b/documentation/ru/howtos61.php index 5cff96a..be80dd2 100644 --- a/documentation/ru/howtos61.php +++ b/documentation/ru/howtos61.php @@ -1,6 +1,6 @@ - dvdisaster + правильное использование @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -168,14 +167,16 @@ CD больше не читаются. Проверка + +
Новости
Обзор
diff --git a/documentation/ru/howtos62.php b/documentation/ru/howtos62.php index 7e984d5..cd11f65 100644 --- a/documentation/ru/howtos62.php +++ b/documentation/ru/howtos62.php @@ -1,6 +1,6 @@ - dvdisaster + неправильное использование @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -191,14 +190,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos63.php b/documentation/ru/howtos63.php index 11229e6..7f3b8f9 100644 --- a/documentation/ru/howtos63.php +++ b/documentation/ru/howtos63.php @@ -1,6 +1,6 @@ - dvdisaster + Проверка совместимости образов @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -118,14 +117,16 @@ dvdisaster добавляет на носитель "невидимые" дан + +
Новости
Обзор
diff --git a/documentation/ru/howtos90.php b/documentation/ru/howtos90.php index 120e107..9926b0c 100644 --- a/documentation/ru/howtos90.php +++ b/documentation/ru/howtos90.php @@ -1,6 +1,6 @@ - dvdisaster + с файлами для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -332,14 +331,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos91.php b/documentation/ru/howtos91.php index 241fe34..6f47c67 100644 --- a/documentation/ru/howtos91.php +++ b/documentation/ru/howtos91.php @@ -1,6 +1,6 @@ - dvdisaster + с файлами для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -332,14 +331,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos91_expand=1.html b/documentation/ru/howtos91_expand=1.html index d258406..d05cf5e 100644 --- a/documentation/ru/howtos91_expand=1.html +++ b/documentation/ru/howtos91_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + с файлами для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -331,14 +330,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos91_expand=2.html b/documentation/ru/howtos91_expand=2.html index fc3a006..8a27eee 100644 --- a/documentation/ru/howtos91_expand=2.html +++ b/documentation/ru/howtos91_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + с файлами для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -337,14 +336,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos91_expand=3.html b/documentation/ru/howtos91_expand=3.html index b13ba53..5bcd757 100644 --- a/documentation/ru/howtos91_expand=3.html +++ b/documentation/ru/howtos91_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + с файлами для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -337,14 +336,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos91_expand=4.html b/documentation/ru/howtos91_expand=4.html index 03ef5cb..25ae6cc 100644 --- a/documentation/ru/howtos91_expand=4.html +++ b/documentation/ru/howtos91_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + с файлами для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -331,14 +330,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos92.html b/documentation/ru/howtos92.html index 8cf780c..ebd5bce 100644 --- a/documentation/ru/howtos92.html +++ b/documentation/ru/howtos92.html @@ -1,7 +1,7 @@ - dvdisaster + при дополнении образов данными для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -287,14 +286,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos92.php b/documentation/ru/howtos92.php index 505bc71..e2b12cf 100644 --- a/documentation/ru/howtos92.php +++ b/documentation/ru/howtos92.php @@ -1,6 +1,6 @@ - dvdisaster + при дополнении образов данными для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -287,14 +286,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos92_expand=1.html b/documentation/ru/howtos92_expand=1.html index 4b78ac4..dfcbaf0 100644 --- a/documentation/ru/howtos92_expand=1.html +++ b/documentation/ru/howtos92_expand=1.html @@ -1,7 +1,7 @@ - dvdisaster + при дополнении образов данными для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -286,14 +285,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos92_expand=2.html b/documentation/ru/howtos92_expand=2.html index 609ff11..e6fb4d2 100644 --- a/documentation/ru/howtos92_expand=2.html +++ b/documentation/ru/howtos92_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + при дополнении образов данными для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -292,14 +291,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos92_expand=3.html b/documentation/ru/howtos92_expand=3.html index 40ea575..06aed49 100644 --- a/documentation/ru/howtos92_expand=3.html +++ b/documentation/ru/howtos92_expand=3.html @@ -1,7 +1,7 @@ - dvdisaster + при дополнении образов данными для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -292,14 +291,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos92_expand=4.html b/documentation/ru/howtos92_expand=4.html index 0a192d9..4190bb9 100644 --- a/documentation/ru/howtos92_expand=4.html +++ b/documentation/ru/howtos92_expand=4.html @@ -1,7 +1,7 @@ - dvdisaster + при дополнении образов данными для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -286,14 +285,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtos_winfile.php b/documentation/ru/howtos_winfile.php index 9c4156c..9dfb69e 100644 --- a/documentation/ru/howtos_winfile.php +++ b/documentation/ru/howtos_winfile.php @@ -1,6 +1,6 @@ - dvdisaster + Диалоги и кнопки @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -124,14 +123,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtosa0.php b/documentation/ru/howtosa0.php index 5c348bf..3483ed9 100644 --- a/documentation/ru/howtosa0.php +++ b/documentation/ru/howtosa0.php @@ -1,6 +1,6 @@ - dvdisaster + Выбор привода @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -135,14 +134,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtosa1.php b/documentation/ru/howtosa1.php index f20ab8a..8001c25 100644 --- a/documentation/ru/howtosa1.php +++ b/documentation/ru/howtosa1.php @@ -1,6 +1,6 @@ - dvdisaster + Выбор привода @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -133,14 +132,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtosa2.html b/documentation/ru/howtosa2.html index c91c0e3..1e7c2cd 100644 --- a/documentation/ru/howtosa2.html +++ b/documentation/ru/howtosa2.html @@ -1,7 +1,7 @@ - dvdisaster + Выбор файла образа @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -177,14 +176,16 @@ dvdisaster использует набор средств для создани + +
Новости
Обзор
diff --git a/documentation/ru/howtosa2.php b/documentation/ru/howtosa2.php index 09be69a..7212fb1 100644 --- a/documentation/ru/howtosa2.php +++ b/documentation/ru/howtosa2.php @@ -1,6 +1,6 @@ - dvdisaster + Выбор файла образа @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -175,14 +174,16 @@ dvdisaster использует набор средств для создани + +
Новости
Обзор
diff --git a/documentation/ru/howtosa2_expand=2.html b/documentation/ru/howtosa2_expand=2.html index 82f7ef6..2b90c34 100644 --- a/documentation/ru/howtosa2_expand=2.html +++ b/documentation/ru/howtosa2_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Выбор файла образа @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -175,14 +174,16 @@ dvdisaster использует набор средств для создани + +
Новости
Обзор
diff --git a/documentation/ru/howtosa3.html b/documentation/ru/howtosa3.html index b36ae57..ff841a6 100644 --- a/documentation/ru/howtosa3.html +++ b/documentation/ru/howtosa3.html @@ -1,7 +1,7 @@ - dvdisaster + Выбор файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -174,14 +173,16 @@ dvdisaster использует набор средств для создани + +
Новости
Обзор
diff --git a/documentation/ru/howtosa3.php b/documentation/ru/howtosa3.php index d5547b0..fd95098 100644 --- a/documentation/ru/howtosa3.php +++ b/documentation/ru/howtosa3.php @@ -1,6 +1,6 @@ - dvdisaster + Выбор файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -172,14 +171,16 @@ dvdisaster использует набор средств для создани + +
Новости
Обзор
diff --git a/documentation/ru/howtosa3_expand=2.html b/documentation/ru/howtosa3_expand=2.html index 6e9e75a..7a54eaa 100644 --- a/documentation/ru/howtosa3_expand=2.html +++ b/documentation/ru/howtosa3_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Выбор файла для исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -172,14 +171,16 @@ dvdisaster использует набор средств для создани + +
Новости
Обзор
diff --git a/documentation/ru/howtosa4.html b/documentation/ru/howtosa4.html index efc1df7..8fac564 100644 --- a/documentation/ru/howtosa4.html +++ b/documentation/ru/howtosa4.html @@ -1,7 +1,7 @@ - dvdisaster + Начало действий @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -164,14 +163,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/howtosa4.php b/documentation/ru/howtosa4.php index ad5372f..95e8e3a 100644 --- a/documentation/ru/howtosa4.php +++ b/documentation/ru/howtosa4.php @@ -1,6 +1,6 @@ - dvdisaster + Начало действий @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -162,14 +161,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/imprint.php b/documentation/ru/imprint.php index 7f713ae..0df64a9 100644 --- a/documentation/ru/imprint.php +++ b/documentation/ru/imprint.php @@ -1,6 +1,6 @@ - dvdisaster + Обзор + @@ -11,7 +12,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +49,6 @@

- @@ -114,6 +114,7 @@ dvdisaster хранит данные на CD/DVD (по
Новости
Обзор
+ +
Новости + @@ -121,25 +122,30 @@ dvdisaster хранит данные на CD/DVD (по

+ 28.02.2010
+ + dvdisaster 0.79.2 released +

+ 07.02.2010
+ + Started new development branch 0.79 +

+ 01.10.2009
+ + Assessment of potential vulnerabilities in the windows version +of the GTK library +

+ 10.08.2009
+ + Project represention on SourceForge may be outdated +

08.08.2009
- dvdisaster 0.72.1 released + dvdisaster 0.72.1 released

04.07.2009
- выпущен dvdisaster 0.72 -

- 11.04.2009
- - выпущен dvdisaster 0.72.rc1 -

- 08.03.2009
- - выпущен dvdisaster 0.71.28 -

- 18.01.2009
- - выпущен dvdisaster 0.71.27 + выпущен dvdisaster 0.72

@@ -147,14 +153,16 @@ dvdisaster хранит данные на CD/DVD (
по

diff --git a/documentation/ru/index.php b/documentation/ru/index.php index 33dc658..004638a 100644 --- a/documentation/ru/index.php +++ b/documentation/ru/index.php @@ -1,6 +1,6 @@ - dvdisaster + Примеры исправления ошибок @@ -11,7 +11,7 @@
dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -141,14 +140,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/index10.php b/documentation/ru/index10.php index c1bda6d..f834f9c 100644 --- a/documentation/ru/index10.php +++ b/documentation/ru/index10.php @@ -1,6 +1,6 @@ - dvdisaster + Примеры исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  
К интернет-версии @@ -48,7 +48,6 @@

- @@ -139,14 +138,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/index10_expand=2.html b/documentation/ru/index10_expand=2.html index d68b59b..180ad70 100644 --- a/documentation/ru/index10_expand=2.html +++ b/documentation/ru/index10_expand=2.html @@ -1,7 +1,7 @@ - dvdisaster + Примеры исправления ошибок @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -139,14 +138,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/index20.html b/documentation/ru/index20.html index 2ae2973..d260ee2 100644 --- a/documentation/ru/index20.html +++ b/documentation/ru/index20.html @@ -1,7 +1,7 @@ - dvdisaster + dvdisaster дополняет проверки качества @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -110,14 +109,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/index20.php b/documentation/ru/index20.php index 694b5aa..dc2ddb9 100644 --- a/documentation/ru/index20.php +++ b/documentation/ru/index20.php @@ -1,6 +1,6 @@ - dvdisaster + dvdisaster: за и против @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -108,14 +107,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/index30.php b/documentation/ru/index30.php index d68ee59..831dd7a 100644 --- a/documentation/ru/index30.php +++ b/documentation/ru/index30.php @@ -1,6 +1,6 @@ - dvdisaster + Новости @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,8 +48,8 @@

- + @@ -74,7 +74,126 @@

Новости dvdisaster

Новости
·2009
·2008
·2007
- + + + +
dvdisaster 0.72.1 releaseddvdisaster 0.79.2 released28.02.2010
+ + + + +
+ + + + +
+ + +
+ + Mac OS X binaries are available again as the Mac OS X development environment + has been updated for this version. + RS03 codec development progresses, +but is still far from being finished. + +
+

 
+ + + + + +
Started new development branch 0.7907.02.2010
+ + + + +
+ + + + +
+ + +
+ +The first version of the new development branch (0.79.1) has just +been released. This release is meant for testing new functions; +it is not recommended for doing productive work. See the +download page for information on +what has been changed and how you can participate in testing. + +
+
 
+ + + + + +
Assessment of potential vulnerabilities in the windows version +of the GTK library01.10.2009
+ + + + +
+ + + + +
+ + +
+ +The Windows versions of dvdisaster 0.70.x/0.72.x are shipped with an outdated +GTK library containing vulnerabilities in its image processing routines. +To exploit the vulnerability, manipulated images need to be loaded from +an external source. Since dvdisaster does not contain/use such functions, +these vulnerabilities are not considered to be a threat.

+ +It is not recommended to replace GTK in the 0.70.x/0.72.x versions of +dvdisaster as some interfaces have been changed in newer GTK versions. +Replacing GTK will likely cause severe malfunction.

+ +The windows version of dvdisaster 0.73.1 will have updated interfaces +and will be shipped with a current version of GTK.

+ +Many thanks to all users who brought this issue to my attention. + +

+
 
+ + + + + +
Project represention on SourceForge may be outdated10.08.2009
+ + + + +
+ + + + +
+ + +
+ +Due to the recent functionality changes on SourceForge we are unable +to upload the News, Downloads and CVS contents in time. Please refer +to the respective sections on this site (http://dvdisaster.net) instead. + +
+
 
+ + +
dvdisaster 0.72.1 released 08.08.2009
@@ -93,13 +212,15 @@ Pablo Almeida provided a Portuguese translation for the screen text. Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.

+Update: The workaround is not complete. If the problem persists please +try version 0.79.x.

 
- +
выпущен dvdisaster 0.72выпущен dvdisaster 0.72 04.07.2009
@@ -123,97 +244,19 @@ Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.

 
- - - - - -
выпущен dvdisaster 0.72.rc111.04.2009
- - - - -
- - - - -
- - -
- - Теперь доступен первый кандидат на выпуск из стабильной ветви 0.72. - Среди новых возможностей - поддержка носителей Blu-Ray, низкоуровневое чтение и проверки на C2 - для CD, а также "родная" версия для Mac OS X. - Дополнительную информацию см. здесь download page. - -
-
 
- - - - - -
выпущен dvdisaster 0.71.2808.03.2009
- - - - -
- - - - -
- - -
- - В этой версии исправляются падения из-за "illegal instruction" на x86-машинах, - которые не поддерживают SSE2. Много незначительных исправлений перед кандидатом - на выпуск. - -
-
 
- - - - - -
выпущен dvdisaster 0.71.2718.01.2009
- - - - -
- - - - -
- - -
- - Эта документация, наконец, завершена. Исправлены некоторые падения и несовместимости - с необычными носителями и приводами. В этой версии произведен - последний большой внутренний пересмотр, планировавшийся для версий 0.71.x, поэтому, если - все будет хорошо, то следующей версией будет стабильный кандидат на выпуск. - -
-
 
+ + diff --git a/documentation/ru/news.php b/documentation/ru/news.php index a5a88b6..1199678 100644 --- a/documentation/ru/news.php +++ b/documentation/ru/news.php @@ -1,6 +1,6 @@ download page for information on +what has been changed and how you can participate in testing. +", 14, "2010-02-07T00:00:00Z", "2010-02-07T00:00:00Z"); + +news_item("01.10.2009", "Assessment of potential vulnerabilities in the windows version +of the GTK library", " +The Windows versions of dvdisaster 0.70.x/0.72.x are shipped with an outdated +GTK library containing vulnerabilities in its image processing routines. +To exploit the vulnerability, manipulated images need to be loaded from +an external source. Since dvdisaster does not contain/use such functions, +these vulnerabilities are not considered to be a threat.

+ +It is not recommended to replace GTK in the 0.70.x/0.72.x versions of +dvdisaster as some interfaces have been changed in newer GTK versions. +Replacing GTK will likely cause severe malfunction.

+ +The windows version of dvdisaster 0.73.1 will have updated interfaces +and will be shipped with a current version of GTK.

+ +Many thanks to all users who brought this issue to my attention. +", 13, "2009-10-01T00:00:00Z", "2009-10-01T00:00:00Z"); + +news_item("10.08.2009", "Project represention on SourceForge may be outdated", " +Due to the recent functionality changes on SourceForge we are unable +to upload the News, Downloads and CVS contents in time. Please refer +to the respective sections on this site (http://dvdisaster.net) instead. +", 12, "2009-08-10T00:00:00Z", "2009-08-10T00:00:00Z"); + news_item("08.08.2009", "dvdisaster 0.72.1 released", " Pablo Almeida provided a Portuguese translation for the screen text. Added workaround to avoid Win XP freezing on certain CD-RW/drive pairs.

-"); +Update: The workaround is not complete. If the problem persists please +try version 0.79.x. +", 11, "2009-08-08T00:00:00Z", "2010-02-06T00:00:00Z"); news_item("04.07.2009", "выпущен dvdisaster 0.72", " Это первая стабильная версия ветки 0.72. Игорь Горбунов завершил перевод онлайн-документации на русский язык. Устранены некоторые незначительные ошибки в первом кандидате на выпуск.

-"); +", 10, "2009-07-04T00:00:00Z", "2009-07-04T00:00:00Z"); -news_item("11.04.2009", "выпущен dvdisaster 0.72.rc1", " - Теперь доступен первый кандидат на выпуск из стабильной ветви 0.72. - Среди новых возможностей - поддержка носителей Blu-Ray, низкоуровневое чтение и проверки на C2 - для CD, а также \"родная\" версия для Mac OS X. - Дополнительную информацию см. здесь download page. -"); - -news_item("08.03.2009", "выпущен dvdisaster 0.71.28", " - В этой версии исправляются падения из-за \"illegal instruction\" на x86-машинах, - которые не поддерживают SSE2. Много незначительных исправлений перед кандидатом - на выпуск. -"); - -news_item("18.01.2009", "выпущен dvdisaster 0.71.27", " - Эта документация, наконец, завершена. Исправлены некоторые падения и несовместимости - с необычными носителями и приводами. В этой версии произведен - последний большой внутренний пересмотр, планировавшийся для версий 0.71.x, поэтому, если - все будет хорошо, то следующей версией будет стабильный кандидат на выпуск. -"); +news_finalize(); if($news_flash == 0) end_page(); diff --git a/documentation/ru/news2007.html b/documentation/ru/news2007.html index e0834ba..bb80837 100644 --- a/documentation/ru/news2007.html +++ b/documentation/ru/news2007.html @@ -1,7 +1,7 @@ - dvdisaster + 2007 @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,8 +48,8 @@

- + @@ -101,14 +101,16 @@ + +
Новости
·2009
·2008
·2007
diff --git a/documentation/ru/news2007.php b/documentation/ru/news2007.php index 03153ab..14c9564 100644 --- a/documentation/ru/news2007.php +++ b/documentation/ru/news2007.php @@ -1,6 +1,6 @@ - dvdisaster + 2008 @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,8 +48,8 @@

- + @@ -71,10 +71,10 @@ + +
Новости
·2009
·2008
·2007
-

News archive from 2007

+

News archive from 2008

- +
выпущен dvdisaster 0.71.26выпущен dvdisaster 0.71.26 30.03.2008
@@ -102,7 +102,7 @@
 
- +
Исправлена проблема с предыдущей версией для Windows (0.70.6 / 0.71.25)Исправлена проблема с предыдущей версией для Windows (0.70.6 / 0.71.25) 05.03.2008
@@ -155,7 +155,7 @@
 
- +
dvdisaster 0.70.5 / 0.71.24 - исправление проблем с новыми версиями Linuxdvdisaster 0.70.5 / 0.71.24 - исправление проблем с новыми версиями Linux 24.02.2008
@@ -186,14 +186,16 @@
diff --git a/documentation/ru/news2008.php b/documentation/ru/news2008.php index fac4979..4836c4a 100644 --- a/documentation/ru/news2008.php +++ b/documentation/ru/news2008.php @@ -1,6 +1,6 @@ + + + 2009 + + + + + + + + + + +
+ dvdisaster + Версия 0.72.1 / 0.79 (devel-2) + +  К интернет-версии + + + +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + + + +
+ Содержание + + + + +

+ + + + + + + + + + + + + + + + +
Новости
·2009
·2008
·2007
Обзор
Howto's
Скачать
Вопросы и ответы
Сообщения об ошибках
+

+
+

News archive from 2009

+ + + + + +
выпущен dvdisaster 0.72.rc111.04.2009
+ + + + +
+ + + + +
+ + +
+ + Теперь доступен первый кандидат на выпуск из стабильной ветви 0.72. + Среди новых возможностей - поддержка носителей Blu-Ray, низкоуровневое чтение и проверки на C2 + для CD, а также "родная" версия для Mac OS X. + Дополнительную информацию см. здесь download page. + +
+
 
+ + + + + +
выпущен dvdisaster 0.71.2808.03.2009
+ + + + +
+ + + + +
+ + +
+ + В этой версии исправляются падения из-за "illegal instruction" на x86-машинах, + которые не поддерживают SSE2. Много незначительных исправлений перед кандидатом + на выпуск. + +
+
 
+ + + + + +
выпущен dvdisaster 0.71.2718.01.2009
+ + + + +
+ + + + +
+ + +
+ + Эта документация, наконец, завершена. Исправлены некоторые падения и несовместимости + с необычными носителями и приводами. В этой версии произведен + последний большой внутренний пересмотр, планировавшийся для версий 0.71.x, поэтому, если + все будет хорошо, то следующей версией будет стабильный кандидат на выпуск. + +
+
 
+
+ + + + + + + + + + + + + +
+ + Copyright 2007-2009 Igor Gorbounov.
+ Дословное копирование и распространение всей этой статьи разрешается на любом носителе, при условии, что это уведомление сохраняется. +
+
+
+ + diff --git a/documentation/ru/news2009.php b/documentation/ru/news2009.php new file mode 100644 index 0000000..082bf02 --- /dev/null +++ b/documentation/ru/news2009.php @@ -0,0 +1,42 @@ +download page. +", 8, "2009-04-11T00:00:00Z", "2009-04-11T00:00:00Z"); + +news_item("08.03.2009", "выпущен dvdisaster 0.71.28", " + В этой версии исправляются падения из-за \"illegal instruction\" на x86-машинах, + которые не поддерживают SSE2. Много незначительных исправлений перед кандидатом + на выпуск. +", 7, "2009-03-08T00:00:00Z", "2009-03-08T00:00:00Z"); + +news_item("18.01.2009", "выпущен dvdisaster 0.71.27", " + Эта документация, наконец, завершена. Исправлены некоторые падения и несовместимости + с необычными носителями и приводами. В этой версии произведен + последний большой внутренний пересмотр, планировавшийся для версий 0.71.x, поэтому, если + все будет хорошо, то следующей версией будет стабильный кандидат на выпуск. +", 6, "2009-01-18T00:00:00Z", "2009-01-18T00:00:00Z"); + +if($news_flash == 0) + end_page(); +?> diff --git a/documentation/ru/placeholder.php b/documentation/ru/placeholder.php index da07837..cdd1f09 100644 --- a/documentation/ru/placeholder.php +++ b/documentation/ru/placeholder.php @@ -1,6 +1,6 @@ - dvdisaster + Вопросы и ответы @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -121,14 +120,16 @@ + +
Новости
Обзор
diff --git a/documentation/ru/qa.php b/documentation/ru/qa.php index d21b3e7..fa70ee4 100644 --- a/documentation/ru/qa.php +++ b/documentation/ru/qa.php @@ -1,6 +1,6 @@ - dvdisaster + Технические вопросы @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -79,7 +78,6 @@ 2.1 На какие языки переведена программа?

2.2 Какие типы носителей поддерживаются?

2.3 Какие файловые системы поддерживаются?

-2.4 Что означает "SPTI" и "ASPI"?


@@ -172,64 +170,21 @@ dvdisaster работает исключительно на уровне обр Он не может восстанавливать потерянные или удаленные файлы.

- -2.4 Что означает "SPTI" и "ASPI"?

- -Windows 98 и ME используют драйвера, называемые "ASPI", для доступа к приводам CD/DVD. -Windows NT и ее наследники обеспечивают схожую функциональность -через интерфейс, названный "SPTI", но все еще допускают установку -дополнительных ASPI драйверов.

- ->  Установка ASPI в среде Windows NT/2000/XP - за и против:

- -

Новости
Обзор
- - - -
+Для доступа к приводам не требуются прав администратора.
-ASPI не очень хорошо отображает приводы на буквы устройств Windows.
-Некоторые программы для записи на CD/DVD устанавливают -свои собственные драйвера ASPI. Установка еще одного драйвера ASPI может вызвать конфликт -с существующим ПО.

- ->  Какие версии ASPI рекомендуются для использования с dvdisaster?

- -Adaptec предоставляет свои драйверы ASPI для бесплатного скачивания. -Иногда у версий 4.72.* есть трудности распознавания приводов в среде -Windows 2000/XP. Понижение версии до 4.60 обычно помогает в таких -случаях.

- ->  Неправильные буквы дисков при использовании ASPI!

- -Драйвера ASPI используют свою собственную систему идентификации приводов, которая -не поддерживает схему буквенного обозначения приводов Windows.
-Чтобы обеспечить унифицированный доступ к SPTI и ASPI, -dvdisaster пытается угадать отображение приводов ASPI на буквенные обозначения. -Это, однако, не работает во всех конфигурациях.

- -Функция --list распечатывает -текущее отображение букв приводов.

- ->  Как сделать выбор между SPTI и ASPI?

- -dvdisaster автоматически сделает выбор между SPTI и ASPI, -делая предпочтение в пользу SPTI, если оба драйвера присутствуют. -Использование ASPI может быть сделано принудительно; подробности смотрите в описании -функции --list. - -

- + + diff --git a/documentation/ru/qa10.php b/documentation/ru/qa10.php index f55ef7d..8580525 100644 --- a/documentation/ru/qa10.php +++ b/documentation/ru/qa10.php @@ -1,6 +1,6 @@ 2.1 На какие языки переведена программа?

2.2 Какие типы носителей поддерживаются?

2.3 Какие файловые системы поддерживаются?

-2.4 Что означает "SPTI" и "ASPI"?


@@ -112,51 +111,6 @@ dvdisaster работает исключительно на уровне обр Он не может восстанавливать потерянные или удаленные файлы.

- -2.4 Что означает "SPTI" и "ASPI"?

- -Windows 98 и ME используют драйвера, называемые "ASPI", для доступа к приводам CD/DVD. -Windows NT и ее наследники обеспечивают схожую функциональность -через интерфейс, названный "SPTI", но все еще допускают установку -дополнительных ASPI драйверов.

- ->  Установка ASPI в среде Windows NT/2000/XP - за и против:

- - - - - -
+Для доступа к приводам не требуются прав администратора.
-ASPI не очень хорошо отображает приводы на буквы устройств Windows.
-Некоторые программы для записи на CD/DVD устанавливают -свои собственные драйвера ASPI. Установка еще одного драйвера ASPI может вызвать конфликт -с существующим ПО.

- ->  Какие версии ASPI рекомендуются для использования с dvdisaster?

- -Adaptec предоставляет свои драйверы ASPI для бесплатного скачивания. -Иногда у версий 4.72.* есть трудности распознавания приводов в среде -Windows 2000/XP. Понижение версии до 4.60 обычно помогает в таких -случаях.

- ->  Неправильные буквы дисков при использовании ASPI!

- -Драйвера ASPI используют свою собственную систему идентификации приводов, которая -не поддерживает схему буквенного обозначения приводов Windows.
-Чтобы обеспечить унифицированный доступ к SPTI и ASPI, -dvdisaster пытается угадать отображение приводов ASPI на буквенные обозначения. -Это, однако, не работает во всех конфигурациях.

- -Функция --list распечатывает -текущее отображение букв приводов.

- ->  Как сделать выбор между SPTI и ASPI?

- -dvdisaster автоматически сделает выбор между SPTI и ASPI, -делая предпочтение в пользу SPTI, если оба драйвера присутствуют. -Использование ASPI может быть сделано принудительно; подробности смотрите в описании -функции --list. - -

- - dvdisaster + Сообщения об ошибках @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -226,14 +225,16 @@ CVS-версии только совместно с dvdisaster версии 0.66 + +
Новости
Обзор
diff --git a/documentation/ru/qa20.php b/documentation/ru/qa20.php index 1188023..18f3bdb 100644 --- a/documentation/ru/qa20.php +++ b/documentation/ru/qa20.php @@ -1,6 +1,6 @@ - dvdisaster + Вопросы и ответы @@ -11,7 +11,7 @@ dvdisaster - Версия 0.72 (pl1) + Версия 0.72.1 / 0.79 (devel-2)  К интернет-версии @@ -48,7 +48,6 @@

- @@ -121,14 +120,16 @@ + +
Новости
Обзор
diff --git a/ds-marker.c b/ds-marker.c index 0485760..f5c2573 100644 --- a/ds-marker.c +++ b/ds-marker.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -22,6 +22,7 @@ #include "dvdisaster.h" #define DSM_VERSION "1.00" +#define PSM_VERSION "1.00" /*** *** Create an unique marker for missing sectors @@ -59,7 +60,7 @@ void CreateMissingSector(unsigned char *out, gint64 sector, if(!Closure->dsmVersion) return; - /* make dsm marker unique for this sector and medium */ + /* Yes, add the missing sector attributes */ g_sprintf(buf+0x100,"Dead sector marker version"); g_sprintf(buf+0x120,"%s",DSM_VERSION); @@ -74,6 +75,38 @@ void CreateMissingSector(unsigned char *out, gint64 sector, g_sprintf(buf+0x220,"%s", volume_label ? volume_label : "none"); } +/*** + *** Create an unique padding sector + ***/ + +void CreatePaddingSector(unsigned char *out, gint64 sector, + unsigned char *fingerprint, gint64 fingerprint_sector) +{ char *buf = (char*)out; + char *end_marker; + int end_length; + + memset(buf, 0, 2048); + + g_sprintf(buf, + "dvdisaster padding sector " + "This is a padding sector needed for augmenting the image " + "with error correction data."); + + end_marker = "dvdisaster padding sector end marker"; + end_length = strlen(end_marker); + memcpy(buf+2047-end_length, end_marker, end_length); + + g_sprintf(buf+0x100,"Padding sector marker version"); + g_sprintf(buf+0x120,"%s",DSM_VERSION); + g_sprintf(buf+0x140,"Padding sector number"); + g_sprintf(buf+0x160,"%lld", (long long)sector); + g_sprintf(buf+0x180,"Medium fingerprint"); + if(fingerprint) memcpy(buf+0x1a0, fingerprint, 16); + else memcpy(buf+0x1b0, "none", 4); + g_sprintf(buf+0x1c0,"Medium fingerprint sector"); + g_sprintf(buf+0x1e0,"%lld", (long long)fingerprint_sector); +} + /*** *** helper function ***/ @@ -162,6 +195,26 @@ int CheckForMissingSector(unsigned char *buf, gint64 sector, return SECTOR_MISSING; } +int CheckForMissingSectors(unsigned char *buf, gint64 sector, + unsigned char *fingerprint, gint64 fingerprint_sector, + int n_sectors, gint64 *first_defect) +{ int i,result; + + for(i=0; iverify(method); + method->verify(method); } /* @@ -99,7 +99,6 @@ typedef enum MODE_CMP_IMAGES, MODE_DEBUG_MAINT1, MODE_ERASE, - MODE_LIST_ASPI, MODE_MARKED_IMAGE, MODE_MERGE_IMAGES, MODE_RANDOM_ERR, @@ -126,8 +125,8 @@ typedef enum MODIFIER_FILL_UNREADABLE, MODIFIER_IGNORE_FATAL_SENSE, MODIFIER_INTERNAL_REREADS, - MODIFIER_QUERY_SIZE, - MODIFIER_NEW_DS_MARKER, + MODIFIER_OLD_DS_MARKER, + MODIFIER_PREFETCH_SECTORS, MODIFIER_RANDOM_SEED, MODIFIER_READ_ATTEMPTS, MODIFIER_READ_MEDIUM, @@ -137,7 +136,6 @@ typedef enum MODIFIER_SIMULATE_DEFECTS, MODIFIER_SPEED_WARNING, MODIFIER_SPINUP_DELAY, - MODIFIER_SPLIT_FILES, MODIFIER_TRUNCATE, MODIFIER_VERSION, } run_mode; @@ -192,6 +190,34 @@ int main(int argc, char *argv[]) _independent_ of the actual locale! */ #ifdef WITH_NLS_YES + +#if 0 //WIN_CONSOLE + /* We need to manually set the code page when running + in the console */ + + if(!g_getenv("OUTPUT_CHARSET")) /* User may override this */ + { gchar *unix_locale = g_win32_getlocale(); + + if(!strncmp(unix_locale, "cs", 2)) + g_setenv("OUTPUT_CHARSET", "CP852", 1); + + if(!strncmp(unix_locale, "de", 2)) + g_setenv("OUTPUT_CHARSET", "CP850", 1); + + if(!strncmp(unix_locale, "it", 2)) + g_setenv("OUTPUT_CHARSET", "CP850", 1); + + if(!strncmp(unix_locale, "pt_BR", 4)) + g_setenv("OUTPUT_CHARSET", "CP850", 1); + + if(!strncmp(unix_locale, "ru", 2)) + g_setenv("OUTPUT_CHARSET", "CP855", 1); + + if(!strncmp(unix_locale, "sv", 2)) + g_setenv("OUTPUT_CHARSET", "CP850", 1); + } +#endif /* WIN_CONSOLE */ + #ifdef SYS_MINGW if(!g_getenv("LANG")) /* Unix style setting has precedence */ { LANGID lang_id; @@ -237,7 +263,7 @@ int main(int argc, char *argv[]) #ifdef WIN_CONSOLE g_setenv("OUTPUT_CHARSET", "CP860", 1); #else - g_setenv("OUTPUT_CHARSET", "CP1251", 1); + g_setenv("OUTPUT_CHARSET", "CP1252", 1); #endif } break; @@ -263,6 +289,7 @@ int main(int argc, char *argv[]) } #endif /* SYS_MINGW */ + /* This is necessary, but feels broken */ setlocale(LC_CTYPE, ""); setlocale(LC_MESSAGES, ""); textdomain("dvdisaster"); @@ -337,6 +364,7 @@ int main(int argc, char *argv[]) static struct option long_options[] = { {"adaptive-read", 0, 0, MODIFIER_ADAPTIVE_READ}, {"auto-suffix", 0, 0, MODIFIER_AUTO_SUFFIX}, + {"assume", 1, 0, 'a'}, {"byteset", 1, 0, MODE_BYTESET }, {"copy-sector", 1, 0, MODE_COPY_SECTOR }, {"compare-images", 1, 0, MODE_CMP_IMAGES }, @@ -352,6 +380,7 @@ int main(int argc, char *argv[]) {"device", 0, 0, 'd'}, {"driver", 1, 0, MODIFIER_DRIVER }, {"ecc", 1, 0, 'e'}, + {"ecc-target", 1, 0, 'o'}, {"eject", 0, 0, MODIFIER_EJECT }, {"erase", 1, 0, MODE_ERASE }, {"fill-unreadable", 1, 0, MODIFIER_FILL_UNREADABLE }, @@ -367,9 +396,9 @@ int main(int argc, char *argv[]) {"marked-image", 1, 0, MODE_MARKED_IMAGE }, {"merge-images", 1, 0, MODE_MERGE_IMAGES }, {"method", 2, 0, 'm' }, - {"new-ds-marker", 0, 0, MODIFIER_NEW_DS_MARKER }, + {"old-ds-marker", 0, 0, MODIFIER_OLD_DS_MARKER }, + {"prefetch-sectors", 1, 0, MODIFIER_PREFETCH_SECTORS }, {"prefix", 1, 0, 'p'}, - {"query-size", 1, 0, MODIFIER_QUERY_SIZE }, {"random-errors", 1, 0, MODE_RANDOM_ERR }, {"random-image", 1, 0, MODE_RANDOM_IMAGE }, {"random-seed", 1, 0, MODIFIER_RANDOM_SEED }, @@ -389,8 +418,7 @@ int main(int argc, char *argv[]) {"sim-defects", 1, 0, MODIFIER_SIMULATE_DEFECTS}, {"speed-warning", 2, 0, MODIFIER_SPEED_WARNING}, {"spinup-delay", 1, 0, MODIFIER_SPINUP_DELAY}, - {"split-files", 0, 0, MODIFIER_SPLIT_FILES}, - {"test", 0, 0, 't'}, + {"test", 2, 0, 't'}, {"threads", 1, 0, 'x'}, {"truncate", 2, 0, MODIFIER_TRUNCATE}, {"unlink", 0, 0, 'u'}, @@ -401,23 +429,30 @@ int main(int argc, char *argv[]) }; c = getopt_long(argc, argv, - "cd:e:fhi:j:lm::n:p:r::s::tuvx:", + "a:cd:e:fhi:j:lm::n:o:p:r::s::t::uvx:", long_options, &option_index); if(c == -1) break; switch(c) - { case 'r': mode = MODE_SEQUENCE; sequence |= 1<examineRS02 = TRUE; + if(strstr(optarg, "rs03") || strstr(optarg, "RS03")) + Closure->examineRS03 = TRUE; + break; case 'c': mode = MODE_SEQUENCE; sequence |= 1<device); + Closure->device = g_strdup(optarg); + break; + } + case 'e': if(optarg) + { g_free(Closure->eccName); + Closure->eccName = g_strdup(optarg); + } + break; case 'f': mode = MODE_SEQUENCE; sequence |= 1<unlinkImage = TRUE; break; case 'h': mode = MODE_HELP; break; case 'i': if(optarg) { g_free(Closure->imageName); @@ -427,7 +462,6 @@ int main(int argc, char *argv[]) case 'j': if(optarg) Closure->sectorSkip = atoi(optarg) & ~0xf; if(Closure->sectorSkip<0) Closure->sectorSkip = 0; break; - case 'l': mode = MODE_LIST_ASPI; break; case 'm': if(optarg && strlen(optarg) == 4) { g_free(Closure->methodName); Closure->methodName = g_strdup(optarg); @@ -445,10 +479,11 @@ int main(int argc, char *argv[]) else Closure->mediumSize = (gint64)atoll(optarg); break; } - case 'e': if(optarg) - { g_free(Closure->eccName); - Closure->eccName = g_strdup(optarg); - } + case 'o': if(!strcmp(optarg, "file")) + Closure->eccTarget = ECC_FILE; + else if(!strcmp(optarg, "image")) + Closure->eccTarget = ECC_IMAGE; + else Stop(_("-o/--ecc-target expects 'file' or 'image'")); break; case 'p': if(optarg) { g_free(Closure->imageName); @@ -459,14 +494,19 @@ int main(int argc, char *argv[]) g_sprintf(Closure->imageName,"%s.iso",optarg); } break; - case 'd': if(optarg) - { g_free(Closure->device); - Closure->device = g_strdup(optarg); - break; - } - case 'v': Closure->verbose = TRUE; - break; + case 'r': mode = MODE_SEQUENCE; sequence |= 1<verbose = TRUE; + break; + case 't': mode = MODE_SEQUENCE; sequence |= 1<quickVerify = TRUE; + break; + case 'u': Closure->unlinkImage = TRUE; break; case 'x': Closure->codecThreads = atoi(optarg); if(Closure->codecThreads < 1 || Closure->codecThreads > MAX_CODEC_THREADS) Stop(_("--threads must be 1..%d\n"), MAX_CODEC_THREADS); @@ -543,15 +583,16 @@ int main(int argc, char *argv[]) } } break; - case MODIFIER_NEW_DS_MARKER: - Closure->dsmVersion = 1; + case MODIFIER_OLD_DS_MARKER: + Closure->dsmVersion = 0; break; - case MODIFIER_QUERY_SIZE: - if(!strcmp(optarg, "drive")) Closure->querySize = 0; - else if(!strcmp(optarg, "udf")) Closure->querySize = 1; - else if(!strcmp(optarg, "ecc")) Closure->querySize = 2; - else Stop("--query-size requires one of these arguments: drive udf ecc\n"); - break; + case MODIFIER_PREFETCH_SECTORS: + Closure->prefetchSectors = atoi(optarg); + if( Closure->prefetchSectors < 32 + || Closure->prefetchSectors > 8096) + Stop(_("--prefetch-sectors must be in range 32...8096")); + break; + case MODIFIER_RANDOM_SEED: if(optarg) Closure->randomSeed = atoi(optarg); break; @@ -601,9 +642,6 @@ int main(int argc, char *argv[]) if(optarg) Closure->speedWarning = atoi(optarg); else Closure->speedWarning=10; break; - case MODIFIER_SPLIT_FILES: - Closure->splitFiles = 1; - break; case MODIFIER_CLV_SPEED: Closure->driveSpeed = atoi(optarg); break; @@ -848,10 +886,6 @@ int main(int argc, char *argv[]) break; #ifdef SYS_MINGW - case MODE_LIST_ASPI: - ListAspiDrives(); - break; - case MODE_SIGN: WriteSignature(); exit(0); @@ -886,62 +920,64 @@ int main(int argc, char *argv[]) " -d,--device device - read from given device (default: %s)\n" " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" " -i,--image imagefile - name of image file (default: medium.iso)\n" - " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n"), - Closure->device); + " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" + " -o,--ecc-target [file image] - where to put ecc data in RS03\n"), + Closure->device); -#ifdef SYS_MINGW - PrintCLI(_(" -l,--list - list drives available under ASPI manager\n\n")); -#else PrintCLI("\n"); -#endif - PrintCLI(_("Tweaking options (see manual before using!)\n" - " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" - " -m n - list/select error correction methods (default: RS01)\n" - " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" - " maximum error correction image size (in sectors)\n" - " -v,--verbose - more diagnostic messages\n" -// " -x, --threads n - use n threads for en-/decoding (if supported by codec)\n" - " --adaptive-read - use optimized strategy for reading damaged media\n" - " --auto-suffix - automatically add .iso and .ecc file suffixes\n" - " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" - " --dao - assume DAO disc; do not trim image end\n" - " --defective-dump d - directory for saving incomplete raw sectors\n" - " --eject - eject medium after successful read\n" - " --fill-unreadable n - fill unreadable sectors with byte n\n" - " --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" - " --internal-rereads n - drive may attempt n rereads before reporting an error\n" - " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" - " --raw-mode n - mode for raw reading CD media (20 or 21)\n" - " --read-attempts n-m - attempts n upto m reads of a defective sector\n" - " --read-medium n - read the whole medium up to n times\n" - " --read-raw - performs read in raw mode if possible\n" - " --speed-warning n - print warning if speed changes by more than n percent\n" - " --spinup-delay n - wait n seconds for drive to spin up\n" - " --split-files - split image into files <= 2GB\n\n")); + PrintCLI(_("Tweaking options (see manual before using!)\n")); + PrintCLI(_(" -a,--assume x,y,... - assume image is augmented with codec(s) x,y,...\n")); + PrintCLI(_(" -j,--jump n - jump n sectors forward after a read error (default: 16)\n")); + PrintCLI(_(" -m n - list/select error correction methods (default: RS01)\n")); + PrintCLI(_(" -n,--redundancy n%% - error correction file redundancy (in percent), or\n" + " maximum error correction image size (in sectors)\n")); + PrintCLI(_(" -v,--verbose - more diagnostic messages\n")); + PrintCLI(_(" -x,--threads n - use n threads for en-/decoding (if supported by codec)\n")); + PrintCLI(_(" --adaptive-read - use optimized strategy for reading damaged media\n")); + PrintCLI(_(" --auto-suffix - automatically add .iso and .ecc file suffixes\n")); + PrintCLI(_(" --cache-size n - image cache size in MB during -c mode (default: 32MB)\n")); + PrintCLI(_(" --dao - assume DAO disc; do not trim image end\n")); + PrintCLI(_(" --defective-dump d - directory for saving incomplete raw sectors\n")); +#ifdef SYS_LINUX + PrintCLI(_(" --driver=sg - use alternative sg driver (see man page!)\n")); +#endif + PrintCLI(_(" --eject - eject medium after successful read\n")); + PrintCLI(_(" --fill-unreadable n - fill unreadable sectors with byte n\n")); + PrintCLI(_(" --ignore-fatal-sense - continue reading after potentially fatal error conditon\n")); + PrintCLI(_(" --internal-rereads n - drive may attempt n rereads before reporting an error\n")); + PrintCLI(_(" --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n")); + PrintCLI(_(" --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMB)\n")); + PrintCLI(_(" --raw-mode n - mode for raw reading CD media (20 or 21)\n")); + PrintCLI(_(" --read-attempts n-m - attempts n upto m reads of a defective sector\n")); + PrintCLI(_(" --read-medium n - read the whole medium up to n times\n")); + PrintCLI(_(" --read-raw - performs read in raw mode if possible\n")); + PrintCLI(_(" --speed-warning n - print warning if speed changes by more than n percent\n")); + PrintCLI(_(" --spinup-delay n - wait n seconds for drive to spin up\n")); if(Closure->debugMode) - { PrintCLI(_("Debugging options (purposefully undocumented and possibly harmful)\n" - " --debug - enables the following options\n" - " --byteset s,i,b - set byte i in sector s to b\n" - " --cdump - creates C #include file dumps instead of hexdumps\n" - " --compare-images a,b - compare sectors in images a and b\n" - " --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" - " --erase sector - erase the given sector\n" - " --erase n-m - erase sectors n - m, inclusively\n" - " --marked-image n - create image with n marked random sectors\n" - " --merge-images a,b merge image a with b (a receives sectors from b)\n" - " --random-errors r,e seed image with (correctable) random errors\n" - " --random-image n - create image with n sectors of random numbers\n" - " --random-seed n - random seed for built-in random number generator\n" - " --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" - " --read-sector n - shows hexdump of the given sector from medium in drive\n" - " --screen-shot - useful for generating screen shots\n" - " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" - " --show-sector n - shows hexdump of the given sector in an image file\n" - " --sim-defects n - simulate n%% defective sectors on medium\n" - " --truncate n - truncates image to n sectors\n" - " --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n\n")); + { PrintCLI("\n"); + PrintCLI(_("Debugging options (purposefully undocumented and possibly harmful)\n")); + PrintCLI(_(" --debug - enables the following options\n")); + PrintCLI(_(" --byteset s,i,b - set byte i in sector s to b\n")); + PrintCLI(_(" --cdump - creates C #include file dumps instead of hexdumps\n")); + PrintCLI(_(" --compare-images a,b - compare sectors in images a and b\n")); + PrintCLI(_(" --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n")); + PrintCLI(_(" --erase sector - erase the given sector\n")); + PrintCLI(_(" --erase n-m - erase sectors n - m, inclusively\n")); + PrintCLI(_(" --marked-image n - create image with n marked random sectors\n")); + PrintCLI(_(" --merge-images a,b merge image a with b (a receives sectors from b)\n")); + PrintCLI(_(" --random-errors r,e seed image with (correctable) random errors\n")); + PrintCLI(_(" --random-image n - create image with n sectors of random numbers\n")); + PrintCLI(_(" --random-seed n - random seed for built-in random number generator\n")); + PrintCLI(_(" --raw-sector n - shows hexdump of the given raw sector from medium in drive\n")); + PrintCLI(_(" --read-sector n - shows hexdump of the given sector from medium in drive\n")); + PrintCLI(_(" --screen-shot - useful for generating screen shots\n")); + PrintCLI(_(" --send-cdb arg - executes given cdb at drive; kills system if used wrong\n")); + PrintCLI(_(" --show-sector n - shows hexdump of the given sector in an image file\n")); + PrintCLI(_(" --sim-defects n - simulate n%% defective sectors on medium\n")); + PrintCLI(_(" --truncate n - truncates image to n sectors\n")); + PrintCLI(_(" --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n\n")); } #ifdef WIN_CONSOLE diff --git a/dvdisaster.h b/dvdisaster.h index 3449948..ece5b31 100644 --- a/dvdisaster.h +++ b/dvdisaster.h @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -110,6 +110,11 @@ #define MAX_CODEC_THREADS 32 /* not including IO and GUI */ +/* Definitions for Closure->eccTarget */ + +#define ECC_FILE 0 +#define ECC_IMAGE 1 + /*** *** Our global closure (encapsulation of global variables) ***/ @@ -139,9 +144,11 @@ typedef struct _GlobalClosure gint64 savedBDSize2; gint64 mediumSize; /* Maximum medium size (for augmented images) */ int cacheMB; /* Cache setting for the parity codec, in megabytes */ + int prefetchSectors; /* Prefetch setting per encoder thread */ int codecThreads; /* Number of threads to use for RS encoders */ int sectorSkip; /* Number of sectors to skip after read error occurs */ char *redundancy; /* Error correction code redundancy */ + int eccTarget; /* 0=file; 1=augmented image */ int readRaw; /* Read CD sectors raw + verify them */ int rawMode; /* mode for mode page */ int minReadAttempts; /* minimum reading attempts */ @@ -155,14 +162,16 @@ typedef struct _GlobalClosure int noTruncate; /* do not truncate image at the end */ int dsmVersion; /* 1 means new style dead sector marker */ int unlinkImage; /* delete image after ecc file creation */ + int confirmDeletion; /* do not ask whether files should be deleted */ int driveSpeed; /* currently unused */ int debugMode; /* may activate additional features */ int debugCDump; /* dump as #include file instead of hexdump */ int verbose; /* may activate additional messages */ + int quickVerify; /* do only non time-consuming verify actions */ int screenShotMode; /* screen shot mode */ - int splitFiles; /* limit image files to 2GB */ int autoSuffix; /* automatically extend files with suffices .iso/.ecc */ - int querySize; /* what sources are used for image size queries */ + int examineRS02; /* perform deep search for RS02 structures */ + int examineRS03; /* perform deep search for RS03 structures */ int readAndCreate; /* automatically create .ecc file after reading an image */ int enableCurveSwitch; /* TRUE in readAndCreateMode after reading is complete */ int welcomeMessage; /* just print dvdisaster logo if FALSE */ @@ -192,6 +201,8 @@ typedef struct _GlobalClosure char *browser; /* Name of preferred WEB browser */ char bs[256]; /* A string of 255 backspace characters */ + char sp[256]; /* A string of 255 space characters */ + int progressLength; /* Length of last progress msg printed */ GThread *mainThread; /* Thread of the main() routine */ void (*cleanupProc)(gpointer); /* Procedure to cleanup running threads after an error condition */ @@ -199,14 +210,6 @@ typedef struct _GlobalClosure char *errorTitle; /* Title to show in error dialogs */ gint32 randomSeed; /* for the random number generator */ -#ifdef SYS_MINGW - /*** Hooks into the ASPI library */ - - void *aspiLib; - unsigned long (*GetASPI32SupportInfo)(void); - unsigned long (*SendASPI32Command)(void*); -#endif - guint32 *crcCache; /* sectorwise CRC32 for last image read */ char *crcImageName; /* file name of cached image */ unsigned char md5Cache[16]; /* md5sum of last image read */ @@ -317,14 +320,9 @@ extern int exitCode; /* value to use on exit() */ #define MAX_FILE_SEGMENTS 100 typedef struct _LargeFile -{ int fileSegment[MAX_FILE_SEGMENTS]; - int flags; - mode_t mode; - int segment; +{ int fileHandle; gint64 offset; - char *basename; - char *suffix; - int namelen; + char *path; gint64 size; } LargeFile; @@ -357,6 +355,15 @@ typedef struct _EccInfo struct MD5Context md5Ctxt; /* md5 context of crc portion of file */ } EccInfo; +/*** + *** Aligned 64bit data types + *** + * Needed to prevent 4 byte packing on 32bit systems. + */ + +#define aligned_gint64 gint64 __attribute__((aligned(8))) +#define aligned_guint64 guint64 __attribute__((aligned(8))) + /*** *** The .ecc file header ***/ @@ -370,7 +377,8 @@ typedef struct _EccInfo #define MFLAG_DEVEL (1<<0) /* for methodFlags[3] */ #define MFLAG_RC (1<<1) -#define MFLAG_DATA_MD5 (1<<0) /* specific to RS03 */ +#define MFLAG_DATA_MD5 (1<<0) /* RS03: md5sum for data part available */ +#define MFLAG_ECC_FILE (1<<1) /* RS03: This is a ecc file */ typedef struct _EccHeader { gint8 cookie[12]; /* "*dvdisaster*" */ @@ -385,15 +393,40 @@ typedef struct _EccHeader gint32 creatorVersion; /* which dvdisaster version created this */ gint32 neededVersion; /* oldest version which can decode this file */ gint32 fpSector; /* sector used to calculate mediumFP */ - guint32 selfCRC; /* CRC32 of EccHeader (currently RS02 only) -- since V0.66 --*/ + guint32 selfCRC; /* CRC32 of EccHeader -- since V0.66 --*/ guint8 crcSum[16]; /* md5sum of crc code section of RS02 .iso file */ gint32 inLast; /* bytes contained in last sector */ - gint8 padding[3976]; /* pad to 4096 bytes: room for future expansion */ + aligned_guint64 sectorsPerLayer; /* layer size for RS03 */ + gint8 padding[3968]; /* pad to 4096 bytes: room for future expansion */ /* Note: Bytes 2048 and up are currently used by the RS02/RS03 codec for a copy of the first ecc blocks CRC sums. */ } EccHeader; +/*** + *** The CRC block data structure + *** + * RS03 uses this data structure in its CRC layer. + */ + +typedef struct _CrcBlock +{ guint32 crc[256]; /* Checksum for the data sectors */ + gint8 cookie[12]; /* "*dvdisaster*" */ + gint8 method[4]; /* e.g. "RS03" */ + gint8 methodFlags[4]; /* 0-2 for free use by the respective methods; 3 see above */ + gint32 creatorVersion; /* which dvdisaster version created this */ + gint32 neededVersion; /* oldest version which can decode this file */ + gint32 fpSector; /* sector used to calculate mediumFP */ + guint8 mediumFP[16]; /* fingerprint of FINGERPRINT SECTOR */ + guint8 mediumSum[16]; /* complete md5sum of whole medium */ + aligned_guint64 dataSectors;/* number of sectors of the payload (e.g. iso file sys) */ + gint32 inLast; /* bytes contained in last sector */ + gint32 dataBytes; /* data bytes per ecc block */ + gint32 eccBytes; /* ecc bytes per ecc block */ + aligned_guint64 sectorsPerLayer; /* for recalculation of layout */ + guint32 selfCRC; /* CRC32 of ourself, zero padded to 2048 bytes */ +} CrcBlock; + /*** *** forward declarations ***/ @@ -524,6 +557,7 @@ void RedrawCurve(Curve*, int); ***/ void HexDump(unsigned char*, int, int); +void LaTeXify(gint32*, int, int); void CopySector(char*); void Byteset(char*); void Erase(char*); @@ -551,8 +585,11 @@ enum void CreateMissingSector(unsigned char*, gint64, unsigned char*, gint64, char*); int CheckForMissingSector(unsigned char*, gint64, unsigned char*, gint64); +int CheckForMissingSectors(unsigned char*, gint64, unsigned char*, gint64, int, gint64*); void ExplainMissingSector(unsigned char*, gint64, int, int); +void CreatePaddingSector(unsigned char*, gint64, unsigned char*, gint64); + /*** *** endian.c ***/ @@ -561,6 +598,7 @@ guint32 SwapBytes32(guint32); guint64 SwapBytes64(guint64); void SwapEccHeaderBytes(EccHeader*); void SwapDefectiveHeaderBytes(struct _DefectiveSectorHeader*); +void SwapCrcBlockBytes(CrcBlock*); /*** *** file.c @@ -635,7 +673,8 @@ typedef struct _ReedSolomonTables gint32 ndata; /* data bytes per ecc block */ gint32 shiftInit; /* starting value for iteratively processing parity */ - guint8 *bLut[GF_FIELDSIZE]; /* experimental 8bit lookup table */ + guint8 *bLut[GF_FIELDSIZE]; /* 8bit encoder lookup table */ + guint8 *synLut; /* Syndrome calculation speedup */ } ReedSolomonTables; GaloisTables* CreateGaloisTables(gint32); @@ -868,11 +907,14 @@ GtkWidget* CreateToolBar(GtkWidget*); typedef struct _Method { char name[4]; /* Method name tag */ + guint32 properties; /* see definition above */ char *description; /* Fulltext description */ char *menuEntry; /* Text for use in preferences menu */ void (*create)(struct _Method*); /* Creates an error correction file */ void (*fix)(struct _Method*); /* Fixes a damaged image */ void (*verify)(struct _Method*); /* Verifies image with ecc data */ + int (*recognizeEccFile)(struct _Method*, LargeFile*); /* checks whether we can handle this ecc file */ + int (*recognizeEccImage)(struct _Method*, LargeFile*); /* checks whether we can handle this augmented image */ void (*createVerifyWindow)(struct _Method*, GtkWidget*); void (*createCreateWindow)(struct _Method*, GtkWidget*); void (*createFixWindow)(struct _Method*, GtkWidget*); @@ -885,7 +927,7 @@ typedef struct _Method void (*destroy)(struct _Method*); int tabWindowIndex; /* our position in the (invisible) notebook */ void *widgetList; /* linkage to window system */ - EccHeader *lastEh; /* copy of EccHeader from last EccFileMethod() call */ + EccHeader *lastEh; /* copy of EccHeader from last EccMethod() call */ } Method; void BindMethods(void); /* created by configure in method-link.c */ @@ -894,8 +936,7 @@ void CollectMethods(void); void RegisterMethod(Method*); void ListMethods(void); Method* FindMethod(char*); -EccHeader* FindHeaderInImage(char*); -Method *EccFileMethod(int); +Method *EccMethod(int); void CallMethodDestructors(void); /*** @@ -915,6 +956,7 @@ void PrintLog(char*, ...); void Verbose(char*, ...); void PrintTimeToLog(GTimer*, char*, ...); void PrintProgress(char*, ...); +void ClearProgress(void); void PrintCLIorLabel(GtkLabel*, char*, ...); void LogWarning(char*, ...); @@ -943,6 +985,9 @@ void TimedInsensitive(GtkWidget*, int); int GetLabelWidth(GtkLabel*, char*, ...); void LockLabelSize(GtkLabel*, char*, ...); +int ConfirmImageDeletion(char *); +int ConfirmEccDeletion(char *); + /*** *** preferences.c ***/ @@ -952,7 +997,8 @@ void UpdateMethodPreferences(void); void HidePreferences(void); void FreePreferences(void*); -void UpdatePrefsQuerySize(void); +void UpdatePrefsExhaustiveSearch(void); +void UpdatePrefsConfirmDeletion(void); void RegisterPreferencesHelpWindow(LabelWithOnlineHelp*); /*** @@ -1150,16 +1196,18 @@ typedef struct _AlignedBuffer AlignedBuffer *CreateAlignedBuffer(int); void FreeAlignedBuffer(AlignedBuffer*); -void OpenAspi(void); -void CloseAspi(void); -void ListAspiDrives(void); - char* DefaultDevice(void); gint64 CurrentImageSize(void); gint64 CurrentImageCapacity(void); int SendReadCDB(char*, unsigned char*, unsigned char*, int, int); +/*** + *** rs-decoder.c + ***/ + +int TestErrorSyndromes(ReedSolomonTables*, unsigned char*); + /*** *** rs-encoder.c and friends ***/ diff --git a/ecc-rs01.c b/ecc-rs01.c index d68d253..a54f802 100644 --- a/ecc-rs01.c +++ b/ecc-rs01.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -44,6 +44,10 @@ void register_rs01(void) method->fix = RS01Fix; method->verify = RS01Verify; + /*** Linkage to rs01-common.c */ + + method->recognizeEccFile = RS01Recognize; + /*** Linkage to rs01-window.c */ method->createCreateWindow = CreateRS01EWindow; diff --git a/ecc-rs02.c b/ecc-rs02.c index 249f96e..c980e4c 100644 --- a/ecc-rs02.c +++ b/ecc-rs02.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -42,6 +42,10 @@ void register_rs02(void) method->fix = RS02Fix; method->verify = RS02Verify; + /*** Linkage to rs01-common.c */ + + method->recognizeEccImage = RS02Recognize; + /*** Linkage to rs02-window.c */ method->createCreateWindow = CreateRS02EncWindow; diff --git a/ecc-rs03.c b/ecc-rs03.c new file mode 100644 index 0000000..12e8711 --- /dev/null +++ b/ecc-rs03.c @@ -0,0 +1,89 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#include "dvdisaster.h" + +#include "rs03-includes.h" + +/*** + *** Method registration + ***/ + +static void destroy(Method*); + + +void register_rs03(void) +{ Method *method = g_malloc0(sizeof(Method)); + + /*** Standard infomation and methods */ + + strncpy(method->name, "RS03", 4); + method->menuEntry = g_strdup(_("Multithreaded RS codec (RS03)")); + method->description = g_strdup(_("Multithreaded Reed-Solomon codec for error correction files and augmented images")); + method->create = RS03Create; + method->fix = RS03Fix; + method->verify = RS03Verify; + + /*** Linkage to rs03-recognize.c */ + + method->recognizeEccFile = RS03RecognizeFile; + method->recognizeEccImage = RS03RecognizeImage; + + /*** Linkage to rs03-window.c */ + + method->createCreateWindow = CreateRS03EncWindow; + method->createFixWindow = CreateRS03FixWindow; + + method->resetCreateWindow = ResetRS03EncWindow; + method->resetFixWindow = ResetRS03FixWindow; + + method->createPrefsPage = CreateRS03PrefsPage; + method->resetPrefsPage = ResetRS03PrefsPage; + method->readPreferences = ReadRS03Preferences; + + /*** Linkage to rs03-verify.c */ + + method->createVerifyWindow = CreateRS03VerifyWindow; + method->resetVerifyWindow = ResetRS03VerifyWindow; + + /*** Register ourself */ + + method->destroy = destroy; + + RegisterMethod(method); +} + +static void destroy(Method *method) +{ RS03Widgets *wl = (RS03Widgets*)method->widgetList; + + if(wl) + { if(wl->fixCurve) FreeCurve(wl->fixCurve); + + if(wl->cmpSpiral) + FreeSpiral(wl->cmpSpiral); + + if(wl->cmpLayout) + g_object_unref(wl->cmpLayout); + + g_free(wl); + } +} + diff --git a/endian.c b/endian.c index 3a8f872..364082f 100644 --- a/endian.c +++ b/endian.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -92,10 +92,35 @@ void print_ecc_header(EccHeader *eh) PrintCLI("selfCRC %8x\n", eh->selfCRC); print_hex("crcSum ", eh->crcSum, 16); PrintCLI("inLast %8x\n", eh->inLast); + PrintCLI("sectorsPerLayer %lld\n", eh->sectorsPerLayer); PrintCLI("\n"); } +void print_crc_block(CrcBlock *cb) +{ char buf[16]; + + PrintCLI("\nContents of CrcBlock:\n\n"); + + strncpy(buf, (char*)cb->cookie, 12); buf[12] = 0; + PrintCLI("cookie %s\n",buf); + strncpy(buf, (char*)cb->method, 4); buf[4] = 0; + PrintCLI("method %s\n",buf); + print_hex("methodFlags ", (guint8*)cb->methodFlags, 4); + PrintCLI("creatorVersion %8x\n", cb->creatorVersion); + PrintCLI("neededVersion %8x\n", cb->neededVersion); + PrintCLI("fpSector %8x\n", cb->fpSector); + print_hex("mediumFP ", cb->mediumFP, 16); + print_hex("mediumSum ", cb->mediumSum, 16); + PrintCLI("dataSectors %ll16x\n ",cb->dataSectors); + PrintCLI("inLast %8x\n", cb->inLast); + PrintCLI("dataBytes %8x\n", cb->dataBytes); + PrintCLI("eccBytes %8x\n", cb->eccBytes); + PrintCLI("sectorsPerLayer %lld\n", cb->sectorsPerLayer); + PrintCLI("selfCRC %8x\n", cb->selfCRC); + + PrintCLI("\n"); +} /* * This is the most annoying part of the endian conversions. */ @@ -115,12 +140,34 @@ void SwapEccHeaderBytes(EccHeader *eh) eh->neededVersion = SwapBytes32(eh->neededVersion); eh->fpSector = SwapBytes32(eh->fpSector); eh->inLast = SwapBytes32(eh->inLast); + eh->sectorsPerLayer = SwapBytes64(eh->sectorsPerLayer); #ifdef VERBOSE printf("after swap:\n"); print_ecc_header(eh); #endif } +void SwapCrcBlockBytes(CrcBlock *cb) +{ +#ifdef VERBOSE + printf("before swap:\n"); + print_crc_block(cb); +#endif + + cb->creatorVersion = SwapBytes32(cb->creatorVersion); + cb->neededVersion = SwapBytes32(cb->neededVersion); + cb->fpSector = SwapBytes32(cb->fpSector); + cb->dataSectors = SwapBytes64(cb->dataSectors); + cb->inLast = SwapBytes32(cb->inLast); + cb->dataBytes = SwapBytes32(cb->dataBytes); + cb->eccBytes = SwapBytes32(cb->eccBytes); + cb->sectorsPerLayer = SwapBytes64(cb->sectorsPerLayer); +#ifdef VERBOSE + printf("after swap:\n"); + print_crc_block(cb); +#endif +} + void SwapDefectiveHeaderBytes(DefectiveSectorHeader *dsh) { dsh->lba = SwapBytes64(dsh->lba); diff --git a/file.c b/file.c index ff6159f..45de5f7 100644 --- a/file.c +++ b/file.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/fingerprints.md5 b/fingerprints.md5 index bef75d8..ae2afd3 100644 --- a/fingerprints.md5 +++ b/fingerprints.md5 @@ -1,72 +1,83 @@ -528d88538b60d7d2468c900fad000b10 *dvdisaster.h -41207624d815a1a858915240dc18bbd9 *galois-inlines.h +b2060af10b265cb4bc4f40d087e29c46 *dvdisaster.h +bbad982ecf32cfe60c553aedfba6d304 *galois-inlines.h df9d88776eb3f77a93ef596b148193be *md5.h -f6e318c36cdec1a4edc71104de58daa3 *read-linear.h -8d64a25e6adedaafc5b3a2be715c83cd *rs01-includes.h -d1a7481bda654fc2dc05a03a96f09b64 *rs02-includes.h -34fe07915ecd139b05a01fa6a605888f *scsi-layer.h -c7370760e0537e79e95732a2c28c51b3 *udf.h -d08cd46c44e605e747a495e51b905815 *bitmap.c -02433e6d8a7ba811233ae55bd402144e *build.c -0ef931c162dfa424bacdd9f8bc203391 *closure.c -d31cd30dbaaf4803414d159425caff7f *crc32.c -f7142797e03aae72c789f07fb6cd6296 *crcbuf.c -3dd4fd1fd22354f4af218a326a7bbb4f *curve.c -ad57f7aec0d5a0314034e1d8e26527dc *debug.c -389356b6352841edeb3b8e86e0eb3ce7 *ds-marker.c -58d41d5abcb234ef7a9ba768bb9ffd30 *dvdisaster.c -414c4bcd1056c52794ac5baf8ed0df57 *ecc-rs01.c -a361c1485ab823d2983f51397e2bdf06 *ecc-rs02.c -b6b80b74d756872cd18d7625520c1b12 *endian.c -e05de4fd39f9e8af14806556c95d9a7a *file.c -9e60a9ee4c66366543afd641487956f4 *galois.c -c57febe500b709c6920cb9314d69f882 *help-dialogs.c -c74ea6938eadb8707106d0d5ac2c41ba *heuristic-lec.c -84841175e708cce754b316996d56e9de *icon-factory.c -8ff5665969a686785c32b750c4f2bae7 *large-io.c -3b917b470a6a95f959038b76b643f19e *l-ec.c -952e642347493dd5413cbdcdf9c85345 *logfile.c -b78a619ee84e994b39a5a89045011cd6 *maintenance.c -515e5cc87ec5176fbeb92245e603ab5c *main-window.c +bbc504cc1b0cc8e38a6280f69cd8e758 *read-linear.h +77839999695555c6083175f3e14b4916 *rs01-includes.h +449fe7d047154b9a6a522485b089f15f *rs02-includes.h +60e51991ab59ca260c081142aae20890 *rs03-includes.h +7e3690b8112185991993d8dfb0317970 *scsi-layer.h +8453152fe140c9d08f4005d920bd3bc6 *udf.h +6a7edd2814d3ac1ef1588ec00a97cacf *bitmap.c +89015923c38c8f6000b01a4c57b70826 *build.c +c75e6da8d23d3ebc3a80e42d319e7752 *closure.c +aa5d77bf3a7ff0ef25900ffe2abc92ab *crc32.c +cfcbedd535eb374cfa308a421e2854ab *crcbuf.c +aab0f4dd4774752006bddf1a0ad528e6 *curve.c +d14296483277b5eb61edcbfe43d81575 *debug.c +c5c597db1c46b48db276ce4e424b145b *ds-marker.c +705b3c017211c7eb39b7d3746a225c4c *dvdisaster.c +37009e2430c9cb0232d371414828792e *ecc-rs01.c +c02ab24f02c1972b7a494964ef363a89 *ecc-rs02.c +33820f8f75f056f98361e9cd55bc4198 *ecc-rs03.c +4436d60998a7839970bbef11ec2bfdb5 *endian.c +b31390562a0036b370a7ff9a026a8d90 *file.c +058a92f593ce56e61388f66202b3459e *galois.c +cc3cefdbda5a61f5551e987f4eb72012 *help-dialogs.c +dfe6b11d934af5753cd560977c7b27e6 *heuristic-lec.c +b53c292e7b9178d3564285ff9dfbd6a4 *icon-factory.c +d92fa7ff47bb0577f43db3a103d91e62 *large-io.c +f413c2ed2853a6602c562007ba434c1f *l-ec.c +c41b2e2dd250a40c7cc9cdbdbcd7e0dd *logfile.c +68704bfb32d2010e5a84f7ce2c46482b *maintenance.c +f218c23d24aaf6aa31f60d29491b9d5f *main-window.c 9f8e7da67068ae5229eef9bab8fa18a2 *md5.c -61dd02ebd3a633dabad1022dc3da5c77 *medium-info.c -d9536c5fb18adf38e04b0d9852daca29 *memtrack.c -44c1d3da53df9cf0e3ec333cb4356636 *menubar.c -7f512f7bd753fb642a593c5a3f67a25d *method.c -eecfd7e236c89cc36e1de2062754ac2e *method-link.c -e0d0f9eef7888e3ee39a2eaba43df55a *misc.c -23efd00e8952b3d6d8d223d60ed281fd *preferences.c -2d6acb30cac5dee16a208f49c13706b8 *print-sense.c +70673a9c78a66eaaa3e2a4fcd142ada1 *medium-info.c +9a7b32cf26a897e380aa7c94e0698522 *memtrack.c +9ca205381bd03ae802464c557dcee949 *menubar.c +46c5b4110410003b78b7bc742a4902e9 *method.c +17183bad35db217e2c352178844ceda3 *method-link.c +9b193ced80be6ac9e625afc89b97ecd1 *misc.c +2bb580fc4b9cb265fa598d11b4c2cff2 *preferences.c +ffef810c1252bd4e376a550ea075325d *print-sense.c cdde449dd2a8f64b560ff18a36f86234 *random.c -eafadf5a714d0203626c43654f1fe16c *raw-editor.c -02103c5a502b8a301fda329f8aa6a2f0 *raw-sector-cache.c -ee940cee17d2fc61cb3d461347251eae *read-adaptive.c -f3569b3479d0ef4473da83457f06992d *read-adaptive-window.c -b655bd4bec1e748721c9bf89d5f0b453 *read-linear.c -6ee78d0f63a7eea367d195b4f3fe7689 *read-linear-window.c -789a55ddd4080e187bcade7f602de14e *recover-raw.c -0c340317b804edd5a3476f5b89972da3 *rs01-common.c -a50445bf47ee4129987eb5c6998064de *rs01-create.c -f221714ec3fe61bf8063710dfc33c4bc *rs01-fix.c -06dca7381899c1478b137635a007fb5a *rs01-verify.c -6dec8b0b9e40f18c89eb452bbd7bdc06 *rs01-window.c -cd55d1406e3f2119581c03db75bed54d *rs02-common.c -17c52b0772dc403a887e237ddae517a8 *rs02-create.c -17f6ac68bf6dfc115fe725651004fe53 *rs02-fix.c -479b3e74610ba254dbac557f5114f34a *rs02-verify.c -88a2565289d2b7f520185eaf19b1abee *rs02-window.c -2f2444641113f1baf96a9fbeeba53773 *rs-encoder.c -4f60db5b21f4cbcd16dbd1b83e0b5492 *rs-encoder-sse2.c -4ccd9f251e9b6b52bf9a79c65ec2b762 *scsi-darwin.c -45d8b52ab8c03d661baf4c404c94115a *scsi-freebsd.c -2da068586abb78b2f4409c86805e257e *scsi-layer.c -d873aa8fa7936bc22e2e94c015c27979 *scsi-linux.c -a86f62372f2dea89f208ceafefaa1f97 *scsi-netbsd.c -38d4cab513130a40e22b956df0c588a7 *scsi-solaris.c -12f31844b6b5663865d8e290437c64e1 *scsi-unknown.c -8ed15376c6eff222cd75540307934fac *scsi-win32.c -8b9730b85071fbdc7a89be5b7156f6b4 *show-manual.c -b5dfb8fdbc3d7b4f1253cea5a795edec *smart-lec.c -bdcd6ac7c49c11d5426c696a40e8d919 *spiral.c -5aa3fd582de228bce5c241b047d0ca6c *udf.c -419901414caf8fe59fc97e473a87f291 *welcome-window.c +851ed918f67eefe054fb7cd7bb1d43fb *raw-editor.c +7f685e600048f9ed3ef59c2beae34d58 *raw-sector-cache.c +0c339b67063ecf1da6e65156f017966f *read-adaptive.c +31d0341977a3299efca4e6693f2ee236 *read-adaptive-window.c +7c293bb163de7232e45793fea06d46a6 *read-linear.c +c69766be51625d39095c60af6aec63fd *read-linear-window.c +9b515faab05da0f5ad8d7ea3cf534e48 *recover-raw.c +2bcd92dfc4c51e7ec491c2c10fb558cc *rs01-common.c +d26f7c773c8392fdcf9d6f40e56e7102 *rs01-create.c +ab16484e8cd2ca408dbd98b32a7eac24 *rs01-fix.c +f8aa6613dbcaa6a50fac8eaeb744065c *rs01-verify.c +2cae24168d10bcdc31e6d29902468fc8 *rs01-window.c +13086bf5ce58d14a06efd6c1f2894b9a *rs02-common.c +ad5da0b32ad769d32fa6af8d7fd8c06c *rs02-create.c +0500dfe25871b5628ba554171ca975dd *rs02-fix.c +37f5eb57a749c35db8a1c15bd73e2818 *rs02-recognize.c +d05fc39e9e2e904aeae1fbe8294322ca *rs02-verify.c +e5015c54790fdd6a94f96132b1a03474 *rs02-window.c +6f5b6f641aa028c243daf1b839a1e456 *rs03-common.c +da149b01eb69ce2d64c094caacf29cb7 *rs03-create.c +37f13afa90fe9c3ab36cb525399f290c *rs03-fix.c +6c538eb3fae1d39d4dca592f1c4755d9 *rs03-preferences.c +beeed8f26aaf72c637093f266986277c *rs03-recognize.c +f46a10b82241a5ae62158ca675db5cdc *rs03-verify.c +9e43fa7f533fe4364e872ba65e192ddc *rs03-window.c +0ef243314deea6338289021987657779 *rs-decoder.c +c696f438d46f60854e6c8df0e074f96e *rs-encoder.c +4afa73d66793df2c0078106c6a63d3ae *rs-encoder-sse2.c +95b4293240901df01648d3d5f1d800a0 *scsi-darwin.c +29d951d863df05988897ccd19e446ee1 *scsi-freebsd.c +eee09fe1de90cdd3857742fb53c97ec4 *scsi-layer.c +b00c424c6074fc2e027b438126b1e52c *scsi-linux.c +fb10596d4988a3a686db2d8cac5fbe62 *scsi-netbsd.c +703c17244eb9536587697daca083df22 *scsi-solaris.c +60a969a1b1ce76e00553336e1f24891c *scsi-unknown.c +bdeb40ee9f117258c343596dde58eadb *scsi-win32.c +8cd5adbfe54a86545b5992b839bc6b3f *show-manual.c +c12be6c253da9798bbab9bc3020874c3 *smart-lec.c +c5abc32443aa9eb4f9ef5201e2e85204 *spiral.c +b965dd361cd2e52d066995bb07d50f53 *udf.c +a613ba2944c034cc405250cb375866c0 *welcome-window.c diff --git a/galois-inlines.h b/galois-inlines.h index eddf33d..f2a4f76 100644 --- a/galois-inlines.h +++ b/galois-inlines.h @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/galois.c b/galois.c index 0eeb720..748ff1a 100644 --- a/galois.c +++ b/galois.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -84,7 +84,7 @@ void FreeGaloisTables(GaloisTables *gt) } /*** - *** Create the the Reed-Solomon generator polynomial + *** Create the Reed-Solomon generator polynomial *** and some auxiliary data structures. */ @@ -95,6 +95,7 @@ ReedSolomonTables *CreateReedSolomonTables(GaloisTables *gt, { ReedSolomonTables *rt = g_malloc0(sizeof(ReedSolomonTables)); int lut_size, feedback; gint32 i,j,root; + guint8 *lut; rt->gfTables = gt; rt->fcr = first_consecutive_root; @@ -151,7 +152,9 @@ ReedSolomonTables *CreateReedSolomonTables(GaloisTables *gt, rt->shiftInit = 0; /* - * Initialize lookup tables for the 8bit encoder + * Initialize lookup tables for both encoder types. + * The 32bit portable encoder will shift them to word boundaries, + * while the SSE2 encoder does direct unaligned reads. */ lut_size = (rt->nroots+15)&~15; @@ -170,6 +173,15 @@ ReedSolomonTables *CreateReedSolomonTables(GaloisTables *gt, } } + /* + * Prepare lookup table for syndrome calculation. + */ + + lut = rt->synLut = g_malloc(rt->nroots * GF_FIELDSIZE * sizeof(int)); + for(i=0; inroots; i++) + for(j=0; jalphaTo[mod_fieldmax(gt->indexOf[j] + (rt->fcr+i)*rt->primElem)]; + return rt; } @@ -181,6 +193,7 @@ void FreeReedSolomonTables(ReedSolomonTables *rt) for(i=0; ibLut[i]); } + g_free(rt->synLut); g_free(rt); } diff --git a/help-dialogs.c b/help-dialogs.c index 0bd0b91..d824982 100644 --- a/help-dialogs.c +++ b/help-dialogs.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -706,11 +706,11 @@ void AboutDialog() #ifdef MODIFIED_SOURCE AboutTextWithLink(vbox, - _("Modified version Copyright 2009 (please fill in - [directions])\n" - "Copyright 2004-2009 Carsten Gnoerlich"), + _("Modified version Copyright 2010 (please fill in - [directions])\n" + "Copyright 2004-2010 Carsten Gnoerlich"), "MODIFYING"); #else - AboutText(vbox, _("Copyright 2004-2009 Carsten Gnoerlich")); + AboutText(vbox, _("Copyright 2004-2010 Carsten Gnoerlich")); #endif sep = gtk_hseparator_new(); diff --git a/heuristic-lec.c b/heuristic-lec.c index fa57de2..2ebfb3f 100644 --- a/heuristic-lec.c +++ b/heuristic-lec.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Copyright (C) 2006 Andrei Grecu * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org diff --git a/icon-factory.c b/icon-factory.c index 2a78ed9..5c5e1c0 100644 --- a/icon-factory.c +++ b/icon-factory.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/l-ec.c b/l-ec.c index 30f6908..07d557f 100644 --- a/l-ec.c +++ b/l-ec.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/large-io.c b/large-io.c index d04c45b..f12b8bd 100644 --- a/large-io.c +++ b/large-io.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -25,22 +25,16 @@ *** Wrappers around the standard low level file system interface. *** * This is pointless for Linux, but gives us the possibility to - * hide differences in Linux/Windows semantics and to - * do split image files on VFAT in a transparent way. + * hide differences in Linux/Windows semantics. * * Note the different return value semantics from standard functions: * - LargeOpen() returns a LargeFile pointer on success and NULL otherwise; * - LargeRead() and LargeWrite() return the number of bytes read/written; * - the remaining functions return True on success or False on failure. * - * Also, individual behaviour may deviate from standard functions especially - * when in split file mode. + * Also, individual behaviour may deviate from standard functions. */ -//#define MAX_FILE_SIZE (128*1024*1024) -//#define MAX_FILE_SIZE (8*1024*1024) -#define MAX_FILE_SIZE (2048LL*1024LL*1024LL) - #ifdef SYS_MINGW #include @@ -74,7 +68,7 @@ int large_ftruncate(int fd, gint64 size) */ static gchar* os_path(char *path_in) -{ gchar *cp_path = g_locale_from_utf8(path_in, -1, NULL, NULL, NULL); +{ gchar *cp_path = g_filename_from_utf8(path_in, -1, NULL, NULL, NULL); if(cp_path == NULL) { errno = EINVAL; @@ -85,92 +79,26 @@ static gchar* os_path(char *path_in) return cp_path; } -/* - * local aux function: opens the given segment of a large file. - */ - -static int open_segment(LargeFile *lf, int n) -{ char name[lf->namelen]; - gchar *cp_path; - - if(!lf->suffix) g_sprintf(name, "%s%02d", lf->basename, n); - else g_sprintf(name, "%s%02d.%s", lf->basename, n, lf->suffix); - - cp_path = os_path(name); - if(!cp_path) return FALSE; - - lf->fileSegment[n] = open(cp_path, lf->flags, lf->mode); - g_free(cp_path); - - if(lf->fileSegment[n] == -1) - { PrintLog("open_segment(\"%s*\", %d) failed\n", lf->basename, n); - return FALSE; - } - - return TRUE; -} - /* * Large stat replacement (queries only file size) */ int LargeStat(char *path, gint64 *length_return) { struct stat mystat; - char name[strlen(path)+3]; - char prefix[strlen(path)+1]; - char *suffix = NULL, *c; - int i; + gchar *cp_path = os_path(path); - /* Unsplit file case */ - - if(!Closure->splitFiles) - { gchar *cp_path = os_path(path); + if(!cp_path) return FALSE; - if(!cp_path) return FALSE; - - if(stat(cp_path, &mystat) == -1) - { g_free(cp_path); - return FALSE; - } - g_free(cp_path); - - if(!S_ISREG(mystat.st_mode)) - return FALSE; - - *length_return = mystat.st_size; - return TRUE; + if(stat(cp_path, &mystat) == -1) + { g_free(cp_path); + return FALSE; } + g_free(cp_path); - /* stat() all segments and add up their sizes */ - - *length_return = 0; - strcpy(prefix, path); - c = strrchr(prefix, '.'); - if(c) - { suffix = c+1; - *c = 0; - } - - for(i=0; isplitFiles) - { cp_path = os_path(name); - if(!cp_path) return FALSE; - - /* Do not try to open directories etc. */ - - if( (stat(cp_path, &mystat) == 0) - && !S_ISREG(mystat.st_mode)) - { g_free(cp_path), g_free(lf); return NULL; - } - - lf->fileSegment[0] = open(cp_path, flags, mode); - g_free(cp_path); - - if(lf->fileSegment[0] == -1) - { g_free(lf); return NULL; - } - - LargeStat(name, &lf->size); /* Do NOT use cp_path! */ - - return lf; - } - - /* Prepare for using split files. - * Note that we're only trying to open the first segment, - * so a failure condition of LargeOpen() is weaker for segmented - * files than for the single file case. - */ - - lf->flags = flags; - if(lf->flags & (O_RDWR | O_WRONLY)) /* these imply O_CREAT here to create */ - lf->flags |= O_CREAT; /* the additional file segments */ - lf->mode = mode; - lf->namelen = strlen(name+3); - lf->basename = g_strdup(name); - c = strrchr(lf->basename, '.'); - if(c) - { lf->suffix = c+1; - *c = 0; - } - cp_path = os_path(name); - if(!cp_path) return NULL; + if(!cp_path) return FALSE; + + /* Do not try to open directories etc. */ if( (stat(cp_path, &mystat) == 0) && !S_ISREG(mystat.st_mode)) - { g_free(cp_path); g_free(lf); return NULL; + { g_free(cp_path), g_free(lf); return NULL; } + + lf->fileHandle = open(cp_path, flags, mode); g_free(cp_path); - - if(!open_segment(lf, 0)) + + if(lf->fileHandle == -1) { g_free(lf); return NULL; } - LargeStat(name, &lf->size); + lf->path = g_strdup(name); + LargeStat(name, &lf->size); /* Do NOT use cp_path! */ return lf; } @@ -281,48 +170,9 @@ LargeFile* LargeOpen(char *name, int flags, mode_t mode) int LargeSeek(LargeFile *lf, gint64 pos) { - /* Unsplit file case */ - - if(!Closure->splitFiles) - { lf->offset = pos; - if(lseek(lf->fileSegment[0], pos, SEEK_SET) != pos) - return FALSE; - } - - /* Split file case */ - - else - { gint64 seg = pos / MAX_FILE_SIZE; - gint64 segpos = pos - seg * MAX_FILE_SIZE; - - if(seg >= MAX_FILE_SEGMENTS) /* Hit the maximum segment limit? */ - { PrintLog("LargeSeek(\"%s*\", %lld [%d:%d]) out of file descriptors\n", - lf->basename, pos, seg, segpos); - return FALSE; - } - - /* Open the respective segment */ - - if(!lf->fileSegment[seg]) - if(!open_segment(lf, seg)) - { PrintLog("LargeSeek(\"%s*\", %lld [%d:%d]) failed opening segment\n", - lf->basename, pos, seg, segpos); - return FALSE; - } - - /* lseek() within the segment */ - - if(lseek(lf->fileSegment[seg], segpos, SEEK_SET) != segpos) - { PrintLog("LargeSeek(\"%s*\", %lld [%d:%d]) failed seeking in segment\n", - lf->basename, pos, seg, segpos); - return FALSE; - } - - /* remember segment and offset within */ - - lf->segment = seg; - lf->offset = segpos; - } + lf->offset = pos; + if(lseek(lf->fileHandle, pos, SEEK_SET) != pos) + return FALSE; return TRUE; } @@ -334,124 +184,25 @@ int LargeSeek(LargeFile *lf, gint64 pos) */ int LargeEOF(LargeFile *lf) -{ int filepos; - - if(!Closure->splitFiles) - filepos = lf->offset; - else filepos = MAX_FILE_SIZE * lf->segment + lf->offset; - - return filepos >= lf->size; +{ + return lf->offset >= lf->size; } /* - * Reading in segmented files + * Reading large files */ ssize_t LargeRead(LargeFile *lf, void *buf, size_t count) { ssize_t n; - /* Simple unsegmented case */ + n = read(lf->fileHandle, buf, count); + lf->offset += n; - if(!Closure->splitFiles) - { n = read(lf->fileSegment[0], buf, count); - lf->offset += n; - return n; - } - - /* Segmented file case; open first segment if necessary */ - - if(!lf->fileSegment[lf->segment]) - if(!open_segment(lf, lf->segment)) - return -1; - - /* If buffer does not cross a segment boundary, - simply read from the current segment and return */ - - if(lf->offset + count <= MAX_FILE_SIZE) - { n = read(lf->fileSegment[lf->segment], buf, count); - lf->offset += n; - - /* If the segment boundary was touched, - wrap to next segment */ - - if(lf->offset >= MAX_FILE_SIZE) - { lf->offset = 0; - lf->segment++; - - if(lf->fileSegment[lf->segment] && lseek(lf->fileSegment[lf->segment], 0, SEEK_SET) != 0) - { PrintLog("LargeRead(\"%s*\", ...) failed wrapping to next segment\n", - lf->segment); - return -1; - } - } - - return n; - } - - /* Read is spread over two or more segments */ - - else - { /* Handle portion coming from current segment */ - - size_t first = MAX_FILE_SIZE - lf->offset; - size_t chunk = 0; - size_t read_in = 0; - - n = read(lf->fileSegment[lf->segment], buf, first); - lf->offset += n; - if(n != first) return n; - - count -= n; - - /* Handle remainder which comes from the next segments */ - - while(count > 0) - { - /* Open next segment */ - - lf->segment++; - - if(!lf->fileSegment[lf->segment]) - { if(!open_segment(lf, lf->segment)) - return -1; - } - else - { if(lseek(lf->fileSegment[lf->segment], 0, SEEK_SET) != 0) - { PrintLog("LargeRead(\"%s*\", ...) failed switching to next segment\n", - lf->segment); - return n; - } - } - - chunk = count > MAX_FILE_SIZE ? MAX_FILE_SIZE : count; - - read_in = read(lf->fileSegment[lf->segment], buf+n, chunk); - n += read_in; - count -= read_in; - if(read_in != chunk) return n; - } - - /* If the segment boundary was touched, wrap to next segment */ - - lf->offset = read_in; - - if(lf->offset >= MAX_FILE_SIZE) - { lf->offset = 0; - lf->segment++; - - if(lf->fileSegment[lf->segment] && lseek(lf->fileSegment[lf->segment], 0, SEEK_SET) != 0) - { PrintLog("LargeRead(\"%s*\", ...) failed wrapping to next segment\n", - lf->segment); - return -1; - } - } - - return n; - } + return n; } /* - * Writing in segmented files + * Writing large files */ static void insert_buttons(GtkDialog *dialog) @@ -516,104 +267,10 @@ static ssize_t xwrite(int fdes, void *buf_base, size_t count) ssize_t LargeWrite(LargeFile *lf, void *buf, size_t count) { ssize_t n; - /* Simple unsegmented case */ + n = xwrite(lf->fileHandle, buf, count); + lf->offset += n; - if(!Closure->splitFiles) - { n = xwrite(lf->fileSegment[0], buf, count); - lf->offset += n; - return n; - } - - /* Segmented file case; open first segment if necessary */ - - if(!lf->fileSegment[lf->segment]) - if(!open_segment(lf, lf->segment)) - return -1; - - /* If buffer does not cross a segment boundary, - simply write it to the current segment and return */ - - if(lf->offset + count <= MAX_FILE_SIZE) - { n = xwrite(lf->fileSegment[lf->segment], buf, count); - lf->offset += n; - - /* If the segment boundary was touched, - wrap to next segment */ - - if(lf->offset >= MAX_FILE_SIZE) - { lf->offset = 0; - lf->segment++; - - if(lf->fileSegment[lf->segment] && lseek(lf->fileSegment[lf->segment], 0, SEEK_SET) != 0) - { PrintLog("LargeWrite(\"%s*\", ...) failed wrapping to next segment\n", - lf->segment); - return -1; - } - } - - return n; - } - - /* Write is spread over two or more segments */ - - else - { /* Handle portion going to current segment */ - - size_t first = MAX_FILE_SIZE - lf->offset; - size_t chunk = 0; - size_t written = 0; - - n = xwrite(lf->fileSegment[lf->segment], buf, first); - lf->offset += n; - if(n != first) return n; - - count -= n; - - /* Handle remainder which goes into the next segments */ - - while(count > 0) - { - /* Open next segment */ - - lf->segment++; - - if(!lf->fileSegment[lf->segment]) - { if(!open_segment(lf, lf->segment)) - return -1; - } - else - { if(lseek(lf->fileSegment[lf->segment], 0, SEEK_SET) != 0) - { PrintLog("LargeWrite(\"%s*\", ...) failed switching to next segment\n", - lf->segment); - return n; - } - } - - chunk = count > MAX_FILE_SIZE ? MAX_FILE_SIZE : count; - - written = xwrite(lf->fileSegment[lf->segment], buf+n, chunk); - n += written; - count -= written; - if(written != chunk) return n; - } - - /* If the segment boundary was touched, wrap to next segment */ - - lf->offset = written; - - if(lf->offset >= MAX_FILE_SIZE) - { lf->offset = 0; - lf->segment++; - - if(lf->fileSegment[lf->segment] && lseek(lf->fileSegment[lf->segment], 0, SEEK_SET) != 0) - { PrintLog("LargeWrite(\"%s*\", ...) failed wrapping to next segment\n", - lf->segment); - return -1; - } - } - - return n; - } + return n; } /* @@ -623,26 +280,11 @@ ssize_t LargeWrite(LargeFile *lf, void *buf, size_t count) int LargeClose(LargeFile *lf) { int result = TRUE; - /* Simple unsegmented case */ - - if(!Closure->splitFiles) - result = (close(lf->fileSegment[0]) == 0); - - /* Segmented case */ - else - { int i; - - for(i=0; ifileSegment[i] && close(lf->fileSegment[i]) != 0) - { result = FALSE; - PrintLog("LargeClose(\"%s*\") failed closing segment %d\n", lf->basename, i); - } - } - } + result = (close(lf->fileHandle) == 0); /* Free the LargeFile struct and return results */ - if(lf->basename) g_free(lf->basename); + if(lf->path) g_free(lf->path); g_free(lf); return result; @@ -654,42 +296,7 @@ int LargeClose(LargeFile *lf) int LargeTruncate(LargeFile *lf, gint64 length) { - /* Simple unsegmented case */ - - if(!Closure->splitFiles) - return large_ftruncate(lf->fileSegment[0], length) == 0; - - /* Segmented case; first truncate the last segment */ - - else - { gint64 seg = length / MAX_FILE_SIZE; - gint64 seglen = length - seg * MAX_FILE_SIZE; - int i; - - if(!lf->fileSegment[seg]) - { if(!open_segment(lf, seg)) - return FALSE; - } - - if(large_ftruncate(lf->fileSegment[seg], seglen) != 0) - return FALSE; - - /* In case of large truncation, close and delete excess segments */ - - for(i=seg+1; inamelen]; - gchar *cp_path; - - close(lf->fileSegment[i]); /* no need for error testing */ - if(!lf->suffix) g_sprintf(name, "%s%02d", lf->basename, i); - else g_sprintf(name, "%s%02d.%s", lf->basename, i, lf->suffix); - cp_path = os_path(name); - unlink(cp_path); - g_free(cp_path); - } - } - - return TRUE; + return large_ftruncate(lf->fileHandle, length) == 0; } /* @@ -697,49 +304,16 @@ int LargeTruncate(LargeFile *lf, gint64 length) */ int LargeUnlink(char *path) -{ char name[strlen(path)+3]; - char prefix[strlen(path)+1]; - char *suffix = NULL, *c; - gchar *cp_path; - int i; +{ gchar *cp_path; + int result; - /* Simple unsegmented case */ + cp_path = os_path(path); + if(!cp_path) return FALSE; - if(!Closure->splitFiles) - { int result; + result = unlink(cp_path); + g_free(cp_path); - cp_path = os_path(path); - if(!cp_path) return FALSE; - result = unlink(cp_path); - g_free(cp_path); - - return result == 0; - } - - /* Segmented case. This will unlink name00..name99 */ - - strcpy(prefix, path); - c = strrchr(prefix, '.'); - if(c) - { suffix = c+1; - *c = 0; - } - - for(i=0; i, 2006. @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: cs\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-06 12:32+0200\n" +"POT-Creation-Date: 2010-02-27 19:02+0100\n" "PO-Revision-Date: 2006-03-16 20:40+0100\n" "Last-Translator: Luboš Staněk \n" "Language-Team: čeština \n" @@ -18,7 +18,7 @@ msgstr "" "X-Generator: KBabel 1.11.1\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: closure.c:568 +#: closure.c:571 #, c-format msgid "" "# dvdisaster-%s configuration file\n" @@ -31,33 +31,33 @@ msgstr "" "# takže jej program dvdisaster při každém spuštění přepíše.\n" "\n" -#: closure.c:769 closure.c:777 closure.c:784 +#: closure.c:774 closure.c:782 closure.c:789 msgid "medium.iso" msgstr "" -#: closure.c:770 closure.c:778 closure.c:785 +#: closure.c:775 closure.c:783 closure.c:790 msgid "medium.ecc" msgstr "" -#: closure.c:771 closure.c:779 closure.c:786 +#: closure.c:776 closure.c:784 closure.c:791 msgid "sector-" msgstr "" -#: crcbuf.c:45 rs01-common.c:121 rs01-create.c:243 rs01-verify.c:770 +#: crcbuf.c:45 rs01-common.c:144 rs01-create.c:256 rs01-verify.c:781 #, c-format msgid "Failed skipping the ecc header: %s" msgstr "Selhalo přeskočení hlavičky ecc: %s" -#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:229 +#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:252 #, c-format msgid "Error reading CRC information: %s" msgstr "Chyba při čtení CRC informací: %s" -#: debug.c:55 debug.c:456 debug.c:1084 debug.c:1161 +#: debug.c:53 debug.c:445 debug.c:1073 debug.c:1150 msgid "2nd argument is missing" msgstr "chybí druhý argument" -#: debug.c:62 +#: debug.c:60 msgid "" "Number of roots must be 8..100;\n" "the number of erasures must be > 0 and less than the number of roots.\n" @@ -65,7 +65,7 @@ msgstr "" "Počet kořenů musí být 8..100;\n" "počet výmazů musí být > 0 a menší než počet kořenů.\n" -#: debug.c:81 debug.c:172 debug.c:310 +#: debug.c:79 debug.c:170 #, c-format msgid "" "\n" @@ -74,29 +74,31 @@ msgstr "" "\n" "Generuji náhodné opravitelné výmazy (pro %d kořenů, max. výmazů = %d).\n" -#: debug.c:112 debug.c:202 debug.c:250 debug.c:341 debug.c:385 debug.c:698 -#: debug.c:798 debug.c:1125 debug.c:1133 debug.c:1240 rs01-common.c:54 -#: rs02-common.c:62 rs02-create.c:336 rs02-create.c:982 rs02-fix.c:387 -#: rs02-verify.c:393 +#: debug.c:110 debug.c:200 debug.c:248 debug.c:374 debug.c:687 debug.c:787 +#: debug.c:1114 debug.c:1122 debug.c:1229 rs01-common.c:77 rs02-common.c:62 +#: rs02-create.c:340 rs02-create.c:986 rs02-fix.c:387 rs02-verify.c:393 +#: rs03-common.c:97 rs03-create.c:583 rs03-create.c:610 rs03-recognize.c:263 +#: rs03s-create.c:85 rs03s-create.c:982 rs03s-create.c:1008 rs03-verify.c:425 #, c-format msgid "Failed seeking to sector %lld in image: %s" msgstr "Selhalo vystavení na sektor %lld v obrazu: %s" -#: debug.c:117 debug.c:207 debug.c:255 debug.c:346 debug.c:390 debug.c:536 -#: debug.c:658 debug.c:703 debug.c:1137 debug.c:1244 debug.c:1284 -#: rs02-create.c:359 rs02-create.c:385 rs02-create.c:985 udf.c:1108 udf.c:1166 -#: udf.c:1223 udf.c:1236 udf.c:1241 udf.c:1244 udf.c:1247 udf.c:1250 -#: udf.c:1253 udf.c:1256 +#: debug.c:115 debug.c:205 debug.c:253 debug.c:379 debug.c:525 debug.c:647 +#: debug.c:692 debug.c:1126 debug.c:1233 debug.c:1273 rs02-create.c:363 +#: rs02-create.c:389 rs02-create.c:989 rs03-create.c:588 rs03-create.c:614 +#: rs03s-create.c:985 rs03s-create.c:1011 udf.c:1113 udf.c:1171 udf.c:1228 +#: udf.c:1241 udf.c:1246 udf.c:1249 udf.c:1252 udf.c:1255 udf.c:1258 +#: udf.c:1261 #, c-format msgid "Failed writing to sector %lld in image: %s" msgstr "Selhal zápis do sektoru %lld v obrazu: %s" -#: debug.c:125 debug.c:261 debug.c:396 debug.c:662 debug.c:710 debug.c:1258 +#: debug.c:123 debug.c:259 debug.c:385 debug.c:651 debug.c:699 debug.c:1247 #, c-format msgid "Progress: %3d%%" msgstr "Průběh: %3d%%" -#: debug.c:130 debug.c:266 debug.c:401 +#: debug.c:128 debug.c:264 debug.c:390 #, c-format msgid "" "Progress: 100%%\n" @@ -107,73 +109,102 @@ msgstr "" "Opravte obraz s použitím volby --fix před spuštěním dalšího běhu --random-errors.\n" "Jinak nahromadíte >= %d výmazů/blok ECC a obraz bude ztracen.\n" -#: debug.c:163 debug.c:301 +#: debug.c:161 debug.c:302 #, c-format msgid "Number of erasures must be > 0 and <= %d\n" msgstr "Počet výmazů musí být > 0 a <= %d\n" -#: debug.c:463 debug.c:1090 +#: debug.c:314 raw-sector-cache.c:34 raw-sector-cache.c:201 +#: raw-sector-cache.c:335 rs01-verify.c:542 scsi-freebsd.c:113 +#: scsi-linux.c:100 scsi-netbsd.c:111 scsi-solaris.c:127 +#, c-format +msgid "Could not open %s: %s" +msgstr "Nelze otevřít %s: %s" + +#: debug.c:318 +#, c-format +msgid "" +"\n" +"RS03 error correction file with %d roots.\n" +msgstr "" + +#: debug.c:319 +#, c-format +msgid "" +"\n" +"RS03 augmented image with %d roots.\n" +msgstr "" + +#: debug.c:320 +#, c-format +msgid "Generating at most %d random correctable erasures.\n" +msgstr "" + +#: debug.c:452 debug.c:1079 msgid "3rd argument is missing" msgstr "chybí třetí argument" -#: debug.c:470 debug.c:791 debug.c:837 debug.c:898 +#: debug.c:459 debug.c:780 debug.c:826 debug.c:887 #, c-format msgid "Sector must be in range [0..%lld]\n" msgstr "Sektor musí být v rozsahu [0..%lld]\n" -#: debug.c:473 +#: debug.c:462 msgid "Byte position must be in range [0..2047]" msgstr "Pozice bajtu musí výt v rozsahu [0..2047]" -#: debug.c:476 +#: debug.c:465 msgid "Byte value must be in range [0..255]" msgstr "Hodnota bajtu musí být v rozsahu [0..255]" -#: debug.c:478 +#: debug.c:467 #, c-format msgid "Setting byte %d in sector %lld to value %d.\n" msgstr "Nastavování bajtu %d v sektoru %lld na hodnotu %d.\n" -#: debug.c:485 debug.c:524 rs02-create.c:182 rs02-verify.c:685 +#: debug.c:474 debug.c:513 rs02-create.c:186 rs02-verify.c:697 +#: rs03-verify.c:1023 #, c-format msgid "Failed seeking to start of image: %s\n" msgstr "Selhalo vystavení na začátek obrazu: %s\n" -#: debug.c:488 +#: debug.c:477 msgid "Could not write the new byte value" msgstr "Nelze zapsat novou hodnotu bajtu" -#: debug.c:517 read-adaptive.c:537 +#: debug.c:506 read-adaptive.c:537 #, c-format msgid "Sectors must be in range [0..%lld].\n" msgstr "Sektory musí být v rozsahu [0..%lld].\n" -#: debug.c:519 +#: debug.c:508 #, c-format msgid "Erasing sectors [%lld,%lld]\n" msgstr "Mazání sektorů [%lld,%lld]\n" -#: debug.c:561 +#: debug.c:550 #, c-format msgid "New length must be in range [0..%lld].\n" msgstr "Nová délka musí být v rozsahu [0..%lld].\n" -#: debug.c:563 +#: debug.c:552 #, c-format msgid "Truncating image to %lld sectors.\n" msgstr "Zkrácení obrazu na %lld sektorů.\n" -#: debug.c:568 read-linear.c:1398 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 -#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:148 rs02-fix.c:241 -#: rs02-fix.c:262 rs02-fix.c:277 +#: debug.c:557 read-linear.c:1361 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 +#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:151 rs02-fix.c:241 +#: rs02-fix.c:262 rs02-fix.c:277 rs03-create.c:177 rs03-create.c:245 +#: rs03-fix.c:269 rs03-fix.c:290 rs03-fix.c:305 rs03s-create.c:171 +#: rs03s-create.c:227 #, c-format msgid "Could not truncate %s: %s\n" msgstr "Nelze zkrátit %s: %s\n" -#: debug.c:594 debug.c:1105 debug.c:1113 debug.c:1170 debug.c:1175 file.c:59 -#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1166 -#: read-adaptive.c:1198 read-linear.c:307 read-linear.c:309 read-linear.c:340 -#: read-linear.c:342 +#: debug.c:583 debug.c:1094 debug.c:1102 debug.c:1159 debug.c:1164 file.c:59 +#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1164 +#: read-adaptive.c:1196 read-linear.c:277 read-linear.c:279 read-linear.c:310 +#: read-linear.c:312 #, c-format msgid "" "Can't open %s:\n" @@ -182,7 +213,7 @@ msgstr "" "Nelze otevřít %s:\n" "%s" -#: debug.c:598 +#: debug.c:587 #, c-format msgid "" "\n" @@ -201,7 +232,7 @@ msgstr "" "dvdisaster --debug %s %lld --random-seed %d\n" "\n" -#: debug.c:670 file.c:107 read-adaptive.c:150 read-linear.c:111 +#: debug.c:659 file.c:107 read-adaptive.c:150 read-linear.c:111 #: read-linear.c:114 #, c-format msgid "" @@ -211,11 +242,11 @@ msgstr "" "Chyba při zavírání souboru obrazu:\n" "%s" -#: debug.c:684 +#: debug.c:673 msgid "Replacing the \"unreadable sector\" markers with zeros.\n" msgstr "Nahrazování značek \"nečitelných sektorů\" nulami.\n" -#: debug.c:691 +#: debug.c:680 #, c-format msgid "" "Could not read image sector %lld:\n" @@ -224,12 +255,12 @@ msgstr "" "Nelze načíst sektor %lld obrazu:\n" "%s\n" -#: debug.c:715 +#: debug.c:704 #, c-format msgid "%lld \"unreadable sector\" markers replaced.\n" msgstr "%lld značek \"nečitelných sektorů\" nahrazeno.\n" -#: debug.c:793 debug.c:840 debug.c:901 +#: debug.c:782 debug.c:829 debug.c:890 #, c-format msgid "" "Contents of sector %lld:\n" @@ -238,49 +269,50 @@ msgstr "" "Obsah sektoru %lld:\n" "\n" -#: debug.c:802 debug.c:1129 debug.c:1198 debug.c:1202 debug.c:1280 -#: rs01-common.c:70 rs02-common.c:67 rs02-create.c:199 rs02-fix.c:390 +#: debug.c:791 debug.c:1118 debug.c:1187 debug.c:1191 debug.c:1269 +#: rs01-common.c:93 rs02-common.c:67 rs02-create.c:203 rs02-fix.c:390 +#: rs03-common.c:102 rs03-recognize.c:268 rs03s-create.c:90 #, c-format msgid "Failed reading sector %lld in image: %s" msgstr "Selhalo čtení sektoru %lld v obrazu: %s" -#: debug.c:851 +#: debug.c:840 #, c-format msgid "Failed reading sector %lld: %s" msgstr "" -#: debug.c:888 +#: debug.c:877 msgid "Raw reading only possible on CD media\n" msgstr "" -#: debug.c:1096 +#: debug.c:1085 msgid "4th argument is missing" msgstr "" -#: debug.c:1109 +#: debug.c:1098 #, c-format msgid "Source sector must be in range [0..%lld]\n" msgstr "" -#: debug.c:1117 +#: debug.c:1106 #, c-format msgid "Destination sector must be in range [0..%lld]\n" msgstr "" -#: debug.c:1121 +#: debug.c:1110 #, c-format msgid "Copying sector %lld from %s to sector %lld in %s.\n" msgstr "" -#: ds-marker.c:172 +#: ds-marker.c:225 msgid "Stop reporting these errors" msgstr "" -#: ds-marker.c:173 +#: ds-marker.c:226 msgid "Continue reporting" msgstr "" -#: ds-marker.c:196 +#: ds-marker.c:249 #, c-format msgid "" "\n" @@ -290,7 +322,7 @@ msgid "" "\n" msgstr "" -#: ds-marker.c:207 +#: ds-marker.c:260 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -306,7 +338,7 @@ msgid "" "error correction data for it. Sorry for the bad news.\n" msgstr "" -#: ds-marker.c:224 +#: ds-marker.c:277 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -322,7 +354,7 @@ msgid "" "error correction data for it. Sorry for the bad news.\n" msgstr "" -#: ds-marker.c:247 +#: ds-marker.c:300 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -338,7 +370,7 @@ msgid "" "error correction data for it. Sorry for the bad news.\n" msgstr "" -#: dvdisaster.c:39 main-window.c:139 +#: dvdisaster.c:39 main-window.c:144 #, c-format msgid "" "\n" @@ -356,32 +388,40 @@ msgstr "Metoda RS01 není dostupná pro porovnání souborů." #. TRANSLATORS: #. This is a dummy entry which is supposed to translate into "ok". #. Please do not return anything else here. -#: dvdisaster.c:281 dvdisaster.c:293 dvdisaster.c:309 +#: dvdisaster.c:308 dvdisaster.c:320 dvdisaster.c:336 msgid "test phrase for verifying the locale installation" msgstr "ok" -#: dvdisaster.c:472 +#: dvdisaster.c:486 +msgid "-o/--ecc-target expects 'file' or 'image'" +msgstr "" + +#: dvdisaster.c:512 #, c-format msgid "--threads must be 1..%d\n" msgstr "" -#: dvdisaster.c:486 +#: dvdisaster.c:526 msgid "--cache-size must at least be 8MB; 16MB or higher is recommended." msgstr "" -#: dvdisaster.c:488 +#: dvdisaster.c:528 msgid "--cache-size maximum is 8192MB." msgstr "" -#: dvdisaster.c:504 +#: dvdisaster.c:544 msgid "Valid args for --driver: sg" msgstr "" -#: dvdisaster.c:506 +#: dvdisaster.c:546 msgid "--driver is only supported on GNU/Linux" msgstr "" -#: dvdisaster.c:614 +#: dvdisaster.c:593 +msgid "--prefetch-sectors must be in range 32...8096" +msgstr "" + +#: dvdisaster.c:652 #, c-format msgid "" "\n" @@ -389,12 +429,12 @@ msgid "" "\n" msgstr "" -#: dvdisaster.c:678 +#: dvdisaster.c:716 #, c-format msgid "?? illegal getopt return value %d\n" msgstr "?? neplatná návratová hodnota getopt %d\n" -#: dvdisaster.c:712 +#: dvdisaster.c:750 #, c-format msgid "" "dvdisaster is not properly installed.\n" @@ -403,7 +443,7 @@ msgstr "" #. TRANSLATORS: Program options like -r and --read are not to be translated #. to avoid confusion when discussing the program in international forums. -#: dvdisaster.c:876 +#: dvdisaster.c:910 msgid "" "\n" "Common usage examples:\n" @@ -427,7 +467,7 @@ msgstr "" " dvdisaster -u,--unlink # Smaže soubor .iso (když se dokončí další akce)\n" "\n" -#: dvdisaster.c:885 +#: dvdisaster.c:919 #, c-format msgid "" "Drive and file specification:\n" @@ -435,78 +475,202 @@ msgid "" " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" " -i,--image imagefile - name of image file (default: medium.iso)\n" " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +" -o,--ecc-target [file image] - where to put ecc data in RS03\n" msgstr "" -"Specifikace mechaniky a souboru:\n" -" -d,--device device - čte ze zadané mechaniky (výchozí: %s)\n" -" -p,--prefix prefix - prefix souborů .iso/.ecc (výchozí: medium.*)\n" -" -i,--image imagefile - název souboru obrazu (výchozí: medium.iso)\n" -" -e,--ecc eccfile - název souboru ecc (výchozí: medium.ecc)\n" -#: dvdisaster.c:893 -msgid "" -" -l,--list - list drives available under ASPI manager\n" -"\n" +#: dvdisaster.c:929 +msgid "Tweaking options (see manual before using!)\n" +msgstr "Vylepšovací volby (podívejte se před použitím do příručky!)\n" + +#: dvdisaster.c:930 +msgid " -a,--assume x,y,... - assume image is augmented with codec(s) x,y,...\n" msgstr "" -" -l,--list - vypíše seznam mechanik dostupných pod ASPI\n" -"\n" -#: dvdisaster.c:898 +#: dvdisaster.c:931 +msgid " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" +msgstr " -j,--jump n - přeskočit n sektorů vpřed po chybě čtení (výchozí: 16)\n" + +#: dvdisaster.c:932 +msgid " -m n - list/select error correction methods (default: RS01)\n" +msgstr " -m n - list/select error correction methods (default: RS01)\n" + +#: dvdisaster.c:933 #, c-format msgid "" -"Tweaking options (see manual before using!)\n" -" -j,--jump n - jump n sectors forward after a read error (default: 16)\n" -" -m n - list/select error correction methods (default: RS01)\n" " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" " maximum error correction image size (in sectors)\n" -" -v,--verbose - more diagnostic messages\n" -" --adaptive-read - use optimized strategy for reading damaged media\n" -" --auto-suffix - automatically add .iso and .ecc file suffixes\n" -" --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" -" --dao - assume DAO disc; do not trim image end\n" -" --defective-dump d - directory for saving incomplete raw sectors\n" -" --eject - eject medium after successful read\n" -" --fill-unreadable n - fill unreadable sectors with byte n\n" -" --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" -" --internal-rereads n - drive may attempt n rereads before reporting an error\n" -" --query-size n - query drive/udf/ecc for image size (default: ecc)\n" -" --raw-mode n - mode for raw reading CD media (20 or 21)\n" -" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -" --read-medium n - read the whole medium up to n times\n" -" --read-raw - performs read in raw mode if possible\n" -" --speed-warning n - print warning if speed changes by more than n percent\n" -" --spinup-delay n - wait n seconds for drive to spin up\n" -" --split-files - split image into files <= 2GB\n" -"\n" +msgstr "" +" -n,--redundancy n%% - redundance souboru oprav chyb (v procentech), nebo\n" +" maximální velikost obrazu s opravnými daty (v sektorech)\n" + +#: dvdisaster.c:935 +msgid " -v,--verbose - more diagnostic messages\n" +msgstr " -v,--verbose - více diagnostických hlášení\n" + +#: dvdisaster.c:936 +msgid " -x,--threads n - use n threads for en-/decoding (if supported by codec)\n" msgstr "" -#: dvdisaster.c:924 -#, c-format -msgid "" -"Debugging options (purposefully undocumented and possibly harmful)\n" -" --debug - enables the following options\n" -" --byteset s,i,b - set byte i in sector s to b\n" -" --cdump - creates C #include file dumps instead of hexdumps\n" -" --compare-images a,b - compare sectors in images a and b\n" -" --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" -" --erase sector - erase the given sector\n" -" --erase n-m - erase sectors n - m, inclusively\n" -" --marked-image n - create image with n marked random sectors\n" -" --merge-images a,b merge image a with b (a receives sectors from b)\n" -" --random-errors r,e seed image with (correctable) random errors\n" -" --random-image n - create image with n sectors of random numbers\n" -" --random-seed n - random seed for built-in random number generator\n" -" --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" -" --read-sector n - shows hexdump of the given sector from medium in drive\n" -" --screen-shot - useful for generating screen shots\n" -" --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" -" --show-sector n - shows hexdump of the given sector in an image file\n" -" --sim-defects n - simulate n%% defective sectors on medium\n" -" --truncate n - truncates image to n sectors\n" -" --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" -"\n" +#: dvdisaster.c:937 +msgid " --adaptive-read - use optimized strategy for reading damaged media\n" +msgstr " --adaptive-read - použít optimalizovanou strategii čtení poškozených médií\n" + +#: dvdisaster.c:938 +msgid " --auto-suffix - automatically add .iso and .ecc file suffixes\n" +msgstr " --auto-suffix - automaticky přidat souborové přípony .iso a .ecc\n" + +#: dvdisaster.c:939 +msgid " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" +msgstr " --cache-size n - velikost vyrovnávací paměti v MB v režimu -c (výchozí: 32MB)\n" + +#: dvdisaster.c:940 +msgid " --dao - assume DAO disc; do not trim image end\n" +msgstr " --dao - předpokládat disk DAO; neořezávat konec obrazu\n" + +#: dvdisaster.c:941 +msgid " --defective-dump d - directory for saving incomplete raw sectors\n" +msgstr "" + +#: dvdisaster.c:943 +msgid " --driver=sg - use alternative sg driver (see man page!)\n" +msgstr "" + +#: dvdisaster.c:945 +msgid " --eject - eject medium after successful read\n" +msgstr "" + +#: dvdisaster.c:946 +msgid " --fill-unreadable n - fill unreadable sectors with byte n\n" +msgstr " --fill-unreadable n - vyplnit nečitelné sektory bajtem n\n" + +#: dvdisaster.c:947 +msgid " --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" msgstr "" #: dvdisaster.c:948 +msgid " --internal-rereads n - drive may attempt n rereads before reporting an error\n" +msgstr "" + +#: dvdisaster.c:949 +msgid " --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n" +msgstr "" + +#: dvdisaster.c:950 +msgid " --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMB)\n" +msgstr "" + +#: dvdisaster.c:951 +msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" +msgstr "" + +#: dvdisaster.c:952 +msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" +msgstr "" + +#: dvdisaster.c:953 +msgid " --read-medium n - read the whole medium up to n times\n" +msgstr "" + +#: dvdisaster.c:954 +msgid " --read-raw - performs read in raw mode if possible\n" +msgstr "" + +#: dvdisaster.c:955 +msgid " --speed-warning n - print warning if speed changes by more than n percent\n" +msgstr " --speed-warning n - vypsat upozornění, změní-li se rychlost o více než n procent\n" + +#: dvdisaster.c:956 +msgid " --spinup-delay n - wait n seconds for drive to spin up\n" +msgstr " --spinup-delay n - počkat n sekund na roztočení mechaniky\n" + +#: dvdisaster.c:960 +msgid "Debugging options (purposefully undocumented and possibly harmful)\n" +msgstr "Ladící volby (úmyslně nedokumentované a pravděpodobně škodlivé)\n" + +#: dvdisaster.c:961 +msgid " --debug - enables the following options\n" +msgstr " --debug - povoluje následující ladící volby\n" + +#: dvdisaster.c:962 +msgid " --byteset s,i,b - set byte i in sector s to b\n" +msgstr " --byteset s,i,b - nastavit bajt i v sektoru s na b\n" + +#: dvdisaster.c:963 +msgid " --cdump - creates C #include file dumps instead of hexdumps\n" +msgstr "" + +#: dvdisaster.c:964 +msgid " --compare-images a,b - compare sectors in images a and b\n" +msgstr "" + +#: dvdisaster.c:965 +msgid " --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" +msgstr "" + +#: dvdisaster.c:966 +msgid " --erase sector - erase the given sector\n" +msgstr " --erase sector - vymazat daný sektor\n" + +#: dvdisaster.c:967 +msgid " --erase n-m - erase sectors n - m, inclusively\n" +msgstr " --erase n-m - vymazat sektory n - m, včetně\n" + +#: dvdisaster.c:968 +msgid " --marked-image n - create image with n marked random sectors\n" +msgstr "" + +#: dvdisaster.c:969 +msgid " --merge-images a,b merge image a with b (a receives sectors from b)\n" +msgstr "" + +#: dvdisaster.c:970 +msgid " --random-errors r,e seed image with (correctable) random errors\n" +msgstr " --random-errors r,e distribuovat náhodné (opravitelné) chyby v obrazu\n" + +#: dvdisaster.c:971 +msgid " --random-image n - create image with n sectors of random numbers\n" +msgstr " --random-image n - vytvořit obraz s n sektory náhodných čísel\n" + +#: dvdisaster.c:972 +msgid " --random-seed n - random seed for built-in random number generator\n" +msgstr " --random-seed n - inicializace náhodného generátoru pro funkci výše\n" + +#: dvdisaster.c:973 +msgid " --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" +msgstr "" + +#: dvdisaster.c:974 +msgid " --read-sector n - shows hexdump of the given sector from medium in drive\n" +msgstr "" + +#: dvdisaster.c:975 +msgid " --screen-shot - useful for generating screen shots\n" +msgstr "" + +#: dvdisaster.c:976 +msgid " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" +msgstr " --send-cdb arg - vykoná daný cdb na mechanice; nevhodné užití shodí systém\n" + +#: dvdisaster.c:977 +msgid " --show-sector n - shows hexdump of the given sector in an image file\n" +msgstr " --show-sector n - zobrazí hexadecimální výpis daného sektoru\n" + +#: dvdisaster.c:978 +#, c-format +msgid " --sim-defects n - simulate n%% defective sectors on medium\n" +msgstr " --sim-defects n - simulate n%% defective sectors on medium\n" + +#: dvdisaster.c:979 +msgid " --truncate n - truncates image to n sectors\n" +msgstr " --truncate n - zkrátí obraz na n sektorů\n" + +#: dvdisaster.c:980 +msgid "" +" --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" +"\n" +msgstr " --zero-unreadable - nahradí značky \"nečitelného sektoru\" nulami\n" + +#: dvdisaster.c:984 msgid "" "NOTE: This is the Windows console version of dvdisaster.\n" "The version providing a graphical user interface is called\n" @@ -514,7 +678,7 @@ msgid "" "\n" msgstr "" -#: dvdisaster.c:969 +#: dvdisaster.c:1005 msgid "Optical drive 52X FW 1.02" msgstr "" @@ -534,6 +698,22 @@ msgstr "" msgid "Reed-Solomon method with improved tolerance for defective ecc data" msgstr "Metoda Reed-Solomon s vylepšenou odolností pro poškozená opravná data" +#: ecc-rs03.c:39 +msgid "Multithreaded RS codec (RS03)" +msgstr "" + +#: ecc-rs03.c:40 +msgid "Multithreaded Reed-Solomon codec for error correction files and augmented images" +msgstr "" + +#: ecc-rs03s.c:39 +msgid "Single threaded RS codec (RSS3)" +msgstr "" + +#: ecc-rs03s.c:40 +msgid "Single threaded Reed-Solomon codec for error correction files and augmented images" +msgstr "" + #: file.c:39 #, c-format msgid "" @@ -547,7 +727,7 @@ msgstr "" msgid ": not present.\n" msgstr ": nepřítomno.\n" -#: file.c:49 +#: file.c:49 rs03-common.c:175 #, c-format msgid "Image file %s not present." msgstr "Soubor obrazu %s není přítomen." @@ -584,7 +764,7 @@ msgstr "" "Nelze načíst hlavičku ecc:\n" "%s" -#: file.c:186 rs01-create.c:958 +#: file.c:186 rs01-create.c:971 #, c-format msgid "" "Error closing error correction file:\n" @@ -665,14 +845,14 @@ msgstr "O aplikaci dvdisaster" #: help-dialogs.c:709 msgid "" -"Modified version Copyright 2009 (please fill in - [directions])\n" -"Copyright 2004-2009 Carsten Gnoerlich" +"Modified version Copyright 2010 (please fill in - [directions])\n" +"Copyright 2004-2010 Carsten Gnoerlich" msgstr "" #: help-dialogs.c:713 -msgid "Copyright 2004-2009 Carsten Gnoerlich" +msgid "Copyright 2004-2010 Carsten Gnoerlich" msgstr "" -"Copyright 2004-2009 Carsten Gnörlich\n" +"Copyright 2004-2010 Carsten Gnörlich\n" "Česká lokalizace 2006 Luboš Staněk" #: help-dialogs.c:720 @@ -725,7 +905,7 @@ msgid "" "NetBSD port: Sergey Svishchev <svs@ropnet.ru>" msgstr "" -#: large-io.c:499 +#: large-io.c:250 #, c-format msgid "" "Error while writing the file:\n" @@ -740,84 +920,103 @@ msgstr "" "\n" "Můžete tuto operaci zopakovat, jakmile uvolníte nějaké místo." -#: main-window.c:70 +#: main-window.c:57 #, c-format msgid "dvdisaster-%s log\n" msgstr "záznam programu dvdisaster-%s\n" -#: main-window.c:241 +#: main-window.c:87 +msgid "" +"The .iso image and error correction file\n" +"must not be the same file!\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" + +#: main-window.c:97 +msgid "" +"The error correction file type must not be \".iso\".\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" + +#: main-window.c:246 msgid "button|Read" msgstr "Načíst" -#: main-window.c:244 +#: main-window.c:249 msgid "tooltip|Read Image" msgstr "Čtení obrazu" -#: main-window.c:244 +#: main-window.c:249 msgid "Reads a CD/DVD image into a file (or tries to complete an existing image file)." msgstr "Načte CD/DVD obraz do souboru (nebo se pokusí doplnit existující soubor obrazu)." -#: main-window.c:258 +#: main-window.c:263 msgid "button|Create" msgstr "Vytvořit" -#: main-window.c:261 +#: main-window.c:266 msgid "tooltip|Create error correction data" msgstr "" -#: main-window.c:261 +#: main-window.c:266 msgid "Creates error correction data. Requires an image file." msgstr "" -#: main-window.c:265 +#: main-window.c:270 msgid "button|Scan" msgstr "Skenovat" -#: main-window.c:268 +#: main-window.c:273 msgid "tooltip|Scan medium" msgstr "Skenovat médium" -#: main-window.c:268 +#: main-window.c:273 msgid "Scans medium for unreadable sectors." msgstr "Skenuje médium na nečitelné sektory." -#: main-window.c:272 +#: main-window.c:277 msgid "button|Fix" msgstr "Opravit" -#: main-window.c:275 +#: main-window.c:280 msgid "tooltip|Repair image" msgstr "Opravit obraz" -#: main-window.c:275 +#: main-window.c:280 msgid "Repairs an image. Requires an image file and error correction data." msgstr "" -#: main-window.c:279 +#: main-window.c:284 msgid "button|Verify" msgstr "" -#: main-window.c:282 +#: main-window.c:287 msgid "tooltip|Consistency check" msgstr "" -#: main-window.c:282 +#: main-window.c:287 msgid "Tests consistency of error correction data and image file." msgstr "" -#: main-window.c:286 +#: main-window.c:291 msgid "button|Stop" msgstr "Zastavit" -#: main-window.c:289 +#: main-window.c:294 msgid "tooltip|Abort action" msgstr "Přerušit akci" -#: main-window.c:289 +#: main-window.c:294 msgid "Aborts an ongoing action." msgstr "Přeruší probíhající akci." -#: main-window.c:418 +#: main-window.c:423 #, c-format msgid "" "dvdisaster is not properly installed\n" @@ -825,15 +1024,15 @@ msgid "" "Please execute the installer program (%s) again.\n" msgstr "" -#: main-window.c:502 +#: main-window.c:507 msgid "tooltip|Protocol for current action" msgstr "Protokol aktuální akce" -#: main-window.c:503 +#: main-window.c:508 msgid "Displays additional information created during the current or last action." msgstr "Zobrazí další informace vytvořené v průběhu aktuální nebo poslední akce." -#: main-window.c:512 +#: main-window.c:517 msgid "View log" msgstr "Zobrazit záznam" @@ -853,7 +1052,7 @@ msgstr "" msgid "finalized" msgstr "" -#: medium-info.c:89 scsi-layer.c:83 +#: medium-info.c:89 scsi-layer.c:97 msgid "unknown" msgstr "neznámý" @@ -865,8 +1064,8 @@ msgstr "" msgid "damaged" msgstr "" -#: medium-info.c:95 rs02-verify.c:669 rs02-verify.c:870 rs02-verify.c:871 -#: rs02-verify.c:872 +#: medium-info.c:95 rs02-verify.c:674 rs02-verify.c:880 rs02-verify.c:881 +#: rs02-verify.c:882 rs03-verify.c:1270 rs03-verify.c:1272 rs03-verify.c:1273 msgid "complete" msgstr "" @@ -942,7 +1141,7 @@ msgstr "" msgid "Book type:" msgstr "" -#: medium-info.c:308 scsi-layer.c:2645 +#: medium-info.c:308 scsi-layer.c:2662 msgid "Manuf.-ID:" msgstr "" @@ -1172,32 +1371,27 @@ msgstr "" "Seznam dostupných metod:\n" "\n" -#: method.c:288 method.c:289 +#: method.c:133 method.c:134 +msgid "" +"\n" +"Error correction file type unknown.\n" +msgstr "" + +#: method.c:163 method.c:164 +msgid "" +"\n" +"No error correction data recognized in image.\n" +msgstr "" + +#: method.c:174 method.c:175 #, c-format msgid "Image file %s not present.\n" msgstr "Soubor obrazu %s není přítomen.\n" -#: method.c:313 method.c:318 -#, c-format -msgid "" -"\n" -"Unknown method %s.\n" -msgstr "" -"\n" -"Neznámá metoda %s.\n" - -#: method.c:314 method.c:319 -msgid "" -"\n" -"Neither ecc file nor ecc data in image found.\n" -msgstr "" -"\n" -"Ani soubor ecc ani ecc data v obrazu nebyla nalezena.\n" - #: misc.c:205 #, c-format -msgid "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnoerlich.\n" -msgstr "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnörlich.\n" +msgid "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnoerlich.\n" +msgstr "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnörlich.\n" #. TRANSLATORS: Excluding all kinds of warranty might be harmful under your #. legislature. If in doubt, just translate the following like "This is free @@ -1215,11 +1409,11 @@ msgstr "" "podle podmínek VŠEOBECNÉ VEŘEJNÉ LICENCE GNU. Celá,\n" "právně závazná licence je uvedena v souboru \"COPYING\".\n" -#: misc.c:432 +#: misc.c:448 msgid "Warning" msgstr "Varování" -#: misc.c:495 misc.c:501 +#: misc.c:511 misc.c:517 msgid "" "\n" "*\n" @@ -1231,97 +1425,83 @@ msgstr "" "* dvdisaster - nemůže pokračovat:\n" "*\n" -#: preferences.c:444 +#: misc.c:1135 +msgid "Do not ask again" +msgstr "" + +#: misc.c:1156 +#, c-format +msgid "" +"Image file already exists and does not match the medium:\n" +"\n" +"%s\n" +"\n" +"The existing image file will be deleted." +msgstr "" + +#: misc.c:1175 +#, c-format +msgid "" +"The error correction file is already present:\n" +"\n" +"%s\n" +"\n" +"Overwrite it?" +msgstr "" + +#: preferences.c:448 msgid "Switched to the linear reading strategy." msgstr "Přepnuto na strategii lineárního čtení." -#: preferences.c:812 +#: preferences.c:828 msgid "Color selection" msgstr "" -#: preferences.c:1069 +#: preferences.c:1047 msgid "Disabled automatic error correction file generation." msgstr "Zakázána automatická tvorba souboru oprav chyb." -#: preferences.c:1232 preferences.c:2304 preferences.c:2313 +#: preferences.c:1210 preferences.c:2295 preferences.c:2304 msgid "Raw sector caching" msgstr "" -#: preferences.c:1304 +#: preferences.c:1282 msgid "Log file" msgstr "" -#: preferences.c:1326 +#: preferences.c:1304 msgid "Delete the log file?" msgstr "" -#: preferences.c:1419 +#: preferences.c:1398 msgid "Preferences" msgstr "Nastavení" -#: preferences.c:1449 +#: preferences.c:1428 rs03-preferences.c:486 msgid "Image" msgstr "" -#: preferences.c:1453 -msgid "Image size" -msgstr "" - -#: preferences.c:1460 -msgid "Image size determination" -msgstr "" - -#: preferences.c:1460 -msgid "Get Image size from: " -msgstr "" - -#: preferences.c:1472 preferences.c:1788 -msgid "Drive" -msgstr "" - -#: preferences.c:1478 -msgid "ISO/UDF" -msgstr "" - -#: preferences.c:1484 -msgid "ECC/RS02" -msgstr "" - -#: preferences.c:1508 -msgid "" -"Image size determination\n" -"\n" -"Use ECC/RS02 for reading images augmented with error correction data; else pick ISO/UDF.\n" -"\n" -"ECC/RS02: The Image size is determined from the error correction data. Reading RS02 augmented images requires this option; otherwise the images may be incomplete. However if the medium does not contain error correction data, the start of the reading operation may be delayed significantly.\n" -"\n" -"ISO/UDF: The image size is determined from the ISO/UDF file system.\n" -"Caution: This is only suitable for working with error correction files. Images containing RS02 error correction information may be truncated.\n" -"\n" -"Drive: The image size reported by the drive will be used. As this information is typically wrong for DVD-RW/+RW/-RAM media this option is only present for backwards compatibility with older dvdisaster versions." -msgstr "" - -#: preferences.c:1527 +#: preferences.c:1432 msgid "Image creation" msgstr "" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy" msgstr "" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy: " msgstr "Strategie čtení: " -#: preferences.c:1550 +#: preferences.c:1455 msgid "Linear" msgstr "Lineární" -#: preferences.c:1558 +#: preferences.c:1463 msgid "Adaptive (for defective media)" msgstr "Adaptivní (pro vadná média)" -#: preferences.c:1570 +#: preferences.c:1475 msgid "" "Reading strategy\n" "\n" @@ -1336,19 +1516,19 @@ msgid "" "Using the adaptive strategy without error correction data is possible but it is recommended to use linear reading in that case." msgstr "" -#: preferences.c:1582 +#: preferences.c:1487 msgid "Reading range" msgstr "" -#: preferences.c:1582 +#: preferences.c:1487 msgid "Read/Scan from sector" msgstr "Číst/Skenovat od sektoru" -#: preferences.c:1607 +#: preferences.c:1512 msgid "to sector" msgstr "po sektor" -#: preferences.c:1625 +#: preferences.c:1530 msgid "" "Reading range\n" "\n" @@ -1359,19 +1539,61 @@ msgid "" "These settings are only effective for the current session and will not be saved." msgstr "" -#: preferences.c:1635 +#: preferences.c:1540 +msgid "Error correction data recognization" +msgstr "" + +#: preferences.c:1549 +msgid "Exhaustive RS02 header search" +msgstr "" + +#: preferences.c:1549 +msgid "Perform exhaustive search for RS02 headers" +msgstr "" + +#: preferences.c:1569 +msgid "" +"Exhaustive RS02 header search\n" +"\n" +"When this setting is off only a quick check for RS02 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS02.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS02 data, but is not being recognized as such. Searching for the RS02 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS02 data. Otherwise you will waste a lot of time searching for the RS02 signatures and increase wear on the drive." +msgstr "" + +#: preferences.c:1588 +msgid "Recover RS03 signatures" +msgstr "" + +#: preferences.c:1588 +msgid "Find and recover RS03 signatures" +msgstr "" + +#: preferences.c:1608 +msgid "" +"Exhaustive RS03 header search\n" +"\n" +"When this setting is off only a quick check for RS03 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS03.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS03 data, but is not being recognized as such. Searching for the RS03 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS03 data. Otherwise you will waste a lot of time searching for the RS03 signatures and increase wear on the drive." +msgstr "" + +#: preferences.c:1627 msgid "Image properties" msgstr "Vlastnosti obrazu" -#: preferences.c:1644 +#: preferences.c:1636 msgid "DAO mode" msgstr "" -#: preferences.c:1644 +#: preferences.c:1636 msgid "Assume image to be written in DAO mode (don't truncate)" msgstr "Předpokládat, že obraz má být zapsán v režimu DAO (nezkracovat)" -#: preferences.c:1664 +#: preferences.c:1656 msgid "" "Assume DAO mode\n" "\n" @@ -1382,19 +1604,19 @@ msgid "" "Tip: To avoid these problems, consider using the \"DAO / Disc at once\" (sometimes also called \"SAO / Session at once\") mode for writing single session media." msgstr "" -#: preferences.c:1680 +#: preferences.c:1671 msgid "Image format" msgstr "" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Missing sector tags" msgstr "" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Use new style missing sector tags (Warning: compatibility issues!)" msgstr "" -#: preferences.c:1709 +#: preferences.c:1700 msgid "" "Missing sector tagging\n" "\n" @@ -1403,15 +1625,15 @@ msgid "" "N.b.: dvdisaster >= 0.72 will automatically recognize both tag formats when reading images; setting this value only affects the creation of new images." msgstr "" -#: preferences.c:1728 +#: preferences.c:1719 msgid "Filling of unreadable sectors" msgstr "" -#: preferences.c:1729 +#: preferences.c:1720 msgid "Fill unreadable sectors with byte:" msgstr "Vyplnit nečitelné sektory bajtem:" -#: preferences.c:1768 +#: preferences.c:1759 msgid "" "Filling of unreadable sectors\n" "\n" @@ -1419,50 +1641,54 @@ msgid "" "In other data recovery software it is common to fill unreadable sectors with a certain byte value. To allow interoperability with such programs, you can specify the byte value they are using:\n" msgstr "" -#: preferences.c:1777 +#: preferences.c:1768 msgid "0xb0 (176 decimal): for compatibility with h2cdimage published by \"c't\", a German periodical.\n" msgstr "" -#: preferences.c:1781 +#: preferences.c:1772 msgid "Note: Using zero filling (0x00, decimal 0) is highly discouraged. Most media contain regular zero filled sectors which can not be told apart from unreadable sectors if zero filling is used." msgstr "" -#: preferences.c:1792 preferences.c:1795 +#: preferences.c:1779 +msgid "Drive" +msgstr "" + +#: preferences.c:1783 preferences.c:1786 msgid "Drive initialisation" msgstr "Inicializace mechaniky" -#: preferences.c:1796 +#: preferences.c:1787 msgid "Wait" msgstr "Čekat" -#: preferences.c:1799 +#: preferences.c:1790 msgid "seconds for drive to spin up" msgstr "sekund na roztočení mechaniky" -#: preferences.c:1828 +#: preferences.c:1819 msgid "" "Drive initialisation\n" "\n" "Waits the specified amount of seconds for letting the drive spin up. This avoids speed jumps at the beginning of the reading curve." msgstr "" -#: preferences.c:1834 +#: preferences.c:1825 msgid "Raw reading parameters" msgstr "" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode" msgstr "" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode: " msgstr "" -#: preferences.c:1874 +#: preferences.c:1865 msgid "other:" msgstr "" -#: preferences.c:1908 +#: preferences.c:1899 msgid "" "Raw reading mode\n" "\n" @@ -1476,19 +1702,19 @@ msgid "" "0x01 Some drives do the right thing when given this value, although this makes no sense according to the SCSI specs. Try entering this value in the \"other\" field if the other choices do not work. See the mode page 01h documentation in chapter 6 of MMC3 or later for additional information." msgstr "" -#: preferences.c:1934 +#: preferences.c:1925 msgid "Internal read attempts" msgstr "" -#: preferences.c:1935 +#: preferences.c:1926 msgid "Reread defective sectors" msgstr "" -#: preferences.c:1938 +#: preferences.c:1929 msgid "times" msgstr "" -#: preferences.c:1968 +#: preferences.c:1959 msgid "" "Internal read attempts\n" "\n" @@ -1498,15 +1724,15 @@ msgid "" "Use the value -1 to leave the drive at its default setting." msgstr "" -#: preferences.c:1981 preferences.c:1984 +#: preferences.c:1972 preferences.c:1975 msgid "Fatal error handling" msgstr "" -#: preferences.c:1985 +#: preferences.c:1976 msgid "Ignore fatal errors" msgstr "" -#: preferences.c:2011 +#: preferences.c:2002 msgid "" "Fatal error handling\n" "\n" @@ -1514,15 +1740,15 @@ msgid "" "However some drives produce unfounded fatal messages. For such drives ignoring fatal errors may be needed to do uninterrupted reading of damaged media." msgstr "" -#: preferences.c:2021 +#: preferences.c:2012 msgid "Media ejection" msgstr "" -#: preferences.c:2024 preferences.c:2025 +#: preferences.c:2015 preferences.c:2016 msgid "Eject medium after sucessful read" msgstr "" -#: preferences.c:2051 +#: preferences.c:2042 msgid "" "Medium ejection\n" "\n" @@ -1531,23 +1757,23 @@ msgid "" "Note that the desktop environment may prevent other applications from ejecting media. In that case eject the medium through the desktop user interface." msgstr "" -#: preferences.c:2061 +#: preferences.c:2052 msgid "Read attempts" msgstr "" -#: preferences.c:2065 +#: preferences.c:2056 msgid "Sector read errors" msgstr "" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Raw reading" msgstr "" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Read and analyze raw sectors" msgstr "" -#: preferences.c:2095 +#: preferences.c:2086 msgid "" "Raw reading (affects CD media only)\n" "\n" @@ -1563,16 +1789,16 @@ msgid "" "Raw sector caching also needs checking of the respective option." msgstr "" -#: preferences.c:2112 +#: preferences.c:2103 msgid "Minimum number of reading attempts" msgstr "" -#: preferences.c:2114 preferences.c:2115 preferences.c:2120 preferences.c:2121 +#: preferences.c:2105 preferences.c:2106 preferences.c:2111 preferences.c:2112 #, c-format msgid "Min. %d reading attempts per sector" msgstr "" -#: preferences.c:2142 +#: preferences.c:2133 msgid "" "Minimum number of reading attempts\n" "\n" @@ -1581,16 +1807,16 @@ msgid "" "Increasing the number of reading attempts may improve data recovery on marginal media, but will also increase processing time and mechanical wear on the drive." msgstr "" -#: preferences.c:2151 +#: preferences.c:2142 msgid "Maximum number of reading attempts" msgstr "" -#: preferences.c:2153 preferences.c:2154 preferences.c:2159 preferences.c:2160 +#: preferences.c:2144 preferences.c:2145 preferences.c:2150 preferences.c:2151 #, c-format msgid "Max. %d reading attempts per sector" msgstr "" -#: preferences.c:2181 +#: preferences.c:2172 msgid "" "Maximum number of reading attempts\n" "\n" @@ -1599,21 +1825,21 @@ msgid "" "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your CD/DVD drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." msgstr "" -#: preferences.c:2195 +#: preferences.c:2186 msgid "Treatment of unreadable areas" msgstr "" -#: preferences.c:2197 preferences.c:2199 preferences.c:2200 preferences.c:2208 +#: preferences.c:2188 preferences.c:2190 preferences.c:2191 preferences.c:2199 #, c-format msgid "Skip %d sectors after read error" msgstr "Přeskočit %d sektorů po chybě čtení" -#: preferences.c:2198 preferences.c:2203 preferences.c:2204 preferences.c:2209 +#: preferences.c:2189 preferences.c:2194 preferences.c:2195 preferences.c:2200 #, c-format msgid "Stop reading when unreadable intervals < %d" msgstr "" -#: preferences.c:2235 +#: preferences.c:2226 msgid "" "Treatment of unreadable areas\n" "\n" @@ -1622,34 +1848,34 @@ msgid "" "Effects on the linear reading strategy:" msgstr "" -#: preferences.c:2242 +#: preferences.c:2233 msgid "Skipping a large number of sectors (e.g. 1024) gives a quick overview of damaged areas, but will usually not collect enough data for repairing the image." msgstr "" -#: preferences.c:2246 +#: preferences.c:2237 msgid "Smaller values like 16, 32 or 64 are a good trade-off: The processing time will beconsiderably shortened, but still enough data for repairing the image is collected.\n" msgstr "" -#: preferences.c:2250 +#: preferences.c:2241 msgid "" "The adaptive reading strategy uses this setting only if no error correction data is available. In that case the reading process will stop when no unread areas larger than the selected size remain. Values smaller than 128 are not recommended as they cause the drive to carry out lots of laser head repositioning during the final phase of the reading process. If adaptive reading with a setting of 128 is not sufficient, try reading the remaining sectors with an additional linear reading pass.\n" "\n" "On DVD and BD media read errors do usually extend over at least 16 sectors for technical reasons. Therefore selecting a value less than 16 is not recommended for DVD and BD." msgstr "" -#: preferences.c:2263 preferences.c:2266 +#: preferences.c:2254 preferences.c:2257 msgid "Media read attempts" msgstr "" -#: preferences.c:2267 +#: preferences.c:2258 msgid "Read the whole medium " msgstr "" -#: preferences.c:2282 +#: preferences.c:2273 msgid " times" msgstr "" -#: preferences.c:2297 +#: preferences.c:2288 msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -1658,15 +1884,15 @@ msgid "" "Only the missing sectors will be tried in the additional reading passes." msgstr "" -#: preferences.c:2314 +#: preferences.c:2305 msgid "Keep uncorrectable raw sectors in the following directory:" msgstr "" -#: preferences.c:2321 preferences.c:3106 +#: preferences.c:2312 preferences.c:3105 msgid "Select" msgstr "" -#: preferences.c:2360 +#: preferences.c:2351 msgid "" "Raw sector caching\n" "\n" @@ -1678,298 +1904,304 @@ msgid "" "dvdisaster will not remove any files from the given directory; you need to clean it up manually after a successful medium recovery." msgstr "" -#: preferences.c:2378 +#: preferences.c:2369 msgid "Raw sector file prefix" msgstr "" -#: preferences.c:2379 +#: preferences.c:2370 msgid "Raw sector file prefix: " msgstr "" -#: preferences.c:2400 +#: preferences.c:2391 msgid "" "Raw sector file prefix\n" "\n" "Use a different prefix for each disk you are trying to recover, e.g. \"disk1-\" and so on." msgstr "" -#: preferences.c:2408 +#: preferences.c:2399 msgid "Error correction" msgstr "Oprava chyb" -#: preferences.c:2410 +#: preferences.c:2401 msgid "Error correction method" msgstr "" -#: preferences.c:2411 +#: preferences.c:2402 msgid "Storage method:" msgstr "" +#: preferences.c:2441 +msgid "" +"Error correction method\n" +"\n" +"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are different codecs and ways available for storing the error correction information:\n" +msgstr "" + #: preferences.c:2447 msgid "" -"Error correction method\n" -"\n" -"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are two different ways available for storing the error correction information:\n" +"The RS01 codec\n" +"RS01 is the recommended codec for storing error correction data in separate files.\n" msgstr "" -#: preferences.c:2453 +#: preferences.c:2450 msgid "" -"Error correction files (RS01 method)\n" -"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster, as data loss in an error correction file will render it unusable.\n" +"The RS02 codec\n" +"RS02 is the currently recommended codec for augmenting images with error correction data.\n" msgstr "" -#: preferences.c:2460 +#: preferences.c:2454 msgid "" -"Augmented images (RS02 method)\n" -"The error correction data will be stored along with the user data on the same CD/DVD. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image. Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required." +"The RS03 codec (Warning: experimental)\n" +"RS03 can either store error correction data in a separate file or augment the image with it. It provides multithreading to scale with multicore processors and contains some subtle improvements over RS01 and RS02. However it should not be used for productive work unless a stable version is released with dvdisaster V0.80." msgstr "" -#: preferences.c:2500 +#: preferences.c:2492 msgid "Files" msgstr "" -#: preferences.c:2504 +#: preferences.c:2496 msgid "Local files (on hard disc)" msgstr "Lokální soubory (na pevném disku)" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatic file suffixes" msgstr "" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatically add .iso and .ecc file suffixes" msgstr "Automaticky přidat souborové přípony .iso a .ecc" -#: preferences.c:2535 +#: preferences.c:2527 msgid "" "Automatically add file suffixes\n" "\n" "When this switch is set, files will be automatically appended with \".iso\" or \".ecc\" suffixes if no other file name extension is already present." msgstr "" -#: preferences.c:2541 -msgid "File splitting" -msgstr "" - -#: preferences.c:2541 -msgid "Split files into segments <= 2GB" -msgstr "" - -#: preferences.c:2564 -msgid "" -"File splitting\n" -"\n" -"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -msgstr "" - -#: preferences.c:2573 +#: preferences.c:2533 msgid "Automatic file creation and deletion" msgstr "Automatická tvorba a mazání souborů" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Automatic .ecc file creation" msgstr "" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Create error correction file after reading image" msgstr "Vytvořit soubor oprav chyb po načtení obrazu" -#: preferences.c:2605 +#: preferences.c:2565 msgid "" "Automatic error correction file creation\n" "\n" "Automatically creates an error correction file after reading an image. Together with the \"Remove image\" option this will speed up error correction file generation for a series of different media." msgstr "" -#: preferences.c:2612 +#: preferences.c:2572 msgid "Automatic image file removal" msgstr "" -#: preferences.c:2612 +#: preferences.c:2572 msgid "Remove image after error correction file creation" msgstr "Odstranit obraz po vytvoření souboru oprav chyb" -#: preferences.c:2635 +#: preferences.c:2595 msgid "" "Automatic image file removal\n" "\n" "If this switch is set the image file will be deleted following the successful generation of the respective error correction file." msgstr "" -#: preferences.c:2641 +#: preferences.c:2601 preferences.c:2610 +msgid "Confirm file overwriting" +msgstr "" + +#: preferences.c:2610 +msgid "Ask before overwriting image and ecc files" +msgstr "" + +#: preferences.c:2633 +msgid "" +"Ask before overwriting image and ecc files\n" +"\n" +"dvdisaster will ask you for confirmation when it is going to overwrite an existing image or error correction file if this option is checked." +msgstr "" + +#: preferences.c:2640 msgid "Appearance" msgstr "" -#: preferences.c:2653 +#: preferences.c:2652 msgid "Sector coloring" msgstr "" -#: preferences.c:2664 rs01-verify.c:120 rs02-verify.c:115 +#: preferences.c:2663 rs01-verify.c:120 rs02-verify.c:115 rs03-verify.c:123 msgid "Good sectors" msgstr "Dobré sektory" -#: preferences.c:2664 +#: preferences.c:2663 msgid "Good sector" msgstr "" -#: preferences.c:2688 +#: preferences.c:2687 msgid "" "Good sectors\n" "\n" "This color indicates good sectors." msgstr "" -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum errors" msgstr "" -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum error" msgstr "" -#: preferences.c:2717 +#: preferences.c:2716 msgid "" "Checksum errors\n" "\n" "This color is used for displaying sectors with wrong check sums." msgstr "" -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable sectors" msgstr "" -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable" msgstr "" -#: preferences.c:2746 +#: preferences.c:2745 msgid "" "Unreadable sectors\n" "\n" "This color is used for marking unreadable sectors." msgstr "" -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sectors" msgstr "" -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sector" msgstr "" -#: preferences.c:2775 +#: preferences.c:2774 msgid "" "Present sectors\n" "\n" "Sectors which are already present are marked with this color." msgstr "" -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sectors" msgstr "" -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sector" msgstr "" -#: preferences.c:2804 +#: preferences.c:2803 msgid "" "Ignored sectors\n" "\n" "Sectors marked with this color will not be processed in the current run." msgstr "" -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sectors" msgstr "" -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sector" msgstr "" -#: preferences.c:2834 +#: preferences.c:2833 msgid "" "Highlit sectors\n" "\n" "This color is used for temporarily highlighting sectors during adaptive reading." msgstr "" -#: preferences.c:2840 +#: preferences.c:2839 msgid "Text colors" msgstr "" -#: preferences.c:2850 +#: preferences.c:2849 msgid "Positive text" msgstr "" -#: preferences.c:2874 +#: preferences.c:2873 msgid "" "Positive text\n" "\n" "Good news are printed in this color." msgstr "" -#: preferences.c:2879 +#: preferences.c:2878 msgid "Negative text" msgstr "" -#: preferences.c:2903 +#: preferences.c:2902 msgid "" "Negative text\n" "\n" "Bad news are printed in this color." msgstr "" -#: preferences.c:2908 +#: preferences.c:2907 msgid "Curve colors" msgstr "" -#: preferences.c:2917 +#: preferences.c:2916 msgid "Curve color" msgstr "" -#: preferences.c:2941 +#: preferences.c:2940 msgid "" "Curve color and labels\n" "\n" "The reading speed curve, its left side and top labels are printed in this color." msgstr "" -#: preferences.c:2947 read-linear-window.c:405 +#: preferences.c:2946 read-linear-window.c:405 msgid "C2 errors" msgstr "" -#: preferences.c:2971 +#: preferences.c:2970 msgid "" "C2 error color\n" "\n" "The logarithmic bar graph showing the C2 errors is rendered in this color during the \"read\" and \"scan\" operations." msgstr "" -#: preferences.c:2978 +#: preferences.c:2977 msgid "Error correction load" msgstr "" -#: preferences.c:3002 +#: preferences.c:3001 msgid "" "Error correction load\n" "\n" "The bar graph showing the error correction load is rendered in this color during the \"Fix\" operation." msgstr "" -#: preferences.c:3014 +#: preferences.c:3013 msgid "Default color scheme" msgstr "" -#: preferences.c:3022 +#: preferences.c:3021 msgid "Dialog boxes" msgstr "" -#: preferences.c:3025 +#: preferences.c:3024 msgid "Reverse OK / Cancel buttons" msgstr "" -#: preferences.c:3049 +#: preferences.c:3048 msgid "" "Reverse OK / Cancel buttons\n" "\n" @@ -1978,38 +2210,38 @@ msgid "" "Changes will become active after restarting dvdisaster." msgstr "" -#: preferences.c:3056 +#: preferences.c:3055 msgid "Misc" msgstr "" -#: preferences.c:3060 +#: preferences.c:3059 msgid "Logging" msgstr "" -#: preferences.c:3067 +#: preferences.c:3066 msgid "Verbose logging" msgstr "" -#: preferences.c:3091 +#: preferences.c:3090 msgid "" "Verbose logging\n" "\n" "More information will be supplied in the Log window and/or log file. Useful for debugging, but may lead to slower performance." msgstr "" -#: preferences.c:3098 +#: preferences.c:3097 msgid "Logfile:" msgstr "" -#: preferences.c:3099 +#: preferences.c:3098 msgid "Copy log to file:" msgstr "" -#: preferences.c:3107 +#: preferences.c:3106 msgid "Delete" msgstr "" -#: preferences.c:3153 +#: preferences.c:3152 msgid "" "Logfile\n" "\n" @@ -2052,17 +2284,17 @@ msgstr "" msgid "Raw sector does not belong to the selected image!" msgstr "" -#: raw-editor.c:388 read-adaptive.c:999 read-adaptive.c:1070 -#: read-adaptive.c:1359 read-adaptive.c:1554 read-linear.c:431 -#: read-linear.c:691 read-linear.c:996 rs01-fix.c:447 rs01-fix.c:707 -#: rs02-fix.c:751 +#: raw-editor.c:388 read-adaptive.c:997 read-adaptive.c:1068 +#: read-adaptive.c:1357 read-adaptive.c:1552 read-linear.c:399 +#: read-linear.c:659 read-linear.c:959 rs01-fix.c:447 rs01-fix.c:707 +#: rs02-fix.c:751 rs03-fix.c:778 #, c-format msgid "Failed seeking to sector %lld in image [%s]: %s" msgstr "Selhalo vystavení na sektor %lld v obrazu [%s]: %s" -#: raw-editor.c:395 read-adaptive.c:1013 read-adaptive.c:1076 -#: read-adaptive.c:1391 read-adaptive.c:1404 read-adaptive.c:1562 -#: read-linear.c:440 read-linear.c:698 rs01-fix.c:454 +#: raw-editor.c:395 read-adaptive.c:1011 read-adaptive.c:1074 +#: read-adaptive.c:1389 read-adaptive.c:1402 read-adaptive.c:1560 +#: read-linear.c:408 read-linear.c:666 rs01-fix.c:454 #, c-format msgid "Failed writing to sector %lld in image [%s]: %s" msgstr "Selhal zápis do sektoru %lld v obrazu [%s]: %s" @@ -2248,13 +2480,6 @@ msgstr "" msgid "button|Smart L-EC" msgstr "" -#: raw-sector-cache.c:34 raw-sector-cache.c:201 raw-sector-cache.c:335 -#: rs01-verify.c:538 scsi-freebsd.c:113 scsi-linux.c:100 scsi-netbsd.c:111 -#: scsi-solaris.c:127 -#, c-format -msgid "Could not open %s: %s" -msgstr "Nelze otevřít %s: %s" - #: raw-sector-cache.c:59 raw-sector-cache.c:123 raw-sector-cache.c:129 #: raw-sector-cache.c:133 raw-sector-cache.c:161 raw-sector-cache.c:259 #, c-format @@ -2291,7 +2516,7 @@ msgstr "" msgid " [Appended %d/%d sectors to cache file %s; LBA=%lld, ssize=%d, %d sectors]\n" msgstr "" -#: read-adaptive.c:143 read-adaptive.c:1336 +#: read-adaptive.c:143 read-adaptive.c:1334 msgid "Aborted by unrecoverable error." msgstr "Zrušeno kvůli neopravitelné chybě." @@ -2331,8 +2556,8 @@ msgstr "" "Bude zpracováno pouze prvních %lld sektorů média.\n" #: read-adaptive.c:489 read-adaptive.c:505 read-adaptive.c:569 -#: read-adaptive.c:657 read-adaptive.c:719 read-adaptive.c:1020 -#: read-adaptive.c:1266 +#: read-adaptive.c:655 read-adaptive.c:717 read-adaptive.c:1018 +#: read-adaptive.c:1264 msgid "Aborted by user request!" msgstr "Zrušeno uživatelem!" @@ -2363,23 +2588,15 @@ msgid "" "Medium and ecc file do not belong together.\n" msgstr "" -#: read-adaptive.c:618 read-linear.c:371 +#: read-adaptive.c:618 read-linear.c:341 msgid "Image file does not match the CD/DVD." msgstr "Soubor obrazu neodpovídá CD/DVD." -#: read-adaptive.c:621 read-linear.c:374 -msgid "" -"Image file already exists and does not match the CD/DVD.\n" -"The existing image file will be deleted." -msgstr "" -"Soubor obrazu již existuje a nesouhlasí s CD/DVD.\n" -"Existující soubor obrazu bude vymazán." - -#: read-adaptive.c:626 +#: read-adaptive.c:624 msgid "Reading aborted. Please select a different image file." msgstr "Čtení zrušeno. Zvolte prosím jiný soubor obrazu." -#: read-adaptive.c:652 +#: read-adaptive.c:650 #, c-format msgid "" "Image file is %lld sectors longer than inserted medium\n" @@ -2388,81 +2605,81 @@ msgstr "" "Soubor obrazu je o %lld sektor(y/ů) delší než vložené médium\n" "(Soubor obrazu: %lld sektorů; médium: %lld sektorů).\n" -#: read-adaptive.c:675 read-adaptive.c:679 +#: read-adaptive.c:673 read-adaptive.c:677 msgid "Loading CRC data." msgstr "" -#: read-adaptive.c:711 +#: read-adaptive.c:709 msgid "Analysing existing image file" msgstr "Analyzování existujícího souboru obrazu" -#: read-adaptive.c:728 rs01-common.c:160 rs02-verify.c:717 +#: read-adaptive.c:726 rs01-common.c:183 rs02-verify.c:727 rs03-verify.c:1057 #, c-format msgid "premature end in image (only %d bytes): %s\n" msgstr "předčasný konec obrazu (pouze %d bajtů): %s\n" -#: read-adaptive.c:805 +#: read-adaptive.c:803 #, c-format msgid "Analysing existing image file: %2d%%" msgstr "Analyzování existujícího souboru obrazu: %2d%%" -#: read-adaptive.c:822 +#: read-adaptive.c:820 msgid "Determining correctable sectors" msgstr "Zjišťování opravitelných sektorů" -#: read-adaptive.c:897 +#: read-adaptive.c:895 #, c-format msgid "Analysing existing image file: %lld readable, %lld correctable, %lld still missing.\n" msgstr "Analyzování existujícího souboru obrazu: %lld čitelných, %lld opravitelných, %lld stále chybějících.\n" -#: read-adaptive.c:899 +#: read-adaptive.c:897 #, c-format msgid "Analysing existing image file: %lld readable, %lld still missing.\n" msgstr "Analyzování existujícího souboru obrazu: %lld čitelných, %lld stále chybějících.\n" -#: read-adaptive.c:949 read-linear.c:799 +#: read-adaptive.c:947 read-linear.c:767 msgid "Ignore once" msgstr "Ignorovat jednou" -#: read-adaptive.c:950 read-linear.c:800 +#: read-adaptive.c:948 read-linear.c:768 msgid "Ignore always" msgstr "Ignorovat vždy" -#: read-adaptive.c:951 read-linear.c:801 +#: read-adaptive.c:949 read-linear.c:769 msgid "Abort" msgstr "Přerušit" -#: read-adaptive.c:986 +#: read-adaptive.c:984 #, c-format msgid "Filling image area [%lld..%lld]" msgstr "Vyplňování oblasti obrazu [%lld..%lld]" -#: read-adaptive.c:1107 read-linear.c:186 +#: read-adaptive.c:1105 read-linear.c:186 msgid "Reading aborted" msgstr "Čtení zrušeno" -#: read-adaptive.c:1110 read-linear.c:190 +#: read-adaptive.c:1108 read-linear.c:190 msgid "Preparing for reading the medium image." msgstr "Příprava na čtení obrazu média." -#: read-adaptive.c:1111 read-linear.c:183 read-linear.c:191 +#: read-adaptive.c:1109 read-linear.c:183 read-linear.c:191 msgid "Medium: not yet determined" msgstr "Médium: dosud nebylo neurčeno" -#: read-adaptive.c:1168 read-linear.c:311 +#: read-adaptive.c:1166 read-linear.c:281 #, c-format msgid "Creating new %s image.\n" msgstr "Vytváření nového obrazu %s.\n" -#: read-adaptive.c:1172 read-linear.c:304 +#: read-adaptive.c:1170 read-linear.c:274 msgid "Reading new medium image." msgstr "Načítání nového obrazu média." -#: read-adaptive.c:1192 read-linear.c:332 +#: read-adaptive.c:1190 read-linear.c:302 msgid "Completing existing medium image." msgstr "Kompletování existujícího obrazu média." -#: read-adaptive.c:1225 read-adaptive.c:1526 +#: read-adaptive.c:1223 read-adaptive.c:1524 msgid "" "\n" "Sufficient data for reconstructing the image is available.\n" @@ -2470,7 +2687,7 @@ msgstr "" "\n" "Je k dispozici dostatek dat pro rekonstrukci obrazu.\n" -#: read-adaptive.c:1322 read-linear.c:1058 +#: read-adaptive.c:1320 read-linear.c:1021 #, c-format msgid "" "Sector %lld: %s\n" @@ -2478,7 +2695,7 @@ msgid "" "Use the --ignore-fatal-sense option to override." msgstr "" -#: read-adaptive.c:1327 read-linear.c:1063 +#: read-adaptive.c:1325 read-linear.c:1026 #, c-format msgid "" "Sector %lld: %s\n" @@ -2491,27 +2708,27 @@ msgstr "" "Nemusí být možné se zotavit po této chybě.\n" "Má čtení pokračovat a ignorovat tuto chybu?" -#: read-adaptive.c:1382 rs01-fix.c:400 rs02-fix.c:437 +#: read-adaptive.c:1380 rs01-fix.c:400 rs02-fix.c:437 rs03-fix.c:455 #, c-format msgid "CRC error in sector %lld\n" msgstr "Chyba CRC v sektoru %lld\n" -#: read-adaptive.c:1543 scsi-layer.c:1716 +#: read-adaptive.c:1541 scsi-layer.c:1744 #, c-format msgid "Sectors %lld-%lld: %s\n" msgstr "Sektory %lld-%lld: %s\n" -#: read-adaptive.c:1546 read-linear.c:1244 scsi-layer.c:1715 +#: read-adaptive.c:1544 read-linear.c:1207 scsi-layer.c:1743 #, c-format msgid "Sector %lld: %s\n" msgstr "Sektor %lld: %s\n" -#: read-adaptive.c:1673 +#: read-adaptive.c:1671 #, c-format msgid "Only %2d.%1d%% of the image are readable or correctable" msgstr "Pouze %2d.%1d%% obrazu je čitelných nebo opravitelných" -#: read-adaptive.c:1676 +#: read-adaptive.c:1674 #, c-format msgid "" "\n" @@ -2522,7 +2739,7 @@ msgstr "" "%s\n" "(%lld čitelných, %lld opravitelných, %lld stále chybějících).\n" -#: read-adaptive.c:1690 +#: read-adaptive.c:1688 msgid "" "\n" "Good! All sectors have been read.\n" @@ -2530,12 +2747,12 @@ msgstr "" "\n" "V pořádku! Všechny sektory byly načteny.\n" -#: read-adaptive.c:1699 +#: read-adaptive.c:1697 #, c-format msgid "No unreadable intervals with >= %d sectors left." msgstr "Nezbyly žádné nečitelné úseky obsahující >= %d sektorů." -#: read-adaptive.c:1702 +#: read-adaptive.c:1700 #, c-format msgid "" "\n" @@ -2554,7 +2771,7 @@ msgstr "Adaptivní čtení:" msgid "Sectors processed" msgstr "Sektorů zpracováno" -#: read-adaptive-window.c:110 scsi-layer.c:1697 +#: read-adaptive-window.c:110 scsi-layer.c:1725 msgid "readable" msgstr "čitelný" @@ -2593,192 +2810,173 @@ msgstr "" msgid "Scanning aborted" msgstr "Skenování zrušeno" -#: read-linear.c:182 read-linear.c:277 +#: read-linear.c:182 read-linear.c:247 msgid "Scanning medium for read errors." msgstr "Skenování média na chyby čtení." -#: read-linear.c:208 -#, c-format -msgid "" -"Automatic error correction file creation is enabled,\n" -"and \"%s\" already exists.\n" -"Overwrite it?\n" -msgstr "" -"Automatická tvorba souboru oprav chyb je povolena,\n" -"a soubor \"%s\" již existuje.\n" -"Má se přepsat?\n" - -#: read-linear.c:215 rs01-create.c:651 rs01-fix.c:188 rs01-fix.c:210 -#: rs01-fix.c:256 rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 -#: rs01-verify.c:430 rs01-verify.c:787 rs02-create.c:112 rs02-fix.c:232 -#: rs02-fix.c:253 rs02-fix.c:344 rs02-verify.c:707 -#, c-format -msgid "Aborted by user request!" -msgstr "Zrušeno uživatelem!" - -#: read-linear.c:284 +#: read-linear.c:254 msgid "Reading CRC information from ecc file" msgstr "Načítání informací CRC ze souboru ecc" -#: read-linear.c:316 +#: read-linear.c:286 msgid "Reading CRC information" msgstr "" -#: read-linear.c:380 +#: read-linear.c:348 #, c-format msgid "Reading aborted. Please select a different image file." msgstr "Čtení zrušeno. Zvolte prosím jiný soubor obrazu." -#: read-linear.c:399 +#: read-linear.c:367 #, c-format msgid "Completing image %s. Continuing with sector %lld.\n" msgstr "Kompletace obrazu %s. Pokračuji se sektorem %lld.\n" -#: read-linear.c:405 +#: read-linear.c:373 #, c-format msgid "Completing image %s. Only missing sectors will be read.\n" msgstr "Kompletace obrazu %s. Budou se načítat pouze chybějící sektory.\n" -#: read-linear.c:482 read-linear.c:486 +#: read-linear.c:450 read-linear.c:454 msgid "Reading CRC information from ecc data" msgstr "" -#: read-linear.c:516 +#: read-linear.c:484 msgid "done.\n" msgstr "hotovo.\n" -#: read-linear.c:528 scsi-layer.c:2038 +#: read-linear.c:496 scsi-layer.c:2063 #, c-format msgid "Waiting %d seconds for drive to spin up...\n" msgstr "Čekám %d sekund na roztočení disku...\n" -#: read-linear.c:550 read-linear-window.c:101 +#: read-linear.c:518 read-linear-window.c:101 #, c-format msgid "Unreadable / skipped sectors: %lld" msgstr "Nečitelných / přeskočených sektorů: %lld" -#: read-linear.c:630 +#: read-linear.c:598 #, c-format msgid "Sector %lld: Speed increased to %4.1fx\n" msgstr "Sektor %lld: Rychlost zvýšena na %4.1fx\n" -#: read-linear.c:633 +#: read-linear.c:601 #, c-format msgid "Sector %lld: Speed dropped to %4.1fx\n" msgstr "Sektor %lld: Rychlost snížena na %4.1fx\n" -#: read-linear.c:638 +#: read-linear.c:606 #, c-format msgid "Read position: %3d.%1d%% (%4.1fx)" msgstr "Pozice čtení: %3d.%1d%% (%4.1fx)" -#: read-linear.c:763 rs01-common.c:235 rs02-verify.c:762 +#: read-linear.c:731 rs01-common.c:258 rs02-verify.c:772 rs03-verify.c:1148 #, c-format msgid "* CRC error, sector: %lld\n" msgstr "* Chyba CRC, sektor: %lld\n" -#: read-linear.c:952 read-linear.c:1073 +#: read-linear.c:915 read-linear.c:1036 #, c-format msgid "Aborted by user request! %lld sectors read, %lld sectors unreadable/skipped so far." msgstr "Zrušeno uživatelem! dosud načteno %lld sektorů, %lld sektorů nečitelných/přeskočeno." -#: read-linear.c:1008 +#: read-linear.c:971 #, c-format msgid "unexpected read error in image for sector %lld" msgstr "neočekávaná chyba čtení obrazu v sektoru %lld" -#: read-linear.c:1088 +#: read-linear.c:1051 #, c-format msgid "Sector %lld: %3d C2 errors.%s\n" msgstr "" -#: read-linear.c:1216 +#: read-linear.c:1179 #, c-format msgid "Sector %lld: %s Skipping %d sectors.\n" msgstr "Sektor %lld: %s Přeskakuji %d sektorů.\n" -#: read-linear.c:1276 +#: read-linear.c:1239 #, c-format msgid "" "Trying to complete image, reading pass %d of %d.\n" "%s" msgstr "" -#: read-linear.c:1278 +#: read-linear.c:1241 #, c-format msgid "" "\n" "Trying to complete image, reading pass %d of %d.\n" msgstr "" -#: read-linear.c:1303 +#: read-linear.c:1266 msgid "but wrong ecc md5sum" msgstr "" -#: read-linear.c:1310 +#: read-linear.c:1273 msgid "but wrong crc md5sum" msgstr "" -#: read-linear.c:1317 +#: read-linear.c:1280 msgid "but wrong data md5sum" msgstr "" -#: read-linear.c:1329 +#: read-linear.c:1292 #, c-format msgid "%lld sectors read. " msgstr "%lld sektorů načteno. " -#: read-linear.c:1330 +#: read-linear.c:1293 #, c-format msgid "%lld sectors read; %lld unreadable sectors." msgstr "%lld sektorů načteno; %lld nečitelných sektorů." -#: read-linear.c:1338 +#: read-linear.c:1301 #, c-format msgid "All sectors successfully read, but wrong image length (%lld sectors difference)" msgstr "Všechny sektory byly úspěšně načteny, ale nesouhlasí délka obrazu (%lld sectorů rozdíl)" -#: read-linear.c:1342 +#: read-linear.c:1305 msgid "All sectors successfully read, but wrong image checksum." msgstr "Všechny sektory byly úspěšně načteny, ale nesouhlasí kontrolní součet obrazu." -#: read-linear.c:1343 read-linear.c:1347 +#: read-linear.c:1306 read-linear.c:1310 msgid "All sectors successfully read. Checksums match." msgstr "Všechny sektory byly úspěšně načteny. Kontrolní součet souhlasí." -#: read-linear.c:1349 +#: read-linear.c:1312 #, c-format msgid "All sectors successfully read, %s!" msgstr "" -#: read-linear.c:1354 +#: read-linear.c:1317 msgid "All sectors successfully read." msgstr "Všechny sektory byly úspěšně načteny." -#: read-linear.c:1360 +#: read-linear.c:1323 #, c-format msgid "%lld unreadable sectors." msgstr "%lld nečitelných sektorů." -#: read-linear.c:1362 +#: read-linear.c:1325 #, c-format msgid "%lld CRC errors." msgstr "%lld chyb CRC." -#: read-linear.c:1363 +#: read-linear.c:1326 #, c-format msgid "%lld CRC errors, %lld unreadable sectors." msgstr "%lld chyb CRC, %lld nečitelných sektorů" -#: read-linear.c:1369 +#: read-linear.c:1332 msgid "Scanning finished: " msgstr "Skenování dokončeno: " -#: read-linear.c:1371 +#: read-linear.c:1334 msgid "Reading finished: " msgstr "Čtení dokončeno: " -#: read-linear.c:1382 +#: read-linear.c:1345 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -2789,7 +2987,7 @@ msgstr "" "To je v pořádku, pokud bylo CD zapsáno v režimu TAO (stopa najednou).\n" "Obraz bude podle toho zkrácen. Další podrobnosti najdete v příručce.\n" -#: read-linear.c:1388 +#: read-linear.c:1351 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -2812,7 +3010,7 @@ msgid "Already present" msgstr "Již přítomen" #: read-linear-window.c:277 read-linear-window.c:319 rs01-verify.c:123 -#: rs02-verify.c:118 +#: rs02-verify.c:118 rs03-verify.c:126 msgid "Sectors with CRC errors" msgstr "Sektory s chybami CRC" @@ -2841,27 +3039,27 @@ msgstr "Rychlost" msgid "Sector %lld dumped to %s\n" msgstr "" -#: rs01-common.c:134 rs02-verify.c:793 +#: rs01-common.c:157 rs02-verify.c:803 rs03-verify.c:1171 #, c-format msgid "- testing sectors : %3d%%" msgstr "- testování sektorů : %3d%%" -#: rs01-common.c:135 +#: rs01-common.c:158 #, c-format msgid "Scanning image sectors: %3d%%" msgstr "Skenuji sektory obrazu: %3d%%" -#: rs01-common.c:187 rs02-verify.c:749 +#: rs01-common.c:210 rs02-verify.c:759 #, c-format msgid "* missing sector : %lld\n" msgstr "* chybějící sektor : %lld\n" -#: rs01-common.c:188 rs02-verify.c:750 +#: rs01-common.c:211 rs02-verify.c:760 #, c-format msgid "* missing sectors : %lld - %lld\n" msgstr "* chybějící sektory : %lld - %lld\n" -#: rs01-common.c:206 rs01-common.c:273 rs01-create.c:260 +#: rs01-common.c:229 rs01-common.c:296 rs01-create.c:273 #, c-format msgid "Error writing CRC information: %s" msgstr "Chyba při zápisu CRC informací: %s" @@ -2871,7 +3069,7 @@ msgstr "Chyba při zápisu CRC informací: %s" msgid "Redundancy %4.1f%% out of useful range [3.2%%..64.5%%]" msgstr "Redundance %4.1f%% z použitelného rozsahu [3.2%%..64.5%%]" -#: rs01-create.c:75 +#: rs01-create.c:75 rs03-common.c:202 #, c-format msgid "Ecc file size %lldm out of useful range [%lld .. %lld]" msgstr "Velikost souboru ecc %lldm je mimo užitečný rozsah [%lld .. %lld]" @@ -2882,6 +3080,7 @@ msgid "Redundancy %d out of useful range [8..100]." msgstr "Redundance %d z použitelného rozsahu [8..100]." #: rs01-create.c:125 rs01-fix.c:77 rs02-create.c:58 rs02-fix.c:53 +#: rs03-create.c:116 rs03-fix.c:54 rs03s-create.c:125 #, c-format msgid "Aborted by unrecoverable error." msgstr "Zrušeno kvůli neopravitelné chybě." @@ -2895,7 +3094,7 @@ msgstr "Tvorba souboru oprav chyb zrušena" msgid "Encoding with Method RS01: %d roots, %4.1f%% redundancy." msgstr "Kódování metodou RS01: %d kořenů, redundance %4.1f%%." -#: rs01-create.c:215 +#: rs01-create.c:215 rs03-create.c:1092 #, c-format msgid "" "Creating the error correction file.\n" @@ -2904,35 +3103,40 @@ msgstr "" "Vytváření souboru oprav chyb.\n" "%s" -#: rs01-create.c:231 +#: rs01-create.c:227 rs03-create.c:213 +#, c-format +msgid "Aborted to keep existing ecc file." +msgstr "" + +#: rs01-create.c:244 #, c-format msgid "Writing sector checksums: %3d%%" msgstr "Zápis sektorových kontrolních součtů: %3d%%" -#: rs01-create.c:235 +#: rs01-create.c:248 msgid "1. Writing image sector checksums:" msgstr "1. Zápis sektorových kontrolních součtů:" -#: rs01-create.c:278 rs01-window.c:116 +#: rs01-create.c:291 rs01-window.c:129 msgid "1. Calculating image sector checksums:" msgstr "1. Počítám sektorové kontrolní součty obrazu:" -#: rs01-create.c:291 rs01-create.c:432 rs01-create.c:524 +#: rs01-create.c:304 rs01-create.c:445 rs01-create.c:537 #, c-format msgid "Aborted by user request! (partial error correction file removed)" msgstr "Zrušeno uživatelem! (neúplný soubor oprav chyb odstraněn)" -#: rs01-create.c:300 +#: rs01-create.c:313 #, c-format msgid "%lld sectors unread or missing due to errors.\n" msgstr "%lld sektorů nepřečteno nebo chybí kvůli chybám.\n" -#: rs01-create.c:354 +#: rs01-create.c:367 #, c-format msgid "Failed skipping ecc+crc header: %s" msgstr "Selhalo přeskočení hlavičky ecc+crc: %s" -#: rs01-create.c:381 rs02-create.c:508 +#: rs01-create.c:394 rs02-create.c:512 #, c-format msgid "" "Failed allocating memory for I/O cache.\n" @@ -2940,12 +3144,23 @@ msgid "" "Try reducing it.\n" msgstr "" -#: rs01-create.c:509 rs01-create.c:633 rs01-create.c:927 rs02-create.c:955 +#: rs01-create.c:522 rs01-create.c:646 rs01-create.c:940 rs02-create.c:959 +#: rs03-create.c:921 rs03s-create.c:972 #, c-format msgid "Ecc generation: %3d.%1d%%" msgstr "Tvorba ecc: %3d.%1d%%" -#: rs01-create.c:940 +#: rs01-create.c:664 rs01-fix.c:188 rs01-fix.c:210 rs01-fix.c:256 +#: rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 rs01-verify.c:431 +#: rs01-verify.c:798 rs02-create.c:112 rs02-fix.c:232 rs02-fix.c:253 +#: rs02-fix.c:344 rs02-verify.c:717 rs03-create.c:185 rs03-fix.c:260 +#: rs03-fix.c:281 rs03-fix.c:358 rs03s-create.c:179 rs03-verify.c:636 +#: rs03-verify.c:1044 +#, c-format +msgid "Aborted by user request!" +msgstr "Zrušeno uživatelem!" + +#: rs01-create.c:953 #, c-format msgid "" "could not write to ecc file \"%s\":\n" @@ -2954,7 +3169,7 @@ msgstr "" "nelze zapsat do souboru ecc \"%s\":\n" "%s" -#: rs01-create.c:955 +#: rs01-create.c:968 #, c-format msgid "" "Can't write ecc header:\n" @@ -2963,12 +3178,12 @@ msgstr "" "Nelze zapsat hlavičku ecc:\n" "%s" -#: rs01-create.c:963 rs02-create.c:1104 +#: rs01-create.c:976 rs02-create.c:1107 rs03-create.c:1145 rs03s-create.c:1124 #, c-format msgid "Ecc generation: 100.0%%\n" msgstr "Tvorba ecc: 100.0%%\n" -#: rs01-create.c:964 +#: rs01-create.c:977 rs03-create.c:1152 #, c-format msgid "" "Error correction file \"%s\" created.\n" @@ -2977,7 +3192,7 @@ msgstr "" "Soubor oprav chyb \"%s\" byl vytvořen.\n" "Zajistěte, aby byl tento soubor uložen na spolehlivém médiu.\n" -#: rs01-create.c:972 +#: rs01-create.c:985 rs03-create.c:1178 msgid "" "The error correction file has been successfully created.\n" "Make sure to keep this file on a reliable medium." @@ -2990,16 +3205,17 @@ msgstr "" msgid "Failed seeking in crc area: %s" msgstr "Selhalo vystavení na oblast crc: %s" -#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 +#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 rs03-verify.c:450 #, c-format msgid "problem reading crc data: %s" msgstr "problém při čtení dat crc: %s" -#: rs01-fix.c:138 rs02-fix.c:169 +#: rs01-fix.c:138 rs02-fix.c:169 rs03-fix.c:175 msgid "Repairing of image aborted" msgstr "Opravování obrazu zrušeno" -#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 +#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 rs03-fix.c:183 +#: rs03-fix.c:234 #, c-format msgid "" "Repairing the image.\n" @@ -3008,7 +3224,7 @@ msgstr "" "Oprava obrazu.\n" "%s" -#: rs01-fix.c:145 rs02-fix.c:176 +#: rs01-fix.c:145 rs02-fix.c:176 rs03-fix.c:184 msgid "Opening files..." msgstr "Otevírání souborů..." @@ -3017,7 +3233,7 @@ msgstr "Otevírání souborů..." msgid "Error correction file using Method RS01, %d roots, %4.1f%% redundancy." msgstr "Soubor oprav chyb používá Metodu RS01, %d kořenů, redundance %4.1f%%." -#: rs01-fix.c:163 rs02-fix.c:211 +#: rs01-fix.c:163 rs02-fix.c:211 rs03-fix.c:239 msgid "" "\n" "Fix mode: Repairable sectors will be fixed in the image.\n" @@ -3042,7 +3258,7 @@ msgstr "" "\n" "%s" -#: rs01-fix.c:180 rs02-fix.c:224 +#: rs01-fix.c:180 rs02-fix.c:224 rs03-fix.c:252 #, c-format msgid "" "Image file is %lld sectors longer than expected.\n" @@ -3053,16 +3269,17 @@ msgstr "" "Předpokládám, že jde o médium v režimu TAO.\n" "%lld sektor(y/ů) na konci obrazu bude odebráno.\n" -#: rs01-fix.c:205 rs02-fix.c:248 +#: rs01-fix.c:205 rs02-fix.c:248 rs03-fix.c:276 msgid "Is it okay to remove the superfluous sectors?" msgstr "Můžeme bez obav odstranit přebytečné sektory?" -#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 +#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 rs03-fix.c:292 +#: rs03-fix.c:307 #, c-format msgid "Image has been truncated by %lld sectors.\n" msgstr "Obraz byl zkrácen o %lld sektorů.\n" -#: rs01-fix.c:229 rs02-fix.c:271 +#: rs01-fix.c:229 rs02-fix.c:271 rs03-fix.c:299 msgid "" "Add the --truncate option to the program call\n" "to have the superfluous sectors removed." @@ -3151,12 +3368,12 @@ msgstr "Neočekávaná chyba bajtu v sektoru %lld, bajt %d\n" msgid "Bad error location %d; corrupted .ecc file?\n" msgstr "Závažná chyba polohy %d; poškozený soubor .ecc?\n" -#: rs01-fix.c:696 rs02-fix.c:718 +#: rs01-fix.c:696 rs02-fix.c:718 rs03-fix.c:737 #, c-format msgid " %3d repaired sectors: " msgstr " %3d opravených sektorů: " -#: rs01-fix.c:715 rs02-fix.c:759 +#: rs01-fix.c:715 rs02-fix.c:759 rs03-fix.c:783 #, c-format msgid "" "could not write medium sector %lld:\n" @@ -3165,12 +3382,12 @@ msgstr "" "nelze zapsat sektor média %lld:\n" "%s" -#: rs01-fix.c:741 rs02-fix.c:796 +#: rs01-fix.c:741 rs02-fix.c:796 rs03-fix.c:841 #, c-format msgid "Ecc progress: %3d.%1d%%" msgstr "Průběh ecc: %3d.%1d%%" -#: rs01-fix.c:753 rs02-fix.c:810 +#: rs01-fix.c:753 rs02-fix.c:810 rs03-fix.c:855 #, c-format msgid "Ecc progress: 100.0%%\n" msgstr "Průběh ecc: 100.0%%\n" @@ -3180,30 +3397,30 @@ msgstr "Průběh ecc: 100.0%%\n" msgid "Repaired sectors: %lld \n" msgstr "Opraveno sektorů: %lld \n" -#: rs01-fix.c:756 rs02-fix.c:815 +#: rs01-fix.c:756 rs02-fix.c:815 rs03-fix.c:860 #, c-format msgid "Unrepaired sectors: %lld\n" msgstr "Neopraveno sektorů: %lld\n" -#: rs01-fix.c:759 rs02-fix.c:818 +#: rs01-fix.c:759 rs02-fix.c:818 rs03-fix.c:863 #, c-format msgid "Image sectors could not be fully restored (%lld repaired; %lld unrepaired)" msgstr "Sektory obrazu nelze úplně obnovit (%lld opraveno; %lld neopraveno)" -#: rs01-fix.c:765 rs02-fix.c:824 +#: rs01-fix.c:765 rs02-fix.c:824 rs03-fix.c:870 msgid "Good! All sectors are already present." msgstr "V pořádku! Všechny sektory jsou již přítomny." -#: rs01-fix.c:769 rs02-fix.c:828 +#: rs01-fix.c:769 rs02-fix.c:828 rs03-fix.c:875 msgid "Good! All sectors are repaired." msgstr "V pořádku! Všechny sektory jsou opraveny." -#: rs01-fix.c:774 rs02-fix.c:833 +#: rs01-fix.c:774 rs02-fix.c:833 rs03-fix.c:881 #, c-format msgid "Erasure counts per ecc block: avg = %.1f; worst = %d.\n" msgstr "Počet výmazů na blok ecc: průměr = %.1f; nejvíce = %d.\n" -#: rs01-fix.c:779 rs02-fix.c:838 +#: rs01-fix.c:779 rs02-fix.c:838 rs03-fix.c:886 msgid "Repair results:" msgstr "Výsledky opravy:" @@ -3212,6 +3429,7 @@ msgid "n/a" msgstr "n/a" #: rs01-verify.c:126 rs01-verify.c:147 rs02-verify.c:121 rs02-verify.c:142 +#: rs03-verify.c:129 rs03-verify.c:150 msgid "Missing sectors" msgstr "Chybějící sektory" @@ -3224,6 +3442,7 @@ msgid "No image present." msgstr "Žádný obraz není dostupný." #: rs01-verify.c:209 rs01-verify.c:299 rs02-verify.c:189 rs02-verify.c:295 +#: rs03-verify.c:271 msgid "Medium sectors:" msgstr "Sektory média:" @@ -3239,7 +3458,7 @@ msgstr "Chybějící sektory:" msgid "Image checksum:" msgstr "Kontrolní součet obrazu:" -#: rs01-verify.c:245 rs02-verify.c:241 +#: rs01-verify.c:245 rs02-verify.c:241 rs03-verify.c:249 msgid "Image state" msgstr "Stav obrazu" @@ -3247,15 +3466,15 @@ msgstr "Stav obrazu" msgid "Error correction file summary" msgstr "Souhrn souboru oprav chyb" -#: rs01-verify.c:275 rs02-verify.c:271 +#: rs01-verify.c:275 rs02-verify.c:271 rs03-verify.c:218 msgid "Created by:" msgstr "Vytvořil:" -#: rs01-verify.c:283 rs02-verify.c:279 +#: rs01-verify.c:283 rs02-verify.c:279 rs03-verify.c:209 msgid "Method:" msgstr "Metoda:" -#: rs01-verify.c:291 rs02-verify.c:287 +#: rs01-verify.c:291 rs02-verify.c:287 rs03-verify.c:227 msgid "Requires:" msgstr "Vyžaduje:" @@ -3275,19 +3494,19 @@ msgstr "Kontrolní součet Ecc:" msgid "Comparison aborted" msgstr "Porovnání zrušeno" -#: rs01-verify.c:390 rs01-verify.c:516 +#: rs01-verify.c:390 rs01-verify.c:520 msgid "Comparing image and error correction files." msgstr "Porovnávání souborů obrazu a oprav chyb." -#: rs01-verify.c:391 +#: rs01-verify.c:391 rs03-verify.c:799 rs03-verify.c:809 msgid "- Checking image file -" msgstr "- Kontrola souboru obrazu -" -#: rs01-verify.c:407 rs01-verify.c:522 +#: rs01-verify.c:407 rs01-verify.c:526 msgid "not present\n" msgstr "nedostupný\n" -#: rs01-verify.c:414 rs02-verify.c:587 +#: rs01-verify.c:414 rs02-verify.c:592 #, c-format msgid "present, contains %lld medium sectors.\n" msgstr "přítomen, obsahuje %lld sektorů média.\n" @@ -3297,37 +3516,41 @@ msgstr "přítomen, obsahuje %lld sektorů média.\n" msgid "present, contains %lld medium sectors and %d bytes.\n" msgstr "" -#: rs01-verify.c:422 rs01-verify.c:651 rs01-verify.c:698 +#: rs01-verify.c:422 rs01-verify.c:655 rs01-verify.c:702 #, c-format msgid "%lld sectors + %d bytes" msgstr "" -#: rs01-verify.c:443 +#: rs01-verify.c:444 #, c-format msgid "* truncated image : %lld sectors too short\n" msgstr "* zkrácený obraz : %lld krátkých sektorů\n" -#: rs01-verify.c:446 +#: rs01-verify.c:447 #, c-format msgid "%lld (%lld sectors too short)" msgstr "%lld (%lld krátkých sektorů)" -#: rs01-verify.c:467 +#: rs01-verify.c:468 #, c-format msgid "* image too long : %lld excess sectors\n" msgstr "* obraz je příliš dlouhý : %lld přesahujících sektorů\n" -#: rs01-verify.c:470 +#: rs01-verify.c:471 #, c-format msgid "%lld (%lld excess sectors)" msgstr "%lld (%lld přesahujících sektorů)" -#: rs01-verify.c:473 rs01-verify.c:507 +#: rs01-verify.c:474 rs01-verify.c:511 #, c-format msgid "Bad image." msgstr "Vadný obraz." -#: rs01-verify.c:483 +#: rs01-verify.c:479 rs02-verify.c:685 rs03-verify.c:1010 +msgid "* quick mode : image NOT scanned\n" +msgstr "" + +#: rs01-verify.c:487 #, c-format msgid "" "- good image : all sectors present\n" @@ -3336,12 +3559,12 @@ msgstr "" "- dobrý obraz : všechny sektory jsou přítomny\n" "- md5suma obrazu : %s\n" -#: rs01-verify.c:486 rs02-verify.c:883 +#: rs01-verify.c:490 rs02-verify.c:893 rs03-verify.c:1305 #, c-format msgid "Good image." msgstr "Dobrý obraz." -#: rs01-verify.c:491 +#: rs01-verify.c:495 #, c-format msgid "" "* suspicious image : all sectors present, but %lld CRC errors\n" @@ -3350,58 +3573,58 @@ msgstr "" "* podezřelý obraz : všechny sektory jsou přítomny, ale zjištěno %lld chyb CRC\n" "- md5suma obrazu : %s\n" -#: rs01-verify.c:495 +#: rs01-verify.c:499 #, c-format msgid "Image complete, but contains checksum errors!" msgstr "Obraz je kompletní, avšak obsahuje chyby kontrolního součtu!" -#: rs01-verify.c:502 rs02-verify.c:850 +#: rs01-verify.c:506 rs02-verify.c:860 #, c-format msgid "* BAD image : %lld sectors missing\n" msgstr "* VADNÝ obraz : %lld chybějících sektorů\n" -#: rs01-verify.c:503 rs02-verify.c:854 +#: rs01-verify.c:507 rs02-verify.c:864 rs03-verify.c:1257 #, c-format msgid "* BAD image : %lld sectors missing, %lld CRC errors\n" msgstr "* VADNÝ obraz : %lld chybějících sektorů, %lld chyb CRC\n" -#: rs01-verify.c:517 +#: rs01-verify.c:521 rs03-verify.c:1215 msgid "- Checking ecc file -" msgstr "- Kontrola souboru ecc -" -#: rs01-verify.c:525 +#: rs01-verify.c:529 msgid "No error correction file present." msgstr "Žádný soubor oprav chyb není dostupný." -#: rs01-verify.c:567 rs02-verify.c:913 +#: rs01-verify.c:571 rs02-verify.c:923 msgid "created by dvdisaster" msgstr "vytvořil dvdisaster" -#: rs01-verify.c:584 rs02-verify.c:930 +#: rs01-verify.c:588 rs02-verify.c:940 #, c-format msgid "created by dvdisaster-%d.%d\n" msgstr "vytvořil dvdisaster-%d.%d\n" -#: rs01-verify.c:593 +#: rs01-verify.c:597 msgid "created by dvdisaster-0.41.x.\n" msgstr "vytvořil dvdisaster-0.41.x.\n" -#: rs01-verify.c:599 rs02-verify.c:943 +#: rs01-verify.c:603 rs02-verify.c:953 rs03-verify.c:859 #, c-format msgid "- method : %4s, %d roots, %4.1f%% redundancy.\n" msgstr "- metoda : %4s, %d kořenů, redundance %4.1f%%.\n" -#: rs01-verify.c:603 rs02-verify.c:948 +#: rs01-verify.c:607 rs02-verify.c:958 rs03-verify.c:864 #, c-format msgid "%4s, %d roots, %4.1f%% redundancy" msgstr "%4s, %d kořenů, redundance %4.1f%%" -#: rs01-verify.c:608 rs02-verify.c:955 +#: rs01-verify.c:612 rs02-verify.c:965 #, c-format msgid "- requires : dvdisaster-%d.%d (good)\n" msgstr "- vyžaduje : dvdisaster-%d.%d (v pořádku)\n" -#: rs01-verify.c:617 rs02-verify.c:966 +#: rs01-verify.c:621 rs02-verify.c:976 #, c-format msgid "" "* requires : dvdisaster-%d.%d (BAD)\n" @@ -3412,197 +3635,202 @@ msgstr "" "* Varování : Následující výstup nemusí být správný.\n" "* : Navštivte prosím http://www.dvdisaster.com kvůli aktualizaci.\n" -#: rs01-verify.c:630 rs02-verify.c:980 +#: rs01-verify.c:634 rs02-verify.c:990 rs03-verify.c:935 #, c-format msgid "Please upgrade your version of dvdisaster!" msgstr "Aktualizujte prosím vaši verzi programu dvdisaster!" -#: rs01-verify.c:642 +#: rs01-verify.c:646 #, c-format msgid "- medium sectors : %lld (good)\n" msgstr "- sektorů média : %lld (v pořádku)\n" -#: rs01-verify.c:647 +#: rs01-verify.c:651 #, c-format msgid "- medium sectors : %lld sectors + %d bytes (good)\n" msgstr "" -#: rs01-verify.c:657 rs02-verify.c:996 +#: rs01-verify.c:661 rs02-verify.c:1006 #, c-format msgid "* medium sectors : %lld (BAD, perhaps TAO/DAO mismatch)\n" msgstr "* sektorů média : %lld (ŠPATNĚ, pravděpodobně rozdíl TAO/DAO)\n" -#: rs01-verify.c:666 rs02-verify.c:998 +#: rs01-verify.c:670 rs02-verify.c:1008 #, c-format msgid "* medium sectors : %lld (BAD)\n" msgstr "* sektorů média : %lld (SPATNĚ)\n" -#: rs01-verify.c:670 rs01-verify.c:681 +#: rs01-verify.c:674 rs01-verify.c:685 #, c-format msgid "Image size does not match error correction file." msgstr "Velikost obrazu neodpovídá souboru oprav chyb." -#: rs01-verify.c:674 +#: rs01-verify.c:678 #, c-format msgid "* medium sectors : %lld sectors + %d bytes (BAD)\n" msgstr "" -#: rs01-verify.c:678 +#: rs01-verify.c:682 #, c-format msgid "%lld sectors + %d bytes" msgstr "" -#: rs01-verify.c:689 +#: rs01-verify.c:693 #, c-format msgid "- medium sectors : %lld\n" msgstr "- sektorů média : %lld\n" -#: rs01-verify.c:694 +#: rs01-verify.c:698 #, c-format msgid "- medium sectors : %lld sectors + %d bytes\n" msgstr "" -#: rs01-verify.c:708 +#: rs01-verify.c:713 #, c-format msgid "- image md5sum : %s (good)\n" msgstr "- md5suma obrazu : %s (v pořádku)\n" -#: rs01-verify.c:709 +#: rs01-verify.c:714 #, c-format msgid "* image md5sum : %s (BAD)\n" msgstr "* md5suma obrazu : %s (SPATNĚ)\n" -#: rs01-verify.c:719 +#: rs01-verify.c:724 #, c-format msgid "- image md5sum : %s\n" msgstr "- md5suma obrazu : %s\n" -#: rs01-verify.c:726 +#: rs01-verify.c:732 msgid "* fingerprint match: NOT POSSIBLE - related sector is missing in image!\n" msgstr "* porovnání otisku NENÍ MOŽNÉ - odpovídající sektor v obrazu chybí!\n" -#: rs01-verify.c:728 +#: rs01-verify.c:734 #, c-format msgid "missing sector prevents calculation" msgstr "chybějící sektor brání výpočtu" -#: rs01-verify.c:732 +#: rs01-verify.c:738 msgid "* fingerprint match: MISMATCH - .iso and .ecc don't belong together!\n" msgstr "* porovnání otisku : NESOUHLASÍ - .iso a .ecc k sobě nepatří!\n" -#: rs01-verify.c:735 +#: rs01-verify.c:741 #, c-format msgid "mismatch" msgstr "nesouhlasí" -#: rs01-verify.c:738 +#: rs01-verify.c:744 #, c-format msgid "Image and error correction files do not belong together!" msgstr "Obraz a soubor oprav chyb k sobě nepatří!" -#: rs01-verify.c:742 +#: rs01-verify.c:748 msgid "- fingerprint match: good\n" msgstr "- porovnání otisku : v pořádku\n" -#: rs01-verify.c:744 +#: rs01-verify.c:750 msgid "good" msgstr "v pořádku" -#: rs01-verify.c:752 +#: rs01-verify.c:755 +msgid "* quick mode : ecc file NOT scanned\n" +msgstr "" + +#: rs01-verify.c:763 #, c-format msgid "- ecc blocks : %lld (good)\n" msgstr "- ecc bloky : %lld (v pořádku)\n" -#: rs01-verify.c:757 +#: rs01-verify.c:768 #, c-format msgid "* ecc blocks : %lld (BAD, expected %lld)\n" msgstr "* bloky ecc : %lld (SPATNĚ, očekáváno %lld)\n" -#: rs01-verify.c:759 +#: rs01-verify.c:770 #, c-format msgid "%lld (bad, expected %lld)" msgstr "%lld (chybný, očekáváno %lld)" -#: rs01-verify.c:780 +#: rs01-verify.c:791 #, c-format msgid "- ecc md5sum : %3d%%" msgstr "- md5suma ecc : %3d%%" -#: rs01-verify.c:795 +#: rs01-verify.c:806 msgid "* ecc md5sum : BAD, ecc file may be damaged!\n" msgstr "* md5suma ecc : SPATNĚ, soubor ecc může být poškozen!\n" -#: rs01-verify.c:797 +#: rs01-verify.c:808 #, c-format msgid "bad" msgstr "chybný" -#: rs01-verify.c:799 +#: rs01-verify.c:810 #, c-format msgid "Error correction file may be damaged!" msgstr "Soubor oprav chyb může být poškozen!" -#: rs01-verify.c:803 rs02-verify.c:1064 +#: rs01-verify.c:814 rs02-verify.c:1077 #, c-format msgid "- ecc md5sum : %s (good)\n" msgstr "- md5suma ecc : %s (v pořádku)\n" -#: rs01-verify.c:817 +#: rs01-verify.c:828 #, c-format msgid "Good error correction file." msgstr "Dobrý soubor oprav chyb." -#: rs01-window.c:125 rs02-window.c:87 +#: rs01-window.c:138 rs02-window.c:87 rs03s-window.c:85 rs03-window.c:92 msgid "2. Creating error correction data:" msgstr "2. Vytvářím data oprav chyb:" -#: rs01-window.c:149 +#: rs01-window.c:162 msgid "Show reading speed curve" msgstr "Zobrazit křivku rychlosti čtení" -#: rs01-window.c:188 rs02-window.c:139 +#: rs01-window.c:201 rs02-window.c:139 rs03-window.c:172 #, c-format msgid "Repaired: %lld" msgstr "Opraveno: %lld" -#: rs01-window.c:189 rs02-window.c:140 +#: rs01-window.c:202 rs02-window.c:140 rs03-window.c:173 #, c-format msgid "Unrepairable: %lld" msgstr "Neopravitelných: %lld" -#: rs01-window.c:190 rs02-window.c:141 +#: rs01-window.c:203 rs02-window.c:141 rs03-window.c:174 #, c-format msgid "Progress: %3d.%1d%%" msgstr "Průběh: %3d.%1d%%" -#: rs01-window.c:398 rs02-window.c:346 +#: rs01-window.c:411 rs02-window.c:346 rs03-window.c:379 msgid "Errors/Ecc block" msgstr "Chyb/Blok Ecc" -#: rs01-window.c:430 rs02-window.c:372 +#: rs01-window.c:447 rs02-window.c:376 rs03-preferences.c:244 +#: rs03-preferences.c:254 #, c-format msgid "%4.1f%% redundancy (%d roots)" msgstr "redundance %4.1f%% (%d kořenů)" -#: rs01-window.c:447 rs01-window.c:784 rs01-window.c:790 rs01-window.c:791 -#: rs02-window.c:389 rs02-window.c:1143 rs02-window.c:1149 rs02-window.c:1150 +#: rs01-window.c:464 rs01-window.c:867 rs01-window.c:873 rs01-window.c:874 +#: rs02-window.c:393 rs02-window.c:1149 rs02-window.c:1155 rs02-window.c:1156 #, c-format msgid "%d MB of file cache" msgstr "" -#: rs01-window.c:584 +#: rs01-window.c:666 rs03-preferences.c:530 msgid "Redundancy for new error correction files" msgstr "Redundance pro nové soubory oprav chyb" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal redundancy" msgstr "" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal" msgstr "Normální" -#: rs01-window.c:615 +#: rs01-window.c:697 rs03-preferences.c:579 #, c-format msgid "" "Normal redundancy\n" @@ -3611,15 +3839,15 @@ msgid "" "It invokes optimized program code to speed up the error correction file creation." msgstr "" -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High redundancy" msgstr "" -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High" msgstr "Vysoká" -#: rs01-window.c:644 +#: rs01-window.c:726 rs03-preferences.c:608 #, c-format msgid "" "High redundancy\n" @@ -3628,15 +3856,15 @@ msgid "" "It invokes optimized program code to speed up the error correction file creation." msgstr "" -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other redundancy" msgstr "" -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other" msgstr "Jiná" -#: rs01-window.c:690 +#: rs01-window.c:772 rs03-preferences.c:654 #, c-format msgid "" "Other redundancy\n" @@ -3645,19 +3873,19 @@ msgid "" "An error correction file with x%% redundancy will be approximately x%% of the size of the corresponding image file." msgstr "" -#: rs01-window.c:698 +#: rs01-window.c:780 rs03-preferences.c:662 msgid "Space-delimited redundancy" msgstr "" -#: rs01-window.c:698 rs02-window.c:1075 +#: rs01-window.c:780 rs02-window.c:1081 rs03-preferences.c:662 msgid "Use at most" msgstr "Použít nejvíce" -#: rs01-window.c:722 +#: rs01-window.c:804 rs03-preferences.c:686 msgid "MB for error correction data" msgstr "MB pro data oprav chyb" -#: rs01-window.c:739 +#: rs01-window.c:821 rs03-preferences.c:703 msgid "" "Space-delimited redundancy\n" "\n" @@ -3666,41 +3894,41 @@ msgid "" "Advance notice: When using the same size setting for images of vastly different size, smaller images receive more redundancy than larger ones. This is usually not what you want." msgstr "" -#: rs01-window.c:781 rs02-window.c:1140 +#: rs01-window.c:864 rs02-window.c:1146 msgid "Memory utilization" msgstr "Využití paměti" -#: rs01-window.c:785 rs02-window.c:1144 +#: rs01-window.c:868 rs02-window.c:1150 msgid "File cache" msgstr "" -#: rs01-window.c:797 rs02-window.c:1156 +#: rs01-window.c:880 rs02-window.c:1162 rs03-preferences.c:818 msgid "Use" msgstr "Použít" -#: rs01-window.c:825 rs02-window.c:1184 +#: rs01-window.c:908 rs02-window.c:1190 msgid "" "File cache\n" "\n" "dvdisaster optimizes access to the image and error correction files by maintaining its own cache. The preset of 32MB is suitable for most systems." msgstr "" -#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:624 +#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:629 rs03-common.c:318 #, c-format msgid "Failed seeking to ecc header at %lld: %s\n" msgstr "Skok na hlavičku ecc selhal na %lld: %s\n" -#: rs02-common.c:336 rs02-common.c:348 +#: rs02-common.c:336 rs02-common.c:348 rs03-common.c:322 #, c-format msgid "Failed writing ecc header at %lld: %s\n" msgstr "Selhal zápis hlavičky ecc na %lld: %s\n" -#: rs02-create.c:107 +#: rs02-create.c:107 rs03-create.c:180 rs03s-create.c:174 #, c-format msgid "Aborted by user request! (partial ecc data removed from image)" msgstr "" -#: rs02-create.c:139 +#: rs02-create.c:143 rs03-create.c:237 rs03s-create.c:219 #, c-format msgid "" "Image \"%s\" already contains error correction information.\n" @@ -3709,7 +3937,7 @@ msgstr "" "Obraz \"%s\" již obsahuje informace opravy chyb.\n" "Zkracuji obraz po datovou oblast (%lld sektorů).\n" -#: rs02-create.c:206 +#: rs02-create.c:210 msgid "" "Image contains unread(able) sectors.\n" "Error correction information can only be\n" @@ -3719,7 +3947,7 @@ msgstr "" "Informace opravy chyb lze přidat pouze\n" "do kompletních (nepoškozených) obrazů.\n" -#: rs02-create.c:210 +#: rs02-create.c:214 #, c-format msgid "" "Sector %lld in the image is marked unreadable\n" @@ -3734,42 +3962,45 @@ msgid "" "appended to complete (undamaged) images.\n" msgstr "" -#: rs02-create.c:228 rs02-create.c:292 rs02-create.c:301 +#: rs02-create.c:232 rs02-create.c:296 rs02-create.c:305 #, c-format msgid "Preparing image (checksums, adding space): %3d%%" msgstr "" -#: rs02-create.c:263 rs02-create.c:273 rs02-fix.c:91 +#: rs02-create.c:267 rs02-create.c:277 rs02-fix.c:91 rs03-create.c:324 +#: rs03-create.c:335 rs03-fix.c:96 rs03s-create.c:307 rs03s-create.c:318 #, c-format msgid "Failed seeking to end of image: %s\n" msgstr "Skok na konec obrazu se nezdařil: %s\n" -#: rs02-create.c:267 rs02-create.c:288 rs02-fix.c:104 +#: rs02-create.c:271 rs02-create.c:292 rs02-fix.c:104 rs03-create.c:309 +#: rs03-fix.c:110 #, c-format msgid "Failed expanding the image: %s\n" msgstr "Rozšíření obrazu se nezdařilo: %s\n" -#: rs02-create.c:1025 +#: rs02-create.c:1029 rs03-create.c:1055 rs03s-create.c:1037 msgid "Error correction data creation aborted" msgstr "" -#: rs02-create.c:1029 rs02-create.c:1049 +#: rs02-create.c:1033 rs02-create.c:1053 rs03-create.c:1059 rs03-create.c:1088 +#: rs03s-create.c:1041 rs03s-create.c:1070 #, c-format msgid "" "Augmenting the image with error correction data.\n" "%s" msgstr "" -#: rs02-create.c:1030 +#: rs02-create.c:1034 rs03-create.c:1060 rs03s-create.c:1042 msgid "- checking image -" msgstr "" -#: rs02-create.c:1045 +#: rs02-create.c:1049 #, c-format msgid "Encoding with Method RS02: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." msgstr "" -#: rs02-create.c:1053 +#: rs02-create.c:1057 #, c-format msgid "" "Augmenting image with Method RS02:\n" @@ -3778,31 +4009,30 @@ msgstr "" "Přidávám do obrazu metodou RS02:\n" " %lld MB dat, %lld MB ecc (%d kořenů; redundance %4.1f%%)" -#: rs02-create.c:1062 +#: rs02-create.c:1066 #, c-format msgid "" "Not enough space on medium left for error correction data.\n" "Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" "If reducing the image size or using a larger medium is\n" -"not an option, please create a separate error correction\n" -"file using the RS01 method.\n" +"not an option, please create a separate error correction file." msgstr "" -#: rs02-create.c:1073 +#: rs02-create.c:1076 rs03-create.c:1124 rs03s-create.c:1101 #, c-format msgid "" "Using redundancies below 20%%%% may not give\n" "the expected data loss protection.\n" msgstr "" -#: rs02-create.c:1105 rs02-create.c:1114 +#: rs02-create.c:1108 rs02-create.c:1117 rs03-create.c:1147 rs03-create.c:1172 #, c-format msgid "" "Image has been augmented with error correction data.\n" "New image size is %lld MB (%lld sectors).\n" msgstr "" -#: rs02-fix.c:110 rs02-fix.c:118 +#: rs02-fix.c:110 rs02-fix.c:118 rs03-fix.c:116 rs03-fix.c:124 #, c-format msgid "Expanding image: %3d%%" msgstr "Rozšiřuji obraz: %3d%%" @@ -3812,7 +4042,7 @@ msgstr "Rozšiřuji obraz: %3d%%" msgid "Image contains error correction data: Method RS02, %d roots, %4.1f%% redundancy." msgstr "" -#: rs02-fix.c:217 +#: rs02-fix.c:217 rs03-fix.c:245 #, c-format msgid "" "The image file is %lld sectors longer as noted in the\n" @@ -3829,27 +4059,28 @@ msgstr "" "\n" "%s" -#: rs02-fix.c:468 +#: rs02-fix.c:468 rs03-fix.c:487 #, c-format msgid "* Ecc block %lld: %3d unrepairable sectors: " msgstr "* Blok ecc %lld: %3d neopravitelných sektorů: " -#: rs02-fix.c:687 +#: rs02-fix.c:687 rs03-fix.c:706 #, c-format msgid "-> CRC-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "-> Předpokládaná chyb CRC v sektoru %lld bajtu %4d (hodnota %02x '%c', očekáváno %02x '%c')\n" -#: rs02-fix.c:690 +#: rs02-fix.c:690 rs03-fix.c:709 #, c-format msgid "-> Non-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "-> Neočekávaná chyba v sektoru %lld bajtu %4d (hodnota %02x '%c', očekáváno %02x '%c')\n" -#: rs02-fix.c:812 +#: rs02-fix.c:812 rs03-fix.c:857 #, c-format msgid "Repaired sectors: %lld (%lld data, %lld ecc)\n" msgstr "Opravených sektorů: %lld (data %lld, ecc %lld)\n" -#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 +#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 rs03-verify.c:56 +#: rs03-verify.c:236 rs03-verify.c:280 msgid "Data checksum:" msgstr "" @@ -3861,15 +4092,15 @@ msgstr "" msgid "Ecc headers:" msgstr "" -#: rs02-verify.c:213 +#: rs02-verify.c:213 rs03-verify.c:289 msgid "Data section:" msgstr "" -#: rs02-verify.c:221 +#: rs02-verify.c:221 rs03-verify.c:298 msgid "Crc section:" msgstr "" -#: rs02-verify.c:229 +#: rs02-verify.c:229 rs03-verify.c:307 msgid "Ecc section:" msgstr "" @@ -3877,77 +4108,78 @@ msgstr "" msgid "Error correction data" msgstr "" -#: rs02-verify.c:503 +#: rs02-verify.c:503 rs03-verify.c:548 #, c-format msgid "- erasure counts : avg = %.1f; worst = %d per ecc block.\n" msgstr "" -#: rs02-verify.c:506 +#: rs02-verify.c:506 rs03-verify.c:551 #, c-format msgid "- prognosis : %lld of %lld sectors recoverable (%d.%d%%)\n" msgstr "" -#: rs02-verify.c:512 +#: rs02-verify.c:512 rs03-verify.c:555 msgid "Erasure counts:" msgstr "" -#: rs02-verify.c:513 +#: rs02-verify.c:513 rs03-verify.c:556 msgid "Prognosis:" msgstr "" -#: rs02-verify.c:516 +#: rs02-verify.c:516 rs03-verify.c:559 #, c-format msgid "avg = %.1f; worst = %d per ecc block." msgstr "" -#: rs02-verify.c:521 +#: rs02-verify.c:521 rs03-verify.c:564 #, c-format msgid "%lld of %lld sectors recoverable (%d.%d%%)" msgstr "" -#: rs02-verify.c:569 +#: rs02-verify.c:574 rs03-verify.c:769 msgid "Check aborted" msgstr "" -#: rs02-verify.c:583 +#: rs02-verify.c:588 rs03-verify.c:808 msgid "Checking the image file." msgstr "" -#: rs02-verify.c:584 +#: rs02-verify.c:589 msgid "Image contains error correction data." msgstr "" -#: rs02-verify.c:607 +#: rs02-verify.c:612 rs03-verify.c:1005 #, c-format msgid "Image file is %lld sectors shorter than expected." msgstr "" -#: rs02-verify.c:608 +#: rs02-verify.c:613 rs03-verify.c:1006 #, c-format msgid "Image file is %lld sectors longer than expected." msgstr "" -#: rs02-verify.c:628 +#: rs02-verify.c:633 #, c-format msgid "Failed reading ecc header at %lld: %s\n" msgstr "Selhalo načtení hlavičky ecc na %lld: %s\n" -#: rs02-verify.c:671 +#: rs02-verify.c:676 #, c-format msgid "%lld ok, %lld CRC errors, %lld missing" msgstr "" -#: rs02-verify.c:798 rs02-verify.c:819 +#: rs02-verify.c:808 rs02-verify.c:829 rs03-verify.c:1189 rs03-verify.c:1228 #, c-format msgid "%lld sectors missing; %lld CRC errors" msgstr "" -#: rs02-verify.c:802 rs02-verify.c:806 rs02-verify.c:823 rs02-verify.c:827 +#: rs02-verify.c:812 rs02-verify.c:816 rs02-verify.c:833 rs02-verify.c:837 +#: rs03-verify.c:1197 rs03-verify.c:1236 #, c-format msgid "%lld sectors missing" msgstr "" -#: rs02-verify.c:841 +#: rs02-verify.c:851 #, c-format msgid "" "- good image : all sectors present\n" @@ -3956,46 +4188,46 @@ msgstr "" "- dobrý obraz : všechny sektory přítomny\n" "- md5suma dat : %s\n" -#: rs02-verify.c:847 +#: rs02-verify.c:857 msgid "* suspicious image : contains damaged ecc headers\n" msgstr "" -#: rs02-verify.c:852 +#: rs02-verify.c:862 rs03-verify.c:1254 #, c-format msgid "* suspicious image : all sectors present, but %lld CRC errors\n" msgstr "* podezřelý obraz : všechny sektory přítomny, ale %lld chyb CRC\n" -#: rs02-verify.c:858 +#: rs02-verify.c:868 #, c-format msgid " ... ecc headers : %lld ok, %lld CRC errors, %lld missing\n" msgstr "" -#: rs02-verify.c:860 +#: rs02-verify.c:870 rs03-verify.c:1260 #, c-format msgid " ... data section : %lld sectors missing; %lld CRC errors\n" msgstr " ... datová sekce : %lld sektorů chybí; %lld chyb CRC\n" -#: rs02-verify.c:863 +#: rs02-verify.c:873 rs03-verify.c:1263 #, c-format msgid " ... data md5sum : %s\n" msgstr " ... md5suma dat : %s\n" -#: rs02-verify.c:864 +#: rs02-verify.c:874 rs03-verify.c:1264 #, c-format msgid " ... crc section : %lld sectors missing\n" msgstr " ... sekce crc : %lld sektorů chybí\n" -#: rs02-verify.c:865 +#: rs02-verify.c:875 rs03-verify.c:1265 #, c-format msgid " ... ecc section : %lld sectors missing\n" msgstr " ... sekce ecc : %lld sektorů chybí\n" -#: rs02-verify.c:887 +#: rs02-verify.c:897 rs03-verify.c:1309 #, c-format msgid "Damaged image." msgstr "" -#: rs02-verify.c:894 +#: rs02-verify.c:904 msgid "" "\n" "Error correction data: " @@ -4003,88 +4235,88 @@ msgstr "" "\n" "Data oprav chyb: " -#: rs02-verify.c:987 +#: rs02-verify.c:997 #, c-format msgid "- medium sectors : %lld / %lld (good)\n" msgstr "" -#: rs02-verify.c:1004 +#: rs02-verify.c:1014 #, c-format msgid "Image size does not match recorded size." msgstr "" -#: rs02-verify.c:1015 +#: rs02-verify.c:1028 #, c-format msgid "- data md5sum : %s (good)\n" msgstr "- md5suma dat : %s (v pořádku)\n" -#: rs02-verify.c:1016 +#: rs02-verify.c:1029 #, c-format msgid "* data md5sum : %s (BAD)\n" msgstr "* md5suma dat : %s (ŠPATNĚ)\n" -#: rs02-verify.c:1027 +#: rs02-verify.c:1040 rs03-verify.c:949 #, c-format msgid "- data md5sum : %s\n" msgstr "- md5suma dat : %s\n" -#: rs02-verify.c:1039 +#: rs02-verify.c:1052 #, c-format msgid "- crc md5sum : %s (good)\n" msgstr "- md5suma crc : %s (v pořádku)\n" -#: rs02-verify.c:1044 +#: rs02-verify.c:1057 #, c-format msgid "* crc md5sum : %s (BAD)\n" msgstr "* md5suma crc : %s (ŠPATNĚ)\n" -#: rs02-verify.c:1052 +#: rs02-verify.c:1065 #, c-format msgid "- crc md5sum : %s\n" msgstr "" -#: rs02-verify.c:1069 +#: rs02-verify.c:1082 #, c-format msgid "* ecc md5sum : %s (BAD)\n" msgstr "* md5suma ecc : %s (ŠPATNĚ)\n" -#: rs02-verify.c:1077 +#: rs02-verify.c:1090 #, c-format msgid "- ecc md5sum : %s\n" msgstr "" -#: rs02-verify.c:1096 +#: rs02-verify.c:1109 #, c-format msgid "Good error correction data." msgstr "" -#: rs02-verify.c:1100 +#: rs02-verify.c:1113 rs03-verify.c:1321 #, c-format msgid "Full data recovery is likely." msgstr "" -#: rs02-verify.c:1103 +#: rs02-verify.c:1116 rs03-verify.c:1324 #, c-format msgid "Full data recovery is NOT possible." msgstr "" -#: rs02-window.c:78 +#: rs02-window.c:78 rs03s-window.c:76 msgid "1. Preparing image:" msgstr "" -#: rs02-window.c:704 +#: rs02-window.c:710 msgid "Maximum image size" msgstr "" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Using the smallest possible size from table" msgstr "" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Use smallest possible size from following table (in sectors):" msgstr "" -#: rs02-window.c:740 +#: rs02-window.c:746 msgid "" "Determine augmented image size from table\n" "\n" @@ -4093,17 +4325,17 @@ msgid "" "In order to pick a suitable medium the available media capacities must be known. Default sizes for CD and one/two layered DVD are given in the table. You can edit these sizes according to your needs." msgstr "" -#: rs02-window.c:759 +#: rs02-window.c:765 msgid "CD-R / CD-RW:" msgstr "" -#: rs02-window.c:770 rs02-window.c:789 rs02-window.c:830 rs02-window.c:849 -#: rs02-window.c:890 rs02-window.c:909 rs02-window.c:950 rs02-window.c:969 -#: rs02-window.c:1009 rs02-window.c:1028 +#: rs02-window.c:776 rs02-window.c:795 rs02-window.c:836 rs02-window.c:855 +#: rs02-window.c:896 rs02-window.c:915 rs02-window.c:956 rs02-window.c:975 +#: rs02-window.c:1015 rs02-window.c:1034 msgid "query medium" msgstr "" -#: rs02-window.c:801 +#: rs02-window.c:807 #, c-format msgid "" "CD medium size\n" @@ -4117,11 +4349,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:819 +#: rs02-window.c:825 msgid "DVD 1 layer:" msgstr "" -#: rs02-window.c:861 +#: rs02-window.c:867 #, c-format msgid "" "Single layer DVD medium size\n" @@ -4135,11 +4367,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:879 +#: rs02-window.c:885 msgid "DVD 2 layers:" msgstr "" -#: rs02-window.c:921 +#: rs02-window.c:927 #, c-format msgid "" "Two layered DVD medium size\n" @@ -4153,11 +4385,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:939 +#: rs02-window.c:945 msgid "BD 1 layer:" msgstr "" -#: rs02-window.c:981 +#: rs02-window.c:987 #, c-format msgid "" "Single layer BD medium size\n" @@ -4171,11 +4403,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:998 +#: rs02-window.c:1004 msgid "BD 2 layers:" msgstr "" -#: rs02-window.c:1040 +#: rs02-window.c:1046 #, c-format msgid "" "Two layered BD medium size\n" @@ -4189,11 +4421,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:1095 +#: rs02-window.c:1101 msgid "sectors." msgstr "" -#: rs02-window.c:1108 +#: rs02-window.c:1114 #, c-format msgid "" "Use at most ... sectors\n" @@ -4205,6 +4437,491 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" +#: rs03-common.c:192 +#, c-format +msgid "Redundancy %4.1f%% out of useful range [3.2%%..200%%]" +msgstr "" + +#: rs03-common.c:222 +#, c-format +msgid "Redundancy %d out of useful range [8..170]." +msgstr "" + +#: rs03-create.c:304 +#, c-format +msgid "Failed expanding the ecc file: %s\n" +msgstr "" + +#: rs03-create.c:305 +#, c-format +msgid "Preparing ecc file: %3d%%" +msgstr "" + +#: rs03-create.c:310 +#, c-format +msgid "Preparing image: %3d%%" +msgstr "" + +#: rs03-create.c:507 +#, c-format +msgid "" +"Incomplete image\n" +"\n" +"The image contains missing sectors,\n" +"e.g. sector %lld.\n" +"%sError correction data works like a backup; it must\n" +"be created when the image is still fully readable.\n" +"Exiting and removing partial error correction data." +msgstr "" + +#: rs03-create.c:515 +msgid "" +"\n" +"This image was probably mastered from defective source(s).\n" +"Perform a \"Verify\" action for more information.\n" +"\n" +msgstr "" + +#: rs03-create.c:740 +msgid "CPU bound" +msgstr "" + +#: rs03-create.c:744 +msgid "I/O bound" +msgstr "" + +#: rs03-create.c:915 +#, c-format +msgid "%5.2fMB/s current" +msgstr "" + +#: rs03-create.c:959 +#, c-format +msgid "%d threads with 128bit intrinsics" +msgstr "" + +#: rs03-create.c:962 rs03-preferences.c:290 rs03-preferences.c:805 +#: rs03-preferences.c:811 rs03-preferences.c:812 +#, c-format +msgid "%d threads" +msgstr "" + +#: rs03-create.c:1083 rs03s-create.c:1066 +#, c-format +msgid "Encoding with Method RS03: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1098 +#, c-format +msgid "" +"Augmenting image with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1103 +#, c-format +msgid "" +"Creating the error correction file with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1114 rs03s-create.c:1091 +#, c-format +msgid "" +"Not enough space on medium left for error correction data.\n" +"Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" +"If reducing the image size or using a larger medium is not\n" +"an option, please create a separate error correction file." +msgstr "" + +#: rs03-create.c:1158 +#, c-format +msgid "Avg performance: %5.2fs (%5.2fMB/s) total\n" +msgstr "" + +#: rs03-create.c:1161 +#, c-format +msgid "%5.2fMB/s average" +msgstr "" + +#: rs03-create.c:1163 +#, c-format +msgid "%d times CPU bound; %d times I/O bound" +msgstr "" + +#: rs03-fix.c:224 +#, c-format +msgid "Error correction file using Method RS03, %d roots, %4.1f%% redundancy." +msgstr "" + +#: rs03-fix.c:228 +#, c-format +msgid "Image contains error correction data: Method RS03, %d roots, %4.1f%% redundancy." +msgstr "" + +#: rs03-fix.c:798 +#, c-format +msgid "Failed seeking to sector %lld in ecc file [%s]: %s" +msgstr "" + +#: rs03-fix.c:803 +#, c-format +msgid "" +"could not write ecc file sector %lld:\n" +"%s" +msgstr "" + +#: rs03-preferences.c:271 rs03-preferences.c:749 rs03-preferences.c:755 +#: rs03-preferences.c:756 +#, c-format +msgid "%d sectors" +msgstr "" + +#: rs03-preferences.c:443 +msgid "Warning: This codec is experimental and for evaluation only. It is not yet fully implemented and does contain bugs. Future dvdisaster versions may not be compatible with it. Do not yet use this codec for any archival purposes." +msgstr "" + +#: rs03-preferences.c:460 rs03-preferences.c:467 +msgid "Error correction data storage" +msgstr "" + +#: rs03-preferences.c:468 +msgid "Store ECC data in: " +msgstr "" + +#: rs03-preferences.c:480 +msgid "File" +msgstr "" + +#: rs03-preferences.c:507 +msgid "" +"Error correction data storage\n" +"\n" +"Select between two ways of storing the error correction information:\n" +msgstr "" + +#: rs03-preferences.c:512 +msgid "" +"Augmented image (recommended)\n" +"The error correction data will be stored along with the user data on the same medium. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image and fill up the remaining space.\n" +"Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required.\n" +msgstr "" + +#: rs03-preferences.c:522 +msgid "" +"Error correction file\n" +"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster. This prevents from losing the error correction files in case of a medium defect.\n" +msgstr "" + +#: rs03-preferences.c:542 +msgid "no settings for augmented images" +msgstr "" + +#: rs03-preferences.c:746 +msgid "Sector prefetch" +msgstr "" + +#: rs03-preferences.c:750 +msgid "Sector prefetching" +msgstr "" + +#: rs03-preferences.c:762 +msgid "Prefetch" +msgstr "" + +#: rs03-preferences.c:790 +msgid "" +"Sector preloading\n" +"\n" +"dvdisaster optimizes access to the image and error correction data by preloading and caching parts of them.\n" +"\n" +"The optimal preload value depends on the storage system used for the image and error correction files.\n" +"Use small preload values for systems with low latency and seek time, e.g. SSDs. For magnetic hard disks performace may be better using larger preload values.\n" +"\n" +"A preload value of n will used approx. n MB of RAM." +msgstr "" + +#: rs03-preferences.c:802 rs03-preferences.c:806 +msgid "Multithreading" +msgstr "" + +#: rs03-preferences.c:846 +msgid "" +"Multithreading\n" +"\n" +"RS03 can use multiple threads (and therefore CPU cores)for encoding.\n" +"For systems with 4 cores or less, set the number of threads to the number of cores. If you have more cores, leave one unused for doing I/O and graphics updates.\n" +"E.g. use 7 threads on an 8 core system.\n" +"\n" +"Performance will not scale linearly with the number of CPU cores. Hard disk performance is more limiting than raw CPU power. When using 4 cores or more, memory bandwidth may also affect performance." +msgstr "" + +#: rs03s-create.c:1075 +#, c-format +msgid "" +"Augmenting image with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03s-create.c:1080 +#, c-format +msgid "" +"Creating the error correction file with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-verify.c:189 +msgid "Error correction properties" +msgstr "" + +#: rs03-verify.c:200 +msgid "Type:" +msgstr "" + +#: rs03-verify.c:260 +msgid "Data integrity" +msgstr "" + +#: rs03-verify.c:316 rs03-verify.c:1281 +msgid "Ecc block test:" +msgstr "" + +#: rs03-verify.c:423 +#, c-format +msgid "Failed seeking to sector %lld in ecc file: %s" +msgstr "" + +#: rs03-verify.c:592 rs03-verify.c:798 rs03-verify.c:1214 +msgid "Checking the image and error correction files." +msgstr "" + +#: rs03-verify.c:593 +msgid "- Checking ecc blocks (deep verify) -" +msgstr "" + +#: rs03-verify.c:608 +#, c-format +msgid "Out of memory; try reducing sector prefetch!" +msgstr "" + +#: rs03-verify.c:610 +msgid "* Ecc block test : out of memory; try reducing sector prefetch!\n" +msgstr "" + +#: rs03-verify.c:700 +#, c-format +msgid "%d%% tested" +msgstr "" + +#: rs03-verify.c:702 +#, c-format +msgid "- Ecc block test : %d%% tested" +msgstr "" + +#: rs03-verify.c:708 +#, c-format +msgid "%lld good, %lld bad; %d%% tested" +msgstr "" + +#: rs03-verify.c:710 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %d%% tested" +msgstr "" + +#: rs03-verify.c:720 +msgid "pass" +msgstr "" + +#: rs03-verify.c:722 +msgid "- Ecc block test : pass\n" +msgstr "" + +#: rs03-verify.c:727 +#, c-format +msgid "%lld good, %lld bad; %lld bad sub blocks" +msgstr "" + +#: rs03-verify.c:729 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %lld bad sub blocks\n" +msgstr "" + +#: rs03-verify.c:782 +#, c-format +msgid "" +"\n" +"%s present.\n" +msgstr "" + +#: rs03-verify.c:801 +#, c-format +msgid "%s present.\n" +msgstr "" + +#: rs03-verify.c:821 +msgid "" +"\n" +"Error correction properties:\n" +msgstr "" + +#: rs03-verify.c:830 +#, c-format +msgid "Ecc file is %lld sectors shorter than expected." +msgstr "" + +#: rs03-verify.c:832 +#, c-format +msgid "Ecc file is %lld sectors longer than expected." +msgstr "" + +#: rs03-verify.c:838 +#, c-format +msgid "* Warning : %s\n" +msgstr "" + +#: rs03-verify.c:846 +msgid "- type : Error correction file\n" +msgstr "" + +#: rs03-verify.c:847 +msgid "- type : Augmented image\n" +msgstr "" + +#: rs03-verify.c:851 +msgid "Error correction file" +msgstr "" + +#: rs03-verify.c:852 +msgid "Augmented image" +msgstr "" + +#: rs03-verify.c:887 +msgid "- created by : dvdisaster" +msgstr "" + +#: rs03-verify.c:900 +#, c-format +msgid "- created by : dvdisaster-%d.%d\n" +msgstr "" + +#: rs03-verify.c:919 +#, c-format +msgid "- requires : dvdisaster-%s\n" +msgstr "" + +#: rs03-verify.c:925 +#, c-format +msgid "" +"* requires : dvdisaster-%s (BAD)\n" +"* Warning : The following output might be incorrect.\n" +"* : Please visit http://www.dvdisaster.com for an upgrade.\n" +msgstr "" + +#: rs03-verify.c:947 +msgid "none available" +msgstr "" + +#: rs03-verify.c:965 +msgid "" +"\n" +"Data integrity:\n" +msgstr "" + +#: rs03-verify.c:987 +#, c-format +msgid "%lld in image; %lld in ecc file" +msgstr "" + +#: rs03-verify.c:989 +#, c-format +msgid "- sectors : %lld in image; %lld in ecc file\n" +msgstr "" + +#: rs03-verify.c:994 +#, c-format +msgid "%lld total / %lld data" +msgstr "" + +#: rs03-verify.c:996 +#, c-format +msgid "- medium sectors : %lld total / %lld data\n" +msgstr "" + +#: rs03-verify.c:1002 +#, c-format +msgid "%lld (%lld expected)" +msgstr "" + +#: rs03-verify.c:1027 +#, c-format +msgid "Failed seeking to start of ecc file: %s\n" +msgstr "" + +#: rs03-verify.c:1073 +#, c-format +msgid "premature end in ecc file (only %d bytes): %s\n" +msgstr "" + +#: rs03-verify.c:1124 +msgid " (in ecc file)" +msgstr "" + +#: rs03-verify.c:1132 +#, c-format +msgid "* missing sector : %lld%s\n" +msgstr "" + +#: rs03-verify.c:1133 +#, c-format +msgid "* missing sectors : %lld - %lld%s\n" +msgstr "" + +#: rs03-verify.c:1193 rs03-verify.c:1232 +#, c-format +msgid "%lld sectors missing; %lld signature errors" +msgstr "" + +#: rs03-verify.c:1217 +msgid "Error correction file:" +msgstr "" + +#: rs03-verify.c:1248 +#, c-format +msgid "" +"- good image/file : all sectors present\n" +"- data md5sum : %s\n" +msgstr "" + +#: rs03-verify.c:1252 +#, c-format +msgid "* BAD image/file : %lld sectors missing\n" +msgstr "" + +#: rs03-verify.c:1287 +#, c-format +msgid "Skipped; not useful on known defective image" +msgstr "" + +#: rs03-verify.c:1290 +msgid "* Ecc block test : skipped; not useful on defective image\n" +msgstr "" + +#: rs03-window.c:83 +msgid "1. Reserving space:" +msgstr "" + +#: rs03-window.c:102 +msgid "Encoder info:" +msgstr "" + +#: rs03-window.c:111 +msgid "Performance:" +msgstr "" + +#: rs03-window.c:120 +msgid "State:" +msgstr "" + #: scsi-darwin.c:159 msgid "No CD/DVD drives found." msgstr "" @@ -4225,7 +4942,7 @@ msgstr "" "V /dev nebyly nalezeny žádné CD/DVD mechaniky.\n" "Nebudou předvybrány žádné mechaniky.\n" -#: scsi-layer.c:87 +#: scsi-layer.c:101 #, c-format msgid "" "Can open %s, but INQUIRY fails.\n" @@ -4238,27 +4955,27 @@ msgstr "" "a pokoušíte se k ni přistupovat prostřednictvím /dev/cdrom nebo /dev/hd?.\n" "Místo toho buď použijte /dev/scd? nebo /dev/sr? nebo zakažte emulaci ide-scsi.\n" -#: scsi-layer.c:95 +#: scsi-layer.c:109 #, c-format msgid "INQUIRY failed. Something is wrong with drive %s.\n" msgstr "INQUIRY selhal. Něco není v pořádku s mechanikou %s.\n" -#: scsi-layer.c:124 +#: scsi-layer.c:138 #, c-format msgid "Device %s (%s) is not a CDROM drive." msgstr "Zařízení %s (%s) není mechanika CDROM." -#: scsi-layer.c:125 +#: scsi-layer.c:139 #, c-format msgid "Device %s (%s) is a hard disk." msgstr "Zařízení %s (%s) je pevný disk." -#: scsi-layer.c:416 +#: scsi-layer.c:430 #, c-format msgid "Incomplete %s" msgstr "" -#: scsi-layer.c:454 +#: scsi-layer.c:468 #, c-format msgid "" "%s\n" @@ -4267,16 +4984,16 @@ msgstr "" "%s\n" "Nelze zjistit délku TOC.\n" -#: scsi-layer.c:459 +#: scsi-layer.c:473 msgid "blank" msgstr "" -#: scsi-layer.c:473 scsi-layer.c:533 +#: scsi-layer.c:488 scsi-layer.c:549 #, c-format msgid "TOC info too long (%d), probably multisession.\n" msgstr "TOC informace je příliš dlouhá (%d), pravděpodobně jde o multisession.\n" -#: scsi-layer.c:488 +#: scsi-layer.c:503 #, c-format msgid "" "%s\n" @@ -4285,7 +5002,7 @@ msgstr "" "%s\n" "Nelze načíst TOC.\n" -#: scsi-layer.c:515 +#: scsi-layer.c:530 #, c-format msgid "" "%s\n" @@ -4294,12 +5011,12 @@ msgstr "" "%s\n" "Nelze zjistit celou délku TOC.\n" -#: scsi-layer.c:527 +#: scsi-layer.c:543 #, c-format msgid "TOC info too short, length %d.\n" msgstr "TOC informace příliš krátká, délka %d.\n" -#: scsi-layer.c:551 +#: scsi-layer.c:569 #, c-format msgid "" "%s\n" @@ -4308,7 +5025,7 @@ msgstr "" "%s\n" "Nelze načíst celou oblast TOC.\n" -#: scsi-layer.c:560 +#: scsi-layer.c:578 #, c-format msgid "" "\n" @@ -4317,11 +5034,11 @@ msgstr "" "\n" "Neočekávaný formát TOC (délka %d):\n" -#: scsi-layer.c:568 +#: scsi-layer.c:586 msgid "Consider sending a bug report.\n" msgstr "Zvažte odeslání hlášení o chybě.\n" -#: scsi-layer.c:621 +#: scsi-layer.c:639 #, c-format msgid "" "%s\n" @@ -4330,12 +5047,12 @@ msgstr "" "%s\n" "Nelze se dotázat na délku dvd struktury.\n" -#: scsi-layer.c:632 +#: scsi-layer.c:651 #, c-format msgid "Could not query dvd physical structure - implausible packet length %d\n" msgstr "Nelze se dotázat na fyzickou strukturu - nepřijatelná délka paketu %d\n" -#: scsi-layer.c:650 +#: scsi-layer.c:669 #, c-format msgid "" "%s\n" @@ -4344,26 +5061,26 @@ msgstr "" "%s\n" "Nelze se dotázat na fyzickou strukturu dvd.\n" -#: scsi-layer.c:679 scsi-layer.c:689 +#: scsi-layer.c:698 scsi-layer.c:708 #, c-format msgid "READ DVD STRUCTURE: implausible medium size, %lld-%lld=%lld sectors\n" msgstr "" -#: scsi-layer.c:947 +#: scsi-layer.c:968 #, c-format msgid "" "%s\n" "Could not query BD disc structure length.\n" msgstr "" -#: scsi-layer.c:970 +#: scsi-layer.c:992 #, c-format msgid "" "%s\n" "Could not query BD disc structure.\n" msgstr "" -#: scsi-layer.c:1646 +#: scsi-layer.c:1673 #, c-format msgid "" "%s\n" @@ -4372,12 +5089,12 @@ msgstr "" "%s\n" "Nelze se dotázat na délku dvd struktury pro kód formátu 1.\n" -#: scsi-layer.c:1656 +#: scsi-layer.c:1684 #, c-format msgid "Could not query dvd copyright info - implausible packet length %d\n" msgstr "Nelze se dotázat na dvd copyright info - nepřijatelná délka paketu %d\n" -#: scsi-layer.c:1671 +#: scsi-layer.c:1699 #, c-format msgid "" "%s\n" @@ -4386,23 +5103,23 @@ msgstr "" "%s\n" "Nelze se dotázat na copyright info.\n" -#: scsi-layer.c:1731 +#: scsi-layer.c:1759 msgid "is undecideable because of read error" msgstr "není rozhodnuto kvůli chybě čtení" -#: scsi-layer.c:1737 +#: scsi-layer.c:1765 msgid "looks GOOD" msgstr "vypadá DOBŘE" -#: scsi-layer.c:1743 +#: scsi-layer.c:1771 msgid "gives unformatted size (UNUSABLE)" msgstr "dává neformátovanou velikost (NEPOUŽITELNÉ)" -#: scsi-layer.c:1748 +#: scsi-layer.c:1776 msgid "is UNUSABLE" msgstr "je POUŽITELNÉ" -#: scsi-layer.c:1770 +#: scsi-layer.c:1798 #, c-format msgid "" "%s\n" @@ -4411,12 +5128,12 @@ msgstr "" "%s\n" "Nelze se dotázat na velikost média.\n" -#: scsi-layer.c:1790 +#: scsi-layer.c:1818 #, c-format msgid "READ CAPACITY: implausible medium size, %lld sectors\n" msgstr "" -#: scsi-layer.c:1869 +#: scsi-layer.c:1895 #, c-format msgid "" "Different media sizes depending on query method:\n" @@ -4425,7 +5142,7 @@ msgid "" "\n" msgstr "" -#: scsi-layer.c:1874 +#: scsi-layer.c:1900 msgid "" "Evaluation of returned medium sizes:\n" "\n" @@ -4433,15 +5150,15 @@ msgstr "" "Vyhodnocení vrácených velikostí médií:\n" "\n" -#: scsi-layer.c:1929 +#: scsi-layer.c:1955 msgid "Using value from READ CAPACITY" msgstr "Používám hodnotu z READ CAPACITY" -#: scsi-layer.c:1933 +#: scsi-layer.c:1959 msgid "Using value from READ DVD STRUCTURE" msgstr "Používám hodnotu z READ DVD STRUCTURE" -#: scsi-layer.c:1943 +#: scsi-layer.c:1969 #, c-format msgid "" "FAILED to determine image size.\n" @@ -4452,7 +5169,7 @@ msgstr "" "Používám menší hodnotu, protože je to správně pro >90%% všech mechanik,\n" "ale POKRAČUJTE NA VLASTNÍ NEBEZPEČÍ (obraz může být neúplný/nepoužitelný)" -#: scsi-layer.c:1948 +#: scsi-layer.c:1974 #, c-format msgid "" "Final decision: %s\n" @@ -4461,7 +5178,7 @@ msgstr "" "Konečné rozhodnutí: %s\n" "\n" -#: scsi-layer.c:1956 +#: scsi-layer.c:1982 msgid "" "Failed to determine image size.\n" "Try using a different drive." @@ -4469,51 +5186,51 @@ msgstr "" "Selhalo určení velikosti obrazu.\n" "Zkuste použít jinou mechaniku." -#: scsi-layer.c:2081 scsi-layer.c:2107 +#: scsi-layer.c:2106 scsi-layer.c:2132 #, c-format msgid "" "%s\n" "Could not load/unload the medium.\n" msgstr "" -#: scsi-layer.c:2097 +#: scsi-layer.c:2122 #, c-format msgid "" "%s\n" "Could not unlock the medium.\n" msgstr "" -#: scsi-layer.c:2160 +#: scsi-layer.c:2185 #, c-format msgid "Waiting 10 seconds for drive: %d\n" msgstr "" -#: scsi-layer.c:2443 +#: scsi-layer.c:2468 #, c-format msgid "Sectors %lld - %lld: %s\n" msgstr "" -#: scsi-layer.c:2457 +#: scsi-layer.c:2482 #, c-format msgid "Sector %lld, try %d: %s Sector returned: %d.\n" msgstr "" -#: scsi-layer.c:2463 +#: scsi-layer.c:2488 #, c-format msgid "Sector %lld, try %d: %s\n" msgstr "" -#: scsi-layer.c:2474 +#: scsi-layer.c:2499 #, c-format msgid "Sector %lld, try %d: success\n" msgstr "" -#: scsi-layer.c:2541 scsi-layer.c:2694 +#: scsi-layer.c:2566 scsi-layer.c:2711 #, c-format msgid "Device %s: no medium present\n" msgstr "" -#: scsi-layer.c:2542 scsi-layer.c:2695 +#: scsi-layer.c:2567 scsi-layer.c:2712 #, c-format msgid "" "Device %s does not become ready:\n" @@ -4521,7 +5238,7 @@ msgid "" "\n" msgstr "" -#: scsi-layer.c:2547 +#: scsi-layer.c:2571 #, c-format msgid "" "\n" @@ -4530,61 +5247,52 @@ msgstr "" "\n" "Zařízení: %s, %s\n" -#: scsi-layer.c:2551 -#, c-format -msgid "" -"\n" -"Device: %s (%s), %s\n" -msgstr "" -"\n" -"Zařízení: %s (%s), %s\n" - -#: scsi-layer.c:2559 +#: scsi-layer.c:2577 msgid "Drive failed to report media type." msgstr "" -#: scsi-layer.c:2570 scsi-layer.c:2657 +#: scsi-layer.c:2588 scsi-layer.c:2674 #, c-format msgid "This software does not support \"%s\" type media." msgstr "" -#: scsi-layer.c:2578 +#: scsi-layer.c:2596 #, c-format msgid "This software does not support multisession (%d sessions) media." msgstr "" -#: scsi-layer.c:2601 scsi-layer.c:2610 +#: scsi-layer.c:2619 scsi-layer.c:2628 msgid "Using READ CD" msgstr "" -#: scsi-layer.c:2602 +#: scsi-layer.c:2620 msgid ", RAW reading" msgstr "" -#: scsi-layer.c:2605 +#: scsi-layer.c:2623 #, c-format msgid ", Mode page 1 ERP = %02xh" msgstr "" -#: scsi-layer.c:2608 +#: scsi-layer.c:2626 msgid ", C2 scanning" msgstr "" -#: scsi-layer.c:2615 +#: scsi-layer.c:2633 msgid "Using READ(10).\n" msgstr "" -#: scsi-layer.c:2634 +#: scsi-layer.c:2651 #, c-format msgid "Medium: %s, %lld sectors%s" msgstr "Médium: %s, %lld sektorů%s" -#: scsi-layer.c:2638 +#: scsi-layer.c:2655 #, c-format msgid "Medium \"%s\": %s, %lld sectors%s created %s" msgstr "Médium \"%s\": %s, %lld sektorů%s vytvořeno %s" -#: scsi-layer.c:2664 +#: scsi-layer.c:2681 msgid "This software does not support encrypted media.\n" msgstr "" @@ -4602,42 +5310,7 @@ msgstr "" "* Nepodporovaný operační systém - SCSI vrstva není dostupná.\n" "* Žádné mechaniky nemohou být použity.\n" -#: scsi-win32.c:415 -msgid "ASPI manager present, but no CD/DVD drives managed.\n" -msgstr "Ovladač ASPI je přítomen, ale neovládá žádné mechaniky CD/DVD.\n" - -#: scsi-win32.c:417 -#, c-format -msgid "" -"%d SPTI drives, but %d ASPI drives.\n" -"Drive letter mapping for ASPI drives is probably incorrect.\n" -msgstr "" -"%d mechanik SPTI, ale %d mechanik ASPI.\n" -"Mapování písmen mechanik je pro mechaniky ASPI pravděpodobně nesprávné.\n" - -#: scsi-win32.c:435 -msgid "" -"\n" -"List of ASPI CD/DVD drives:\n" -msgstr "" -"\n" -"Seznam ASPI CD/DVD mechanik:\n" - -#: scsi-win32.c:440 -msgid "" -"\n" -"To force ASPI usage over SPTI, refer to the drive by the\n" -"above numbers (use 1:, 2:,... instead of C:, D:,...)\n" -msgstr "" -"\n" -"K vynucení použití ASPI místo SPTI odkazujte na mechaniku pomocí\n" -"čísel nahoře (použijte 1:, 2:,... místo C:, D:,...)\n" - -#: scsi-win32.c:445 -msgid "ASPI manager not available or installed.\n" -msgstr "Ovladač ASPI není dostupný nebo nainstalován.\n" - -#: scsi-win32.c:569 +#: scsi-win32.c:161 #, c-format msgid "" "\n" @@ -4646,14 +5319,12 @@ msgstr "" "\n" "Neplatné jméno zařízení \"%s\" (použijte zařízení \"C:\" ... \"Z:\")" -#: scsi-win32.c:659 +#: scsi-win32.c:245 #, c-format msgid "" "\n" -"Neither SPTI nor ASPI worked opening %s." +"Could not open device %s." msgstr "" -"\n" -"Nefunguje otevření ani SPTI ani ASPI %s." #: show-manual.c:75 msgid "windowtitle|Choose a browser" @@ -4704,19 +5375,19 @@ msgstr "" msgid "Please hang on until the browser comes up!" msgstr "Vydržte prosím, až se spustí prohlížeč!" -#: udf.c:143 +#: udf.c:142 msgid "Skip RS02 test" msgstr "" -#: udf.c:144 +#: udf.c:143 msgid "Continue searching" msgstr "" -#: udf.c:149 +#: udf.c:148 msgid "Disable RS02 initialization in the preferences" msgstr "" -#: udf.c:240 +#: udf.c:238 msgid "" "Faster medium initialization\n" "\n" @@ -4725,57 +5396,147 @@ msgid "" "not augmented with RS02 error correction data." msgstr "" -#: udf.c:249 -msgid "" -"\n" -"Searching this medium for error correction data may take a long time.\n" -"If you are certain that this medium was not augmented with RS02 error correction\n" -"data, you might wish to abort this command and re-run with the option\n" -"--query-size=udf\n" -msgstr "" - -#: udf.c:533 +#: udf.c:524 msgid "Unnamed" msgstr "Nepojmenovaný" -#: udf.c:624 +#: udf.c:615 msgid "Example disc" msgstr "" #: welcome-window.c:79 #, c-format msgid "" -"- New raw reading mode for CD media.\n" -"- Number of reading attempts can be selected\n" -"%s per sector and for the whole medium.\n" -"- Redesigned preferences dialog." +"- Development frameworks for Windows and OS X updated.\n" +"- Experimental multithreaded codec (RS03).\n" +"\n" +"Warning:\n" +"This version is experimental and for testing only.\n" +"It may contain bugs even in functions which worked\n" +"in previous versions.\n" +"\n" +"RS03 has not reached full recovery capacity yet and\n" +"is not recognized by linear and adaptive reading." msgstr "" -#: welcome-window.c:87 +#: welcome-window.c:93 msgid "Show this message again" msgstr "" -#: welcome-window.c:129 +#: welcome-window.c:135 msgid "Welcome to dvdisaster!" msgstr "" -#: welcome-window.c:131 +#: welcome-window.c:137 msgid "" "\n" "dvdisaster creates error correction data to protect\n" "CD and DVD media against data loss.\n" msgstr "" -#: welcome-window.c:134 +#: welcome-window.c:140 msgid "" "Please see the manual for [typical uses] of dvdisaster.\n" "\n" msgstr "" -#: welcome-window.c:137 +#: welcome-window.c:143 msgid "New in this Version:" msgstr "" +#~ msgid "" +#~ "Image file already exists and does not match the CD/DVD.\n" +#~ "The existing image file will be deleted." +#~ msgstr "" +#~ "Soubor obrazu již existuje a nesouhlasí s CD/DVD.\n" +#~ "Existující soubor obrazu bude vymazán." + +#~ msgid "" +#~ "Automatic error correction file creation is enabled,\n" +#~ "and \"%s\" already exists.\n" +#~ "Overwrite it?\n" +#~ msgstr "" +#~ "Automatická tvorba souboru oprav chyb je povolena,\n" +#~ "a soubor \"%s\" již existuje.\n" +#~ "Má se přepsat?\n" + +#~ msgid "" +#~ "Drive and file specification:\n" +#~ " -d,--device device - read from given device (default: %s)\n" +#~ " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" +#~ " -i,--image imagefile - name of image file (default: medium.iso)\n" +#~ " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +#~ msgstr "" +#~ "Specifikace mechaniky a souboru:\n" +#~ " -d,--device device - čte ze zadané mechaniky (výchozí: %s)\n" +#~ " -p,--prefix prefix - prefix souborů .iso/.ecc (výchozí: medium.*)\n" +#~ " -i,--image imagefile - název souboru obrazu (výchozí: medium.iso)\n" +#~ " -e,--ecc eccfile - název souboru ecc (výchozí: medium.ecc)\n" + +#~ msgid "" +#~ " -l,--list - list drives available under ASPI manager\n" +#~ "\n" +#~ msgstr "" +#~ " -l,--list - vypíše seznam mechanik dostupných pod ASPI\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "Device: %s (%s), %s\n" +#~ msgstr "" +#~ "\n" +#~ "Zařízení: %s (%s), %s\n" + +#~ msgid "ASPI manager present, but no CD/DVD drives managed.\n" +#~ msgstr "Ovladač ASPI je přítomen, ale neovládá žádné mechaniky CD/DVD.\n" + +#~ msgid "" +#~ "%d SPTI drives, but %d ASPI drives.\n" +#~ "Drive letter mapping for ASPI drives is probably incorrect.\n" +#~ msgstr "" +#~ "%d mechanik SPTI, ale %d mechanik ASPI.\n" +#~ "Mapování písmen mechanik je pro mechaniky ASPI pravděpodobně nesprávné.\n" + +#~ msgid "" +#~ "\n" +#~ "List of ASPI CD/DVD drives:\n" +#~ msgstr "" +#~ "\n" +#~ "Seznam ASPI CD/DVD mechanik:\n" + +#~ msgid "" +#~ "\n" +#~ "To force ASPI usage over SPTI, refer to the drive by the\n" +#~ "above numbers (use 1:, 2:,... instead of C:, D:,...)\n" +#~ msgstr "" +#~ "\n" +#~ "K vynucení použití ASPI místo SPTI odkazujte na mechaniku pomocí\n" +#~ "čísel nahoře (použijte 1:, 2:,... místo C:, D:,...)\n" + +#~ msgid "ASPI manager not available or installed.\n" +#~ msgstr "Ovladač ASPI není dostupný nebo nainstalován.\n" + +#~ msgid "" +#~ "\n" +#~ "Neither SPTI nor ASPI worked opening %s." +#~ msgstr "" +#~ "\n" +#~ "Nefunguje otevření ani SPTI ani ASPI %s." + +#~ msgid "" +#~ "\n" +#~ "Unknown method %s.\n" +#~ msgstr "" +#~ "\n" +#~ "Neznámá metoda %s.\n" + +#~ msgid "" +#~ "\n" +#~ "Neither ecc file nor ecc data in image found.\n" +#~ msgstr "" +#~ "\n" +#~ "Ani soubor ecc ani ecc data v obrazu nebyla nalezena.\n" + #~ msgid "" #~ "\n" #~ "dvdisaster version %s\n" @@ -4941,21 +5702,7 @@ msgstr "" #~ " --truncate n - truncates image to n sectors\n" #~ " --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" #~ "\n" -#~ msgstr "" -#~ "Ladící volby (úmyslně nedokumentované a pravděpodobně škodlivé)\n" -#~ " --debug - povoluje následující ladící volby\n" -#~ " --byteset s,i,b - nastavit bajt i v sektoru s na b\n" -#~ " --erase sector - vymazat daný sektor\n" -#~ " --erase n-m - vymazat sektory n - m, včetně\n" -#~ " --random-errors r,e distribuovat náhodné (opravitelné) chyby v obrazu\n" -#~ " --random-image n - vytvořit obraz s n sektory náhodných čísel\n" -#~ " --random-seed n - inicializace náhodného generátoru pro funkci výše\n" -#~ " --send-cdb arg - vykoná daný cdb na mechanice; nevhodné užití shodí systém\n" -#~ " --show-sector n - zobrazí hexadecimální výpis daného sektoru\n" -#~ " --sim-defects n - simulate n% defective sectors on medium\n" -#~ " --truncate n - zkrátí obraz na n sektorů\n" -#~ " --zero-unreadable - nahradí značky \"nečitelného sektoru\" nulami\n" -#~ "\n" +#~ msgstr "\n" #~ msgid "" #~ "\n" @@ -5033,45 +5780,6 @@ msgstr "" #~ "pošlete prosím celý výpis programu dvdisaster až k této řádce,\n" #~ "aby byla vaše mechanika zahrnuta do interní databáze.\n" -#~ msgid "" -#~ "Tweaking options (see manual before using!)\n" -#~ " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" -#~ " -m n - list/select error correction methods (default: RS01)\n" -#~ " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" -#~ " maximum error correction image size (in sectors)\n" -#~ " -v,--verbose - more diagnostic messages\n" -#~ " --adaptive-read - use optimized strategy for reading damaged media\n" -#~ " --auto-suffix - automatically add .iso and .ecc file suffixes\n" -#~ " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" -#~ " --dao - assume DAO disc; do not trim image end\n" -#~ " --fill-unreadable n - fill unreadable sectors with byte n\n" -#~ " --medium-size - max. possible image size on medium (in sectors)\n" -#~ " --parse-ecc - use information from ecc headers\n" -#~ " --parse-udf - use information from ISO/UDF filesystem\n" -#~ " --speed-warning n - print warning if speed changes by more than n percent\n" -#~ " --spinup-delay n - wait n seconds for drive to spin up\n" -#~ " --split-files - split image into files <= 2GB\n" -#~ "\n" -#~ msgstr "" -#~ "Vylepšovací volby (podívejte se před použitím do příručky!)\n" -#~ " -j,--jump n - přeskočit n sektorů vpřed po chybě čtení (výchozí: 16)\n" -#~ " -m n - list/select error correction methods (default: RS01)\n" -#~ " -n,--redundancy n%% - redundance souboru oprav chyb (v procentech), nebo\n" -#~ " maximální velikost obrazu s opravnými daty (v sektorech)\n" -#~ " -v,--verbose - více diagnostických hlášení\n" -#~ " --adaptive-read - použít optimalizovanou strategii čtení poškozených médií\n" -#~ " --auto-suffix - automaticky přidat souborové přípony .iso a .ecc\n" -#~ " --cache-size n - velikost vyrovnávací paměti v MB v režimu -c (výchozí: 32MB)\n" -#~ " --dao - předpokládat disk DAO; neořezávat konec obrazu\n" -#~ " --fill-unreadable n - vyplnit nečitelné sektory bajtem n\n" -#~ " --medium-size - max. možná velikost obrazu na médiu (v sektorech)\n" -#~ " --parse-ecc - use information from ecc headers\n" -#~ " --parse-udf - použít informace ze souborového systému ISO/UDF\n" -#~ " --speed-warning n - vypsat upozornění, změní-li se rychlost o více než n procent\n" -#~ " --spinup-delay n - počkat n sekund na roztočení mechaniky\n" -#~ " --split-files - rozdělit obraz na soubory <= 2 GB\n" -#~ "\n" - #~ msgid "Can not continue: Encrypted medium.\n" #~ msgstr "Nelze pokračovat: Šifrované médium.\n" diff --git a/locale/de.po b/locale/de.po index 4b57693..b389521 100644 --- a/locale/de.po +++ b/locale/de.po @@ -1,14 +1,14 @@ # German translations for dvdisaster package # German messages for dvdisaster. -# Copyright (C) 2004-2009 THE dvdisaster'S COPYRIGHT HOLDER +# Copyright (C) 2004-2010 THE dvdisaster'S COPYRIGHT HOLDER # This file is distributed under the same license as the dvdisaster package. -# Carsten Gnörlich , 2009. +# Carsten Gnörlich , 2010. # msgid "" msgstr "" "Project-Id-Version: dvdisaster 0.52.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-06 12:32+0200\n" +"POT-Creation-Date: 2010-02-27 19:02+0100\n" "PO-Revision-Date: 2004-11-30 19:48+0100\n" "Last-Translator: Carsten Gnörlich \n" "Language-Team: German \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: closure.c:568 +#: closure.c:571 #, c-format msgid "" "# dvdisaster-%s configuration file\n" @@ -30,33 +30,33 @@ msgstr "" "# Sie wird bei jedem Aufruf von dvdisaster neu überschrieben.\n" "\n" -#: closure.c:769 closure.c:777 closure.c:784 +#: closure.c:774 closure.c:782 closure.c:789 msgid "medium.iso" msgstr "abbild.iso" -#: closure.c:770 closure.c:778 closure.c:785 +#: closure.c:775 closure.c:783 closure.c:790 msgid "medium.ecc" msgstr "abbild.ecc" -#: closure.c:771 closure.c:779 closure.c:786 +#: closure.c:776 closure.c:784 closure.c:791 msgid "sector-" msgstr "sektor_" -#: crcbuf.c:45 rs01-common.c:121 rs01-create.c:243 rs01-verify.c:770 +#: crcbuf.c:45 rs01-common.c:144 rs01-create.c:256 rs01-verify.c:781 #, c-format msgid "Failed skipping the ecc header: %s" msgstr "Überspringen des Ecc-Vorspanns fehlgeschlagen: %s" -#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:229 +#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:252 #, c-format msgid "Error reading CRC information: %s" msgstr "Fehler beim Lesen der CRC-Information: %s" -#: debug.c:55 debug.c:456 debug.c:1084 debug.c:1161 +#: debug.c:53 debug.c:445 debug.c:1073 debug.c:1150 msgid "2nd argument is missing" msgstr "Das zweite Argument fehlt" -#: debug.c:62 +#: debug.c:60 msgid "" "Number of roots must be 8..100;\n" "the number of erasures must be > 0 and less than the number of roots.\n" @@ -64,7 +64,7 @@ msgstr "" "Die Anzahl der Nullstellen muß 8..100 sein;\n" "die Anzahl der Auslöschungen muß > 0 und kleiner als die Anzahl Nullstellen sein.\n" -#: debug.c:81 debug.c:172 debug.c:310 +#: debug.c:79 debug.c:170 #, c-format msgid "" "\n" @@ -73,29 +73,31 @@ msgstr "" "\n" "Erzeuge zufällige reparierbare Auslöschungen (für %d Nullstellen, max. %d Auslöschungen).\n" -#: debug.c:112 debug.c:202 debug.c:250 debug.c:341 debug.c:385 debug.c:698 -#: debug.c:798 debug.c:1125 debug.c:1133 debug.c:1240 rs01-common.c:54 -#: rs02-common.c:62 rs02-create.c:336 rs02-create.c:982 rs02-fix.c:387 -#: rs02-verify.c:393 +#: debug.c:110 debug.c:200 debug.c:248 debug.c:374 debug.c:687 debug.c:787 +#: debug.c:1114 debug.c:1122 debug.c:1229 rs01-common.c:77 rs02-common.c:62 +#: rs02-create.c:340 rs02-create.c:986 rs02-fix.c:387 rs02-verify.c:393 +#: rs03-common.c:97 rs03-create.c:583 rs03-create.c:610 rs03-recognize.c:263 +#: rs03s-create.c:85 rs03s-create.c:982 rs03s-create.c:1008 rs03-verify.c:425 #, c-format msgid "Failed seeking to sector %lld in image: %s" msgstr "Ansteuern von Sektor %lld im Abbild fehlgeschlagen: %s" -#: debug.c:117 debug.c:207 debug.c:255 debug.c:346 debug.c:390 debug.c:536 -#: debug.c:658 debug.c:703 debug.c:1137 debug.c:1244 debug.c:1284 -#: rs02-create.c:359 rs02-create.c:385 rs02-create.c:985 udf.c:1108 udf.c:1166 -#: udf.c:1223 udf.c:1236 udf.c:1241 udf.c:1244 udf.c:1247 udf.c:1250 -#: udf.c:1253 udf.c:1256 +#: debug.c:115 debug.c:205 debug.c:253 debug.c:379 debug.c:525 debug.c:647 +#: debug.c:692 debug.c:1126 debug.c:1233 debug.c:1273 rs02-create.c:363 +#: rs02-create.c:389 rs02-create.c:989 rs03-create.c:588 rs03-create.c:614 +#: rs03s-create.c:985 rs03s-create.c:1011 udf.c:1113 udf.c:1171 udf.c:1228 +#: udf.c:1241 udf.c:1246 udf.c:1249 udf.c:1252 udf.c:1255 udf.c:1258 +#: udf.c:1261 #, c-format msgid "Failed writing to sector %lld in image: %s" msgstr "Schreiben von Sektor %lld im Abbild fehlgeschlagen: %s" -#: debug.c:125 debug.c:261 debug.c:396 debug.c:662 debug.c:710 debug.c:1258 +#: debug.c:123 debug.c:259 debug.c:385 debug.c:651 debug.c:699 debug.c:1247 #, c-format msgid "Progress: %3d%%" msgstr "Fortschritt: %3d%%" -#: debug.c:130 debug.c:266 debug.c:401 +#: debug.c:128 debug.c:264 debug.c:390 #, c-format msgid "" "Progress: 100%%\n" @@ -107,73 +109,106 @@ msgstr "" "erneut anwenden. Anderenfalls werden >= %d Auslöschungen pro ECC-Bereich\n" "erzeugt und das Abbild kann nicht mehr wiederhergestellt werden.\n" -#: debug.c:163 debug.c:301 +#: debug.c:161 debug.c:302 #, c-format msgid "Number of erasures must be > 0 and <= %d\n" msgstr "Die Anzahl von Auslöschungen muß > 0 und <= %d sein\n" -#: debug.c:463 debug.c:1090 +#: debug.c:314 raw-sector-cache.c:34 raw-sector-cache.c:201 +#: raw-sector-cache.c:335 rs01-verify.c:542 scsi-freebsd.c:113 +#: scsi-linux.c:100 scsi-netbsd.c:111 scsi-solaris.c:127 +#, c-format +msgid "Could not open %s: %s" +msgstr "Konnte %s nicht öffnen: %s" + +#: debug.c:318 +#, c-format +msgid "" +"\n" +"RS03 error correction file with %d roots.\n" +msgstr "" +"\n" +"RS03-Fehlerkorrektur-Datei mit %d Nullstellen.\n" + +#: debug.c:319 +#, c-format +msgid "" +"\n" +"RS03 augmented image with %d roots.\n" +msgstr "" +"\n" +"Mit RS03 erweitertes Abbild mit %d Nullstellen.\n" + +#: debug.c:320 +#, c-format +msgid "Generating at most %d random correctable erasures.\n" +msgstr "Erzeuge höchstens %d zufällige korrigierbare Auslöschungen.\n" + +#: debug.c:452 debug.c:1079 msgid "3rd argument is missing" msgstr "Das dritte Argument fehlt" -#: debug.c:470 debug.c:791 debug.c:837 debug.c:898 +#: debug.c:459 debug.c:780 debug.c:826 debug.c:887 #, c-format msgid "Sector must be in range [0..%lld]\n" msgstr "Sektor muß im Bereich [0..%lld] liegen\n" -#: debug.c:473 +#: debug.c:462 msgid "Byte position must be in range [0..2047]" msgstr "Byte-Position muß im Bereich [0..2047] liegen" -#: debug.c:476 +#: debug.c:465 msgid "Byte value must be in range [0..255]" msgstr "Byte muß einen Wert von [0..255] haben" -#: debug.c:478 +#: debug.c:467 #, c-format msgid "Setting byte %d in sector %lld to value %d.\n" msgstr "Setze Byte %d in Sektor %lld auf den Wert %d.\n" -#: debug.c:485 debug.c:524 rs02-create.c:182 rs02-verify.c:685 +#: debug.c:474 debug.c:513 rs02-create.c:186 rs02-verify.c:697 +#: rs03-verify.c:1023 #, c-format msgid "Failed seeking to start of image: %s\n" msgstr "Ansteuern des Abbild-Anfangs fehlgeschlagen: %s\n" -#: debug.c:488 +#: debug.c:477 msgid "Could not write the new byte value" msgstr "Konnte den neuen Byte-Wert nicht schreiben" -#: debug.c:517 read-adaptive.c:537 +#: debug.c:506 read-adaptive.c:537 #, c-format msgid "Sectors must be in range [0..%lld].\n" msgstr "Sektoren müssen im Intervall [0..%lld] liegen.\n" -#: debug.c:519 +#: debug.c:508 #, c-format msgid "Erasing sectors [%lld,%lld]\n" msgstr "Lösche Sektoren [%lld,%lld]\n" -#: debug.c:561 +#: debug.c:550 #, c-format msgid "New length must be in range [0..%lld].\n" msgstr "Neue Länge muß im Bereich [0..%lld] liegen.\n" -#: debug.c:563 +#: debug.c:552 #, c-format msgid "Truncating image to %lld sectors.\n" msgstr "Verkürze das Abbild auf %lld Sektoren.\n" -#: debug.c:568 read-linear.c:1398 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 -#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:148 rs02-fix.c:241 -#: rs02-fix.c:262 rs02-fix.c:277 +#: debug.c:557 read-linear.c:1361 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 +#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:151 rs02-fix.c:241 +#: rs02-fix.c:262 rs02-fix.c:277 rs03-create.c:177 rs03-create.c:245 +#: rs03-fix.c:269 rs03-fix.c:290 rs03-fix.c:305 rs03s-create.c:171 +#: rs03s-create.c:227 #, c-format msgid "Could not truncate %s: %s\n" msgstr "Konnte %s nicht abschneiden: %s\n" -#: debug.c:594 debug.c:1105 debug.c:1113 debug.c:1170 debug.c:1175 file.c:59 -#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1166 -#: read-adaptive.c:1198 read-linear.c:307 read-linear.c:309 read-linear.c:340 -#: read-linear.c:342 +#: debug.c:583 debug.c:1094 debug.c:1102 debug.c:1159 debug.c:1164 file.c:59 +#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1164 +#: read-adaptive.c:1196 read-linear.c:277 read-linear.c:279 read-linear.c:310 +#: read-linear.c:312 #, c-format msgid "" "Can't open %s:\n" @@ -182,7 +217,7 @@ msgstr "" "Kann %s nicht öffnen:\n" "%s" -#: debug.c:598 +#: debug.c:587 #, c-format msgid "" "\n" @@ -201,7 +236,7 @@ msgstr "" "dvdisaster --debug %s %lld --random-seed %d\n" "\n" -#: debug.c:670 file.c:107 read-adaptive.c:150 read-linear.c:111 +#: debug.c:659 file.c:107 read-adaptive.c:150 read-linear.c:111 #: read-linear.c:114 #, c-format msgid "" @@ -211,11 +246,11 @@ msgstr "" "Fehler beim Schließen des Abbildes:\n" "%s" -#: debug.c:684 +#: debug.c:673 msgid "Replacing the \"unreadable sector\" markers with zeros.\n" msgstr "Ersetze die \"unlesbarer Sektor\"-Markierungen durch Nullen.\n" -#: debug.c:691 +#: debug.c:680 #, c-format msgid "" "Could not read image sector %lld:\n" @@ -224,12 +259,12 @@ msgstr "" "Konnte Abbild-Sektor %lld nicht lesen:\n" "%s\n" -#: debug.c:715 +#: debug.c:704 #, c-format msgid "%lld \"unreadable sector\" markers replaced.\n" msgstr "%lld \"unlesbarer Sektor\"-Markierungen ersetzt.\n" -#: debug.c:793 debug.c:840 debug.c:901 +#: debug.c:782 debug.c:829 debug.c:890 #, c-format msgid "" "Contents of sector %lld:\n" @@ -238,49 +273,50 @@ msgstr "" "Inhalt von Sektor %lld:\n" "\n" -#: debug.c:802 debug.c:1129 debug.c:1198 debug.c:1202 debug.c:1280 -#: rs01-common.c:70 rs02-common.c:67 rs02-create.c:199 rs02-fix.c:390 +#: debug.c:791 debug.c:1118 debug.c:1187 debug.c:1191 debug.c:1269 +#: rs01-common.c:93 rs02-common.c:67 rs02-create.c:203 rs02-fix.c:390 +#: rs03-common.c:102 rs03-recognize.c:268 rs03s-create.c:90 #, c-format msgid "Failed reading sector %lld in image: %s" msgstr "Lesen von Sektor %lld im Abbild fehlgeschlagen: %s" -#: debug.c:851 +#: debug.c:840 #, c-format msgid "Failed reading sector %lld: %s" msgstr "Lesen von Sektor %lld fehlgeschlagen: %s" -#: debug.c:888 +#: debug.c:877 msgid "Raw reading only possible on CD media\n" msgstr "\"Raw\"-Lesen ist nur mit CD-Datenträgern möglich\n" -#: debug.c:1096 +#: debug.c:1085 msgid "4th argument is missing" msgstr "Das vierte Argument fehlt" -#: debug.c:1109 +#: debug.c:1098 #, c-format msgid "Source sector must be in range [0..%lld]\n" msgstr "Quell-Sektor muß im Bereich [0..%lld] liegen\n" -#: debug.c:1117 +#: debug.c:1106 #, c-format msgid "Destination sector must be in range [0..%lld]\n" msgstr "Ziel-Sektor muß im Bereich [0..%lld] liegen\n" -#: debug.c:1121 +#: debug.c:1110 #, c-format msgid "Copying sector %lld from %s to sector %lld in %s.\n" msgstr "Kopiere Sektor %lld von %s in Sektor %lld von %s.\n" -#: ds-marker.c:172 +#: ds-marker.c:225 msgid "Stop reporting these errors" msgstr "Diese Fehler nicht mehr zeigen" -#: ds-marker.c:173 +#: ds-marker.c:226 msgid "Continue reporting" msgstr "Weiterhin zeigen" -#: ds-marker.c:196 +#: ds-marker.c:249 #, c-format msgid "" "\n" @@ -295,7 +331,7 @@ msgstr "" "%s\n" "\n" -#: ds-marker.c:207 +#: ds-marker.c:260 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -323,7 +359,7 @@ msgstr "" "zu diesem Abbild Fehlerkorrektur-Daten zu erstellen - leider gibt\n" "es keine besseren Nachrichten.\n" -#: ds-marker.c:224 +#: ds-marker.c:277 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -351,7 +387,7 @@ msgstr "" "zu diesem Abbild Fehlerkorrektur-Daten zu erstellen - leider gibt\n" "es keine besseren Nachrichten.\n" -#: ds-marker.c:247 +#: ds-marker.c:300 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -379,7 +415,7 @@ msgstr "" "zu diesem Abbild Fehlerkorrektur-Daten zu erstellen - leider gibt\n" "es keine besseren Nachrichten.\n" -#: dvdisaster.c:39 main-window.c:139 +#: dvdisaster.c:39 main-window.c:144 #, c-format msgid "" "\n" @@ -397,32 +433,40 @@ msgstr "RS01-Methode zum Überprüfen der Dateien nicht verfügbar." #. TRANSLATORS: #. This is a dummy entry which is supposed to translate into "ok". #. Please do not return anything else here. -#: dvdisaster.c:281 dvdisaster.c:293 dvdisaster.c:309 +#: dvdisaster.c:308 dvdisaster.c:320 dvdisaster.c:336 msgid "test phrase for verifying the locale installation" msgstr "ok" -#: dvdisaster.c:472 +#: dvdisaster.c:486 +msgid "-o/--ecc-target expects 'file' or 'image'" +msgstr "-o/--ecc-target erwartet 'file' oder 'image'" + +#: dvdisaster.c:512 #, c-format msgid "--threads must be 1..%d\n" msgstr "--threads muß zwischen 1..%d liegen\n" -#: dvdisaster.c:486 +#: dvdisaster.c:526 msgid "--cache-size must at least be 8MB; 16MB or higher is recommended." msgstr "--cache-size muß mindestens 8MB sein; 16MB oder mehr werden empfohlen." -#: dvdisaster.c:488 +#: dvdisaster.c:528 msgid "--cache-size maximum is 8192MB." msgstr "--cache-size darf höchsten 8192MB sein." -#: dvdisaster.c:504 +#: dvdisaster.c:544 msgid "Valid args for --driver: sg" msgstr "Gültige Argumente für --driver: sg" -#: dvdisaster.c:506 +#: dvdisaster.c:546 msgid "--driver is only supported on GNU/Linux" msgstr "--driver wird nur unter GNU/Linux unterstützt" -#: dvdisaster.c:614 +#: dvdisaster.c:593 +msgid "--prefetch-sectors must be in range 32...8096" +msgstr "--prefetch-sectors muß zwischen 32 und 8096 liegen" + +#: dvdisaster.c:652 #, c-format msgid "" "\n" @@ -432,12 +476,12 @@ msgstr "" "\n" "dvdisaster version %s build %d\n" -#: dvdisaster.c:678 +#: dvdisaster.c:716 #, c-format msgid "?? illegal getopt return value %d\n" msgstr "?? ungültiger Rückgabewert von getopt: %d\n" -#: dvdisaster.c:712 +#: dvdisaster.c:750 #, c-format msgid "" "dvdisaster is not properly installed.\n" @@ -449,7 +493,7 @@ msgstr "" #. TRANSLATORS: Program options like -r and --read are not to be translated #. to avoid confusion when discussing the program in international forums. -#: dvdisaster.c:876 +#: dvdisaster.c:910 msgid "" "\n" "Common usage examples:\n" @@ -473,7 +517,7 @@ msgstr "" " dvdisaster -u,--unlink # Löscht .iso - Dateien nach Beenden der vorherigen Aktionen.\n" "\n" -#: dvdisaster.c:885 +#: dvdisaster.c:919 #, c-format msgid "" "Drive and file specification:\n" @@ -481,124 +525,208 @@ msgid "" " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" " -i,--image imagefile - name of image file (default: medium.iso)\n" " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +" -o,--ecc-target [file image] - where to put ecc data in RS03\n" msgstr "" "Laufwerks- und Dateinamen:\n" " -d,--device Laufwerk - Von diesem Laufwerk lesen (Standard: %s)\n" " -p,--prefix Präfix - Anfang der .iso/.ecc - Dateien (Standard: medium.* )\n" " -i,--image Name - Name der Abbild - Datei (Standard: medium.iso)\n" " -e,--ecc Name - Name der Fehlerkorrektur-Datei (Standard: medium.ecc)\n" +" -o,--ecc-target [file image] - Ablageziel für Fehlerkorrektur-Daten in RS03\n" -#: dvdisaster.c:893 -msgid "" -" -l,--list - list drives available under ASPI manager\n" -"\n" -msgstr "" -" -l,--list - zeigt unter ASPI verfügbare Laufwerke\n" -"\n" +#: dvdisaster.c:929 +msgid "Tweaking options (see manual before using!)\n" +msgstr "Feineinstellung (Beachten Sie die Hinweise in der Dokumentation!):\n" -#: dvdisaster.c:898 +#: dvdisaster.c:930 +msgid " -a,--assume x,y,... - assume image is augmented with codec(s) x,y,...\n" +msgstr " -a,--assume x,y,... - Nimm an daß das Abbild mit Kodierer(n) x,y,... erweitert wurde\n" + +#: dvdisaster.c:931 +msgid " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" +msgstr " -j,--jump n - überspringe n Sektoren nach einem Lesefehler (Standard: 16)\n" + +#: dvdisaster.c:932 +msgid " -m n - list/select error correction methods (default: RS01)\n" +msgstr " -m n - Fehlerkorrektur-Methoden anzeigen/auswählen (Standard: RS01)\n" + +#: dvdisaster.c:933 #, c-format msgid "" -"Tweaking options (see manual before using!)\n" -" -j,--jump n - jump n sectors forward after a read error (default: 16)\n" -" -m n - list/select error correction methods (default: RS01)\n" " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" " maximum error correction image size (in sectors)\n" -" -v,--verbose - more diagnostic messages\n" -" --adaptive-read - use optimized strategy for reading damaged media\n" -" --auto-suffix - automatically add .iso and .ecc file suffixes\n" -" --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" -" --dao - assume DAO disc; do not trim image end\n" -" --defective-dump d - directory for saving incomplete raw sectors\n" -" --eject - eject medium after successful read\n" -" --fill-unreadable n - fill unreadable sectors with byte n\n" -" --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" -" --internal-rereads n - drive may attempt n rereads before reporting an error\n" -" --query-size n - query drive/udf/ecc for image size (default: ecc)\n" -" --raw-mode n - mode for raw reading CD media (20 or 21)\n" -" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -" --read-medium n - read the whole medium up to n times\n" -" --read-raw - performs read in raw mode if possible\n" -" --speed-warning n - print warning if speed changes by more than n percent\n" -" --spinup-delay n - wait n seconds for drive to spin up\n" -" --split-files - split image into files <= 2GB\n" -"\n" msgstr "" -"Feineinstellung (Beachten Sie die Hinweise in der Dokumentation!):\n" -" -j,--jump n - überspringe n Sektoren nach einem Lesefehler (Standard: 16)\n" -" -m n - Fehlerkorrektur-Methoden anzeigen/auswählen (Standard: RS01)\n" " -n,--redundancy n%% - Redundanz der Fehlerkorrektur-Dateien (in Prozent), oder\n" " höchstmögliche Größe für Fehlerkorrektur-Abbilder (in Sektoren)\n" -" -v,--verbose - mehr erläuternde Ausgaben\n" -" --adaptive-read - verwende optimiertes Leseverfahren für defekte Datenträger\n" -" --auto-suffix - automatisches Anfügen der .iso- und .ecc-Dateiendungen\n" -" --cache-size n - Zwischenspeicher in MB bei .ecc-Datei-Erzeugung (Standard: 32MB)\n" -" --dao - unterstelle DAO; Abbild am Ende nicht kürzen\n" -" --defective-dump d - Verzeichnis zum Speichern unvollständiger Roh-Sektoren\n" -" --eject - Datenträger nach erfolgreichem Lesen auswerfen\n" -" --fill-unreadable n - fülle unlesbare Sektoren mit Byte n\n" -" --ignore-fatal-sense - Lesen nach möglicherweise schwerwiegenden Fehlern fortsetzen\n" -" --internal-rereads n - Laufwerk unternimmt n Leseversuche bevor es einen Fehler zurückmeldet\n" -" --query-size n - Abbildgröße ermitteln durch: drive/udf/ecc (Standard: ecc)\n" -" --raw-mode n - \"raw-modus\" zum Lesen von CD (20 or 21)\n" -" --read-attempts n-m - versucht beschädigten Sektor n bis m-mal zu lesen\n" -" --read-medium n - liest den gesamten Datenträger bis zu n-mal\n" -" --read-raw - liest in der \"raw\"-Betriebsart sofern möglich\n" -" --speed-warning n - warnt bei Geschwindigkeitsänderung um mehr als n Prozent\n" -" --spinup-delay n - gibt dem Laufwerk n Sekunden Zeit zum Hochlaufen\n" -" --split-files - Abbild in mehrere Dateien <= 2GB aufteilen\n" -"\n" -#: dvdisaster.c:924 -#, c-format -msgid "" -"Debugging options (purposefully undocumented and possibly harmful)\n" -" --debug - enables the following options\n" -" --byteset s,i,b - set byte i in sector s to b\n" -" --cdump - creates C #include file dumps instead of hexdumps\n" -" --compare-images a,b - compare sectors in images a and b\n" -" --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" -" --erase sector - erase the given sector\n" -" --erase n-m - erase sectors n - m, inclusively\n" -" --marked-image n - create image with n marked random sectors\n" -" --merge-images a,b merge image a with b (a receives sectors from b)\n" -" --random-errors r,e seed image with (correctable) random errors\n" -" --random-image n - create image with n sectors of random numbers\n" -" --random-seed n - random seed for built-in random number generator\n" -" --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" -" --read-sector n - shows hexdump of the given sector from medium in drive\n" -" --screen-shot - useful for generating screen shots\n" -" --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" -" --show-sector n - shows hexdump of the given sector in an image file\n" -" --sim-defects n - simulate n%% defective sectors on medium\n" -" --truncate n - truncates image to n sectors\n" -" --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" -"\n" -msgstr "" -"Optionen zum Testen (absichtlich undokumentiert und möglicherweise schädlich!)\n" -" --debug - schaltet die folgenden Optionen frei\n" -" --byteset s,i,b - setze Byte i in Sektor s auf Wert b\n" -" --cdump - Erzeugt C-Include-Dateien anstelle von hexadezimalen Ausgaben\n" -" --compare-images a,b - Vergleicht Sektoren in den Abbildern a und b\n" -" --copy-sector a,n,b,m - Kopiert Sektor n aus Abbild a in Sektor m von Abbild b\n" -" --erase sector - Löscht den angegebenen Sektor\n" -" --erase n-m - Löscht die Sektoren n - m (einschließlich n,m)\n" -" --marked-image n - Erzeugt Abbild mit n markierten Sektoren aus Zufallszahlen\n" -" --merge-images a,b Vereinigt Abbild a mit b (a erhält Sektoren aus b)\n" -" --random-errors r,e Füllt Abbild mit zufälligen reparierbaren Fehlern\n" -" --random-image n - Erzeugt Abbild mit n Sektoren aus Zufallszahlen\n" -" --random-seed n - Anfangswert für den eingebauten Zufallszahlengenerator\n" -" --raw-sector n - Zeigt hexadezimale Darstellung eines Roh-Sektors vom Datenträger\n" -" --read-sector n - Zeigt hexadezimale Darstellung des Inhalts eines Sektors vom Datenträger\n" -" --screen-shot - nützlich um Bildschirmfotos zu erzeugen\n" -" --send-cdb arg - führt cdb im Laufwerk aus; schrottet System bei Fehleingabe\n" -" --show-sector n - Zeigt hexadezimale Darstellung des Sektor-Inhalts einer Abbild-Datei\n" -" --sim-defects n - simuliere n%% beschädigte Sektoren auf dem Datenträger\n" -" --truncate n - Verkürzt Abbild auf n Sektoren Länge\n" -" --zero-unreadable - Ersetzt die \"unlesbare Sektoren\"-Markierungen durch Nullen\n" -"\n" +#: dvdisaster.c:935 +msgid " -v,--verbose - more diagnostic messages\n" +msgstr " -v,--verbose - mehr erläuternde Ausgaben\n" + +#: dvdisaster.c:936 +msgid " -x,--threads n - use n threads for en-/decoding (if supported by codec)\n" +msgstr " -x,--threads n - verwende n Kontrollfäden für RS03-(De-)Kodierung\n" + +#: dvdisaster.c:937 +msgid " --adaptive-read - use optimized strategy for reading damaged media\n" +msgstr " --adaptive-read - verwende optimiertes Leseverfahren für defekte Datenträger\n" + +#: dvdisaster.c:938 +msgid " --auto-suffix - automatically add .iso and .ecc file suffixes\n" +msgstr " --auto-suffix - automatisches Anfügen der .iso- und .ecc-Dateiendungen\n" + +#: dvdisaster.c:939 +msgid " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" +msgstr " --cache-size n - Zwischenspeicher in MB bei .ecc-Datei-Erzeugung (Standard: 32MB)\n" + +#: dvdisaster.c:940 +msgid " --dao - assume DAO disc; do not trim image end\n" +msgstr " --dao - unterstelle DAO; Abbild am Ende nicht kürzen\n" + +#: dvdisaster.c:941 +msgid " --defective-dump d - directory for saving incomplete raw sectors\n" +msgstr " --defective-dump d - Verzeichnis zum Speichern unvollständiger Roh-Sektoren\n" + +#: dvdisaster.c:943 +msgid " --driver=sg - use alternative sg driver (see man page!)\n" +msgstr " --driver=sg - alternativen SCSI-Treiber wählen (siehe Dokumentation!)\n" + +#: dvdisaster.c:945 +msgid " --eject - eject medium after successful read\n" +msgstr " --eject - Datenträger nach erfolgreichem Lesen auswerfen\n" + +#: dvdisaster.c:946 +msgid " --fill-unreadable n - fill unreadable sectors with byte n\n" +msgstr " --fill-unreadable n - fülle unlesbare Sektoren mit Byte n\n" + +#: dvdisaster.c:947 +msgid " --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" +msgstr " --ignore-fatal-sense - Lesen nach möglicherweise schwerwiegenden Fehlern fortsetzen\n" #: dvdisaster.c:948 +msgid " --internal-rereads n - drive may attempt n rereads before reporting an error\n" +msgstr " --internal-rereads n - Laufwerk unternimmt n Leseversuche bevor es einen Fehler zurückmeldet\n" + +#: dvdisaster.c:949 +msgid " --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n" +msgstr " --old-ds-marker - markiere fehlende Sektoren kompatibel mit dvdisaster <= 0.70\n" + +#: dvdisaster.c:950 +msgid " --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMB)\n" +msgstr " --prefetch-sectors n - n Sektoren für RS03-Kodierung im Voraus laden (braucht ~nMB)\n" + +#: dvdisaster.c:951 +msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" +msgstr " --raw-mode n - \"raw-modus\" zum Lesen von CD (20 or 21)\n" + +#: dvdisaster.c:952 +msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" +msgstr " --read-attempts n-m - versucht beschädigten Sektor n bis m-mal zu lesen\n" + +#: dvdisaster.c:953 +msgid " --read-medium n - read the whole medium up to n times\n" +msgstr " --read-medium n - liest den gesamten Datenträger bis zu n-mal\n" + +#: dvdisaster.c:954 +msgid " --read-raw - performs read in raw mode if possible\n" +msgstr " --read-raw - liest in der \"raw\"-Betriebsart sofern möglich\n" + +#: dvdisaster.c:955 +msgid " --speed-warning n - print warning if speed changes by more than n percent\n" +msgstr " --speed-warning n - warnt bei Geschwindigkeitsänderung um mehr als n Prozent\n" + +#: dvdisaster.c:956 +msgid " --spinup-delay n - wait n seconds for drive to spin up\n" +msgstr " --spinup-delay n - gibt dem Laufwerk n Sekunden Zeit zum Hochlaufen\n" + +#: dvdisaster.c:960 +msgid "Debugging options (purposefully undocumented and possibly harmful)\n" +msgstr "Optionen zum Testen (absichtlich undokumentiert und möglicherweise schädlich!)\n" + +#: dvdisaster.c:961 +msgid " --debug - enables the following options\n" +msgstr " --debug - schaltet die folgenden Optionen frei\n" + +#: dvdisaster.c:962 +msgid " --byteset s,i,b - set byte i in sector s to b\n" +msgstr " --byteset s,i,b - setze Byte i in Sektor s auf Wert b\n" + +#: dvdisaster.c:963 +msgid " --cdump - creates C #include file dumps instead of hexdumps\n" +msgstr " --cdump - Erzeugt C-Include-Dateien anstelle von hexadezimalen Ausgaben\n" + +#: dvdisaster.c:964 +msgid " --compare-images a,b - compare sectors in images a and b\n" +msgstr " --compare-images a,b - Vergleicht Sektoren in den Abbildern a und b\n" + +#: dvdisaster.c:965 +msgid " --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" +msgstr " --copy-sector a,n,b,m - Kopiert Sektor n aus Abbild a in Sektor m von Abbild b\n" + +#: dvdisaster.c:966 +msgid " --erase sector - erase the given sector\n" +msgstr " --erase sector - Löscht den angegebenen Sektor\n" + +#: dvdisaster.c:967 +msgid " --erase n-m - erase sectors n - m, inclusively\n" +msgstr " --erase n-m - Löscht die Sektoren n - m (einschließlich n,m)\n" + +#: dvdisaster.c:968 +msgid " --marked-image n - create image with n marked random sectors\n" +msgstr " --marked-image n - Erzeugt Abbild mit n markierten Sektoren aus Zufallszahlen\n" + +#: dvdisaster.c:969 +msgid " --merge-images a,b merge image a with b (a receives sectors from b)\n" +msgstr " --merge-images a,b Vereinigt Abbild a mit b (a erhält Sektoren aus b)\n" + +#: dvdisaster.c:970 +msgid " --random-errors r,e seed image with (correctable) random errors\n" +msgstr " --random-errors r,e Füllt Abbild mit zufälligen reparierbaren Fehlern\n" + +#: dvdisaster.c:971 +msgid " --random-image n - create image with n sectors of random numbers\n" +msgstr " --random-image n - Erzeugt Abbild mit n Sektoren aus Zufallszahlen\n" + +#: dvdisaster.c:972 +msgid " --random-seed n - random seed for built-in random number generator\n" +msgstr " --random-seed n - Anfangswert für den eingebauten Zufallszahlengenerator\n" + +#: dvdisaster.c:973 +msgid " --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" +msgstr " --raw-sector n - Zeigt hexadezimale Darstellung eines Roh-Sektors vom Datenträger\n" + +#: dvdisaster.c:974 +msgid " --read-sector n - shows hexdump of the given sector from medium in drive\n" +msgstr " --read-sector n - Zeigt hexadezimale Darstellung des Inhalts eines Sektors vom Datenträger\n" + +#: dvdisaster.c:975 +msgid " --screen-shot - useful for generating screen shots\n" +msgstr " --screen-shot - nützlich um Bildschirmfotos zu erzeugen\n" + +#: dvdisaster.c:976 +msgid " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" +msgstr " --send-cdb arg - führt cdb im Laufwerk aus; schrottet System bei Fehleingabe\n" + +#: dvdisaster.c:977 +msgid " --show-sector n - shows hexdump of the given sector in an image file\n" +msgstr " --show-sector n - Zeigt hexadezimale Darstellung des Sektor-Inhalts einer Abbild-Datei\n" + +#: dvdisaster.c:978 +#, c-format +msgid " --sim-defects n - simulate n%% defective sectors on medium\n" +msgstr " --sim-defects n - simuliere n%% beschädigte Sektoren auf dem Datenträger\n" + +#: dvdisaster.c:979 +msgid " --truncate n - truncates image to n sectors\n" +msgstr " --truncate n - Verkürzt Abbild auf n Sektoren Länge\n" + +#: dvdisaster.c:980 +msgid "" +" --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" +"\n" +msgstr " --zero-unreadable - Ersetzt die \"unlesbare Sektoren\"-Markierungen durch Nullen\n" + +#: dvdisaster.c:984 msgid "" "NOTE: This is the Windows console version of dvdisaster.\n" "The version providing a graphical user interface is called\n" @@ -610,7 +738,7 @@ msgstr "" "dvdisaster-win.exe bereitgestellt (ebenfalls in dieser Installation enthalten).\n" "\n" -#: dvdisaster.c:969 +#: dvdisaster.c:1005 msgid "Optical drive 52X FW 1.02" msgstr "Optisches LW 52X FW 1.02" @@ -630,6 +758,22 @@ msgstr "Erweitertes Abbild (RS02)" msgid "Reed-Solomon method with improved tolerance for defective ecc data" msgstr "Reed-Solomon-Verfahren mit verbesserter Robustheit gegen beschädigte ecc-Daten" +#: ecc-rs03.c:39 +msgid "Multithreaded RS codec (RS03)" +msgstr "Mehrprozessor-fähiger RS-Kodierer (RS03)" + +#: ecc-rs03.c:40 +msgid "Multithreaded Reed-Solomon codec for error correction files and augmented images" +msgstr "Mehrprozessor-fähiger Reed-Solomon-Kodierer für Fehlerkorrektur-Dateien und erweiterte Abbilder" + +#: ecc-rs03s.c:39 +msgid "Single threaded RS codec (RSS3)" +msgstr "Auf einen Prozessorkern beschränkter RS-Kodierer (RSS3)" + +#: ecc-rs03s.c:40 +msgid "Single threaded Reed-Solomon codec for error correction files and augmented images" +msgstr "Auf einen Prozessorkern beschränkter Kodierer für Fehlerkorrektur-Dateien und erweiterte Abbilder" + #: file.c:39 #, c-format msgid "" @@ -643,7 +787,7 @@ msgstr "" msgid ": not present.\n" msgstr ": nicht vorhanden.\n" -#: file.c:49 +#: file.c:49 rs03-common.c:175 #, c-format msgid "Image file %s not present." msgstr "Abbild-Datei %s ist nicht vorhanden." @@ -680,13 +824,13 @@ msgstr "" "Kann den Ecc-Vorspann nicht lesen:\n" "%s" -#: file.c:186 rs01-create.c:958 +#: file.c:186 rs01-create.c:971 #, c-format msgid "" "Error closing error correction file:\n" "%s" msgstr "" -"Fehler beim Schließen der Fehlerkorrekturdatei:\n" +"Fehler beim Schließen der Fehlerkorrektur-Datei:\n" "%s" #: file.c:220 @@ -765,15 +909,15 @@ msgstr "Kurzinformation" #: help-dialogs.c:709 msgid "" -"Modified version Copyright 2009 (please fill in - [directions])\n" -"Copyright 2004-2009 Carsten Gnoerlich" +"Modified version Copyright 2010 (please fill in - [directions])\n" +"Copyright 2004-2010 Carsten Gnoerlich" msgstr "" -"Veränderte Version Copyright 2009 (bitte eintragen - [Hinweise])\n" -"Original-Programm Copyright 2004-2009 Carsten Gnörlich" +"Veränderte Version Copyright 2010 (bitte eintragen - [Hinweise])\n" +"Original-Programm Copyright 2004-2010 Carsten Gnörlich" #: help-dialogs.c:713 -msgid "Copyright 2004-2009 Carsten Gnoerlich" -msgstr "Copyright 2004-2009 Carsten Gnörlich" +msgid "Copyright 2004-2010 Carsten Gnoerlich" +msgstr "Copyright 2004-2010 Carsten Gnörlich" #: help-dialogs.c:720 msgid "" @@ -784,7 +928,7 @@ msgid "" msgstr "" "dvdisaster erzeugt einen Sicherheitspuffer gegen Datenverluste, die\n" "auf CD- und DVD-Datenträgern durch Alterung oder Kratzer entstehen.\n" -"Es erzeugt Fehlerkorrekturdaten, um bei nachfolgenden Datenträger-\n" +"Es erzeugt Fehlerkorrektur-Daten, um bei nachfolgenden Datenträger-\n" "Problemen unlesbare Sektoren zu rekonstruieren.\n" #: help-dialogs.c:725 @@ -836,7 +980,7 @@ msgstr "" "\n" "Anpassungen für NetBSD: Sergey Svishchev <svs@ropnet.ru>" -#: large-io.c:499 +#: large-io.c:250 #, c-format msgid "" "Error while writing the file:\n" @@ -852,84 +996,116 @@ msgstr "" "Sie können den Vorgang wiederholen\n" "nachdem Sie Speicherplatz freigegeben haben." -#: main-window.c:70 +#: main-window.c:57 #, c-format msgid "dvdisaster-%s log\n" msgstr "dvdisaster-%s-Protokoll\n" -#: main-window.c:241 +#: main-window.c:87 +msgid "" +"The .iso image and error correction file\n" +"must not be the same file!\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" +"Das ISO-Abbild und die Fehlerkorrektur-Datei\n" +"dürfen nicht die selbe Datei sein!\n" +"\n" +"Falls Sie vorhatten, ein ISO-Abbild zu verwenden,\n" +"das mit Fehlerkorrektur-Daten erweitert wurde, so\n" +"lassen Sie bitte das Feld für den Namen der\n" +"Fehlerkorrektur-Datei leer." + +#: main-window.c:97 +msgid "" +"The error correction file type must not be \".iso\".\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" +"Die Fehlerkorrektur-Datei darf nicht vom Typ \".iso\" sein.\n" +"\n" +"Falls Sie vorhatten, ein ISO-Abbild zu verwenden,\n" +"das mit Fehlerkorrektur-Daten erweitert wurde, so\n" +"lassen Sie bitte das Feld für den Namen der\n" +"Fehlerkorrektur-Datei leer." + +#: main-window.c:246 msgid "button|Read" msgstr "Lesen" -#: main-window.c:244 +#: main-window.c:249 msgid "tooltip|Read Image" msgstr "Abbild einlesen" -#: main-window.c:244 +#: main-window.c:249 msgid "Reads a CD/DVD image into a file (or tries to complete an existing image file)." msgstr "Liest ein CD/DVD-Abbild in eine Datei ein (oder vervollständigt ein vorhandenes Abbild)." -#: main-window.c:258 +#: main-window.c:263 msgid "button|Create" msgstr "Erzeugen" -#: main-window.c:261 +#: main-window.c:266 msgid "tooltip|Create error correction data" msgstr "Fehlerkorrektur-Daten erzeugen" -#: main-window.c:261 +#: main-window.c:266 msgid "Creates error correction data. Requires an image file." msgstr "Erzeugt Fehlerkorrektur-Daten. Benötigt eine Abbild-Datei." -#: main-window.c:265 +#: main-window.c:270 msgid "button|Scan" msgstr "Prüfen" -#: main-window.c:268 +#: main-window.c:273 msgid "tooltip|Scan medium" msgstr "Datenträger untersuchen" -#: main-window.c:268 +#: main-window.c:273 msgid "Scans medium for unreadable sectors." msgstr "Untersucht den Datenträger auf Lesefehler." -#: main-window.c:272 +#: main-window.c:277 msgid "button|Fix" msgstr "Reparieren" -#: main-window.c:275 +#: main-window.c:280 msgid "tooltip|Repair image" msgstr "Abbild reparieren" -#: main-window.c:275 +#: main-window.c:280 msgid "Repairs an image. Requires an image file and error correction data." msgstr "Repariert ein Abbild. Benötigt eine Abbild-Datei und Fehlerkorrektur-Daten." -#: main-window.c:279 +#: main-window.c:284 msgid "button|Verify" msgstr "Vergleichen" -#: main-window.c:282 +#: main-window.c:287 msgid "tooltip|Consistency check" msgstr "Daten überprüfen" -#: main-window.c:282 +#: main-window.c:287 msgid "Tests consistency of error correction data and image file." msgstr "Überprüft das Abbild und die Fehlerkorrektur-Daten." -#: main-window.c:286 +#: main-window.c:291 msgid "button|Stop" msgstr "Abbrechen" -#: main-window.c:289 +#: main-window.c:294 msgid "tooltip|Abort action" msgstr "Vorgang abbrechen" -#: main-window.c:289 +#: main-window.c:294 msgid "Aborts an ongoing action." msgstr "Bricht den laufenden Vorgang ab." -#: main-window.c:418 +#: main-window.c:423 #, c-format msgid "" "dvdisaster is not properly installed\n" @@ -941,15 +1117,15 @@ msgstr "" "Bitte führen Sie das Installationsprogramm\n" "%s erneut aus.\n" -#: main-window.c:502 +#: main-window.c:507 msgid "tooltip|Protocol for current action" msgstr "Protokoll des Vorgangs" -#: main-window.c:503 +#: main-window.c:508 msgid "Displays additional information created during the current or last action." msgstr "Zeigt zusätzliche Informationen über den laufenden oder zuletzt durchgeführten Vorgang an." -#: main-window.c:512 +#: main-window.c:517 msgid "View log" msgstr "Protokoll" @@ -969,7 +1145,7 @@ msgstr "erweiterbar" msgid "finalized" msgstr "abgeschlossen" -#: medium-info.c:89 scsi-layer.c:83 +#: medium-info.c:89 scsi-layer.c:97 msgid "unknown" msgstr "unbekannt" @@ -981,8 +1157,8 @@ msgstr "unvollständig" msgid "damaged" msgstr "beschädigt" -#: medium-info.c:95 rs02-verify.c:669 rs02-verify.c:870 rs02-verify.c:871 -#: rs02-verify.c:872 +#: medium-info.c:95 rs02-verify.c:674 rs02-verify.c:880 rs02-verify.c:881 +#: rs02-verify.c:882 rs03-verify.c:1270 rs03-verify.c:1272 rs03-verify.c:1273 msgid "complete" msgstr "vollständig" @@ -1060,7 +1236,7 @@ msgstr "Datenträger-Typ:" msgid "Book type:" msgstr "\"Book type\":" -#: medium-info.c:308 scsi-layer.c:2645 +#: medium-info.c:308 scsi-layer.c:2662 msgid "Manuf.-ID:" msgstr "Herst.-ID:" @@ -1154,7 +1330,7 @@ msgstr "Abbild auswählen" #: menubar.c:199 msgid "menu|Select Parity File" -msgstr "Fehlerkorrekturdatei auswählen" +msgstr "Fehlerkorrektur-Datei auswählen" #: menubar.c:200 msgid "menu|Quit" @@ -1290,32 +1466,31 @@ msgstr "" "Liste der verfügbaren Methoden:\n" "\n" -#: method.c:288 method.c:289 +#: method.c:133 method.c:134 +msgid "" +"\n" +"Error correction file type unknown.\n" +msgstr "" +"\n" +"Typ der Fehlerkorrktur-Datei ist unbekannt.\n" + +#: method.c:163 method.c:164 +msgid "" +"\n" +"No error correction data recognized in image.\n" +msgstr "" +"\n" +"Keine Fehlerkorrektur-Daten im Abbild gefunden.\n" + +#: method.c:174 method.c:175 #, c-format msgid "Image file %s not present.\n" msgstr "Abbild-Datei %s nicht vorhanden.\n" -#: method.c:313 method.c:318 -#, c-format -msgid "" -"\n" -"Unknown method %s.\n" -msgstr "" -"\n" -"Unbekanntes Verfahren %s.\n" - -#: method.c:314 method.c:319 -msgid "" -"\n" -"Neither ecc file nor ecc data in image found.\n" -msgstr "" -"\n" -"Weder Fehlerkorrektur-Datei noch Fehlerkorrekturdaten im Abbild vorhanden.\n" - #: misc.c:205 #, c-format -msgid "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnoerlich.\n" -msgstr "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnörlich.\n" +msgid "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnoerlich.\n" +msgstr "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnörlich.\n" #. TRANSLATORS: Excluding all kinds of warranty might be harmful under your #. legislature. If in doubt, just translate the following like "This is free @@ -1331,11 +1506,11 @@ msgstr "" "Dies ist freie Software; es gelten die Bedingungen der\n" "GNU GENERAL PUBLIC LICENSE aus dem Quelltext.\n" -#: misc.c:432 +#: misc.c:448 msgid "Warning" msgstr "Warnung" -#: misc.c:495 misc.c:501 +#: misc.c:511 misc.c:517 msgid "" "\n" "*\n" @@ -1347,109 +1522,95 @@ msgstr "" "* dvdisaster - kann Ausführung nicht fortsetzen:\n" "*\n" -#: preferences.c:444 +#: misc.c:1135 +msgid "Do not ask again" +msgstr "Nicht mehr nachfragen" + +#: misc.c:1156 +#, c-format +msgid "" +"Image file already exists and does not match the medium:\n" +"\n" +"%s\n" +"\n" +"The existing image file will be deleted." +msgstr "" +"Die bereits vorhandene Abbild-Datei paßt nicht zu dem Datenträger:\n" +"\n" +"%s\n" +"\n" +"Soll die Abbild-Datei gelöscht werden?" + +#: misc.c:1175 +#, c-format +msgid "" +"The error correction file is already present:\n" +"\n" +"%s\n" +"\n" +"Overwrite it?" +msgstr "" +"Es gibt bereits eine Fehlerkorrektur-Datei:\n" +"\n" +"%s\n" +"\n" +"Soll sie überschrieben werden?" + +#: preferences.c:448 msgid "Switched to the linear reading strategy." msgstr "Lineares Leseverfahren wurde ausgewählt." -#: preferences.c:812 +#: preferences.c:828 msgid "Color selection" msgstr "Farbe auswählen" -#: preferences.c:1069 +#: preferences.c:1047 msgid "Disabled automatic error correction file generation." msgstr "" "Automatisches Erzeugen der Fehlerkorrektur-Datei\n" "wurde abgeschaltet." -#: preferences.c:1232 preferences.c:2304 preferences.c:2313 +#: preferences.c:1210 preferences.c:2295 preferences.c:2304 msgid "Raw sector caching" msgstr "Roh-Sektoren aufbewahren" -#: preferences.c:1304 +#: preferences.c:1282 msgid "Log file" msgstr "Protokoll-Datei" -#: preferences.c:1326 +#: preferences.c:1304 msgid "Delete the log file?" msgstr "Protokoll-Datei löschen?" -#: preferences.c:1419 +#: preferences.c:1398 msgid "Preferences" msgstr "Einstellungen" -#: preferences.c:1449 +#: preferences.c:1428 rs03-preferences.c:486 msgid "Image" msgstr "Abbild" -#: preferences.c:1453 -msgid "Image size" -msgstr "Abbild-Größe" - -#: preferences.c:1460 -msgid "Image size determination" -msgstr "Ermittlung der Abbild-Größe" - -#: preferences.c:1460 -msgid "Get Image size from: " -msgstr "Abbild-Größe ermitteln durch:" - -#: preferences.c:1472 preferences.c:1788 -msgid "Drive" -msgstr "Laufwerk" - -#: preferences.c:1478 -msgid "ISO/UDF" -msgstr "ISO/UDF" - -#: preferences.c:1484 -msgid "ECC/RS02" -msgstr "ECC/RS02" - -#: preferences.c:1508 -msgid "" -"Image size determination\n" -"\n" -"Use ECC/RS02 for reading images augmented with error correction data; else pick ISO/UDF.\n" -"\n" -"ECC/RS02: The Image size is determined from the error correction data. Reading RS02 augmented images requires this option; otherwise the images may be incomplete. However if the medium does not contain error correction data, the start of the reading operation may be delayed significantly.\n" -"\n" -"ISO/UDF: The image size is determined from the ISO/UDF file system.\n" -"Caution: This is only suitable for working with error correction files. Images containing RS02 error correction information may be truncated.\n" -"\n" -"Drive: The image size reported by the drive will be used. As this information is typically wrong for DVD-RW/+RW/-RAM media this option is only present for backwards compatibility with older dvdisaster versions." -msgstr "" -"Ermittlung der Abbild-Größe\n" -"\n" -"Verwenden Sie ECC/RS02 zum Lesen von Abbildern, die Fehlerkorrektur-Daten enthalten. Anderenfalls wählen Sie ISO/UDF.\n" -"\n" -"ECC/RS02: Die Abbildgröße wird aus den Fehlerkorrektur-Daten ermittelt. Das Lesen von RS02-erweiterten Abbildern benötigt diese Einstellung; anderenfalls kann das Abbild unbrauchbar werden. Falls der Datenträger aber keine Fehlerkorrektur-Daten enthält, wird der Beginn des Lesens stark verzögert.\n" -"\n" -"ISO/UDF: Die Abbildgröße wird aus dem ISO/UDF-Dateisystem bestimmt.\n" -"Vorsicht: Benutzen Sie diese Einstellung nur, wenn Sie mit Fehlerkorrektur-Dateien arbeiten. RS02-erweiterte Abbilder werden möglicherweise unvollständig gelesen.\n" -"\n" -"Laufwerk: Die vom Laufwerk zurückgelieferte Abbild-Größe wird verwendet. Dieser Wert ist bei DVD-RW/+RW/-RAM typischerweise falsch. Diese Wahlmöglichkeit gibt es nur noch zur Kompatibilität mit älteren dvdisaster-Versionen." - -#: preferences.c:1527 +#: preferences.c:1432 msgid "Image creation" msgstr "Abbild-Erzeugung" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy" msgstr "Lese-Verfahren" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy: " msgstr "Lese-Verfahren: " -#: preferences.c:1550 +#: preferences.c:1455 msgid "Linear" msgstr "Linear" -#: preferences.c:1558 +#: preferences.c:1463 msgid "Adaptive (for defective media)" msgstr "Angepaßt (an beschädigte Datenträger)" -#: preferences.c:1570 +#: preferences.c:1475 msgid "" "Reading strategy\n" "\n" @@ -1475,19 +1636,19 @@ msgstr "" "\n" "Das angepaßte Verfahren kann auch ohne Fehlerkorrektur-Daten benutzt werden; es wird aber empfohlen in diesem Fall das lineare Lesen zu verwenden." -#: preferences.c:1582 +#: preferences.c:1487 msgid "Reading range" msgstr "Lese-Bereich" -#: preferences.c:1582 +#: preferences.c:1487 msgid "Read/Scan from sector" msgstr "Lesen/Prüfen von Sektor" -#: preferences.c:1607 +#: preferences.c:1512 msgid "to sector" msgstr "bis Sektor" -#: preferences.c:1625 +#: preferences.c:1530 msgid "" "Reading range\n" "\n" @@ -1505,19 +1666,75 @@ msgstr "" "\n" "Diese Einstellungen gelten nur für die aktuelle Sitzung und werden nicht gespeichert." -#: preferences.c:1635 +#: preferences.c:1540 +msgid "Error correction data recognization" +msgstr "Erkennen von Fehlerkorrektur-Daten" + +#: preferences.c:1549 +msgid "Exhaustive RS02 header search" +msgstr "Erschöpfende Suche nach RS02-Vorspännen" + +#: preferences.c:1549 +msgid "Perform exhaustive search for RS02 headers" +msgstr "Erschöpfende Suche nach RS02-Vorspännen durchführen" + +#: preferences.c:1569 +msgid "" +"Exhaustive RS02 header search\n" +"\n" +"When this setting is off only a quick check for RS02 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS02.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS02 data, but is not being recognized as such. Searching for the RS02 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS02 data. Otherwise you will waste a lot of time searching for the RS02 signatures and increase wear on the drive." +msgstr "" +"Erschöpfende Suche nach RS02-Vorspännen\n" +"\n" +"Wenn diese Option abgeschaltet ist, wird nur mit einem abgekürzten Verfahren nach RS02-Fehlerkorrektur-Daten gesucht. Bei beschädigten Datenträgern oder Abbildern reicht dies unter Umständen nicht aus, um herauszufinden ob das Abbild mit Fehlerkorrektur-Daten erweitert wurde.\n" +"\n" +"Schalten Sie diese Option daher ein, wenn dvdisaster nicht erkennt, daß ein Datenträger oder ein Abbild mit RS02 erweitert wurde. Die Suche nach RS02-Fehlerkorrektur-Daten kann eine deutliche Verzögerung am Anfang eines Lese- oder Prüf-Vorganges bewirken.\n" +"\n" +"Lassen Sie diese Option ausgeschaltet wenn Sie Datenträger oder Abbilder verarbeiten, die nicht mit RS02-Fehlerkorrektur-Daten erweitert wurden. Anderenfalls wird viel Zeit mit der vergeblichen Suche nach den Fehlerkorrektur-Daten verschwendet und die Abnutzung des Laufwerks erhöht." + +#: preferences.c:1588 +msgid "Recover RS03 signatures" +msgstr "RS03-Datenstrukturen finden" + +#: preferences.c:1588 +msgid "Find and recover RS03 signatures" +msgstr "RS03-Datenstrukturen suchen und wiederherstellen" + +#: preferences.c:1608 +msgid "" +"Exhaustive RS03 header search\n" +"\n" +"When this setting is off only a quick check for RS03 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS03.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS03 data, but is not being recognized as such. Searching for the RS03 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS03 data. Otherwise you will waste a lot of time searching for the RS03 signatures and increase wear on the drive." +msgstr "" +"Erschöpfende Suche nach RS03-Vorspännen\n" +"\n" +"Wenn diese Option abgeschaltet ist, wird nur mit einem abgekürzten Verfahren nach RS03-Fehlerkorrektur-Daten gesucht. Bei beschädigten Datenträgern oder Abbildern reicht dies unter Umständen nicht aus, um herauszufinden ob das Abbild mit Fehlerkorrektur-Daten erweitert wurde.\n" +"\n" +"Schalten Sie diese Option daher ein, wenn dvdisaster nicht erkennt, daß ein Datenträger oder ein Abbild mit RS03 erweitert wurde. Die Suche nach RS03-Fehlerkorrektur-Daten kann eine deutliche Verzögerung am Anfang eines Lese- oder Prüf-Vorganges bewirken.\n" +"\n" +"Lassen Sie diese Option ausgeschaltet wenn Sie Datenträger oder Abbilder verarbeiten, die nicht mit RS03-Fehlerkorrektur-Daten erweitert wurden. Anderenfalls wird viel Zeit mit der vergeblichen Suche nach den Fehlerkorrektur-Daten verschwendet und die Abnutzung des Laufwerks erhöht." + +#: preferences.c:1627 msgid "Image properties" msgstr "Abbild-Eigenschaften" -#: preferences.c:1644 +#: preferences.c:1636 msgid "DAO mode" msgstr "DAO-Abbild" -#: preferences.c:1644 +#: preferences.c:1636 msgid "Assume image to be written in DAO mode (don't truncate)" msgstr "Unterstelle DAO-Abbild (nicht am Ende kürzen)" -#: preferences.c:1664 +#: preferences.c:1656 msgid "" "Assume DAO mode\n" "\n" @@ -1536,19 +1753,19 @@ msgstr "" "\n" "Tip: Brennen Sie CDs im Modus \"DAO / Disc at once\" (manchmal auch \"SAO / Session at once\" genannt), um diese Probleme zu vermeiden." -#: preferences.c:1680 +#: preferences.c:1671 msgid "Image format" msgstr "Abbild-Format" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Missing sector tags" msgstr "Kennzeichnung fehlender Sektoren" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Use new style missing sector tags (Warning: compatibility issues!)" msgstr "Nach neuer Methode kennzeichen (Warnung: Kompatibilitätsprobleme!)" -#: preferences.c:1709 +#: preferences.c:1700 msgid "" "Missing sector tagging\n" "\n" @@ -1559,18 +1776,18 @@ msgstr "" "Kennzeichnung fehlender Sektoren\n" "\n" "Fehlende Sektoren werden in dem Abbild durch eine spezielle Datensequenz gekennzeichnet. Dieser Schalter aktiviert eine verbesserte Kennzeichnung mit deren Hilfe spezielle Fälle von absichtlich beschädigten Datenträger-Inhalten identifiziert werden können. Darin eingeschlossen sind Datenträger die aus unvollständig wiederhergestellten Abbildern gebrannt wurden oder Daten daraus enthalten.\n" -"Nur dvdisaster 0.72 und die nachfolgenden Versionen erkennen die neue Kennzeichnung. Sie dürften mit dieser Option erzeugte Abbilder AUF KEINEN FALL mit älteren dvdisaster-Versionen verarbeiten. Diese Versionen würden die betreffenden Sektoren nicht als fehlend erkennen.\n" +"Nur dvdisaster 0.72 und die nachfolgenden Versionen erkennen die neue Kennzeichnung. Sie dürfen mit dieser Option erzeugte Abbilder AUF KEINEN FALL mit älteren dvdisaster-Versionen verarbeiten. Diese Versionen würden die betreffenden Sektoren nicht als fehlend erkennen.\n" "Bemerkung: dvdisaster >= 0.72 erkennt die alten und neuen Formate automatisch; dieser Schalter beinflußt nur die Erzeugung neuer Abbilder." -#: preferences.c:1728 +#: preferences.c:1719 msgid "Filling of unreadable sectors" msgstr "Auffüllen von unlesbaren Sektoren" -#: preferences.c:1729 +#: preferences.c:1720 msgid "Fill unreadable sectors with byte:" msgstr "Unlesbare Sektoren auffüllen mit Byte:" -#: preferences.c:1768 +#: preferences.c:1759 msgid "" "Filling of unreadable sectors\n" "\n" @@ -1581,27 +1798,31 @@ msgstr "" "\n" "dvdisaster kennzeichnet unlesbare Sektoren mit einem Füllmuster, dessen Vorkommen auf einem unbeschädigten Datenträger sehr unwahrscheinlich ist. Einige andere Datenrettungsprogramme erwarten aber, daß unlesbare Sektoren mit einem bestimmten Byte aufgefüllt sind. Um den Austausch von Abbildern mit diesen Programmen zu ermöglichen, müssen Sie das \"richtige\" Byte angeben:\n" -#: preferences.c:1777 +#: preferences.c:1768 msgid "0xb0 (176 decimal): for compatibility with h2cdimage published by \"c't\", a German periodical.\n" msgstr "0xb0 (dezimal 176): bewirkt Kompatibilität mit dem Programm h2cdimage des c't-Magazins.\n" -#: preferences.c:1781 +#: preferences.c:1772 msgid "Note: Using zero filling (0x00, decimal 0) is highly discouraged. Most media contain regular zero filled sectors which can not be told apart from unreadable sectors if zero filling is used." msgstr "Hinweis: Das Auffüllen mit Nullen (0x00, dezimal 0) ist nicht empfehlenswert. Die meisten Datenträger enthalten auch im unbeschädigten Zustand Sektoren, die mit Null aufgefüllt sind. Diese Sektoren können später nicht von unlesbaren Sektoren unterschieden werden, wenn Nullen zur Markierung verwendet werden." -#: preferences.c:1792 preferences.c:1795 +#: preferences.c:1779 +msgid "Drive" +msgstr "Laufwerk" + +#: preferences.c:1783 preferences.c:1786 msgid "Drive initialisation" msgstr "Laufwerk vorbereiten" -#: preferences.c:1796 +#: preferences.c:1787 msgid "Wait" msgstr "Warte" -#: preferences.c:1799 +#: preferences.c:1790 msgid "seconds for drive to spin up" msgstr "Sekunden auf das Hochdrehen des Laufwerks" -#: preferences.c:1828 +#: preferences.c:1819 msgid "" "Drive initialisation\n" "\n" @@ -1611,23 +1832,23 @@ msgstr "" "\n" "Gibt dem Laufwerk die angegebene Anzahl Sekunden Zeit zum Hochdrehen. Dadurch erscheinen keine abrupten Geschwindigkeitsänderungen am Anfang der Lesekurve." -#: preferences.c:1834 +#: preferences.c:1825 msgid "Raw reading parameters" msgstr "Lesen von \"raw\"-Sektoren" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode" msgstr "\"Raw\"-Lese-Verfahren" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode: " msgstr "\"Raw\"-Lese-Verfahren:" -#: preferences.c:1874 +#: preferences.c:1865 msgid "other:" msgstr "anderer:" -#: preferences.c:1908 +#: preferences.c:1899 msgid "" "Raw reading mode\n" "\n" @@ -1651,19 +1872,19 @@ msgstr "" "\n" "0x01 Einige Laufwerke liefern die gewünschten Ergebnisse mit diesem Wert, obwohl dies nach den SCSI-Spezifikationen keinen Sinn ergibt. Geben Sie diesen Wert in das \"anderer\"-Feld ein, wenn die anderen Werte nicht funktionieren. Mehr Informationen finden Sie in der Dokumentation zur \"mode page 01h\" in Kapitel 6 der MMC-3-Spezifikation oder einer späteren Ausgabe von MMC." -#: preferences.c:1934 +#: preferences.c:1925 msgid "Internal read attempts" msgstr "Leseversuche innerhalb des Laufwerks" -#: preferences.c:1935 +#: preferences.c:1926 msgid "Reread defective sectors" msgstr "Beschädigte Sektoren" -#: preferences.c:1938 +#: preferences.c:1929 msgid "times" msgstr "mal lesen" -#: preferences.c:1968 +#: preferences.c:1959 msgid "" "Internal read attempts\n" "\n" @@ -1679,15 +1900,15 @@ msgstr "" "Ein Wert von 0 oder 1 verkürzt die Bearbeitungszeit und die Belastung des Laufwerks; allerdings ignorieren viele Laufwerke diese Einstellungen.\n" "Benutzen Sie den Wert -1 um die Standardeinstellungen des Laufwerks zu verwenden." -#: preferences.c:1981 preferences.c:1984 +#: preferences.c:1972 preferences.c:1975 msgid "Fatal error handling" msgstr "Behandlung schwerwiegender Fehler" -#: preferences.c:1985 +#: preferences.c:1976 msgid "Ignore fatal errors" msgstr "Schwerwiegende Fehler nicht beachten" -#: preferences.c:2011 +#: preferences.c:2002 msgid "" "Fatal error handling\n" "\n" @@ -1699,15 +1920,15 @@ msgstr "" "Normalerweise beendet dvdisaster seinen Lesevorgang, wenn das Laufwerk einen schwerwiegenden Fehler meldet. Dies verhindert weitere fruchtlose Leseversuche und eine mögliche Beschädigung des Laufwerks.\n" "Einige Laufwerke melden allerdings grundlos schwerwiegende Fehler. Für diese Laufwerke mag es nötig sein, diese Fehler nicht zu beachten, um beschädigte Datenträger unterbrechungsfrei einlesen zu können." -#: preferences.c:2021 +#: preferences.c:2012 msgid "Media ejection" msgstr "Datenträger auswerfen" -#: preferences.c:2024 preferences.c:2025 +#: preferences.c:2015 preferences.c:2016 msgid "Eject medium after sucessful read" msgstr "Datenträger nach erfolgreichem Lesen auswerfen" -#: preferences.c:2051 +#: preferences.c:2042 msgid "" "Medium ejection\n" "\n" @@ -1721,23 +1942,23 @@ msgstr "" "\n" "Bitte beachten Sie daß dies möglicherweise vom Betriebssystem nicht zugelassen wird. Verwenden Sie in diesem Fall die Benutzeroberfläche Ihrer Arbeitsumgebung zum Auswerfen des Datenträgers." -#: preferences.c:2061 +#: preferences.c:2052 msgid "Read attempts" msgstr "Leseversuche" -#: preferences.c:2065 +#: preferences.c:2056 msgid "Sector read errors" msgstr "Lesefehler in Sektoren" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Raw reading" msgstr "\"Raw\"-Lesen" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Read and analyze raw sectors" msgstr "Sektoren \"raw\" lesen und untersuchen" -#: preferences.c:2095 +#: preferences.c:2086 msgid "" "Raw reading (affects CD media only)\n" "\n" @@ -1766,16 +1987,16 @@ msgstr "" "\n" "Zum Aufbewahren von Roh-Sektoren muß zusätzlich die betreffende Option aktiviert sein." -#: preferences.c:2112 +#: preferences.c:2103 msgid "Minimum number of reading attempts" msgstr "Mindestens durchgeführte Anzahl von Leseversuchen" -#: preferences.c:2114 preferences.c:2115 preferences.c:2120 preferences.c:2121 +#: preferences.c:2105 preferences.c:2106 preferences.c:2111 preferences.c:2112 #, c-format msgid "Min. %d reading attempts per sector" msgstr "Mindestens %d Leseversuche pro Sektor" -#: preferences.c:2142 +#: preferences.c:2133 msgid "" "Minimum number of reading attempts\n" "\n" @@ -1789,16 +2010,16 @@ msgstr "" "\n" "Mehr Leseversuche können die Ausbeute an lesbaren Sektoren bei Datenträgern erhöhen, die sich an der Grenze zur Unlesbarkeit befinden. Es erhöht aber auch die Bearbeitungszeit und den Verschleiß des Laufwerks." -#: preferences.c:2151 +#: preferences.c:2142 msgid "Maximum number of reading attempts" msgstr "Höchstens durchgeführte Anzahl von Leseversuchen" -#: preferences.c:2153 preferences.c:2154 preferences.c:2159 preferences.c:2160 +#: preferences.c:2144 preferences.c:2145 preferences.c:2150 preferences.c:2151 #, c-format msgid "Max. %d reading attempts per sector" msgstr "Höchstens %d Leseversuche pro Sektor" -#: preferences.c:2181 +#: preferences.c:2172 msgid "" "Maximum number of reading attempts\n" "\n" @@ -1812,21 +2033,21 @@ msgstr "" "\n" "Die Entscheidung für weitere Leseversuche wird anhand der Qualität der bisher gesammelten Daten getroffen; dies wiederum wird von den Fähigkeiten des CD/DVD-Laufwerks und des Betriebssystems beeinflußt. Ob dvdisaster den Höchstwert wirklich ausnutzt hängt daher von Ihrer System-Konfiguration ab." -#: preferences.c:2195 +#: preferences.c:2186 msgid "Treatment of unreadable areas" msgstr "Behandlung von unlesbaren Bereichen" -#: preferences.c:2197 preferences.c:2199 preferences.c:2200 preferences.c:2208 +#: preferences.c:2188 preferences.c:2190 preferences.c:2191 preferences.c:2199 #, c-format msgid "Skip %d sectors after read error" msgstr "Überspringe %d Sektoren nach einem Lesefehler" -#: preferences.c:2198 preferences.c:2203 preferences.c:2204 preferences.c:2209 +#: preferences.c:2189 preferences.c:2194 preferences.c:2195 preferences.c:2200 #, c-format msgid "Stop reading when unreadable intervals < %d" msgstr "Lesen beenden wenn unlesbare Bereiche < %d" -#: preferences.c:2235 +#: preferences.c:2226 msgid "" "Treatment of unreadable areas\n" "\n" @@ -1840,15 +2061,15 @@ msgstr "" "\n" "Auswirkungen auf das lineare Leseverfahren:" -#: preferences.c:2242 +#: preferences.c:2233 msgid "Skipping a large number of sectors (e.g. 1024) gives a quick overview of damaged areas, but will usually not collect enough data for repairing the image." msgstr "Das Überspringen einer großen Anzahl von Sektoren (z.B 1024) ergibt eine schnelle Übersicht über die Beschädigung des Datenträgers. Es liefert aber in der Regel nicht genügend Daten für eine erfolgreiche Fehlerkorrektur." -#: preferences.c:2246 +#: preferences.c:2237 msgid "Smaller values like 16, 32 or 64 are a good trade-off: The processing time will beconsiderably shortened, but still enough data for repairing the image is collected.\n" msgstr "Kleinere Werte von 16, 32 oder 64 sind ein guter Kompromiß zwischen verringerter Bearbeitungszeit und Wiederherstellbarkeit des Datenträger-Abbildes.\n" -#: preferences.c:2250 +#: preferences.c:2241 msgid "" "The adaptive reading strategy uses this setting only if no error correction data is available. In that case the reading process will stop when no unread areas larger than the selected size remain. Values smaller than 128 are not recommended as they cause the drive to carry out lots of laser head repositioning during the final phase of the reading process. If adaptive reading with a setting of 128 is not sufficient, try reading the remaining sectors with an additional linear reading pass.\n" "\n" @@ -1858,19 +2079,19 @@ msgstr "" "\n" "Auf DVD/BD-Datenträgern erstrecken sich Lesefehler aus technischen Gründen über mindestens 16 Sektoren. Daher sind Werte kleiner als 16 für DVD und BD nicht sinnvoll." -#: preferences.c:2263 preferences.c:2266 +#: preferences.c:2254 preferences.c:2257 msgid "Media read attempts" msgstr "Leseversuche für den gesamten Datenträger" -#: preferences.c:2267 +#: preferences.c:2258 msgid "Read the whole medium " msgstr "Gesamten Datenträger bis zu " -#: preferences.c:2282 +#: preferences.c:2273 msgid " times" msgstr " mal lesen" -#: preferences.c:2297 +#: preferences.c:2288 msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -1885,15 +2106,15 @@ msgstr "" "\n" "Nur die fehlenden Sektoren werden in den zusätzlichen Durchläufen erneut versucht zu lesen." -#: preferences.c:2314 +#: preferences.c:2305 msgid "Keep uncorrectable raw sectors in the following directory:" msgstr "Unvollständige Roh-Sektoren in diesem Verzeichnis aufbewahren:" -#: preferences.c:2321 preferences.c:3106 +#: preferences.c:2312 preferences.c:3105 msgid "Select" msgstr "Auswählen" -#: preferences.c:2360 +#: preferences.c:2351 msgid "" "Raw sector caching\n" "\n" @@ -1913,15 +2134,15 @@ msgstr "" "Bitte beachten Sie, daß nicht alle Laufwerke und Betriebssysteme das teilweise Lesen von beschädigten Sektoren unterstützen. Es ist kein Fehler wenn das angegebene Verzeichnis leer bleibt.\n" "dvdisaster entfernt keine Dateien aus dem Verzeichnis; Sie müssen es selbst leeren wenn die Datenrekonstruktion erfolgreich war." -#: preferences.c:2378 +#: preferences.c:2369 msgid "Raw sector file prefix" msgstr "Anfang für Roh-Sektor-Dateinamen" -#: preferences.c:2379 +#: preferences.c:2370 msgid "Raw sector file prefix: " msgstr "Anfang für Roh-Sektor-Dateinamen: " -#: preferences.c:2400 +#: preferences.c:2391 msgid "" "Raw sector file prefix\n" "\n" @@ -1931,58 +2152,66 @@ msgstr "" "\n" "Verwenden Sie einen eindeutigen Anfang für jeden Datenträger, den Sie wiederherstellen möchten, zum Beispiel \"disk1-\" und so weiter." -#: preferences.c:2408 +#: preferences.c:2399 msgid "Error correction" msgstr "Fehlerkorrektur" -#: preferences.c:2410 +#: preferences.c:2401 msgid "Error correction method" msgstr "Fehlerkorrektur-Verfahren" -#: preferences.c:2411 +#: preferences.c:2402 msgid "Storage method:" msgstr "Abspeichern in:" -#: preferences.c:2447 +#: preferences.c:2441 msgid "" "Error correction method\n" "\n" -"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are two different ways available for storing the error correction information:\n" -msgstr "dvdisaster erzeugt Fehlerkorrektur-Daten um Sektoren wiederzuherstellen, die bei einer späteren Beschädigung des Datenträgers unlesbar werden. Es gibt zwei verschiedene Möglichkeiten zum Speichern der Fehlerkorrektur-Daten:\n" +"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are different codecs and ways available for storing the error correction information:\n" +msgstr "dvdisaster erzeugt Fehlerkorrektur-Daten um Sektoren wiederzuherstellen, die bei einer späteren Beschädigung des Datenträgers unlesbar werden. Es gibt verschiedene Kodierer/Dekodierer und Möglichkeiten zum Speichern der Fehlerkorrektur-Daten:\n" -#: preferences.c:2453 +#: preferences.c:2447 msgid "" -"Error correction files (RS01 method)\n" -"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster, as data loss in an error correction file will render it unusable.\n" +"The RS01 codec\n" +"RS01 is the recommended codec for storing error correction data in separate files.\n" msgstr "" -"Fehlerkorrektur-Dateien (RS01-Verfahren)\n" -"Fehlerkorrektur-Dateien sind die einzige Möglichkeit um bereits bestehende Datenträger zu schützen, da sie an einer beliebigen anderen Stelle gespeichert werden können. Die Dateien müssen allerdings auf einem Datenträger gespeichert werden, der ebenfalls durch dvdisaster geschützt ist, da eine beschädigte Fehlerkorrektur-Datei nutzlos ist.\n" +"Der RS01-Kodierer/Dekodierer\n" +"RS01 ist der empfohlene Kodierer um Fehlerkorrektur-Daten in eigenständigen Dateien abzulegen.\n" -#: preferences.c:2460 +#: preferences.c:2450 msgid "" -"Augmented images (RS02 method)\n" -"The error correction data will be stored along with the user data on the same CD/DVD. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image. Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required." +"The RS02 codec\n" +"RS02 is the currently recommended codec for augmenting images with error correction data.\n" msgstr "" -"Erweiterte Abbilder (RS02-Verfahren)\n" -"Die Fehlerkorrektur-Daten werden zusammen mit den Nutzdaten auf der gleichen CD/DVD untergebracht. Dazu muß vor dem Schreiben des Datenträgers eine Abbild-Datei auf der Festplatte angelegt werden, die von dvdisaster um Fehlerkorrektur-Daten erweitert wird. Beschädigte Sektoren in den Fehlerkorrektur-Daten verringern die Fehlerkorrektur-Leistung, machen eine Korrektur aber nicht unmöglich - ein zusätzlicher Datenträger zum Aufbewahren oder Schützen der Fehlerkorrektur-Daten wird also nicht benötigt." +"Der RS02-Kodierer/Dekodierer\n" +"RS02 ist der empfohlene Kodierer um Fehlerkorrektur-Daten direkt in einem Abbild abzulegen.\n" -#: preferences.c:2500 +#: preferences.c:2454 +msgid "" +"The RS03 codec (Warning: experimental)\n" +"RS03 can either store error correction data in a separate file or augment the image with it. It provides multithreading to scale with multicore processors and contains some subtle improvements over RS01 and RS02. However it should not be used for productive work unless a stable version is released with dvdisaster V0.80." +msgstr "" +"Der RS03-Kodierer/Dekodierer (Warnung: experimentell)\n" +"RS03 kann Fehlerkorrektur-Daten sowohl in eigenständigen Dateien ablegen als auch ein Abbild direkt damit erweitern. Er arbeitet mit mehreren Kontrollfäden um Mehrkern-Prozessoren besser auszunutzen. Gegenüber RS01 und RS02 gibt es weitere kleinere Verbesserungen. RS03 sollte aber erst für wichtige Anwendungen benutzt werden wenn eine stabile Version mit dvdisaster V0.80 veröffentlicht ist." + +#: preferences.c:2492 msgid "Files" msgstr "Dateien" -#: preferences.c:2504 +#: preferences.c:2496 msgid "Local files (on hard disc)" msgstr "Lokale Dateien (auf Festplatte)" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatic file suffixes" msgstr "Automatisches Anfügen von Dateiendungen" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatically add .iso and .ecc file suffixes" msgstr "Automatisches Anfügen der .iso- und .ecc-Dateiendungen" -#: preferences.c:2535 +#: preferences.c:2527 msgid "" "Automatically add file suffixes\n" "\n" @@ -1992,37 +2221,19 @@ msgstr "" "\n" "Dieser Schalter bewirkt, daß Dateien automatisch mit den Endungen \".iso\" oder \".ecc\" versehen werden, sofern nicht bereits eine andere Endung angegeben wurde." -#: preferences.c:2541 -msgid "File splitting" -msgstr "Dateien aufteilen" - -#: preferences.c:2541 -msgid "Split files into segments <= 2GB" -msgstr "Dateien in Segmente von <= 2GB aufteilen" - -#: preferences.c:2564 -msgid "" -"File splitting\n" -"\n" -"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -msgstr "" -"Dateien aufteilen\n" -"\n" -"Ermöglicht das Arbeiten mit Dateisystemen, bei denen die Dateigröße auf 2GB begrenzt ist (z.B. FAT unter Windows). Anstelle einer einzigen Datei \"abbild.iso\" werden bis zu 100 Segmente \"abbild00.iso\", \"abbild01.iso\" usw. verwendet; dies kostet etwas Geschwindigkeit." - -#: preferences.c:2573 +#: preferences.c:2533 msgid "Automatic file creation and deletion" msgstr "Automatisches Erzeugen und Löschen von Dateien" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Automatic .ecc file creation" msgstr "Fehlerkorrektur-Datei automatisch erzeugen" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Create error correction file after reading image" msgstr "Fehlerkorrektur-Datei erzeugen, nachdem Abbild eingelesen wurde" -#: preferences.c:2605 +#: preferences.c:2565 msgid "" "Automatic error correction file creation\n" "\n" @@ -2032,15 +2243,15 @@ msgstr "" "\n" "Nach dem erfolgreichen Einlesen eines Abbilds wird automatisch eine Fehlerkorrektur-Datei erzeugt. Zusammen mit der \"Abbild löschen\"- Funktion beschleunigt dies das Erstellen von Fehlerkorrektur-Dateien für mehrere Datenträger." -#: preferences.c:2612 +#: preferences.c:2572 msgid "Automatic image file removal" msgstr "Abbild-Datei automatisch löschen" -#: preferences.c:2612 +#: preferences.c:2572 msgid "Remove image after error correction file creation" -msgstr "Abbild löschen, wenn Fehlerkorrekturdatei erfolgreich erstellt wurde" +msgstr "Abbild löschen, wenn Fehlerkorrektur-Datei erfolgreich erstellt wurde" -#: preferences.c:2635 +#: preferences.c:2595 msgid "" "Automatic image file removal\n" "\n" @@ -2050,23 +2261,41 @@ msgstr "" "\n" "Nach dem erfolgreichen Erstellen einer Fehlerkorrektur-Datei wird die zugehörige Abbild-Datei gelöscht, wenn dieser Schalter aktiviert ist." -#: preferences.c:2641 +#: preferences.c:2601 preferences.c:2610 +msgid "Confirm file overwriting" +msgstr "Überschreiben von Dateien bestätigen" + +#: preferences.c:2610 +msgid "Ask before overwriting image and ecc files" +msgstr "Nachfragen bevor Abbild- und Fehlerkorrektur-Dateien überschrieben werden" + +#: preferences.c:2633 +msgid "" +"Ask before overwriting image and ecc files\n" +"\n" +"dvdisaster will ask you for confirmation when it is going to overwrite an existing image or error correction file if this option is checked." +msgstr "" +"Nachfragen bevor Dateien überschrieben werden\n" +"\n" +"dvdisaster wird um Bestätigung zum Überschreiben von Abbild- und Fehlerkorrektur-Dateien bitten wenn diese Option ausgewählt ist." + +#: preferences.c:2640 msgid "Appearance" msgstr "Darstellung" -#: preferences.c:2653 +#: preferences.c:2652 msgid "Sector coloring" msgstr "Sektor-Farben" -#: preferences.c:2664 rs01-verify.c:120 rs02-verify.c:115 +#: preferences.c:2663 rs01-verify.c:120 rs02-verify.c:115 rs03-verify.c:123 msgid "Good sectors" msgstr "Gute Sektoren" -#: preferences.c:2664 +#: preferences.c:2663 msgid "Good sector" msgstr "Guter Sektor" -#: preferences.c:2688 +#: preferences.c:2687 msgid "" "Good sectors\n" "\n" @@ -2076,15 +2305,15 @@ msgstr "" "\n" "Diese Farbe kennzeichnet gute Sektoren." -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum errors" msgstr "Prüfsummen-Fehler" -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum error" msgstr "Prüfsummen-Fehler" -#: preferences.c:2717 +#: preferences.c:2716 msgid "" "Checksum errors\n" "\n" @@ -2094,15 +2323,15 @@ msgstr "" "\n" "Diese Farbe markiert Sektoren mit fehlerhaften Prüfsummen." -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable sectors" msgstr "Unlesbare Sektoren" -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable" msgstr "Unlesbar" -#: preferences.c:2746 +#: preferences.c:2745 msgid "" "Unreadable sectors\n" "\n" @@ -2112,15 +2341,15 @@ msgstr "" "\n" "Diese Farbe wird für unlesbare Sektoren verwendet." -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sectors" msgstr "Vorhandene Sektoren" -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sector" msgstr "Vorhandener Sektor" -#: preferences.c:2775 +#: preferences.c:2774 msgid "" "Present sectors\n" "\n" @@ -2130,15 +2359,15 @@ msgstr "" "\n" "Bereits vorhandene Sektoren werden mit dieser Farbe angezeigt." -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sectors" msgstr "Unberücksichtigt" -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sector" msgstr "Unberücksichtigt" -#: preferences.c:2804 +#: preferences.c:2803 msgid "" "Ignored sectors\n" "\n" @@ -2148,15 +2377,15 @@ msgstr "" "\n" "Mit dieser Farbe markierte Sektoren werden während des momentanen Programmlaufs nicht berücksichtigt." -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sectors" msgstr "Hervorgehoben" -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sector" msgstr "Hervorgehoben" -#: preferences.c:2834 +#: preferences.c:2833 msgid "" "Highlit sectors\n" "\n" @@ -2166,15 +2395,15 @@ msgstr "" "\n" "Diese Farbe wird beim angepaßten Lesen verwendet, um Sektoren kurzzeitig hervorzuheben." -#: preferences.c:2840 +#: preferences.c:2839 msgid "Text colors" msgstr "Text-Farben" -#: preferences.c:2850 +#: preferences.c:2849 msgid "Positive text" msgstr "Positiver Text" -#: preferences.c:2874 +#: preferences.c:2873 msgid "" "Positive text\n" "\n" @@ -2184,11 +2413,11 @@ msgstr "" "\n" "Gute Nachrichten werden in dieser Farbe ausgegeben." -#: preferences.c:2879 +#: preferences.c:2878 msgid "Negative text" msgstr "Negativer Text" -#: preferences.c:2903 +#: preferences.c:2902 msgid "" "Negative text\n" "\n" @@ -2198,15 +2427,15 @@ msgstr "" "\n" "Schlechte Nachrichten erscheinen in dieser Farbe." -#: preferences.c:2908 +#: preferences.c:2907 msgid "Curve colors" msgstr "Lesekurve und Fehlerkorrektur" -#: preferences.c:2917 +#: preferences.c:2916 msgid "Curve color" msgstr "Lesekurve" -#: preferences.c:2941 +#: preferences.c:2940 msgid "" "Curve color and labels\n" "\n" @@ -2216,11 +2445,11 @@ msgstr "" "\n" "Die Kurve der Lesegeschwindigkeit sowie ihre Beschriftungen erscheinen in dieser Farbe." -#: preferences.c:2947 read-linear-window.c:405 +#: preferences.c:2946 read-linear-window.c:405 msgid "C2 errors" msgstr "C2-Fehler" -#: preferences.c:2971 +#: preferences.c:2970 msgid "" "C2 error color\n" "\n" @@ -2230,11 +2459,11 @@ msgstr "" "\n" "Die logarithmische Balkengraphik zur Darstellung von C2-Fehlern wird in dieser Farbe während der \"Prüfen\"- und \"Lesen\"-Aktionen dargestellt." -#: preferences.c:2978 +#: preferences.c:2977 msgid "Error correction load" msgstr "Fehlerkorrektur" -#: preferences.c:3002 +#: preferences.c:3001 msgid "" "Error correction load\n" "\n" @@ -2244,19 +2473,19 @@ msgstr "" "\n" "Die Balkengraphik zur Auslastung der Fehlerkorrektur wird in dieser Farbe ausgegeben (während der \"Reparieren\"-Aktion)." -#: preferences.c:3014 +#: preferences.c:3013 msgid "Default color scheme" msgstr "Standard-Farbschema" -#: preferences.c:3022 +#: preferences.c:3021 msgid "Dialog boxes" msgstr "Dialog-Fenster" -#: preferences.c:3025 +#: preferences.c:3024 msgid "Reverse OK / Cancel buttons" msgstr "OK / Abbrechen - Knöpfe vertauschen" -#: preferences.c:3049 +#: preferences.c:3048 msgid "" "Reverse OK / Cancel buttons\n" "\n" @@ -2270,19 +2499,19 @@ msgstr "" "\n" "Die Änderungen werden erst nach einem Neustart von dvdisaster wirksam." -#: preferences.c:3056 +#: preferences.c:3055 msgid "Misc" msgstr "Sonstiges" -#: preferences.c:3060 +#: preferences.c:3059 msgid "Logging" msgstr "Protokollierung" -#: preferences.c:3067 +#: preferences.c:3066 msgid "Verbose logging" msgstr "Ausführliche Protokollierung" -#: preferences.c:3091 +#: preferences.c:3090 msgid "" "Verbose logging\n" "\n" @@ -2292,19 +2521,19 @@ msgstr "" "\n" "Im Protokoll-Fenster bzw. der Protokoll-Datei werden ausführlichere Informationen abgelegt. Dies ist hilfreich bei der Fehlersuche, kann aber die Ausführungsgeschwindigkeit beeinträchtigen." -#: preferences.c:3098 +#: preferences.c:3097 msgid "Logfile:" msgstr "Protokoll-Datei:" -#: preferences.c:3099 +#: preferences.c:3098 msgid "Copy log to file:" msgstr "Kopiere Protokoll in Datei:" -#: preferences.c:3107 +#: preferences.c:3106 msgid "Delete" msgstr "Löschen" -#: preferences.c:3153 +#: preferences.c:3152 msgid "" "Logfile\n" "\n" @@ -2350,17 +2579,17 @@ msgstr "LBA paßt nicht zum MSF-Kode im Sektor!" msgid "Raw sector does not belong to the selected image!" msgstr "Rohsektor gehört nicht zum ausgewählten Abbild!" -#: raw-editor.c:388 read-adaptive.c:999 read-adaptive.c:1070 -#: read-adaptive.c:1359 read-adaptive.c:1554 read-linear.c:431 -#: read-linear.c:691 read-linear.c:996 rs01-fix.c:447 rs01-fix.c:707 -#: rs02-fix.c:751 +#: raw-editor.c:388 read-adaptive.c:997 read-adaptive.c:1068 +#: read-adaptive.c:1357 read-adaptive.c:1552 read-linear.c:399 +#: read-linear.c:659 read-linear.c:959 rs01-fix.c:447 rs01-fix.c:707 +#: rs02-fix.c:751 rs03-fix.c:778 #, c-format msgid "Failed seeking to sector %lld in image [%s]: %s" msgstr "Ansteuern von Sektor %lld im Abbild fehlgeschlagen [%s]: %s" -#: raw-editor.c:395 read-adaptive.c:1013 read-adaptive.c:1076 -#: read-adaptive.c:1391 read-adaptive.c:1404 read-adaptive.c:1562 -#: read-linear.c:440 read-linear.c:698 rs01-fix.c:454 +#: raw-editor.c:395 read-adaptive.c:1011 read-adaptive.c:1074 +#: read-adaptive.c:1389 read-adaptive.c:1402 read-adaptive.c:1560 +#: read-linear.c:408 read-linear.c:666 rs01-fix.c:454 #, c-format msgid "Failed writing to sector %lld in image [%s]: %s" msgstr "Schreiben von Sektor %lld im Abbild fehlgeschlagen [%s]: %s" @@ -2546,13 +2775,6 @@ msgstr "Heuristiken" msgid "button|Smart L-EC" msgstr "Smart L-EC" -#: raw-sector-cache.c:34 raw-sector-cache.c:201 raw-sector-cache.c:335 -#: rs01-verify.c:538 scsi-freebsd.c:113 scsi-linux.c:100 scsi-netbsd.c:111 -#: scsi-solaris.c:127 -#, c-format -msgid "Could not open %s: %s" -msgstr "Konnte %s nicht öffnen: %s" - #: raw-sector-cache.c:59 raw-sector-cache.c:123 raw-sector-cache.c:129 #: raw-sector-cache.c:133 raw-sector-cache.c:161 raw-sector-cache.c:259 #, c-format @@ -2591,7 +2813,7 @@ msgstr " [Erzeuge neue Datei %s]\n" msgid " [Appended %d/%d sectors to cache file %s; LBA=%lld, ssize=%d, %d sectors]\n" msgstr " [%d/%d Sektoren der Datei %s hinzugefügt; LBA=%lld, S.-Größe=%d, %d Sektoren]\n" -#: read-adaptive.c:143 read-adaptive.c:1336 +#: read-adaptive.c:143 read-adaptive.c:1334 msgid "Aborted by unrecoverable error." msgstr "Abbruch durch nicht behebbaren Fehler." @@ -2631,8 +2853,8 @@ msgstr "" "Nur die ersten %lld Datenträger-Sektoren werden bearbeitet.\n" #: read-adaptive.c:489 read-adaptive.c:505 read-adaptive.c:569 -#: read-adaptive.c:657 read-adaptive.c:719 read-adaptive.c:1020 -#: read-adaptive.c:1266 +#: read-adaptive.c:655 read-adaptive.c:717 read-adaptive.c:1018 +#: read-adaptive.c:1264 msgid "Aborted by user request!" msgstr "Abbruch auf Benutzeranforderung!" @@ -2657,7 +2879,7 @@ msgid "" "Double check that the medium and the ecc file belong together.\n" msgstr "" "Sektor %d fehlt. Die Fingerabdrücke vom Datenträger und\n" -"der Fehlerkorrekturdatei können nicht verglichen werden.\n" +"der Fehlerkorrektur-Datei können nicht verglichen werden.\n" "Vergewissern Sie sich, daß die beiden zusammengehören.\n" #: read-adaptive.c:577 @@ -2665,26 +2887,18 @@ msgid "" "Fingerprints of medium and ecc file do not match.\n" "Medium and ecc file do not belong together.\n" msgstr "" -"Fingerabdrücke vom Datenträger und der Fehlerkorrekturdatei\n" +"Fingerabdrücke vom Datenträger und der Fehlerkorrektur-Datei\n" "sind unterschiedlich. Die beiden passen nicht zusammen.\n" -#: read-adaptive.c:618 read-linear.c:371 +#: read-adaptive.c:618 read-linear.c:341 msgid "Image file does not match the CD/DVD." msgstr "Abbild-Datei paßt nicht zu der CD/DVD." -#: read-adaptive.c:621 read-linear.c:374 -msgid "" -"Image file already exists and does not match the CD/DVD.\n" -"The existing image file will be deleted." -msgstr "" -"Die bereits vorhandene Abbild-Datei paßt nicht zu der CD/DVD.\n" -"Soll die Abbild-Datei gelöscht werden?" - -#: read-adaptive.c:626 +#: read-adaptive.c:624 msgid "Reading aborted. Please select a different image file." msgstr "Einlesen abgebrochen. Bitte wählen Sie eine andere Abbild-Datei." -#: read-adaptive.c:652 +#: read-adaptive.c:650 #, c-format msgid "" "Image file is %lld sectors longer than inserted medium\n" @@ -2693,81 +2907,81 @@ msgstr "" "Abbild-Datei ist %lld Sektoren länger als der Datenträger\n" "(Abbild-Datei: %lld Sektoren; Datenträger: %lld Sektoren).\n" -#: read-adaptive.c:675 read-adaptive.c:679 +#: read-adaptive.c:673 read-adaptive.c:677 msgid "Loading CRC data." msgstr "Einladen der Prüfsummen." -#: read-adaptive.c:711 +#: read-adaptive.c:709 msgid "Analysing existing image file" msgstr "Untersuche vorhandenes Abbild" -#: read-adaptive.c:728 rs01-common.c:160 rs02-verify.c:717 +#: read-adaptive.c:726 rs01-common.c:183 rs02-verify.c:727 rs03-verify.c:1057 #, c-format msgid "premature end in image (only %d bytes): %s\n" msgstr "Vorzeitiges Ende im Abbild (nur %d Bytes): %s\n" -#: read-adaptive.c:805 +#: read-adaptive.c:803 #, c-format msgid "Analysing existing image file: %2d%%" msgstr "Untersuche vorhandenes Abbild: %2d%%" -#: read-adaptive.c:822 +#: read-adaptive.c:820 msgid "Determining correctable sectors" msgstr "Ermittle korrigierbare Sektoren" -#: read-adaptive.c:897 +#: read-adaptive.c:895 #, c-format msgid "Analysing existing image file: %lld readable, %lld correctable, %lld still missing.\n" msgstr "Untersuche vorhandenes Abbild: %lld lesbar, %lld korrigierbar, %lld noch fehlend.\n" -#: read-adaptive.c:899 +#: read-adaptive.c:897 #, c-format msgid "Analysing existing image file: %lld readable, %lld still missing.\n" msgstr "Untersuche vorhandenes Abbild: %lld lesbar, %lld noch fehlend.\n" -#: read-adaptive.c:949 read-linear.c:799 +#: read-adaptive.c:947 read-linear.c:767 msgid "Ignore once" msgstr "Diesmal nicht beachten" -#: read-adaptive.c:950 read-linear.c:800 +#: read-adaptive.c:948 read-linear.c:768 msgid "Ignore always" msgstr "Immer nicht beachten" -#: read-adaptive.c:951 read-linear.c:801 +#: read-adaptive.c:949 read-linear.c:769 msgid "Abort" msgstr "Abbrechen" -#: read-adaptive.c:986 +#: read-adaptive.c:984 #, c-format msgid "Filling image area [%lld..%lld]" msgstr "Auffüllen des Abbild-Bereichs [%lld..%lld]" -#: read-adaptive.c:1107 read-linear.c:186 +#: read-adaptive.c:1105 read-linear.c:186 msgid "Reading aborted" msgstr "Lesevorgang abgebrochen" -#: read-adaptive.c:1110 read-linear.c:190 +#: read-adaptive.c:1108 read-linear.c:190 msgid "Preparing for reading the medium image." msgstr "Bereite Lesen des Datenträger-Abbilds vor." -#: read-adaptive.c:1111 read-linear.c:183 read-linear.c:191 +#: read-adaptive.c:1109 read-linear.c:183 read-linear.c:191 msgid "Medium: not yet determined" msgstr "Datenträger: Typ noch nicht bestimmt" -#: read-adaptive.c:1168 read-linear.c:311 +#: read-adaptive.c:1166 read-linear.c:281 #, c-format msgid "Creating new %s image.\n" msgstr "Erzeuge neues Abbild %s.\n" -#: read-adaptive.c:1172 read-linear.c:304 +#: read-adaptive.c:1170 read-linear.c:274 msgid "Reading new medium image." msgstr "Einlesen eines neuen Abbilds." -#: read-adaptive.c:1192 read-linear.c:332 +#: read-adaptive.c:1190 read-linear.c:302 msgid "Completing existing medium image." msgstr "Vervollständigen eines bestehenden Abbilds." -#: read-adaptive.c:1225 read-adaptive.c:1526 +#: read-adaptive.c:1223 read-adaptive.c:1524 msgid "" "\n" "Sufficient data for reconstructing the image is available.\n" @@ -2775,7 +2989,7 @@ msgstr "" "\n" "Genügend Daten zur Wiederherstellung des Abbildes vorhanden.\n" -#: read-adaptive.c:1322 read-linear.c:1058 +#: read-adaptive.c:1320 read-linear.c:1021 #, c-format msgid "" "Sector %lld: %s\n" @@ -2787,7 +3001,7 @@ msgstr "" "Verwenden Sie die --ignore-fatal-sense - Option um das\n" "Weitermachen zu erzwingen." -#: read-adaptive.c:1327 read-linear.c:1063 +#: read-adaptive.c:1325 read-linear.c:1026 #, c-format msgid "" "Sector %lld: %s\n" @@ -2800,27 +3014,27 @@ msgstr "" "Eine Fortsetzung ist gegebenenfalls nicht mehr möglich.\n" "Soll der Fehler nicht beachtet und weiter gelesen werden?" -#: read-adaptive.c:1382 rs01-fix.c:400 rs02-fix.c:437 +#: read-adaptive.c:1380 rs01-fix.c:400 rs02-fix.c:437 rs03-fix.c:455 #, c-format msgid "CRC error in sector %lld\n" msgstr "Prüfsummen-Fehler in Sektor %lld\n" -#: read-adaptive.c:1543 scsi-layer.c:1716 +#: read-adaptive.c:1541 scsi-layer.c:1744 #, c-format msgid "Sectors %lld-%lld: %s\n" msgstr "Sektoren %lld-%lld: %s\n" -#: read-adaptive.c:1546 read-linear.c:1244 scsi-layer.c:1715 +#: read-adaptive.c:1544 read-linear.c:1207 scsi-layer.c:1743 #, c-format msgid "Sector %lld: %s\n" msgstr "Sektor %lld: %s\n" -#: read-adaptive.c:1673 +#: read-adaptive.c:1671 #, c-format msgid "Only %2d.%1d%% of the image are readable or correctable" msgstr "Nur %2d.%1d%% des Abbilds sind lesbar oder korrigierbar" -#: read-adaptive.c:1676 +#: read-adaptive.c:1674 #, c-format msgid "" "\n" @@ -2831,7 +3045,7 @@ msgstr "" "%s\n" "(%lld lesbar, %lld korrigierbar, %lld noch fehlend).\n" -#: read-adaptive.c:1690 +#: read-adaptive.c:1688 msgid "" "\n" "Good! All sectors have been read.\n" @@ -2839,12 +3053,12 @@ msgstr "" "\n" "Gut! Alle Sektoren wurden eingelesen.\n" -#: read-adaptive.c:1699 +#: read-adaptive.c:1697 #, c-format msgid "No unreadable intervals with >= %d sectors left." msgstr "Keine unlesbaren Bereiche mit >= %d Sektoren übrig." -#: read-adaptive.c:1702 +#: read-adaptive.c:1700 #, c-format msgid "" "\n" @@ -2863,7 +3077,7 @@ msgstr "Angepaßtes Leseverfahren:" msgid "Sectors processed" msgstr "Bearbeitete Sektoren" -#: read-adaptive-window.c:110 scsi-layer.c:1697 +#: read-adaptive-window.c:110 scsi-layer.c:1725 msgid "readable" msgstr "lesbar" @@ -2902,111 +3116,92 @@ msgstr "" msgid "Scanning aborted" msgstr "Untersuchung abgebrochen" -#: read-linear.c:182 read-linear.c:277 +#: read-linear.c:182 read-linear.c:247 msgid "Scanning medium for read errors." msgstr "Untersuche Datenträger auf Lesefehler." -#: read-linear.c:208 -#, c-format -msgid "" -"Automatic error correction file creation is enabled,\n" -"and \"%s\" already exists.\n" -"Overwrite it?\n" -msgstr "" -"Automatisches Erzeugen der Fehlerkorrektur-Datei ist ausgewählt,\n" -"aber \"%s\" gibt es bereits.\n" -"Soll die Datei überschrieben werden?\n" - -#: read-linear.c:215 rs01-create.c:651 rs01-fix.c:188 rs01-fix.c:210 -#: rs01-fix.c:256 rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 -#: rs01-verify.c:430 rs01-verify.c:787 rs02-create.c:112 rs02-fix.c:232 -#: rs02-fix.c:253 rs02-fix.c:344 rs02-verify.c:707 -#, c-format -msgid "Aborted by user request!" -msgstr "Abbruch auf Benutzeranforderung!" - -#: read-linear.c:284 +#: read-linear.c:254 msgid "Reading CRC information from ecc file" msgstr "Lese Prüfsummen aus Fehlerkorrektur-Datei" -#: read-linear.c:316 +#: read-linear.c:286 msgid "Reading CRC information" msgstr "Lese CRC-Prüfsummen" -#: read-linear.c:380 +#: read-linear.c:348 #, c-format msgid "Reading aborted. Please select a different image file." msgstr "Einlesen abgebrochen. Bitte wählen Sie eine andere Abbild-Datei." -#: read-linear.c:399 +#: read-linear.c:367 #, c-format msgid "Completing image %s. Continuing with sector %lld.\n" msgstr "Vervollständige Abbild %s beginnend mit Sektor %lld.\n" -#: read-linear.c:405 +#: read-linear.c:373 #, c-format msgid "Completing image %s. Only missing sectors will be read.\n" msgstr "Vervollständige Abbild %s. Nur die fehlenden Sektoren werden gelesen.\n" -#: read-linear.c:482 read-linear.c:486 +#: read-linear.c:450 read-linear.c:454 msgid "Reading CRC information from ecc data" msgstr "Lese Prüfsummen aus Fehlerkorrektur-Daten" -#: read-linear.c:516 +#: read-linear.c:484 msgid "done.\n" msgstr "fertig.\n" -#: read-linear.c:528 scsi-layer.c:2038 +#: read-linear.c:496 scsi-layer.c:2063 #, c-format msgid "Waiting %d seconds for drive to spin up...\n" msgstr "Warte %d Sekunden auf das Hochdrehen des Laufwerks...\n" -#: read-linear.c:550 read-linear-window.c:101 +#: read-linear.c:518 read-linear-window.c:101 #, c-format msgid "Unreadable / skipped sectors: %lld" msgstr "Unlesbare / Übersprungene Sektoren: %lld" -#: read-linear.c:630 +#: read-linear.c:598 #, c-format msgid "Sector %lld: Speed increased to %4.1fx\n" msgstr "Sektor %lld: Lesegeschwindigkeit steigt auf %4.1fx\n" -#: read-linear.c:633 +#: read-linear.c:601 #, c-format msgid "Sector %lld: Speed dropped to %4.1fx\n" msgstr "Sektor %lld: Lesegeschwindigkeit fällt auf %4.1fx\n" -#: read-linear.c:638 +#: read-linear.c:606 #, c-format msgid "Read position: %3d.%1d%% (%4.1fx)" msgstr "Leseposition: %3d.%1d%% (%4.1fx)" -#: read-linear.c:763 rs01-common.c:235 rs02-verify.c:762 +#: read-linear.c:731 rs01-common.c:258 rs02-verify.c:772 rs03-verify.c:1148 #, c-format msgid "* CRC error, sector: %lld\n" msgstr "* CRC-Fehler, Sektor : %lld\n" -#: read-linear.c:952 read-linear.c:1073 +#: read-linear.c:915 read-linear.c:1036 #, c-format msgid "Aborted by user request! %lld sectors read, %lld sectors unreadable/skipped so far." msgstr "Abbruch auf Benutzeranforderung! %lld Sektoren gelesen, %lld Sektoren unlesbar oder übersprungen." -#: read-linear.c:1008 +#: read-linear.c:971 #, c-format msgid "unexpected read error in image for sector %lld" msgstr "Unerwarteter Lesefehler im Abbild bei Sektor %lld" -#: read-linear.c:1088 +#: read-linear.c:1051 #, c-format msgid "Sector %lld: %3d C2 errors.%s\n" msgstr "Sektor %lld: %3d C2-Fehler.%s\n" -#: read-linear.c:1216 +#: read-linear.c:1179 #, c-format msgid "Sector %lld: %s Skipping %d sectors.\n" msgstr "Sektor %lld: %s Überspringe %d Sektoren.\n" -#: read-linear.c:1276 +#: read-linear.c:1239 #, c-format msgid "" "Trying to complete image, reading pass %d of %d.\n" @@ -3015,7 +3210,7 @@ msgstr "" "Vervollständige Abbild, %dter Lesedurchlauf von %d.\n" "%s" -#: read-linear.c:1278 +#: read-linear.c:1241 #, c-format msgid "" "\n" @@ -3024,74 +3219,74 @@ msgstr "" "\n" "Vervollständige Abbild, %d ter Lesedurchlauf von %d.\n" -#: read-linear.c:1303 +#: read-linear.c:1266 msgid "but wrong ecc md5sum" msgstr "aber falsche MD5-Prüfsumme im ECC-Teil" -#: read-linear.c:1310 +#: read-linear.c:1273 msgid "but wrong crc md5sum" msgstr "aber falsche MD5-Prüfsumme im CRC-Teil" -#: read-linear.c:1317 +#: read-linear.c:1280 msgid "but wrong data md5sum" msgstr "aber falsche MD5-Prüfsumme im Daten-Teil" -#: read-linear.c:1329 +#: read-linear.c:1292 #, c-format msgid "%lld sectors read. " msgstr "%lld Sektoren gelesen. " -#: read-linear.c:1330 +#: read-linear.c:1293 #, c-format msgid "%lld sectors read; %lld unreadable sectors." msgstr "%lld Sektoren gelesen; %lld unlesbare Sektoren." -#: read-linear.c:1338 +#: read-linear.c:1301 #, c-format msgid "All sectors successfully read, but wrong image length (%lld sectors difference)" msgstr "Alle Sektoren erfolgreich eingelesen, aber falsche Abbildlänge (%lld Sektoren Unterschied)." -#: read-linear.c:1342 +#: read-linear.c:1305 msgid "All sectors successfully read, but wrong image checksum." msgstr "Alle Sektoren erfolgreich eingelesen, aber falsche Abbild-Prüfsumme." -#: read-linear.c:1343 read-linear.c:1347 +#: read-linear.c:1306 read-linear.c:1310 msgid "All sectors successfully read. Checksums match." msgstr "Alle Sektoren erfolgreich eingelesen. Prüfsummen stimmen." -#: read-linear.c:1349 +#: read-linear.c:1312 #, c-format msgid "All sectors successfully read, %s!" msgstr "Alle Sektoren erfolgreich eingelesen, %s!" -#: read-linear.c:1354 +#: read-linear.c:1317 msgid "All sectors successfully read." msgstr "Alle Sektoren erfolgreich eingelesen." -#: read-linear.c:1360 +#: read-linear.c:1323 #, c-format msgid "%lld unreadable sectors." msgstr "%lld unlesbare Sektoren." -#: read-linear.c:1362 +#: read-linear.c:1325 #, c-format msgid "%lld CRC errors." msgstr "%lld Prüfsummen-Fehler." -#: read-linear.c:1363 +#: read-linear.c:1326 #, c-format msgid "%lld CRC errors, %lld unreadable sectors." msgstr "%lld Prüfsummen-Fehler, %lld unlesbare Sektoren." -#: read-linear.c:1369 +#: read-linear.c:1332 msgid "Scanning finished: " msgstr "Überprüfung beendet: " -#: read-linear.c:1371 +#: read-linear.c:1334 msgid "Reading finished: " msgstr "Einlesen beendet: " -#: read-linear.c:1382 +#: read-linear.c:1345 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -3102,7 +3297,7 @@ msgstr "" "wenn der Datenträger im TAO (track at once)-Modus geschrieben wurde.\n" "Das Abbild wird entsprechend verkürzt; mehr dazu steht im Benutzerhandbuch.\n" -#: read-linear.c:1388 +#: read-linear.c:1351 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -3125,7 +3320,7 @@ msgid "Already present" msgstr "Bereits vorhanden" #: read-linear-window.c:277 read-linear-window.c:319 rs01-verify.c:123 -#: rs02-verify.c:118 +#: rs02-verify.c:118 rs03-verify.c:126 msgid "Sectors with CRC errors" msgstr "Prüfsummen-Fehler" @@ -3154,27 +3349,27 @@ msgstr "Geschwindigkeit" msgid "Sector %lld dumped to %s\n" msgstr "Sektor %lld nach %s ausgegeben\n" -#: rs01-common.c:134 rs02-verify.c:793 +#: rs01-common.c:157 rs02-verify.c:803 rs03-verify.c:1171 #, c-format msgid "- testing sectors : %3d%%" -msgstr "- prüfe Sektoren : %3d%%" +msgstr "- prüfe Sektoren : %3d%%" -#: rs01-common.c:135 +#: rs01-common.c:158 #, c-format msgid "Scanning image sectors: %3d%%" msgstr "Prüfe Abbild-Sektoren : %3d%%" -#: rs01-common.c:187 rs02-verify.c:749 +#: rs01-common.c:210 rs02-verify.c:759 #, c-format msgid "* missing sector : %lld\n" msgstr "* fehlender Sektor : %lld\n" -#: rs01-common.c:188 rs02-verify.c:750 +#: rs01-common.c:211 rs02-verify.c:760 #, c-format msgid "* missing sectors : %lld - %lld\n" msgstr "* fehlende Sektoren : %lld - %lld\n" -#: rs01-common.c:206 rs01-common.c:273 rs01-create.c:260 +#: rs01-common.c:229 rs01-common.c:296 rs01-create.c:273 #, c-format msgid "Error writing CRC information: %s" msgstr "Fehler beim Schreiben der CRC-Information: %s" @@ -3184,7 +3379,7 @@ msgstr "Fehler beim Schreiben der CRC-Information: %s" msgid "Redundancy %4.1f%% out of useful range [3.2%%..64.5%%]" msgstr "Redundanz %4.1f%% außerhalb des nutzbaren Bereiches [3.2%%..64.5%%]" -#: rs01-create.c:75 +#: rs01-create.c:75 rs03-common.c:202 #, c-format msgid "Ecc file size %lldm out of useful range [%lld .. %lld]" msgstr "Ecc-Datei-Größe %lldm außerhalb des nutzbaren Bereiches [%lld .. %lld]" @@ -3195,6 +3390,7 @@ msgid "Redundancy %d out of useful range [8..100]." msgstr "Redundanz %d außerhalb des nutzbaren Bereiches [8..100]." #: rs01-create.c:125 rs01-fix.c:77 rs02-create.c:58 rs02-fix.c:53 +#: rs03-create.c:116 rs03-fix.c:54 rs03s-create.c:125 #, c-format msgid "Aborted by unrecoverable error." msgstr "Abbruch durch nicht behebbaren Fehler." @@ -3208,7 +3404,7 @@ msgstr "Erzeugung der Fehlerkorrektur-Datei abgebrochen" msgid "Encoding with Method RS01: %d roots, %4.1f%% redundancy." msgstr "Kodiere mit Methode RS01: %d Nullstellen, %4.1f%% Redundanz." -#: rs01-create.c:215 +#: rs01-create.c:215 rs03-create.c:1092 #, c-format msgid "" "Creating the error correction file.\n" @@ -3217,35 +3413,40 @@ msgstr "" "Erzeuge die Fehlerkorrektur-Datei.\n" "%s" -#: rs01-create.c:231 +#: rs01-create.c:227 rs03-create.c:213 +#, c-format +msgid "Aborted to keep existing ecc file." +msgstr "Abbruch um die vorhandene Fehlerkorrektur-Datei zu behalten." + +#: rs01-create.c:244 #, c-format msgid "Writing sector checksums: %3d%%" msgstr "Schreibe Sektoren-Prüfsummen: %3d%%" -#: rs01-create.c:235 +#: rs01-create.c:248 msgid "1. Writing image sector checksums:" msgstr "1. Schreibe Sektoren-Prüfsummen:" -#: rs01-create.c:278 rs01-window.c:116 +#: rs01-create.c:291 rs01-window.c:129 msgid "1. Calculating image sector checksums:" msgstr "1. Berechne Sektoren-Prüfsummen:" -#: rs01-create.c:291 rs01-create.c:432 rs01-create.c:524 +#: rs01-create.c:304 rs01-create.c:445 rs01-create.c:537 #, c-format msgid "Aborted by user request! (partial error correction file removed)" msgstr "Abbruch auf Benutzeranforderung! (unvollständige Fehlerkorrektur-Datei wurde entfernt)" -#: rs01-create.c:300 +#: rs01-create.c:313 #, c-format msgid "%lld sectors unread or missing due to errors.\n" msgstr "%lld unlesbare oder fehlende Sektoren im Abbild.\n" -#: rs01-create.c:354 +#: rs01-create.c:367 #, c-format msgid "Failed skipping ecc+crc header: %s" msgstr "Überspringen der Ecc/Crc-Vorspänne fehlgeschlagen: %s" -#: rs01-create.c:381 rs02-create.c:508 +#: rs01-create.c:394 rs02-create.c:512 #, c-format msgid "" "Failed allocating memory for I/O cache.\n" @@ -3256,12 +3457,23 @@ msgstr "" "reservieren. Momentane Anforderung: %d MB.\n" "Versuchen Sie diesen Wert zu verkleinern.\n" -#: rs01-create.c:509 rs01-create.c:633 rs01-create.c:927 rs02-create.c:955 +#: rs01-create.c:522 rs01-create.c:646 rs01-create.c:940 rs02-create.c:959 +#: rs03-create.c:921 rs03s-create.c:972 #, c-format msgid "Ecc generation: %3d.%1d%%" msgstr "Kodierungs-Fortschritt: %3d.%1d%%" -#: rs01-create.c:940 +#: rs01-create.c:664 rs01-fix.c:188 rs01-fix.c:210 rs01-fix.c:256 +#: rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 rs01-verify.c:431 +#: rs01-verify.c:798 rs02-create.c:112 rs02-fix.c:232 rs02-fix.c:253 +#: rs02-fix.c:344 rs02-verify.c:717 rs03-create.c:185 rs03-fix.c:260 +#: rs03-fix.c:281 rs03-fix.c:358 rs03s-create.c:179 rs03-verify.c:636 +#: rs03-verify.c:1044 +#, c-format +msgid "Aborted by user request!" +msgstr "Abbruch auf Benutzeranforderung!" + +#: rs01-create.c:953 #, c-format msgid "" "could not write to ecc file \"%s\":\n" @@ -3270,7 +3482,7 @@ msgstr "" "Konnte nicht in die Fehlerkorrektur-Datei schreiben: \"%s\":\n" "%s" -#: rs01-create.c:955 +#: rs01-create.c:968 #, c-format msgid "" "Can't write ecc header:\n" @@ -3279,12 +3491,12 @@ msgstr "" "Konnte den Vorspann der Fehlerkorrektur-Datei nicht schreiben:\n" "%s" -#: rs01-create.c:963 rs02-create.c:1104 +#: rs01-create.c:976 rs02-create.c:1107 rs03-create.c:1145 rs03s-create.c:1124 #, c-format msgid "Ecc generation: 100.0%%\n" msgstr "Kodierungs-Fortschritt: 100.0%%\n" -#: rs01-create.c:964 +#: rs01-create.c:977 rs03-create.c:1152 #, c-format msgid "" "Error correction file \"%s\" created.\n" @@ -3293,7 +3505,7 @@ msgstr "" "Fehlerkorrektur-Datei \"%s\" wurde erzeugt.\n" "Verwahren Sie die Datei auf einem zuverlässigen Datenträger.\n" -#: rs01-create.c:972 +#: rs01-create.c:985 rs03-create.c:1178 msgid "" "The error correction file has been successfully created.\n" "Make sure to keep this file on a reliable medium." @@ -3306,16 +3518,17 @@ msgstr "" msgid "Failed seeking in crc area: %s" msgstr "Suchen im CRC-Abschnitt fehlgeschlagen: %s" -#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 +#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 rs03-verify.c:450 #, c-format msgid "problem reading crc data: %s" msgstr "Problem beim Lesen der CRC-Daten: %s" -#: rs01-fix.c:138 rs02-fix.c:169 +#: rs01-fix.c:138 rs02-fix.c:169 rs03-fix.c:175 msgid "Repairing of image aborted" msgstr "Reparatur des Abbildes abgebrochen" -#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 +#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 rs03-fix.c:183 +#: rs03-fix.c:234 #, c-format msgid "" "Repairing the image.\n" @@ -3324,7 +3537,7 @@ msgstr "" "Repariere das Abbild.\n" "%s" -#: rs01-fix.c:145 rs02-fix.c:176 +#: rs01-fix.c:145 rs02-fix.c:176 rs03-fix.c:184 msgid "Opening files..." msgstr "Öffne Dateien..." @@ -3333,7 +3546,7 @@ msgstr "Öffne Dateien..." msgid "Error correction file using Method RS01, %d roots, %4.1f%% redundancy." msgstr "Fehlerkorrektur-Datei verwendet Methode RS01, %d Nullstellen, %4.1f%% Redundanz." -#: rs01-fix.c:163 rs02-fix.c:211 +#: rs01-fix.c:163 rs02-fix.c:211 rs03-fix.c:239 msgid "" "\n" "Fix mode: Repairable sectors will be fixed in the image.\n" @@ -3359,7 +3572,7 @@ msgstr "" "\n" "%s" -#: rs01-fix.c:180 rs02-fix.c:224 +#: rs01-fix.c:180 rs02-fix.c:224 rs03-fix.c:252 #, c-format msgid "" "Image file is %lld sectors longer than expected.\n" @@ -3370,16 +3583,17 @@ msgstr "" "Es wird ein TAO-Datenträger angenommen.\n" "%lld Sektoren werden vom Ende des Abbildes abgeschnitten.\n" -#: rs01-fix.c:205 rs02-fix.c:248 +#: rs01-fix.c:205 rs02-fix.c:248 rs03-fix.c:276 msgid "Is it okay to remove the superfluous sectors?" msgstr "Dürfen die überflüssigen Sektoren abgeschnitten werden?" -#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 +#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 rs03-fix.c:292 +#: rs03-fix.c:307 #, c-format msgid "Image has been truncated by %lld sectors.\n" msgstr "Die Abbild-Datei wurde um %lld Sektoren verkürzt.\n" -#: rs01-fix.c:229 rs02-fix.c:271 +#: rs01-fix.c:229 rs02-fix.c:271 rs03-fix.c:299 msgid "" "Add the --truncate option to the program call\n" "to have the superfluous sectors removed." @@ -3431,7 +3645,7 @@ msgid "" "Double check that image and ecc file belong together.\n" msgstr "" "Sektor %d fehlt. Die Fingerabdrücke vom Abbild und\n" -"der Fehlerkorrekturdatei können nicht verglichen werden.\n" +"der Fehlerkorrektur-Datei können nicht verglichen werden.\n" "Vergewissern Sie sich, daß die beiden zusammengehören.\n" #: rs01-fix.c:310 @@ -3439,7 +3653,7 @@ msgid "" "Fingerprints of image and ecc file do not match.\n" "Image and ecc file do not belong together.\n" msgstr "" -"Fingerabdrücke vom Abbild und der Fehlerkorrekturdatei\n" +"Fingerabdrücke vom Abbild und der Fehlerkorrektur-Datei\n" "sind unterschiedlich. Die beiden passen nicht zusammen.\n" #: rs01-fix.c:425 @@ -3476,12 +3690,12 @@ msgstr "Unerwarteter Byte-Fehler in Sektor %lld, Byte %d\n" msgid "Bad error location %d; corrupted .ecc file?\n" msgstr "Ungültige Fehlerposition %d; beschädigte .ecc-Datei?\n" -#: rs01-fix.c:696 rs02-fix.c:718 +#: rs01-fix.c:696 rs02-fix.c:718 rs03-fix.c:737 #, c-format msgid " %3d repaired sectors: " msgstr " %3d reparierte Sektoren: " -#: rs01-fix.c:715 rs02-fix.c:759 +#: rs01-fix.c:715 rs02-fix.c:759 rs03-fix.c:783 #, c-format msgid "" "could not write medium sector %lld:\n" @@ -3490,12 +3704,12 @@ msgstr "" "Konnte Abbild-Sektor %lld nicht schreiben:\n" "%s" -#: rs01-fix.c:741 rs02-fix.c:796 +#: rs01-fix.c:741 rs02-fix.c:796 rs03-fix.c:841 #, c-format msgid "Ecc progress: %3d.%1d%%" msgstr "Reparatur-Fortschritt: %3d.%1d%%" -#: rs01-fix.c:753 rs02-fix.c:810 +#: rs01-fix.c:753 rs02-fix.c:810 rs03-fix.c:855 #, c-format msgid "Ecc progress: 100.0%%\n" msgstr "Reparatur-Fortschritt: 100.0%%\n" @@ -3505,30 +3719,30 @@ msgstr "Reparatur-Fortschritt: 100.0%%\n" msgid "Repaired sectors: %lld \n" msgstr "Reparierte Sektoren: %lld \n" -#: rs01-fix.c:756 rs02-fix.c:815 +#: rs01-fix.c:756 rs02-fix.c:815 rs03-fix.c:860 #, c-format msgid "Unrepaired sectors: %lld\n" msgstr "Nicht reparierbare Sektoren: %lld\n" -#: rs01-fix.c:759 rs02-fix.c:818 +#: rs01-fix.c:759 rs02-fix.c:818 rs03-fix.c:863 #, c-format msgid "Image sectors could not be fully restored (%lld repaired; %lld unrepaired)" msgstr "Keine vollständige Reparatur möglich (%lld Sektoren repariert; %lld nicht reparierbar)" -#: rs01-fix.c:765 rs02-fix.c:824 +#: rs01-fix.c:765 rs02-fix.c:824 rs03-fix.c:870 msgid "Good! All sectors are already present." msgstr "Gut! Alle Sektoren sind bereits vorhanden." -#: rs01-fix.c:769 rs02-fix.c:828 +#: rs01-fix.c:769 rs02-fix.c:828 rs03-fix.c:875 msgid "Good! All sectors are repaired." msgstr "Gut! Alle Sektoren wurden repariert." -#: rs01-fix.c:774 rs02-fix.c:833 +#: rs01-fix.c:774 rs02-fix.c:833 rs03-fix.c:881 #, c-format msgid "Erasure counts per ecc block: avg = %.1f; worst = %d.\n" msgstr "Auslöschungen pro Ecc-Bereich: Mittelwert = %.1f; Schlechtester = %d.\n" -#: rs01-fix.c:779 rs02-fix.c:838 +#: rs01-fix.c:779 rs02-fix.c:838 rs03-fix.c:886 msgid "Repair results:" msgstr "Reparaturergebnis:" @@ -3537,6 +3751,7 @@ msgid "n/a" msgstr "entfällt" #: rs01-verify.c:126 rs01-verify.c:147 rs02-verify.c:121 rs02-verify.c:142 +#: rs03-verify.c:129 rs03-verify.c:150 msgid "Missing sectors" msgstr "Fehlende Sektoren" @@ -3549,6 +3764,7 @@ msgid "No image present." msgstr "Keine Abbild-Datei vorhanden." #: rs01-verify.c:209 rs01-verify.c:299 rs02-verify.c:189 rs02-verify.c:295 +#: rs03-verify.c:271 msgid "Medium sectors:" msgstr "Datentr.-Sektoren:" @@ -3564,7 +3780,7 @@ msgstr "Fehlende Sektoren:" msgid "Image checksum:" msgstr "Abbild-Prüfsumme:" -#: rs01-verify.c:245 rs02-verify.c:241 +#: rs01-verify.c:245 rs02-verify.c:241 rs03-verify.c:249 msgid "Image state" msgstr "Datenträger-Zustand" @@ -3572,15 +3788,15 @@ msgstr "Datenträger-Zustand" msgid "Error correction file summary" msgstr "Fehlerkorrektur-Datei" -#: rs01-verify.c:275 rs02-verify.c:271 +#: rs01-verify.c:275 rs02-verify.c:271 rs03-verify.c:218 msgid "Created by:" msgstr "Erzeugt von:" -#: rs01-verify.c:283 rs02-verify.c:279 +#: rs01-verify.c:283 rs02-verify.c:279 rs03-verify.c:209 msgid "Method:" msgstr "Methode:" -#: rs01-verify.c:291 rs02-verify.c:287 +#: rs01-verify.c:291 rs02-verify.c:287 rs03-verify.c:227 msgid "Requires:" msgstr "Benötigt:" @@ -3600,19 +3816,19 @@ msgstr "Ecc-Prüfsumme:" msgid "Comparison aborted" msgstr "Vergleich abgebrochen" -#: rs01-verify.c:390 rs01-verify.c:516 +#: rs01-verify.c:390 rs01-verify.c:520 msgid "Comparing image and error correction files." -msgstr "Vergleiche Abbild- und Fehlerkorrekturdateien." +msgstr "Vergleiche Abbild- und Fehlerkorrektur-Dateien." -#: rs01-verify.c:391 +#: rs01-verify.c:391 rs03-verify.c:799 rs03-verify.c:809 msgid "- Checking image file -" msgstr "- Prüfe Abbild-Datei -" -#: rs01-verify.c:407 rs01-verify.c:522 +#: rs01-verify.c:407 rs01-verify.c:526 msgid "not present\n" msgstr "nicht vorhanden\n" -#: rs01-verify.c:414 rs02-verify.c:587 +#: rs01-verify.c:414 rs02-verify.c:592 #, c-format msgid "present, contains %lld medium sectors.\n" msgstr "vorhanden, enthält %lld Datenträger-Sektoren.\n" @@ -3622,37 +3838,41 @@ msgstr "vorhanden, enthält %lld Datenträger-Sektoren.\n" msgid "present, contains %lld medium sectors and %d bytes.\n" msgstr "vorhanden, enthält %lld Datenträger-Sektoren und %d Bytes.\n" -#: rs01-verify.c:422 rs01-verify.c:651 rs01-verify.c:698 +#: rs01-verify.c:422 rs01-verify.c:655 rs01-verify.c:702 #, c-format msgid "%lld sectors + %d bytes" msgstr "%lld Sektoren + %d Bytes" -#: rs01-verify.c:443 +#: rs01-verify.c:444 #, c-format msgid "* truncated image : %lld sectors too short\n" msgstr "* zu kurzes Abbild : %lld Sektoren zu wenig\n" -#: rs01-verify.c:446 +#: rs01-verify.c:447 #, c-format msgid "%lld (%lld sectors too short)" msgstr "%lld (%lld Sektoren zu wenig)" -#: rs01-verify.c:467 +#: rs01-verify.c:468 #, c-format msgid "* image too long : %lld excess sectors\n" msgstr "* Abbild zu lang : %lld überzählige Sektoren\n" -#: rs01-verify.c:470 +#: rs01-verify.c:471 #, c-format msgid "%lld (%lld excess sectors)" msgstr "%lld (%lld überzählige Sektoren)" -#: rs01-verify.c:473 rs01-verify.c:507 +#: rs01-verify.c:474 rs01-verify.c:511 #, c-format msgid "Bad image." msgstr "Schlechtes Abbild." -#: rs01-verify.c:483 +#: rs01-verify.c:479 rs02-verify.c:685 rs03-verify.c:1010 +msgid "* quick mode : image NOT scanned\n" +msgstr "* kurze Überprüfung : Abbild wird nicht gelesen\n" + +#: rs01-verify.c:487 #, c-format msgid "" "- good image : all sectors present\n" @@ -3661,12 +3881,12 @@ msgstr "" "- Gutes Abbild : Alle Sektoren vorhanden\n" "- Abbild-md5sum : %s\n" -#: rs01-verify.c:486 rs02-verify.c:883 +#: rs01-verify.c:490 rs02-verify.c:893 rs03-verify.c:1305 #, c-format msgid "Good image." msgstr "Gutes Abbild." -#: rs01-verify.c:491 +#: rs01-verify.c:495 #, c-format msgid "" "* suspicious image : all sectors present, but %lld CRC errors\n" @@ -3675,58 +3895,58 @@ msgstr "" "* Verdächtiges Abbild: alle Sektoren vorhanden, aber %lld Prüfsummen-Fehler\n" "- Abbild-md5sum : %s\n" -#: rs01-verify.c:495 +#: rs01-verify.c:499 #, c-format msgid "Image complete, but contains checksum errors!" msgstr "Abbild vollständig, aber mit Prüfsummen-Fehlern!" -#: rs01-verify.c:502 rs02-verify.c:850 +#: rs01-verify.c:506 rs02-verify.c:860 #, c-format msgid "* BAD image : %lld sectors missing\n" msgstr "* SCHLECHTES Abbild : %lld Sektoren fehlen\n" -#: rs01-verify.c:503 rs02-verify.c:854 +#: rs01-verify.c:507 rs02-verify.c:864 rs03-verify.c:1257 #, c-format msgid "* BAD image : %lld sectors missing, %lld CRC errors\n" msgstr "* SCHLECHTES Abbild : %lld Sektoren fehlen, %lld Prüfsummen-Fehler\n" -#: rs01-verify.c:517 +#: rs01-verify.c:521 rs03-verify.c:1215 msgid "- Checking ecc file -" msgstr "- Prüfe Fehlerkorrektur-Datei -" -#: rs01-verify.c:525 +#: rs01-verify.c:529 msgid "No error correction file present." -msgstr "Keine Fehlerkorrekturdatei vorhanden." +msgstr "Keine Fehlerkorrektur-Datei vorhanden." -#: rs01-verify.c:567 rs02-verify.c:913 +#: rs01-verify.c:571 rs02-verify.c:923 msgid "created by dvdisaster" msgstr "Erzeugt von dvdisaster" -#: rs01-verify.c:584 rs02-verify.c:930 +#: rs01-verify.c:588 rs02-verify.c:940 #, c-format msgid "created by dvdisaster-%d.%d\n" msgstr "Erzeugt von dvdisaster-%d.%d.\n" -#: rs01-verify.c:593 +#: rs01-verify.c:597 msgid "created by dvdisaster-0.41.x.\n" msgstr "Erzeugt von dvdisaster-0.41.x.\n" -#: rs01-verify.c:599 rs02-verify.c:943 +#: rs01-verify.c:603 rs02-verify.c:953 rs03-verify.c:859 #, c-format msgid "- method : %4s, %d roots, %4.1f%% redundancy.\n" msgstr "- Methode : %4s, %d Nullstellen, %4.1f%% Redundanz.\n" -#: rs01-verify.c:603 rs02-verify.c:948 +#: rs01-verify.c:607 rs02-verify.c:958 rs03-verify.c:864 #, c-format msgid "%4s, %d roots, %4.1f%% redundancy" msgstr "%4s, %d Nullstellen, %4.1f%% Redundanz" -#: rs01-verify.c:608 rs02-verify.c:955 +#: rs01-verify.c:612 rs02-verify.c:965 #, c-format msgid "- requires : dvdisaster-%d.%d (good)\n" msgstr "- Benötigt : dvdisaster-%d.%d (gut)\n" -#: rs01-verify.c:617 rs02-verify.c:966 +#: rs01-verify.c:621 rs02-verify.c:976 #, c-format msgid "" "* requires : dvdisaster-%d.%d (BAD)\n" @@ -3738,197 +3958,202 @@ msgstr "" "* : Bitte besuchen Sie http://www.dvdisaster.de\n" "* : um eine neuere Version herunterzuladen.\n" -#: rs01-verify.c:630 rs02-verify.c:980 +#: rs01-verify.c:634 rs02-verify.c:990 rs03-verify.c:935 #, c-format msgid "Please upgrade your version of dvdisaster!" msgstr "Bitte verwenden Sie eine neuere Version von dvdisaster!" -#: rs01-verify.c:642 +#: rs01-verify.c:646 #, c-format msgid "- medium sectors : %lld (good)\n" msgstr "- Datentr.-Sektoren : %lld (gut)\n" -#: rs01-verify.c:647 +#: rs01-verify.c:651 #, c-format msgid "- medium sectors : %lld sectors + %d bytes (good)\n" msgstr "- Datentr.-Sektoren : %lld Sektoren + %d Bytes (gut)\n" -#: rs01-verify.c:657 rs02-verify.c:996 +#: rs01-verify.c:661 rs02-verify.c:1006 #, c-format msgid "* medium sectors : %lld (BAD, perhaps TAO/DAO mismatch)\n" msgstr "* Datentr.-Sektoren : %lld (SCHLECHT, vielleicht TAO/DAO verwechselt)\n" -#: rs01-verify.c:666 rs02-verify.c:998 +#: rs01-verify.c:670 rs02-verify.c:1008 #, c-format msgid "* medium sectors : %lld (BAD)\n" msgstr "* Datentr.-Sektoren : %lld (SCHLECHT)\n" -#: rs01-verify.c:670 rs01-verify.c:681 +#: rs01-verify.c:674 rs01-verify.c:685 #, c-format msgid "Image size does not match error correction file." msgstr "Abbild-Größe paßt nicht zum Wert in der Fehlerkorrektur-Datei." -#: rs01-verify.c:674 +#: rs01-verify.c:678 #, c-format msgid "* medium sectors : %lld sectors + %d bytes (BAD)\n" msgstr "* Datentr.-Sektoren : %lld Sektoren + %d Bytes (SCHLECHT)\n" -#: rs01-verify.c:678 +#: rs01-verify.c:682 #, c-format msgid "%lld sectors + %d bytes" msgstr "%lld Sektoren + %d Bytes" -#: rs01-verify.c:689 +#: rs01-verify.c:693 #, c-format msgid "- medium sectors : %lld\n" msgstr "- Datentr.-Sektoren : %lld\n" -#: rs01-verify.c:694 +#: rs01-verify.c:698 #, c-format msgid "- medium sectors : %lld sectors + %d bytes\n" msgstr "- Datentr.-Sektoren : %lld Sektoren + %d Bytes\n" -#: rs01-verify.c:708 +#: rs01-verify.c:713 #, c-format msgid "- image md5sum : %s (good)\n" msgstr "- Abbild-md5sum : %s (gut)\n" -#: rs01-verify.c:709 +#: rs01-verify.c:714 #, c-format msgid "* image md5sum : %s (BAD)\n" msgstr "* Abbild-md5sum : %s (SCHLECHT)\n" -#: rs01-verify.c:719 +#: rs01-verify.c:724 #, c-format msgid "- image md5sum : %s\n" msgstr "- Abbild-md5sum : %s\n" -#: rs01-verify.c:726 +#: rs01-verify.c:732 msgid "* fingerprint match: NOT POSSIBLE - related sector is missing in image!\n" msgstr "* Fingerabdruck : Vergleich NICHT MÖGLICH - zugehöriger Sektor fehlt im Abbild!\n" -#: rs01-verify.c:728 +#: rs01-verify.c:734 #, c-format msgid "missing sector prevents calculation" msgstr "zugehöriger Sektor fehlt im Abbild" -#: rs01-verify.c:732 +#: rs01-verify.c:738 msgid "* fingerprint match: MISMATCH - .iso and .ecc don't belong together!\n" msgstr "* Fingerabdruck : PAßT NICHT - .iso und .ecc - Dateien gehören nicht zusammen!\n" -#: rs01-verify.c:735 +#: rs01-verify.c:741 #, c-format msgid "mismatch" msgstr "paßt nicht" -#: rs01-verify.c:738 +#: rs01-verify.c:744 #, c-format msgid "Image and error correction files do not belong together!" msgstr "Abbild- und Fehlerkorrektur-Dateien passen nicht zueinander!" -#: rs01-verify.c:742 +#: rs01-verify.c:748 msgid "- fingerprint match: good\n" msgstr "- Fingerabdruck : paßt (gut)\n" -#: rs01-verify.c:744 +#: rs01-verify.c:750 msgid "good" msgstr "gut" -#: rs01-verify.c:752 +#: rs01-verify.c:755 +msgid "* quick mode : ecc file NOT scanned\n" +msgstr "* kurze Überprüfung : Fehlerkorrektur-Datei wird nicht gelesen\n" + +#: rs01-verify.c:763 #, c-format msgid "- ecc blocks : %lld (good)\n" msgstr "- Ecc-Bereiche : %lld (gut)\n" -#: rs01-verify.c:757 +#: rs01-verify.c:768 #, c-format msgid "* ecc blocks : %lld (BAD, expected %lld)\n" msgstr "* Ecc-Bereiche : %lld (SCHLECHT, erwartet: %lld)\n" -#: rs01-verify.c:759 +#: rs01-verify.c:770 #, c-format msgid "%lld (bad, expected %lld)" msgstr "%lld (schlecht, erwartet: %lld)" -#: rs01-verify.c:780 +#: rs01-verify.c:791 #, c-format msgid "- ecc md5sum : %3d%%" msgstr "- Ecc-md5sum : %3d%%" -#: rs01-verify.c:795 +#: rs01-verify.c:806 msgid "* ecc md5sum : BAD, ecc file may be damaged!\n" -msgstr "* Ecc-md5sum : SCHLECHT, Fehlerkorrekturdatei kann beschädigt sein!\n" +msgstr "* Ecc-md5sum : SCHLECHT, Fehlerkorrektur-Datei kann beschädigt sein!\n" -#: rs01-verify.c:797 +#: rs01-verify.c:808 #, c-format msgid "bad" msgstr "schlecht" -#: rs01-verify.c:799 +#: rs01-verify.c:810 #, c-format msgid "Error correction file may be damaged!" -msgstr "Fehlerkorrekturdatei ist möglicherweise beschädigt!" +msgstr "Fehlerkorrektur-Datei ist möglicherweise beschädigt!" -#: rs01-verify.c:803 rs02-verify.c:1064 +#: rs01-verify.c:814 rs02-verify.c:1077 #, c-format msgid "- ecc md5sum : %s (good)\n" msgstr "- Ecc-md5sum : %s (gut) \n" -#: rs01-verify.c:817 +#: rs01-verify.c:828 #, c-format msgid "Good error correction file." msgstr "Gute Fehlerkorrektur-Datei." -#: rs01-window.c:125 rs02-window.c:87 +#: rs01-window.c:138 rs02-window.c:87 rs03s-window.c:85 rs03-window.c:92 msgid "2. Creating error correction data:" msgstr "2. Erzeuge Fehlerkorrektur-Daten:" -#: rs01-window.c:149 +#: rs01-window.c:162 msgid "Show reading speed curve" msgstr "Zeige Lesegeschwindigkeits-Kurve" -#: rs01-window.c:188 rs02-window.c:139 +#: rs01-window.c:201 rs02-window.c:139 rs03-window.c:172 #, c-format msgid "Repaired: %lld" msgstr "Repariert: %lld" -#: rs01-window.c:189 rs02-window.c:140 +#: rs01-window.c:202 rs02-window.c:140 rs03-window.c:173 #, c-format msgid "Unrepairable: %lld" msgstr "Nicht reparierbar: %lld" -#: rs01-window.c:190 rs02-window.c:141 +#: rs01-window.c:203 rs02-window.c:141 rs03-window.c:174 #, c-format msgid "Progress: %3d.%1d%%" msgstr "Fortschritt: %3d.%1d%%" -#: rs01-window.c:398 rs02-window.c:346 +#: rs01-window.c:411 rs02-window.c:346 rs03-window.c:379 msgid "Errors/Ecc block" msgstr "Fehler/Ecc-Bereich" -#: rs01-window.c:430 rs02-window.c:372 +#: rs01-window.c:447 rs02-window.c:376 rs03-preferences.c:244 +#: rs03-preferences.c:254 #, c-format msgid "%4.1f%% redundancy (%d roots)" msgstr "%4.1f%% Redundanz (%d Nullstellen)" -#: rs01-window.c:447 rs01-window.c:784 rs01-window.c:790 rs01-window.c:791 -#: rs02-window.c:389 rs02-window.c:1143 rs02-window.c:1149 rs02-window.c:1150 +#: rs01-window.c:464 rs01-window.c:867 rs01-window.c:873 rs01-window.c:874 +#: rs02-window.c:393 rs02-window.c:1149 rs02-window.c:1155 rs02-window.c:1156 #, c-format msgid "%d MB of file cache" msgstr "%d MB Datei-Zwischenspeicher" -#: rs01-window.c:584 +#: rs01-window.c:666 rs03-preferences.c:530 msgid "Redundancy for new error correction files" -msgstr "Redundanz für neu erstellte Fehlerkorrekturdateien" +msgstr "Redundanz für neu erstellte Fehlerkorrektur-Dateien" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal redundancy" msgstr "Normale Redundanz" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal" msgstr "Normal" -#: rs01-window.c:615 +#: rs01-window.c:697 rs03-preferences.c:579 #, c-format msgid "" "Normal redundancy\n" @@ -3942,15 +4167,15 @@ msgstr "" "Mit dieser Einstellung werden Fehlerkorrektur-Dateien\n" "durch optimierten Programmcode besonders schnell erzeugt." -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High redundancy" msgstr "Hohe Redundanz" -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High" msgstr "Hoch" -#: rs01-window.c:644 +#: rs01-window.c:726 rs03-preferences.c:608 #, c-format msgid "" "High redundancy\n" @@ -3964,15 +4189,15 @@ msgstr "" "Mit dieser Einstellung werden Fehlerkorrektur-Dateien\n" "durch optimierten Programmcode besonders schnell erzeugt." -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other redundancy" msgstr "Frei wählbare Redundanz" -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other" msgstr "Andere:" -#: rs01-window.c:690 +#: rs01-window.c:772 rs03-preferences.c:654 #, c-format msgid "" "Other redundancy\n" @@ -3983,21 +4208,21 @@ msgstr "" "Frei wählbare Redundanz\n" "\n" "Freie Einstellung der Redundanz in Prozentwerten.\n" -"Eine Fehlerkorrekturdatei mit x%% Redundanz benötigt etwa x%% der Größe des zugehörigen Abbilds an Speicherplatz." +"Eine Fehlerkorrektur-Datei mit x%% Redundanz benötigt etwa x%% der Größe des zugehörigen Abbilds an Speicherplatz." -#: rs01-window.c:698 +#: rs01-window.c:780 rs03-preferences.c:662 msgid "Space-delimited redundancy" msgstr "Redundanz aus der Dateigröße ableiten" -#: rs01-window.c:698 rs02-window.c:1075 +#: rs01-window.c:780 rs02-window.c:1081 rs03-preferences.c:662 msgid "Use at most" msgstr "Verwende höchstens" -#: rs01-window.c:722 +#: rs01-window.c:804 rs03-preferences.c:686 msgid "MB for error correction data" -msgstr "MB für Fehlerkorrekturdaten" +msgstr "MB für Fehlerkorrektur-Daten" -#: rs01-window.c:739 +#: rs01-window.c:821 rs03-preferences.c:703 msgid "" "Space-delimited redundancy\n" "\n" @@ -4011,19 +4236,19 @@ msgstr "" "\n" "Vorsicht: Wenn man unterschiedlich große Abbilder mit der gleichen Einstellung bearbeitet, erhalten die kleineren Abbilder mehr Redundanz als die großen Abbilder. Das ist normalerweise nicht sinnvoll." -#: rs01-window.c:781 rs02-window.c:1140 +#: rs01-window.c:864 rs02-window.c:1146 msgid "Memory utilization" msgstr "Speichernutzung" -#: rs01-window.c:785 rs02-window.c:1144 +#: rs01-window.c:868 rs02-window.c:1150 msgid "File cache" msgstr "Datei-Zwischenspeicher" -#: rs01-window.c:797 rs02-window.c:1156 +#: rs01-window.c:880 rs02-window.c:1162 rs03-preferences.c:818 msgid "Use" msgstr "Verwende" -#: rs01-window.c:825 rs02-window.c:1184 +#: rs01-window.c:908 rs02-window.c:1190 msgid "" "File cache\n" "\n" @@ -4033,22 +4258,22 @@ msgstr "" "\n" "dvdisaster optimiert Zugriffe auf die Abbild- und Fehlerkorrektur-Datei durch einen eigenen Zwischenspeicher. Die Voreinstellung von 32MB ist für die meisten Systeme passend." -#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:624 +#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:629 rs03-common.c:318 #, c-format msgid "Failed seeking to ecc header at %lld: %s\n" msgstr "Ansteuern des Ecc-Vorspanns bei Pos. %lld fehlgeschlagen: %s\n" -#: rs02-common.c:336 rs02-common.c:348 +#: rs02-common.c:336 rs02-common.c:348 rs03-common.c:322 #, c-format msgid "Failed writing ecc header at %lld: %s\n" msgstr "Schreiben des Ecc-Vorspanns bei Pos. %lld fehlgeschlagen: %s\n" -#: rs02-create.c:107 +#: rs02-create.c:107 rs03-create.c:180 rs03s-create.c:174 #, c-format msgid "Aborted by user request! (partial ecc data removed from image)" msgstr "Abbruch auf Benutzeranforderung! (unvollständige Fehlerkorrektur-Daten wurden aus dem Abbild entfernt)" -#: rs02-create.c:139 +#: rs02-create.c:143 rs03-create.c:237 rs03s-create.c:219 #, c-format msgid "" "Image \"%s\" already contains error correction information.\n" @@ -4057,7 +4282,7 @@ msgstr "" "Das Abbild \"%s\" enthält bereits Fehlerkorrektur-Daten.\n" "Es wird auf den Daten-Anteil (%lld Sektoren) verkürzt.\n" -#: rs02-create.c:206 +#: rs02-create.c:210 msgid "" "Image contains unread(able) sectors.\n" "Error correction information can only be\n" @@ -4067,7 +4292,7 @@ msgstr "" "Fehlerkorrektur-Daten können nur an vollständige\n" "Abbilder hinzugefügt werden.\n" -#: rs02-create.c:210 +#: rs02-create.c:214 #, c-format msgid "" "Sector %lld in the image is marked unreadable\n" @@ -4092,26 +4317,29 @@ msgstr "" "Fehlerkorrekur-Daten können nur für vollständige\n" "(unbeschädigte) Abbilder erstellt werden.\n" -#: rs02-create.c:228 rs02-create.c:292 rs02-create.c:301 +#: rs02-create.c:232 rs02-create.c:296 rs02-create.c:305 #, c-format msgid "Preparing image (checksums, adding space): %3d%%" msgstr "Abbild vorbereiten (Prüfsummen, Größe erweitern): %3d%%" -#: rs02-create.c:263 rs02-create.c:273 rs02-fix.c:91 +#: rs02-create.c:267 rs02-create.c:277 rs02-fix.c:91 rs03-create.c:324 +#: rs03-create.c:335 rs03-fix.c:96 rs03s-create.c:307 rs03s-create.c:318 #, c-format msgid "Failed seeking to end of image: %s\n" msgstr "Ansteuern des Abbild-Endes fehlgeschlagen: %s\n" -#: rs02-create.c:267 rs02-create.c:288 rs02-fix.c:104 +#: rs02-create.c:271 rs02-create.c:292 rs02-fix.c:104 rs03-create.c:309 +#: rs03-fix.c:110 #, c-format msgid "Failed expanding the image: %s\n" msgstr "Erweitern des Abbildes fehlgeschlagen: %s\n" -#: rs02-create.c:1025 +#: rs02-create.c:1029 rs03-create.c:1055 rs03s-create.c:1037 msgid "Error correction data creation aborted" msgstr "Erzeugen der Fehlerkorrektur-Daten abgebrochen" -#: rs02-create.c:1029 rs02-create.c:1049 +#: rs02-create.c:1033 rs02-create.c:1053 rs03-create.c:1059 rs03-create.c:1088 +#: rs03s-create.c:1041 rs03s-create.c:1070 #, c-format msgid "" "Augmenting the image with error correction data.\n" @@ -4120,16 +4348,16 @@ msgstr "" "Erweitere das Abbild um Fehlerkorrektur-Daten.\n" "%s" -#: rs02-create.c:1030 +#: rs02-create.c:1034 rs03-create.c:1060 rs03s-create.c:1042 msgid "- checking image -" msgstr "- prüfe Abbild -" -#: rs02-create.c:1045 +#: rs02-create.c:1049 #, c-format msgid "Encoding with Method RS02: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." msgstr "Kodiere mit Methode RS02: %lld MB Daten, %lld MB Fehlerkorrektur-Daten (%d Nullstellen; %4.1f%% Redundanz)." -#: rs02-create.c:1053 +#: rs02-create.c:1057 #, c-format msgid "" "Augmenting image with Method RS02:\n" @@ -4138,22 +4366,21 @@ msgstr "" "Erweitere das Abbild mit dem RS02-Verfahren:\n" "%lld MB Daten, %lld MB Fehlerkorrektur-Daten (%d Nullstellen; %4.1f%% Redundanz)." -#: rs02-create.c:1062 +#: rs02-create.c:1066 #, c-format msgid "" "Not enough space on medium left for error correction data.\n" "Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" "If reducing the image size or using a larger medium is\n" -"not an option, please create a separate error correction\n" -"file using the RS01 method.\n" +"not an option, please create a separate error correction file." msgstr "" "Der Datenträger hat nicht genügend Platz für die Fehlerkorrektur-Daten.\n" "Dateninhalt des Abbilds: %lld Sekt.; Höchstmögliche Größe: %lld Sekt.\n" "Falls die Abbild-Größe nicht verringert werden kann\n" "und kein größerer Datenträger zur Verfügung steht, erzeugen Sie bitte\n" -"eine alleinstehende Fehlerkorrektur-Datei mit dem RS01-Verfahren.\n" +"eine alleinstehende Fehlerkorrektur-Datei." -#: rs02-create.c:1073 +#: rs02-create.c:1076 rs03-create.c:1124 rs03s-create.c:1101 #, c-format msgid "" "Using redundancies below 20%%%% may not give\n" @@ -4162,7 +4389,7 @@ msgstr "" "Redundanzen unterhalb von 20%%%% haben möglicherweise\n" "nicht die erhoffte Datensicherungs-Funktion.\n" -#: rs02-create.c:1105 rs02-create.c:1114 +#: rs02-create.c:1108 rs02-create.c:1117 rs03-create.c:1147 rs03-create.c:1172 #, c-format msgid "" "Image has been augmented with error correction data.\n" @@ -4171,7 +4398,7 @@ msgstr "" "Das Abbild wurde um Fehlerkorrektur-Daten erweitert.\n" "Die neue Abbild-Größe ist %lld MB (%lld Sektoren).\n" -#: rs02-fix.c:110 rs02-fix.c:118 +#: rs02-fix.c:110 rs02-fix.c:118 rs03-fix.c:116 rs03-fix.c:124 #, c-format msgid "Expanding image: %3d%%" msgstr "Erweitere das Abbild: %3d%%" @@ -4181,7 +4408,7 @@ msgstr "Erweitere das Abbild: %3d%%" msgid "Image contains error correction data: Method RS02, %d roots, %4.1f%% redundancy." msgstr "Das Abbild enthält Fehlerkorrektur-Daten: Methode RS02, %d Nullstellen, %4.1f%% Redundanz." -#: rs02-fix.c:217 +#: rs02-fix.c:217 rs03-fix.c:245 #, c-format msgid "" "The image file is %lld sectors longer as noted in the\n" @@ -4199,27 +4426,28 @@ msgstr "" "\n" "%s" -#: rs02-fix.c:468 +#: rs02-fix.c:468 rs03-fix.c:487 #, c-format msgid "* Ecc block %lld: %3d unrepairable sectors: " msgstr "* Ecc-Bereich %lld: %3d unreparierbare Sektoren: " -#: rs02-fix.c:687 +#: rs02-fix.c:687 rs03-fix.c:706 #, c-format msgid "-> CRC-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "-> CRC-erkannter Fehler in Sektor %lld, Bytepos. %4d (Wert %02x '%c', erwartet %02x '%c')\n" -#: rs02-fix.c:690 +#: rs02-fix.c:690 rs03-fix.c:709 #, c-format msgid "-> Non-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "-> Nicht erwarteter Fehler in Sektor %lld, Bytepos. %4d (Wert %02x '%c', erwartet %02x '%c')\n" -#: rs02-fix.c:812 +#: rs02-fix.c:812 rs03-fix.c:857 #, c-format msgid "Repaired sectors: %lld (%lld data, %lld ecc)\n" msgstr "Reparierte Sektoren: %lld (%lld Daten, %lld Fehlerkorrektur)\n" -#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 +#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 rs03-verify.c:56 +#: rs03-verify.c:236 rs03-verify.c:280 msgid "Data checksum:" msgstr "Daten-Prüfsumme:" @@ -4231,15 +4459,15 @@ msgstr "Crc-Prüfsumme:" msgid "Ecc headers:" msgstr "Ecc-Vorspänne:" -#: rs02-verify.c:213 +#: rs02-verify.c:213 rs03-verify.c:289 msgid "Data section:" msgstr "Daten-Abschnitt:" -#: rs02-verify.c:221 +#: rs02-verify.c:221 rs03-verify.c:298 msgid "Crc section:" msgstr "Crc-Abschnitt:" -#: rs02-verify.c:229 +#: rs02-verify.c:229 rs03-verify.c:307 msgid "Ecc section:" msgstr "Ecc-Abschnitt:" @@ -4247,77 +4475,78 @@ msgstr "Ecc-Abschnitt:" msgid "Error correction data" msgstr "Fehlerkorrektur-Daten" -#: rs02-verify.c:503 +#: rs02-verify.c:503 rs03-verify.c:548 #, c-format msgid "- erasure counts : avg = %.1f; worst = %d per ecc block.\n" msgstr "- Auslöschungen : Mittelwert = %.1f; Schlechtester = %d pro Ecc-Block\n" -#: rs02-verify.c:506 +#: rs02-verify.c:506 rs03-verify.c:551 #, c-format msgid "- prognosis : %lld of %lld sectors recoverable (%d.%d%%)\n" msgstr "- Vorhersage : %lld von %lld Sektoren wiederherstellbar (%d.%d%%)\n" -#: rs02-verify.c:512 +#: rs02-verify.c:512 rs03-verify.c:555 msgid "Erasure counts:" msgstr "Auslöschungen:" -#: rs02-verify.c:513 +#: rs02-verify.c:513 rs03-verify.c:556 msgid "Prognosis:" msgstr "Vorhersage:" -#: rs02-verify.c:516 +#: rs02-verify.c:516 rs03-verify.c:559 #, c-format msgid "avg = %.1f; worst = %d per ecc block." msgstr "Mittelwert = %.1f; Schlechtester = %d pro Ecc-Block." -#: rs02-verify.c:521 +#: rs02-verify.c:521 rs03-verify.c:564 #, c-format msgid "%lld of %lld sectors recoverable (%d.%d%%)" msgstr "%lld von %lld Sektoren wiederherstellbar (%d.%d%%)" -#: rs02-verify.c:569 +#: rs02-verify.c:574 rs03-verify.c:769 msgid "Check aborted" msgstr "Überprüfung abgebrochen" -#: rs02-verify.c:583 +#: rs02-verify.c:588 rs03-verify.c:808 msgid "Checking the image file." msgstr "Überprüfe die Abbild-Datei." -#: rs02-verify.c:584 +#: rs02-verify.c:589 msgid "Image contains error correction data." msgstr "Das Abbild enthält Fehlerkorrektur-Daten." -#: rs02-verify.c:607 +#: rs02-verify.c:612 rs03-verify.c:1005 #, c-format msgid "Image file is %lld sectors shorter than expected." msgstr "Das Abbild ist %lld Sektoren kürzer als erwartet." -#: rs02-verify.c:608 +#: rs02-verify.c:613 rs03-verify.c:1006 #, c-format msgid "Image file is %lld sectors longer than expected." msgstr "Das Abbild ist %lld Sektoren länger als erwartet." -#: rs02-verify.c:628 +#: rs02-verify.c:633 #, c-format msgid "Failed reading ecc header at %lld: %s\n" msgstr "Lesen des Ecc-Vorspanns bei Pos. %lld fehlgeschlagen: %s\n" -#: rs02-verify.c:671 +#: rs02-verify.c:676 #, c-format msgid "%lld ok, %lld CRC errors, %lld missing" msgstr "%lld ok, %lld Prüfsummen-Fehler, %lld fehlen" -#: rs02-verify.c:798 rs02-verify.c:819 +#: rs02-verify.c:808 rs02-verify.c:829 rs03-verify.c:1189 rs03-verify.c:1228 #, c-format msgid "%lld sectors missing; %lld CRC errors" msgstr "%lld Sektoren fehlen; %lld Prüfsummen-Fehler" -#: rs02-verify.c:802 rs02-verify.c:806 rs02-verify.c:823 rs02-verify.c:827 +#: rs02-verify.c:812 rs02-verify.c:816 rs02-verify.c:833 rs02-verify.c:837 +#: rs03-verify.c:1197 rs03-verify.c:1236 #, c-format msgid "%lld sectors missing" msgstr "%lld Sektoren fehlen" -#: rs02-verify.c:841 +#: rs02-verify.c:851 #, c-format msgid "" "- good image : all sectors present\n" @@ -4326,46 +4555,46 @@ msgstr "" "- Gutes Abbild : Alle Sektoren vorhanden\n" "- Daten-md5sum : %s\n" -#: rs02-verify.c:847 +#: rs02-verify.c:857 msgid "* suspicious image : contains damaged ecc headers\n" msgstr "* Verdächtiges Abbild: enthält beschädigte Ecc-Vorspänne\n" -#: rs02-verify.c:852 +#: rs02-verify.c:862 rs03-verify.c:1254 #, c-format msgid "* suspicious image : all sectors present, but %lld CRC errors\n" msgstr "* Verdächtiges Abbild: alle Sektoren vorhanden, aber %lld Prüfsummen-Fehler\n" -#: rs02-verify.c:858 +#: rs02-verify.c:868 #, c-format msgid " ... ecc headers : %lld ok, %lld CRC errors, %lld missing\n" msgstr " ... Ecc-Vorspänne : %lld ok, %lld Prüfsummen-Fehler, %lld fehlen\n" -#: rs02-verify.c:860 +#: rs02-verify.c:870 rs03-verify.c:1260 #, c-format msgid " ... data section : %lld sectors missing; %lld CRC errors\n" msgstr " ... Daten-Abschnitt: %lld Sektoren fehlen; %lld Prüfsummen-Fehler\n" -#: rs02-verify.c:863 +#: rs02-verify.c:873 rs03-verify.c:1263 #, c-format msgid " ... data md5sum : %s\n" msgstr " ... Daten-md5sum : %s\n" -#: rs02-verify.c:864 +#: rs02-verify.c:874 rs03-verify.c:1264 #, c-format msgid " ... crc section : %lld sectors missing\n" msgstr " ... CRC-Abschnitt : %lld Sektoren fehlen\n" -#: rs02-verify.c:865 +#: rs02-verify.c:875 rs03-verify.c:1265 #, c-format msgid " ... ecc section : %lld sectors missing\n" msgstr " ... ECC-Abschnitt : %lld Sektoren fehlen\n" -#: rs02-verify.c:887 +#: rs02-verify.c:897 rs03-verify.c:1309 #, c-format msgid "Damaged image." msgstr "Das Abbild ist beschädigt." -#: rs02-verify.c:894 +#: rs02-verify.c:904 msgid "" "\n" "Error correction data: " @@ -4373,88 +4602,88 @@ msgstr "" "\n" "Fehlerkorrektur-Daten: " -#: rs02-verify.c:987 +#: rs02-verify.c:997 #, c-format msgid "- medium sectors : %lld / %lld (good)\n" msgstr "- Datentr.-Sektoren : %lld / %lld (gut)\n" -#: rs02-verify.c:1004 +#: rs02-verify.c:1014 #, c-format msgid "Image size does not match recorded size." msgstr "Die Abbild-Größe entspricht nicht der aufgezeichneten Größe." -#: rs02-verify.c:1015 +#: rs02-verify.c:1028 #, c-format msgid "- data md5sum : %s (good)\n" msgstr "- Daten-md5sum : %s (gut)\n" -#: rs02-verify.c:1016 +#: rs02-verify.c:1029 #, c-format msgid "* data md5sum : %s (BAD)\n" msgstr "* Daten-md5sum : %s (SCHLECHT)\n" -#: rs02-verify.c:1027 +#: rs02-verify.c:1040 rs03-verify.c:949 #, c-format msgid "- data md5sum : %s\n" msgstr "- Daten-md5sum : %s\n" -#: rs02-verify.c:1039 +#: rs02-verify.c:1052 #, c-format msgid "- crc md5sum : %s (good)\n" msgstr "- CRC-md5sum : %s (gut)\n" -#: rs02-verify.c:1044 +#: rs02-verify.c:1057 #, c-format msgid "* crc md5sum : %s (BAD)\n" msgstr "* CRC-md5sum : %s (SCHLECHT)\n" -#: rs02-verify.c:1052 +#: rs02-verify.c:1065 #, c-format msgid "- crc md5sum : %s\n" msgstr "- Crc-md5sum : %s\n" -#: rs02-verify.c:1069 +#: rs02-verify.c:1082 #, c-format msgid "* ecc md5sum : %s (BAD)\n" msgstr "* Ecc-md5sum : %s (SCHLECHT)\n" -#: rs02-verify.c:1077 +#: rs02-verify.c:1090 #, c-format msgid "- ecc md5sum : %s\n" msgstr "- Ecc-md5sum : %s\n" -#: rs02-verify.c:1096 +#: rs02-verify.c:1109 #, c-format msgid "Good error correction data." msgstr "Gute Fehlerkorrektur-Daten." -#: rs02-verify.c:1100 +#: rs02-verify.c:1113 rs03-verify.c:1321 #, c-format msgid "Full data recovery is likely." msgstr "Eine vollständige Wiederherstellung ist wahrscheinlich." -#: rs02-verify.c:1103 +#: rs02-verify.c:1116 rs03-verify.c:1324 #, c-format msgid "Full data recovery is NOT possible." msgstr "Eine vollständige Wiederherstellung ist NICHT möglich." -#: rs02-window.c:78 +#: rs02-window.c:78 rs03s-window.c:76 msgid "1. Preparing image:" msgstr "1. Abbild vorbereiten:" -#: rs02-window.c:704 +#: rs02-window.c:710 msgid "Maximum image size" msgstr "Größte mögliche Abbildlänge" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Using the smallest possible size from table" msgstr "Kleinsten möglichen Wert aus der Tabelle verwenden" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Use smallest possible size from following table (in sectors):" msgstr "Verwende kleinsten möglichen Wert aus folgender Tabelle:" -#: rs02-window.c:740 +#: rs02-window.c:746 msgid "" "Determine augmented image size from table\n" "\n" @@ -4468,17 +4697,17 @@ msgstr "" "\n" "Um einen passenden Datenträger auszuwählen müssen die verfügbaren Datenträger-Größen bekannt sein. Die Tabelle enthält die typischen Größen von CD und ein-/zweischichtigen DVDs. Sie können die Einträge nach Ihren Bedürfnissen anpassen." -#: rs02-window.c:759 +#: rs02-window.c:765 msgid "CD-R / CD-RW:" msgstr "CD-R / CD-RW:" -#: rs02-window.c:770 rs02-window.c:789 rs02-window.c:830 rs02-window.c:849 -#: rs02-window.c:890 rs02-window.c:909 rs02-window.c:950 rs02-window.c:969 -#: rs02-window.c:1009 rs02-window.c:1028 +#: rs02-window.c:776 rs02-window.c:795 rs02-window.c:836 rs02-window.c:855 +#: rs02-window.c:896 rs02-window.c:915 rs02-window.c:956 rs02-window.c:975 +#: rs02-window.c:1015 rs02-window.c:1034 msgid "query medium" msgstr "Datenträger abfragen" -#: rs02-window.c:801 +#: rs02-window.c:807 #, c-format msgid "" "CD medium size\n" @@ -4501,11 +4730,11 @@ msgstr "" "Bitte beachten Sie, daß Abbilder höchstens auf die dreifache Größe erweitert werden; dies entspricht einer größtmöglichen Redundanz von 200%%.\n" "Aber auch wenn diese Obergrenze noch nicht erreicht ist werden aus technischen Gründen ein paar Sektoren weniger als angegeben verwendet." -#: rs02-window.c:819 +#: rs02-window.c:825 msgid "DVD 1 layer:" msgstr "einlagige DVD:" -#: rs02-window.c:861 +#: rs02-window.c:867 #, c-format msgid "" "Single layer DVD medium size\n" @@ -4527,11 +4756,11 @@ msgstr "" "Bitte beachten Sie, daß Abbilder höchstens auf die dreifache Größe erweitert werden; dies entspricht einer größtmöglichen Redundanz von 200%%.\n" "Aber auch wenn diese Obergrenze noch nicht erreicht ist werden aus technischen Gründen ein paar Sektoren weniger als angegeben verwendet." -#: rs02-window.c:879 +#: rs02-window.c:885 msgid "DVD 2 layers:" msgstr "zweilagige DVD:" -#: rs02-window.c:921 +#: rs02-window.c:927 #, c-format msgid "" "Two layered DVD medium size\n" @@ -4553,11 +4782,11 @@ msgstr "" "Bitte beachten Sie, daß Abbilder höchstens auf die dreifache Größe erweitert werden; dies entspricht einer größtmöglichen Redundanz von 200%%.\n" "Aber auch wenn diese Obergrenze noch nicht erreicht ist werden aus technischen Gründen ein paar Sektoren weniger als angegeben verwendet." -#: rs02-window.c:939 +#: rs02-window.c:945 msgid "BD 1 layer:" msgstr "einlagige BD:" -#: rs02-window.c:981 +#: rs02-window.c:987 #, c-format msgid "" "Single layer BD medium size\n" @@ -4579,11 +4808,11 @@ msgstr "" "Bitte beachten Sie, daß Abbilder höchstens auf die dreifache Größe erweitert werden; dies entspricht einer größtmöglichen Redundanz von 200%%.\n" "Aber auch wenn diese Obergrenze noch nicht erreicht ist werden aus technischen Gründen ein paar Sektoren weniger als angegeben verwendet." -#: rs02-window.c:998 +#: rs02-window.c:1004 msgid "BD 2 layers:" msgstr "zweilagige BD:" -#: rs02-window.c:1040 +#: rs02-window.c:1046 #, c-format msgid "" "Two layered BD medium size\n" @@ -4605,11 +4834,11 @@ msgstr "" "Bitte beachten Sie, daß Abbilder höchstens auf die dreifache Größe erweitert werden; dies entspricht einer größtmöglichen Redundanz von 200%%.\n" "Aber auch wenn diese Obergrenze noch nicht erreicht ist werden aus technischen Gründen ein paar Sektoren weniger als angegeben verwendet." -#: rs02-window.c:1095 +#: rs02-window.c:1101 msgid "sectors." msgstr "Sektoren." -#: rs02-window.c:1108 +#: rs02-window.c:1114 #, c-format msgid "" "Use at most ... sectors\n" @@ -4628,6 +4857,551 @@ msgstr "" "Bitte beachten Sie, daß Abbilder höchstens auf die dreifache Größe erweitert werden; dies entspricht einer größtmöglichen Redundanz von 200%%.\n" "Aber auch wenn diese Obergrenze noch nicht erreicht ist werden aus technischen Gründen ein paar Sektoren weniger als angegeben verwendet." +#: rs03-common.c:192 +#, c-format +msgid "Redundancy %4.1f%% out of useful range [3.2%%..200%%]" +msgstr "Redundanz %4.1f%% außerhalb des nutzbaren Bereiches [3.2%%..200%%]" + +#: rs03-common.c:222 +#, c-format +msgid "Redundancy %d out of useful range [8..170]." +msgstr "Redundanz %d außerhalb des nutzbaren Bereiches [8..170]." + +#: rs03-create.c:304 +#, c-format +msgid "Failed expanding the ecc file: %s\n" +msgstr "Fehler beim Erweitern der Fehlerkorrektur-Datei: %s\n" + +#: rs03-create.c:305 +#, c-format +msgid "Preparing ecc file: %3d%%" +msgstr "Vorbereiten der Fehlerkorrektur-Datei: %3d%%" + +#: rs03-create.c:310 +#, c-format +msgid "Preparing image: %3d%%" +msgstr "Abbild vorbereiten: %3d%%" + +#: rs03-create.c:507 +#, c-format +msgid "" +"Incomplete image\n" +"\n" +"The image contains missing sectors,\n" +"e.g. sector %lld.\n" +"%sError correction data works like a backup; it must\n" +"be created when the image is still fully readable.\n" +"Exiting and removing partial error correction data." +msgstr "" +"Unvollständiges Abbild\n\n" +"Dieses Abbild enthält fehlende Sektoren,\n" +"z.B. Sektor %lld.\n" +"%sFehlerkorrektur-Daten sind vergleichbar mit einer\n" +"Sicherungskopie; sie müssen erzeugt werden wenn das\n" +"Abbild noch vollständig lesbar ist.\n" +"Die Aktion wird abgebrochen und die teilweise erzeugten\n" +"Fehlerkorrektur-Daten werden gelöscht." + +#: rs03-create.c:515 +msgid "" +"\n" +"This image was probably mastered from defective source(s).\n" +"Perform a \"Verify\" action for more information.\n" +"\n" +msgstr "" +"\nDas Abbild wurde wahrscheinlich aus defektem Ausgangsmaterial\n" +"erzeugt. Führen Sie eine \"Überprüfen\"-Aktion durch um mehr\n" +"Informationen zu erhalten.\n\n" + +#: rs03-create.c:740 +msgid "CPU bound" +msgstr "Prozessor-beschränkt" + +#: rs03-create.c:744 +msgid "I/O bound" +msgstr "E/A-beschränkt" + +#: rs03-create.c:915 +#, c-format +msgid "%5.2fMB/s current" +msgstr "%5.2fMB/s momentan" + +#: rs03-create.c:959 +#, c-format +msgid "%d threads with 128bit intrinsics" +msgstr "%d Kontrollfäden mit 128bit-Erweiterung" + +#: rs03-create.c:962 rs03-preferences.c:290 rs03-preferences.c:805 +#: rs03-preferences.c:811 rs03-preferences.c:812 +#, c-format +msgid "%d threads" +msgstr "%d Kontrollfäden" + +#: rs03-create.c:1083 rs03s-create.c:1066 +#, c-format +msgid "Encoding with Method RS03: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "Kodiere mit Verfahren RS03: %lld MB Daten, %lld MB ecc (%d Nullstellen; %4.1f%% Redundanz)." + +#: rs03-create.c:1098 +#, c-format +msgid "" +"Augmenting image with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" +"Erweitere das Abbild mit dem RS03-Verfahren [%d Kontrollfäden]:\n" +"%lld MB Daten, %lld MB Fehlerkorrektur-Daten (%d Nullstellen; %4.1f%% Redundanz)." + +#: rs03-create.c:1103 +#, c-format +msgid "" +"Creating the error correction file with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" +"Erzeuge eine Fehlerkorrektur-Datei mit dem RS03-Verfahren [%d Kontrollfäden]:\n" +"%lld MB Daten, %lld MB Fehlerkorrektur-Daten (%d Nullstellen; %4.1f%% Redundanz)." + +#: rs03-create.c:1114 rs03s-create.c:1091 +#, c-format +msgid "" +"Not enough space on medium left for error correction data.\n" +"Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" +"If reducing the image size or using a larger medium is not\n" +"an option, please create a separate error correction file." +msgstr "" +"Der Datenträger hat nicht genügend Platz für die Fehlerkorrektur-Daten.\n" +"Dateninhalt des Abbilds: %lld Sekt.; Höchstmögliche Größe: %lld Sekt.\n" +"Falls die Abbild-Größe nicht verringert werden kann\n" +"und kein größerer Datenträger zur Verfügung steht, erzeugen Sie bitte\n" +"eine alleinstehende Fehlerkorrektur-Datei." + +#: rs03-create.c:1158 +#, c-format +msgid "Avg performance: %5.2fs (%5.2fMB/s) total\n" +msgstr "Durchschnittliche Leistung: %5.2fs (%5.2fMB/s) insgesamt\n" + +#: rs03-create.c:1161 +#, c-format +msgid "%5.2fMB/s average" +msgstr "%5.2fMB/s durchschnittlich" + +#: rs03-create.c:1163 +#, c-format +msgid "%d times CPU bound; %d times I/O bound" +msgstr "%d mal Prozessor-beschränkt; %d mal E/A-beschränkt" + +#: rs03-fix.c:224 +#, c-format +msgid "Error correction file using Method RS03, %d roots, %4.1f%% redundancy." +msgstr "Fehlerkorrektur-Datei verwendet Methode RS03, %d Nullstellen, %4.1f%% Redundanz." + +#: rs03-fix.c:228 +#, c-format +msgid "Image contains error correction data: Method RS03, %d roots, %4.1f%% redundancy." +msgstr "Abbild enthält Fehlerkorrektur-Daten: RS03, %d Nullstellen, %4.1f%% Redundanz." + +#: rs03-fix.c:798 +#, c-format +msgid "Failed seeking to sector %lld in ecc file [%s]: %s" +msgstr "" +"Ansteuern von Sektor %lld in der Fehlerkorrektur-Datei fehlgeschlagen [%s]:\n" +"%s" + +#: rs03-fix.c:803 +#, c-format +msgid "" +"could not write ecc file sector %lld:\n" +"%s" +msgstr "" +"konnte Sektor %lld in der Fehlerkorrektur-Datei nicht schreiben:\n" +"%s" + +#: rs03-preferences.c:271 rs03-preferences.c:749 rs03-preferences.c:755 +#: rs03-preferences.c:756 +#, c-format +msgid "%d sectors" +msgstr "%d Sektoren" + +#: rs03-preferences.c:443 +msgid "Warning: This codec is experimental and for evaluation only. It is not yet fully implemented and does contain bugs. Future dvdisaster versions may not be compatible with it. Do not yet use this codec for any archival purposes." +msgstr "Warnung: Dieser experimentelle Kodierer/Dekodierer dient nur zum Testen. Er ist noch nicht vollständig und enthält Programmfehler. Zukünftige dvdisaster-Versionen sind möglicherweise nicht damit kompatibel. Verwenden Sie diesen Kodierer noch nicht für die Archvierung von Daten!" + +#: rs03-preferences.c:460 rs03-preferences.c:467 +msgid "Error correction data storage" +msgstr "Ziel für Fehlerkorrektur-Daten" + +#: rs03-preferences.c:468 +msgid "Store ECC data in: " +msgstr "Fehlerkorrektur-Daten ablegen in:" + +#: rs03-preferences.c:480 +msgid "File" +msgstr "Datei" + +#: rs03-preferences.c:507 +msgid "" +"Error correction data storage\n" +"\n" +"Select between two ways of storing the error correction information:\n" +msgstr "" +"Ablegen der Fehlerkorrektur-Daten\n" +"\n" +"Wählen Sie zwischen zwei Arten, die Fehlerkorrektur-Daten abzulegen:\n" + +#: rs03-preferences.c:512 +msgid "" +"Augmented image (recommended)\n" +"The error correction data will be stored along with the user data on the same medium. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image and fill up the remaining space.\n" +"Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required.\n" +msgstr "" +"Erweitertes Abbild (empfohlen)\n" +"Die Fehlerkorrektur-Daten werden zusammen mit den Nutzdaten auf dem gleichen Datenträger untergebracht. Dazu muß vor dem Schreiben des Datenträgers eine Abbild-Datei auf der Festplatte angelegt werden, die von dvdisaster um Fehlerkorrektur-Daten erweitert wird. Die Fehlerkorrektur-Daten nutzen den restlichen Speicherplatz auf dem Datenträger. Beschädigte Sektoren in den Fehlerkorrektur-Daten verringern die Fehlerkorrektur-Leistung, machen eine Korrektur aber nicht unmöglich - ein zusätzlicher Datenträger zum Aufbewahren oder Schützen der Fehlerkorrektur-Daten wird also nicht benötigt.\n" + +#: rs03-preferences.c:522 +msgid "" +"Error correction file\n" +"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster. This prevents from losing the error correction files in case of a medium defect.\n" +msgstr "" +"Fehlerkorrektur-Datei\n" +"Fehlerkorrektur-Dateien sind die einzige Möglichkeit um bereits bestehende Datenträger zu schützen, da sie an einer beliebigen anderen Stelle gespeichert werden können. Die Dateien müssen allerdings auf einem Datenträger gespeichert werden, der ebenfalls durch dvdisaster geschützt ist. Dies verhindert einen Verlust der Fehlerkorrektur-Dateien durch einen Datenträger-Defekt.\n" + +#: rs03-preferences.c:542 +msgid "no settings for augmented images" +msgstr "keine Einstellungen für erweiterte Abbilder" + +#: rs03-preferences.c:746 +msgid "Sector prefetch" +msgstr "Sektoren im Voraus laden" + +#: rs03-preferences.c:750 +msgid "Sector prefetching" +msgstr "Sektoren im Voraus laden" + +#: rs03-preferences.c:762 +msgid "Prefetch" +msgstr "Lade" + +#: rs03-preferences.c:790 +msgid "" +"Sector preloading\n" +"\n" +"dvdisaster optimizes access to the image and error correction data by preloading and caching parts of them.\n" +"\n" +"The optimal preload value depends on the storage system used for the image and error correction files.\n" +"Use small preload values for systems with low latency and seek time, e.g. SSDs. For magnetic hard disks performace may be better using larger preload values.\n" +"\n" +"A preload value of n will used approx. n MB of RAM." +msgstr "" +"Sektoren im Voraus laden\n" +"\n" +"dvdisaster beschleunigt den Zugriff auf Abbild- und Fehlerkorrektur-Daten indem es Teile davon im Voraus lädt und zwischenspeichert.\n" +"\n" +"Der optimale Wert hängt von dem verwendeten Speichersystem ab.\n" +"Verwenden Sie kleine Werte für Systeme mit schneller Zugriffszeit wie zum Beispiel SSD-Speicher. Für magnetische Festplatten ergeben höhere Werte typischerweise besseren Datendurchsatz.\n" +"A preload value of n will used approx. n MB of RAM." + +#: rs03-preferences.c:802 rs03-preferences.c:806 +msgid "Multithreading" +msgstr "Kontrollfäden" + +#: rs03-preferences.c:846 +msgid "" +"Multithreading\n" +"\n" +"RS03 can use multiple threads (and therefore CPU cores)for encoding.\n" +"For systems with 4 cores or less, set the number of threads to the number of cores. If you have more cores, leave one unused for doing I/O and graphics updates.\n" +"E.g. use 7 threads on an 8 core system.\n" +"\n" +"Performance will not scale linearly with the number of CPU cores. Hard disk performance is more limiting than raw CPU power. When using 4 cores or more, memory bandwidth may also affect performance." +msgstr "" +"Kontrollfäden\n" +"\n" +"RS03 kann mehrere Kontrollfäden (und damit Prozessorkerne) zum Erzeugen von Fehlerkorrektur-Daten verwenden.\n" +"Verwenden Sie auf Systemen mit bis zu 4 Prozessorkernen die entsprechende Anzahl von Kontrollfäden. Wenn Sie mehr Prozessorkerne haben, lassen Sie einen Kern übrig, um Daten zu verschieben und die Bildschirmausgabe zu aktualisieren. Verwenden Sie zum Beispiel 7 Kontrollfäden auf einem 8-Kern-System.\n" +"\n" +"Die Leistung wird nicht im gleichen Verhältnis mit der Anzahl der Kontrollfäden steigen. Die Festplattenleistung begrenzt die Kodierung stärker als die reine Prozessorleistung. Mit 4 oder mehr Kernen kann die Speicherbandbreite ebenfalls die Leistung begrenzen." + +#: rs03s-create.c:1075 +#, c-format +msgid "" +"Augmenting image with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" +"Erweitere das Abbild mit dem RS03s-Verfahren:\n" +"%lld MB Daten, %lld MB Fehlerkorrektur-Daten (%d Nullstellen; %4.1f%% Redundanz)." + +#: rs03s-create.c:1080 +#, c-format +msgid "" +"Creating the error correction file with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" +"Erzeuge eine Fehlerkorrektur-Datei mit dem RS03s-Verfahren:\n" +"%lld MB Daten, %lld MB Fehlerkorrektur-Daten (%d Nullstellen; %4.1f%% Redundanz)." + +#: rs03-verify.c:189 +msgid "Error correction properties" +msgstr "Fehlerkorrektur-Eigenschaften" + +#: rs03-verify.c:200 +msgid "Type:" +msgstr "Typ:" + +#: rs03-verify.c:260 +msgid "Data integrity" +msgstr "Zustand der Daten" + +#: rs03-verify.c:316 rs03-verify.c:1281 +msgid "Ecc block test:" +msgstr "Ecc-Bereich-Test:" + +#: rs03-verify.c:423 +#, c-format +msgid "Failed seeking to sector %lld in ecc file: %s" +msgstr "Ansteuern von Sektor %lld im Abbild fehlgeschlagen: %s" + +#: rs03-verify.c:592 rs03-verify.c:798 rs03-verify.c:1214 +msgid "Checking the image and error correction files." +msgstr "Überprüfe die Abbild- und Fehlerkorrektur-Dateien." + +#: rs03-verify.c:593 +msgid "- Checking ecc blocks (deep verify) -" +msgstr "- Prüfe Fehlerkorrektur-Blöcke (ausgiebiger Test) -" + +#: rs03-verify.c:608 +#, c-format +msgid "Out of memory; try reducing sector prefetch!" +msgstr "Zu wenig Speicher; bitte weniger Sektoren im Voraus laden!" + +#: rs03-verify.c:610 +msgid "* Ecc block test : out of memory; try reducing sector prefetch!\n" +msgstr "* Ecc-Bereich-Test : Speichermangel; bitte weniger Sektoren im Voraus laden!\n" + +#: rs03-verify.c:700 +#, c-format +msgid "%d%% tested" +msgstr "%d%% überprüft" + +#: rs03-verify.c:702 +#, c-format +msgid "- Ecc block test : %d%% tested" +msgstr "- Ecc-Bereich-Test : %d%% überprüft" + +#: rs03-verify.c:708 +#, c-format +msgid "%lld good, %lld bad; %d%% tested" +msgstr "%lld gut, %lld schlecht; %d%% überprüft" + +#: rs03-verify.c:710 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %d%% tested" +msgstr "* Ecc-Bereich-Test : %lld gut, %lld schlecht; %d%% überprüft" + +#: rs03-verify.c:720 +msgid "pass" +msgstr "fehlerfrei" + +#: rs03-verify.c:722 +msgid "- Ecc block test : pass\n" +msgstr "- Ecc-Bereich-Test : fehlerfrei\n" + +#: rs03-verify.c:727 +#, c-format +msgid "%lld good, %lld bad; %lld bad sub blocks" +msgstr "%lld gut, %lld schlecht; %lld schlechte Teilblöcke" + +#: rs03-verify.c:729 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %lld bad sub blocks\n" +msgstr "* Ecc-Bereich-Test : %lld gut; %lld schlecht; %lld schlechte Teilblöcke\n" + +#: rs03-verify.c:782 +#, c-format +msgid "" +"\n" +"%s present.\n" +msgstr "" +"\n" +"%s vorhanden.\n" + +#: rs03-verify.c:801 +#, c-format +msgid "%s present.\n" +msgstr "%s vorhanden.\n" + +#: rs03-verify.c:821 +msgid "" +"\n" +"Error correction properties:\n" +msgstr "" +"\n" +"Eigenschaften der Fehlerkorrektur:\n" + +#: rs03-verify.c:830 +#, c-format +msgid "Ecc file is %lld sectors shorter than expected." +msgstr "Fehlerkorrektur-Datei ist %lld Sektoren kürzer als erwartet." + +#: rs03-verify.c:832 +#, c-format +msgid "Ecc file is %lld sectors longer than expected." +msgstr "Fehlerkorrektur-Datei ist %lld Sektoren länger als erwartet." + +#: rs03-verify.c:838 +#, c-format +msgid "* Warning : %s\n" +msgstr "* Warnung : %s\n" + +#: rs03-verify.c:846 +msgid "- type : Error correction file\n" +msgstr "- Typ : Fehlerkorrektur-Datei\n" + +#: rs03-verify.c:847 +msgid "- type : Augmented image\n" +msgstr "- Typ : Erweitertes Abbild\n" + +#: rs03-verify.c:851 +msgid "Error correction file" +msgstr "Fehlerkorrektur-Datei" + +#: rs03-verify.c:852 +msgid "Augmented image" +msgstr "Erweitertes Abbild" + +#: rs03-verify.c:887 +msgid "- created by : dvdisaster" +msgstr "- Erzeugt von : dvdisaster" + +#: rs03-verify.c:900 +#, c-format +msgid "- created by : dvdisaster-%d.%d\n" +msgstr "- Erzeugt von : dvdisaster-%d.%d\n" + +#: rs03-verify.c:919 +#, c-format +msgid "- requires : dvdisaster-%s\n" +msgstr "- Benötigt : dvdisaster-%s\n" + +#: rs03-verify.c:925 +#, c-format +msgid "" +"* requires : dvdisaster-%s (BAD)\n" +"* Warning : The following output might be incorrect.\n" +"* : Please visit http://www.dvdisaster.com for an upgrade.\n" +msgstr "" +"* Benötigt : dvdisaster-%s (SCHLECHT)\n" +"* Warnung : Die folgenden Ausgaben können falsch sein.\n" +"* : Bitte besuchen Sie http://www.dvdisaster.de\n" +"* : um eine neuere Version herunterzuladen.\n" + +#: rs03-verify.c:947 +msgid "none available" +msgstr "nicht vorhanden" + +#: rs03-verify.c:965 +msgid "" +"\n" +"Data integrity:\n" +msgstr "" +"\n" +"Zustand der Daten:\n" + +#: rs03-verify.c:987 +#, c-format +msgid "%lld in image; %lld in ecc file" +msgstr "%lld im Abbild; %lld in der Fehlerkorrektur-Datei" + +#: rs03-verify.c:989 +#, c-format +msgid "- sectors : %lld in image; %lld in ecc file\n" +msgstr "- Sektoren : %lld im Abbild; %lld in Fehlerkorrektur-Datei\n" + +#: rs03-verify.c:994 +#, c-format +msgid "%lld total / %lld data" +msgstr "%lld insges. / %lld Daten" + +#: rs03-verify.c:996 +#, c-format +msgid "- medium sectors : %lld total / %lld data\n" +msgstr "- Datentr.-Sektoren : %lld insges. / %lld Daten\n" + +#: rs03-verify.c:1002 +#, c-format +msgid "%lld (%lld expected)" +msgstr "%lld (%lld erwartet)" + +#: rs03-verify.c:1027 +#, c-format +msgid "Failed seeking to start of ecc file: %s\n" +msgstr "Ansteuern des Anfangs der Fehlerkorrektur-Datei fehlgeschlagen: %s\n" + +#: rs03-verify.c:1073 +#, c-format +msgid "premature end in ecc file (only %d bytes): %s\n" +msgstr "Unerwartetes Ende in der Fehlerkorrektur-Datei (nur %d bytes): %s\n" + +#: rs03-verify.c:1124 +msgid " (in ecc file)" +msgstr " (in der Fehlerkorrektur-Datei)" + +#: rs03-verify.c:1132 +#, c-format +msgid "* missing sector : %lld%s\n" +msgstr "* fehlender Sektor : %lld%s\n" + +#: rs03-verify.c:1133 +#, c-format +msgid "* missing sectors : %lld - %lld%s\n" +msgstr "* fehlende Sektoren : %lld - %lld%s\n" + +#: rs03-verify.c:1193 rs03-verify.c:1232 +#, c-format +msgid "%lld sectors missing; %lld signature errors" +msgstr "%lld Sektoren fehlen; %lld fehlerhafte Kennzeichen" + +#: rs03-verify.c:1217 +msgid "Error correction file:" +msgstr "Fehlerkorrektur-Datei:" + +#: rs03-verify.c:1248 +#, c-format +msgid "" +"- good image/file : all sectors present\n" +"- data md5sum : %s\n" +msgstr "" +"- Abbild/Datei gut : alle Sektoren vorhanden\n" +"- Daten-md5sum : %s\n" + +#: rs03-verify.c:1252 +#, c-format +msgid "* BAD image/file : %lld sectors missing\n" +msgstr "* SCHLECHT : %lld Sektoren fehlen\n" + +#: rs03-verify.c:1287 +#, c-format +msgid "Skipped; not useful on known defective image" +msgstr "Übersprungen da bei beschädigtem Abbild nicht sinnvoll" + +#: rs03-verify.c:1290 +msgid "* Ecc block test : skipped; not useful on defective image\n" +msgstr "* Ecc-Bereich-Test : Übersprungen da bei beschädigtem Abbild nicht sinnvoll\n" + +#: rs03-window.c:83 +msgid "1. Reserving space:" +msgstr "1. Speicherplatz reservieren:" + +#: rs03-window.c:102 +msgid "Encoder info:" +msgstr "Kodierer-Info:" + +#: rs03-window.c:111 +msgid "Performance:" +msgstr "Leistung:" + +#: rs03-window.c:120 +msgid "State:" +msgstr "Zustand:" + #: scsi-darwin.c:159 msgid "No CD/DVD drives found." msgstr "Keine CD/DVD-Laufwerke gefunden." @@ -4648,7 +5422,7 @@ msgstr "" "Keine CD/DVD in /dev gefunden.\n" "Es werden keine Laufwerke voreingestellt.\n" -#: scsi-layer.c:87 +#: scsi-layer.c:101 #, c-format msgid "" "Can open %s, but INQUIRY fails.\n" @@ -4662,27 +5436,27 @@ msgstr "" "Verwenden Sie entweder /dev/scd? oder /dev/sr?,\n" "oder schalten Sie die ide-scsi-Emulation ab.\n" -#: scsi-layer.c:95 +#: scsi-layer.c:109 #, c-format msgid "INQUIRY failed. Something is wrong with drive %s.\n" msgstr "INQUIRY fehlgeschlagen. Irgendetwas stimmt nicht mit Laufwerk %s.\n" -#: scsi-layer.c:124 +#: scsi-layer.c:138 #, c-format msgid "Device %s (%s) is not a CDROM drive." msgstr "Gerät %s (%s) ist kein CDROM." -#: scsi-layer.c:125 +#: scsi-layer.c:139 #, c-format msgid "Device %s (%s) is a hard disk." msgstr "Laufwerk %s (%s) ist eine Festplatte." -#: scsi-layer.c:416 +#: scsi-layer.c:430 #, c-format msgid "Incomplete %s" msgstr "Unvollständige %s" -#: scsi-layer.c:454 +#: scsi-layer.c:468 #, c-format msgid "" "%s\n" @@ -4691,16 +5465,16 @@ msgstr "" "%s\n" "Konnte Länge des Inhaltsverzeichnisses nicht ermitteln.\n" -#: scsi-layer.c:459 +#: scsi-layer.c:473 msgid "blank" msgstr "leer" -#: scsi-layer.c:473 scsi-layer.c:533 +#: scsi-layer.c:488 scsi-layer.c:549 #, c-format msgid "TOC info too long (%d), probably multisession.\n" msgstr "Inhaltsverzeichnis zu lang (%d), wahrscheinlich Mehrfach-Sitzung.\n" -#: scsi-layer.c:488 +#: scsi-layer.c:503 #, c-format msgid "" "%s\n" @@ -4709,7 +5483,7 @@ msgstr "" "%s\n" "Konnte Inhaltsverzeichnis nicht lesen.\n" -#: scsi-layer.c:515 +#: scsi-layer.c:530 #, c-format msgid "" "%s\n" @@ -4718,12 +5492,12 @@ msgstr "" "%s\n" "Konnte Länge des erweiterten Inhaltsverzeichnisses nicht ermitteln.\n" -#: scsi-layer.c:527 +#: scsi-layer.c:543 #, c-format msgid "TOC info too short, length %d.\n" msgstr "Inhaltsverzeichnis zu kurz, Länge %d.\n" -#: scsi-layer.c:551 +#: scsi-layer.c:569 #, c-format msgid "" "%s\n" @@ -4732,7 +5506,7 @@ msgstr "" "%s\n" "Konnte erweitertes Inhaltsverzeichnis nicht lesen.\n" -#: scsi-layer.c:560 +#: scsi-layer.c:578 #, c-format msgid "" "\n" @@ -4741,11 +5515,11 @@ msgstr "" "\n" "Unerwartetes Inhaltsverzeichnis-Format (Länge %d):\n" -#: scsi-layer.c:568 +#: scsi-layer.c:586 msgid "Consider sending a bug report.\n" msgstr "Erwägen Sie eine Fehlerbeschreibung einzusenden.\n" -#: scsi-layer.c:621 +#: scsi-layer.c:639 #, c-format msgid "" "%s\n" @@ -4754,14 +5528,14 @@ msgstr "" "%s\n" "Konnte Länge der DVD-Strukturbeschreibung nicht ermitteln.\n" -#: scsi-layer.c:632 +#: scsi-layer.c:651 #, c-format msgid "Could not query dvd physical structure - implausible packet length %d\n" msgstr "" "Konnte technische DVD-Strukturbeschreibung nicht ermitteln\n" "- ungültige Datenpaket-Größe %d\n" -#: scsi-layer.c:650 +#: scsi-layer.c:669 #, c-format msgid "" "%s\n" @@ -4770,12 +5544,12 @@ msgstr "" "%s\n" "Konnte technische DVD-Strukturbeschreibung nicht ermitteln.\n" -#: scsi-layer.c:679 scsi-layer.c:689 +#: scsi-layer.c:698 scsi-layer.c:708 #, c-format msgid "READ DVD STRUCTURE: implausible medium size, %lld-%lld=%lld sectors\n" msgstr "READ DVD STRUCTURE: ungültige Datenträger-Größe, %lld-%lld=%lld Sektoren\n" -#: scsi-layer.c:947 +#: scsi-layer.c:968 #, c-format msgid "" "%s\n" @@ -4784,7 +5558,7 @@ msgstr "" "%s\n" "Konnte Länge der BD-Strukturbeschreibung nicht ermitteln.\n" -#: scsi-layer.c:970 +#: scsi-layer.c:992 #, c-format msgid "" "%s\n" @@ -4793,7 +5567,7 @@ msgstr "" "%s\n" "Konnte technische DVD-Strukturbeschreibung nicht ermitteln.\n" -#: scsi-layer.c:1646 +#: scsi-layer.c:1673 #, c-format msgid "" "%s\n" @@ -4803,14 +5577,14 @@ msgstr "" "Konnte Länge der DVD-Strukturbeschreibung f�r Formatkode 1\n" "nicht ermitteln.\n" -#: scsi-layer.c:1656 +#: scsi-layer.c:1684 #, c-format msgid "Could not query dvd copyright info - implausible packet length %d\n" msgstr "" "Konnte DVD-Copyright-Information nicht ermitteln\n" "- ungültige Datenpaket-Größe %d\n" -#: scsi-layer.c:1671 +#: scsi-layer.c:1699 #, c-format msgid "" "%s\n" @@ -4819,23 +5593,23 @@ msgstr "" "%s\n" "Konnte DVD-Copyright-Information nicht ermitteln.\n" -#: scsi-layer.c:1731 +#: scsi-layer.c:1759 msgid "is undecideable because of read error" msgstr "ist aufgrund von Lesefehlern unbestimmbar" -#: scsi-layer.c:1737 +#: scsi-layer.c:1765 msgid "looks GOOD" msgstr "erscheint KORREKT" -#: scsi-layer.c:1743 +#: scsi-layer.c:1771 msgid "gives unformatted size (UNUSABLE)" msgstr "ist die unformatierte Größe (UNBRAUCHBAR)" -#: scsi-layer.c:1748 +#: scsi-layer.c:1776 msgid "is UNUSABLE" msgstr "ist UNBRAUCHBAR" -#: scsi-layer.c:1770 +#: scsi-layer.c:1798 #, c-format msgid "" "%s\n" @@ -4844,12 +5618,12 @@ msgstr "" "%s\n" "Konnte Datenträger-Größe nicht ermitteln.\n" -#: scsi-layer.c:1790 +#: scsi-layer.c:1818 #, c-format msgid "READ CAPACITY: implausible medium size, %lld sectors\n" msgstr "READ CAPACITY: ungültige Datenträger-Größe, %lld Sektoren\n" -#: scsi-layer.c:1869 +#: scsi-layer.c:1895 #, c-format msgid "" "Different media sizes depending on query method:\n" @@ -4862,7 +5636,7 @@ msgstr "" "READ DVD STRUCTURE: %lld Sektoren\n" "\n" -#: scsi-layer.c:1874 +#: scsi-layer.c:1900 msgid "" "Evaluation of returned medium sizes:\n" "\n" @@ -4870,15 +5644,15 @@ msgstr "" "Untersuchung der beiden Angaben:\n" "\n" -#: scsi-layer.c:1929 +#: scsi-layer.c:1955 msgid "Using value from READ CAPACITY" msgstr "Verwende den Wert von READ CAPACITY." -#: scsi-layer.c:1933 +#: scsi-layer.c:1959 msgid "Using value from READ DVD STRUCTURE" msgstr "Verwende den Wert von READ DVD STRUCTURE." -#: scsi-layer.c:1943 +#: scsi-layer.c:1969 #, c-format msgid "" "FAILED to determine image size.\n" @@ -4889,7 +5663,7 @@ msgstr "" "Verwende den kleineren Wert (funktioniert bei 90%% aller Laufwerke).\n" "Weitermachen auf EIGENE GEFAHR: das Abbild kann unvollständig/unbrauchbar sein." -#: scsi-layer.c:1948 +#: scsi-layer.c:1974 #, c-format msgid "" "Final decision: %s\n" @@ -4898,7 +5672,7 @@ msgstr "" "Abschließende Entscheidung: %s\n" "\n" -#: scsi-layer.c:1956 +#: scsi-layer.c:1982 msgid "" "Failed to determine image size.\n" "Try using a different drive." @@ -4906,7 +5680,7 @@ msgstr "" "Größe des Datenträger-Inhaltes ist unbestimmbar.\n" "Probieren Sie ein anderes Laufwerk." -#: scsi-layer.c:2081 scsi-layer.c:2107 +#: scsi-layer.c:2106 scsi-layer.c:2132 #, c-format msgid "" "%s\n" @@ -4915,7 +5689,7 @@ msgstr "" "%s\n" "Der Datenträger konnte nicht geladen/ausgeworfen werden.\n" -#: scsi-layer.c:2097 +#: scsi-layer.c:2122 #, c-format msgid "" "%s\n" @@ -4924,37 +5698,37 @@ msgstr "" "%s\n" "Der Datenträger konnte nicht freigegeben werden.\n" -#: scsi-layer.c:2160 +#: scsi-layer.c:2185 #, c-format msgid "Waiting 10 seconds for drive: %d\n" msgstr "Warte 10 Sekunden auf das Laufwerk: %d\n" -#: scsi-layer.c:2443 +#: scsi-layer.c:2468 #, c-format msgid "Sectors %lld - %lld: %s\n" msgstr "Sektoren %lld - %lld: %s\n" -#: scsi-layer.c:2457 +#: scsi-layer.c:2482 #, c-format msgid "Sector %lld, try %d: %s Sector returned: %d.\n" msgstr "Sektor %lld, Versuch %d: %s Zurückgegebener Sektor: %d.\n" -#: scsi-layer.c:2463 +#: scsi-layer.c:2488 #, c-format msgid "Sector %lld, try %d: %s\n" msgstr "Sektor %lld, Versuch %d: %s\n" -#: scsi-layer.c:2474 +#: scsi-layer.c:2499 #, c-format msgid "Sector %lld, try %d: success\n" msgstr "Sektor %lld, Versuch %d: erfolgreich\n" -#: scsi-layer.c:2541 scsi-layer.c:2694 +#: scsi-layer.c:2566 scsi-layer.c:2711 #, c-format msgid "Device %s: no medium present\n" msgstr "Laufwerk %s: kein Datenträger eingelegt\n" -#: scsi-layer.c:2542 scsi-layer.c:2695 +#: scsi-layer.c:2567 scsi-layer.c:2712 #, c-format msgid "" "Device %s does not become ready:\n" @@ -4965,7 +5739,7 @@ msgstr "" "%s\n" "\n" -#: scsi-layer.c:2547 +#: scsi-layer.c:2571 #, c-format msgid "" "\n" @@ -4974,63 +5748,54 @@ msgstr "" "\n" "Laufwerk: %s, %s\n" -#: scsi-layer.c:2551 -#, c-format -msgid "" -"\n" -"Device: %s (%s), %s\n" -msgstr "" -"\n" -"Laufwerk: %s (%s), %s\n" - -#: scsi-layer.c:2559 +#: scsi-layer.c:2577 msgid "Drive failed to report media type." msgstr "Laufwerk erkennt den Datenträger-Typ nicht." -#: scsi-layer.c:2570 scsi-layer.c:2657 +#: scsi-layer.c:2588 scsi-layer.c:2674 #, c-format msgid "This software does not support \"%s\" type media." msgstr "Dieses Programm unterstützt keine Datenträger vom Typ \"%s\"." -#: scsi-layer.c:2578 +#: scsi-layer.c:2596 #, c-format msgid "This software does not support multisession (%d sessions) media." msgstr "" "Dieses Programm unterstützt keine Mehrfach-Sitzungen (%d Sitzungen).\n" "(für Anglophile: Multisession-CDs sind gemeint ;-)" -#: scsi-layer.c:2601 scsi-layer.c:2610 +#: scsi-layer.c:2619 scsi-layer.c:2628 msgid "Using READ CD" msgstr "Verwende READ CD" -#: scsi-layer.c:2602 +#: scsi-layer.c:2620 msgid ", RAW reading" msgstr ", \"RAW\"-Lesen" -#: scsi-layer.c:2605 +#: scsi-layer.c:2623 #, c-format msgid ", Mode page 1 ERP = %02xh" msgstr ", Mode page 1 ERP = %02xh" -#: scsi-layer.c:2608 +#: scsi-layer.c:2626 msgid ", C2 scanning" msgstr ", C2-Überprüfung" -#: scsi-layer.c:2615 +#: scsi-layer.c:2633 msgid "Using READ(10).\n" msgstr "Verwende READ(10).\n" -#: scsi-layer.c:2634 +#: scsi-layer.c:2651 #, c-format msgid "Medium: %s, %lld sectors%s" msgstr "Datenträger: %s, %lld Sektoren%s" -#: scsi-layer.c:2638 +#: scsi-layer.c:2655 #, c-format msgid "Medium \"%s\": %s, %lld sectors%s created %s" msgstr "Datenträger \"%s\": %s, %lld Sektoren%s erzeugt %s" -#: scsi-layer.c:2664 +#: scsi-layer.c:2681 msgid "This software does not support encrypted media.\n" msgstr "Dieses Programm unterstützt keine verschlüsselten Datenträger.\n" @@ -5050,43 +5815,7 @@ msgstr "" "* Nicht unterstütztes Betriebssystem - keine SCSI-Schicht verfügbar.\n" "* Keine Laufwerke können verwendet werden.\n" -#: scsi-win32.c:415 -msgid "ASPI manager present, but no CD/DVD drives managed.\n" -msgstr "ASPI-Manager vorhanden, aber keine CD/DVD zugeordnet.\n" - -#: scsi-win32.c:417 -#, c-format -msgid "" -"%d SPTI drives, but %d ASPI drives.\n" -"Drive letter mapping for ASPI drives is probably incorrect.\n" -msgstr "" -"%d SPTI Laufwerke und %d ASPI Laufwerke.\n" -"Die Buchstaben-Zuordnung für ASPI-Laufwerke stimmt wahrscheinlich nicht.\n" - -#: scsi-win32.c:435 -msgid "" -"\n" -"List of ASPI CD/DVD drives:\n" -msgstr "" -"\n" -"Liste der ASPI CD/DVD-Laufwerke:\n" - -#: scsi-win32.c:440 -msgid "" -"\n" -"To force ASPI usage over SPTI, refer to the drive by the\n" -"above numbers (use 1:, 2:,... instead of C:, D:,...)\n" -msgstr "" -"\n" -"Um die Benutzung von ASPI anstelle von SPTI zu erzwingen,\n" -"verwenden Sie die obigen Laufwerksnummern,\n" -"also 1:, 2:,... anstelle von C:, D:,...\n" - -#: scsi-win32.c:445 -msgid "ASPI manager not available or installed.\n" -msgstr "ASPI-Manager nicht verfügbar oder nicht installiert.\n" - -#: scsi-win32.c:569 +#: scsi-win32.c:161 #, c-format msgid "" "\n" @@ -5095,14 +5824,14 @@ msgstr "" "\n" "Unzulässiger Laufwerksname \"%s\" (verwenden Sie die Laufwerke \"C:\" ... \"Z:\")" -#: scsi-win32.c:659 +#: scsi-win32.c:245 #, c-format msgid "" "\n" -"Neither SPTI nor ASPI worked opening %s." +"Could not open device %s." msgstr "" "\n" -"%s kann weder mit SPTI noch mit ASPI geöffnet werden." +"Konnte Gerät %s nicht öffnen." #: show-manual.c:75 msgid "windowtitle|Choose a browser" @@ -5154,19 +5883,19 @@ msgstr "" msgid "Please hang on until the browser comes up!" msgstr "Bitte warten Sie bis der HTML-Betrachter erscheint!" -#: udf.c:143 +#: udf.c:142 msgid "Skip RS02 test" msgstr "Überspringe RS02-Test" -#: udf.c:144 +#: udf.c:143 msgid "Continue searching" msgstr "Weitersuchen" -#: udf.c:149 +#: udf.c:148 msgid "Disable RS02 initialization in the preferences" msgstr "RS02-Test in den Einstellungen dauerhaft abschalten" -#: udf.c:240 +#: udf.c:238 msgid "" "Faster medium initialization\n" "\n" @@ -5180,51 +5909,49 @@ msgstr "" "Informationen zu suchen. Wählen Sie \"Überspringe RS02-Test\" wenn Sie sicher sind,\n" "daß dieser Datenträger nicht mit RS02-Fehlerkorrektur-Informationen erweitert wurde." -#: udf.c:249 -msgid "" -"\n" -"Searching this medium for error correction data may take a long time.\n" -"If you are certain that this medium was not augmented with RS02 error correction\n" -"data, you might wish to abort this command and re-run with the option\n" -"--query-size=udf\n" -msgstr "" -"\n" -"Es kann sehr lange dauern, auf diesem Datenträger nach Fehlerkorrektur-\n" -"Informationen zu suchen. Wenn Sie sicher sind, daß dieser Datenträger\n" -"nicht mit RS02-Fehlerkorrektur-Informationen erweitert wurde,\n" -"sollten Sie diesen Aufruf abbrechen und das Programm erneut mit der Option\n" -"--query-size=udf starten.\n" - -#: udf.c:533 +#: udf.c:524 msgid "Unnamed" msgstr "Unbenannt" -#: udf.c:624 +#: udf.c:615 msgid "Example disc" msgstr "Beispiel-CD" #: welcome-window.c:79 #, c-format msgid "" -"- New raw reading mode for CD media.\n" -"- Number of reading attempts can be selected\n" -"%s per sector and for the whole medium.\n" -"- Redesigned preferences dialog." +"- Development frameworks for Windows and OS X updated.\n" +"- Experimental multithreaded codec (RS03).\n" +"\n" +"Warning:\n" +"This version is experimental and for testing only.\n" +"It may contain bugs even in functions which worked\n" +"in previous versions.\n" +"\n" +"RS03 has not reached full recovery capacity yet and\n" +"is not recognized by linear and adaptive reading." msgstr "" -"- Neue \"Raw\"-Lesen-Betriebsart für CD-Datenträger.\n" -"- Anzahl der Leseversuche kann pro Sektor und\n" -"%s für den gesamten Datenträger ausgewählt werden.\n" -"- Überarbeiteter Dialog für Programm-Einstellungen." +"- Entwicklungsumgebungen für Windows und OS X erneuert.\n" +"- Experimenteller Kodierer für mehrere Prozessorkerne (RS03).\n" +"\n" +"Warnung:\n" +"Diese experimentelle Version ist nur zum Testen geeignet.\n" +"Sie kann Fehler enthalten, die auch Funktionen betreffen,\n" +"die in früheren Versionen bereits in Ordnung waren.\n" +"\n" +"Die Wiederherstellung von RS03 ist noch nicht immer möglich\n" +"und das Format wird vom linearen und angepaßten Lesen\n" +"noch nicht unterstützt. " -#: welcome-window.c:87 +#: welcome-window.c:93 msgid "Show this message again" msgstr "Diesen Text erneut anzeigen" -#: welcome-window.c:129 +#: welcome-window.c:135 msgid "Welcome to dvdisaster!" msgstr "Willkommen bei dvdisaster!" -#: welcome-window.c:131 +#: welcome-window.c:137 msgid "" "\n" "dvdisaster creates error correction data to protect\n" @@ -5234,7 +5961,7 @@ msgstr "" "dvdisaster erzeugt Fehlerkorrektur-Daten um CD- und\n" "DVD-Datenträger gegen Datenverlust zu schützen.\n" -#: welcome-window.c:134 +#: welcome-window.c:140 msgid "" "Please see the manual for [typical uses] of dvdisaster.\n" "\n" @@ -5242,9 +5969,13 @@ msgstr "" "Im Handbuch sind [typische Anwendungen] beschrieben.\n" "\n" -#: welcome-window.c:137 +#: welcome-window.c:143 msgid "New in this Version:" msgstr "Neu in dieser Version:" -#~ msgid "DVD 2 layers" -#~ msgstr "Zweilagige DVD" +#~ msgid "" +#~ "Image file already exists and does not match the CD/DVD.\n" +#~ "The existing image file will be deleted." +#~ msgstr "" +#~ "Die bereits vorhandene Abbild-Datei paßt nicht zu der CD/DVD.\n" +#~ "Soll die Abbild-Datei gelöscht werden?" diff --git a/locale/it.po b/locale/it.po index 1c2210c..9a813ad 100644 --- a/locale/it.po +++ b/locale/it.po @@ -1,14 +1,14 @@ # Italian translations for dvdisaster package by Andrea Polverini (polve@polve.com) # Italian messages for dvdisaster. -# Copyright (C) 2004-2009 THE dvdisaster'S COPYRIGHT HOLDER +# Copyright (C) 2004-2010 THE dvdisaster'S COPYRIGHT HOLDER # This file is distributed under the same license as the dvdisaster package. -# Carsten Gnörlich , 2009. +# Carsten Gnörlich , 2010. # msgid "" msgstr "" "Project-Id-Version: dvdisaster 0.52.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-06 12:32+0200\n" +"POT-Creation-Date: 2010-02-27 19:02+0100\n" "PO-Revision-Date: 2005-01-01 14:24+0100\n" "Last-Translator: Andrea Polverini \n" "Language-Team: Italian <>\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: closure.c:568 +#: closure.c:571 #, c-format msgid "" "# dvdisaster-%s configuration file\n" @@ -30,39 +30,39 @@ msgstr "" "# e sarà sovrascritto ogni volta che verrà eseguito dvdisaster\n" "\n" -#: closure.c:769 closure.c:777 closure.c:784 +#: closure.c:774 closure.c:782 closure.c:789 msgid "medium.iso" msgstr "" -#: closure.c:770 closure.c:778 closure.c:785 +#: closure.c:775 closure.c:783 closure.c:790 msgid "medium.ecc" msgstr "" -#: closure.c:771 closure.c:779 closure.c:786 +#: closure.c:776 closure.c:784 closure.c:791 msgid "sector-" msgstr "" -#: crcbuf.c:45 rs01-common.c:121 rs01-create.c:243 rs01-verify.c:770 +#: crcbuf.c:45 rs01-common.c:144 rs01-create.c:256 rs01-verify.c:781 #, c-format msgid "Failed skipping the ecc header: %s" msgstr "" -#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:229 +#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:252 #, c-format msgid "Error reading CRC information: %s" msgstr "Errore di lettura delle informazioni CRC: %s" -#: debug.c:55 debug.c:456 debug.c:1084 debug.c:1161 +#: debug.c:53 debug.c:445 debug.c:1073 debug.c:1150 msgid "2nd argument is missing" msgstr "Il secondo argomento è mancante" -#: debug.c:62 +#: debug.c:60 msgid "" "Number of roots must be 8..100;\n" "the number of erasures must be > 0 and less than the number of roots.\n" msgstr "" -#: debug.c:81 debug.c:172 debug.c:310 +#: debug.c:79 debug.c:170 #, c-format msgid "" "\n" @@ -71,29 +71,31 @@ msgstr "" "\n" "Generazione di cancellazioni correggibili casuali (%d radici, max = %d).\n" -#: debug.c:112 debug.c:202 debug.c:250 debug.c:341 debug.c:385 debug.c:698 -#: debug.c:798 debug.c:1125 debug.c:1133 debug.c:1240 rs01-common.c:54 -#: rs02-common.c:62 rs02-create.c:336 rs02-create.c:982 rs02-fix.c:387 -#: rs02-verify.c:393 +#: debug.c:110 debug.c:200 debug.c:248 debug.c:374 debug.c:687 debug.c:787 +#: debug.c:1114 debug.c:1122 debug.c:1229 rs01-common.c:77 rs02-common.c:62 +#: rs02-create.c:340 rs02-create.c:986 rs02-fix.c:387 rs02-verify.c:393 +#: rs03-common.c:97 rs03-create.c:583 rs03-create.c:610 rs03-recognize.c:263 +#: rs03s-create.c:85 rs03s-create.c:982 rs03s-create.c:1008 rs03-verify.c:425 #, c-format msgid "Failed seeking to sector %lld in image: %s" msgstr "" -#: debug.c:117 debug.c:207 debug.c:255 debug.c:346 debug.c:390 debug.c:536 -#: debug.c:658 debug.c:703 debug.c:1137 debug.c:1244 debug.c:1284 -#: rs02-create.c:359 rs02-create.c:385 rs02-create.c:985 udf.c:1108 udf.c:1166 -#: udf.c:1223 udf.c:1236 udf.c:1241 udf.c:1244 udf.c:1247 udf.c:1250 -#: udf.c:1253 udf.c:1256 +#: debug.c:115 debug.c:205 debug.c:253 debug.c:379 debug.c:525 debug.c:647 +#: debug.c:692 debug.c:1126 debug.c:1233 debug.c:1273 rs02-create.c:363 +#: rs02-create.c:389 rs02-create.c:989 rs03-create.c:588 rs03-create.c:614 +#: rs03s-create.c:985 rs03s-create.c:1011 udf.c:1113 udf.c:1171 udf.c:1228 +#: udf.c:1241 udf.c:1246 udf.c:1249 udf.c:1252 udf.c:1255 udf.c:1258 +#: udf.c:1261 #, c-format msgid "Failed writing to sector %lld in image: %s" msgstr "" -#: debug.c:125 debug.c:261 debug.c:396 debug.c:662 debug.c:710 debug.c:1258 +#: debug.c:123 debug.c:259 debug.c:385 debug.c:651 debug.c:699 debug.c:1247 #, c-format msgid "Progress: %3d%%" msgstr "Avanzamento: %3d%%" -#: debug.c:130 debug.c:266 debug.c:401 +#: debug.c:128 debug.c:264 debug.c:390 #, c-format msgid "" "Progress: 100%%\n" @@ -105,73 +107,102 @@ msgstr "" "Altrimenti accumulerete >= %d cancellazioni/Blocchi ECC e l'immagine sarà compromessa.\n" "\n" -#: debug.c:163 debug.c:301 +#: debug.c:161 debug.c:302 #, c-format msgid "Number of erasures must be > 0 and <= %d\n" msgstr "" -#: debug.c:463 debug.c:1090 +#: debug.c:314 raw-sector-cache.c:34 raw-sector-cache.c:201 +#: raw-sector-cache.c:335 rs01-verify.c:542 scsi-freebsd.c:113 +#: scsi-linux.c:100 scsi-netbsd.c:111 scsi-solaris.c:127 +#, c-format +msgid "Could not open %s: %s" +msgstr "Non posso aprire %s: %s" + +#: debug.c:318 +#, c-format +msgid "" +"\n" +"RS03 error correction file with %d roots.\n" +msgstr "" + +#: debug.c:319 +#, c-format +msgid "" +"\n" +"RS03 augmented image with %d roots.\n" +msgstr "" + +#: debug.c:320 +#, c-format +msgid "Generating at most %d random correctable erasures.\n" +msgstr "" + +#: debug.c:452 debug.c:1079 msgid "3rd argument is missing" msgstr "Il terzo argomento è mancante" -#: debug.c:470 debug.c:791 debug.c:837 debug.c:898 +#: debug.c:459 debug.c:780 debug.c:826 debug.c:887 #, c-format msgid "Sector must be in range [0..%lld]\n" msgstr "I Settori devono rientrare nell'intervallo [0..%lld]\n" -#: debug.c:473 +#: debug.c:462 msgid "Byte position must be in range [0..2047]" msgstr "La Byte-Position deve rientrare nell'intervallo [0..2047]" -#: debug.c:476 +#: debug.c:465 msgid "Byte value must be in range [0..255]" msgstr "Il valore del Byte deve rientrare nell'intervallo [0..255]" -#: debug.c:478 +#: debug.c:467 #, c-format msgid "Setting byte %d in sector %lld to value %d.\n" msgstr "Settaggio del byte %d nel settore %lld al valore %d.\n" -#: debug.c:485 debug.c:524 rs02-create.c:182 rs02-verify.c:685 +#: debug.c:474 debug.c:513 rs02-create.c:186 rs02-verify.c:697 +#: rs03-verify.c:1023 #, c-format msgid "Failed seeking to start of image: %s\n" msgstr "" -#: debug.c:488 +#: debug.c:477 msgid "Could not write the new byte value" msgstr "Impossibile scrivere il nuovo valore del byte" -#: debug.c:517 read-adaptive.c:537 +#: debug.c:506 read-adaptive.c:537 #, c-format msgid "Sectors must be in range [0..%lld].\n" msgstr "I settori devi rientrare nell'intervallo [0..%lld].\n" -#: debug.c:519 +#: debug.c:508 #, c-format msgid "Erasing sectors [%lld,%lld]\n" msgstr "Cancellazione settori [%lld,%lld]\n" -#: debug.c:561 +#: debug.c:550 #, c-format msgid "New length must be in range [0..%lld].\n" msgstr "" -#: debug.c:563 +#: debug.c:552 #, c-format msgid "Truncating image to %lld sectors.\n" msgstr "" -#: debug.c:568 read-linear.c:1398 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 -#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:148 rs02-fix.c:241 -#: rs02-fix.c:262 rs02-fix.c:277 +#: debug.c:557 read-linear.c:1361 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 +#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:151 rs02-fix.c:241 +#: rs02-fix.c:262 rs02-fix.c:277 rs03-create.c:177 rs03-create.c:245 +#: rs03-fix.c:269 rs03-fix.c:290 rs03-fix.c:305 rs03s-create.c:171 +#: rs03s-create.c:227 #, c-format msgid "Could not truncate %s: %s\n" msgstr "Non posso troncare %s: %s\n" -#: debug.c:594 debug.c:1105 debug.c:1113 debug.c:1170 debug.c:1175 file.c:59 -#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1166 -#: read-adaptive.c:1198 read-linear.c:307 read-linear.c:309 read-linear.c:340 -#: read-linear.c:342 +#: debug.c:583 debug.c:1094 debug.c:1102 debug.c:1159 debug.c:1164 file.c:59 +#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1164 +#: read-adaptive.c:1196 read-linear.c:277 read-linear.c:279 read-linear.c:310 +#: read-linear.c:312 #, c-format msgid "" "Can't open %s:\n" @@ -180,7 +211,7 @@ msgstr "" "Impossibile aprire %s:\n" "%s" -#: debug.c:598 +#: debug.c:587 #, c-format msgid "" "\n" @@ -199,7 +230,7 @@ msgstr "" "dvdisaster --debug %s %lld --random-seed %d\n" "\n" -#: debug.c:670 file.c:107 read-adaptive.c:150 read-linear.c:111 +#: debug.c:659 file.c:107 read-adaptive.c:150 read-linear.c:111 #: read-linear.c:114 #, c-format msgid "" @@ -209,11 +240,11 @@ msgstr "" "Errore durante la chiusura del file immagine:\n" "%s" -#: debug.c:684 +#: debug.c:673 msgid "Replacing the \"unreadable sector\" markers with zeros.\n" msgstr "Sostituzione dei marcatori \"unreadable sector\" con zeri.\n" -#: debug.c:691 +#: debug.c:680 #, c-format msgid "" "Could not read image sector %lld:\n" @@ -222,61 +253,62 @@ msgstr "" "Impossibile leggere il settore %lld dell'immagine:\n" "%s\n" -#: debug.c:715 +#: debug.c:704 #, c-format msgid "%lld \"unreadable sector\" markers replaced.\n" msgstr "%lld marcatori \"unreadable sector\" sostituiti.\n" -#: debug.c:793 debug.c:840 debug.c:901 +#: debug.c:782 debug.c:829 debug.c:890 #, c-format msgid "" "Contents of sector %lld:\n" "\n" msgstr "Contenuto del settore %lld:\n" -#: debug.c:802 debug.c:1129 debug.c:1198 debug.c:1202 debug.c:1280 -#: rs01-common.c:70 rs02-common.c:67 rs02-create.c:199 rs02-fix.c:390 +#: debug.c:791 debug.c:1118 debug.c:1187 debug.c:1191 debug.c:1269 +#: rs01-common.c:93 rs02-common.c:67 rs02-create.c:203 rs02-fix.c:390 +#: rs03-common.c:102 rs03-recognize.c:268 rs03s-create.c:90 #, c-format msgid "Failed reading sector %lld in image: %s" msgstr "" -#: debug.c:851 +#: debug.c:840 #, c-format msgid "Failed reading sector %lld: %s" msgstr "" -#: debug.c:888 +#: debug.c:877 msgid "Raw reading only possible on CD media\n" msgstr "" -#: debug.c:1096 +#: debug.c:1085 msgid "4th argument is missing" msgstr "" -#: debug.c:1109 +#: debug.c:1098 #, c-format msgid "Source sector must be in range [0..%lld]\n" msgstr "" -#: debug.c:1117 +#: debug.c:1106 #, c-format msgid "Destination sector must be in range [0..%lld]\n" msgstr "" -#: debug.c:1121 +#: debug.c:1110 #, c-format msgid "Copying sector %lld from %s to sector %lld in %s.\n" msgstr "" -#: ds-marker.c:172 +#: ds-marker.c:225 msgid "Stop reporting these errors" msgstr "" -#: ds-marker.c:173 +#: ds-marker.c:226 msgid "Continue reporting" msgstr "" -#: ds-marker.c:196 +#: ds-marker.c:249 #, c-format msgid "" "\n" @@ -286,7 +318,7 @@ msgid "" "\n" msgstr "" -#: ds-marker.c:207 +#: ds-marker.c:260 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -302,7 +334,7 @@ msgid "" "error correction data for it. Sorry for the bad news.\n" msgstr "" -#: ds-marker.c:224 +#: ds-marker.c:277 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -318,7 +350,7 @@ msgid "" "error correction data for it. Sorry for the bad news.\n" msgstr "" -#: ds-marker.c:247 +#: ds-marker.c:300 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -334,7 +366,7 @@ msgid "" "error correction data for it. Sorry for the bad news.\n" msgstr "" -#: dvdisaster.c:39 main-window.c:139 +#: dvdisaster.c:39 main-window.c:144 #, c-format msgid "" "\n" @@ -352,32 +384,40 @@ msgstr "" #. TRANSLATORS: #. This is a dummy entry which is supposed to translate into "ok". #. Please do not return anything else here. -#: dvdisaster.c:281 dvdisaster.c:293 dvdisaster.c:309 +#: dvdisaster.c:308 dvdisaster.c:320 dvdisaster.c:336 msgid "test phrase for verifying the locale installation" msgstr "ok" -#: dvdisaster.c:472 +#: dvdisaster.c:486 +msgid "-o/--ecc-target expects 'file' or 'image'" +msgstr "" + +#: dvdisaster.c:512 #, c-format msgid "--threads must be 1..%d\n" msgstr "" -#: dvdisaster.c:486 +#: dvdisaster.c:526 msgid "--cache-size must at least be 8MB; 16MB or higher is recommended." msgstr "" -#: dvdisaster.c:488 +#: dvdisaster.c:528 msgid "--cache-size maximum is 8192MB." msgstr "" -#: dvdisaster.c:504 +#: dvdisaster.c:544 msgid "Valid args for --driver: sg" msgstr "" -#: dvdisaster.c:506 +#: dvdisaster.c:546 msgid "--driver is only supported on GNU/Linux" msgstr "" -#: dvdisaster.c:614 +#: dvdisaster.c:593 +msgid "--prefetch-sectors must be in range 32...8096" +msgstr "" + +#: dvdisaster.c:652 #, c-format msgid "" "\n" @@ -385,12 +425,12 @@ msgid "" "\n" msgstr "" -#: dvdisaster.c:678 +#: dvdisaster.c:716 #, c-format msgid "?? illegal getopt return value %d\n" msgstr "?? getopt ha restituito un valore illegale: %d\n" -#: dvdisaster.c:712 +#: dvdisaster.c:750 #, c-format msgid "" "dvdisaster is not properly installed.\n" @@ -399,7 +439,7 @@ msgstr "" #. TRANSLATORS: Program options like -r and --read are not to be translated #. to avoid confusion when discussing the program in international forums. -#: dvdisaster.c:876 +#: dvdisaster.c:910 msgid "" "\n" "Common usage examples:\n" @@ -423,7 +463,7 @@ msgstr "" " dvdisaster -u,--unlink # Cancella i file .iso (Quando le altre azioni sono concluse)\n" "\n" -#: dvdisaster.c:885 +#: dvdisaster.c:919 #, c-format msgid "" "Drive and file specification:\n" @@ -431,78 +471,202 @@ msgid "" " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" " -i,--image imagefile - name of image file (default: medium.iso)\n" " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +" -o,--ecc-target [file image] - where to put ecc data in RS03\n" msgstr "" -"Specifiche drive e file:\n" -" -d,--device periferica - Legge dalla periferica specificata (Standard: %s)\n" -" -p,--prefix prefisso - Prefisso del file .iso/.ecc (Standard: medium.* )\n" -" -i,--image Nome - Nome del file immagine (Standard: medium.iso)\n" -" -e,--ecc Nome - Nome del file di Parità (Standard: medium.ecc)\n" -#: dvdisaster.c:893 -msgid "" -" -l,--list - list drives available under ASPI manager\n" -"\n" +#: dvdisaster.c:929 +msgid "Tweaking options (see manual before using!)\n" +msgstr "Opzioni per \"smanettoni\" (Leggere il manuale prima di utilizzarle!!):\n" + +#: dvdisaster.c:930 +msgid " -a,--assume x,y,... - assume image is augmented with codec(s) x,y,...\n" msgstr "" -" -l,--list - Elenca i drive disponibili con ASPI manager\n" -"\n" -#: dvdisaster.c:898 +#: dvdisaster.c:931 +msgid " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" +msgstr " -j,--jump n - Salta n settori in avanti dopo un errore di lettura (Standard: 16)\n" + +#: dvdisaster.c:932 +msgid " -m n - list/select error correction methods (default: RS01)\n" +msgstr "" + +#: dvdisaster.c:933 #, c-format msgid "" -"Tweaking options (see manual before using!)\n" -" -j,--jump n - jump n sectors forward after a read error (default: 16)\n" -" -m n - list/select error correction methods (default: RS01)\n" " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" " maximum error correction image size (in sectors)\n" -" -v,--verbose - more diagnostic messages\n" -" --adaptive-read - use optimized strategy for reading damaged media\n" -" --auto-suffix - automatically add .iso and .ecc file suffixes\n" -" --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" -" --dao - assume DAO disc; do not trim image end\n" -" --defective-dump d - directory for saving incomplete raw sectors\n" -" --eject - eject medium after successful read\n" -" --fill-unreadable n - fill unreadable sectors with byte n\n" -" --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" -" --internal-rereads n - drive may attempt n rereads before reporting an error\n" -" --query-size n - query drive/udf/ecc for image size (default: ecc)\n" -" --raw-mode n - mode for raw reading CD media (20 or 21)\n" -" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -" --read-medium n - read the whole medium up to n times\n" -" --read-raw - performs read in raw mode if possible\n" -" --speed-warning n - print warning if speed changes by more than n percent\n" -" --spinup-delay n - wait n seconds for drive to spin up\n" -" --split-files - split image into files <= 2GB\n" -"\n" +msgstr "" +" -n,--redundancy n%% - ridondanza per la correzione degli errori,\n" +" maximum error correction image size (in sectors)\n" + +#: dvdisaster.c:935 +msgid " -v,--verbose - more diagnostic messages\n" msgstr "" -#: dvdisaster.c:924 -#, c-format -msgid "" -"Debugging options (purposefully undocumented and possibly harmful)\n" -" --debug - enables the following options\n" -" --byteset s,i,b - set byte i in sector s to b\n" -" --cdump - creates C #include file dumps instead of hexdumps\n" -" --compare-images a,b - compare sectors in images a and b\n" -" --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" -" --erase sector - erase the given sector\n" -" --erase n-m - erase sectors n - m, inclusively\n" -" --marked-image n - create image with n marked random sectors\n" -" --merge-images a,b merge image a with b (a receives sectors from b)\n" -" --random-errors r,e seed image with (correctable) random errors\n" -" --random-image n - create image with n sectors of random numbers\n" -" --random-seed n - random seed for built-in random number generator\n" -" --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" -" --read-sector n - shows hexdump of the given sector from medium in drive\n" -" --screen-shot - useful for generating screen shots\n" -" --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" -" --show-sector n - shows hexdump of the given sector in an image file\n" -" --sim-defects n - simulate n%% defective sectors on medium\n" -" --truncate n - truncates image to n sectors\n" -" --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" -"\n" +#: dvdisaster.c:936 +msgid " -x,--threads n - use n threads for en-/decoding (if supported by codec)\n" +msgstr "" + +#: dvdisaster.c:937 +msgid " --adaptive-read - use optimized strategy for reading damaged media\n" +msgstr " --adaptive-read - usare la strategia ottimizzata per leggere i supporti danneggiati\n" + +#: dvdisaster.c:938 +msgid " --auto-suffix - automatically add .iso and .ecc file suffixes\n" +msgstr " --auto-suffix - aggiungi automaticamente i suffissi .iso e .ecc\n" + +#: dvdisaster.c:939 +msgid " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" +msgstr " --cache-size n - Dimensione della cache in MB con la modalità -c (Standard: 32MB)\n" + +#: dvdisaster.c:940 +msgid " --dao - assume DAO disc; do not trim image end\n" +msgstr " --dao - Utilizza la modalità DAO; Il disco non sarà finalizzato\n" + +#: dvdisaster.c:941 +msgid " --defective-dump d - directory for saving incomplete raw sectors\n" +msgstr "" + +#: dvdisaster.c:943 +msgid " --driver=sg - use alternative sg driver (see man page!)\n" +msgstr "" + +#: dvdisaster.c:945 +msgid " --eject - eject medium after successful read\n" +msgstr "" + +#: dvdisaster.c:946 +msgid " --fill-unreadable n - fill unreadable sectors with byte n\n" +msgstr " --fill-unreadable n - Riempi i settori illeggibili con il byte n\n" + +#: dvdisaster.c:947 +msgid " --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" msgstr "" #: dvdisaster.c:948 +msgid " --internal-rereads n - drive may attempt n rereads before reporting an error\n" +msgstr "" + +#: dvdisaster.c:949 +msgid " --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n" +msgstr "" + +#: dvdisaster.c:950 +msgid " --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMB)\n" +msgstr "" + +#: dvdisaster.c:951 +msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" +msgstr "" + +#: dvdisaster.c:952 +msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" +msgstr "" + +#: dvdisaster.c:953 +msgid " --read-medium n - read the whole medium up to n times\n" +msgstr "" + +#: dvdisaster.c:954 +msgid " --read-raw - performs read in raw mode if possible\n" +msgstr "" + +#: dvdisaster.c:955 +msgid " --speed-warning n - print warning if speed changes by more than n percent\n" +msgstr " --speed-warning n - Evidenzia messaggio di ATTENZIONE se la velocità cambia più del n percento.\n" + +#: dvdisaster.c:956 +msgid " --spinup-delay n - wait n seconds for drive to spin up\n" +msgstr " --spinup-delay n - Attendere n secondi per far avviare il drive\n" + +#: dvdisaster.c:960 +msgid "Debugging options (purposefully undocumented and possibly harmful)\n" +msgstr "Opzioni di Debug (volutamente non documentate e possibilmente pericolose!)\n" + +#: dvdisaster.c:961 +msgid " --debug - enables the following options\n" +msgstr " --debug - attiva le senguenti opzioni\n" + +#: dvdisaster.c:962 +msgid " --byteset s,i,b - set byte i in sector s to b\n" +msgstr " --byteset s,i,b - setta il byte i nel settore s al valore b\n" + +#: dvdisaster.c:963 +msgid " --cdump - creates C #include file dumps instead of hexdumps\n" +msgstr "" + +#: dvdisaster.c:964 +msgid " --compare-images a,b - compare sectors in images a and b\n" +msgstr "" + +#: dvdisaster.c:965 +msgid " --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" +msgstr "" + +#: dvdisaster.c:966 +msgid " --erase sector - erase the given sector\n" +msgstr " --erase sector - Cancella il settore specificato\n" + +#: dvdisaster.c:967 +msgid " --erase n-m - erase sectors n - m, inclusively\n" +msgstr " --erase n-m - Cancella i settori da n ad m inclusi\n" + +#: dvdisaster.c:968 +msgid " --marked-image n - create image with n marked random sectors\n" +msgstr "" + +#: dvdisaster.c:969 +msgid " --merge-images a,b merge image a with b (a receives sectors from b)\n" +msgstr "" + +#: dvdisaster.c:970 +msgid " --random-errors r,e seed image with (correctable) random errors\n" +msgstr " --random-errors r,e inserisce nell'immagine errori casuali (correggibili)\n" + +#: dvdisaster.c:971 +msgid " --random-image n - create image with n sectors of random numbers\n" +msgstr " --random-image n - create image with n sectors or random numbers\n" + +#: dvdisaster.c:972 +msgid " --random-seed n - random seed for built-in random number generator\n" +msgstr " --random-seed n - random seed for built-in random number generator\n" + +#: dvdisaster.c:973 +msgid " --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" +msgstr "" + +#: dvdisaster.c:974 +msgid " --read-sector n - shows hexdump of the given sector from medium in drive\n" +msgstr "" + +#: dvdisaster.c:975 +msgid " --screen-shot - useful for generating screen shots\n" +msgstr "" + +#: dvdisaster.c:976 +msgid " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" +msgstr " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" + +#: dvdisaster.c:977 +msgid " --show-sector n - shows hexdump of the given sector in an image file\n" +msgstr " --show-sector n - mostra l'hexdump del settore dato\n" + +#: dvdisaster.c:978 +#, c-format +msgid " --sim-defects n - simulate n%% defective sectors on medium\n" +msgstr " --sim-defects n - simulate n%% defective sectors on medium\n" + +#: dvdisaster.c:979 +msgid " --truncate n - truncates image to n sectors\n" +msgstr " --truncate n - truncates image to n sectors\n" + +#: dvdisaster.c:980 +msgid "" +" --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" +"\n" +msgstr " --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" + +#: dvdisaster.c:984 msgid "" "NOTE: This is the Windows console version of dvdisaster.\n" "The version providing a graphical user interface is called\n" @@ -510,7 +674,7 @@ msgid "" "\n" msgstr "" -#: dvdisaster.c:969 +#: dvdisaster.c:1005 msgid "Optical drive 52X FW 1.02" msgstr "" @@ -530,6 +694,22 @@ msgstr "" msgid "Reed-Solomon method with improved tolerance for defective ecc data" msgstr "" +#: ecc-rs03.c:39 +msgid "Multithreaded RS codec (RS03)" +msgstr "" + +#: ecc-rs03.c:40 +msgid "Multithreaded Reed-Solomon codec for error correction files and augmented images" +msgstr "" + +#: ecc-rs03s.c:39 +msgid "Single threaded RS codec (RSS3)" +msgstr "" + +#: ecc-rs03s.c:40 +msgid "Single threaded Reed-Solomon codec for error correction files and augmented images" +msgstr "" + #: file.c:39 #, c-format msgid "" @@ -543,7 +723,7 @@ msgstr "" msgid ": not present.\n" msgstr ": non presente.\n" -#: file.c:49 +#: file.c:49 rs03-common.c:175 #, c-format msgid "Image file %s not present." msgstr "File immagine %s non presente." @@ -580,7 +760,7 @@ msgstr "" "Impossibile leggere lo header Ecc:\n" "%s" -#: file.c:186 rs01-create.c:958 +#: file.c:186 rs01-create.c:971 #, c-format msgid "" "Error closing error correction file:\n" @@ -663,13 +843,13 @@ msgstr "Info su dvdisaster" #: help-dialogs.c:709 msgid "" -"Modified version Copyright 2009 (please fill in - [directions])\n" -"Copyright 2004-2009 Carsten Gnoerlich" +"Modified version Copyright 2010 (please fill in - [directions])\n" +"Copyright 2004-2010 Carsten Gnoerlich" msgstr "" #: help-dialogs.c:713 -msgid "Copyright 2004-2009 Carsten Gnoerlich" -msgstr "Copyright 2004-2009 Carsten Gnörlich" +msgid "Copyright 2004-2010 Carsten Gnoerlich" +msgstr "Copyright 2004-2010 Carsten Gnörlich" #: help-dialogs.c:720 msgid "" @@ -723,7 +903,7 @@ msgid "" "NetBSD port: Sergey Svishchev <svs@ropnet.ru>" msgstr "" -#: large-io.c:499 +#: large-io.c:250 #, c-format msgid "" "Error while writing the file:\n" @@ -733,84 +913,103 @@ msgid "" "You can redo this operation after freeing some space." msgstr "" -#: main-window.c:70 +#: main-window.c:57 #, c-format msgid "dvdisaster-%s log\n" msgstr "dvdisaster-%s protocollo\n" -#: main-window.c:241 +#: main-window.c:87 +msgid "" +"The .iso image and error correction file\n" +"must not be the same file!\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" + +#: main-window.c:97 +msgid "" +"The error correction file type must not be \".iso\".\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" + +#: main-window.c:246 msgid "button|Read" msgstr "Leggi" -#: main-window.c:244 +#: main-window.c:249 msgid "tooltip|Read Image" msgstr "Leggi Immagine" -#: main-window.c:244 +#: main-window.c:249 msgid "Reads a CD/DVD image into a file (or tries to complete an existing image file)." msgstr "Legge un'immagine CD/DVD in un file (oppure prova a completare un file immagine esistente)" -#: main-window.c:258 +#: main-window.c:263 msgid "button|Create" msgstr "Crea" -#: main-window.c:261 +#: main-window.c:266 msgid "tooltip|Create error correction data" msgstr "" -#: main-window.c:261 +#: main-window.c:266 msgid "Creates error correction data. Requires an image file." msgstr "" -#: main-window.c:265 +#: main-window.c:270 msgid "button|Scan" msgstr "Scansiona" -#: main-window.c:268 +#: main-window.c:273 msgid "tooltip|Scan medium" msgstr "Scansiona Supporto" -#: main-window.c:268 +#: main-window.c:273 msgid "Scans medium for unreadable sectors." msgstr "Scansiona il supporto per i settori illeggibili." -#: main-window.c:272 +#: main-window.c:277 msgid "button|Fix" msgstr "Ripara" -#: main-window.c:275 +#: main-window.c:280 msgid "tooltip|Repair image" msgstr "Ripara Immagine" -#: main-window.c:275 +#: main-window.c:280 msgid "Repairs an image. Requires an image file and error correction data." msgstr "" -#: main-window.c:279 +#: main-window.c:284 msgid "button|Verify" msgstr "" -#: main-window.c:282 +#: main-window.c:287 msgid "tooltip|Consistency check" msgstr "" -#: main-window.c:282 +#: main-window.c:287 msgid "Tests consistency of error correction data and image file." msgstr "" -#: main-window.c:286 +#: main-window.c:291 msgid "button|Stop" msgstr "Ferma" -#: main-window.c:289 +#: main-window.c:294 msgid "tooltip|Abort action" msgstr "Ferma Operazione" -#: main-window.c:289 +#: main-window.c:294 msgid "Aborts an ongoing action." msgstr "Ferma una operazione in esecuzione" -#: main-window.c:418 +#: main-window.c:423 #, c-format msgid "" "dvdisaster is not properly installed\n" @@ -818,15 +1017,15 @@ msgid "" "Please execute the installer program (%s) again.\n" msgstr "" -#: main-window.c:502 +#: main-window.c:507 msgid "tooltip|Protocol for current action" msgstr "Protocollo dell'operazione corrente" -#: main-window.c:503 +#: main-window.c:508 msgid "Displays additional information created during the current or last action." msgstr "Visualizza informazioni addizionali create durante l'operazione corrente o precedente." -#: main-window.c:512 +#: main-window.c:517 msgid "View log" msgstr "Protocollo" @@ -846,7 +1045,7 @@ msgstr "" msgid "finalized" msgstr "" -#: medium-info.c:89 scsi-layer.c:83 +#: medium-info.c:89 scsi-layer.c:97 msgid "unknown" msgstr "sconosciuto" @@ -858,8 +1057,8 @@ msgstr "" msgid "damaged" msgstr "" -#: medium-info.c:95 rs02-verify.c:669 rs02-verify.c:870 rs02-verify.c:871 -#: rs02-verify.c:872 +#: medium-info.c:95 rs02-verify.c:674 rs02-verify.c:880 rs02-verify.c:881 +#: rs02-verify.c:882 rs03-verify.c:1270 rs03-verify.c:1272 rs03-verify.c:1273 msgid "complete" msgstr "" @@ -935,7 +1134,7 @@ msgstr "" msgid "Book type:" msgstr "" -#: medium-info.c:308 scsi-layer.c:2645 +#: medium-info.c:308 scsi-layer.c:2662 msgid "Manuf.-ID:" msgstr "" @@ -1165,32 +1364,27 @@ msgstr "" "Elenco dei metodi disponibili:\n" "\n" -#: method.c:288 method.c:289 +#: method.c:133 method.c:134 +msgid "" +"\n" +"Error correction file type unknown.\n" +msgstr "" + +#: method.c:163 method.c:164 +msgid "" +"\n" +"No error correction data recognized in image.\n" +msgstr "" + +#: method.c:174 method.c:175 #, c-format msgid "Image file %s not present.\n" msgstr "File immagine %s non presente.\n" -#: method.c:313 method.c:318 -#, c-format -msgid "" -"\n" -"Unknown method %s.\n" -msgstr "" -"\n" -"Metodo %s sconosciuto.\n" - -#: method.c:314 method.c:319 -msgid "" -"\n" -"Neither ecc file nor ecc data in image found.\n" -msgstr "" -"\n" -"Non riesco a trovare nè il file ecc nè i dati ecc nell'immagine.\n" - #: misc.c:205 #, c-format -msgid "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnoerlich.\n" -msgstr "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnörlich.\n" +msgid "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnoerlich.\n" +msgstr "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnörlich.\n" #. TRANSLATORS: Excluding all kinds of warranty might be harmful under your #. legislature. If in doubt, just translate the following like "This is free @@ -1208,11 +1402,11 @@ msgstr "" "Per informazioni, leggete il file \"COPYING\".\n" "Traduzione italiana di Andrea Polverini (info@polve.com).\n" -#: misc.c:432 +#: misc.c:448 msgid "Warning" msgstr "Attenzione" -#: misc.c:495 misc.c:501 +#: misc.c:511 misc.c:517 msgid "" "\n" "*\n" @@ -1224,97 +1418,83 @@ msgstr "" "* dvdisaster - Impossibile proseguire:\n" "*\n" -#: preferences.c:444 +#: misc.c:1135 +msgid "Do not ask again" +msgstr "" + +#: misc.c:1156 +#, c-format +msgid "" +"Image file already exists and does not match the medium:\n" +"\n" +"%s\n" +"\n" +"The existing image file will be deleted." +msgstr "" + +#: misc.c:1175 +#, c-format +msgid "" +"The error correction file is already present:\n" +"\n" +"%s\n" +"\n" +"Overwrite it?" +msgstr "" + +#: preferences.c:448 msgid "Switched to the linear reading strategy." msgstr "Settata la strategia di lettura lineare" -#: preferences.c:812 +#: preferences.c:828 msgid "Color selection" msgstr "" -#: preferences.c:1069 +#: preferences.c:1047 msgid "Disabled automatic error correction file generation." msgstr "Disabilitata la generazione automatica della correzione dei file." -#: preferences.c:1232 preferences.c:2304 preferences.c:2313 +#: preferences.c:1210 preferences.c:2295 preferences.c:2304 msgid "Raw sector caching" msgstr "" -#: preferences.c:1304 +#: preferences.c:1282 msgid "Log file" msgstr "" -#: preferences.c:1326 +#: preferences.c:1304 msgid "Delete the log file?" msgstr "" -#: preferences.c:1419 +#: preferences.c:1398 msgid "Preferences" msgstr "Preferenze" -#: preferences.c:1449 +#: preferences.c:1428 rs03-preferences.c:486 msgid "Image" msgstr "" -#: preferences.c:1453 -msgid "Image size" -msgstr "" - -#: preferences.c:1460 -msgid "Image size determination" -msgstr "" - -#: preferences.c:1460 -msgid "Get Image size from: " -msgstr "" - -#: preferences.c:1472 preferences.c:1788 -msgid "Drive" -msgstr "Drive" - -#: preferences.c:1478 -msgid "ISO/UDF" -msgstr "" - -#: preferences.c:1484 -msgid "ECC/RS02" -msgstr "" - -#: preferences.c:1508 -msgid "" -"Image size determination\n" -"\n" -"Use ECC/RS02 for reading images augmented with error correction data; else pick ISO/UDF.\n" -"\n" -"ECC/RS02: The Image size is determined from the error correction data. Reading RS02 augmented images requires this option; otherwise the images may be incomplete. However if the medium does not contain error correction data, the start of the reading operation may be delayed significantly.\n" -"\n" -"ISO/UDF: The image size is determined from the ISO/UDF file system.\n" -"Caution: This is only suitable for working with error correction files. Images containing RS02 error correction information may be truncated.\n" -"\n" -"Drive: The image size reported by the drive will be used. As this information is typically wrong for DVD-RW/+RW/-RAM media this option is only present for backwards compatibility with older dvdisaster versions." -msgstr "" - -#: preferences.c:1527 +#: preferences.c:1432 msgid "Image creation" msgstr "" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy" msgstr "" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy: " msgstr "Strategia di lettura:" -#: preferences.c:1550 +#: preferences.c:1455 msgid "Linear" msgstr "Lineare" -#: preferences.c:1558 +#: preferences.c:1463 msgid "Adaptive (for defective media)" msgstr "Adattiva (per supporti difettosi)" -#: preferences.c:1570 +#: preferences.c:1475 msgid "" "Reading strategy\n" "\n" @@ -1329,19 +1509,19 @@ msgid "" "Using the adaptive strategy without error correction data is possible but it is recommended to use linear reading in that case." msgstr "" -#: preferences.c:1582 +#: preferences.c:1487 msgid "Reading range" msgstr "" -#: preferences.c:1582 +#: preferences.c:1487 msgid "Read/Scan from sector" msgstr "Leggi/Scansiona dal settore" -#: preferences.c:1607 +#: preferences.c:1512 msgid "to sector" msgstr "al settore" -#: preferences.c:1625 +#: preferences.c:1530 msgid "" "Reading range\n" "\n" @@ -1352,19 +1532,61 @@ msgid "" "These settings are only effective for the current session and will not be saved." msgstr "" -#: preferences.c:1635 +#: preferences.c:1540 +msgid "Error correction data recognization" +msgstr "" + +#: preferences.c:1549 +msgid "Exhaustive RS02 header search" +msgstr "" + +#: preferences.c:1549 +msgid "Perform exhaustive search for RS02 headers" +msgstr "" + +#: preferences.c:1569 +msgid "" +"Exhaustive RS02 header search\n" +"\n" +"When this setting is off only a quick check for RS02 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS02.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS02 data, but is not being recognized as such. Searching for the RS02 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS02 data. Otherwise you will waste a lot of time searching for the RS02 signatures and increase wear on the drive." +msgstr "" + +#: preferences.c:1588 +msgid "Recover RS03 signatures" +msgstr "" + +#: preferences.c:1588 +msgid "Find and recover RS03 signatures" +msgstr "" + +#: preferences.c:1608 +msgid "" +"Exhaustive RS03 header search\n" +"\n" +"When this setting is off only a quick check for RS03 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS03.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS03 data, but is not being recognized as such. Searching for the RS03 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS03 data. Otherwise you will waste a lot of time searching for the RS03 signatures and increase wear on the drive." +msgstr "" + +#: preferences.c:1627 msgid "Image properties" msgstr "Proprietà dell'immagine" -#: preferences.c:1644 +#: preferences.c:1636 msgid "DAO mode" msgstr "" -#: preferences.c:1644 +#: preferences.c:1636 msgid "Assume image to be written in DAO mode (don't truncate)" msgstr "Assumi che l'immagine verrà scritta in modalità DAO (non troncare)" -#: preferences.c:1664 +#: preferences.c:1656 msgid "" "Assume DAO mode\n" "\n" @@ -1375,19 +1597,19 @@ msgid "" "Tip: To avoid these problems, consider using the \"DAO / Disc at once\" (sometimes also called \"SAO / Session at once\") mode for writing single session media." msgstr "" -#: preferences.c:1680 +#: preferences.c:1671 msgid "Image format" msgstr "" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Missing sector tags" msgstr "" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Use new style missing sector tags (Warning: compatibility issues!)" msgstr "" -#: preferences.c:1709 +#: preferences.c:1700 msgid "" "Missing sector tagging\n" "\n" @@ -1396,15 +1618,15 @@ msgid "" "N.b.: dvdisaster >= 0.72 will automatically recognize both tag formats when reading images; setting this value only affects the creation of new images." msgstr "" -#: preferences.c:1728 +#: preferences.c:1719 msgid "Filling of unreadable sectors" msgstr "" -#: preferences.c:1729 +#: preferences.c:1720 msgid "Fill unreadable sectors with byte:" msgstr "Riempi i settori illeggibili con il byte:" -#: preferences.c:1768 +#: preferences.c:1759 msgid "" "Filling of unreadable sectors\n" "\n" @@ -1412,50 +1634,54 @@ msgid "" "In other data recovery software it is common to fill unreadable sectors with a certain byte value. To allow interoperability with such programs, you can specify the byte value they are using:\n" msgstr "" -#: preferences.c:1777 +#: preferences.c:1768 msgid "0xb0 (176 decimal): for compatibility with h2cdimage published by \"c't\", a German periodical.\n" msgstr "" -#: preferences.c:1781 +#: preferences.c:1772 msgid "Note: Using zero filling (0x00, decimal 0) is highly discouraged. Most media contain regular zero filled sectors which can not be told apart from unreadable sectors if zero filling is used." msgstr "" -#: preferences.c:1792 preferences.c:1795 +#: preferences.c:1779 +msgid "Drive" +msgstr "Drive" + +#: preferences.c:1783 preferences.c:1786 msgid "Drive initialisation" msgstr "Inizializzazione del drive" -#: preferences.c:1796 +#: preferences.c:1787 msgid "Wait" msgstr "Attendere" -#: preferences.c:1799 +#: preferences.c:1790 msgid "seconds for drive to spin up" msgstr "secondi per far avviare il drive" -#: preferences.c:1828 +#: preferences.c:1819 msgid "" "Drive initialisation\n" "\n" "Waits the specified amount of seconds for letting the drive spin up. This avoids speed jumps at the beginning of the reading curve." msgstr "" -#: preferences.c:1834 +#: preferences.c:1825 msgid "Raw reading parameters" msgstr "" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode" msgstr "" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode: " msgstr "" -#: preferences.c:1874 +#: preferences.c:1865 msgid "other:" msgstr "" -#: preferences.c:1908 +#: preferences.c:1899 msgid "" "Raw reading mode\n" "\n" @@ -1469,19 +1695,19 @@ msgid "" "0x01 Some drives do the right thing when given this value, although this makes no sense according to the SCSI specs. Try entering this value in the \"other\" field if the other choices do not work. See the mode page 01h documentation in chapter 6 of MMC3 or later for additional information." msgstr "" -#: preferences.c:1934 +#: preferences.c:1925 msgid "Internal read attempts" msgstr "" -#: preferences.c:1935 +#: preferences.c:1926 msgid "Reread defective sectors" msgstr "" -#: preferences.c:1938 +#: preferences.c:1929 msgid "times" msgstr "" -#: preferences.c:1968 +#: preferences.c:1959 msgid "" "Internal read attempts\n" "\n" @@ -1491,15 +1717,15 @@ msgid "" "Use the value -1 to leave the drive at its default setting." msgstr "" -#: preferences.c:1981 preferences.c:1984 +#: preferences.c:1972 preferences.c:1975 msgid "Fatal error handling" msgstr "" -#: preferences.c:1985 +#: preferences.c:1976 msgid "Ignore fatal errors" msgstr "" -#: preferences.c:2011 +#: preferences.c:2002 msgid "" "Fatal error handling\n" "\n" @@ -1507,15 +1733,15 @@ msgid "" "However some drives produce unfounded fatal messages. For such drives ignoring fatal errors may be needed to do uninterrupted reading of damaged media." msgstr "" -#: preferences.c:2021 +#: preferences.c:2012 msgid "Media ejection" msgstr "" -#: preferences.c:2024 preferences.c:2025 +#: preferences.c:2015 preferences.c:2016 msgid "Eject medium after sucessful read" msgstr "" -#: preferences.c:2051 +#: preferences.c:2042 msgid "" "Medium ejection\n" "\n" @@ -1524,23 +1750,23 @@ msgid "" "Note that the desktop environment may prevent other applications from ejecting media. In that case eject the medium through the desktop user interface." msgstr "" -#: preferences.c:2061 +#: preferences.c:2052 msgid "Read attempts" msgstr "" -#: preferences.c:2065 +#: preferences.c:2056 msgid "Sector read errors" msgstr "" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Raw reading" msgstr "" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Read and analyze raw sectors" msgstr "" -#: preferences.c:2095 +#: preferences.c:2086 msgid "" "Raw reading (affects CD media only)\n" "\n" @@ -1556,16 +1782,16 @@ msgid "" "Raw sector caching also needs checking of the respective option." msgstr "" -#: preferences.c:2112 +#: preferences.c:2103 msgid "Minimum number of reading attempts" msgstr "" -#: preferences.c:2114 preferences.c:2115 preferences.c:2120 preferences.c:2121 +#: preferences.c:2105 preferences.c:2106 preferences.c:2111 preferences.c:2112 #, c-format msgid "Min. %d reading attempts per sector" msgstr "" -#: preferences.c:2142 +#: preferences.c:2133 msgid "" "Minimum number of reading attempts\n" "\n" @@ -1574,16 +1800,16 @@ msgid "" "Increasing the number of reading attempts may improve data recovery on marginal media, but will also increase processing time and mechanical wear on the drive." msgstr "" -#: preferences.c:2151 +#: preferences.c:2142 msgid "Maximum number of reading attempts" msgstr "" -#: preferences.c:2153 preferences.c:2154 preferences.c:2159 preferences.c:2160 +#: preferences.c:2144 preferences.c:2145 preferences.c:2150 preferences.c:2151 #, c-format msgid "Max. %d reading attempts per sector" msgstr "" -#: preferences.c:2181 +#: preferences.c:2172 msgid "" "Maximum number of reading attempts\n" "\n" @@ -1592,21 +1818,21 @@ msgid "" "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your CD/DVD drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." msgstr "" -#: preferences.c:2195 +#: preferences.c:2186 msgid "Treatment of unreadable areas" msgstr "" -#: preferences.c:2197 preferences.c:2199 preferences.c:2200 preferences.c:2208 +#: preferences.c:2188 preferences.c:2190 preferences.c:2191 preferences.c:2199 #, c-format msgid "Skip %d sectors after read error" msgstr "Salta %d settori dopo l'errore di lettura" -#: preferences.c:2198 preferences.c:2203 preferences.c:2204 preferences.c:2209 +#: preferences.c:2189 preferences.c:2194 preferences.c:2195 preferences.c:2200 #, c-format msgid "Stop reading when unreadable intervals < %d" msgstr "" -#: preferences.c:2235 +#: preferences.c:2226 msgid "" "Treatment of unreadable areas\n" "\n" @@ -1615,34 +1841,34 @@ msgid "" "Effects on the linear reading strategy:" msgstr "" -#: preferences.c:2242 +#: preferences.c:2233 msgid "Skipping a large number of sectors (e.g. 1024) gives a quick overview of damaged areas, but will usually not collect enough data for repairing the image." msgstr "" -#: preferences.c:2246 +#: preferences.c:2237 msgid "Smaller values like 16, 32 or 64 are a good trade-off: The processing time will beconsiderably shortened, but still enough data for repairing the image is collected.\n" msgstr "" -#: preferences.c:2250 +#: preferences.c:2241 msgid "" "The adaptive reading strategy uses this setting only if no error correction data is available. In that case the reading process will stop when no unread areas larger than the selected size remain. Values smaller than 128 are not recommended as they cause the drive to carry out lots of laser head repositioning during the final phase of the reading process. If adaptive reading with a setting of 128 is not sufficient, try reading the remaining sectors with an additional linear reading pass.\n" "\n" "On DVD and BD media read errors do usually extend over at least 16 sectors for technical reasons. Therefore selecting a value less than 16 is not recommended for DVD and BD." msgstr "" -#: preferences.c:2263 preferences.c:2266 +#: preferences.c:2254 preferences.c:2257 msgid "Media read attempts" msgstr "" -#: preferences.c:2267 +#: preferences.c:2258 msgid "Read the whole medium " msgstr "" -#: preferences.c:2282 +#: preferences.c:2273 msgid " times" msgstr "" -#: preferences.c:2297 +#: preferences.c:2288 msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -1651,15 +1877,15 @@ msgid "" "Only the missing sectors will be tried in the additional reading passes." msgstr "" -#: preferences.c:2314 +#: preferences.c:2305 msgid "Keep uncorrectable raw sectors in the following directory:" msgstr "" -#: preferences.c:2321 preferences.c:3106 +#: preferences.c:2312 preferences.c:3105 msgid "Select" msgstr "" -#: preferences.c:2360 +#: preferences.c:2351 msgid "" "Raw sector caching\n" "\n" @@ -1671,298 +1897,304 @@ msgid "" "dvdisaster will not remove any files from the given directory; you need to clean it up manually after a successful medium recovery." msgstr "" -#: preferences.c:2378 +#: preferences.c:2369 msgid "Raw sector file prefix" msgstr "" -#: preferences.c:2379 +#: preferences.c:2370 msgid "Raw sector file prefix: " msgstr "" -#: preferences.c:2400 +#: preferences.c:2391 msgid "" "Raw sector file prefix\n" "\n" "Use a different prefix for each disk you are trying to recover, e.g. \"disk1-\" and so on." msgstr "" -#: preferences.c:2408 +#: preferences.c:2399 msgid "Error correction" msgstr "Correzione dell'errore" -#: preferences.c:2410 +#: preferences.c:2401 msgid "Error correction method" msgstr "" -#: preferences.c:2411 +#: preferences.c:2402 msgid "Storage method:" msgstr "" +#: preferences.c:2441 +msgid "" +"Error correction method\n" +"\n" +"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are different codecs and ways available for storing the error correction information:\n" +msgstr "" + #: preferences.c:2447 msgid "" -"Error correction method\n" -"\n" -"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are two different ways available for storing the error correction information:\n" +"The RS01 codec\n" +"RS01 is the recommended codec for storing error correction data in separate files.\n" msgstr "" -#: preferences.c:2453 +#: preferences.c:2450 msgid "" -"Error correction files (RS01 method)\n" -"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster, as data loss in an error correction file will render it unusable.\n" +"The RS02 codec\n" +"RS02 is the currently recommended codec for augmenting images with error correction data.\n" msgstr "" -#: preferences.c:2460 +#: preferences.c:2454 msgid "" -"Augmented images (RS02 method)\n" -"The error correction data will be stored along with the user data on the same CD/DVD. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image. Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required." +"The RS03 codec (Warning: experimental)\n" +"RS03 can either store error correction data in a separate file or augment the image with it. It provides multithreading to scale with multicore processors and contains some subtle improvements over RS01 and RS02. However it should not be used for productive work unless a stable version is released with dvdisaster V0.80." msgstr "" -#: preferences.c:2500 +#: preferences.c:2492 msgid "Files" msgstr "" -#: preferences.c:2504 +#: preferences.c:2496 msgid "Local files (on hard disc)" msgstr "File locali (sul disco rigido)" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatic file suffixes" msgstr "" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatically add .iso and .ecc file suffixes" msgstr "Aggiungi automaticamente i suffissi .iso e .ecc" -#: preferences.c:2535 +#: preferences.c:2527 msgid "" "Automatically add file suffixes\n" "\n" "When this switch is set, files will be automatically appended with \".iso\" or \".ecc\" suffixes if no other file name extension is already present." msgstr "" -#: preferences.c:2541 -msgid "File splitting" -msgstr "" - -#: preferences.c:2541 -msgid "Split files into segments <= 2GB" -msgstr "" - -#: preferences.c:2564 -msgid "" -"File splitting\n" -"\n" -"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -msgstr "" - -#: preferences.c:2573 +#: preferences.c:2533 msgid "Automatic file creation and deletion" msgstr "Creazione e cancellazione file automatica" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Automatic .ecc file creation" msgstr "" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Create error correction file after reading image" msgstr "Creazione del file di correzione errore dopo la lettura dell'immagine" -#: preferences.c:2605 +#: preferences.c:2565 msgid "" "Automatic error correction file creation\n" "\n" "Automatically creates an error correction file after reading an image. Together with the \"Remove image\" option this will speed up error correction file generation for a series of different media." msgstr "" -#: preferences.c:2612 +#: preferences.c:2572 msgid "Automatic image file removal" msgstr "" -#: preferences.c:2612 +#: preferences.c:2572 msgid "Remove image after error correction file creation" msgstr "Rimuovi l'immagine dopo la creazione del file di correzione degli errori" -#: preferences.c:2635 +#: preferences.c:2595 msgid "" "Automatic image file removal\n" "\n" "If this switch is set the image file will be deleted following the successful generation of the respective error correction file." msgstr "" -#: preferences.c:2641 +#: preferences.c:2601 preferences.c:2610 +msgid "Confirm file overwriting" +msgstr "" + +#: preferences.c:2610 +msgid "Ask before overwriting image and ecc files" +msgstr "" + +#: preferences.c:2633 +msgid "" +"Ask before overwriting image and ecc files\n" +"\n" +"dvdisaster will ask you for confirmation when it is going to overwrite an existing image or error correction file if this option is checked." +msgstr "" + +#: preferences.c:2640 msgid "Appearance" msgstr "" -#: preferences.c:2653 +#: preferences.c:2652 msgid "Sector coloring" msgstr "" -#: preferences.c:2664 rs01-verify.c:120 rs02-verify.c:115 +#: preferences.c:2663 rs01-verify.c:120 rs02-verify.c:115 rs03-verify.c:123 msgid "Good sectors" msgstr "Settori buoni" -#: preferences.c:2664 +#: preferences.c:2663 msgid "Good sector" msgstr "" -#: preferences.c:2688 +#: preferences.c:2687 msgid "" "Good sectors\n" "\n" "This color indicates good sectors." msgstr "" -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum errors" msgstr "" -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum error" msgstr "" -#: preferences.c:2717 +#: preferences.c:2716 msgid "" "Checksum errors\n" "\n" "This color is used for displaying sectors with wrong check sums." msgstr "" -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable sectors" msgstr "" -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable" msgstr "" -#: preferences.c:2746 +#: preferences.c:2745 msgid "" "Unreadable sectors\n" "\n" "This color is used for marking unreadable sectors." msgstr "" -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sectors" msgstr "" -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sector" msgstr "" -#: preferences.c:2775 +#: preferences.c:2774 msgid "" "Present sectors\n" "\n" "Sectors which are already present are marked with this color." msgstr "" -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sectors" msgstr "" -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sector" msgstr "" -#: preferences.c:2804 +#: preferences.c:2803 msgid "" "Ignored sectors\n" "\n" "Sectors marked with this color will not be processed in the current run." msgstr "" -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sectors" msgstr "" -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sector" msgstr "" -#: preferences.c:2834 +#: preferences.c:2833 msgid "" "Highlit sectors\n" "\n" "This color is used for temporarily highlighting sectors during adaptive reading." msgstr "" -#: preferences.c:2840 +#: preferences.c:2839 msgid "Text colors" msgstr "" -#: preferences.c:2850 +#: preferences.c:2849 msgid "Positive text" msgstr "" -#: preferences.c:2874 +#: preferences.c:2873 msgid "" "Positive text\n" "\n" "Good news are printed in this color." msgstr "" -#: preferences.c:2879 +#: preferences.c:2878 msgid "Negative text" msgstr "" -#: preferences.c:2903 +#: preferences.c:2902 msgid "" "Negative text\n" "\n" "Bad news are printed in this color." msgstr "" -#: preferences.c:2908 +#: preferences.c:2907 msgid "Curve colors" msgstr "" -#: preferences.c:2917 +#: preferences.c:2916 msgid "Curve color" msgstr "" -#: preferences.c:2941 +#: preferences.c:2940 msgid "" "Curve color and labels\n" "\n" "The reading speed curve, its left side and top labels are printed in this color." msgstr "" -#: preferences.c:2947 read-linear-window.c:405 +#: preferences.c:2946 read-linear-window.c:405 msgid "C2 errors" msgstr "" -#: preferences.c:2971 +#: preferences.c:2970 msgid "" "C2 error color\n" "\n" "The logarithmic bar graph showing the C2 errors is rendered in this color during the \"read\" and \"scan\" operations." msgstr "" -#: preferences.c:2978 +#: preferences.c:2977 msgid "Error correction load" msgstr "" -#: preferences.c:3002 +#: preferences.c:3001 msgid "" "Error correction load\n" "\n" "The bar graph showing the error correction load is rendered in this color during the \"Fix\" operation." msgstr "" -#: preferences.c:3014 +#: preferences.c:3013 msgid "Default color scheme" msgstr "" -#: preferences.c:3022 +#: preferences.c:3021 msgid "Dialog boxes" msgstr "" -#: preferences.c:3025 +#: preferences.c:3024 msgid "Reverse OK / Cancel buttons" msgstr "" -#: preferences.c:3049 +#: preferences.c:3048 msgid "" "Reverse OK / Cancel buttons\n" "\n" @@ -1971,38 +2203,38 @@ msgid "" "Changes will become active after restarting dvdisaster." msgstr "" -#: preferences.c:3056 +#: preferences.c:3055 msgid "Misc" msgstr "" -#: preferences.c:3060 +#: preferences.c:3059 msgid "Logging" msgstr "" -#: preferences.c:3067 +#: preferences.c:3066 msgid "Verbose logging" msgstr "" -#: preferences.c:3091 +#: preferences.c:3090 msgid "" "Verbose logging\n" "\n" "More information will be supplied in the Log window and/or log file. Useful for debugging, but may lead to slower performance." msgstr "" -#: preferences.c:3098 +#: preferences.c:3097 msgid "Logfile:" msgstr "" -#: preferences.c:3099 +#: preferences.c:3098 msgid "Copy log to file:" msgstr "" -#: preferences.c:3107 +#: preferences.c:3106 msgid "Delete" msgstr "" -#: preferences.c:3153 +#: preferences.c:3152 msgid "" "Logfile\n" "\n" @@ -2045,17 +2277,17 @@ msgstr "" msgid "Raw sector does not belong to the selected image!" msgstr "" -#: raw-editor.c:388 read-adaptive.c:999 read-adaptive.c:1070 -#: read-adaptive.c:1359 read-adaptive.c:1554 read-linear.c:431 -#: read-linear.c:691 read-linear.c:996 rs01-fix.c:447 rs01-fix.c:707 -#: rs02-fix.c:751 +#: raw-editor.c:388 read-adaptive.c:997 read-adaptive.c:1068 +#: read-adaptive.c:1357 read-adaptive.c:1552 read-linear.c:399 +#: read-linear.c:659 read-linear.c:959 rs01-fix.c:447 rs01-fix.c:707 +#: rs02-fix.c:751 rs03-fix.c:778 #, c-format msgid "Failed seeking to sector %lld in image [%s]: %s" msgstr "" -#: raw-editor.c:395 read-adaptive.c:1013 read-adaptive.c:1076 -#: read-adaptive.c:1391 read-adaptive.c:1404 read-adaptive.c:1562 -#: read-linear.c:440 read-linear.c:698 rs01-fix.c:454 +#: raw-editor.c:395 read-adaptive.c:1011 read-adaptive.c:1074 +#: read-adaptive.c:1389 read-adaptive.c:1402 read-adaptive.c:1560 +#: read-linear.c:408 read-linear.c:666 rs01-fix.c:454 #, c-format msgid "Failed writing to sector %lld in image [%s]: %s" msgstr "" @@ -2241,13 +2473,6 @@ msgstr "" msgid "button|Smart L-EC" msgstr "" -#: raw-sector-cache.c:34 raw-sector-cache.c:201 raw-sector-cache.c:335 -#: rs01-verify.c:538 scsi-freebsd.c:113 scsi-linux.c:100 scsi-netbsd.c:111 -#: scsi-solaris.c:127 -#, c-format -msgid "Could not open %s: %s" -msgstr "Non posso aprire %s: %s" - #: raw-sector-cache.c:59 raw-sector-cache.c:123 raw-sector-cache.c:129 #: raw-sector-cache.c:133 raw-sector-cache.c:161 raw-sector-cache.c:259 #, c-format @@ -2284,7 +2509,7 @@ msgstr "" msgid " [Appended %d/%d sectors to cache file %s; LBA=%lld, ssize=%d, %d sectors]\n" msgstr "" -#: read-adaptive.c:143 read-adaptive.c:1336 +#: read-adaptive.c:143 read-adaptive.c:1334 msgid "Aborted by unrecoverable error." msgstr "Interrotto da un errore irrecuperabile." @@ -2325,8 +2550,8 @@ msgstr "" "Solo i primi %lld settori del supporto saranno processati.\n" #: read-adaptive.c:489 read-adaptive.c:505 read-adaptive.c:569 -#: read-adaptive.c:657 read-adaptive.c:719 read-adaptive.c:1020 -#: read-adaptive.c:1266 +#: read-adaptive.c:655 read-adaptive.c:717 read-adaptive.c:1018 +#: read-adaptive.c:1264 msgid "Aborted by user request!" msgstr "Annullato dall'utente!" @@ -2358,23 +2583,15 @@ msgid "" "Medium and ecc file do not belong together.\n" msgstr "" -#: read-adaptive.c:618 read-linear.c:371 +#: read-adaptive.c:618 read-linear.c:341 msgid "Image file does not match the CD/DVD." msgstr "Il file immagine non corrisponde al CD/DVD." -#: read-adaptive.c:621 read-linear.c:374 -msgid "" -"Image file already exists and does not match the CD/DVD.\n" -"The existing image file will be deleted." -msgstr "" -"Il file immagine esiste già e non corrisponde al CD/DVD.\n" -"Il file immagine esistente sarà rimosso." - -#: read-adaptive.c:626 +#: read-adaptive.c:624 msgid "Reading aborted. Please select a different image file." msgstr "Lettura annullata. Prego selezionare un file immagine differente." -#: read-adaptive.c:652 +#: read-adaptive.c:650 #, c-format msgid "" "Image file is %lld sectors longer than inserted medium\n" @@ -2383,81 +2600,81 @@ msgstr "" "Il file immagine è %lld settori più lungo del supporto inserito\n" "(File immagine: %lld sectors; supporto: %lld sectors).\n" -#: read-adaptive.c:675 read-adaptive.c:679 +#: read-adaptive.c:673 read-adaptive.c:677 msgid "Loading CRC data." msgstr "" -#: read-adaptive.c:711 +#: read-adaptive.c:709 msgid "Analysing existing image file" msgstr "Analizzo il file immagine esistente" -#: read-adaptive.c:728 rs01-common.c:160 rs02-verify.c:717 +#: read-adaptive.c:726 rs01-common.c:183 rs02-verify.c:727 rs03-verify.c:1057 #, c-format msgid "premature end in image (only %d bytes): %s\n" msgstr "Fine prematura dell'immagine (solo %d Bytes): %s\n" -#: read-adaptive.c:805 +#: read-adaptive.c:803 #, c-format msgid "Analysing existing image file: %2d%%" msgstr "Analizzo il file immagine esistente: %2d%%" -#: read-adaptive.c:822 +#: read-adaptive.c:820 msgid "Determining correctable sectors" msgstr "Determino i settori correggibili" -#: read-adaptive.c:897 +#: read-adaptive.c:895 #, c-format msgid "Analysing existing image file: %lld readable, %lld correctable, %lld still missing.\n" msgstr "Analizzo il file immagine esistente: %lld leggibile, %lld correggibili, %lld ancora mancanti.\n" -#: read-adaptive.c:899 +#: read-adaptive.c:897 #, c-format msgid "Analysing existing image file: %lld readable, %lld still missing.\n" msgstr "Analizzo il file immagine esistente: %lld leggibile, %lld ancora mancanti.\n" -#: read-adaptive.c:949 read-linear.c:799 +#: read-adaptive.c:947 read-linear.c:767 msgid "Ignore once" msgstr "Ignora una volta" -#: read-adaptive.c:950 read-linear.c:800 +#: read-adaptive.c:948 read-linear.c:768 msgid "Ignore always" msgstr "Ignora sempre" -#: read-adaptive.c:951 read-linear.c:801 +#: read-adaptive.c:949 read-linear.c:769 msgid "Abort" msgstr "Ferma" -#: read-adaptive.c:986 +#: read-adaptive.c:984 #, c-format msgid "Filling image area [%lld..%lld]" msgstr "Riempio l'area immagine [%lld..%lld]" -#: read-adaptive.c:1107 read-linear.c:186 +#: read-adaptive.c:1105 read-linear.c:186 msgid "Reading aborted" msgstr "Lettura annullata" -#: read-adaptive.c:1110 read-linear.c:190 +#: read-adaptive.c:1108 read-linear.c:190 msgid "Preparing for reading the medium image." msgstr "Preparazione alla lettura dell'immagine del supporto" -#: read-adaptive.c:1111 read-linear.c:183 read-linear.c:191 +#: read-adaptive.c:1109 read-linear.c:183 read-linear.c:191 msgid "Medium: not yet determined" msgstr "Supporto: non ancora determinato" -#: read-adaptive.c:1168 read-linear.c:311 +#: read-adaptive.c:1166 read-linear.c:281 #, c-format msgid "Creating new %s image.\n" msgstr "Creo una nuova immagine %s.\n" -#: read-adaptive.c:1172 read-linear.c:304 +#: read-adaptive.c:1170 read-linear.c:274 msgid "Reading new medium image." msgstr "Lettura dell'immagine del supporto." -#: read-adaptive.c:1192 read-linear.c:332 +#: read-adaptive.c:1190 read-linear.c:302 msgid "Completing existing medium image." msgstr "Completamento dell'immagine esistente del supporto." -#: read-adaptive.c:1225 read-adaptive.c:1526 +#: read-adaptive.c:1223 read-adaptive.c:1524 msgid "" "\n" "Sufficient data for reconstructing the image is available.\n" @@ -2465,7 +2682,7 @@ msgstr "" "\n" "Sono disponibili dati sufficienti per ricostruire l'immagine.\n" -#: read-adaptive.c:1322 read-linear.c:1058 +#: read-adaptive.c:1320 read-linear.c:1021 #, c-format msgid "" "Sector %lld: %s\n" @@ -2473,7 +2690,7 @@ msgid "" "Use the --ignore-fatal-sense option to override." msgstr "" -#: read-adaptive.c:1327 read-linear.c:1063 +#: read-adaptive.c:1325 read-linear.c:1026 #, c-format msgid "" "Sector %lld: %s\n" @@ -2486,27 +2703,27 @@ msgstr "" "Potrebbe non essere possibile recuperare questo errore.\n" "La lettura deve procedere ignorando questo errore?" -#: read-adaptive.c:1382 rs01-fix.c:400 rs02-fix.c:437 +#: read-adaptive.c:1380 rs01-fix.c:400 rs02-fix.c:437 rs03-fix.c:455 #, c-format msgid "CRC error in sector %lld\n" msgstr "Errore CRC nel settore %lld\n" -#: read-adaptive.c:1543 scsi-layer.c:1716 +#: read-adaptive.c:1541 scsi-layer.c:1744 #, c-format msgid "Sectors %lld-%lld: %s\n" msgstr "Settori %lld-%lld: %s\n" -#: read-adaptive.c:1546 read-linear.c:1244 scsi-layer.c:1715 +#: read-adaptive.c:1544 read-linear.c:1207 scsi-layer.c:1743 #, c-format msgid "Sector %lld: %s\n" msgstr "Settore %lld: %s\n" -#: read-adaptive.c:1673 +#: read-adaptive.c:1671 #, c-format msgid "Only %2d.%1d%% of the image are readable or correctable" msgstr "Solo %2d.%1d%% dell'immagine è leggibile o correggibile" -#: read-adaptive.c:1676 +#: read-adaptive.c:1674 #, c-format msgid "" "\n" @@ -2517,7 +2734,7 @@ msgstr "" "%s\n" "(%lld leggibile, %lld correggibili, %lld ancora mancanti).\n" -#: read-adaptive.c:1690 +#: read-adaptive.c:1688 msgid "" "\n" "Good! All sectors have been read.\n" @@ -2525,12 +2742,12 @@ msgstr "" "\n" "Fatto! Tutti i settori sono stati letti.\n" -#: read-adaptive.c:1699 +#: read-adaptive.c:1697 #, c-format msgid "No unreadable intervals with >= %d sectors left." msgstr "Nessun intervallo illeggibile con >= %d settori rimasti." -#: read-adaptive.c:1702 +#: read-adaptive.c:1700 #, c-format msgid "" "\n" @@ -2549,7 +2766,7 @@ msgstr "Modo di lettura adattivo:" msgid "Sectors processed" msgstr "Settori processati" -#: read-adaptive-window.c:110 scsi-layer.c:1697 +#: read-adaptive-window.c:110 scsi-layer.c:1725 msgid "readable" msgstr "Leggibile" @@ -2588,192 +2805,173 @@ msgstr "" msgid "Scanning aborted" msgstr "Scansione annullata" -#: read-linear.c:182 read-linear.c:277 +#: read-linear.c:182 read-linear.c:247 msgid "Scanning medium for read errors." msgstr "Scansione del supporto per gli errori di lettura." -#: read-linear.c:208 -#, c-format -msgid "" -"Automatic error correction file creation is enabled,\n" -"and \"%s\" already exists.\n" -"Overwrite it?\n" -msgstr "" -"La creazione automatica del file di correzione dell'errore è abilitata,\n" -"e \"%s\" esiste già.\n" -"Sovrascrivo?\n" - -#: read-linear.c:215 rs01-create.c:651 rs01-fix.c:188 rs01-fix.c:210 -#: rs01-fix.c:256 rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 -#: rs01-verify.c:430 rs01-verify.c:787 rs02-create.c:112 rs02-fix.c:232 -#: rs02-fix.c:253 rs02-fix.c:344 rs02-verify.c:707 -#, c-format -msgid "Aborted by user request!" -msgstr "Annullato dall'utente!" - -#: read-linear.c:284 +#: read-linear.c:254 msgid "Reading CRC information from ecc file" msgstr "" -#: read-linear.c:316 +#: read-linear.c:286 msgid "Reading CRC information" msgstr "" -#: read-linear.c:380 +#: read-linear.c:348 #, c-format msgid "Reading aborted. Please select a different image file." msgstr "Lettura annullata. Prego selezionare un file immagine differente." -#: read-linear.c:399 +#: read-linear.c:367 #, c-format msgid "Completing image %s. Continuing with sector %lld.\n" msgstr "Completamento immagine %s. Continuo col settore %lld.\n" -#: read-linear.c:405 +#: read-linear.c:373 #, c-format msgid "Completing image %s. Only missing sectors will be read.\n" msgstr "Completamento immagine %s. Solo i settori mancanti saranno letti.\n" -#: read-linear.c:482 read-linear.c:486 +#: read-linear.c:450 read-linear.c:454 msgid "Reading CRC information from ecc data" msgstr "" -#: read-linear.c:516 +#: read-linear.c:484 msgid "done.\n" msgstr "compiuto.\n" -#: read-linear.c:528 scsi-layer.c:2038 +#: read-linear.c:496 scsi-layer.c:2063 #, c-format msgid "Waiting %d seconds for drive to spin up...\n" msgstr "Attendere %d secondi per far avviare il drive...\n" -#: read-linear.c:550 read-linear-window.c:101 +#: read-linear.c:518 read-linear-window.c:101 #, c-format msgid "Unreadable / skipped sectors: %lld" msgstr "Settori illeggibili / saltati: %lld" -#: read-linear.c:630 +#: read-linear.c:598 #, c-format msgid "Sector %lld: Speed increased to %4.1fx\n" msgstr "Settore %lld: Velocità incrementata a %4.1fx\n" -#: read-linear.c:633 +#: read-linear.c:601 #, c-format msgid "Sector %lld: Speed dropped to %4.1fx\n" msgstr "Settore %lld: Velocità diminuita a %4.1fx\n" -#: read-linear.c:638 +#: read-linear.c:606 #, c-format msgid "Read position: %3d.%1d%% (%4.1fx)" msgstr "Settori processati: %3d.%1d%% (%4.1fx)" -#: read-linear.c:763 rs01-common.c:235 rs02-verify.c:762 +#: read-linear.c:731 rs01-common.c:258 rs02-verify.c:772 rs03-verify.c:1148 #, c-format msgid "* CRC error, sector: %lld\n" msgstr "* Errore CRC, Settore : %lld\n" -#: read-linear.c:952 read-linear.c:1073 +#: read-linear.c:915 read-linear.c:1036 #, c-format msgid "Aborted by user request! %lld sectors read, %lld sectors unreadable/skipped so far." msgstr "Annullato dall'utente! %lld settori letti, %lld settori illeggibili/saltati.." -#: read-linear.c:1008 +#: read-linear.c:971 #, c-format msgid "unexpected read error in image for sector %lld" msgstr "Errore di lettura inatteso nell'immagine per il settore %lld" -#: read-linear.c:1088 +#: read-linear.c:1051 #, c-format msgid "Sector %lld: %3d C2 errors.%s\n" msgstr "" -#: read-linear.c:1216 +#: read-linear.c:1179 #, c-format msgid "Sector %lld: %s Skipping %d sectors.\n" msgstr "Settore %lld: %s Salto di %d settori.\n" -#: read-linear.c:1276 +#: read-linear.c:1239 #, c-format msgid "" "Trying to complete image, reading pass %d of %d.\n" "%s" msgstr "" -#: read-linear.c:1278 +#: read-linear.c:1241 #, c-format msgid "" "\n" "Trying to complete image, reading pass %d of %d.\n" msgstr "" -#: read-linear.c:1303 +#: read-linear.c:1266 msgid "but wrong ecc md5sum" msgstr "" -#: read-linear.c:1310 +#: read-linear.c:1273 msgid "but wrong crc md5sum" msgstr "" -#: read-linear.c:1317 +#: read-linear.c:1280 msgid "but wrong data md5sum" msgstr "" -#: read-linear.c:1329 +#: read-linear.c:1292 #, c-format msgid "%lld sectors read. " msgstr "%lld settori letti. " -#: read-linear.c:1330 +#: read-linear.c:1293 #, c-format msgid "%lld sectors read; %lld unreadable sectors." msgstr "%lld settori letti; %lld settori illeggibili." -#: read-linear.c:1338 +#: read-linear.c:1301 #, c-format msgid "All sectors successfully read, but wrong image length (%lld sectors difference)" msgstr "" -#: read-linear.c:1342 +#: read-linear.c:1305 msgid "All sectors successfully read, but wrong image checksum." msgstr "" -#: read-linear.c:1343 read-linear.c:1347 +#: read-linear.c:1306 read-linear.c:1310 msgid "All sectors successfully read. Checksums match." msgstr "" -#: read-linear.c:1349 +#: read-linear.c:1312 #, c-format msgid "All sectors successfully read, %s!" msgstr "" -#: read-linear.c:1354 +#: read-linear.c:1317 msgid "All sectors successfully read." msgstr "Tutti i settori sono stati letti correttamente." -#: read-linear.c:1360 +#: read-linear.c:1323 #, c-format msgid "%lld unreadable sectors." msgstr "%lld settori illeggibili." -#: read-linear.c:1362 +#: read-linear.c:1325 #, c-format msgid "%lld CRC errors." msgstr "%lld errori CRC." -#: read-linear.c:1363 +#: read-linear.c:1326 #, c-format msgid "%lld CRC errors, %lld unreadable sectors." msgstr "%lld errori CRC, %lld settori illeggibili." -#: read-linear.c:1369 +#: read-linear.c:1332 msgid "Scanning finished: " msgstr "Scansione terminata:" -#: read-linear.c:1371 +#: read-linear.c:1334 msgid "Reading finished: " msgstr "Lettura terminata:" -#: read-linear.c:1382 +#: read-linear.c:1345 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -2784,7 +2982,7 @@ msgstr "" "Questo è corretto se il disco è stato scritto in modalità TAO (track at once).\n" "L'imagine sarà aggiustata di conseguenza.Leggere il manuale per i dettagli.\n" -#: read-linear.c:1388 +#: read-linear.c:1351 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -2807,7 +3005,7 @@ msgid "Already present" msgstr "Già presente" #: read-linear-window.c:277 read-linear-window.c:319 rs01-verify.c:123 -#: rs02-verify.c:118 +#: rs02-verify.c:118 rs03-verify.c:126 msgid "Sectors with CRC errors" msgstr "Settori con errori CRC" @@ -2836,27 +3034,27 @@ msgstr "Velocità" msgid "Sector %lld dumped to %s\n" msgstr "" -#: rs01-common.c:134 rs02-verify.c:793 +#: rs01-common.c:157 rs02-verify.c:803 rs03-verify.c:1171 #, c-format msgid "- testing sectors : %3d%%" msgstr "- Test dei settori : %3d%%" -#: rs01-common.c:135 +#: rs01-common.c:158 #, c-format msgid "Scanning image sectors: %3d%%" msgstr "Scansione dei settori dell'immagine : %3d%%" -#: rs01-common.c:187 rs02-verify.c:749 +#: rs01-common.c:210 rs02-verify.c:759 #, c-format msgid "* missing sector : %lld\n" msgstr "* Settore mancante : %lld\n" -#: rs01-common.c:188 rs02-verify.c:750 +#: rs01-common.c:211 rs02-verify.c:760 #, c-format msgid "* missing sectors : %lld - %lld\n" msgstr "* Settori mancanti : %lld - %lld\n" -#: rs01-common.c:206 rs01-common.c:273 rs01-create.c:260 +#: rs01-common.c:229 rs01-common.c:296 rs01-create.c:273 #, c-format msgid "Error writing CRC information: %s" msgstr "Errore di scrittura nelle informazioni CRC: %s" @@ -2866,7 +3064,7 @@ msgstr "Errore di scrittura nelle informazioni CRC: %s" msgid "Redundancy %4.1f%% out of useful range [3.2%%..64.5%%]" msgstr "Ridondanza %4.1f%% al di fuori dell'intervallo utilizzabile [3.2%%..64.5%%]" -#: rs01-create.c:75 +#: rs01-create.c:75 rs03-common.c:202 #, c-format msgid "Ecc file size %lldm out of useful range [%lld .. %lld]" msgstr "La dimensione del file Ecc %lldm è al di fuori dell'intervallo utilizzabile [%lld .. %lld]" @@ -2877,6 +3075,7 @@ msgid "Redundancy %d out of useful range [8..100]." msgstr "Ridondanza %d al di fuori dell'intervallo utilizzabile [8..100]." #: rs01-create.c:125 rs01-fix.c:77 rs02-create.c:58 rs02-fix.c:53 +#: rs03-create.c:116 rs03-fix.c:54 rs03s-create.c:125 #, c-format msgid "Aborted by unrecoverable error." msgstr "Interrotto da un errore irrecuperabile." @@ -2890,7 +3089,7 @@ msgstr "La creazione del File di correzione errori è stata interrotta" msgid "Encoding with Method RS01: %d roots, %4.1f%% redundancy." msgstr "Sto codificando con il Metodo RS01: %d Radici, %4.1f%% Ridondanza." -#: rs01-create.c:215 +#: rs01-create.c:215 rs03-create.c:1092 #, c-format msgid "" "Creating the error correction file.\n" @@ -2899,35 +3098,40 @@ msgstr "" "Creazione del file di correzione errori.\n" "%s" -#: rs01-create.c:231 +#: rs01-create.c:227 rs03-create.c:213 +#, c-format +msgid "Aborted to keep existing ecc file." +msgstr "" + +#: rs01-create.c:244 #, c-format msgid "Writing sector checksums: %3d%%" msgstr "Scrittura checksum settori: %3d%%" -#: rs01-create.c:235 +#: rs01-create.c:248 msgid "1. Writing image sector checksums:" msgstr "1. Scrittura checksum settori:" -#: rs01-create.c:278 rs01-window.c:116 +#: rs01-create.c:291 rs01-window.c:129 msgid "1. Calculating image sector checksums:" msgstr "1. Calcolo del checksum dei settori dell'immagine:" -#: rs01-create.c:291 rs01-create.c:432 rs01-create.c:524 +#: rs01-create.c:304 rs01-create.c:445 rs01-create.c:537 #, c-format msgid "Aborted by user request! (partial error correction file removed)" msgstr "Annullato dall'utente! (Rimosso file di correzione errori parziale)" -#: rs01-create.c:300 +#: rs01-create.c:313 #, c-format msgid "%lld sectors unread or missing due to errors.\n" msgstr "%lld settori non letti o persi a causa di errori.\n" -#: rs01-create.c:354 +#: rs01-create.c:367 #, c-format msgid "Failed skipping ecc+crc header: %s" msgstr "" -#: rs01-create.c:381 rs02-create.c:508 +#: rs01-create.c:394 rs02-create.c:512 #, c-format msgid "" "Failed allocating memory for I/O cache.\n" @@ -2935,12 +3139,23 @@ msgid "" "Try reducing it.\n" msgstr "" -#: rs01-create.c:509 rs01-create.c:633 rs01-create.c:927 rs02-create.c:955 +#: rs01-create.c:522 rs01-create.c:646 rs01-create.c:940 rs02-create.c:959 +#: rs03-create.c:921 rs03s-create.c:972 #, c-format msgid "Ecc generation: %3d.%1d%%" msgstr "Generazione Ecc: %3d.%1d%%" -#: rs01-create.c:940 +#: rs01-create.c:664 rs01-fix.c:188 rs01-fix.c:210 rs01-fix.c:256 +#: rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 rs01-verify.c:431 +#: rs01-verify.c:798 rs02-create.c:112 rs02-fix.c:232 rs02-fix.c:253 +#: rs02-fix.c:344 rs02-verify.c:717 rs03-create.c:185 rs03-fix.c:260 +#: rs03-fix.c:281 rs03-fix.c:358 rs03s-create.c:179 rs03-verify.c:636 +#: rs03-verify.c:1044 +#, c-format +msgid "Aborted by user request!" +msgstr "Annullato dall'utente!" + +#: rs01-create.c:953 #, c-format msgid "" "could not write to ecc file \"%s\":\n" @@ -2949,7 +3164,7 @@ msgstr "" "Impossibile scrivere il file Ecc: \"%s\":\n" "%s" -#: rs01-create.c:955 +#: rs01-create.c:968 #, c-format msgid "" "Can't write ecc header:\n" @@ -2958,12 +3173,12 @@ msgstr "" "Impossibile scrivere lo header Ecc:\n" "%s" -#: rs01-create.c:963 rs02-create.c:1104 +#: rs01-create.c:976 rs02-create.c:1107 rs03-create.c:1145 rs03s-create.c:1124 #, c-format msgid "Ecc generation: 100.0%%\n" msgstr "Generazione Ecc: 100.0%%\n" -#: rs01-create.c:964 +#: rs01-create.c:977 rs03-create.c:1152 #, c-format msgid "" "Error correction file \"%s\" created.\n" @@ -2972,7 +3187,7 @@ msgstr "" "Il file per la correzione dell'errore \"%s\" è stato generato.\n" "Siate sicuri di tenerlo su un supporto affidabile!\n" -#: rs01-create.c:972 +#: rs01-create.c:985 rs03-create.c:1178 msgid "" "The error correction file has been successfully created.\n" "Make sure to keep this file on a reliable medium." @@ -2985,16 +3200,17 @@ msgstr "" msgid "Failed seeking in crc area: %s" msgstr "" -#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 +#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 rs03-verify.c:450 #, c-format msgid "problem reading crc data: %s" msgstr "Ci sono problemi di lettura nei dati crc: %s" -#: rs01-fix.c:138 rs02-fix.c:169 +#: rs01-fix.c:138 rs02-fix.c:169 rs03-fix.c:175 msgid "Repairing of image aborted" msgstr "Riparazione dell'immagine interrotta" -#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 +#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 rs03-fix.c:183 +#: rs03-fix.c:234 #, c-format msgid "" "Repairing the image.\n" @@ -3003,7 +3219,7 @@ msgstr "" "Riparazione dell'immagine.\n" "%s" -#: rs01-fix.c:145 rs02-fix.c:176 +#: rs01-fix.c:145 rs02-fix.c:176 rs03-fix.c:184 msgid "Opening files..." msgstr "Apertura files..." @@ -3012,7 +3228,7 @@ msgstr "Apertura files..." msgid "Error correction file using Method RS01, %d roots, %4.1f%% redundancy." msgstr "Correzione di errore file con metodo RS01, %d Radici, %4.1f%% Ridondanza." -#: rs01-fix.c:163 rs02-fix.c:211 +#: rs01-fix.c:163 rs02-fix.c:211 rs03-fix.c:239 msgid "" "\n" "Fix mode: Repairable sectors will be fixed in the image.\n" @@ -3037,7 +3253,7 @@ msgstr "" "\n" "%s" -#: rs01-fix.c:180 rs02-fix.c:224 +#: rs01-fix.c:180 rs02-fix.c:224 rs03-fix.c:252 #, c-format msgid "" "Image file is %lld sectors longer than expected.\n" @@ -3048,16 +3264,17 @@ msgstr "" "Si assume di utilizzare un supporto TAO.\n" "%lld Settori saranno tagliati fuori dalla fine dell'immagine.\n" -#: rs01-fix.c:205 rs02-fix.c:248 +#: rs01-fix.c:205 rs02-fix.c:248 rs03-fix.c:276 msgid "Is it okay to remove the superfluous sectors?" msgstr "Tutto OK se rimuovo i settori superflui?" -#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 +#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 rs03-fix.c:292 +#: rs03-fix.c:307 #, c-format msgid "Image has been truncated by %lld sectors.\n" msgstr "L'immagine è stata troncata di %lld settori.\n" -#: rs01-fix.c:229 rs02-fix.c:271 +#: rs01-fix.c:229 rs02-fix.c:271 rs03-fix.c:299 msgid "" "Add the --truncate option to the program call\n" "to have the superfluous sectors removed." @@ -3152,12 +3369,12 @@ msgstr "Errore di byte inaspettato nel settore %lld, Byte %d\n" msgid "Bad error location %d; corrupted .ecc file?\n" msgstr "Posizionamento sbagliato dell'errore %d; file .ecc corrotto?\n" -#: rs01-fix.c:696 rs02-fix.c:718 +#: rs01-fix.c:696 rs02-fix.c:718 rs03-fix.c:737 #, c-format msgid " %3d repaired sectors: " msgstr " %3d Settori riparati: " -#: rs01-fix.c:715 rs02-fix.c:759 +#: rs01-fix.c:715 rs02-fix.c:759 rs03-fix.c:783 #, c-format msgid "" "could not write medium sector %lld:\n" @@ -3166,12 +3383,12 @@ msgstr "" "Impossibile scrivere il settore %lld della periferica:\n" "%s" -#: rs01-fix.c:741 rs02-fix.c:796 +#: rs01-fix.c:741 rs02-fix.c:796 rs03-fix.c:841 #, c-format msgid "Ecc progress: %3d.%1d%%" msgstr "Avanzamento Ecc: %3d.%1d%%" -#: rs01-fix.c:753 rs02-fix.c:810 +#: rs01-fix.c:753 rs02-fix.c:810 rs03-fix.c:855 #, c-format msgid "Ecc progress: 100.0%%\n" msgstr "Avanzamento Ecc: 100.0%%\n" @@ -3181,30 +3398,30 @@ msgstr "Avanzamento Ecc: 100.0%%\n" msgid "Repaired sectors: %lld \n" msgstr "Settori riparati: %lld \n" -#: rs01-fix.c:756 rs02-fix.c:815 +#: rs01-fix.c:756 rs02-fix.c:815 rs03-fix.c:860 #, c-format msgid "Unrepaired sectors: %lld\n" msgstr "Settori non riparati: %lld\n" -#: rs01-fix.c:759 rs02-fix.c:818 +#: rs01-fix.c:759 rs02-fix.c:818 rs03-fix.c:863 #, c-format msgid "Image sectors could not be fully restored (%lld repaired; %lld unrepaired)" msgstr "I settori dell'immagine non possono essere comopletamente recuperati (%lld riparati; %lld non riparati)" -#: rs01-fix.c:765 rs02-fix.c:824 +#: rs01-fix.c:765 rs02-fix.c:824 rs03-fix.c:870 msgid "Good! All sectors are already present." msgstr "Bene! Tutti i settori sono già presenti." -#: rs01-fix.c:769 rs02-fix.c:828 +#: rs01-fix.c:769 rs02-fix.c:828 rs03-fix.c:875 msgid "Good! All sectors are repaired." msgstr "Bene! Tutti i settori sono stati riparati." -#: rs01-fix.c:774 rs02-fix.c:833 +#: rs01-fix.c:774 rs02-fix.c:833 rs03-fix.c:881 #, c-format msgid "Erasure counts per ecc block: avg = %.1f; worst = %d.\n" msgstr "Conteggio cancellature per blocco ecc: Medio = %.1f; Peggiore = %d.\n" -#: rs01-fix.c:779 rs02-fix.c:838 +#: rs01-fix.c:779 rs02-fix.c:838 rs03-fix.c:886 msgid "Repair results:" msgstr "Risultati della riparazione:" @@ -3213,6 +3430,7 @@ msgid "n/a" msgstr "Non disponibile" #: rs01-verify.c:126 rs01-verify.c:147 rs02-verify.c:121 rs02-verify.c:142 +#: rs03-verify.c:129 rs03-verify.c:150 msgid "Missing sectors" msgstr "Settori mancanti" @@ -3225,6 +3443,7 @@ msgid "No image present." msgstr "File immagine non presente." #: rs01-verify.c:209 rs01-verify.c:299 rs02-verify.c:189 rs02-verify.c:295 +#: rs03-verify.c:271 msgid "Medium sectors:" msgstr "Settori del Media:" @@ -3240,7 +3459,7 @@ msgstr "Settori mancanti:" msgid "Image checksum:" msgstr "Immagine checksum:" -#: rs01-verify.c:245 rs02-verify.c:241 +#: rs01-verify.c:245 rs02-verify.c:241 rs03-verify.c:249 msgid "Image state" msgstr "Stato immagine" @@ -3248,15 +3467,15 @@ msgstr "Stato immagine" msgid "Error correction file summary" msgstr "Sommario del file di Correzione errore" -#: rs01-verify.c:275 rs02-verify.c:271 +#: rs01-verify.c:275 rs02-verify.c:271 rs03-verify.c:218 msgid "Created by:" msgstr "Creato da:" -#: rs01-verify.c:283 rs02-verify.c:279 +#: rs01-verify.c:283 rs02-verify.c:279 rs03-verify.c:209 msgid "Method:" msgstr "Metodo:" -#: rs01-verify.c:291 rs02-verify.c:287 +#: rs01-verify.c:291 rs02-verify.c:287 rs03-verify.c:227 msgid "Requires:" msgstr "Richiede:" @@ -3276,19 +3495,19 @@ msgstr "Ecc checksum:" msgid "Comparison aborted" msgstr "Comparazione abortita" -#: rs01-verify.c:390 rs01-verify.c:516 +#: rs01-verify.c:390 rs01-verify.c:520 msgid "Comparing image and error correction files." msgstr "Compara i file di immagine e correzione di errore" -#: rs01-verify.c:391 +#: rs01-verify.c:391 rs03-verify.c:799 rs03-verify.c:809 msgid "- Checking image file -" msgstr "- Controllo il file immagine -" -#: rs01-verify.c:407 rs01-verify.c:522 +#: rs01-verify.c:407 rs01-verify.c:526 msgid "not present\n" msgstr "Non presente\n" -#: rs01-verify.c:414 rs02-verify.c:587 +#: rs01-verify.c:414 rs02-verify.c:592 #, c-format msgid "present, contains %lld medium sectors.\n" msgstr "presente, contiene %lld settori della periferica\n" @@ -3298,37 +3517,41 @@ msgstr "presente, contiene %lld settori della periferica\n" msgid "present, contains %lld medium sectors and %d bytes.\n" msgstr "presente, contiene %lld settori della periferica e %d bytes.\n" -#: rs01-verify.c:422 rs01-verify.c:651 rs01-verify.c:698 +#: rs01-verify.c:422 rs01-verify.c:655 rs01-verify.c:702 #, c-format msgid "%lld sectors + %d bytes" msgstr "%lld settori + %d bytes" -#: rs01-verify.c:443 +#: rs01-verify.c:444 #, c-format msgid "* truncated image : %lld sectors too short\n" msgstr "* immagine troncata : %lld settori troppo corti\n" -#: rs01-verify.c:446 +#: rs01-verify.c:447 #, c-format msgid "%lld (%lld sectors too short)" msgstr "%lld (%lld settori troppo corti)" -#: rs01-verify.c:467 +#: rs01-verify.c:468 #, c-format msgid "* image too long : %lld excess sectors\n" msgstr "* Immagine troppo lunga: %lld settori in eccesso\n" -#: rs01-verify.c:470 +#: rs01-verify.c:471 #, c-format msgid "%lld (%lld excess sectors)" msgstr "%lld (%lld settori in eccesso)" -#: rs01-verify.c:473 rs01-verify.c:507 +#: rs01-verify.c:474 rs01-verify.c:511 #, c-format msgid "Bad image." msgstr "Immagine difettosa." -#: rs01-verify.c:483 +#: rs01-verify.c:479 rs02-verify.c:685 rs03-verify.c:1010 +msgid "* quick mode : image NOT scanned\n" +msgstr "" + +#: rs01-verify.c:487 #, c-format msgid "" "- good image : all sectors present\n" @@ -3337,12 +3560,12 @@ msgstr "" "- Buona immagine : Tutti i settori presenti\n" "- Immagine md5sum : %s\n" -#: rs01-verify.c:486 rs02-verify.c:883 +#: rs01-verify.c:490 rs02-verify.c:893 rs03-verify.c:1305 #, c-format msgid "Good image." msgstr "Buona immagine." -#: rs01-verify.c:491 +#: rs01-verify.c:495 #, c-format msgid "" "* suspicious image : all sectors present, but %lld CRC errors\n" @@ -3351,58 +3574,58 @@ msgstr "" "* Immagine sospetta : tutti i settori presenti, ma ci sono %lld errori CRC\n" "- Immagine md5sum : %s\n" -#: rs01-verify.c:495 +#: rs01-verify.c:499 #, c-format msgid "Image complete, but contains checksum errors!" msgstr "Immagine completa, ma contiene errori nel checksum!" -#: rs01-verify.c:502 rs02-verify.c:850 +#: rs01-verify.c:506 rs02-verify.c:860 #, c-format msgid "* BAD image : %lld sectors missing\n" msgstr "* Immagine DIFETTOSA: %lld settori mancanti\n" -#: rs01-verify.c:503 rs02-verify.c:854 +#: rs01-verify.c:507 rs02-verify.c:864 rs03-verify.c:1257 #, c-format msgid "* BAD image : %lld sectors missing, %lld CRC errors\n" msgstr "* Immagine DIFETTOSA: %lld settori mancanti, %lld errori CRC\n" -#: rs01-verify.c:517 +#: rs01-verify.c:521 rs03-verify.c:1215 msgid "- Checking ecc file -" msgstr "- Controllo il file ecc -" -#: rs01-verify.c:525 +#: rs01-verify.c:529 msgid "No error correction file present." msgstr "File ecc non presente." -#: rs01-verify.c:567 rs02-verify.c:913 +#: rs01-verify.c:571 rs02-verify.c:923 msgid "created by dvdisaster" msgstr "Creato da dvdisaster" -#: rs01-verify.c:584 rs02-verify.c:930 +#: rs01-verify.c:588 rs02-verify.c:940 #, c-format msgid "created by dvdisaster-%d.%d\n" msgstr "Creato da dvdisaster-%d.%d\n" -#: rs01-verify.c:593 +#: rs01-verify.c:597 msgid "created by dvdisaster-0.41.x.\n" msgstr "Creato da dvdisaster-0.41.x.\n" -#: rs01-verify.c:599 rs02-verify.c:943 +#: rs01-verify.c:603 rs02-verify.c:953 rs03-verify.c:859 #, c-format msgid "- method : %4s, %d roots, %4.1f%% redundancy.\n" msgstr "- Metodo : %4s, %d radici, %4.1f%% Ridondanza.\n" -#: rs01-verify.c:603 rs02-verify.c:948 +#: rs01-verify.c:607 rs02-verify.c:958 rs03-verify.c:864 #, c-format msgid "%4s, %d roots, %4.1f%% redundancy" msgstr "%4s, %d radici, %4.1f%% ridondanza" -#: rs01-verify.c:608 rs02-verify.c:955 +#: rs01-verify.c:612 rs02-verify.c:965 #, c-format msgid "- requires : dvdisaster-%d.%d (good)\n" msgstr "- richiede : dvdisaster-%d.%d (buono)\n" -#: rs01-verify.c:617 rs02-verify.c:966 +#: rs01-verify.c:621 rs02-verify.c:976 #, c-format msgid "" "* requires : dvdisaster-%d.%d (BAD)\n" @@ -3413,199 +3636,204 @@ msgstr "" "* Attenzione : L'output seguente potrebbe essere non corretto.\n" "* : Prego visitare http://www.dvdisaster.com per un upgrade\n" -#: rs01-verify.c:630 rs02-verify.c:980 +#: rs01-verify.c:634 rs02-verify.c:990 rs03-verify.c:935 #, c-format msgid "Please upgrade your version of dvdisaster!" msgstr "Vi preghiamo di aggiornare la vostra versione di dvdisaster!" -#: rs01-verify.c:642 +#: rs01-verify.c:646 #, c-format msgid "- medium sectors : %lld (good)\n" msgstr "- settori del media : %lld (buoni)\n" -#: rs01-verify.c:647 +#: rs01-verify.c:651 #, c-format msgid "- medium sectors : %lld sectors + %d bytes (good)\n" msgstr "- settori del media : %lld settori + %d bytes (buoni)\n" -#: rs01-verify.c:657 rs02-verify.c:996 +#: rs01-verify.c:661 rs02-verify.c:1006 #, c-format msgid "* medium sectors : %lld (BAD, perhaps TAO/DAO mismatch)\n" msgstr "* Settori del Media : %lld (Difettosi, probabile incongruenza TAO/DAO)\n" -#: rs01-verify.c:666 rs02-verify.c:998 +#: rs01-verify.c:670 rs02-verify.c:1008 #, c-format msgid "* medium sectors : %lld (BAD)\n" msgstr "* Settori del Media : %lld (Difettosi)\n" -#: rs01-verify.c:670 rs01-verify.c:681 +#: rs01-verify.c:674 rs01-verify.c:685 #, c-format msgid "Image size does not match error correction file." msgstr "La dimensione dell'immagine non corrisponde al file di correzione errore." -#: rs01-verify.c:674 +#: rs01-verify.c:678 #, c-format msgid "* medium sectors : %lld sectors + %d bytes (BAD)\n" msgstr "* settori del media : %lld settori + %d bytes (Difettosi)\n" -#: rs01-verify.c:678 +#: rs01-verify.c:682 #, c-format msgid "%lld sectors + %d bytes" msgstr "" -#: rs01-verify.c:689 +#: rs01-verify.c:693 #, c-format msgid "- medium sectors : %lld\n" msgstr "* Settori del Media : %lld\n" -#: rs01-verify.c:694 +#: rs01-verify.c:698 #, c-format msgid "- medium sectors : %lld sectors + %d bytes\n" msgstr "" -#: rs01-verify.c:708 +#: rs01-verify.c:713 #, c-format msgid "- image md5sum : %s (good)\n" msgstr "- Immagine md5sum : %s (buona)\n" -#: rs01-verify.c:709 +#: rs01-verify.c:714 #, c-format msgid "* image md5sum : %s (BAD)\n" msgstr "* immagine md5sum : %s (Difettosa)\n" -#: rs01-verify.c:719 +#: rs01-verify.c:724 #, c-format msgid "- image md5sum : %s\n" msgstr "- immagine md5sum : %s\n" -#: rs01-verify.c:726 +#: rs01-verify.c:732 msgid "* fingerprint match: NOT POSSIBLE - related sector is missing in image!\n" msgstr "Corrispondenza impronta digitale: NON POSSIBILE - il settore riferito è mancante nell'immagine!\n" -#: rs01-verify.c:728 +#: rs01-verify.c:734 #, c-format msgid "missing sector prevents calculation" msgstr "il settore riferito è mancante nell'immagine" -#: rs01-verify.c:732 +#: rs01-verify.c:738 msgid "* fingerprint match: MISMATCH - .iso and .ecc don't belong together!\n" msgstr "" "* Corrispondenza impronta digitale:\n" " ERRORE - .iso e .ecc non appartengono alla stessa immagine!\n" -#: rs01-verify.c:735 +#: rs01-verify.c:741 #, c-format msgid "mismatch" msgstr "errore" -#: rs01-verify.c:738 +#: rs01-verify.c:744 #, c-format msgid "Image and error correction files do not belong together!" msgstr "L'immagine ed il file ecc non si appartengono." -#: rs01-verify.c:742 +#: rs01-verify.c:748 msgid "- fingerprint match: good\n" msgstr "- Corrispondenza impronta digitale: OK (buona)\n" -#: rs01-verify.c:744 +#: rs01-verify.c:750 msgid "good" msgstr "bene" -#: rs01-verify.c:752 +#: rs01-verify.c:755 +msgid "* quick mode : ecc file NOT scanned\n" +msgstr "" + +#: rs01-verify.c:763 #, c-format msgid "- ecc blocks : %lld (good)\n" msgstr "- Blocchi Ecc : %lld (buoni)\n" -#: rs01-verify.c:757 +#: rs01-verify.c:768 #, c-format msgid "* ecc blocks : %lld (BAD, expected %lld)\n" msgstr "* Blocchi Ecc : %lld (Difettosi, atteso: %lld)\n" -#: rs01-verify.c:759 +#: rs01-verify.c:770 #, c-format msgid "%lld (bad, expected %lld)" msgstr "%lld (difettosi, atteso: %lld)" -#: rs01-verify.c:780 +#: rs01-verify.c:791 #, c-format msgid "- ecc md5sum : %3d%%" msgstr "- Ecc md5sum : %3d%%" -#: rs01-verify.c:795 +#: rs01-verify.c:806 msgid "* ecc md5sum : BAD, ecc file may be damaged!\n" msgstr "* Ecc md5sum : Difettoso, il file ecc potrebbe essere danneggiato!\n" -#: rs01-verify.c:797 +#: rs01-verify.c:808 #, c-format msgid "bad" msgstr "difettoso" -#: rs01-verify.c:799 +#: rs01-verify.c:810 #, c-format msgid "Error correction file may be damaged!" msgstr "Il file ecc potrebbe essere danneggiato!" -#: rs01-verify.c:803 rs02-verify.c:1064 +#: rs01-verify.c:814 rs02-verify.c:1077 #, c-format msgid "- ecc md5sum : %s (good)\n" msgstr "- Ecc-md5sum : %s (buono) \n" -#: rs01-verify.c:817 +#: rs01-verify.c:828 #, c-format msgid "Good error correction file." msgstr "File di correzione dell'immagine valido." -#: rs01-window.c:125 rs02-window.c:87 +#: rs01-window.c:138 rs02-window.c:87 rs03s-window.c:85 rs03-window.c:92 msgid "2. Creating error correction data:" msgstr "2. Creazione dei dati di correzione degli errori:" -#: rs01-window.c:149 +#: rs01-window.c:162 msgid "Show reading speed curve" msgstr "Mostra la curva di velocità di lettura" -#: rs01-window.c:188 rs02-window.c:139 +#: rs01-window.c:201 rs02-window.c:139 rs03-window.c:172 #, c-format msgid "Repaired: %lld" msgstr "Riparato: %lld" -#: rs01-window.c:189 rs02-window.c:140 +#: rs01-window.c:202 rs02-window.c:140 rs03-window.c:173 #, c-format msgid "Unrepairable: %lld" msgstr "Non riparabile: %lld " -#: rs01-window.c:190 rs02-window.c:141 +#: rs01-window.c:203 rs02-window.c:141 rs03-window.c:174 #, c-format msgid "Progress: %3d.%1d%%" msgstr "Avanzamento: %3d.%1d%%" -#: rs01-window.c:398 rs02-window.c:346 +#: rs01-window.c:411 rs02-window.c:346 rs03-window.c:379 msgid "Errors/Ecc block" msgstr "Errori/Blocchi Ecc" -#: rs01-window.c:430 rs02-window.c:372 +#: rs01-window.c:447 rs02-window.c:376 rs03-preferences.c:244 +#: rs03-preferences.c:254 #, c-format msgid "%4.1f%% redundancy (%d roots)" msgstr "%4.1f%% ridondanza (%d radici)" -#: rs01-window.c:447 rs01-window.c:784 rs01-window.c:790 rs01-window.c:791 -#: rs02-window.c:389 rs02-window.c:1143 rs02-window.c:1149 rs02-window.c:1150 +#: rs01-window.c:464 rs01-window.c:867 rs01-window.c:873 rs01-window.c:874 +#: rs02-window.c:393 rs02-window.c:1149 rs02-window.c:1155 rs02-window.c:1156 #, c-format msgid "%d MB of file cache" msgstr "" -#: rs01-window.c:584 +#: rs01-window.c:666 rs03-preferences.c:530 msgid "Redundancy for new error correction files" msgstr "Ridondanza per i nuovi file di correzione degli errori" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal redundancy" msgstr "" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal" msgstr "Normale" -#: rs01-window.c:615 +#: rs01-window.c:697 rs03-preferences.c:579 #, c-format msgid "" "Normal redundancy\n" @@ -3614,15 +3842,15 @@ msgid "" "It invokes optimized program code to speed up the error correction file creation." msgstr "" -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High redundancy" msgstr "" -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High" msgstr "Alto" -#: rs01-window.c:644 +#: rs01-window.c:726 rs03-preferences.c:608 #, c-format msgid "" "High redundancy\n" @@ -3631,15 +3859,15 @@ msgid "" "It invokes optimized program code to speed up the error correction file creation." msgstr "" -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other redundancy" msgstr "" -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other" msgstr "Altro" -#: rs01-window.c:690 +#: rs01-window.c:772 rs03-preferences.c:654 #, c-format msgid "" "Other redundancy\n" @@ -3648,19 +3876,19 @@ msgid "" "An error correction file with x%% redundancy will be approximately x%% of the size of the corresponding image file." msgstr "" -#: rs01-window.c:698 +#: rs01-window.c:780 rs03-preferences.c:662 msgid "Space-delimited redundancy" msgstr "" -#: rs01-window.c:698 rs02-window.c:1075 +#: rs01-window.c:780 rs02-window.c:1081 rs03-preferences.c:662 msgid "Use at most" msgstr "Usare almeno" -#: rs01-window.c:722 +#: rs01-window.c:804 rs03-preferences.c:686 msgid "MB for error correction data" msgstr "MB per i dati di correzione degli errori" -#: rs01-window.c:739 +#: rs01-window.c:821 rs03-preferences.c:703 msgid "" "Space-delimited redundancy\n" "\n" @@ -3669,55 +3897,55 @@ msgid "" "Advance notice: When using the same size setting for images of vastly different size, smaller images receive more redundancy than larger ones. This is usually not what you want." msgstr "" -#: rs01-window.c:781 rs02-window.c:1140 +#: rs01-window.c:864 rs02-window.c:1146 msgid "Memory utilization" msgstr "Utilizzo Memoria" -#: rs01-window.c:785 rs02-window.c:1144 +#: rs01-window.c:868 rs02-window.c:1150 msgid "File cache" msgstr "" -#: rs01-window.c:797 rs02-window.c:1156 +#: rs01-window.c:880 rs02-window.c:1162 rs03-preferences.c:818 msgid "Use" msgstr "Usare" -#: rs01-window.c:825 rs02-window.c:1184 +#: rs01-window.c:908 rs02-window.c:1190 msgid "" "File cache\n" "\n" "dvdisaster optimizes access to the image and error correction files by maintaining its own cache. The preset of 32MB is suitable for most systems." msgstr "" -#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:624 +#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:629 rs03-common.c:318 #, c-format msgid "Failed seeking to ecc header at %lld: %s\n" msgstr "" -#: rs02-common.c:336 rs02-common.c:348 +#: rs02-common.c:336 rs02-common.c:348 rs03-common.c:322 #, c-format msgid "Failed writing ecc header at %lld: %s\n" msgstr "" -#: rs02-create.c:107 +#: rs02-create.c:107 rs03-create.c:180 rs03s-create.c:174 #, c-format msgid "Aborted by user request! (partial ecc data removed from image)" msgstr "" -#: rs02-create.c:139 +#: rs02-create.c:143 rs03-create.c:237 rs03s-create.c:219 #, c-format msgid "" "Image \"%s\" already contains error correction information.\n" "Truncating image to data part (%lld sectors).\n" msgstr "" -#: rs02-create.c:206 +#: rs02-create.c:210 msgid "" "Image contains unread(able) sectors.\n" "Error correction information can only be\n" "appended to complete (undamaged) images.\n" msgstr "" -#: rs02-create.c:210 +#: rs02-create.c:214 #, c-format msgid "" "Sector %lld in the image is marked unreadable\n" @@ -3732,73 +3960,75 @@ msgid "" "appended to complete (undamaged) images.\n" msgstr "" -#: rs02-create.c:228 rs02-create.c:292 rs02-create.c:301 +#: rs02-create.c:232 rs02-create.c:296 rs02-create.c:305 #, c-format msgid "Preparing image (checksums, adding space): %3d%%" msgstr "" -#: rs02-create.c:263 rs02-create.c:273 rs02-fix.c:91 +#: rs02-create.c:267 rs02-create.c:277 rs02-fix.c:91 rs03-create.c:324 +#: rs03-create.c:335 rs03-fix.c:96 rs03s-create.c:307 rs03s-create.c:318 #, c-format msgid "Failed seeking to end of image: %s\n" msgstr "" -#: rs02-create.c:267 rs02-create.c:288 rs02-fix.c:104 +#: rs02-create.c:271 rs02-create.c:292 rs02-fix.c:104 rs03-create.c:309 +#: rs03-fix.c:110 #, c-format msgid "Failed expanding the image: %s\n" msgstr "" -#: rs02-create.c:1025 +#: rs02-create.c:1029 rs03-create.c:1055 rs03s-create.c:1037 msgid "Error correction data creation aborted" msgstr "" -#: rs02-create.c:1029 rs02-create.c:1049 +#: rs02-create.c:1033 rs02-create.c:1053 rs03-create.c:1059 rs03-create.c:1088 +#: rs03s-create.c:1041 rs03s-create.c:1070 #, c-format msgid "" "Augmenting the image with error correction data.\n" "%s" msgstr "" -#: rs02-create.c:1030 +#: rs02-create.c:1034 rs03-create.c:1060 rs03s-create.c:1042 msgid "- checking image -" msgstr "" -#: rs02-create.c:1045 +#: rs02-create.c:1049 #, c-format msgid "Encoding with Method RS02: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." msgstr "Sto codificando con il Metodo RS02: %lld MB dati, %lld MB ecc (%d Radici, %4.1f%% Ridondanza)." -#: rs02-create.c:1053 +#: rs02-create.c:1057 #, c-format msgid "" "Augmenting image with Method RS02:\n" " %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." msgstr "" -#: rs02-create.c:1062 +#: rs02-create.c:1066 #, c-format msgid "" "Not enough space on medium left for error correction data.\n" "Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" "If reducing the image size or using a larger medium is\n" -"not an option, please create a separate error correction\n" -"file using the RS01 method.\n" +"not an option, please create a separate error correction file." msgstr "" -#: rs02-create.c:1073 +#: rs02-create.c:1076 rs03-create.c:1124 rs03s-create.c:1101 #, c-format msgid "" "Using redundancies below 20%%%% may not give\n" "the expected data loss protection.\n" msgstr "" -#: rs02-create.c:1105 rs02-create.c:1114 +#: rs02-create.c:1108 rs02-create.c:1117 rs03-create.c:1147 rs03-create.c:1172 #, c-format msgid "" "Image has been augmented with error correction data.\n" "New image size is %lld MB (%lld sectors).\n" msgstr "" -#: rs02-fix.c:110 rs02-fix.c:118 +#: rs02-fix.c:110 rs02-fix.c:118 rs03-fix.c:116 rs03-fix.c:124 #, c-format msgid "Expanding image: %3d%%" msgstr "" @@ -3808,7 +4038,7 @@ msgstr "" msgid "Image contains error correction data: Method RS02, %d roots, %4.1f%% redundancy." msgstr "" -#: rs02-fix.c:217 +#: rs02-fix.c:217 rs03-fix.c:245 #, c-format msgid "" "The image file is %lld sectors longer as noted in the\n" @@ -3819,27 +4049,28 @@ msgid "" "%s" msgstr "" -#: rs02-fix.c:468 +#: rs02-fix.c:468 rs03-fix.c:487 #, c-format msgid "* Ecc block %lld: %3d unrepairable sectors: " msgstr "* Blocchi Ecc %lld: %3d settori non riparabili: " -#: rs02-fix.c:687 +#: rs02-fix.c:687 rs03-fix.c:706 #, c-format msgid "-> CRC-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "" -#: rs02-fix.c:690 +#: rs02-fix.c:690 rs03-fix.c:709 #, c-format msgid "-> Non-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "" -#: rs02-fix.c:812 +#: rs02-fix.c:812 rs03-fix.c:857 #, c-format msgid "Repaired sectors: %lld (%lld data, %lld ecc)\n" msgstr "Settori riparati: %lld (%lld dati, %lld ecc)\n" -#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 +#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 rs03-verify.c:56 +#: rs03-verify.c:236 rs03-verify.c:280 msgid "Data checksum:" msgstr "" @@ -3851,15 +4082,15 @@ msgstr "" msgid "Ecc headers:" msgstr "" -#: rs02-verify.c:213 +#: rs02-verify.c:213 rs03-verify.c:289 msgid "Data section:" msgstr "" -#: rs02-verify.c:221 +#: rs02-verify.c:221 rs03-verify.c:298 msgid "Crc section:" msgstr "" -#: rs02-verify.c:229 +#: rs02-verify.c:229 rs03-verify.c:307 msgid "Ecc section:" msgstr "" @@ -3867,77 +4098,78 @@ msgstr "" msgid "Error correction data" msgstr "Dati di correzione degli errori" -#: rs02-verify.c:503 +#: rs02-verify.c:503 rs03-verify.c:548 #, c-format msgid "- erasure counts : avg = %.1f; worst = %d per ecc block.\n" msgstr "" -#: rs02-verify.c:506 +#: rs02-verify.c:506 rs03-verify.c:551 #, c-format msgid "- prognosis : %lld of %lld sectors recoverable (%d.%d%%)\n" msgstr "" -#: rs02-verify.c:512 +#: rs02-verify.c:512 rs03-verify.c:555 msgid "Erasure counts:" msgstr "" -#: rs02-verify.c:513 +#: rs02-verify.c:513 rs03-verify.c:556 msgid "Prognosis:" msgstr "" -#: rs02-verify.c:516 +#: rs02-verify.c:516 rs03-verify.c:559 #, c-format msgid "avg = %.1f; worst = %d per ecc block." msgstr "" -#: rs02-verify.c:521 +#: rs02-verify.c:521 rs03-verify.c:564 #, c-format msgid "%lld of %lld sectors recoverable (%d.%d%%)" msgstr "" -#: rs02-verify.c:569 +#: rs02-verify.c:574 rs03-verify.c:769 msgid "Check aborted" msgstr "" -#: rs02-verify.c:583 +#: rs02-verify.c:588 rs03-verify.c:808 msgid "Checking the image file." msgstr "Controllo il file immagine" -#: rs02-verify.c:584 +#: rs02-verify.c:589 msgid "Image contains error correction data." msgstr "" -#: rs02-verify.c:607 +#: rs02-verify.c:612 rs03-verify.c:1005 #, c-format msgid "Image file is %lld sectors shorter than expected." msgstr "" -#: rs02-verify.c:608 +#: rs02-verify.c:613 rs03-verify.c:1006 #, c-format msgid "Image file is %lld sectors longer than expected." msgstr "" -#: rs02-verify.c:628 +#: rs02-verify.c:633 #, c-format msgid "Failed reading ecc header at %lld: %s\n" msgstr "" -#: rs02-verify.c:671 +#: rs02-verify.c:676 #, c-format msgid "%lld ok, %lld CRC errors, %lld missing" msgstr "%lld ok, %lld errori CRC, %lld mancanti" -#: rs02-verify.c:798 rs02-verify.c:819 +#: rs02-verify.c:808 rs02-verify.c:829 rs03-verify.c:1189 rs03-verify.c:1228 #, c-format msgid "%lld sectors missing; %lld CRC errors" msgstr "%lld settori mancanti, %lld errori CRC" -#: rs02-verify.c:802 rs02-verify.c:806 rs02-verify.c:823 rs02-verify.c:827 +#: rs02-verify.c:812 rs02-verify.c:816 rs02-verify.c:833 rs02-verify.c:837 +#: rs03-verify.c:1197 rs03-verify.c:1236 #, c-format msgid "%lld sectors missing" msgstr "%lld settori mancanti" -#: rs02-verify.c:841 +#: rs02-verify.c:851 #, c-format msgid "" "- good image : all sectors present\n" @@ -3946,133 +4178,133 @@ msgstr "" "- Buona immagine : Tutti i settori presenti\n" "- dati md5sum : %s\n" -#: rs02-verify.c:847 +#: rs02-verify.c:857 msgid "* suspicious image : contains damaged ecc headers\n" msgstr "" -#: rs02-verify.c:852 +#: rs02-verify.c:862 rs03-verify.c:1254 #, c-format msgid "* suspicious image : all sectors present, but %lld CRC errors\n" msgstr "* Immagine sospetta : tutti i settori presenti, ma ci sono %lld errori CRC\n" -#: rs02-verify.c:858 +#: rs02-verify.c:868 #, c-format msgid " ... ecc headers : %lld ok, %lld CRC errors, %lld missing\n" msgstr "" -#: rs02-verify.c:860 +#: rs02-verify.c:870 rs03-verify.c:1260 #, c-format msgid " ... data section : %lld sectors missing; %lld CRC errors\n" msgstr "" -#: rs02-verify.c:863 +#: rs02-verify.c:873 rs03-verify.c:1263 #, c-format msgid " ... data md5sum : %s\n" msgstr " ... dati md5sum : %s\n" -#: rs02-verify.c:864 +#: rs02-verify.c:874 rs03-verify.c:1264 #, c-format msgid " ... crc section : %lld sectors missing\n" msgstr "" -#: rs02-verify.c:865 +#: rs02-verify.c:875 rs03-verify.c:1265 #, c-format msgid " ... ecc section : %lld sectors missing\n" msgstr "" -#: rs02-verify.c:887 +#: rs02-verify.c:897 rs03-verify.c:1309 #, c-format msgid "Damaged image." msgstr "" -#: rs02-verify.c:894 +#: rs02-verify.c:904 msgid "" "\n" "Error correction data: " msgstr "" -#: rs02-verify.c:987 +#: rs02-verify.c:997 #, c-format msgid "- medium sectors : %lld / %lld (good)\n" msgstr "" -#: rs02-verify.c:1004 +#: rs02-verify.c:1014 #, c-format msgid "Image size does not match recorded size." msgstr "" -#: rs02-verify.c:1015 +#: rs02-verify.c:1028 #, c-format msgid "- data md5sum : %s (good)\n" msgstr "- dati md5sum : %s (buona)\n" -#: rs02-verify.c:1016 +#: rs02-verify.c:1029 #, c-format msgid "* data md5sum : %s (BAD)\n" msgstr "* dati md5sum : %s (Difettosa)\n" -#: rs02-verify.c:1027 +#: rs02-verify.c:1040 rs03-verify.c:949 #, c-format msgid "- data md5sum : %s\n" msgstr "- dati md5sum : %s\n" -#: rs02-verify.c:1039 +#: rs02-verify.c:1052 #, c-format msgid "- crc md5sum : %s (good)\n" msgstr "- crc md5sum : %s (buona)\n" -#: rs02-verify.c:1044 +#: rs02-verify.c:1057 #, c-format msgid "* crc md5sum : %s (BAD)\n" msgstr "* crc md5sum : %s (Difettosa)\n" -#: rs02-verify.c:1052 +#: rs02-verify.c:1065 #, c-format msgid "- crc md5sum : %s\n" msgstr "- crc md5sum : %s\n" -#: rs02-verify.c:1069 +#: rs02-verify.c:1082 #, c-format msgid "* ecc md5sum : %s (BAD)\n" msgstr "* ecc md5sum : %s (Difettosa)\n" -#: rs02-verify.c:1077 +#: rs02-verify.c:1090 #, c-format msgid "- ecc md5sum : %s\n" msgstr "- Ecc-md5sum : %s\n" -#: rs02-verify.c:1096 +#: rs02-verify.c:1109 #, c-format msgid "Good error correction data." msgstr "" -#: rs02-verify.c:1100 +#: rs02-verify.c:1113 rs03-verify.c:1321 #, c-format msgid "Full data recovery is likely." msgstr "" -#: rs02-verify.c:1103 +#: rs02-verify.c:1116 rs03-verify.c:1324 #, c-format msgid "Full data recovery is NOT possible." msgstr "" -#: rs02-window.c:78 +#: rs02-window.c:78 rs03s-window.c:76 msgid "1. Preparing image:" msgstr "" -#: rs02-window.c:704 +#: rs02-window.c:710 msgid "Maximum image size" msgstr "" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Using the smallest possible size from table" msgstr "" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Use smallest possible size from following table (in sectors):" msgstr "" -#: rs02-window.c:740 +#: rs02-window.c:746 msgid "" "Determine augmented image size from table\n" "\n" @@ -4081,17 +4313,17 @@ msgid "" "In order to pick a suitable medium the available media capacities must be known. Default sizes for CD and one/two layered DVD are given in the table. You can edit these sizes according to your needs." msgstr "" -#: rs02-window.c:759 +#: rs02-window.c:765 msgid "CD-R / CD-RW:" msgstr "" -#: rs02-window.c:770 rs02-window.c:789 rs02-window.c:830 rs02-window.c:849 -#: rs02-window.c:890 rs02-window.c:909 rs02-window.c:950 rs02-window.c:969 -#: rs02-window.c:1009 rs02-window.c:1028 +#: rs02-window.c:776 rs02-window.c:795 rs02-window.c:836 rs02-window.c:855 +#: rs02-window.c:896 rs02-window.c:915 rs02-window.c:956 rs02-window.c:975 +#: rs02-window.c:1015 rs02-window.c:1034 msgid "query medium" msgstr "" -#: rs02-window.c:801 +#: rs02-window.c:807 #, c-format msgid "" "CD medium size\n" @@ -4105,11 +4337,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:819 +#: rs02-window.c:825 msgid "DVD 1 layer:" msgstr "" -#: rs02-window.c:861 +#: rs02-window.c:867 #, c-format msgid "" "Single layer DVD medium size\n" @@ -4123,11 +4355,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:879 +#: rs02-window.c:885 msgid "DVD 2 layers:" msgstr "" -#: rs02-window.c:921 +#: rs02-window.c:927 #, c-format msgid "" "Two layered DVD medium size\n" @@ -4141,11 +4373,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:939 +#: rs02-window.c:945 msgid "BD 1 layer:" msgstr "" -#: rs02-window.c:981 +#: rs02-window.c:987 #, c-format msgid "" "Single layer BD medium size\n" @@ -4159,11 +4391,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:998 +#: rs02-window.c:1004 msgid "BD 2 layers:" msgstr "" -#: rs02-window.c:1040 +#: rs02-window.c:1046 #, c-format msgid "" "Two layered BD medium size\n" @@ -4177,11 +4409,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:1095 +#: rs02-window.c:1101 msgid "sectors." msgstr "" -#: rs02-window.c:1108 +#: rs02-window.c:1114 #, c-format msgid "" "Use at most ... sectors\n" @@ -4193,6 +4425,491 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" +#: rs03-common.c:192 +#, c-format +msgid "Redundancy %4.1f%% out of useful range [3.2%%..200%%]" +msgstr "" + +#: rs03-common.c:222 +#, c-format +msgid "Redundancy %d out of useful range [8..170]." +msgstr "" + +#: rs03-create.c:304 +#, c-format +msgid "Failed expanding the ecc file: %s\n" +msgstr "" + +#: rs03-create.c:305 +#, c-format +msgid "Preparing ecc file: %3d%%" +msgstr "" + +#: rs03-create.c:310 +#, c-format +msgid "Preparing image: %3d%%" +msgstr "" + +#: rs03-create.c:507 +#, c-format +msgid "" +"Incomplete image\n" +"\n" +"The image contains missing sectors,\n" +"e.g. sector %lld.\n" +"%sError correction data works like a backup; it must\n" +"be created when the image is still fully readable.\n" +"Exiting and removing partial error correction data." +msgstr "" + +#: rs03-create.c:515 +msgid "" +"\n" +"This image was probably mastered from defective source(s).\n" +"Perform a \"Verify\" action for more information.\n" +"\n" +msgstr "" + +#: rs03-create.c:740 +msgid "CPU bound" +msgstr "" + +#: rs03-create.c:744 +msgid "I/O bound" +msgstr "" + +#: rs03-create.c:915 +#, c-format +msgid "%5.2fMB/s current" +msgstr "" + +#: rs03-create.c:959 +#, c-format +msgid "%d threads with 128bit intrinsics" +msgstr "" + +#: rs03-create.c:962 rs03-preferences.c:290 rs03-preferences.c:805 +#: rs03-preferences.c:811 rs03-preferences.c:812 +#, c-format +msgid "%d threads" +msgstr "" + +#: rs03-create.c:1083 rs03s-create.c:1066 +#, c-format +msgid "Encoding with Method RS03: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1098 +#, c-format +msgid "" +"Augmenting image with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1103 +#, c-format +msgid "" +"Creating the error correction file with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1114 rs03s-create.c:1091 +#, c-format +msgid "" +"Not enough space on medium left for error correction data.\n" +"Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" +"If reducing the image size or using a larger medium is not\n" +"an option, please create a separate error correction file." +msgstr "" + +#: rs03-create.c:1158 +#, c-format +msgid "Avg performance: %5.2fs (%5.2fMB/s) total\n" +msgstr "" + +#: rs03-create.c:1161 +#, c-format +msgid "%5.2fMB/s average" +msgstr "" + +#: rs03-create.c:1163 +#, c-format +msgid "%d times CPU bound; %d times I/O bound" +msgstr "" + +#: rs03-fix.c:224 +#, c-format +msgid "Error correction file using Method RS03, %d roots, %4.1f%% redundancy." +msgstr "" + +#: rs03-fix.c:228 +#, c-format +msgid "Image contains error correction data: Method RS03, %d roots, %4.1f%% redundancy." +msgstr "" + +#: rs03-fix.c:798 +#, c-format +msgid "Failed seeking to sector %lld in ecc file [%s]: %s" +msgstr "" + +#: rs03-fix.c:803 +#, c-format +msgid "" +"could not write ecc file sector %lld:\n" +"%s" +msgstr "" + +#: rs03-preferences.c:271 rs03-preferences.c:749 rs03-preferences.c:755 +#: rs03-preferences.c:756 +#, c-format +msgid "%d sectors" +msgstr "" + +#: rs03-preferences.c:443 +msgid "Warning: This codec is experimental and for evaluation only. It is not yet fully implemented and does contain bugs. Future dvdisaster versions may not be compatible with it. Do not yet use this codec for any archival purposes." +msgstr "" + +#: rs03-preferences.c:460 rs03-preferences.c:467 +msgid "Error correction data storage" +msgstr "" + +#: rs03-preferences.c:468 +msgid "Store ECC data in: " +msgstr "" + +#: rs03-preferences.c:480 +msgid "File" +msgstr "" + +#: rs03-preferences.c:507 +msgid "" +"Error correction data storage\n" +"\n" +"Select between two ways of storing the error correction information:\n" +msgstr "" + +#: rs03-preferences.c:512 +msgid "" +"Augmented image (recommended)\n" +"The error correction data will be stored along with the user data on the same medium. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image and fill up the remaining space.\n" +"Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required.\n" +msgstr "" + +#: rs03-preferences.c:522 +msgid "" +"Error correction file\n" +"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster. This prevents from losing the error correction files in case of a medium defect.\n" +msgstr "" + +#: rs03-preferences.c:542 +msgid "no settings for augmented images" +msgstr "" + +#: rs03-preferences.c:746 +msgid "Sector prefetch" +msgstr "" + +#: rs03-preferences.c:750 +msgid "Sector prefetching" +msgstr "" + +#: rs03-preferences.c:762 +msgid "Prefetch" +msgstr "" + +#: rs03-preferences.c:790 +msgid "" +"Sector preloading\n" +"\n" +"dvdisaster optimizes access to the image and error correction data by preloading and caching parts of them.\n" +"\n" +"The optimal preload value depends on the storage system used for the image and error correction files.\n" +"Use small preload values for systems with low latency and seek time, e.g. SSDs. For magnetic hard disks performace may be better using larger preload values.\n" +"\n" +"A preload value of n will used approx. n MB of RAM." +msgstr "" + +#: rs03-preferences.c:802 rs03-preferences.c:806 +msgid "Multithreading" +msgstr "" + +#: rs03-preferences.c:846 +msgid "" +"Multithreading\n" +"\n" +"RS03 can use multiple threads (and therefore CPU cores)for encoding.\n" +"For systems with 4 cores or less, set the number of threads to the number of cores. If you have more cores, leave one unused for doing I/O and graphics updates.\n" +"E.g. use 7 threads on an 8 core system.\n" +"\n" +"Performance will not scale linearly with the number of CPU cores. Hard disk performance is more limiting than raw CPU power. When using 4 cores or more, memory bandwidth may also affect performance." +msgstr "" + +#: rs03s-create.c:1075 +#, c-format +msgid "" +"Augmenting image with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03s-create.c:1080 +#, c-format +msgid "" +"Creating the error correction file with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-verify.c:189 +msgid "Error correction properties" +msgstr "" + +#: rs03-verify.c:200 +msgid "Type:" +msgstr "" + +#: rs03-verify.c:260 +msgid "Data integrity" +msgstr "" + +#: rs03-verify.c:316 rs03-verify.c:1281 +msgid "Ecc block test:" +msgstr "" + +#: rs03-verify.c:423 +#, c-format +msgid "Failed seeking to sector %lld in ecc file: %s" +msgstr "" + +#: rs03-verify.c:592 rs03-verify.c:798 rs03-verify.c:1214 +msgid "Checking the image and error correction files." +msgstr "" + +#: rs03-verify.c:593 +msgid "- Checking ecc blocks (deep verify) -" +msgstr "" + +#: rs03-verify.c:608 +#, c-format +msgid "Out of memory; try reducing sector prefetch!" +msgstr "" + +#: rs03-verify.c:610 +msgid "* Ecc block test : out of memory; try reducing sector prefetch!\n" +msgstr "" + +#: rs03-verify.c:700 +#, c-format +msgid "%d%% tested" +msgstr "" + +#: rs03-verify.c:702 +#, c-format +msgid "- Ecc block test : %d%% tested" +msgstr "" + +#: rs03-verify.c:708 +#, c-format +msgid "%lld good, %lld bad; %d%% tested" +msgstr "" + +#: rs03-verify.c:710 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %d%% tested" +msgstr "" + +#: rs03-verify.c:720 +msgid "pass" +msgstr "" + +#: rs03-verify.c:722 +msgid "- Ecc block test : pass\n" +msgstr "" + +#: rs03-verify.c:727 +#, c-format +msgid "%lld good, %lld bad; %lld bad sub blocks" +msgstr "" + +#: rs03-verify.c:729 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %lld bad sub blocks\n" +msgstr "" + +#: rs03-verify.c:782 +#, c-format +msgid "" +"\n" +"%s present.\n" +msgstr "" + +#: rs03-verify.c:801 +#, c-format +msgid "%s present.\n" +msgstr "" + +#: rs03-verify.c:821 +msgid "" +"\n" +"Error correction properties:\n" +msgstr "" + +#: rs03-verify.c:830 +#, c-format +msgid "Ecc file is %lld sectors shorter than expected." +msgstr "" + +#: rs03-verify.c:832 +#, c-format +msgid "Ecc file is %lld sectors longer than expected." +msgstr "" + +#: rs03-verify.c:838 +#, c-format +msgid "* Warning : %s\n" +msgstr "" + +#: rs03-verify.c:846 +msgid "- type : Error correction file\n" +msgstr "" + +#: rs03-verify.c:847 +msgid "- type : Augmented image\n" +msgstr "" + +#: rs03-verify.c:851 +msgid "Error correction file" +msgstr "" + +#: rs03-verify.c:852 +msgid "Augmented image" +msgstr "" + +#: rs03-verify.c:887 +msgid "- created by : dvdisaster" +msgstr "" + +#: rs03-verify.c:900 +#, c-format +msgid "- created by : dvdisaster-%d.%d\n" +msgstr "" + +#: rs03-verify.c:919 +#, c-format +msgid "- requires : dvdisaster-%s\n" +msgstr "" + +#: rs03-verify.c:925 +#, c-format +msgid "" +"* requires : dvdisaster-%s (BAD)\n" +"* Warning : The following output might be incorrect.\n" +"* : Please visit http://www.dvdisaster.com for an upgrade.\n" +msgstr "" + +#: rs03-verify.c:947 +msgid "none available" +msgstr "" + +#: rs03-verify.c:965 +msgid "" +"\n" +"Data integrity:\n" +msgstr "" + +#: rs03-verify.c:987 +#, c-format +msgid "%lld in image; %lld in ecc file" +msgstr "" + +#: rs03-verify.c:989 +#, c-format +msgid "- sectors : %lld in image; %lld in ecc file\n" +msgstr "" + +#: rs03-verify.c:994 +#, c-format +msgid "%lld total / %lld data" +msgstr "" + +#: rs03-verify.c:996 +#, c-format +msgid "- medium sectors : %lld total / %lld data\n" +msgstr "" + +#: rs03-verify.c:1002 +#, c-format +msgid "%lld (%lld expected)" +msgstr "" + +#: rs03-verify.c:1027 +#, c-format +msgid "Failed seeking to start of ecc file: %s\n" +msgstr "" + +#: rs03-verify.c:1073 +#, c-format +msgid "premature end in ecc file (only %d bytes): %s\n" +msgstr "" + +#: rs03-verify.c:1124 +msgid " (in ecc file)" +msgstr "" + +#: rs03-verify.c:1132 +#, c-format +msgid "* missing sector : %lld%s\n" +msgstr "" + +#: rs03-verify.c:1133 +#, c-format +msgid "* missing sectors : %lld - %lld%s\n" +msgstr "" + +#: rs03-verify.c:1193 rs03-verify.c:1232 +#, c-format +msgid "%lld sectors missing; %lld signature errors" +msgstr "" + +#: rs03-verify.c:1217 +msgid "Error correction file:" +msgstr "" + +#: rs03-verify.c:1248 +#, c-format +msgid "" +"- good image/file : all sectors present\n" +"- data md5sum : %s\n" +msgstr "" + +#: rs03-verify.c:1252 +#, c-format +msgid "* BAD image/file : %lld sectors missing\n" +msgstr "" + +#: rs03-verify.c:1287 +#, c-format +msgid "Skipped; not useful on known defective image" +msgstr "" + +#: rs03-verify.c:1290 +msgid "* Ecc block test : skipped; not useful on defective image\n" +msgstr "" + +#: rs03-window.c:83 +msgid "1. Reserving space:" +msgstr "" + +#: rs03-window.c:102 +msgid "Encoder info:" +msgstr "" + +#: rs03-window.c:111 +msgid "Performance:" +msgstr "" + +#: rs03-window.c:120 +msgid "State:" +msgstr "" + #: scsi-darwin.c:159 msgid "No CD/DVD drives found." msgstr "Nessun CD/DVD drive trovato." @@ -4213,7 +4930,7 @@ msgstr "" "Nessun CD/DVD drive trovato in /dev.\n" "Nessun drive sarà preselezionato.\n" -#: scsi-layer.c:87 +#: scsi-layer.c:101 #, c-format msgid "" "Can open %s, but INQUIRY fails.\n" @@ -4227,27 +4944,27 @@ msgstr "" "Oppure prova ad usare /dev/scd? o /dev/sr?,\n" "oppure disabilita l'emulazione ide-scsi.\n" -#: scsi-layer.c:95 +#: scsi-layer.c:109 #, c-format msgid "INQUIRY failed. Something is wrong with drive %s.\n" msgstr "INQUIRY fallita. Qualcosa non va con il drive %s.\n" -#: scsi-layer.c:124 +#: scsi-layer.c:138 #, c-format msgid "Device %s (%s) is not a CDROM drive." msgstr "La periferica %s (%s) non è un CDROM." -#: scsi-layer.c:125 +#: scsi-layer.c:139 #, c-format msgid "Device %s (%s) is a hard disk." msgstr "La periferica %s (%s) è un disco rigido." -#: scsi-layer.c:416 +#: scsi-layer.c:430 #, c-format msgid "Incomplete %s" msgstr "" -#: scsi-layer.c:454 +#: scsi-layer.c:468 #, c-format msgid "" "%s\n" @@ -4256,16 +4973,16 @@ msgstr "" "%s\n" "Non riesco ad indentificare lunghezza della TOC.\n" -#: scsi-layer.c:459 +#: scsi-layer.c:473 msgid "blank" msgstr "" -#: scsi-layer.c:473 scsi-layer.c:533 +#: scsi-layer.c:488 scsi-layer.c:549 #, c-format msgid "TOC info too long (%d), probably multisession.\n" msgstr "TOC info troppo lunga (%d), probabile multisessione.\n" -#: scsi-layer.c:488 +#: scsi-layer.c:503 #, c-format msgid "" "%s\n" @@ -4274,7 +4991,7 @@ msgstr "" "%s\n" "Non riesco a leggere la TOC.\n" -#: scsi-layer.c:515 +#: scsi-layer.c:530 #, c-format msgid "" "%s\n" @@ -4283,12 +5000,12 @@ msgstr "" "%s\n" "Non riesco a leggere tutta la lunghezza della TOC.\n" -#: scsi-layer.c:527 +#: scsi-layer.c:543 #, c-format msgid "TOC info too short, length %d.\n" msgstr "TOC info troppo corta, lunghezza %d.\n" -#: scsi-layer.c:551 +#: scsi-layer.c:569 #, c-format msgid "" "%s\n" @@ -4297,7 +5014,7 @@ msgstr "" "%s\n" "Non riesco a leggere tutta la TOC.\n" -#: scsi-layer.c:560 +#: scsi-layer.c:578 #, c-format msgid "" "\n" @@ -4306,11 +5023,11 @@ msgstr "" "\n" "formato TOC inatteso (lunghezza %d):\n" -#: scsi-layer.c:568 +#: scsi-layer.c:586 msgid "Consider sending a bug report.\n" msgstr "Considera di inviare una comunicazione di errore.\n" -#: scsi-layer.c:621 +#: scsi-layer.c:639 #, c-format msgid "" "%s\n" @@ -4319,12 +5036,12 @@ msgstr "" "%s\n" "Non posso identificare la lunghezza della struttura del dvd.\n" -#: scsi-layer.c:632 +#: scsi-layer.c:651 #, c-format msgid "Could not query dvd physical structure - implausible packet length %d\n" msgstr "Non riesco ad identificare la struttura fisica del dvd - lunghezza pachetto non plausibile %d\n" -#: scsi-layer.c:650 +#: scsi-layer.c:669 #, c-format msgid "" "%s\n" @@ -4333,26 +5050,26 @@ msgstr "" "%s\n" "Non riesco ad identificare la struttura fisica del dvd\n" -#: scsi-layer.c:679 scsi-layer.c:689 +#: scsi-layer.c:698 scsi-layer.c:708 #, c-format msgid "READ DVD STRUCTURE: implausible medium size, %lld-%lld=%lld sectors\n" msgstr "" -#: scsi-layer.c:947 +#: scsi-layer.c:968 #, c-format msgid "" "%s\n" "Could not query BD disc structure length.\n" msgstr "" -#: scsi-layer.c:970 +#: scsi-layer.c:992 #, c-format msgid "" "%s\n" "Could not query BD disc structure.\n" msgstr "" -#: scsi-layer.c:1646 +#: scsi-layer.c:1673 #, c-format msgid "" "%s\n" @@ -4361,14 +5078,14 @@ msgstr "" "%s\n" "Non posso identificare la lunghezza della struttura dvd per il format code 1.\n" -#: scsi-layer.c:1656 +#: scsi-layer.c:1684 #, c-format msgid "Could not query dvd copyright info - implausible packet length %d\n" msgstr "" "Non posso identificare le informazioni del copyright del dvd\n" "- lunghezza del pacchetto non plausibile %d\n" -#: scsi-layer.c:1671 +#: scsi-layer.c:1699 #, c-format msgid "" "%s\n" @@ -4377,23 +5094,23 @@ msgstr "" "%s\n" "Non posso identificare le informazioni del copyright.\n" -#: scsi-layer.c:1731 +#: scsi-layer.c:1759 msgid "is undecideable because of read error" msgstr "Illeggibile per errori di lettura" -#: scsi-layer.c:1737 +#: scsi-layer.c:1765 msgid "looks GOOD" msgstr "sembra BUONA" -#: scsi-layer.c:1743 +#: scsi-layer.c:1771 msgid "gives unformatted size (UNUSABLE)" msgstr "rende la dimensione non formattata (INUTILIZZABILE)" -#: scsi-layer.c:1748 +#: scsi-layer.c:1776 msgid "is UNUSABLE" msgstr "è UTILIZZABILE" -#: scsi-layer.c:1770 +#: scsi-layer.c:1798 #, c-format msgid "" "%s\n" @@ -4402,12 +5119,12 @@ msgstr "" "%s\n" "Non riesco ad indentificare la dimensione del supporto.\n" -#: scsi-layer.c:1790 +#: scsi-layer.c:1818 #, c-format msgid "READ CAPACITY: implausible medium size, %lld sectors\n" msgstr "" -#: scsi-layer.c:1869 +#: scsi-layer.c:1895 #, c-format msgid "" "Different media sizes depending on query method:\n" @@ -4420,7 +5137,7 @@ msgstr "" "\"READ DVD STRUCTURE\": %lld Settori\n" "\n" -#: scsi-layer.c:1874 +#: scsi-layer.c:1900 msgid "" "Evaluation of returned medium sizes:\n" "\n" @@ -4428,15 +5145,15 @@ msgstr "" "Valutazione della dimensione del media:\n" "\n" -#: scsi-layer.c:1929 +#: scsi-layer.c:1955 msgid "Using value from READ CAPACITY" msgstr "Usa il valore dalla READ CAPACITY" -#: scsi-layer.c:1933 +#: scsi-layer.c:1959 msgid "Using value from READ DVD STRUCTURE" msgstr "Usa il valore dalla READ DVD STRUCTURE" -#: scsi-layer.c:1943 +#: scsi-layer.c:1969 #, c-format msgid "" "FAILED to determine image size.\n" @@ -4448,7 +5165,7 @@ msgstr "" "ma CONTINUATE A VOSTRO RISCHIO (l'immagine potrebbe essere\n" "incompleta o illeggibile)." -#: scsi-layer.c:1948 +#: scsi-layer.c:1974 #, c-format msgid "" "Final decision: %s\n" @@ -4457,7 +5174,7 @@ msgstr "" "Decisione finale: %s\n" "\n" -#: scsi-layer.c:1956 +#: scsi-layer.c:1982 msgid "" "Failed to determine image size.\n" "Try using a different drive." @@ -4465,51 +5182,51 @@ msgstr "" "Impossibile determinare la dimensione dell'immagine.\n" "Provare ad utilizzare un drive diverso." -#: scsi-layer.c:2081 scsi-layer.c:2107 +#: scsi-layer.c:2106 scsi-layer.c:2132 #, c-format msgid "" "%s\n" "Could not load/unload the medium.\n" msgstr "" -#: scsi-layer.c:2097 +#: scsi-layer.c:2122 #, c-format msgid "" "%s\n" "Could not unlock the medium.\n" msgstr "" -#: scsi-layer.c:2160 +#: scsi-layer.c:2185 #, c-format msgid "Waiting 10 seconds for drive: %d\n" msgstr "" -#: scsi-layer.c:2443 +#: scsi-layer.c:2468 #, c-format msgid "Sectors %lld - %lld: %s\n" msgstr "" -#: scsi-layer.c:2457 +#: scsi-layer.c:2482 #, c-format msgid "Sector %lld, try %d: %s Sector returned: %d.\n" msgstr "" -#: scsi-layer.c:2463 +#: scsi-layer.c:2488 #, c-format msgid "Sector %lld, try %d: %s\n" msgstr "" -#: scsi-layer.c:2474 +#: scsi-layer.c:2499 #, c-format msgid "Sector %lld, try %d: success\n" msgstr "" -#: scsi-layer.c:2541 scsi-layer.c:2694 +#: scsi-layer.c:2566 scsi-layer.c:2711 #, c-format msgid "Device %s: no medium present\n" msgstr "" -#: scsi-layer.c:2542 scsi-layer.c:2695 +#: scsi-layer.c:2567 scsi-layer.c:2712 #, c-format msgid "" "Device %s does not become ready:\n" @@ -4517,7 +5234,7 @@ msgid "" "\n" msgstr "" -#: scsi-layer.c:2547 +#: scsi-layer.c:2571 #, c-format msgid "" "\n" @@ -4526,61 +5243,52 @@ msgstr "" "\n" "Periferica: %s, %s\n" -#: scsi-layer.c:2551 -#, c-format -msgid "" -"\n" -"Device: %s (%s), %s\n" -msgstr "" -"\n" -"Periferica: %s (%s), %s\n" - -#: scsi-layer.c:2559 +#: scsi-layer.c:2577 msgid "Drive failed to report media type." msgstr "" -#: scsi-layer.c:2570 scsi-layer.c:2657 +#: scsi-layer.c:2588 scsi-layer.c:2674 #, c-format msgid "This software does not support \"%s\" type media." msgstr "" -#: scsi-layer.c:2578 +#: scsi-layer.c:2596 #, c-format msgid "This software does not support multisession (%d sessions) media." msgstr "" -#: scsi-layer.c:2601 scsi-layer.c:2610 +#: scsi-layer.c:2619 scsi-layer.c:2628 msgid "Using READ CD" msgstr "" -#: scsi-layer.c:2602 +#: scsi-layer.c:2620 msgid ", RAW reading" msgstr "" -#: scsi-layer.c:2605 +#: scsi-layer.c:2623 #, c-format msgid ", Mode page 1 ERP = %02xh" msgstr "" -#: scsi-layer.c:2608 +#: scsi-layer.c:2626 msgid ", C2 scanning" msgstr "" -#: scsi-layer.c:2615 +#: scsi-layer.c:2633 msgid "Using READ(10).\n" msgstr "" -#: scsi-layer.c:2634 +#: scsi-layer.c:2651 #, c-format msgid "Medium: %s, %lld sectors%s" msgstr "Supporto: %s, %lld settori%s" -#: scsi-layer.c:2638 +#: scsi-layer.c:2655 #, c-format msgid "Medium \"%s\": %s, %lld sectors%s created %s" msgstr "Supporto \"%s\": %s, %lld settori%s creato %s" -#: scsi-layer.c:2664 +#: scsi-layer.c:2681 msgid "This software does not support encrypted media.\n" msgstr "" @@ -4596,42 +5304,7 @@ msgid "" "* No drives can be used.\n" msgstr "" -#: scsi-win32.c:415 -msgid "ASPI manager present, but no CD/DVD drives managed.\n" -msgstr "ASPI-Manager presente, ma CD/DVD drive non gestibili.\n" - -#: scsi-win32.c:417 -#, c-format -msgid "" -"%d SPTI drives, but %d ASPI drives.\n" -"Drive letter mapping for ASPI drives is probably incorrect.\n" -msgstr "" -"%d SPTI drive, ma %d ASPI drive.\n" -"La lettera di mappatura per i drive ASPI probabilmente non è corretta.\n" - -#: scsi-win32.c:435 -msgid "" -"\n" -"List of ASPI CD/DVD drives:\n" -msgstr "" -"\n" -"Lista dei drive CD/DVD ASPI:\n" - -#: scsi-win32.c:440 -msgid "" -"\n" -"To force ASPI usage over SPTI, refer to the drive by the\n" -"above numbers (use 1:, 2:,... instead of C:, D:,...)\n" -msgstr "" -"\n" -"Per forzare l'uso ASPI su SPTI, far riferimento al drive tramite i numeri\n" -"(usare 1:, 2:,... invece di C:, D:,...)\n" - -#: scsi-win32.c:445 -msgid "ASPI manager not available or installed.\n" -msgstr "ASPI-Manager non disponibile o non installato.\n" - -#: scsi-win32.c:569 +#: scsi-win32.c:161 #, c-format msgid "" "\n" @@ -4640,14 +5313,12 @@ msgstr "" "\n" "Nome della periferica illegale \"%s\" (usare periferiche \"C:\" ... \"Z:\")" -#: scsi-win32.c:659 +#: scsi-win32.c:245 #, c-format msgid "" "\n" -"Neither SPTI nor ASPI worked opening %s." +"Could not open device %s." msgstr "" -"\n" -"Né SPTI che ASPI funzionano con %s." #: show-manual.c:75 msgid "windowtitle|Choose a browser" @@ -4699,19 +5370,19 @@ msgstr "" msgid "Please hang on until the browser comes up!" msgstr "Prego attendere finchè il browser non si avvia!" -#: udf.c:143 +#: udf.c:142 msgid "Skip RS02 test" msgstr "" -#: udf.c:144 +#: udf.c:143 msgid "Continue searching" msgstr "" -#: udf.c:149 +#: udf.c:148 msgid "Disable RS02 initialization in the preferences" msgstr "" -#: udf.c:240 +#: udf.c:238 msgid "" "Faster medium initialization\n" "\n" @@ -4720,57 +5391,147 @@ msgid "" "not augmented with RS02 error correction data." msgstr "" -#: udf.c:249 -msgid "" -"\n" -"Searching this medium for error correction data may take a long time.\n" -"If you are certain that this medium was not augmented with RS02 error correction\n" -"data, you might wish to abort this command and re-run with the option\n" -"--query-size=udf\n" -msgstr "" - -#: udf.c:533 +#: udf.c:524 msgid "Unnamed" msgstr "Non intestato" -#: udf.c:624 +#: udf.c:615 msgid "Example disc" msgstr "" #: welcome-window.c:79 #, c-format msgid "" -"- New raw reading mode for CD media.\n" -"- Number of reading attempts can be selected\n" -"%s per sector and for the whole medium.\n" -"- Redesigned preferences dialog." +"- Development frameworks for Windows and OS X updated.\n" +"- Experimental multithreaded codec (RS03).\n" +"\n" +"Warning:\n" +"This version is experimental and for testing only.\n" +"It may contain bugs even in functions which worked\n" +"in previous versions.\n" +"\n" +"RS03 has not reached full recovery capacity yet and\n" +"is not recognized by linear and adaptive reading." msgstr "" -#: welcome-window.c:87 +#: welcome-window.c:93 msgid "Show this message again" msgstr "" -#: welcome-window.c:129 +#: welcome-window.c:135 msgid "Welcome to dvdisaster!" msgstr "" -#: welcome-window.c:131 +#: welcome-window.c:137 msgid "" "\n" "dvdisaster creates error correction data to protect\n" "CD and DVD media against data loss.\n" msgstr "" -#: welcome-window.c:134 +#: welcome-window.c:140 msgid "" "Please see the manual for [typical uses] of dvdisaster.\n" "\n" msgstr "" -#: welcome-window.c:137 +#: welcome-window.c:143 msgid "New in this Version:" msgstr "" +#~ msgid "" +#~ "Image file already exists and does not match the CD/DVD.\n" +#~ "The existing image file will be deleted." +#~ msgstr "" +#~ "Il file immagine esiste già e non corrisponde al CD/DVD.\n" +#~ "Il file immagine esistente sarà rimosso." + +#~ msgid "" +#~ "Automatic error correction file creation is enabled,\n" +#~ "and \"%s\" already exists.\n" +#~ "Overwrite it?\n" +#~ msgstr "" +#~ "La creazione automatica del file di correzione dell'errore è abilitata,\n" +#~ "e \"%s\" esiste già.\n" +#~ "Sovrascrivo?\n" + +#~ msgid "" +#~ "Drive and file specification:\n" +#~ " -d,--device device - read from given device (default: %s)\n" +#~ " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" +#~ " -i,--image imagefile - name of image file (default: medium.iso)\n" +#~ " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +#~ msgstr "" +#~ "Specifiche drive e file:\n" +#~ " -d,--device periferica - Legge dalla periferica specificata (Standard: %s)\n" +#~ " -p,--prefix prefisso - Prefisso del file .iso/.ecc (Standard: medium.* )\n" +#~ " -i,--image Nome - Nome del file immagine (Standard: medium.iso)\n" +#~ " -e,--ecc Nome - Nome del file di Parità (Standard: medium.ecc)\n" + +#~ msgid "" +#~ " -l,--list - list drives available under ASPI manager\n" +#~ "\n" +#~ msgstr "" +#~ " -l,--list - Elenca i drive disponibili con ASPI manager\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "Device: %s (%s), %s\n" +#~ msgstr "" +#~ "\n" +#~ "Periferica: %s (%s), %s\n" + +#~ msgid "ASPI manager present, but no CD/DVD drives managed.\n" +#~ msgstr "ASPI-Manager presente, ma CD/DVD drive non gestibili.\n" + +#~ msgid "" +#~ "%d SPTI drives, but %d ASPI drives.\n" +#~ "Drive letter mapping for ASPI drives is probably incorrect.\n" +#~ msgstr "" +#~ "%d SPTI drive, ma %d ASPI drive.\n" +#~ "La lettera di mappatura per i drive ASPI probabilmente non è corretta.\n" + +#~ msgid "" +#~ "\n" +#~ "List of ASPI CD/DVD drives:\n" +#~ msgstr "" +#~ "\n" +#~ "Lista dei drive CD/DVD ASPI:\n" + +#~ msgid "" +#~ "\n" +#~ "To force ASPI usage over SPTI, refer to the drive by the\n" +#~ "above numbers (use 1:, 2:,... instead of C:, D:,...)\n" +#~ msgstr "" +#~ "\n" +#~ "Per forzare l'uso ASPI su SPTI, far riferimento al drive tramite i numeri\n" +#~ "(usare 1:, 2:,... invece di C:, D:,...)\n" + +#~ msgid "ASPI manager not available or installed.\n" +#~ msgstr "ASPI-Manager non disponibile o non installato.\n" + +#~ msgid "" +#~ "\n" +#~ "Neither SPTI nor ASPI worked opening %s." +#~ msgstr "" +#~ "\n" +#~ "Né SPTI che ASPI funzionano con %s." + +#~ msgid "" +#~ "\n" +#~ "Unknown method %s.\n" +#~ msgstr "" +#~ "\n" +#~ "Metodo %s sconosciuto.\n" + +#~ msgid "" +#~ "\n" +#~ "Neither ecc file nor ecc data in image found.\n" +#~ msgstr "" +#~ "\n" +#~ "Non riesco a trovare nè il file ecc nè i dati ecc nell'immagine.\n" + #~ msgid "" #~ "\n" #~ "dvdisaster version %s\n" @@ -4932,21 +5693,7 @@ msgstr "" #~ " --truncate n - truncates image to n sectors\n" #~ " --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" #~ "\n" -#~ msgstr "" -#~ "Opzioni di Debug (volutamente non documentate e possibilmente pericolose!)\n" -#~ " --debug - attiva le senguenti opzioni\n" -#~ " --byteset s,i,b - setta il byte i nel settore s al valore b\n" -#~ " --erase sector - Cancella il settore specificato\n" -#~ " --erase n-m - Cancella i settori da n ad m inclusi\n" -#~ " --random-errors r,e inserisce nell'immagine errori casuali (correggibili)\n" -#~ " --random-image n - create image with n sectors or random numbers\n" -#~ " --random-seed n - random seed for built-in random number generator\n" -#~ " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" -#~ " --show-sector n - mostra l'hexdump del settore dato\n" -#~ " --sim-defects n - simulate n% defective sectors on medium\n" -#~ " --truncate n - truncates image to n sectors\n" -#~ " --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" -#~ "\n" +#~ msgstr "\n" #~ msgid "" #~ "\n" @@ -5098,20 +5845,6 @@ msgstr "" #~ " --split-files - split image into files <= 2GB\n" #~ "\n" #~ msgstr "" -#~ "Opzioni per \"smanettoni\" (Leggere il manuale prima di utilizzarle!!):\n" -#~ " -j,--jump n - Salta n settori in avanti dopo un errore di lettura (Standard: 16)\n" -#~ " -n,--redundancy n%% - ridondanza per la correzione degli errori,\n" -#~ " maximum error correction image size (in sectors)\n" -#~ " -v,--verbose - more diagnostic messages\n" -#~ " --adaptive-read - usare la strategia ottimizzata per leggere i supporti danneggiati\n" -#~ " --auto-suffix - aggiungi automaticamente i suffissi .iso e .ecc\n" -#~ " --cache-size n - Dimensione della cache in MB con la modalità -c (Standard: 32MB)\n" -#~ " --dao - Utilizza la modalità DAO; Il disco non sarà finalizzato\n" -#~ " --fill-unreadable n - Riempi i settori illeggibili con il byte n\n" -#~ " --medium-size - max. possible image size on medium (in sectors)\n" -#~ " --parse-udf - use information from ISO/UDF filesystem\n" -#~ " --speed-warning n - Evidenzia messaggio di ATTENZIONE se la velocità cambia più del n percento.\n" -#~ " --spinup-delay n - Attendere n secondi per far avviare il drive\n" #~ " --split-files - Suddividere l'immagine in file <= 2GB\n" #~ "\n" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 71c0a93..7a783c1 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -1,14 +1,14 @@ # Portuguese translations for dvdisaster package. -# Copyright (C) 2009 THE dvdisaster'S COPYRIGHT HOLDER +# Copyright (C) 2010 THE dvdisaster'S COPYRIGHT HOLDER # This file is distributed under the same license as the dvdisaster package. -# Carsten Gnörlich , 2009. +# Carsten Gnörlich , 2010. # msgid "" msgstr "" "Project-Id-Version: dvdisaster 0.72.rc2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-06 12:32+0200\n" -"PO-Revision-Date: 2009-06-09 11:13+0200\n" +"POT-Creation-Date: 2010-02-27 19:02+0100\n" +"PO-Revision-Date: 2010-06-09 11:13+0200\n" "Last-Translator: cg \n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: closure.c:568 +#: closure.c:571 #, c-format msgid "" "# dvdisaster-%s configuration file\n" @@ -29,33 +29,33 @@ msgstr "" "# que será sobreescrevido toda vez que o dvdisaster rodar.\n" "\n" -#: closure.c:769 closure.c:777 closure.c:784 +#: closure.c:774 closure.c:782 closure.c:789 msgid "medium.iso" msgstr "midia.iso" -#: closure.c:770 closure.c:778 closure.c:785 +#: closure.c:775 closure.c:783 closure.c:790 msgid "medium.ecc" msgstr "midia.ecc" -#: closure.c:771 closure.c:779 closure.c:786 +#: closure.c:776 closure.c:784 closure.c:791 msgid "sector-" msgstr "setor-" -#: crcbuf.c:45 rs01-common.c:121 rs01-create.c:243 rs01-verify.c:770 +#: crcbuf.c:45 rs01-common.c:144 rs01-create.c:256 rs01-verify.c:781 #, c-format msgid "Failed skipping the ecc header: %s" msgstr "Falha ao pular o cabeçalho ecc: %s" -#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:229 +#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:252 #, c-format msgid "Error reading CRC information: %s" msgstr "Erro ao ler informação de CRC: %s" -#: debug.c:55 debug.c:456 debug.c:1084 debug.c:1161 +#: debug.c:53 debug.c:445 debug.c:1073 debug.c:1150 msgid "2nd argument is missing" msgstr "Falta o segundo argumento" -#: debug.c:62 +#: debug.c:60 msgid "" "Number of roots must be 8..100;\n" "the number of erasures must be > 0 and less than the number of roots.\n" @@ -63,7 +63,7 @@ msgstr "" "O número de raízes deve ser de 8 a 100;\n" "o número de raízes deve ser maior que zero e menor do que o número de raízes.\n" -#: debug.c:81 debug.c:172 debug.c:310 +#: debug.c:79 debug.c:170 #, c-format msgid "" "\n" @@ -72,29 +72,31 @@ msgstr "" "\n" "Gerando rasuras recuperáveis aleatórias (%d raízes, rasuras máximas = %d).\n" -#: debug.c:112 debug.c:202 debug.c:250 debug.c:341 debug.c:385 debug.c:698 -#: debug.c:798 debug.c:1125 debug.c:1133 debug.c:1240 rs01-common.c:54 -#: rs02-common.c:62 rs02-create.c:336 rs02-create.c:982 rs02-fix.c:387 -#: rs02-verify.c:393 +#: debug.c:110 debug.c:200 debug.c:248 debug.c:374 debug.c:687 debug.c:787 +#: debug.c:1114 debug.c:1122 debug.c:1229 rs01-common.c:77 rs02-common.c:62 +#: rs02-create.c:340 rs02-create.c:986 rs02-fix.c:387 rs02-verify.c:393 +#: rs03-common.c:97 rs03-create.c:583 rs03-create.c:610 rs03-recognize.c:263 +#: rs03s-create.c:85 rs03s-create.c:982 rs03s-create.c:1008 rs03-verify.c:425 #, c-format msgid "Failed seeking to sector %lld in image: %s" msgstr "Falha ao ir para o setor %lld da imagem: %s" -#: debug.c:117 debug.c:207 debug.c:255 debug.c:346 debug.c:390 debug.c:536 -#: debug.c:658 debug.c:703 debug.c:1137 debug.c:1244 debug.c:1284 -#: rs02-create.c:359 rs02-create.c:385 rs02-create.c:985 udf.c:1108 udf.c:1166 -#: udf.c:1223 udf.c:1236 udf.c:1241 udf.c:1244 udf.c:1247 udf.c:1250 -#: udf.c:1253 udf.c:1256 +#: debug.c:115 debug.c:205 debug.c:253 debug.c:379 debug.c:525 debug.c:647 +#: debug.c:692 debug.c:1126 debug.c:1233 debug.c:1273 rs02-create.c:363 +#: rs02-create.c:389 rs02-create.c:989 rs03-create.c:588 rs03-create.c:614 +#: rs03s-create.c:985 rs03s-create.c:1011 udf.c:1113 udf.c:1171 udf.c:1228 +#: udf.c:1241 udf.c:1246 udf.c:1249 udf.c:1252 udf.c:1255 udf.c:1258 +#: udf.c:1261 #, c-format msgid "Failed writing to sector %lld in image: %s" msgstr "Falha ao gravar no setor %lld da imagem: %s" -#: debug.c:125 debug.c:261 debug.c:396 debug.c:662 debug.c:710 debug.c:1258 +#: debug.c:123 debug.c:259 debug.c:385 debug.c:651 debug.c:699 debug.c:1247 #, c-format msgid "Progress: %3d%%" msgstr "Progresso: %3d%%" -#: debug.c:130 debug.c:266 debug.c:401 +#: debug.c:128 debug.c:264 debug.c:390 #, c-format msgid "" "Progress: 100%%\n" @@ -105,73 +107,102 @@ msgstr "" "Recupere a imagem usando a opção --fix antes de fazer outro --random-busca de erros.\n" "Caso contrário, você acumulará >= %d bloco(s) de rasuras/ECC e a imagem será perdida.\n" -#: debug.c:163 debug.c:301 +#: debug.c:161 debug.c:302 #, c-format msgid "Number of erasures must be > 0 and <= %d\n" msgstr "O número de rasuras deve ser > 0 e <= %d\n" -#: debug.c:463 debug.c:1090 +#: debug.c:314 raw-sector-cache.c:34 raw-sector-cache.c:201 +#: raw-sector-cache.c:335 rs01-verify.c:542 scsi-freebsd.c:113 +#: scsi-linux.c:100 scsi-netbsd.c:111 scsi-solaris.c:127 +#, c-format +msgid "Could not open %s: %s" +msgstr "Impossível abrir %s: %s" + +#: debug.c:318 +#, c-format +msgid "" +"\n" +"RS03 error correction file with %d roots.\n" +msgstr "" + +#: debug.c:319 +#, c-format +msgid "" +"\n" +"RS03 augmented image with %d roots.\n" +msgstr "" + +#: debug.c:320 +#, c-format +msgid "Generating at most %d random correctable erasures.\n" +msgstr "" + +#: debug.c:452 debug.c:1079 msgid "3rd argument is missing" msgstr "Falta o terceiro argumento" -#: debug.c:470 debug.c:791 debug.c:837 debug.c:898 +#: debug.c:459 debug.c:780 debug.c:826 debug.c:887 #, c-format msgid "Sector must be in range [0..%lld]\n" msgstr "O setor deve estar no intervalo [0..%lld]\n" -#: debug.c:473 +#: debug.c:462 msgid "Byte position must be in range [0..2047]" msgstr "Posição do byte deve estar no intervalo [0..2047]" -#: debug.c:476 +#: debug.c:465 msgid "Byte value must be in range [0..255]" msgstr "O valor do byte deve estar no intervalo [0..255]" -#: debug.c:478 +#: debug.c:467 #, c-format msgid "Setting byte %d in sector %lld to value %d.\n" msgstr "Atribuindo ao byte %d no setor %lld o valor %d.\n" -#: debug.c:485 debug.c:524 rs02-create.c:182 rs02-verify.c:685 +#: debug.c:474 debug.c:513 rs02-create.c:186 rs02-verify.c:697 +#: rs03-verify.c:1023 #, c-format msgid "Failed seeking to start of image: %s\n" msgstr "Falha ao ir para o início da imagm: %s\n" -#: debug.c:488 +#: debug.c:477 msgid "Could not write the new byte value" msgstr "Impossível gravar o novo valor do byte" -#: debug.c:517 read-adaptive.c:537 +#: debug.c:506 read-adaptive.c:537 #, c-format msgid "Sectors must be in range [0..%lld].\n" msgstr "Os setores devem estar no intervalo [0..%lld].\n" -#: debug.c:519 +#: debug.c:508 #, c-format msgid "Erasing sectors [%lld,%lld]\n" msgstr "Apagando setores [%lld,%lld]\n" -#: debug.c:561 +#: debug.c:550 #, c-format msgid "New length must be in range [0..%lld].\n" msgstr "O novo tamanho deve estar no intervalo [0..%lld].\n" -#: debug.c:563 +#: debug.c:552 #, c-format msgid "Truncating image to %lld sectors.\n" msgstr "Truncando imagem para %lld setores.\n" -#: debug.c:568 read-linear.c:1398 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 -#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:148 rs02-fix.c:241 -#: rs02-fix.c:262 rs02-fix.c:277 +#: debug.c:557 read-linear.c:1361 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 +#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:151 rs02-fix.c:241 +#: rs02-fix.c:262 rs02-fix.c:277 rs03-create.c:177 rs03-create.c:245 +#: rs03-fix.c:269 rs03-fix.c:290 rs03-fix.c:305 rs03s-create.c:171 +#: rs03s-create.c:227 #, c-format msgid "Could not truncate %s: %s\n" msgstr "Impossível truncar %s: %s\n" -#: debug.c:594 debug.c:1105 debug.c:1113 debug.c:1170 debug.c:1175 file.c:59 -#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1166 -#: read-adaptive.c:1198 read-linear.c:307 read-linear.c:309 read-linear.c:340 -#: read-linear.c:342 +#: debug.c:583 debug.c:1094 debug.c:1102 debug.c:1159 debug.c:1164 file.c:59 +#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1164 +#: read-adaptive.c:1196 read-linear.c:277 read-linear.c:279 read-linear.c:310 +#: read-linear.c:312 #, c-format msgid "" "Can't open %s:\n" @@ -180,7 +211,7 @@ msgstr "" "Impossível abrir %s:\n" "%s" -#: debug.c:598 +#: debug.c:587 #, c-format msgid "" "\n" @@ -199,7 +230,7 @@ msgstr "" "dvdistater --debug %s %lld --random-seed %d\n" "\n" -#: debug.c:670 file.c:107 read-adaptive.c:150 read-linear.c:111 +#: debug.c:659 file.c:107 read-adaptive.c:150 read-linear.c:111 #: read-linear.c:114 #, c-format msgid "" @@ -209,11 +240,11 @@ msgstr "" "Erro ao fechar arquivo de imagem:\n" "%s" -#: debug.c:684 +#: debug.c:673 msgid "Replacing the \"unreadable sector\" markers with zeros.\n" msgstr "Substituindo os marcadores \"setor-ilegível\" por zeros.\n" -#: debug.c:691 +#: debug.c:680 #, c-format msgid "" "Could not read image sector %lld:\n" @@ -222,12 +253,12 @@ msgstr "" "Impossível ler o setor %lld da imagem:\n" "%s\n" -#: debug.c:715 +#: debug.c:704 #, c-format msgid "%lld \"unreadable sector\" markers replaced.\n" msgstr "%lld marcadores \"setor-ilegível\" substituidos.\n" -#: debug.c:793 debug.c:840 debug.c:901 +#: debug.c:782 debug.c:829 debug.c:890 #, c-format msgid "" "Contents of sector %lld:\n" @@ -236,49 +267,50 @@ msgstr "" "Conteúdo do setor %lld:\n" "\n" -#: debug.c:802 debug.c:1129 debug.c:1198 debug.c:1202 debug.c:1280 -#: rs01-common.c:70 rs02-common.c:67 rs02-create.c:199 rs02-fix.c:390 +#: debug.c:791 debug.c:1118 debug.c:1187 debug.c:1191 debug.c:1269 +#: rs01-common.c:93 rs02-common.c:67 rs02-create.c:203 rs02-fix.c:390 +#: rs03-common.c:102 rs03-recognize.c:268 rs03s-create.c:90 #, c-format msgid "Failed reading sector %lld in image: %s" msgstr "Falha ao ler setor %lld da imagem: %s" -#: debug.c:851 +#: debug.c:840 #, c-format msgid "Failed reading sector %lld: %s" msgstr "Falha ao ler setor %lld: %s" -#: debug.c:888 +#: debug.c:877 msgid "Raw reading only possible on CD media\n" msgstr "leitura em modo Raw só é possível em mídia CD\n" -#: debug.c:1096 +#: debug.c:1085 msgid "4th argument is missing" msgstr "Falta o quarto argumento" -#: debug.c:1109 +#: debug.c:1098 #, c-format msgid "Source sector must be in range [0..%lld]\n" msgstr "Setor fonte deve estar no intervalo [0..%lld]\n" -#: debug.c:1117 +#: debug.c:1106 #, c-format msgid "Destination sector must be in range [0..%lld]\n" msgstr "Setor de destinho deve estar no intervalo [0..%lld]\n" -#: debug.c:1121 +#: debug.c:1110 #, c-format msgid "Copying sector %lld from %s to sector %lld in %s.\n" msgstr "Copiando setor %lld de %s para o setor %lld em %s.\n" -#: ds-marker.c:172 +#: ds-marker.c:225 msgid "Stop reporting these errors" msgstr "Parar de reportar esses erros" -#: ds-marker.c:173 +#: ds-marker.c:226 msgid "Continue reporting" msgstr "Continuar reportando" -#: ds-marker.c:196 +#: ds-marker.c:249 #, c-format msgid "" "\n" @@ -293,7 +325,7 @@ msgstr "" "%s\n" "\n" -#: ds-marker.c:207 +#: ds-marker.c:260 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -320,7 +352,7 @@ msgstr "" "ela não pode ser recuperada pelo dvdisaster. Também não será possível criar\n" "dados de correção de erros para ela. Desculpe pelas más notícias.\n" -#: ds-marker.c:224 +#: ds-marker.c:277 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -347,7 +379,7 @@ msgstr "" "ela não pode ser recuperada pelo dvdisaster. Também não será possível criar\n" "dados de correção de erros para ela. Desculpe pelas más notícias.\n" -#: ds-marker.c:247 +#: ds-marker.c:300 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -374,7 +406,7 @@ msgstr "" "Também não será possível criar dados de correção de erros para ela.\n" "Desculpe pelas más notícias.\n" -#: dvdisaster.c:39 main-window.c:139 +#: dvdisaster.c:39 main-window.c:144 #, c-format msgid "" "\n" @@ -392,32 +424,40 @@ msgstr "Método RS01 não está disponível para comparar arquivos." #. TRANSLATORS: #. This is a dummy entry which is supposed to translate into "ok". #. Please do not return anything else here. -#: dvdisaster.c:281 dvdisaster.c:293 dvdisaster.c:309 +#: dvdisaster.c:308 dvdisaster.c:320 dvdisaster.c:336 msgid "test phrase for verifying the locale installation" msgstr "ok" -#: dvdisaster.c:472 +#: dvdisaster.c:486 +msgid "-o/--ecc-target expects 'file' or 'image'" +msgstr "" + +#: dvdisaster.c:512 #, c-format msgid "--threads must be 1..%d\n" msgstr "--threads devem ser de 1..%d\n" -#: dvdisaster.c:486 +#: dvdisaster.c:526 msgid "--cache-size must at least be 8MB; 16MB or higher is recommended." msgstr "--cache-size deve ser pelo menos 8MB; 16MB ou mais são recomendados." -#: dvdisaster.c:488 +#: dvdisaster.c:528 msgid "--cache-size maximum is 8192MB." msgstr "--cache-size máximo é 8192MB." -#: dvdisaster.c:504 +#: dvdisaster.c:544 msgid "Valid args for --driver: sg" msgstr "Argumentos válidos para --driver: sg" -#: dvdisaster.c:506 +#: dvdisaster.c:546 msgid "--driver is only supported on GNU/Linux" msgstr "--driver suportado apenas no GNU/Linux" -#: dvdisaster.c:614 +#: dvdisaster.c:593 +msgid "--prefetch-sectors must be in range 32...8096" +msgstr "" + +#: dvdisaster.c:652 #, c-format msgid "" "\n" @@ -427,12 +467,12 @@ msgstr "" "\n" "dvdisaster, versão %s build %d\n" -#: dvdisaster.c:678 +#: dvdisaster.c:716 #, c-format msgid "?? illegal getopt return value %d\n" msgstr "?? valor de retorno de getopt %d ilegal\n" -#: dvdisaster.c:712 +#: dvdisaster.c:750 #, c-format msgid "" "dvdisaster is not properly installed.\n" @@ -443,7 +483,7 @@ msgstr "" #. TRANSLATORS: Program options like -r and --read are not to be translated #. to avoid confusion when discussing the program in international forums. -#: dvdisaster.c:876 +#: dvdisaster.c:910 msgid "" "\n" "Common usage examples:\n" @@ -467,7 +507,7 @@ msgstr "" " dvdisaster -u,--unlink # Apaga arquivos .iso (quando outras ações estão completas)\n" "\n" -#: dvdisaster.c:885 +#: dvdisaster.c:919 #, c-format msgid "" "Drive and file specification:\n" @@ -475,121 +515,202 @@ msgid "" " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" " -i,--image imagefile - name of image file (default: medium.iso)\n" " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +" -o,--ecc-target [file image] - where to put ecc data in RS03\n" msgstr "" -"Especificações de drive e arquivo:\n" -" -d,--device dispositivo - lê de um dispositivo dado (padrão: %s)\n" -" -p,--prefix prefixo - prefixo do arquivo .iso/.ecc (padrão: midia.* )\n" -" -i,--image arquivodeimagem - nome do arquivo de imagem (padrão: midia.iso)\n" -" -e,--ecc arquivoecc - nome do arquivo de paridade (padrão: midia.ecc)\n" -#: dvdisaster.c:893 -msgid "" -" -l,--list - list drives available under ASPI manager\n" -"\n" +#: dvdisaster.c:929 +msgid "Tweaking options (see manual before using!)\n" +msgstr "Opções avançadas (leio o manual antes de usar!)\n" + +#: dvdisaster.c:930 +msgid " -a,--assume x,y,... - assume image is augmented with codec(s) x,y,...\n" msgstr "" -" -l,--list - lista drives disponíveis pelo gerenciador ASPI\n" -"\n" -#: dvdisaster.c:898 +#: dvdisaster.c:931 +msgid " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" +msgstr " -j,--jump n - pula n setores adiante após um erro de leitura (padrão: 16)\n" + +#: dvdisaster.c:932 +msgid " -m n - list/select error correction methods (default: RS01)\n" +msgstr " -m n - lista/seleciona métodos de correção de erros (Padrão: (RS01)\n" + +#: dvdisaster.c:933 #, c-format msgid "" -"Tweaking options (see manual before using!)\n" -" -j,--jump n - jump n sectors forward after a read error (default: 16)\n" -" -m n - list/select error correction methods (default: RS01)\n" " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" " maximum error correction image size (in sectors)\n" -" -v,--verbose - more diagnostic messages\n" -" --adaptive-read - use optimized strategy for reading damaged media\n" -" --auto-suffix - automatically add .iso and .ecc file suffixes\n" -" --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" -" --dao - assume DAO disc; do not trim image end\n" -" --defective-dump d - directory for saving incomplete raw sectors\n" -" --eject - eject medium after successful read\n" -" --fill-unreadable n - fill unreadable sectors with byte n\n" -" --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" -" --internal-rereads n - drive may attempt n rereads before reporting an error\n" -" --query-size n - query drive/udf/ecc for image size (default: ecc)\n" -" --raw-mode n - mode for raw reading CD media (20 or 21)\n" -" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -" --read-medium n - read the whole medium up to n times\n" -" --read-raw - performs read in raw mode if possible\n" -" --speed-warning n - print warning if speed changes by more than n percent\n" -" --spinup-delay n - wait n seconds for drive to spin up\n" -" --split-files - split image into files <= 2GB\n" -"\n" msgstr "" -"Opções avançadas (leio o manual antes de usar!)\n" -" -j,--jump n - pula n setores adiante após um erro de leitura (padrão: 16)\n" -" -m n - lista/seleciona métodos de correção de erros (Padrão: (RS01)\n" " -n,--redundancy n%% - redundância do arquivo de correção de erros (porcentagem), ou\n" " tamanho máximo do arquivo de correção de erros (setores)\n" -" -v,--verbose - mais mensagens de diagnóstico\n" -" --adaptive-read - usa estratégia otimizada para leitura de mídia danificada\n" -" --auto-suffix - adiciona sufixos .iso e .ecc aos arquivos automaticamente\n" -" --cache-size n - tamanho do cache da imagem em MB durante o modo -c (padrão: 32MB)\n" -" --dao - assume que é um disco DAO; não cortar o fim da imagem\n" -" --defective-dump d - diretório para salvar setores raw incompletos\n" -" --eject - ejeta a mídia após uma leitura bem-sucedida\n" -" --fill-unreadable n - preenche setores ilegíveis com o byte n\n" -" --ignore-fatal-sense - continua a leitura após condição de erro possivelmente fatal\n" -" --internal-rereads n - o dispositivo pode tentar n re-leituras antes de reportar um erro\n" -" --query-size n - consulta o dispositivo/udf/ecc pelo tamanho da imagem (padrão: ecc)\n" -" --raw-mode n - modo para leitura de mídia CD em modo raw (20 ou 21)\n" -" --read-attempts n-m - tenta de n a m leituras em um setor defeituoso\n" -" --read-medium n - faz uma leitura em modo raw, se possível\n" -" --speed-warning n - mostra um aviso se a velocidade variar mais do que n porcento\n" -" --spinup-delay n - aguarda n segundos para que o drive gire\n" -" --split-files - divide a imagem em arquivos de até 2GB\n" -"\n" -#: dvdisaster.c:924 -#, c-format -msgid "" -"Debugging options (purposefully undocumented and possibly harmful)\n" -" --debug - enables the following options\n" -" --byteset s,i,b - set byte i in sector s to b\n" -" --cdump - creates C #include file dumps instead of hexdumps\n" -" --compare-images a,b - compare sectors in images a and b\n" -" --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" -" --erase sector - erase the given sector\n" -" --erase n-m - erase sectors n - m, inclusively\n" -" --marked-image n - create image with n marked random sectors\n" -" --merge-images a,b merge image a with b (a receives sectors from b)\n" -" --random-errors r,e seed image with (correctable) random errors\n" -" --random-image n - create image with n sectors of random numbers\n" -" --random-seed n - random seed for built-in random number generator\n" -" --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" -" --read-sector n - shows hexdump of the given sector from medium in drive\n" -" --screen-shot - useful for generating screen shots\n" -" --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" -" --show-sector n - shows hexdump of the given sector in an image file\n" -" --sim-defects n - simulate n%% defective sectors on medium\n" -" --truncate n - truncates image to n sectors\n" -" --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" -"\n" +#: dvdisaster.c:935 +msgid " -v,--verbose - more diagnostic messages\n" +msgstr " -v,--verbose - mais mensagens de diagnóstico\n" + +#: dvdisaster.c:936 +msgid " -x,--threads n - use n threads for en-/decoding (if supported by codec)\n" msgstr "" -"Opções de depuração (propositalmente não-documentadas e possivelmente perigosas)\n" -" --debug - habilita as opções seguintes\n" -" --byteset s,i,b - define o byte i no setores s ao b\n" -" --cdump - creates C #include file dumps instead of hexdumps\n" -" --compare-images a,b - compara os setores nas imagens a e b\n" -" --copy-sector a,n,b,m - copia o setor n da imagem a para o setor m da imagem b\n" -" --erase setor - apaga o setor escolhido\n" -" --erase n-m - apaga os setores n a m (inclusivo) --marked-image a,b - mescla a imagem a com a b (a recebe os setores de b)\n" -" --random-erros r,e - semeia a imagem com erros aleatórios (recuperáveis)\n" -" --random-image n - cria um arquivo de imagem com n setores de números aleatórios\n" -" --random-seed n - semente aleatória para o gerador de números aleatórios\n" -" --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" -" --read-sector n - shows hexdump of the given sector from medium in drive\n" -" --screen-shot - útil para gerar capturas de tela\n" -" --send-cdb arg - executa o cdb escolhido no drive; para o sistema se usado deforma errada\n" -" --show-sector n - shows hexdump of the given sector in an image file\n" -" --sim-defects n - simula n%% setores defeituosos na mídia\n" -" --truncate n - trunca a imagem para n setores\n" -" --zero-unreadable - substitui os marcadores \"setor-ilegível\" por zeros\n" -"\n" + +#: dvdisaster.c:937 +msgid " --adaptive-read - use optimized strategy for reading damaged media\n" +msgstr " --adaptive-read - usa estratégia otimizada para leitura de mídia danificada\n" + +#: dvdisaster.c:938 +msgid " --auto-suffix - automatically add .iso and .ecc file suffixes\n" +msgstr " --auto-suffix - adiciona sufixos .iso e .ecc aos arquivos automaticamente\n" + +#: dvdisaster.c:939 +msgid " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" +msgstr " --cache-size n - tamanho do cache da imagem em MB durante o modo -c (padrão: 32MB)\n" + +#: dvdisaster.c:940 +msgid " --dao - assume DAO disc; do not trim image end\n" +msgstr " --dao - assume que é um disco DAO; não cortar o fim da imagem\n" + +#: dvdisaster.c:941 +msgid " --defective-dump d - directory for saving incomplete raw sectors\n" +msgstr " --defective-dump d - diretório para salvar setores raw incompletos\n" + +#: dvdisaster.c:943 +msgid " --driver=sg - use alternative sg driver (see man page!)\n" +msgstr "" + +#: dvdisaster.c:945 +msgid " --eject - eject medium after successful read\n" +msgstr " --eject - ejeta a mídia após uma leitura bem-sucedida\n" + +#: dvdisaster.c:946 +msgid " --fill-unreadable n - fill unreadable sectors with byte n\n" +msgstr " --fill-unreadable n - preenche setores ilegíveis com o byte n\n" + +#: dvdisaster.c:947 +msgid " --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" +msgstr " --ignore-fatal-sense - continua a leitura após condição de erro possivelmente fatal\n" #: dvdisaster.c:948 +msgid " --internal-rereads n - drive may attempt n rereads before reporting an error\n" +msgstr " --internal-rereads n - o dispositivo pode tentar n re-leituras antes de reportar um erro\n" + +#: dvdisaster.c:949 +msgid " --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n" +msgstr "" + +#: dvdisaster.c:950 +msgid " --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMB)\n" +msgstr "" + +#: dvdisaster.c:951 +msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" +msgstr " --raw-mode n - modo para leitura de mídia CD em modo raw (20 ou 21)\n" + +#: dvdisaster.c:952 +msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" +msgstr " --read-attempts n-m - tenta de n a m leituras em um setor defeituoso\n" + +#: dvdisaster.c:953 +msgid " --read-medium n - read the whole medium up to n times\n" +msgstr " --read-medium n - faz uma leitura em modo raw, se possível\n" + +#: dvdisaster.c:954 +msgid " --read-raw - performs read in raw mode if possible\n" +msgstr "" + +#: dvdisaster.c:955 +msgid " --speed-warning n - print warning if speed changes by more than n percent\n" +msgstr " --speed-warning n - mostra um aviso se a velocidade variar mais do que n porcento\n" + +#: dvdisaster.c:956 +msgid " --spinup-delay n - wait n seconds for drive to spin up\n" +msgstr " --spinup-delay n - aguarda n segundos para que o drive gire\n" + +#: dvdisaster.c:960 +msgid "Debugging options (purposefully undocumented and possibly harmful)\n" +msgstr "Opções de depuração (propositalmente não-documentadas e possivelmente perigosas)\n" + +#: dvdisaster.c:961 +msgid " --debug - enables the following options\n" +msgstr " --debug - habilita as opções seguintes\n" + +#: dvdisaster.c:962 +msgid " --byteset s,i,b - set byte i in sector s to b\n" +msgstr " --byteset s,i,b - define o byte i no setores s ao b\n" + +#: dvdisaster.c:963 +msgid " --cdump - creates C #include file dumps instead of hexdumps\n" +msgstr " --cdump - creates C #include file dumps instead of hexdumps\n" + +#: dvdisaster.c:964 +msgid " --compare-images a,b - compare sectors in images a and b\n" +msgstr " --compare-images a,b - compara os setores nas imagens a e b\n" + +#: dvdisaster.c:965 +msgid " --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" +msgstr " --copy-sector a,n,b,m - copia o setor n da imagem a para o setor m da imagem b\n" + +#: dvdisaster.c:966 +msgid " --erase sector - erase the given sector\n" +msgstr " --erase setor - apaga o setor escolhido\n" + +#: dvdisaster.c:967 +msgid " --erase n-m - erase sectors n - m, inclusively\n" +msgstr " --erase n-m - apaga os setores n a m (inclusivo)\n" + +#: dvdisaster.c:968 +msgid " --marked-image n - create image with n marked random sectors\n" +msgstr " --marked-image a,b - mescla a imagem a com a b (a recebe os setores de b)\n" + +#: dvdisaster.c:969 +msgid " --merge-images a,b merge image a with b (a receives sectors from b)\n" +msgstr "" + +#: dvdisaster.c:970 +msgid " --random-errors r,e seed image with (correctable) random errors\n" +msgstr " --random-errors r,e - semeia a imagem com erros aleatórios (recuperáveis)\n" + +#: dvdisaster.c:971 +msgid " --random-image n - create image with n sectors of random numbers\n" +msgstr " --random-image n - cria um arquivo de imagem com n setores de números aleatórios\n" + +#: dvdisaster.c:972 +msgid " --random-seed n - random seed for built-in random number generator\n" +msgstr " --random-seed n - semente aleatória para o gerador de números aleatórios\n" + +#: dvdisaster.c:973 +msgid " --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" +msgstr "" + +#: dvdisaster.c:974 +msgid " --read-sector n - shows hexdump of the given sector from medium in drive\n" +msgstr "" + +#: dvdisaster.c:975 +msgid " --screen-shot - useful for generating screen shots\n" +msgstr " --screen-shot - útil para gerar capturas de tela\n" + +#: dvdisaster.c:976 +msgid " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" +msgstr " --send-cdb arg - executa o cdb escolhido no drive; para o sistema se usado deforma errada\n" + +#: dvdisaster.c:977 +msgid " --show-sector n - shows hexdump of the given sector in an image file\n" +msgstr " --show-sector n - shows hexdump of the given sector in an image file\n" + +#: dvdisaster.c:978 +#, c-format +msgid " --sim-defects n - simulate n%% defective sectors on medium\n" +msgstr " --sim-defects n - simula n%% setores defeituosos na mídia\n" + +#: dvdisaster.c:979 +msgid " --truncate n - truncates image to n sectors\n" +msgstr " --truncate n - trunca a imagem para n setores\n" + +#: dvdisaster.c:980 +msgid "" +" --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" +"\n" +msgstr " --zero-unreadable - substitui os marcadores \"setor-ilegível\" por zeros\n" + +#: dvdisaster.c:984 msgid "" "NOTE: This is the Windows console version of dvdisaster.\n" "The version providing a graphical user interface is called\n" @@ -601,7 +722,7 @@ msgstr "" "é dvdisaster-win.exe (também contido nesta instalação).\n" "\n" -#: dvdisaster.c:969 +#: dvdisaster.c:1005 msgid "Optical drive 52X FW 1.02" msgstr "Drive ótico 52X FW 1.02" @@ -621,6 +742,22 @@ msgstr "Imagem aumentada (RS02)" msgid "Reed-Solomon method with improved tolerance for defective ecc data" msgstr "Método Reed-Solomon com tolerância a dados ecc defeituosos aumentada" +#: ecc-rs03.c:39 +msgid "Multithreaded RS codec (RS03)" +msgstr "" + +#: ecc-rs03.c:40 +msgid "Multithreaded Reed-Solomon codec for error correction files and augmented images" +msgstr "" + +#: ecc-rs03s.c:39 +msgid "Single threaded RS codec (RSS3)" +msgstr "" + +#: ecc-rs03s.c:40 +msgid "Single threaded Reed-Solomon codec for error correction files and augmented images" +msgstr "" + #: file.c:39 #, c-format msgid "" @@ -634,7 +771,7 @@ msgstr "" msgid ": not present.\n" msgstr ": não está presente.\n" -#: file.c:49 +#: file.c:49 rs03-common.c:175 #, c-format msgid "Image file %s not present." msgstr "Arquivo de imagem %s não está presente." @@ -671,7 +808,7 @@ msgstr "" "Impossível ler o cabeçalho do ecc:\n" "%s" -#: file.c:186 rs01-create.c:958 +#: file.c:186 rs01-create.c:971 #, c-format msgid "" "Error closing error correction file:\n" @@ -756,15 +893,15 @@ msgstr "windowtitle|Sobre o dvdisaster" #: help-dialogs.c:709 msgid "" -"Modified version Copyright 2009 (please fill in - [directions])\n" -"Copyright 2004-2009 Carsten Gnoerlich" +"Modified version Copyright 2010 (please fill in - [directions])\n" +"Copyright 2004-2010 Carsten Gnoerlich" msgstr "" -"Versão modificada Copyright 2009 (por favor, preencha - [instruções])\n" -"Copyright 2004-2009 Carsten Gnoerlich" +"Versão modificada Copyright 2010 (por favor, preencha - [instruções])\n" +"Copyright 2004-2010 Carsten Gnoerlich" #: help-dialogs.c:713 -msgid "Copyright 2004-2009 Carsten Gnoerlich" -msgstr "Copyright 2004-2009 Carsten Gnoerlich" +msgid "Copyright 2004-2010 Carsten Gnoerlich" +msgstr "Copyright 2004-2010 Carsten Gnoerlich" #: help-dialogs.c:720 msgid "" @@ -830,7 +967,7 @@ msgstr "" "\n" "NetBSD port por: Sergey Svishcheg <svs@ropnet.ru>" -#: large-io.c:499 +#: large-io.c:250 #, c-format msgid "" "Error while writing the file:\n" @@ -845,84 +982,103 @@ msgstr "" "\n" "Você pode refazer essa operação após liberar espaço." -#: main-window.c:70 +#: main-window.c:57 #, c-format msgid "dvdisaster-%s log\n" msgstr "dvdisaster-%s log\n" -#: main-window.c:241 +#: main-window.c:87 +msgid "" +"The .iso image and error correction file\n" +"must not be the same file!\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" + +#: main-window.c:97 +msgid "" +"The error correction file type must not be \".iso\".\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" + +#: main-window.c:246 msgid "button|Read" msgstr "Ler" -#: main-window.c:244 +#: main-window.c:249 msgid "tooltip|Read Image" msgstr "Ler Imagem" -#: main-window.c:244 +#: main-window.c:249 msgid "Reads a CD/DVD image into a file (or tries to complete an existing image file)." msgstr "Lê uma imagem de CD/DVD e grava em um arquivo (ou tenta completar um arquivo de imagem existente)." -#: main-window.c:258 +#: main-window.c:263 msgid "button|Create" msgstr "Criar" -#: main-window.c:261 +#: main-window.c:266 msgid "tooltip|Create error correction data" msgstr "Cria dados de correção de erros" -#: main-window.c:261 +#: main-window.c:266 msgid "Creates error correction data. Requires an image file." msgstr "Cria dados de correção de erros. Requer um arquivo de imagem." -#: main-window.c:265 +#: main-window.c:270 msgid "button|Scan" msgstr "Escanear" -#: main-window.c:268 +#: main-window.c:273 msgid "tooltip|Scan medium" msgstr "Escaneia a mídia" -#: main-window.c:268 +#: main-window.c:273 msgid "Scans medium for unreadable sectors." msgstr "Escaneia na mídia setores ilegíveis." -#: main-window.c:272 +#: main-window.c:277 msgid "button|Fix" msgstr "Consertar" -#: main-window.c:275 +#: main-window.c:280 msgid "tooltip|Repair image" msgstr "Consertar imagem" -#: main-window.c:275 +#: main-window.c:280 msgid "Repairs an image. Requires an image file and error correction data." msgstr "Conserta uma imagem. Requer um arquivo de imagem e dados de correção de erros." -#: main-window.c:279 +#: main-window.c:284 msgid "button|Verify" msgstr "Verificar" -#: main-window.c:282 +#: main-window.c:287 msgid "tooltip|Consistency check" msgstr "Testar consistência" -#: main-window.c:282 +#: main-window.c:287 msgid "Tests consistency of error correction data and image file." msgstr "Testa a consistência dos dados de correção de erros e do arquivo de imagem." -#: main-window.c:286 +#: main-window.c:291 msgid "button|Stop" msgstr "Parar" -#: main-window.c:289 +#: main-window.c:294 msgid "tooltip|Abort action" msgstr "Cancela a ação" -#: main-window.c:289 +#: main-window.c:294 msgid "Aborts an ongoing action." msgstr "Cancela uma ação em andamento." -#: main-window.c:418 +#: main-window.c:423 #, c-format msgid "" "dvdisaster is not properly installed\n" @@ -933,15 +1089,15 @@ msgstr "" "\n" "Por favor, execute o programa instalador (%s) novamente.\n" -#: main-window.c:502 +#: main-window.c:507 msgid "tooltip|Protocol for current action" msgstr "Protocol para a ação atual" -#: main-window.c:503 +#: main-window.c:508 msgid "Displays additional information created during the current or last action." msgstr "Mostra informações adicionais criadas durante esta ou a última sessão." -#: main-window.c:512 +#: main-window.c:517 msgid "View log" msgstr "Ver log" @@ -961,7 +1117,7 @@ msgstr "anexável" msgid "finalized" msgstr "finalizada" -#: medium-info.c:89 scsi-layer.c:83 +#: medium-info.c:89 scsi-layer.c:97 msgid "unknown" msgstr "desconhecida" @@ -973,8 +1129,8 @@ msgstr "incompleta" msgid "damaged" msgstr "danificada" -#: medium-info.c:95 rs02-verify.c:669 rs02-verify.c:870 rs02-verify.c:871 -#: rs02-verify.c:872 +#: medium-info.c:95 rs02-verify.c:674 rs02-verify.c:880 rs02-verify.c:881 +#: rs02-verify.c:882 rs03-verify.c:1270 rs03-verify.c:1272 rs03-verify.c:1273 msgid "complete" msgstr "completa" @@ -1052,7 +1208,7 @@ msgstr "Tipo de mídia:" msgid "Book type:" msgstr "Tipo de livro:" -#: medium-info.c:308 scsi-layer.c:2645 +#: medium-info.c:308 scsi-layer.c:2662 msgid "Manuf.-ID:" msgstr "ID do Manufatorador:" @@ -1282,32 +1438,27 @@ msgstr "" "Lista dos métodos disponíveis:\n" "\n" -#: method.c:288 method.c:289 +#: method.c:133 method.c:134 +msgid "" +"\n" +"Error correction file type unknown.\n" +msgstr "" + +#: method.c:163 method.c:164 +msgid "" +"\n" +"No error correction data recognized in image.\n" +msgstr "" + +#: method.c:174 method.c:175 #, c-format msgid "Image file %s not present.\n" msgstr "Arquivo de imagem %s não presente.\n" -#: method.c:313 method.c:318 -#, c-format -msgid "" -"\n" -"Unknown method %s.\n" -msgstr "" -"\n" -"Método %s desconhecido.\n" - -#: method.c:314 method.c:319 -msgid "" -"\n" -"Neither ecc file nor ecc data in image found.\n" -msgstr "" -"\n" -"Nem o arquivo ecc nem os dados ecc na imagem foram encontrados.\n" - #: misc.c:205 #, c-format -msgid "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnoerlich.\n" -msgstr "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnoerlich.\n" +msgid "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnoerlich.\n" +msgstr "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnoerlich.\n" #. TRANSLATORS: Excluding all kinds of warranty might be harmful under your #. legislature. If in doubt, just translate the following like "This is free @@ -1327,11 +1478,11 @@ msgstr "" "\n" "Tradução para português por Pablo Almeida (pabloalmeidaff9@gmail.com)\n" -#: misc.c:432 +#: misc.c:448 msgid "Warning" msgstr "Alerta" -#: misc.c:495 misc.c:501 +#: misc.c:511 misc.c:517 msgid "" "\n" "*\n" @@ -1343,107 +1494,83 @@ msgstr "" "* dvdisaster - impossível continuar:\n" "*\n" -#: preferences.c:444 +#: misc.c:1135 +msgid "Do not ask again" +msgstr "" + +#: misc.c:1156 +#, c-format +msgid "" +"Image file already exists and does not match the medium:\n" +"\n" +"%s\n" +"\n" +"The existing image file will be deleted." +msgstr "" + +#: misc.c:1175 +#, c-format +msgid "" +"The error correction file is already present:\n" +"\n" +"%s\n" +"\n" +"Overwrite it?" +msgstr "" + +#: preferences.c:448 msgid "Switched to the linear reading strategy." msgstr "Mudado para a estratégia de leitura linear" -#: preferences.c:812 +#: preferences.c:828 msgid "Color selection" msgstr "Seleção de Cores" -#: preferences.c:1069 +#: preferences.c:1047 msgid "Disabled automatic error correction file generation." msgstr "Geração de arquivos de correção de erros automática desativada." -#: preferences.c:1232 preferences.c:2304 preferences.c:2313 +#: preferences.c:1210 preferences.c:2295 preferences.c:2304 msgid "Raw sector caching" msgstr "Cache de setores Raw" -#: preferences.c:1304 +#: preferences.c:1282 msgid "Log file" msgstr "Arquivo de log" -#: preferences.c:1326 +#: preferences.c:1304 msgid "Delete the log file?" msgstr "Deletar o arquivo de log" -#: preferences.c:1419 +#: preferences.c:1398 msgid "Preferences" msgstr "Preferências" -#: preferences.c:1449 +#: preferences.c:1428 rs03-preferences.c:486 msgid "Image" msgstr "Imagem" -#: preferences.c:1453 -msgid "Image size" -msgstr "Tamanho da imagem" - -#: preferences.c:1460 -msgid "Image size determination" -msgstr "Determinação do tamanho da imagem" - -#: preferences.c:1460 -msgid "Get Image size from: " -msgstr "Obter tamanho da imagem de: " - -#: preferences.c:1472 preferences.c:1788 -msgid "Drive" -msgstr "Drive" - -#: preferences.c:1478 -msgid "ISO/UDF" -msgstr "ISO/UDF" - -#: preferences.c:1484 -msgid "ECC/RS02" -msgstr "ECC/RS02" - -#: preferences.c:1508 -msgid "" -"Image size determination\n" -"\n" -"Use ECC/RS02 for reading images augmented with error correction data; else pick ISO/UDF.\n" -"\n" -"ECC/RS02: The Image size is determined from the error correction data. Reading RS02 augmented images requires this option; otherwise the images may be incomplete. However if the medium does not contain error correction data, the start of the reading operation may be delayed significantly.\n" -"\n" -"ISO/UDF: The image size is determined from the ISO/UDF file system.\n" -"Caution: This is only suitable for working with error correction files. Images containing RS02 error correction information may be truncated.\n" -"\n" -"Drive: The image size reported by the drive will be used. As this information is typically wrong for DVD-RW/+RW/-RAM media this option is only present for backwards compatibility with older dvdisaster versions." -msgstr "" -"Determinação do tamanho da imagem\n" -"\n" -"Use ECC/RS02 para leitura de imagens aumentadas com dados de correção de erros; Caso contrário, escolha ISO/UDF.\n" -"\n" -"ECC/RS02: O tamanho da imagem é determinado pelos dados de correção de erros. Ler imagens RS02 aumentadas requer essa opção; caso contrário, as imagens podem ficar incompletas. Porém, se a mídia não contém dados de correção de erros, o início da operação de leitura pode ser atrasado significativamente.\n" -"\n" -"ISO/UDF: O tamanho da imagem é determinado pelo sistema de arquivos ISO/UDF.\n" -"Cuidado: Isso só é adequado para trabalhar com arquivos de correção de erros. Imagens contendo informações de correção de erros RS02 podem ser truncadas.\n" -"\n" -"Drive: O arquivo de imagem indicado pelo drive será usado. Como essa informação geralmente está errada para mídias DVD-RW/+RW/-RAM, essa opção só está presente para manter a compatibilidade com versões anteriores do dvdisaster." - -#: preferences.c:1527 +#: preferences.c:1432 msgid "Image creation" msgstr "Criação de imagem" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy" msgstr "Estratégia de leitura" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy: " msgstr "Estratégia de leitura: " -#: preferences.c:1550 +#: preferences.c:1455 msgid "Linear" msgstr "Linear" -#: preferences.c:1558 +#: preferences.c:1463 msgid "Adaptive (for defective media)" msgstr "Adaptativa (para mídias defeituosas)" -#: preferences.c:1570 +#: preferences.c:1475 msgid "" "Reading strategy\n" "\n" @@ -1469,19 +1596,19 @@ msgstr "" "\n" "Usar a estratégia adaptativa sem dados de correção de erros é possível mas é recomendado usar a leitura linear nesse caso." -#: preferences.c:1582 +#: preferences.c:1487 msgid "Reading range" msgstr "Intervalo de leitura" -#: preferences.c:1582 +#: preferences.c:1487 msgid "Read/Scan from sector" msgstr "Ler/Escanear do setor" -#: preferences.c:1607 +#: preferences.c:1512 msgid "to sector" msgstr "ao setor" -#: preferences.c:1625 +#: preferences.c:1530 msgid "" "Reading range\n" "\n" @@ -1499,19 +1626,61 @@ msgstr "" "\n" "Essas configurações são válidas apenas para a sessão atual e não serão salvas." -#: preferences.c:1635 +#: preferences.c:1540 +msgid "Error correction data recognization" +msgstr "" + +#: preferences.c:1549 +msgid "Exhaustive RS02 header search" +msgstr "" + +#: preferences.c:1549 +msgid "Perform exhaustive search for RS02 headers" +msgstr "" + +#: preferences.c:1569 +msgid "" +"Exhaustive RS02 header search\n" +"\n" +"When this setting is off only a quick check for RS02 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS02.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS02 data, but is not being recognized as such. Searching for the RS02 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS02 data. Otherwise you will waste a lot of time searching for the RS02 signatures and increase wear on the drive." +msgstr "" + +#: preferences.c:1588 +msgid "Recover RS03 signatures" +msgstr "" + +#: preferences.c:1588 +msgid "Find and recover RS03 signatures" +msgstr "" + +#: preferences.c:1608 +msgid "" +"Exhaustive RS03 header search\n" +"\n" +"When this setting is off only a quick check for RS03 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS03.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS03 data, but is not being recognized as such. Searching for the RS03 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS03 data. Otherwise you will waste a lot of time searching for the RS03 signatures and increase wear on the drive." +msgstr "" + +#: preferences.c:1627 msgid "Image properties" msgstr "Propriedades da imagem" -#: preferences.c:1644 +#: preferences.c:1636 msgid "DAO mode" msgstr "Modo DAO" -#: preferences.c:1644 +#: preferences.c:1636 msgid "Assume image to be written in DAO mode (don't truncate)" msgstr "Assumir que a imagem será gravada no modo DAO (não truncar)" -#: preferences.c:1664 +#: preferences.c:1656 msgid "" "Assume DAO mode\n" "\n" @@ -1529,19 +1698,19 @@ msgstr "" "\n" "Dica: Para evitar esses problemas, considere usar o modo \"DAO / Disc at once\" (às vezes chamado de \"SAO / Session at once\") para gravar mídias de uma única sessão." -#: preferences.c:1680 +#: preferences.c:1671 msgid "Image format" msgstr "Formato da imagem" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Missing sector tags" msgstr "Marcadores de setor desaparecido" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Use new style missing sector tags (Warning: compatibility issues!)" msgstr "Usar novo estilo de marcador de setor desaparecido (Cuidado: problemas de compatibilidade!)" -#: preferences.c:1709 +#: preferences.c:1700 msgid "" "Missing sector tagging\n" "\n" @@ -1555,15 +1724,15 @@ msgstr "" "Porém, apenas dvdisaster 0.72 ou superiores reconhecem essas marcações. Você NÃO DEVE processar as imagens resultantes com versões mais velhas do dvdisaster pois elas não enxergariam nenhum setor desaparecido das imagens resultantes.\n" "Nota: dvdisaster >= 0.72 detectará e reconhecerá automaticamente ambos os formatos de marcações; mudar esse valor afetará apenas a criação de novas imagens." -#: preferences.c:1728 +#: preferences.c:1719 msgid "Filling of unreadable sectors" msgstr "Preenchimento de setores ilegíveis" -#: preferences.c:1729 +#: preferences.c:1720 msgid "Fill unreadable sectors with byte:" msgstr "Preencher setores ilegíveis com o byte:" -#: preferences.c:1768 +#: preferences.c:1759 msgid "" "Filling of unreadable sectors\n" "\n" @@ -1575,27 +1744,31 @@ msgstr "" "O dvdisaster marca setores ilegíveis com um padrão de preenchimento especial cuja possibilidade de ocorrer em mídias danificadas é muito baixa.\n" "Em outros softwares de recuperação de dados, é comum preencher setores ilegíveis com um certo valor de byte. Para permitir a interoperabilidade com tais programas, você pode especificar o valor de byte usado por eles:\n" -#: preferences.c:1777 +#: preferences.c:1768 msgid "0xb0 (176 decimal): for compatibility with h2cdimage published by \"c't\", a German periodical.\n" msgstr "0xb0 (176 decimal): para compatibilidade com o h2cdimage, publicado pela \"c't\", uma revista alemã.\n" -#: preferences.c:1781 +#: preferences.c:1772 msgid "Note: Using zero filling (0x00, decimal 0) is highly discouraged. Most media contain regular zero filled sectors which can not be told apart from unreadable sectors if zero filling is used." msgstr "Nota: Usar preenchimento com zeros (0x00, decimal 0) é altamente desencorajado. A maioria das mídias contêm setores normais preenchidos com zero que não podem ser diferenciados de setores ilegíveis se preechimento com zero for usado." -#: preferences.c:1792 preferences.c:1795 +#: preferences.c:1779 +msgid "Drive" +msgstr "Drive" + +#: preferences.c:1783 preferences.c:1786 msgid "Drive initialisation" msgstr "Inicialização do drive" -#: preferences.c:1796 +#: preferences.c:1787 msgid "Wait" msgstr "Aguardar" -#: preferences.c:1799 +#: preferences.c:1790 msgid "seconds for drive to spin up" msgstr "segundos para o drive girar" -#: preferences.c:1828 +#: preferences.c:1819 msgid "" "Drive initialisation\n" "\n" @@ -1605,23 +1778,23 @@ msgstr "" "\n" "Espera a quantidade especificada de segundos para deixar o drive rodar. Isso evita variações de velocidade no início da curva de leitura." -#: preferences.c:1834 +#: preferences.c:1825 msgid "Raw reading parameters" msgstr "Parâmetros de leitura Raw" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode" msgstr "Modo de leitura Raw" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode: " msgstr "Modo de leitura Raw: " -#: preferences.c:1874 +#: preferences.c:1865 msgid "other:" msgstr "outro: " -#: preferences.c:1908 +#: preferences.c:1899 msgid "" "Raw reading mode\n" "\n" @@ -1644,19 +1817,19 @@ msgstr "" "\n" "0x01 Alguns drives fazem a coisa certa quando esse valor é escolhido, apesar de que isso não faz sentido algum, de acordo com a especificação SCSI. Tente colocar esse valor no campo \"outro\" se nenhuma das outras alternativas funcionar. Veja a documentação de modos na página 01h, capítulo 6 do MMC3 or superior para informações adicionais." -#: preferences.c:1934 +#: preferences.c:1925 msgid "Internal read attempts" msgstr "Tentativas de leitura internas" -#: preferences.c:1935 +#: preferences.c:1926 msgid "Reread defective sectors" msgstr "Re-ler setores defeituosos" -#: preferences.c:1938 +#: preferences.c:1929 msgid "times" msgstr "vezes" -#: preferences.c:1968 +#: preferences.c:1959 msgid "" "Internal read attempts\n" "\n" @@ -1672,15 +1845,15 @@ msgstr "" "Diminuir esse valor para 0 ou 1 pode acelerar o processamento de mídias danificadas e reduzir o desgaste do drive; porém, a maioria dos drives vai simplesmente ignorar o que você colocar aqui.\n" "Use o valor -1 para deixar o drive com sua configuração padrão." -#: preferences.c:1981 preferences.c:1984 +#: preferences.c:1972 preferences.c:1975 msgid "Fatal error handling" msgstr "Tratamento de erros fatais" -#: preferences.c:1985 +#: preferences.c:1976 msgid "Ignore fatal errors" msgstr "Ignorar erros fatais" -#: preferences.c:2011 +#: preferences.c:2002 msgid "" "Fatal error handling\n" "\n" @@ -1692,15 +1865,15 @@ msgstr "" "Por padrão, o dvdisaster para de ler quando o drive relata um erro fatal. Isso previne outras tentativas de leitura inúteis e possível dano ao drive.\n" "Porém, alguns drives produzem mensagens fatais sem fundamento. Para tais drives, ignorar erros fatais pode ser necessário para fazer a leitura ininterrupta de mídias danificadas." -#: preferences.c:2021 +#: preferences.c:2012 msgid "Media ejection" msgstr "Ejeção da mídia" -#: preferences.c:2024 preferences.c:2025 +#: preferences.c:2015 preferences.c:2016 msgid "Eject medium after sucessful read" msgstr "Ejetar mídia após uma leitura completa" -#: preferences.c:2051 +#: preferences.c:2042 msgid "" "Medium ejection\n" "\n" @@ -1713,23 +1886,23 @@ msgstr "" "\n" "Note que o ambiente de desktop pode prevenir que outras aplicações ejetem a mídia. Nesse caso, ejete a mídia através da interface de usuário do desktop." -#: preferences.c:2061 +#: preferences.c:2052 msgid "Read attempts" msgstr "Tentativas de leitura" -#: preferences.c:2065 +#: preferences.c:2056 msgid "Sector read errors" msgstr "Erros de leitura de setor" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Raw reading" msgstr "Leitura Raw" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Read and analyze raw sectors" msgstr "Ler e analisar setores Raw" -#: preferences.c:2095 +#: preferences.c:2086 msgid "" "Raw reading (affects CD media only)\n" "\n" @@ -1757,16 +1930,16 @@ msgstr "" "- a leitura linear estiver configurada para pular 0 setores após um erro de leitura.\n" "O cache de setores Raw também depende de ativação de sua respectiva opção." -#: preferences.c:2112 +#: preferences.c:2103 msgid "Minimum number of reading attempts" msgstr "Número mínimo de tentativas de leitura" -#: preferences.c:2114 preferences.c:2115 preferences.c:2120 preferences.c:2121 +#: preferences.c:2105 preferences.c:2106 preferences.c:2111 preferences.c:2112 #, c-format msgid "Min. %d reading attempts per sector" msgstr "Mín. de %d tentativas de leitura por setor" -#: preferences.c:2142 +#: preferences.c:2133 msgid "" "Minimum number of reading attempts\n" "\n" @@ -1780,16 +1953,16 @@ msgstr "" "\n" "Aumentar o número de tentativas de leitura pode melhorar a recuperação de dados em uma mídia ruim, mas também aumentará o tempo de processamento e o desgaste mecânico do drive." -#: preferences.c:2151 +#: preferences.c:2142 msgid "Maximum number of reading attempts" msgstr "Número máximo de tentativas de leitura" -#: preferences.c:2153 preferences.c:2154 preferences.c:2159 preferences.c:2160 +#: preferences.c:2144 preferences.c:2145 preferences.c:2150 preferences.c:2151 #, c-format msgid "Max. %d reading attempts per sector" msgstr "Máx. de %d tentativas de leitura por setor" -#: preferences.c:2181 +#: preferences.c:2172 msgid "" "Maximum number of reading attempts\n" "\n" @@ -1803,21 +1976,21 @@ msgstr "" "\n" "A decisão de fazer mais tentativas depende da qualidade dos dados obtidos até o momento, que, por sua vez, é influenciada pelas capacidades do seu drive de CD/DVD e sistema operacional. Então, dependendo das suas configurações, você pode ou não ver o dvdisaster usar o valor máximo." -#: preferences.c:2195 +#: preferences.c:2186 msgid "Treatment of unreadable areas" msgstr "Tratamento de áreas ilegíveis" -#: preferences.c:2197 preferences.c:2199 preferences.c:2200 preferences.c:2208 +#: preferences.c:2188 preferences.c:2190 preferences.c:2191 preferences.c:2199 #, c-format msgid "Skip %d sectors after read error" msgstr "Pular %d setores após um erro de leitura" -#: preferences.c:2198 preferences.c:2203 preferences.c:2204 preferences.c:2209 +#: preferences.c:2189 preferences.c:2194 preferences.c:2195 preferences.c:2200 #, c-format msgid "Stop reading when unreadable intervals < %d" msgstr "Parar de ler quando intervalos de leitura ilegíveis < %d" -#: preferences.c:2235 +#: preferences.c:2226 msgid "" "Treatment of unreadable areas\n" "\n" @@ -1831,15 +2004,15 @@ msgstr "" "\n" "Efeitos na estratégia de leitura linear:" -#: preferences.c:2242 +#: preferences.c:2233 msgid "Skipping a large number of sectors (e.g. 1024) gives a quick overview of damaged areas, but will usually not collect enough data for repairing the image." msgstr "Pular um grande número de setores (ex.: 1024) dá uma rápida imagem das áreas danificadas, mas, geralmente, não coleta dados suficientes para consertar a imagem." -#: preferences.c:2246 +#: preferences.c:2237 msgid "Smaller values like 16, 32 or 64 are a good trade-off: The processing time will beconsiderably shortened, but still enough data for repairing the image is collected.\n" msgstr "Valores menores como 16, 32 ou 64 são um bom negócio: o tempo de processamento é consideravelmente diminuído, mas dados suficientes para consertar a imagem ainda são coletados.\n" -#: preferences.c:2250 +#: preferences.c:2241 msgid "" "The adaptive reading strategy uses this setting only if no error correction data is available. In that case the reading process will stop when no unread areas larger than the selected size remain. Values smaller than 128 are not recommended as they cause the drive to carry out lots of laser head repositioning during the final phase of the reading process. If adaptive reading with a setting of 128 is not sufficient, try reading the remaining sectors with an additional linear reading pass.\n" "\n" @@ -1849,19 +2022,19 @@ msgstr "" "\n" "Em mídias DVD e BD, erros de leitura geralmente se estendem ao longo de pelo menos 16 setores por motivos técnicos. Portanto, escolher um valor menor do que 16 não é recomendado para DVDs e BDs." -#: preferences.c:2263 preferences.c:2266 +#: preferences.c:2254 preferences.c:2257 msgid "Media read attempts" msgstr "Tentativas de leitura da mídia" -#: preferences.c:2267 +#: preferences.c:2258 msgid "Read the whole medium " msgstr "Lê a mídia inteira " -#: preferences.c:2282 +#: preferences.c:2273 msgid " times" msgstr " vezes" -#: preferences.c:2297 +#: preferences.c:2288 msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -1875,15 +2048,15 @@ msgstr "" "\n" "Apenas os setores desaparecidos receberão tentativas adicionais de leitura." -#: preferences.c:2314 +#: preferences.c:2305 msgid "Keep uncorrectable raw sectors in the following directory:" msgstr "Manter setores raw irrecuperáveis no seguinte diretório:" -#: preferences.c:2321 preferences.c:3106 +#: preferences.c:2312 preferences.c:3105 msgid "Select" msgstr "Selecionar" -#: preferences.c:2360 +#: preferences.c:2351 msgid "" "Raw sector caching\n" "\n" @@ -1903,15 +2076,15 @@ msgstr "" "Por favor, note que nem todos os drives e sistemas operacionais suportam leitura de dados parciais. Não é um erro do diretório de cache ficar vazio.\n" "O dvdisaster não removerá nenhum arquivo do diretório escolhido; você deve limpá-lo manualmente apóis uma recuperação bem-sucedida de mídia." -#: preferences.c:2378 +#: preferences.c:2369 msgid "Raw sector file prefix" msgstr "Prefixo de arquivos de setor Raw" -#: preferences.c:2379 +#: preferences.c:2370 msgid "Raw sector file prefix: " msgstr "Prefixo de arquivos de setor Raw: " -#: preferences.c:2400 +#: preferences.c:2391 msgid "" "Raw sector file prefix\n" "\n" @@ -1921,61 +2094,60 @@ msgstr "" "\n" "Usa um prefixo diferente para cada disco que você está tentando recuperar, por ex.: \"disco1-\" etc." -#: preferences.c:2408 +#: preferences.c:2399 msgid "Error correction" msgstr "Correção de erros" -#: preferences.c:2410 +#: preferences.c:2401 msgid "Error correction method" msgstr "Método de correção de erros" -#: preferences.c:2411 +#: preferences.c:2402 msgid "Storage method:" msgstr "Método de armazenamento:" -#: preferences.c:2447 +#: preferences.c:2441 msgid "" "Error correction method\n" "\n" -"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are two different ways available for storing the error correction information:\n" +"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are different codecs and ways available for storing the error correction information:\n" msgstr "" -"Método de correção de erros\n" -"\n" -"O dvdisaster cria dados de correção de erros que são usados para recuperar setores ilegíveis se o disco ficar danificado no futuro. Há duas maneiras diferentes de armazenar as informações de correção de erros:\n" -#: preferences.c:2453 +#: preferences.c:2447 msgid "" -"Error correction files (RS01 method)\n" -"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster, as data loss in an error correction file will render it unusable.\n" +"The RS01 codec\n" +"RS01 is the recommended codec for storing error correction data in separate files.\n" msgstr "" -"Arquivos de correção de erros (método RS01)\n" -"Arquivos de correção de erros são o único jeito de proteger mídias pois eles podem ser armazenados em outro lugar. Eles são mantidos em uma mídia separada que também deve ser protegida pelo dvdisaster, já que perda de dados em um arquivo de correção de erros vai torná-lo inutilizável.\n" -#: preferences.c:2460 +#: preferences.c:2450 msgid "" -"Augmented images (RS02 method)\n" -"The error correction data will be stored along with the user data on the same CD/DVD. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image. Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required." +"The RS02 codec\n" +"RS02 is the currently recommended codec for augmenting images with error correction data.\n" msgstr "" -"Imagens aumentadas (método RS02)\n" -"Os dados de correção de erros serão guardados juntos aos dados do usuário no mesmo CD/DVD. Isso requer a criação de um arquivo de imagem antes de gravar a mídia. Os dados de correção de erros serão anexados àquela imagem. Setores danificados nas informações de correção de erros reduzem a capacidade de correção de erros, mas não tornam a recuperação impossível - uma segunda mídia para manter ou proteger as informações de correção de erros não é necessária." -#: preferences.c:2500 +#: preferences.c:2454 +msgid "" +"The RS03 codec (Warning: experimental)\n" +"RS03 can either store error correction data in a separate file or augment the image with it. It provides multithreading to scale with multicore processors and contains some subtle improvements over RS01 and RS02. However it should not be used for productive work unless a stable version is released with dvdisaster V0.80." +msgstr "" + +#: preferences.c:2492 msgid "Files" msgstr "Arquivos" -#: preferences.c:2504 +#: preferences.c:2496 msgid "Local files (on hard disc)" msgstr "Arquivos locais (no disco rígido)" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatic file suffixes" msgstr "Extensões de arquivo automáticas" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatically add .iso and .ecc file suffixes" msgstr "Adicionar automaticamente extensões .iso e .ecc aos arquivos" -#: preferences.c:2535 +#: preferences.c:2527 msgid "" "Automatically add file suffixes\n" "\n" @@ -1985,37 +2157,19 @@ msgstr "" "\n" "Quando esta opção está ativa, os nomes do arquivo receberão automaticamente extensões \".iso\" ou \".ecc\" se não houver nenhuma outra extensão presente." -#: preferences.c:2541 -msgid "File splitting" -msgstr "Separação de arquivos" - -#: preferences.c:2541 -msgid "Split files into segments <= 2GB" -msgstr "Separar arquivos em segmentos <= 2GB" - -#: preferences.c:2564 -msgid "" -"File splitting\n" -"\n" -"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -msgstr "" -"Separação de arquivos\n" -"\n" -"Permite trabalhar com sistemas de arquivos que são limitados a 2GB por arquivo, como o FAT, do Windows. Arquivos criados são espalhados em até 100 segmentos chamados \"midia00.iso\", \"midia01.iso\" etc., com o custo de uma pequena queda de desempenho." - -#: preferences.c:2573 +#: preferences.c:2533 msgid "Automatic file creation and deletion" msgstr "Criação e exclusão automática de arquivos" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Automatic .ecc file creation" msgstr "Criação automática de arquivos .ecc" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Create error correction file after reading image" msgstr "Criar arquivos de correção de erros após ler a imagem" -#: preferences.c:2605 +#: preferences.c:2565 msgid "" "Automatic error correction file creation\n" "\n" @@ -2025,15 +2179,15 @@ msgstr "" "\n" "Cria automaticamente um arquivo de correção de erros após ler uma imagem. Aliada à opção \"Remover imagem\", esta opção acelerará a geração de arquivos de correção de erros para uma série de mídias diferentes." -#: preferences.c:2612 +#: preferences.c:2572 msgid "Automatic image file removal" msgstr "Remoção automática de arquivos de imagem" -#: preferences.c:2612 +#: preferences.c:2572 msgid "Remove image after error correction file creation" msgstr "Remover a imagem após a criação de arquivos de correção de erros" -#: preferences.c:2635 +#: preferences.c:2595 msgid "" "Automatic image file removal\n" "\n" @@ -2043,23 +2197,38 @@ msgstr "" "\n" "Esse essa opção estiver ativa, a imagem será apagada após uma geração bem-sucedida de seu respectivo arquivo de correção de erros." -#: preferences.c:2641 +#: preferences.c:2601 preferences.c:2610 +msgid "Confirm file overwriting" +msgstr "" + +#: preferences.c:2610 +msgid "Ask before overwriting image and ecc files" +msgstr "" + +#: preferences.c:2633 +msgid "" +"Ask before overwriting image and ecc files\n" +"\n" +"dvdisaster will ask you for confirmation when it is going to overwrite an existing image or error correction file if this option is checked." +msgstr "" + +#: preferences.c:2640 msgid "Appearance" msgstr "Aparência" -#: preferences.c:2653 +#: preferences.c:2652 msgid "Sector coloring" msgstr "Colorização dos setores" -#: preferences.c:2664 rs01-verify.c:120 rs02-verify.c:115 +#: preferences.c:2663 rs01-verify.c:120 rs02-verify.c:115 rs03-verify.c:123 msgid "Good sectors" msgstr "Setores bons" -#: preferences.c:2664 +#: preferences.c:2663 msgid "Good sector" msgstr "Setor bom" -#: preferences.c:2688 +#: preferences.c:2687 msgid "" "Good sectors\n" "\n" @@ -2069,15 +2238,15 @@ msgstr "" "\n" "Essa cor indica setores bons." -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum errors" msgstr "Erros de checksum" -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum error" msgstr "Erro de checksum" -#: preferences.c:2717 +#: preferences.c:2716 msgid "" "Checksum errors\n" "\n" @@ -2086,15 +2255,15 @@ msgstr "" "Erros de checksum\n" "Esta cor é usada para indicar setores com checksums (verificação de integridade) errados." -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable sectors" msgstr "Setores ilegíveis" -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable" msgstr "Ilegível" -#: preferences.c:2746 +#: preferences.c:2745 msgid "" "Unreadable sectors\n" "\n" @@ -2104,15 +2273,15 @@ msgstr "" "\n" "Essa cor é usada para marcar setores ilegíveis." -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sectors" msgstr "Setores presentes" -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sector" msgstr "Setor presente" -#: preferences.c:2775 +#: preferences.c:2774 msgid "" "Present sectors\n" "\n" @@ -2122,15 +2291,15 @@ msgstr "" "\n" "Setores que já estão presentes são marcados com esta cor." -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sectors" msgstr "Setores ignorado" -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sector" msgstr "Setor ignorado" -#: preferences.c:2804 +#: preferences.c:2803 msgid "" "Ignored sectors\n" "\n" @@ -2140,15 +2309,15 @@ msgstr "" "\n" "Setores marcados com esta cor não serão processados na execução atual." -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sectors" msgstr "Setores destacados" -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sector" msgstr "Setor destacado" -#: preferences.c:2834 +#: preferences.c:2833 msgid "" "Highlit sectors\n" "\n" @@ -2158,15 +2327,15 @@ msgstr "" "\n" "Essa cor é usada para setores destacados temporariamente durante a leitura adaptativa." -#: preferences.c:2840 +#: preferences.c:2839 msgid "Text colors" msgstr "Cores de texto" -#: preferences.c:2850 +#: preferences.c:2849 msgid "Positive text" msgstr "Texto positivo" -#: preferences.c:2874 +#: preferences.c:2873 msgid "" "Positive text\n" "\n" @@ -2176,11 +2345,11 @@ msgstr "" "\n" "Boas notícias são mostradas nesta cor." -#: preferences.c:2879 +#: preferences.c:2878 msgid "Negative text" msgstr "Texto negativo" -#: preferences.c:2903 +#: preferences.c:2902 msgid "" "Negative text\n" "\n" @@ -2190,15 +2359,15 @@ msgstr "" "\n" "Más notícias são mostradas nesta cor." -#: preferences.c:2908 +#: preferences.c:2907 msgid "Curve colors" msgstr "Cores da curva" -#: preferences.c:2917 +#: preferences.c:2916 msgid "Curve color" msgstr "Cor da curva" -#: preferences.c:2941 +#: preferences.c:2940 msgid "" "Curve color and labels\n" "\n" @@ -2208,11 +2377,11 @@ msgstr "" "\n" "A curva da velocidade de leitura e suas marcações ao topo e à direita são mostradas nesta cor." -#: preferences.c:2947 read-linear-window.c:405 +#: preferences.c:2946 read-linear-window.c:405 msgid "C2 errors" msgstr "Erros C2" -#: preferences.c:2971 +#: preferences.c:2970 msgid "" "C2 error color\n" "\n" @@ -2222,11 +2391,11 @@ msgstr "" "\n" "O gráfico de barras logarítimico que mostra os erros C2 é renderizado nesta cor durante as operações \"Ler\" e \"Escanear\"." -#: preferences.c:2978 +#: preferences.c:2977 msgid "Error correction load" msgstr "Carregamento da correção de erros" -#: preferences.c:3002 +#: preferences.c:3001 msgid "" "Error correction load\n" "\n" @@ -2236,19 +2405,19 @@ msgstr "" "\n" "O gráfico em barras que mostra o carregamento da correção de erros é renderizado nesta cor durante a operação \"Consertar\"." -#: preferences.c:3014 +#: preferences.c:3013 msgid "Default color scheme" msgstr "Esquema de cores padrão" -#: preferences.c:3022 +#: preferences.c:3021 msgid "Dialog boxes" msgstr "Caixas de diálogo" -#: preferences.c:3025 +#: preferences.c:3024 msgid "Reverse OK / Cancel buttons" msgstr "Inverter botões Sim / Cancelar" -#: preferences.c:3049 +#: preferences.c:3048 msgid "" "Reverse OK / Cancel buttons\n" "\n" @@ -2262,19 +2431,19 @@ msgstr "" "\n" "As mudanças se tornarão ativas após reiniciar o dvdisaster." -#: preferences.c:3056 +#: preferences.c:3055 msgid "Misc" msgstr "Outros" -#: preferences.c:3060 +#: preferences.c:3059 msgid "Logging" msgstr "Logs" -#: preferences.c:3067 +#: preferences.c:3066 msgid "Verbose logging" msgstr "" -#: preferences.c:3091 +#: preferences.c:3090 msgid "" "Verbose logging\n" "\n" @@ -2284,19 +2453,19 @@ msgstr "" "\n" "Mais informações serão mostradas na janela de Log e/ou no arquivo de log. Útil para depuração, mas pode levar a um desempenho mais baixo." -#: preferences.c:3098 +#: preferences.c:3097 msgid "Logfile:" msgstr "Arquivo de Log" -#: preferences.c:3099 +#: preferences.c:3098 msgid "Copy log to file:" msgstr "Copiar relatório para o arquivo:" -#: preferences.c:3107 +#: preferences.c:3106 msgid "Delete" msgstr "Apagar" -#: preferences.c:3153 +#: preferences.c:3152 msgid "" "Logfile\n" "\n" @@ -2342,17 +2511,17 @@ msgstr "LBA não combina com o código MSF no setor!" msgid "Raw sector does not belong to the selected image!" msgstr "O setor Raw não pertence à imagem selecionada!" -#: raw-editor.c:388 read-adaptive.c:999 read-adaptive.c:1070 -#: read-adaptive.c:1359 read-adaptive.c:1554 read-linear.c:431 -#: read-linear.c:691 read-linear.c:996 rs01-fix.c:447 rs01-fix.c:707 -#: rs02-fix.c:751 +#: raw-editor.c:388 read-adaptive.c:997 read-adaptive.c:1068 +#: read-adaptive.c:1357 read-adaptive.c:1552 read-linear.c:399 +#: read-linear.c:659 read-linear.c:959 rs01-fix.c:447 rs01-fix.c:707 +#: rs02-fix.c:751 rs03-fix.c:778 #, c-format msgid "Failed seeking to sector %lld in image [%s]: %s" msgstr "Falha ao pular para o setor %lld na imagem [%s]: %s" -#: raw-editor.c:395 read-adaptive.c:1013 read-adaptive.c:1076 -#: read-adaptive.c:1391 read-adaptive.c:1404 read-adaptive.c:1562 -#: read-linear.c:440 read-linear.c:698 rs01-fix.c:454 +#: raw-editor.c:395 read-adaptive.c:1011 read-adaptive.c:1074 +#: read-adaptive.c:1389 read-adaptive.c:1402 read-adaptive.c:1560 +#: read-linear.c:408 read-linear.c:666 rs01-fix.c:454 #, c-format msgid "Failed writing to sector %lld in image [%s]: %s" msgstr "Falha ao gravar no setor %lld da imagem [%s]: %s" @@ -2538,13 +2707,6 @@ msgstr "Heurísticas" msgid "button|Smart L-EC" msgstr "Smart L-EC" -#: raw-sector-cache.c:34 raw-sector-cache.c:201 raw-sector-cache.c:335 -#: rs01-verify.c:538 scsi-freebsd.c:113 scsi-linux.c:100 scsi-netbsd.c:111 -#: scsi-solaris.c:127 -#, c-format -msgid "Could not open %s: %s" -msgstr "Impossível abrir %s: %s" - #: raw-sector-cache.c:59 raw-sector-cache.c:123 raw-sector-cache.c:129 #: raw-sector-cache.c:133 raw-sector-cache.c:161 raw-sector-cache.c:259 #, c-format @@ -2581,7 +2743,7 @@ msgstr " [Criando novo arquivo de cache %s]\n" msgid " [Appended %d/%d sectors to cache file %s; LBA=%lld, ssize=%d, %d sectors]\n" msgstr " [Anexados %d/%d setores ao arquivo de cache %s; LBA=%lld, ssize=%d, %d setores]\n" -#: read-adaptive.c:143 read-adaptive.c:1336 +#: read-adaptive.c:143 read-adaptive.c:1334 msgid "Aborted by unrecoverable error." msgstr "Abortado por erro irrecuperável." @@ -2621,8 +2783,8 @@ msgstr "" "Apenas os primeiros %lld setores da mídia serão processados.\n" #: read-adaptive.c:489 read-adaptive.c:505 read-adaptive.c:569 -#: read-adaptive.c:657 read-adaptive.c:719 read-adaptive.c:1020 -#: read-adaptive.c:1266 +#: read-adaptive.c:655 read-adaptive.c:717 read-adaptive.c:1018 +#: read-adaptive.c:1264 msgid "Aborted by user request!" msgstr "Abortado a pedido do usuário!" @@ -2657,23 +2819,15 @@ msgstr "" "Impressões digitais da mídia e do arquivo ecc não batem.\n" "A mídia e o arquivo ecc não pertencem um ao outro.\n" -#: read-adaptive.c:618 read-linear.c:371 +#: read-adaptive.c:618 read-linear.c:341 msgid "Image file does not match the CD/DVD." msgstr "O arquivo de imagem não combina com o CD/DVD." -#: read-adaptive.c:621 read-linear.c:374 -msgid "" -"Image file already exists and does not match the CD/DVD.\n" -"The existing image file will be deleted." -msgstr "" -"O arquivo de imagem já existe e não combina com o CD/DVD.\n" -"O arquivo de imagem existente será apagado." - -#: read-adaptive.c:626 +#: read-adaptive.c:624 msgid "Reading aborted. Please select a different image file." msgstr "Leitura abortada. Por favor, selecione um arquivo de imagem diferente." -#: read-adaptive.c:652 +#: read-adaptive.c:650 #, c-format msgid "" "Image file is %lld sectors longer than inserted medium\n" @@ -2682,81 +2836,81 @@ msgstr "" "O arquivo de imagem tem %lld setores a mais do que a mídia inserida\n" "(Imagem: %lld setores; mídia: %lld setores).\n" -#: read-adaptive.c:675 read-adaptive.c:679 +#: read-adaptive.c:673 read-adaptive.c:677 msgid "Loading CRC data." msgstr "Carregando dados CRC" -#: read-adaptive.c:711 +#: read-adaptive.c:709 msgid "Analysing existing image file" msgstr "Analisando arquivo de imagem existente" -#: read-adaptive.c:728 rs01-common.c:160 rs02-verify.c:717 +#: read-adaptive.c:726 rs01-common.c:183 rs02-verify.c:727 rs03-verify.c:1057 #, c-format msgid "premature end in image (only %d bytes): %s\n" msgstr "fim prematuro da imagem (apenas %d bytes): %s\n" -#: read-adaptive.c:805 +#: read-adaptive.c:803 #, c-format msgid "Analysing existing image file: %2d%%" msgstr "Analisando arquivo de imagem existente: %2d%%" -#: read-adaptive.c:822 +#: read-adaptive.c:820 msgid "Determining correctable sectors" msgstr "Determinando setores corrigíveis" -#: read-adaptive.c:897 +#: read-adaptive.c:895 #, c-format msgid "Analysing existing image file: %lld readable, %lld correctable, %lld still missing.\n" msgstr "Analisando arquivo de imagem existente: %lld legíveis, %lld corrigíveis, %lld ainda desaparecidos.\n" -#: read-adaptive.c:899 +#: read-adaptive.c:897 #, c-format msgid "Analysing existing image file: %lld readable, %lld still missing.\n" msgstr "Analisando arquivo de imagem existente: %lld legíveis, %lld ainda desaparecidos.\n" -#: read-adaptive.c:949 read-linear.c:799 +#: read-adaptive.c:947 read-linear.c:767 msgid "Ignore once" msgstr "Ignorar uma vez" -#: read-adaptive.c:950 read-linear.c:800 +#: read-adaptive.c:948 read-linear.c:768 msgid "Ignore always" msgstr "Ignorar sempre" -#: read-adaptive.c:951 read-linear.c:801 +#: read-adaptive.c:949 read-linear.c:769 msgid "Abort" msgstr "Abortar" -#: read-adaptive.c:986 +#: read-adaptive.c:984 #, c-format msgid "Filling image area [%lld..%lld]" msgstr "Preenchendo área da imagem [%lld..%lld]" -#: read-adaptive.c:1107 read-linear.c:186 +#: read-adaptive.c:1105 read-linear.c:186 msgid "Reading aborted" msgstr "Leitura abortada" -#: read-adaptive.c:1110 read-linear.c:190 +#: read-adaptive.c:1108 read-linear.c:190 msgid "Preparing for reading the medium image." msgstr "Preparando para ler a imagem da mídia" -#: read-adaptive.c:1111 read-linear.c:183 read-linear.c:191 +#: read-adaptive.c:1109 read-linear.c:183 read-linear.c:191 msgid "Medium: not yet determined" msgstr "Mídia: ainda não determinada" -#: read-adaptive.c:1168 read-linear.c:311 +#: read-adaptive.c:1166 read-linear.c:281 #, c-format msgid "Creating new %s image.\n" msgstr "Criando nova imagem %s.\n" -#: read-adaptive.c:1172 read-linear.c:304 +#: read-adaptive.c:1170 read-linear.c:274 msgid "Reading new medium image." msgstr "Lendo a imagem da nova mídia." -#: read-adaptive.c:1192 read-linear.c:332 +#: read-adaptive.c:1190 read-linear.c:302 msgid "Completing existing medium image." msgstr "Completando a imagem da mídia existente." -#: read-adaptive.c:1225 read-adaptive.c:1526 +#: read-adaptive.c:1223 read-adaptive.c:1524 msgid "" "\n" "Sufficient data for reconstructing the image is available.\n" @@ -2764,7 +2918,7 @@ msgstr "" "\n" "Dados suficientes para reconstruir a imagem estão disponíveis.\n" -#: read-adaptive.c:1322 read-linear.c:1058 +#: read-adaptive.c:1320 read-linear.c:1021 #, c-format msgid "" "Sector %lld: %s\n" @@ -2775,7 +2929,7 @@ msgstr "" "Impossível se recuperar do erro acima.\n" "Use a opção --ignore-fatal-sense para passar direto." -#: read-adaptive.c:1327 read-linear.c:1063 +#: read-adaptive.c:1325 read-linear.c:1026 #, c-format msgid "" "Sector %lld: %s\n" @@ -2788,27 +2942,27 @@ msgstr "" "Pode não ser possível se recuperar desse erro.\n" "A leitura deve proceder e ignorar esse erro?" -#: read-adaptive.c:1382 rs01-fix.c:400 rs02-fix.c:437 +#: read-adaptive.c:1380 rs01-fix.c:400 rs02-fix.c:437 rs03-fix.c:455 #, c-format msgid "CRC error in sector %lld\n" msgstr "Erro de CRC no setor %lld\n" -#: read-adaptive.c:1543 scsi-layer.c:1716 +#: read-adaptive.c:1541 scsi-layer.c:1744 #, c-format msgid "Sectors %lld-%lld: %s\n" msgstr "Setores %lld-%lld: %s\n" -#: read-adaptive.c:1546 read-linear.c:1244 scsi-layer.c:1715 +#: read-adaptive.c:1544 read-linear.c:1207 scsi-layer.c:1743 #, c-format msgid "Sector %lld: %s\n" msgstr "Setor %lld: %s\n" -#: read-adaptive.c:1673 +#: read-adaptive.c:1671 #, c-format msgid "Only %2d.%1d%% of the image are readable or correctable" msgstr "Apenas %2d.%1d%% da imagem é legível ou corrigível" -#: read-adaptive.c:1676 +#: read-adaptive.c:1674 #, c-format msgid "" "\n" @@ -2819,7 +2973,7 @@ msgstr "" "%s\n" "(%lld legíveis, %lld corrigíveis, %lld ainda desaparecidos).\n" -#: read-adaptive.c:1690 +#: read-adaptive.c:1688 msgid "" "\n" "Good! All sectors have been read.\n" @@ -2827,12 +2981,12 @@ msgstr "" "\n" "Legal! Todos os setores foram lidos.\n" -#: read-adaptive.c:1699 +#: read-adaptive.c:1697 #, c-format msgid "No unreadable intervals with >= %d sectors left." msgstr "Nenhum sobrou nenhum intervalo com mais de %d setores." -#: read-adaptive.c:1702 +#: read-adaptive.c:1700 #, c-format msgid "" "\n" @@ -2851,7 +3005,7 @@ msgstr "Leitura adaptiva:" msgid "Sectors processed" msgstr "Setores processados" -#: read-adaptive-window.c:110 scsi-layer.c:1697 +#: read-adaptive-window.c:110 scsi-layer.c:1725 msgid "readable" msgstr "legível" @@ -2890,111 +3044,92 @@ msgstr "" msgid "Scanning aborted" msgstr "Busca abortada" -#: read-linear.c:182 read-linear.c:277 +#: read-linear.c:182 read-linear.c:247 msgid "Scanning medium for read errors." msgstr "Escaneando a mídia para erros de leitura." -#: read-linear.c:208 -#, c-format -msgid "" -"Automatic error correction file creation is enabled,\n" -"and \"%s\" already exists.\n" -"Overwrite it?\n" -msgstr "" -"A criação automática de arquivos de correção de erros está ativada,\n" -"e \"%s\" já existe.\n" -"Sobreescrever?\n" - -#: read-linear.c:215 rs01-create.c:651 rs01-fix.c:188 rs01-fix.c:210 -#: rs01-fix.c:256 rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 -#: rs01-verify.c:430 rs01-verify.c:787 rs02-create.c:112 rs02-fix.c:232 -#: rs02-fix.c:253 rs02-fix.c:344 rs02-verify.c:707 -#, c-format -msgid "Aborted by user request!" -msgstr "Abortado pelo usuário!" - -#: read-linear.c:284 +#: read-linear.c:254 msgid "Reading CRC information from ecc file" msgstr "Lendo informações de CRC do arquivo ecc" -#: read-linear.c:316 +#: read-linear.c:286 msgid "Reading CRC information" msgstr "Lendo informações de CRC" -#: read-linear.c:380 +#: read-linear.c:348 #, c-format msgid "Reading aborted. Please select a different image file." msgstr "Leitura abortada. Por favor, selecione um arquivo de imagem diferente." -#: read-linear.c:399 +#: read-linear.c:367 #, c-format msgid "Completing image %s. Continuing with sector %lld.\n" msgstr "Completando a imagem %s. Continuando com o setor %lld.\n" -#: read-linear.c:405 +#: read-linear.c:373 #, c-format msgid "Completing image %s. Only missing sectors will be read.\n" msgstr "Completando a imagem %s. Apenas setores desaparecidos serão lidos.\n" -#: read-linear.c:482 read-linear.c:486 +#: read-linear.c:450 read-linear.c:454 msgid "Reading CRC information from ecc data" msgstr "Lendo informação de CRC dos dados ecc" -#: read-linear.c:516 +#: read-linear.c:484 msgid "done.\n" msgstr "pronto.\n" -#: read-linear.c:528 scsi-layer.c:2038 +#: read-linear.c:496 scsi-layer.c:2063 #, c-format msgid "Waiting %d seconds for drive to spin up...\n" msgstr "Aguardando %d segundos para que o drive gire...\n" -#: read-linear.c:550 read-linear-window.c:101 +#: read-linear.c:518 read-linear-window.c:101 #, c-format msgid "Unreadable / skipped sectors: %lld" msgstr "Setores ilegíveis / pulados: %lld" -#: read-linear.c:630 +#: read-linear.c:598 #, c-format msgid "Sector %lld: Speed increased to %4.1fx\n" msgstr "Setor %lld: Velocidade aumentada para %4.1fx\n" -#: read-linear.c:633 +#: read-linear.c:601 #, c-format msgid "Sector %lld: Speed dropped to %4.1fx\n" msgstr "Setor %lld: Velocidade caiu para %4.1fx\n" -#: read-linear.c:638 +#: read-linear.c:606 #, c-format msgid "Read position: %3d.%1d%% (%4.1fx)" msgstr "Posição de leitura: %3d.%1d%% (%4.1fx)" -#: read-linear.c:763 rs01-common.c:235 rs02-verify.c:762 +#: read-linear.c:731 rs01-common.c:258 rs02-verify.c:772 rs03-verify.c:1148 #, c-format msgid "* CRC error, sector: %lld\n" msgstr "* Erro de CRC, setor: %lld\n" -#: read-linear.c:952 read-linear.c:1073 +#: read-linear.c:915 read-linear.c:1036 #, c-format msgid "Aborted by user request! %lld sectors read, %lld sectors unreadable/skipped so far." msgstr "Abortado pelo usuário! %lld setores lidos, %lld setores ilegíveis/pulados até agora." -#: read-linear.c:1008 +#: read-linear.c:971 #, c-format msgid "unexpected read error in image for sector %lld" msgstr "erro de leitura inesperado na imagem no setor %lld" -#: read-linear.c:1088 +#: read-linear.c:1051 #, c-format msgid "Sector %lld: %3d C2 errors.%s\n" msgstr "Setor %lld: %3d erros C2.%s\n" -#: read-linear.c:1216 +#: read-linear.c:1179 #, c-format msgid "Sector %lld: %s Skipping %d sectors.\n" msgstr "Setor %lld: %s Pulando %d setores.\n" -#: read-linear.c:1276 +#: read-linear.c:1239 #, c-format msgid "" "Trying to complete image, reading pass %d of %d.\n" @@ -3003,7 +3138,7 @@ msgstr "" "Tentando completar a imagem, processo de leitura %d de %d.\n" "%s" -#: read-linear.c:1278 +#: read-linear.c:1241 #, c-format msgid "" "\n" @@ -3012,74 +3147,74 @@ msgstr "" "\n" "Tentando completar a imagem, processo de leitura %d de %d.\n" -#: read-linear.c:1303 +#: read-linear.c:1266 msgid "but wrong ecc md5sum" msgstr "mas md5sum do ecc errado" -#: read-linear.c:1310 +#: read-linear.c:1273 msgid "but wrong crc md5sum" msgstr "mas md5sum do crc errado" -#: read-linear.c:1317 +#: read-linear.c:1280 msgid "but wrong data md5sum" msgstr "mas md5sum dos dados errados" -#: read-linear.c:1329 +#: read-linear.c:1292 #, c-format msgid "%lld sectors read. " msgstr "%lld setores lidos. " -#: read-linear.c:1330 +#: read-linear.c:1293 #, c-format msgid "%lld sectors read; %lld unreadable sectors." msgstr "%lld setores lidos; %lld setores ilegíveis." -#: read-linear.c:1338 +#: read-linear.c:1301 #, c-format msgid "All sectors successfully read, but wrong image length (%lld sectors difference)" msgstr "Todos os setores lidos com sucesso, mas o tamanho da imagem está errado (diferença de %lld setores)" -#: read-linear.c:1342 +#: read-linear.c:1305 msgid "All sectors successfully read, but wrong image checksum." msgstr "Todos os setores lidos com sucesso, mas o checksum da imagem está errado" -#: read-linear.c:1343 read-linear.c:1347 +#: read-linear.c:1306 read-linear.c:1310 msgid "All sectors successfully read. Checksums match." msgstr "Todos os setores lidos com sucesso. Checksums combinam." -#: read-linear.c:1349 +#: read-linear.c:1312 #, c-format msgid "All sectors successfully read, %s!" msgstr "Todos os setores lidos com sucesso, %s!" -#: read-linear.c:1354 +#: read-linear.c:1317 msgid "All sectors successfully read." msgstr "Todos os setores lidos com sucesso." -#: read-linear.c:1360 +#: read-linear.c:1323 #, c-format msgid "%lld unreadable sectors." msgstr "%lld setores ilegíveis." -#: read-linear.c:1362 +#: read-linear.c:1325 #, c-format msgid "%lld CRC errors." msgstr "%lld erros de CRC." -#: read-linear.c:1363 +#: read-linear.c:1326 #, c-format msgid "%lld CRC errors, %lld unreadable sectors." msgstr "%lld erros de CRC, %lld setores ilegíveis." -#: read-linear.c:1369 +#: read-linear.c:1332 msgid "Scanning finished: " msgstr "Scan terminado: " -#: read-linear.c:1371 +#: read-linear.c:1334 msgid "Reading finished: " msgstr "Leitura terminada: " -#: read-linear.c:1382 +#: read-linear.c:1345 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -3090,7 +3225,7 @@ msgstr "" "Isso está certo se o CD foi gravado no modo TAO (track at once).\n" "A imagem será truncada desta forma. Veja o manual para detalhes.\n" -#: read-linear.c:1388 +#: read-linear.c:1351 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -3113,7 +3248,7 @@ msgid "Already present" msgstr "Já presente" #: read-linear-window.c:277 read-linear-window.c:319 rs01-verify.c:123 -#: rs02-verify.c:118 +#: rs02-verify.c:118 rs03-verify.c:126 msgid "Sectors with CRC errors" msgstr "Setores com erros de CRC" @@ -3142,27 +3277,27 @@ msgstr "Velocidade" msgid "Sector %lld dumped to %s\n" msgstr "Setor %lld despejado em %s\n" -#: rs01-common.c:134 rs02-verify.c:793 +#: rs01-common.c:157 rs02-verify.c:803 rs03-verify.c:1171 #, c-format msgid "- testing sectors : %3d%%" msgstr "- testando setores : %3d%%" -#: rs01-common.c:135 +#: rs01-common.c:158 #, c-format msgid "Scanning image sectors: %3d%%" msgstr "Escaneando os setores: %3d%%" -#: rs01-common.c:187 rs02-verify.c:749 +#: rs01-common.c:210 rs02-verify.c:759 #, c-format msgid "* missing sector : %lld\n" msgstr "* setor desaparecido : %lld\n" -#: rs01-common.c:188 rs02-verify.c:750 +#: rs01-common.c:211 rs02-verify.c:760 #, c-format msgid "* missing sectors : %lld - %lld\n" msgstr "* setores desaparecidos : %lld - %lld\n" -#: rs01-common.c:206 rs01-common.c:273 rs01-create.c:260 +#: rs01-common.c:229 rs01-common.c:296 rs01-create.c:273 #, c-format msgid "Error writing CRC information: %s" msgstr "Erro ao gravar informações de CRC: %s" @@ -3172,7 +3307,7 @@ msgstr "Erro ao gravar informações de CRC: %s" msgid "Redundancy %4.1f%% out of useful range [3.2%%..64.5%%]" msgstr "Redundância de %4.1f%% do intervalo útil [3.2%%..64.5%%]" -#: rs01-create.c:75 +#: rs01-create.c:75 rs03-common.c:202 #, c-format msgid "Ecc file size %lldm out of useful range [%lld .. %lld]" msgstr "Tamanho do arquivo ecc %lldm do intervalo útil [%lld .. %lld]" @@ -3183,6 +3318,7 @@ msgid "Redundancy %d out of useful range [8..100]." msgstr "Redundância %d do intervalo útil [8..100]" #: rs01-create.c:125 rs01-fix.c:77 rs02-create.c:58 rs02-fix.c:53 +#: rs03-create.c:116 rs03-fix.c:54 rs03s-create.c:125 #, c-format msgid "Aborted by unrecoverable error." msgstr "Abortado por um erro irrecuperável." @@ -3196,7 +3332,7 @@ msgstr "Criação do arquivo de correção de erros abortada" msgid "Encoding with Method RS01: %d roots, %4.1f%% redundancy." msgstr "Codificando com o Método RS01: %d raízes, %4.1f%% de redundância." -#: rs01-create.c:215 +#: rs01-create.c:215 rs03-create.c:1092 #, c-format msgid "" "Creating the error correction file.\n" @@ -3205,35 +3341,40 @@ msgstr "" "Criando o arquivo de correção de erros.\n" "%s" -#: rs01-create.c:231 +#: rs01-create.c:227 rs03-create.c:213 +#, c-format +msgid "Aborted to keep existing ecc file." +msgstr "" + +#: rs01-create.c:244 #, c-format msgid "Writing sector checksums: %3d%%" msgstr "Gravando checksum dos setores: %3d%%" -#: rs01-create.c:235 +#: rs01-create.c:248 msgid "1. Writing image sector checksums:" msgstr "1. Gravando checksums dos setores da imagem:" -#: rs01-create.c:278 rs01-window.c:116 +#: rs01-create.c:291 rs01-window.c:129 msgid "1. Calculating image sector checksums:" msgstr "1. Calculando checksums dos setores da imagem:" -#: rs01-create.c:291 rs01-create.c:432 rs01-create.c:524 +#: rs01-create.c:304 rs01-create.c:445 rs01-create.c:537 #, c-format msgid "Aborted by user request! (partial error correction file removed)" msgstr "Abortado pelo usuário! (arquivos de correção de erros parciais removidos)" -#: rs01-create.c:300 +#: rs01-create.c:313 #, c-format msgid "%lld sectors unread or missing due to errors.\n" msgstr "%lld setores não lidos ou desaparecidos graças a erros.\n" -#: rs01-create.c:354 +#: rs01-create.c:367 #, c-format msgid "Failed skipping ecc+crc header: %s" msgstr "Falha ao pular o cabeçalho ecc+crc: %s" -#: rs01-create.c:381 rs02-create.c:508 +#: rs01-create.c:394 rs02-create.c:512 #, c-format msgid "" "Failed allocating memory for I/O cache.\n" @@ -3244,12 +3385,23 @@ msgstr "" "Tamanho do cache é atualmente %d MB.\n" "Tente reduzí-lo.\n" -#: rs01-create.c:509 rs01-create.c:633 rs01-create.c:927 rs02-create.c:955 +#: rs01-create.c:522 rs01-create.c:646 rs01-create.c:940 rs02-create.c:959 +#: rs03-create.c:921 rs03s-create.c:972 #, c-format msgid "Ecc generation: %3d.%1d%%" msgstr "Geração de ecc: %3d.%1d%%" -#: rs01-create.c:940 +#: rs01-create.c:664 rs01-fix.c:188 rs01-fix.c:210 rs01-fix.c:256 +#: rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 rs01-verify.c:431 +#: rs01-verify.c:798 rs02-create.c:112 rs02-fix.c:232 rs02-fix.c:253 +#: rs02-fix.c:344 rs02-verify.c:717 rs03-create.c:185 rs03-fix.c:260 +#: rs03-fix.c:281 rs03-fix.c:358 rs03s-create.c:179 rs03-verify.c:636 +#: rs03-verify.c:1044 +#, c-format +msgid "Aborted by user request!" +msgstr "Abortado pelo usuário!" + +#: rs01-create.c:953 #, c-format msgid "" "could not write to ecc file \"%s\":\n" @@ -3258,7 +3410,7 @@ msgstr "" "impossível gravar no arquivo ecc \"%s\":\n" "%s" -#: rs01-create.c:955 +#: rs01-create.c:968 #, c-format msgid "" "Can't write ecc header:\n" @@ -3267,12 +3419,12 @@ msgstr "" "Impossível gravar no cabeçalho ecc:\n" "%s" -#: rs01-create.c:963 rs02-create.c:1104 +#: rs01-create.c:976 rs02-create.c:1107 rs03-create.c:1145 rs03s-create.c:1124 #, c-format msgid "Ecc generation: 100.0%%\n" msgstr "Geração de ecc: 100.0%%\n" -#: rs01-create.c:964 +#: rs01-create.c:977 rs03-create.c:1152 #, c-format msgid "" "Error correction file \"%s\" created.\n" @@ -3281,7 +3433,7 @@ msgstr "" "Arquivo de correção de erros \"%s\" criado.\n" "Lembre-se de manter este arquivo em uma mídia confiável.\n" -#: rs01-create.c:972 +#: rs01-create.c:985 rs03-create.c:1178 msgid "" "The error correction file has been successfully created.\n" "Make sure to keep this file on a reliable medium." @@ -3294,16 +3446,17 @@ msgstr "" msgid "Failed seeking in crc area: %s" msgstr "Falha ao buscar na área de crc: %s" -#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 +#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 rs03-verify.c:450 #, c-format msgid "problem reading crc data: %s" msgstr "problema ao ler dados de crc: %s" -#: rs01-fix.c:138 rs02-fix.c:169 +#: rs01-fix.c:138 rs02-fix.c:169 rs03-fix.c:175 msgid "Repairing of image aborted" msgstr "Conserto da imagem abortado" -#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 +#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 rs03-fix.c:183 +#: rs03-fix.c:234 #, c-format msgid "" "Repairing the image.\n" @@ -3312,7 +3465,7 @@ msgstr "" "Consertando a imagem.\n" "%s" -#: rs01-fix.c:145 rs02-fix.c:176 +#: rs01-fix.c:145 rs02-fix.c:176 rs03-fix.c:184 msgid "Opening files..." msgstr "Abrindo arquivos..." @@ -3321,7 +3474,7 @@ msgstr "Abrindo arquivos..." msgid "Error correction file using Method RS01, %d roots, %4.1f%% redundancy." msgstr "Arquivo de correção de erros usando o Método RS01, %d raízes, %4.1f de redundância." -#: rs01-fix.c:163 rs02-fix.c:211 +#: rs01-fix.c:163 rs02-fix.c:211 rs03-fix.c:239 msgid "" "\n" "Fix mode: Repairable sectors will be fixed in the image.\n" @@ -3346,7 +3499,7 @@ msgstr "" "\n" "%s" -#: rs01-fix.c:180 rs02-fix.c:224 +#: rs01-fix.c:180 rs02-fix.c:224 rs03-fix.c:252 #, c-format msgid "" "Image file is %lld sectors longer than expected.\n" @@ -3357,16 +3510,17 @@ msgstr "" "Assumindo que é uma mídia de modo TAO.\n" "%lld setores serão removidos do fim da imagem.\n" -#: rs01-fix.c:205 rs02-fix.c:248 +#: rs01-fix.c:205 rs02-fix.c:248 rs03-fix.c:276 msgid "Is it okay to remove the superfluous sectors?" msgstr "Tudo bem se os setores supérfluos forem removidos?" -#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 +#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 rs03-fix.c:292 +#: rs03-fix.c:307 #, c-format msgid "Image has been truncated by %lld sectors.\n" msgstr "A imagem foi truncada para %lld setores.\n" -#: rs01-fix.c:229 rs02-fix.c:271 +#: rs01-fix.c:229 rs02-fix.c:271 rs03-fix.c:299 msgid "" "Add the --truncate option to the program call\n" "to have the superfluous sectors removed." @@ -3462,12 +3616,12 @@ msgstr "Erro de byte inesperado no setor %lld, byte %d\n" msgid "Bad error location %d; corrupted .ecc file?\n" msgstr "Localização errada do erro %d; arquivo .ecc corrompido?\n" -#: rs01-fix.c:696 rs02-fix.c:718 +#: rs01-fix.c:696 rs02-fix.c:718 rs03-fix.c:737 #, c-format msgid " %3d repaired sectors: " msgstr " %3d setores recuperados: " -#: rs01-fix.c:715 rs02-fix.c:759 +#: rs01-fix.c:715 rs02-fix.c:759 rs03-fix.c:783 #, c-format msgid "" "could not write medium sector %lld:\n" @@ -3476,12 +3630,12 @@ msgstr "" "impossível gravar o setor %lld da mídia:\n" "%s" -#: rs01-fix.c:741 rs02-fix.c:796 +#: rs01-fix.c:741 rs02-fix.c:796 rs03-fix.c:841 #, c-format msgid "Ecc progress: %3d.%1d%%" msgstr "Progresso do ecc: %3d.%1d%%" -#: rs01-fix.c:753 rs02-fix.c:810 +#: rs01-fix.c:753 rs02-fix.c:810 rs03-fix.c:855 #, c-format msgid "Ecc progress: 100.0%%\n" msgstr "Progresso do Ecc: 100.0%%\n" @@ -3491,30 +3645,30 @@ msgstr "Progresso do Ecc: 100.0%%\n" msgid "Repaired sectors: %lld \n" msgstr "Setores recuperados: %lld \n" -#: rs01-fix.c:756 rs02-fix.c:815 +#: rs01-fix.c:756 rs02-fix.c:815 rs03-fix.c:860 #, c-format msgid "Unrepaired sectors: %lld\n" msgstr "Setores não-recuparados: %lld\n" -#: rs01-fix.c:759 rs02-fix.c:818 +#: rs01-fix.c:759 rs02-fix.c:818 rs03-fix.c:863 #, c-format msgid "Image sectors could not be fully restored (%lld repaired; %lld unrepaired)" msgstr "Os setores da imagem não puderam ser completamente recuparados (%lld recuperados; %lld não recuperados)" -#: rs01-fix.c:765 rs02-fix.c:824 +#: rs01-fix.c:765 rs02-fix.c:824 rs03-fix.c:870 msgid "Good! All sectors are already present." msgstr "Legal! Todos os setores já estão presentes." -#: rs01-fix.c:769 rs02-fix.c:828 +#: rs01-fix.c:769 rs02-fix.c:828 rs03-fix.c:875 msgid "Good! All sectors are repaired." msgstr "Legal! Todos os setores foram consertados." -#: rs01-fix.c:774 rs02-fix.c:833 +#: rs01-fix.c:774 rs02-fix.c:833 rs03-fix.c:881 #, c-format msgid "Erasure counts per ecc block: avg = %.1f; worst = %d.\n" msgstr "Contagem de rasuras por bloco ecc: média = %.1f; pior = %d.\n" -#: rs01-fix.c:779 rs02-fix.c:838 +#: rs01-fix.c:779 rs02-fix.c:838 rs03-fix.c:886 msgid "Repair results:" msgstr "Resultados da recuperação:" @@ -3523,6 +3677,7 @@ msgid "n/a" msgstr "indisponível" #: rs01-verify.c:126 rs01-verify.c:147 rs02-verify.c:121 rs02-verify.c:142 +#: rs03-verify.c:129 rs03-verify.c:150 msgid "Missing sectors" msgstr "Setores desaparecidos" @@ -3535,6 +3690,7 @@ msgid "No image present." msgstr "Nenhuma imagem presente." #: rs01-verify.c:209 rs01-verify.c:299 rs02-verify.c:189 rs02-verify.c:295 +#: rs03-verify.c:271 msgid "Medium sectors:" msgstr "Setores da mídia:" @@ -3550,7 +3706,7 @@ msgstr "Setores desaparecidos:" msgid "Image checksum:" msgstr "Checksum da imagem:" -#: rs01-verify.c:245 rs02-verify.c:241 +#: rs01-verify.c:245 rs02-verify.c:241 rs03-verify.c:249 msgid "Image state" msgstr "Estado da imagem" @@ -3558,15 +3714,15 @@ msgstr "Estado da imagem" msgid "Error correction file summary" msgstr "Sumário da correção de erros" -#: rs01-verify.c:275 rs02-verify.c:271 +#: rs01-verify.c:275 rs02-verify.c:271 rs03-verify.c:218 msgid "Created by:" msgstr "Criada por:" -#: rs01-verify.c:283 rs02-verify.c:279 +#: rs01-verify.c:283 rs02-verify.c:279 rs03-verify.c:209 msgid "Method:" msgstr "Método:" -#: rs01-verify.c:291 rs02-verify.c:287 +#: rs01-verify.c:291 rs02-verify.c:287 rs03-verify.c:227 msgid "Requires:" msgstr "Requer:" @@ -3586,19 +3742,19 @@ msgstr "Checksum do Ecc:" msgid "Comparison aborted" msgstr "Comparação abortada" -#: rs01-verify.c:390 rs01-verify.c:516 +#: rs01-verify.c:390 rs01-verify.c:520 msgid "Comparing image and error correction files." msgstr "Comparando a imagem e os arquivos de correção de erros." -#: rs01-verify.c:391 +#: rs01-verify.c:391 rs03-verify.c:799 rs03-verify.c:809 msgid "- Checking image file -" msgstr "- Verificando o arquivo de imagem -" -#: rs01-verify.c:407 rs01-verify.c:522 +#: rs01-verify.c:407 rs01-verify.c:526 msgid "not present\n" msgstr "não está presente\n" -#: rs01-verify.c:414 rs02-verify.c:587 +#: rs01-verify.c:414 rs02-verify.c:592 #, c-format msgid "present, contains %lld medium sectors.\n" msgstr "está presente, contém %lld setores na mídia.\n" @@ -3608,37 +3764,41 @@ msgstr "está presente, contém %lld setores na mídia.\n" msgid "present, contains %lld medium sectors and %d bytes.\n" msgstr "está presente, contém %lld setores na mídia e %d bytes.\n" -#: rs01-verify.c:422 rs01-verify.c:651 rs01-verify.c:698 +#: rs01-verify.c:422 rs01-verify.c:655 rs01-verify.c:702 #, c-format msgid "%lld sectors + %d bytes" msgstr "%lld setores + %d bytes" -#: rs01-verify.c:443 +#: rs01-verify.c:444 #, c-format msgid "* truncated image : %lld sectors too short\n" msgstr "* imagem truncada : %lld setores a menos\n" -#: rs01-verify.c:446 +#: rs01-verify.c:447 #, c-format msgid "%lld (%lld sectors too short)" msgstr "%lld (%lld setores a menos)" -#: rs01-verify.c:467 +#: rs01-verify.c:468 #, c-format msgid "* image too long : %lld excess sectors\n" msgstr "* imagem grande demais : %lld setores em excesso\n" -#: rs01-verify.c:470 +#: rs01-verify.c:471 #, c-format msgid "%lld (%lld excess sectors)" msgstr "%lld (%lld setores em excesso)" -#: rs01-verify.c:473 rs01-verify.c:507 +#: rs01-verify.c:474 rs01-verify.c:511 #, c-format msgid "Bad image." msgstr "Imagem ruim." -#: rs01-verify.c:483 +#: rs01-verify.c:479 rs02-verify.c:685 rs03-verify.c:1010 +msgid "* quick mode : image NOT scanned\n" +msgstr "" + +#: rs01-verify.c:487 #, c-format msgid "" "- good image : all sectors present\n" @@ -3647,12 +3807,12 @@ msgstr "" "- imagem boa : todos os setores presentes\n" "- md5sum da imagem : %s\n" -#: rs01-verify.c:486 rs02-verify.c:883 +#: rs01-verify.c:490 rs02-verify.c:893 rs03-verify.c:1305 #, c-format msgid "Good image." msgstr "Imagem boa." -#: rs01-verify.c:491 +#: rs01-verify.c:495 #, c-format msgid "" "* suspicious image : all sectors present, but %lld CRC errors\n" @@ -3661,58 +3821,58 @@ msgstr "" "* imagem suspeita : todos os setores presentes, mas %lld erros de CRC\n" "- md5sum da imagem : %s\n" -#: rs01-verify.c:495 +#: rs01-verify.c:499 #, c-format msgid "Image complete, but contains checksum errors!" msgstr "Imagem completa, mas contém erros de checksum!" -#: rs01-verify.c:502 rs02-verify.c:850 +#: rs01-verify.c:506 rs02-verify.c:860 #, c-format msgid "* BAD image : %lld sectors missing\n" msgstr "* Imagem RUIM : %lld setores desaparecidos\n" -#: rs01-verify.c:503 rs02-verify.c:854 +#: rs01-verify.c:507 rs02-verify.c:864 rs03-verify.c:1257 #, c-format msgid "* BAD image : %lld sectors missing, %lld CRC errors\n" msgstr "* Imagem RUIM : %lld setores desaparecidos, %lld erros de CRC\n" -#: rs01-verify.c:517 +#: rs01-verify.c:521 rs03-verify.c:1215 msgid "- Checking ecc file -" msgstr "- Verificando arquivo ecc -" -#: rs01-verify.c:525 +#: rs01-verify.c:529 msgid "No error correction file present." msgstr "Nenhum arquivo de correção de erros presente." -#: rs01-verify.c:567 rs02-verify.c:913 +#: rs01-verify.c:571 rs02-verify.c:923 msgid "created by dvdisaster" msgstr "criado pelo dvdisaster" -#: rs01-verify.c:584 rs02-verify.c:930 +#: rs01-verify.c:588 rs02-verify.c:940 #, c-format msgid "created by dvdisaster-%d.%d\n" msgstr "criado pelo dvdisaster-%d.%d\n" -#: rs01-verify.c:593 +#: rs01-verify.c:597 msgid "created by dvdisaster-0.41.x.\n" msgstr "criado pelo dvdisaster-0.41.x.\n" -#: rs01-verify.c:599 rs02-verify.c:943 +#: rs01-verify.c:603 rs02-verify.c:953 rs03-verify.c:859 #, c-format msgid "- method : %4s, %d roots, %4.1f%% redundancy.\n" msgstr "- método : %4s, %d raízes, %4.1f%% de redundância.\n" -#: rs01-verify.c:603 rs02-verify.c:948 +#: rs01-verify.c:607 rs02-verify.c:958 rs03-verify.c:864 #, c-format msgid "%4s, %d roots, %4.1f%% redundancy" msgstr "%4s, %d raízes, %4.1f%% de redundância" -#: rs01-verify.c:608 rs02-verify.c:955 +#: rs01-verify.c:612 rs02-verify.c:965 #, c-format msgid "- requires : dvdisaster-%d.%d (good)\n" msgstr "- requer : dvdisaster-%d.%d (bom)\n" -#: rs01-verify.c:617 rs02-verify.c:966 +#: rs01-verify.c:621 rs02-verify.c:976 #, c-format msgid "" "* requires : dvdisaster-%d.%d (BAD)\n" @@ -3723,197 +3883,202 @@ msgstr "" "* Cuidado : A saída seguinte pode estar incorreta.\n" "* : Por favor, visite http://www.dvdisaster.com para uma atualização.\n" -#: rs01-verify.c:630 rs02-verify.c:980 +#: rs01-verify.c:634 rs02-verify.c:990 rs03-verify.c:935 #, c-format msgid "Please upgrade your version of dvdisaster!" msgstr "Por favor, atualize sua versão do dvdisaster!" -#: rs01-verify.c:642 +#: rs01-verify.c:646 #, c-format msgid "- medium sectors : %lld (good)\n" msgstr "- setores da mídia : %lld (bom)\n" -#: rs01-verify.c:647 +#: rs01-verify.c:651 #, c-format msgid "- medium sectors : %lld sectors + %d bytes (good)\n" msgstr "- setores da mídia : %lld setores + %d bytes (good)\n" -#: rs01-verify.c:657 rs02-verify.c:996 +#: rs01-verify.c:661 rs02-verify.c:1006 #, c-format msgid "* medium sectors : %lld (BAD, perhaps TAO/DAO mismatch)\n" msgstr "* setores da mídia : %lld (RUIM, talvez uma confusão entre TAO/DAO)\n" -#: rs01-verify.c:666 rs02-verify.c:998 +#: rs01-verify.c:670 rs02-verify.c:1008 #, c-format msgid "* medium sectors : %lld (BAD)\n" msgstr "* setores da mídia : %lld (RUIM)\n" -#: rs01-verify.c:670 rs01-verify.c:681 +#: rs01-verify.c:674 rs01-verify.c:685 #, c-format msgid "Image size does not match error correction file." msgstr "O tamanho da imagem não bate com o arquivo de correção de erros." -#: rs01-verify.c:674 +#: rs01-verify.c:678 #, c-format msgid "* medium sectors : %lld sectors + %d bytes (BAD)\n" msgstr "* setores da mídia : %lld setores + %d bytes (BAD)\n" -#: rs01-verify.c:678 +#: rs01-verify.c:682 #, c-format msgid "%lld sectors + %d bytes" msgstr "%lld setores + %d bytes" -#: rs01-verify.c:689 +#: rs01-verify.c:693 #, c-format msgid "- medium sectors : %lld\n" msgstr "- setores da mídia : %lld\n" -#: rs01-verify.c:694 +#: rs01-verify.c:698 #, c-format msgid "- medium sectors : %lld sectors + %d bytes\n" msgstr "- setores da mídia : %lld setores + %d bytes\n" -#: rs01-verify.c:708 +#: rs01-verify.c:713 #, c-format msgid "- image md5sum : %s (good)\n" msgstr "- md5sum da imagem : %s (bom)\n" -#: rs01-verify.c:709 +#: rs01-verify.c:714 #, c-format msgid "* image md5sum : %s (BAD)\n" msgstr "* md5sum da imagem : %s (RUIM)\n" -#: rs01-verify.c:719 +#: rs01-verify.c:724 #, c-format msgid "- image md5sum : %s\n" msgstr "- md5sum da imagem : %s\n" -#: rs01-verify.c:726 +#: rs01-verify.c:732 msgid "* fingerprint match: NOT POSSIBLE - related sector is missing in image!\n" msgstr "* impressão digital combina: IMPOSSÍVEL - o setor relacionado está desaparecido na imagem!\n" -#: rs01-verify.c:728 +#: rs01-verify.c:734 #, c-format msgid "missing sector prevents calculation" msgstr "setor desaparecido previne cálculo" -#: rs01-verify.c:732 +#: rs01-verify.c:738 msgid "* fingerprint match: MISMATCH - .iso and .ecc don't belong together!\n" msgstr "* impressão digital combina: ENGANO - .iso e .ecc não pertencem um ao outro!\n" -#: rs01-verify.c:735 +#: rs01-verify.c:741 #, c-format msgid "mismatch" msgstr "engano" -#: rs01-verify.c:738 +#: rs01-verify.c:744 #, c-format msgid "Image and error correction files do not belong together!" msgstr "Imagem e arquivos de correção de erros não pertencem um ao outro!" -#: rs01-verify.c:742 +#: rs01-verify.c:748 msgid "- fingerprint match: good\n" msgstr "- impressão digital combina: bom\n" -#: rs01-verify.c:744 +#: rs01-verify.c:750 msgid "good" msgstr "bom" -#: rs01-verify.c:752 +#: rs01-verify.c:755 +msgid "* quick mode : ecc file NOT scanned\n" +msgstr "" + +#: rs01-verify.c:763 #, c-format msgid "- ecc blocks : %lld (good)\n" msgstr "- blocos ecc : %lld (bom)\n" -#: rs01-verify.c:757 +#: rs01-verify.c:768 #, c-format msgid "* ecc blocks : %lld (BAD, expected %lld)\n" msgstr "* blocos ecc : %lld (RUIM, esperado %lld)\n" -#: rs01-verify.c:759 +#: rs01-verify.c:770 #, c-format msgid "%lld (bad, expected %lld)" msgstr "%lld (ruim, esperado: %lld)" -#: rs01-verify.c:780 +#: rs01-verify.c:791 #, c-format msgid "- ecc md5sum : %3d%%" msgstr "- md5sum do ecc : %3d%%" -#: rs01-verify.c:795 +#: rs01-verify.c:806 msgid "* ecc md5sum : BAD, ecc file may be damaged!\n" msgstr "* md5sum do ecc : BAD, o arquivo ecc pode estar corrompido!\n" -#: rs01-verify.c:797 +#: rs01-verify.c:808 #, c-format msgid "bad" msgstr "ruim" -#: rs01-verify.c:799 +#: rs01-verify.c:810 #, c-format msgid "Error correction file may be damaged!" msgstr "Arquivo de correção de erros podem estar corrompido!" -#: rs01-verify.c:803 rs02-verify.c:1064 +#: rs01-verify.c:814 rs02-verify.c:1077 #, c-format msgid "- ecc md5sum : %s (good)\n" msgstr "- md5sum do ecc : %s (bom)\n" -#: rs01-verify.c:817 +#: rs01-verify.c:828 #, c-format msgid "Good error correction file." msgstr "Arquivo de correção de erros bom." -#: rs01-window.c:125 rs02-window.c:87 +#: rs01-window.c:138 rs02-window.c:87 rs03s-window.c:85 rs03-window.c:92 msgid "2. Creating error correction data:" msgstr "2. Criando dados de correção de erros:" -#: rs01-window.c:149 +#: rs01-window.c:162 msgid "Show reading speed curve" msgstr "Mostrar curva de velocidade de leitura" -#: rs01-window.c:188 rs02-window.c:139 +#: rs01-window.c:201 rs02-window.c:139 rs03-window.c:172 #, c-format msgid "Repaired: %lld" msgstr "Consertado: %lld" -#: rs01-window.c:189 rs02-window.c:140 +#: rs01-window.c:202 rs02-window.c:140 rs03-window.c:173 #, c-format msgid "Unrepairable: %lld" msgstr "Irrecuperável: %lld" -#: rs01-window.c:190 rs02-window.c:141 +#: rs01-window.c:203 rs02-window.c:141 rs03-window.c:174 #, c-format msgid "Progress: %3d.%1d%%" msgstr "Progresso: %3d.%1d%%" -#: rs01-window.c:398 rs02-window.c:346 +#: rs01-window.c:411 rs02-window.c:346 rs03-window.c:379 msgid "Errors/Ecc block" msgstr "Erros/Bloco ecc" -#: rs01-window.c:430 rs02-window.c:372 +#: rs01-window.c:447 rs02-window.c:376 rs03-preferences.c:244 +#: rs03-preferences.c:254 #, c-format msgid "%4.1f%% redundancy (%d roots)" msgstr "%4.1f%% de redundância (%d raízes)" -#: rs01-window.c:447 rs01-window.c:784 rs01-window.c:790 rs01-window.c:791 -#: rs02-window.c:389 rs02-window.c:1143 rs02-window.c:1149 rs02-window.c:1150 +#: rs01-window.c:464 rs01-window.c:867 rs01-window.c:873 rs01-window.c:874 +#: rs02-window.c:393 rs02-window.c:1149 rs02-window.c:1155 rs02-window.c:1156 #, c-format msgid "%d MB of file cache" msgstr "%d MB de cache de arquivos" -#: rs01-window.c:584 +#: rs01-window.c:666 rs03-preferences.c:530 msgid "Redundancy for new error correction files" msgstr "Redundância para novos arquivos de correção de erros" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal redundancy" msgstr "Redundância normal" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal" msgstr "Normal" -#: rs01-window.c:615 +#: rs01-window.c:697 rs03-preferences.c:579 #, c-format msgid "" "Normal redundancy\n" @@ -3926,15 +4091,15 @@ msgstr "" "O padrão \"normal\" cria uma redundância de 14.3%%.\n" "Ele invoca o código otimizado do programa para acelerar a criação de arquivos de correção de erros." -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High redundancy" msgstr "Redundância alta" -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High" msgstr "Alta" -#: rs01-window.c:644 +#: rs01-window.c:726 rs03-preferences.c:608 #, c-format msgid "" "High redundancy\n" @@ -3947,15 +4112,15 @@ msgstr "" "O padrão \"alta\" cria uma redundância de 33.5%%.\n" "Ele invoca o código otimizado do programa para acelerar criação de arquivos de correção de erros." -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other redundancy" msgstr "Outra redundância" -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other" msgstr "Outra" -#: rs01-window.c:690 +#: rs01-window.c:772 rs03-preferences.c:654 #, c-format msgid "" "Other redundancy\n" @@ -3968,19 +4133,19 @@ msgstr "" "Especifica a redundância em porcentagem.\n" "Um arquivo de correção de erros com x%% de redundância será aproximadamente x%% porcento do tamanho arquivo de imagem correspondente." -#: rs01-window.c:698 +#: rs01-window.c:780 rs03-preferences.c:662 msgid "Space-delimited redundancy" msgstr "Redundância delimitada por espaço" -#: rs01-window.c:698 rs02-window.c:1075 +#: rs01-window.c:780 rs02-window.c:1081 rs03-preferences.c:662 msgid "Use at most" msgstr "Usar no máximo" -#: rs01-window.c:722 +#: rs01-window.c:804 rs03-preferences.c:686 msgid "MB for error correction data" msgstr "MB para dados de correção de erros" -#: rs01-window.c:739 +#: rs01-window.c:821 rs03-preferences.c:703 msgid "" "Space-delimited redundancy\n" "\n" @@ -3994,19 +4159,19 @@ msgstr "" "\n" "Nota: Quando usa-se a mesma configuração de tamanho para imagens de tamanhos muito diferentes, imagens menores recebem mais redundância do que as maiores. Isso geralmente não é o que você quer." -#: rs01-window.c:781 rs02-window.c:1140 +#: rs01-window.c:864 rs02-window.c:1146 msgid "Memory utilization" msgstr "Utilização de memória" -#: rs01-window.c:785 rs02-window.c:1144 +#: rs01-window.c:868 rs02-window.c:1150 msgid "File cache" msgstr "Cache de arquivos" -#: rs01-window.c:797 rs02-window.c:1156 +#: rs01-window.c:880 rs02-window.c:1162 rs03-preferences.c:818 msgid "Use" msgstr "Usar" -#: rs01-window.c:825 rs02-window.c:1184 +#: rs01-window.c:908 rs02-window.c:1190 msgid "" "File cache\n" "\n" @@ -4016,22 +4181,22 @@ msgstr "" "\n" "O dvdisaster otimiza o acesso à imagem e arquivos de correção de erros mantendo seu próprio cache. O padrão de 32MB é adequada à maioria dos sistemas." -#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:624 +#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:629 rs03-common.c:318 #, c-format msgid "Failed seeking to ecc header at %lld: %s\n" msgstr "Falha ao buscar no cabeçalho ecc em %lld: %s\n" -#: rs02-common.c:336 rs02-common.c:348 +#: rs02-common.c:336 rs02-common.c:348 rs03-common.c:322 #, c-format msgid "Failed writing ecc header at %lld: %s\n" msgstr "Falha ao gravar no cabeçalho ecc em %lld: %s\n" -#: rs02-create.c:107 +#: rs02-create.c:107 rs03-create.c:180 rs03s-create.c:174 #, c-format msgid "Aborted by user request! (partial ecc data removed from image)" msgstr "Abortado pelo usuário! (dados ecc parciais removidos da imagem)" -#: rs02-create.c:139 +#: rs02-create.c:143 rs03-create.c:237 rs03s-create.c:219 #, c-format msgid "" "Image \"%s\" already contains error correction information.\n" @@ -4040,7 +4205,7 @@ msgstr "" "Imagem \"%s\" já contém informações de correção de erros.\n" "Truncando a imagem para a parte com os dados (%lld setores).\n" -#: rs02-create.c:206 +#: rs02-create.c:210 msgid "" "Image contains unread(able) sectors.\n" "Error correction information can only be\n" @@ -4050,7 +4215,7 @@ msgstr "" "As informações de correção de erros só podem ser\n" "anexadas a imagens completas (não danificadas).\n" -#: rs02-create.c:210 +#: rs02-create.c:214 #, c-format msgid "" "Sector %lld in the image is marked unreadable\n" @@ -4075,26 +4240,29 @@ msgstr "" "Informações de correção de erros só podem ser\n" "anexadas a imagens completas (não danificadas).\n" -#: rs02-create.c:228 rs02-create.c:292 rs02-create.c:301 +#: rs02-create.c:232 rs02-create.c:296 rs02-create.c:305 #, c-format msgid "Preparing image (checksums, adding space): %3d%%" msgstr "Preparando imagem (checksums, adicionando espaço): %3d%%" -#: rs02-create.c:263 rs02-create.c:273 rs02-fix.c:91 +#: rs02-create.c:267 rs02-create.c:277 rs02-fix.c:91 rs03-create.c:324 +#: rs03-create.c:335 rs03-fix.c:96 rs03s-create.c:307 rs03s-create.c:318 #, c-format msgid "Failed seeking to end of image: %s\n" msgstr "Falha ao ir ao fim da imagem: %s\n" -#: rs02-create.c:267 rs02-create.c:288 rs02-fix.c:104 +#: rs02-create.c:271 rs02-create.c:292 rs02-fix.c:104 rs03-create.c:309 +#: rs03-fix.c:110 #, c-format msgid "Failed expanding the image: %s\n" msgstr "Falha ao expandir a imagem: %s\n" -#: rs02-create.c:1025 +#: rs02-create.c:1029 rs03-create.c:1055 rs03s-create.c:1037 msgid "Error correction data creation aborted" msgstr "Criação de dados de correção de erros abortada" -#: rs02-create.c:1029 rs02-create.c:1049 +#: rs02-create.c:1033 rs02-create.c:1053 rs03-create.c:1059 rs03-create.c:1088 +#: rs03s-create.c:1041 rs03s-create.c:1070 #, c-format msgid "" "Augmenting the image with error correction data.\n" @@ -4103,16 +4271,16 @@ msgstr "" "Aumentando a imagem com os dados de correção de erros.\n" "%s" -#: rs02-create.c:1030 +#: rs02-create.c:1034 rs03-create.c:1060 rs03s-create.c:1042 msgid "- checking image -" msgstr "- verificando a imagem -" -#: rs02-create.c:1045 +#: rs02-create.c:1049 #, c-format msgid "Encoding with Method RS02: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." msgstr "Codificando com o Método RS02: %lld MB de dados, %lld MB de ecc (%d raízes; %4.1f%% de redundância)." -#: rs02-create.c:1053 +#: rs02-create.c:1057 #, c-format msgid "" "Augmenting image with Method RS02:\n" @@ -4121,21 +4289,16 @@ msgstr "" "Aumentando a imagem com o Método RS02:\n" " %lld MB de dados, %lld MB de ecc (%d raízes; %4.1f%% de redundância)." -#: rs02-create.c:1062 +#: rs02-create.c:1066 #, c-format msgid "" "Not enough space on medium left for error correction data.\n" "Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" "If reducing the image size or using a larger medium is\n" -"not an option, please create a separate error correction\n" -"file using the RS01 method.\n" +"not an option, please create a separate error correction file." msgstr "" -"Não há espaço suficiente na mídia para dados de correção de erros.\n" -"Porção de dados da imagem: %lld setores.; tamanho máximo possível: %lld setores.\n" -"Se não for possível reduzir a imagem ou usar uma mídia maior,\n" -"por favor, crie um arquivo de correção de erros separado usando o método RS01.\n" -#: rs02-create.c:1073 +#: rs02-create.c:1076 rs03-create.c:1124 rs03s-create.c:1101 #, c-format msgid "" "Using redundancies below 20%%%% may not give\n" @@ -4144,7 +4307,7 @@ msgstr "" "Usar redundâncias abaixo de 20%%%% pode não dar\n" "a proteção contra perda de dados esperada.\n" -#: rs02-create.c:1105 rs02-create.c:1114 +#: rs02-create.c:1108 rs02-create.c:1117 rs03-create.c:1147 rs03-create.c:1172 #, c-format msgid "" "Image has been augmented with error correction data.\n" @@ -4153,7 +4316,7 @@ msgstr "" "A imagem foi aumentada com dados de correção de erros.\n" "O tamanho da nova imagem é %lld MB (%lld setores).\n" -#: rs02-fix.c:110 rs02-fix.c:118 +#: rs02-fix.c:110 rs02-fix.c:118 rs03-fix.c:116 rs03-fix.c:124 #, c-format msgid "Expanding image: %3d%%" msgstr "Expandindo a imagem: %3d%%" @@ -4163,7 +4326,7 @@ msgstr "Expandindo a imagem: %3d%%" msgid "Image contains error correction data: Method RS02, %d roots, %4.1f%% redundancy." msgstr "A imagem contém dados de correção de erros: Método RS02, %d raízes, %4.1f%% de redundância." -#: rs02-fix.c:217 +#: rs02-fix.c:217 rs03-fix.c:245 #, c-format msgid "" "The image file is %lld sectors longer as noted in the\n" @@ -4180,27 +4343,28 @@ msgstr "" "\n" "%s" -#: rs02-fix.c:468 +#: rs02-fix.c:468 rs03-fix.c:487 #, c-format msgid "* Ecc block %lld: %3d unrepairable sectors: " msgstr "* Bloco ecc %lld: %3d setores irrecuperáveis: " -#: rs02-fix.c:687 +#: rs02-fix.c:687 rs03-fix.c:706 #, c-format msgid "-> CRC-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "-> Erro de CRC previsto no setor %lld, byte %4d (valor: %02x '%c', esperado: %02x '%c')\n" -#: rs02-fix.c:690 +#: rs02-fix.c:690 rs03-fix.c:709 #, c-format msgid "-> Non-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "-> Erro não previsto no setor %lld no byte %4d (valor: %02x '%c', esperado: %02x '%c')\n" -#: rs02-fix.c:812 +#: rs02-fix.c:812 rs03-fix.c:857 #, c-format msgid "Repaired sectors: %lld (%lld data, %lld ecc)\n" msgstr "Setores recuperados: %lld (%lld dados, %lld ecc)\n" -#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 +#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 rs03-verify.c:56 +#: rs03-verify.c:236 rs03-verify.c:280 msgid "Data checksum:" msgstr "Checksum dos dados:" @@ -4212,15 +4376,15 @@ msgstr "Checksum do CRC:" msgid "Ecc headers:" msgstr "Cabeçalhos Ecc:" -#: rs02-verify.c:213 +#: rs02-verify.c:213 rs03-verify.c:289 msgid "Data section:" msgstr "Seção de dados:" -#: rs02-verify.c:221 +#: rs02-verify.c:221 rs03-verify.c:298 msgid "Crc section:" msgstr "Seção de Crc" -#: rs02-verify.c:229 +#: rs02-verify.c:229 rs03-verify.c:307 msgid "Ecc section:" msgstr "Seção de ecc:" @@ -4228,77 +4392,78 @@ msgstr "Seção de ecc:" msgid "Error correction data" msgstr "Dados de correção de erros" -#: rs02-verify.c:503 +#: rs02-verify.c:503 rs03-verify.c:548 #, c-format msgid "- erasure counts : avg = %.1f; worst = %d per ecc block.\n" msgstr "- contagem de rasuras : méd = %.1f; pior = %d por bloco ecc.\n" -#: rs02-verify.c:506 +#: rs02-verify.c:506 rs03-verify.c:551 #, c-format msgid "- prognosis : %lld of %lld sectors recoverable (%d.%d%%)\n" msgstr "- prognóstico : %lld de %lld setores recuperáveis (%d.%d%%)\n" -#: rs02-verify.c:512 +#: rs02-verify.c:512 rs03-verify.c:555 msgid "Erasure counts:" msgstr "Contagem de rasuras:" -#: rs02-verify.c:513 +#: rs02-verify.c:513 rs03-verify.c:556 msgid "Prognosis:" msgstr "Prognóstico:" -#: rs02-verify.c:516 +#: rs02-verify.c:516 rs03-verify.c:559 #, c-format msgid "avg = %.1f; worst = %d per ecc block." msgstr "méd = %.1f; pior = %d por bloco ecc." -#: rs02-verify.c:521 +#: rs02-verify.c:521 rs03-verify.c:564 #, c-format msgid "%lld of %lld sectors recoverable (%d.%d%%)" msgstr "%lld de %lld setores recuperáveis (%d.%d%%)" -#: rs02-verify.c:569 +#: rs02-verify.c:574 rs03-verify.c:769 msgid "Check aborted" msgstr "Verificação abortada" -#: rs02-verify.c:583 +#: rs02-verify.c:588 rs03-verify.c:808 msgid "Checking the image file." msgstr "Verificando o arquivo de imagem." -#: rs02-verify.c:584 +#: rs02-verify.c:589 msgid "Image contains error correction data." msgstr "A imagem contém dados de correção de erros" -#: rs02-verify.c:607 +#: rs02-verify.c:612 rs03-verify.c:1005 #, c-format msgid "Image file is %lld sectors shorter than expected." msgstr "O arquivo de imagem é %lld setores menor do que o esperado." -#: rs02-verify.c:608 +#: rs02-verify.c:613 rs03-verify.c:1006 #, c-format msgid "Image file is %lld sectors longer than expected." msgstr "O arquivo de imagem é %lld setores maior do que o esperado." -#: rs02-verify.c:628 +#: rs02-verify.c:633 #, c-format msgid "Failed reading ecc header at %lld: %s\n" msgstr "Falha ao ler o cabeçalho ecc em %lld: %s\n" -#: rs02-verify.c:671 +#: rs02-verify.c:676 #, c-format msgid "%lld ok, %lld CRC errors, %lld missing" msgstr "%lld bons, %lld erros de CRC, %lld desaparecidos" -#: rs02-verify.c:798 rs02-verify.c:819 +#: rs02-verify.c:808 rs02-verify.c:829 rs03-verify.c:1189 rs03-verify.c:1228 #, c-format msgid "%lld sectors missing; %lld CRC errors" msgstr "%lld setores desaparecidos; %lld erros de CRC" -#: rs02-verify.c:802 rs02-verify.c:806 rs02-verify.c:823 rs02-verify.c:827 +#: rs02-verify.c:812 rs02-verify.c:816 rs02-verify.c:833 rs02-verify.c:837 +#: rs03-verify.c:1197 rs03-verify.c:1236 #, c-format msgid "%lld sectors missing" msgstr "%lld setores desaparecidos" -#: rs02-verify.c:841 +#: rs02-verify.c:851 #, c-format msgid "" "- good image : all sectors present\n" @@ -4307,46 +4472,46 @@ msgstr "" "- imagem boa : todos os setores presentes\n" "- md5sum dos dados : %s\n" -#: rs02-verify.c:847 +#: rs02-verify.c:857 msgid "* suspicious image : contains damaged ecc headers\n" msgstr "" -#: rs02-verify.c:852 +#: rs02-verify.c:862 rs03-verify.c:1254 #, c-format msgid "* suspicious image : all sectors present, but %lld CRC errors\n" msgstr "* imagem suspeita : todos os setores presentes, mas %lld erros de CRC\n" -#: rs02-verify.c:858 +#: rs02-verify.c:868 #, c-format msgid " ... ecc headers : %lld ok, %lld CRC errors, %lld missing\n" msgstr " ... cabeçalhos ecc : %lld bons, %lld erros de CRC, %lld desaparecidos\n" -#: rs02-verify.c:860 +#: rs02-verify.c:870 rs03-verify.c:1260 #, c-format msgid " ... data section : %lld sectors missing; %lld CRC errors\n" msgstr " ... seção de dados : %lld setores desaparecidos; %lld erros de CRC\n" -#: rs02-verify.c:863 +#: rs02-verify.c:873 rs03-verify.c:1263 #, c-format msgid " ... data md5sum : %s\n" msgstr " ... md5sum dos dados : %s\n" -#: rs02-verify.c:864 +#: rs02-verify.c:874 rs03-verify.c:1264 #, c-format msgid " ... crc section : %lld sectors missing\n" msgstr " ... seção de crc : %lld setores desaparecidos\n" -#: rs02-verify.c:865 +#: rs02-verify.c:875 rs03-verify.c:1265 #, c-format msgid " ... ecc section : %lld sectors missing\n" msgstr " ... seção ecc : %lld setores desaparecidos\n" -#: rs02-verify.c:887 +#: rs02-verify.c:897 rs03-verify.c:1309 #, c-format msgid "Damaged image." msgstr "Imagem danificada." -#: rs02-verify.c:894 +#: rs02-verify.c:904 msgid "" "\n" "Error correction data: " @@ -4354,88 +4519,88 @@ msgstr "" "\n" "Dados de correção de erros: " -#: rs02-verify.c:987 +#: rs02-verify.c:997 #, c-format msgid "- medium sectors : %lld / %lld (good)\n" msgstr "- setores da mídia : %lld / %lld (bom)\n" -#: rs02-verify.c:1004 +#: rs02-verify.c:1014 #, c-format msgid "Image size does not match recorded size." msgstr "Tamanho da imagem não bate com o tamanho registrado." -#: rs02-verify.c:1015 +#: rs02-verify.c:1028 #, c-format msgid "- data md5sum : %s (good)\n" msgstr "- md5sum dos dados : %s (bom)\n" -#: rs02-verify.c:1016 +#: rs02-verify.c:1029 #, c-format msgid "* data md5sum : %s (BAD)\n" msgstr "* md5sum dos dados : %s (RUIM)\n" -#: rs02-verify.c:1027 +#: rs02-verify.c:1040 rs03-verify.c:949 #, c-format msgid "- data md5sum : %s\n" msgstr "- md5sum dos dados : %s\n" -#: rs02-verify.c:1039 +#: rs02-verify.c:1052 #, c-format msgid "- crc md5sum : %s (good)\n" msgstr "- md5sum do crc : %s (bom)\n" -#: rs02-verify.c:1044 +#: rs02-verify.c:1057 #, c-format msgid "* crc md5sum : %s (BAD)\n" msgstr "* md5sum do crc : %s (RUIM)\n" -#: rs02-verify.c:1052 +#: rs02-verify.c:1065 #, c-format msgid "- crc md5sum : %s\n" msgstr "- md5sum do crc : %s\n" -#: rs02-verify.c:1069 +#: rs02-verify.c:1082 #, c-format msgid "* ecc md5sum : %s (BAD)\n" msgstr "* md5sum do ecc : %s (RUIM)\n" -#: rs02-verify.c:1077 +#: rs02-verify.c:1090 #, c-format msgid "- ecc md5sum : %s\n" msgstr "- md5sum do ecc : %s\n" -#: rs02-verify.c:1096 +#: rs02-verify.c:1109 #, c-format msgid "Good error correction data." msgstr "Dados de correção de erros bons." -#: rs02-verify.c:1100 +#: rs02-verify.c:1113 rs03-verify.c:1321 #, c-format msgid "Full data recovery is likely." msgstr "Recuperação dos dados completa é provável." -#: rs02-verify.c:1103 +#: rs02-verify.c:1116 rs03-verify.c:1324 #, c-format msgid "Full data recovery is NOT possible." msgstr "Recuperação completa dos dados NÃO É possível." -#: rs02-window.c:78 +#: rs02-window.c:78 rs03s-window.c:76 msgid "1. Preparing image:" msgstr "1. Preparando a imagem: " -#: rs02-window.c:704 +#: rs02-window.c:710 msgid "Maximum image size" msgstr "Tamanho máximo da imagem" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Using the smallest possible size from table" msgstr "Usando o menor tamanho possível da tabela" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Use smallest possible size from following table (in sectors):" msgstr "Usar o menor tamanho possível da tabela seguinte (em setores):" -#: rs02-window.c:740 +#: rs02-window.c:746 msgid "" "Determine augmented image size from table\n" "\n" @@ -4449,17 +4614,17 @@ msgstr "" "\n" "Para que uma mídia adequada seja escolhida, a capacidade das mídias disponíveis devem ser conhecidas. Tamanhos padrão para CD e DVDs de duas camadas são dados na tabela. Você pode editar estes tamanhos de acordo com as suas necessidades." -#: rs02-window.c:759 +#: rs02-window.c:765 msgid "CD-R / CD-RW:" msgstr "CD-R / CR-RW:" -#: rs02-window.c:770 rs02-window.c:789 rs02-window.c:830 rs02-window.c:849 -#: rs02-window.c:890 rs02-window.c:909 rs02-window.c:950 rs02-window.c:969 -#: rs02-window.c:1009 rs02-window.c:1028 +#: rs02-window.c:776 rs02-window.c:795 rs02-window.c:836 rs02-window.c:855 +#: rs02-window.c:896 rs02-window.c:915 rs02-window.c:956 rs02-window.c:975 +#: rs02-window.c:1015 rs02-window.c:1034 msgid "query medium" msgstr "consultar mídia" -#: rs02-window.c:801 +#: rs02-window.c:807 #, c-format msgid "" "CD medium size\n" @@ -4482,11 +4647,11 @@ msgstr "" "Por favor, note que imagens aumentadas, no máximo, triplicarão em tamanho, já que a redundância máxima possível é 200%%.\n" "Mesmo se esse limite não for alcançado, a imagem aumentada pode ser alguns setores menor do que o especificado por razões técnicas." -#: rs02-window.c:819 +#: rs02-window.c:825 msgid "DVD 1 layer:" msgstr "DVD de 1 camada:" -#: rs02-window.c:861 +#: rs02-window.c:867 #, c-format msgid "" "Single layer DVD medium size\n" @@ -4509,11 +4674,11 @@ msgstr "" "Por favor, note que imagens aumentadas, no máximo, triplicarão em tamanho, já que a redundância máxima possível é 200%%.\n" "Mesmo se esse limite não for alcançado, a imagem aumentada pode ser alguns setores menor do que o especificado por razões técnicas." -#: rs02-window.c:879 +#: rs02-window.c:885 msgid "DVD 2 layers:" msgstr "DVD de 2 camadas:" -#: rs02-window.c:921 +#: rs02-window.c:927 #, c-format msgid "" "Two layered DVD medium size\n" @@ -4536,11 +4701,11 @@ msgstr "" "Por favor, note que imagens aumentadas, no máximo, triplicarão em tamanho, já que a redundância máxima possível é 200%%.\n" "Mesmo se esse limite não for alcançado, a imagem aumentada pode ser alguns setores menor do que o especificado por razões técnicas." -#: rs02-window.c:939 +#: rs02-window.c:945 msgid "BD 1 layer:" msgstr "BD de uma camada:" -#: rs02-window.c:981 +#: rs02-window.c:987 #, c-format msgid "" "Single layer BD medium size\n" @@ -4563,11 +4728,11 @@ msgstr "" "Por favor, note que imagens aumentadas, no máximo, triplicarão em tamanho, já que a redundância máxima possível é 200%%.\n" "Mesmo se esse limite não for alcançado, a imagem aumentada pode ser alguns setores menor do que o especificado por razões técnicas." -#: rs02-window.c:998 +#: rs02-window.c:1004 msgid "BD 2 layers:" msgstr "BD de 2 camadas:" -#: rs02-window.c:1040 +#: rs02-window.c:1046 #, c-format msgid "" "Two layered BD medium size\n" @@ -4590,11 +4755,11 @@ msgstr "" "Por favor, note que imagens aumentadas, no máximo, triplicarão em tamanho, já que a redundância máxima possível é 200%%.\n" "Mesmo se esse limite não for alcançado, a imagem aumentada pode ser alguns setores menor do que o especificado por razões técnicas." -#: rs02-window.c:1095 +#: rs02-window.c:1101 msgid "sectors." msgstr "setores." -#: rs02-window.c:1108 +#: rs02-window.c:1114 #, c-format msgid "" "Use at most ... sectors\n" @@ -4612,6 +4777,491 @@ msgstr "" "Por favor, note que imagens aumentadas terão, no máximo, o triplo do tamanho, já que a redundância máxima possível é de 200%%.\n" "Mesmo que esse limite não seja alcançado, a imagem aumentada pode ser alguns setores menor do que o especificado por razões técnicas." +#: rs03-common.c:192 +#, c-format +msgid "Redundancy %4.1f%% out of useful range [3.2%%..200%%]" +msgstr "" + +#: rs03-common.c:222 +#, c-format +msgid "Redundancy %d out of useful range [8..170]." +msgstr "" + +#: rs03-create.c:304 +#, c-format +msgid "Failed expanding the ecc file: %s\n" +msgstr "" + +#: rs03-create.c:305 +#, c-format +msgid "Preparing ecc file: %3d%%" +msgstr "" + +#: rs03-create.c:310 +#, c-format +msgid "Preparing image: %3d%%" +msgstr "" + +#: rs03-create.c:507 +#, c-format +msgid "" +"Incomplete image\n" +"\n" +"The image contains missing sectors,\n" +"e.g. sector %lld.\n" +"%sError correction data works like a backup; it must\n" +"be created when the image is still fully readable.\n" +"Exiting and removing partial error correction data." +msgstr "" + +#: rs03-create.c:515 +msgid "" +"\n" +"This image was probably mastered from defective source(s).\n" +"Perform a \"Verify\" action for more information.\n" +"\n" +msgstr "" + +#: rs03-create.c:740 +msgid "CPU bound" +msgstr "" + +#: rs03-create.c:744 +msgid "I/O bound" +msgstr "" + +#: rs03-create.c:915 +#, c-format +msgid "%5.2fMB/s current" +msgstr "" + +#: rs03-create.c:959 +#, c-format +msgid "%d threads with 128bit intrinsics" +msgstr "" + +#: rs03-create.c:962 rs03-preferences.c:290 rs03-preferences.c:805 +#: rs03-preferences.c:811 rs03-preferences.c:812 +#, c-format +msgid "%d threads" +msgstr "" + +#: rs03-create.c:1083 rs03s-create.c:1066 +#, c-format +msgid "Encoding with Method RS03: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1098 +#, c-format +msgid "" +"Augmenting image with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1103 +#, c-format +msgid "" +"Creating the error correction file with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1114 rs03s-create.c:1091 +#, c-format +msgid "" +"Not enough space on medium left for error correction data.\n" +"Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" +"If reducing the image size or using a larger medium is not\n" +"an option, please create a separate error correction file." +msgstr "" + +#: rs03-create.c:1158 +#, c-format +msgid "Avg performance: %5.2fs (%5.2fMB/s) total\n" +msgstr "" + +#: rs03-create.c:1161 +#, c-format +msgid "%5.2fMB/s average" +msgstr "" + +#: rs03-create.c:1163 +#, c-format +msgid "%d times CPU bound; %d times I/O bound" +msgstr "" + +#: rs03-fix.c:224 +#, c-format +msgid "Error correction file using Method RS03, %d roots, %4.1f%% redundancy." +msgstr "" + +#: rs03-fix.c:228 +#, c-format +msgid "Image contains error correction data: Method RS03, %d roots, %4.1f%% redundancy." +msgstr "" + +#: rs03-fix.c:798 +#, c-format +msgid "Failed seeking to sector %lld in ecc file [%s]: %s" +msgstr "" + +#: rs03-fix.c:803 +#, c-format +msgid "" +"could not write ecc file sector %lld:\n" +"%s" +msgstr "" + +#: rs03-preferences.c:271 rs03-preferences.c:749 rs03-preferences.c:755 +#: rs03-preferences.c:756 +#, c-format +msgid "%d sectors" +msgstr "" + +#: rs03-preferences.c:443 +msgid "Warning: This codec is experimental and for evaluation only. It is not yet fully implemented and does contain bugs. Future dvdisaster versions may not be compatible with it. Do not yet use this codec for any archival purposes." +msgstr "" + +#: rs03-preferences.c:460 rs03-preferences.c:467 +msgid "Error correction data storage" +msgstr "" + +#: rs03-preferences.c:468 +msgid "Store ECC data in: " +msgstr "" + +#: rs03-preferences.c:480 +msgid "File" +msgstr "" + +#: rs03-preferences.c:507 +msgid "" +"Error correction data storage\n" +"\n" +"Select between two ways of storing the error correction information:\n" +msgstr "" + +#: rs03-preferences.c:512 +msgid "" +"Augmented image (recommended)\n" +"The error correction data will be stored along with the user data on the same medium. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image and fill up the remaining space.\n" +"Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required.\n" +msgstr "" + +#: rs03-preferences.c:522 +msgid "" +"Error correction file\n" +"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster. This prevents from losing the error correction files in case of a medium defect.\n" +msgstr "" + +#: rs03-preferences.c:542 +msgid "no settings for augmented images" +msgstr "" + +#: rs03-preferences.c:746 +msgid "Sector prefetch" +msgstr "" + +#: rs03-preferences.c:750 +msgid "Sector prefetching" +msgstr "" + +#: rs03-preferences.c:762 +msgid "Prefetch" +msgstr "" + +#: rs03-preferences.c:790 +msgid "" +"Sector preloading\n" +"\n" +"dvdisaster optimizes access to the image and error correction data by preloading and caching parts of them.\n" +"\n" +"The optimal preload value depends on the storage system used for the image and error correction files.\n" +"Use small preload values for systems with low latency and seek time, e.g. SSDs. For magnetic hard disks performace may be better using larger preload values.\n" +"\n" +"A preload value of n will used approx. n MB of RAM." +msgstr "" + +#: rs03-preferences.c:802 rs03-preferences.c:806 +msgid "Multithreading" +msgstr "" + +#: rs03-preferences.c:846 +msgid "" +"Multithreading\n" +"\n" +"RS03 can use multiple threads (and therefore CPU cores)for encoding.\n" +"For systems with 4 cores or less, set the number of threads to the number of cores. If you have more cores, leave one unused for doing I/O and graphics updates.\n" +"E.g. use 7 threads on an 8 core system.\n" +"\n" +"Performance will not scale linearly with the number of CPU cores. Hard disk performance is more limiting than raw CPU power. When using 4 cores or more, memory bandwidth may also affect performance." +msgstr "" + +#: rs03s-create.c:1075 +#, c-format +msgid "" +"Augmenting image with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03s-create.c:1080 +#, c-format +msgid "" +"Creating the error correction file with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-verify.c:189 +msgid "Error correction properties" +msgstr "" + +#: rs03-verify.c:200 +msgid "Type:" +msgstr "" + +#: rs03-verify.c:260 +msgid "Data integrity" +msgstr "" + +#: rs03-verify.c:316 rs03-verify.c:1281 +msgid "Ecc block test:" +msgstr "" + +#: rs03-verify.c:423 +#, c-format +msgid "Failed seeking to sector %lld in ecc file: %s" +msgstr "" + +#: rs03-verify.c:592 rs03-verify.c:798 rs03-verify.c:1214 +msgid "Checking the image and error correction files." +msgstr "" + +#: rs03-verify.c:593 +msgid "- Checking ecc blocks (deep verify) -" +msgstr "" + +#: rs03-verify.c:608 +#, c-format +msgid "Out of memory; try reducing sector prefetch!" +msgstr "" + +#: rs03-verify.c:610 +msgid "* Ecc block test : out of memory; try reducing sector prefetch!\n" +msgstr "" + +#: rs03-verify.c:700 +#, c-format +msgid "%d%% tested" +msgstr "" + +#: rs03-verify.c:702 +#, c-format +msgid "- Ecc block test : %d%% tested" +msgstr "" + +#: rs03-verify.c:708 +#, c-format +msgid "%lld good, %lld bad; %d%% tested" +msgstr "" + +#: rs03-verify.c:710 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %d%% tested" +msgstr "" + +#: rs03-verify.c:720 +msgid "pass" +msgstr "" + +#: rs03-verify.c:722 +msgid "- Ecc block test : pass\n" +msgstr "" + +#: rs03-verify.c:727 +#, c-format +msgid "%lld good, %lld bad; %lld bad sub blocks" +msgstr "" + +#: rs03-verify.c:729 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %lld bad sub blocks\n" +msgstr "" + +#: rs03-verify.c:782 +#, c-format +msgid "" +"\n" +"%s present.\n" +msgstr "" + +#: rs03-verify.c:801 +#, c-format +msgid "%s present.\n" +msgstr "" + +#: rs03-verify.c:821 +msgid "" +"\n" +"Error correction properties:\n" +msgstr "" + +#: rs03-verify.c:830 +#, c-format +msgid "Ecc file is %lld sectors shorter than expected." +msgstr "" + +#: rs03-verify.c:832 +#, c-format +msgid "Ecc file is %lld sectors longer than expected." +msgstr "" + +#: rs03-verify.c:838 +#, c-format +msgid "* Warning : %s\n" +msgstr "" + +#: rs03-verify.c:846 +msgid "- type : Error correction file\n" +msgstr "" + +#: rs03-verify.c:847 +msgid "- type : Augmented image\n" +msgstr "" + +#: rs03-verify.c:851 +msgid "Error correction file" +msgstr "" + +#: rs03-verify.c:852 +msgid "Augmented image" +msgstr "" + +#: rs03-verify.c:887 +msgid "- created by : dvdisaster" +msgstr "" + +#: rs03-verify.c:900 +#, c-format +msgid "- created by : dvdisaster-%d.%d\n" +msgstr "" + +#: rs03-verify.c:919 +#, c-format +msgid "- requires : dvdisaster-%s\n" +msgstr "" + +#: rs03-verify.c:925 +#, c-format +msgid "" +"* requires : dvdisaster-%s (BAD)\n" +"* Warning : The following output might be incorrect.\n" +"* : Please visit http://www.dvdisaster.com for an upgrade.\n" +msgstr "" + +#: rs03-verify.c:947 +msgid "none available" +msgstr "" + +#: rs03-verify.c:965 +msgid "" +"\n" +"Data integrity:\n" +msgstr "" + +#: rs03-verify.c:987 +#, c-format +msgid "%lld in image; %lld in ecc file" +msgstr "" + +#: rs03-verify.c:989 +#, c-format +msgid "- sectors : %lld in image; %lld in ecc file\n" +msgstr "" + +#: rs03-verify.c:994 +#, c-format +msgid "%lld total / %lld data" +msgstr "" + +#: rs03-verify.c:996 +#, c-format +msgid "- medium sectors : %lld total / %lld data\n" +msgstr "" + +#: rs03-verify.c:1002 +#, c-format +msgid "%lld (%lld expected)" +msgstr "" + +#: rs03-verify.c:1027 +#, c-format +msgid "Failed seeking to start of ecc file: %s\n" +msgstr "" + +#: rs03-verify.c:1073 +#, c-format +msgid "premature end in ecc file (only %d bytes): %s\n" +msgstr "" + +#: rs03-verify.c:1124 +msgid " (in ecc file)" +msgstr "" + +#: rs03-verify.c:1132 +#, c-format +msgid "* missing sector : %lld%s\n" +msgstr "" + +#: rs03-verify.c:1133 +#, c-format +msgid "* missing sectors : %lld - %lld%s\n" +msgstr "" + +#: rs03-verify.c:1193 rs03-verify.c:1232 +#, c-format +msgid "%lld sectors missing; %lld signature errors" +msgstr "" + +#: rs03-verify.c:1217 +msgid "Error correction file:" +msgstr "" + +#: rs03-verify.c:1248 +#, c-format +msgid "" +"- good image/file : all sectors present\n" +"- data md5sum : %s\n" +msgstr "" + +#: rs03-verify.c:1252 +#, c-format +msgid "* BAD image/file : %lld sectors missing\n" +msgstr "" + +#: rs03-verify.c:1287 +#, c-format +msgid "Skipped; not useful on known defective image" +msgstr "" + +#: rs03-verify.c:1290 +msgid "* Ecc block test : skipped; not useful on defective image\n" +msgstr "" + +#: rs03-window.c:83 +msgid "1. Reserving space:" +msgstr "" + +#: rs03-window.c:102 +msgid "Encoder info:" +msgstr "" + +#: rs03-window.c:111 +msgid "Performance:" +msgstr "" + +#: rs03-window.c:120 +msgid "State:" +msgstr "" + #: scsi-darwin.c:159 msgid "No CD/DVD drives found." msgstr "Nenhum drive de CD/DVD encontrado." @@ -4632,7 +5282,7 @@ msgstr "" "Nenhum drive de CD/DVD encontrado em /dev.\n" "Nenhum drive será pré-selecionado.\n" -#: scsi-layer.c:87 +#: scsi-layer.c:101 #, c-format msgid "" "Can open %s, but INQUIRY fails.\n" @@ -4645,27 +5295,27 @@ msgstr "" "e tentando acessá-lo via /dev/cdrom ou /dev/hd?.\n" "Use /dev/scd? ou /dev/sr? em vez disso, ou desative a emulação de ide-scsi.\n" -#: scsi-layer.c:95 +#: scsi-layer.c:109 #, c-format msgid "INQUIRY failed. Something is wrong with drive %s.\n" msgstr "A CONSULTA falhou. Há algo de errado com o drive %s.\n" -#: scsi-layer.c:124 +#: scsi-layer.c:138 #, c-format msgid "Device %s (%s) is not a CDROM drive." msgstr "O dispositivo %s (%s) não é um drive de CDROM." -#: scsi-layer.c:125 +#: scsi-layer.c:139 #, c-format msgid "Device %s (%s) is a hard disk." msgstr "O dispositivo %s (%s) é um disco rígido." -#: scsi-layer.c:416 +#: scsi-layer.c:430 #, c-format msgid "Incomplete %s" msgstr "%s incompleto" -#: scsi-layer.c:454 +#: scsi-layer.c:468 #, c-format msgid "" "%s\n" @@ -4674,16 +5324,16 @@ msgstr "" "%s\n" "Impossível consultar o tamanho TOC.\n" -#: scsi-layer.c:459 +#: scsi-layer.c:473 msgid "blank" msgstr "em branco" -#: scsi-layer.c:473 scsi-layer.c:533 +#: scsi-layer.c:488 scsi-layer.c:549 #, c-format msgid "TOC info too long (%d), probably multisession.\n" msgstr "Informação TOC grande demais (%d), provavelmente multiseção.\n" -#: scsi-layer.c:488 +#: scsi-layer.c:503 #, c-format msgid "" "%s\n" @@ -4692,7 +5342,7 @@ msgstr "" "%s\n" "Impossível ler TOC.\n" -#: scsi-layer.c:515 +#: scsi-layer.c:530 #, c-format msgid "" "%s\n" @@ -4701,12 +5351,12 @@ msgstr "" "%s\n" "Impossível consultar o tamanho total do TOC.\n" -#: scsi-layer.c:527 +#: scsi-layer.c:543 #, c-format msgid "TOC info too short, length %d.\n" msgstr "Informação TOC curta demais, tamanho %d.\n" -#: scsi-layer.c:551 +#: scsi-layer.c:569 #, c-format msgid "" "%s\n" @@ -4715,7 +5365,7 @@ msgstr "" "%s\n" "Impossível ler o TOC completo.\n" -#: scsi-layer.c:560 +#: scsi-layer.c:578 #, c-format msgid "" "\n" @@ -4724,11 +5374,11 @@ msgstr "" "\n" "Formato de TOC inesperado (tamanho %d):\n" -#: scsi-layer.c:568 +#: scsi-layer.c:586 msgid "Consider sending a bug report.\n" msgstr "Considere enviar um relatório de bug.\n" -#: scsi-layer.c:621 +#: scsi-layer.c:639 #, c-format msgid "" "%s\n" @@ -4737,12 +5387,12 @@ msgstr "" "%s\n" "Impossível consultar o tamanho da estrutura do dvd.\n" -#: scsi-layer.c:632 +#: scsi-layer.c:651 #, c-format msgid "Could not query dvd physical structure - implausible packet length %d\n" msgstr "Impossível consultar a estrutura física do dvd - tamanho de pacote inverossímil: %d\n" -#: scsi-layer.c:650 +#: scsi-layer.c:669 #, c-format msgid "" "%s\n" @@ -4751,12 +5401,12 @@ msgstr "" "%s\n" "Impossível consultar a estrutura do dvd.\n" -#: scsi-layer.c:679 scsi-layer.c:689 +#: scsi-layer.c:698 scsi-layer.c:708 #, c-format msgid "READ DVD STRUCTURE: implausible medium size, %lld-%lld=%lld sectors\n" msgstr "LER A ESTRUTURA DO DVD: tamanho da mídia inverossímil: %lld-%lld=%lld setores\n" -#: scsi-layer.c:947 +#: scsi-layer.c:968 #, c-format msgid "" "%s\n" @@ -4765,7 +5415,7 @@ msgstr "" "%s\n" "Impossível consultar o tamanho da estrutura do disco BD.\n" -#: scsi-layer.c:970 +#: scsi-layer.c:992 #, c-format msgid "" "%s\n" @@ -4774,7 +5424,7 @@ msgstr "" "%s\n" "Impossível consultar a estrutura do disco BD.\n" -#: scsi-layer.c:1646 +#: scsi-layer.c:1673 #, c-format msgid "" "%s\n" @@ -4783,12 +5433,12 @@ msgstr "" "%s\n" "Impossível consultar o tamanho da estrutura do dvd para o código de formato 1.\n" -#: scsi-layer.c:1656 +#: scsi-layer.c:1684 #, c-format msgid "Could not query dvd copyright info - implausible packet length %d\n" msgstr "Impossível consultar as informações de copyright do dvd - tamanho de pacote inverossímil: %d\n" -#: scsi-layer.c:1671 +#: scsi-layer.c:1699 #, c-format msgid "" "%s\n" @@ -4797,23 +5447,23 @@ msgstr "" "%s\n" "Impossível consultar as informações de copyright.\n" -#: scsi-layer.c:1731 +#: scsi-layer.c:1759 msgid "is undecideable because of read error" msgstr "é impossível de se resolver por causa de um erro de leitura" -#: scsi-layer.c:1737 +#: scsi-layer.c:1765 msgid "looks GOOD" msgstr "parece BOM" -#: scsi-layer.c:1743 +#: scsi-layer.c:1771 msgid "gives unformatted size (UNUSABLE)" msgstr "dá o tamanho não-formatado (INUTILIZÁVEL)" -#: scsi-layer.c:1748 +#: scsi-layer.c:1776 msgid "is UNUSABLE" msgstr "é INUTILIZÁVEL" -#: scsi-layer.c:1770 +#: scsi-layer.c:1798 #, c-format msgid "" "%s\n" @@ -4822,12 +5472,12 @@ msgstr "" "%s\n" "Impossível consultar o tamanho da mídia.\n" -#: scsi-layer.c:1790 +#: scsi-layer.c:1818 #, c-format msgid "READ CAPACITY: implausible medium size, %lld sectors\n" msgstr "CAPACIDADE DE LEITURA: tamanho da mídia inverossímil, %lld setores\n" -#: scsi-layer.c:1869 +#: scsi-layer.c:1895 #, c-format msgid "" "Different media sizes depending on query method:\n" @@ -4839,7 +5489,7 @@ msgstr "" "LEITURA DA CAPACIDADE: %lld setores\n" "LEITURA DA ESTRUTURA DO DVD : %lld setores\n" -#: scsi-layer.c:1874 +#: scsi-layer.c:1900 msgid "" "Evaluation of returned medium sizes:\n" "\n" @@ -4847,15 +5497,15 @@ msgstr "" "Avaliação dos tamanhos da mídia retornados:\n" "\n" -#: scsi-layer.c:1929 +#: scsi-layer.c:1955 msgid "Using value from READ CAPACITY" msgstr "Usando o valor da LEITURA DA CAPACIDADE" -#: scsi-layer.c:1933 +#: scsi-layer.c:1959 msgid "Using value from READ DVD STRUCTURE" msgstr "Usando o valor da LEITURA DA ESTRUTURA DO DVD" -#: scsi-layer.c:1943 +#: scsi-layer.c:1969 #, c-format msgid "" "FAILED to determine image size.\n" @@ -4866,7 +5516,7 @@ msgstr "" "Usar valores menores como este é adequado a mais de 90%% de todos os drives,\n" "mas CONTINUE COM A SUA CONTA EM RISCO (a imagem pode ficar incompleta/inutilizável)" -#: scsi-layer.c:1948 +#: scsi-layer.c:1974 #, c-format msgid "" "Final decision: %s\n" @@ -4875,7 +5525,7 @@ msgstr "" "Decisão final: %s\n" "\n" -#: scsi-layer.c:1956 +#: scsi-layer.c:1982 msgid "" "Failed to determine image size.\n" "Try using a different drive." @@ -4883,14 +5533,14 @@ msgstr "" "Falha ao determinar o tamanho da imagem.\n" "Tente usar um drive diferente." -#: scsi-layer.c:2081 scsi-layer.c:2107 +#: scsi-layer.c:2106 scsi-layer.c:2132 #, c-format msgid "" "%s\n" "Could not load/unload the medium.\n" msgstr "" -#: scsi-layer.c:2097 +#: scsi-layer.c:2122 #, c-format msgid "" "%s\n" @@ -4899,37 +5549,37 @@ msgstr "" "%s\n" "Impossível destravar a mídia.\n" -#: scsi-layer.c:2160 +#: scsi-layer.c:2185 #, c-format msgid "Waiting 10 seconds for drive: %d\n" msgstr "Aguardando 10 segundos pelo drive: %d\n" -#: scsi-layer.c:2443 +#: scsi-layer.c:2468 #, c-format msgid "Sectors %lld - %lld: %s\n" msgstr "Setores %lld - %lld: %s\n" -#: scsi-layer.c:2457 +#: scsi-layer.c:2482 #, c-format msgid "Sector %lld, try %d: %s Sector returned: %d.\n" msgstr "Setor %lld, tentativa %d: %s Setor retornado: %d.\n" -#: scsi-layer.c:2463 +#: scsi-layer.c:2488 #, c-format msgid "Sector %lld, try %d: %s\n" msgstr "Setor %lld, tentativa %d: %s\n" -#: scsi-layer.c:2474 +#: scsi-layer.c:2499 #, c-format msgid "Sector %lld, try %d: success\n" msgstr "Setor %lld, tentativa %d: sucesso\n" -#: scsi-layer.c:2541 scsi-layer.c:2694 +#: scsi-layer.c:2566 scsi-layer.c:2711 #, c-format msgid "Device %s: no medium present\n" msgstr "Dispositivo %s: nenhuma mídia presente\n" -#: scsi-layer.c:2542 scsi-layer.c:2695 +#: scsi-layer.c:2567 scsi-layer.c:2712 #, c-format msgid "" "Device %s does not become ready:\n" @@ -4940,7 +5590,7 @@ msgstr "" "%s\n" "\n" -#: scsi-layer.c:2547 +#: scsi-layer.c:2571 #, c-format msgid "" "\n" @@ -4949,61 +5599,52 @@ msgstr "" "\n" "Dispositivo: %s, %s\n" -#: scsi-layer.c:2551 -#, c-format -msgid "" -"\n" -"Device: %s (%s), %s\n" -msgstr "" -"\n" -"Dispositivo: %s (%s), %s\n" - -#: scsi-layer.c:2559 +#: scsi-layer.c:2577 msgid "Drive failed to report media type." msgstr "O drive falhou ao informar o tipo de mídia." -#: scsi-layer.c:2570 scsi-layer.c:2657 +#: scsi-layer.c:2588 scsi-layer.c:2674 #, c-format msgid "This software does not support \"%s\" type media." msgstr "Este software não suporta mídias do tipo \"%s\"" -#: scsi-layer.c:2578 +#: scsi-layer.c:2596 #, c-format msgid "This software does not support multisession (%d sessions) media." msgstr "Este software não suporta mídias em multisessão (%d sessões)." -#: scsi-layer.c:2601 scsi-layer.c:2610 +#: scsi-layer.c:2619 scsi-layer.c:2628 msgid "Using READ CD" msgstr "Usando READ CD" -#: scsi-layer.c:2602 +#: scsi-layer.c:2620 msgid ", RAW reading" msgstr ", leitura RAW" -#: scsi-layer.c:2605 +#: scsi-layer.c:2623 #, c-format msgid ", Mode page 1 ERP = %02xh" msgstr "" -#: scsi-layer.c:2608 +#: scsi-layer.c:2626 msgid ", C2 scanning" msgstr ", escaneando C2" -#: scsi-layer.c:2615 +#: scsi-layer.c:2633 msgid "Using READ(10).\n" msgstr "Usando READ(10).\n" -#: scsi-layer.c:2634 +#: scsi-layer.c:2651 #, c-format msgid "Medium: %s, %lld sectors%s" msgstr "Mídia: %s, %lld setores%s" -#: scsi-layer.c:2638 +#: scsi-layer.c:2655 #, c-format msgid "Medium \"%s\": %s, %lld sectors%s created %s" msgstr "Mídia \"%s\": %s, %lld setores%s criou %s" -#: scsi-layer.c:2664 +#: scsi-layer.c:2681 msgid "This software does not support encrypted media.\n" msgstr "Este software não suporta mídias criptografadas.\n" @@ -5023,42 +5664,7 @@ msgstr "" "* Sistema operacional não suportado - nenhuma camada SCSI disponível.\n" "* Nenhum drive pode ser usado.\n" -#: scsi-win32.c:415 -msgid "ASPI manager present, but no CD/DVD drives managed.\n" -msgstr "Gerenciador ASPI presente, mas nenhum drive de CD/DVD é gerenciado.\n" - -#: scsi-win32.c:417 -#, c-format -msgid "" -"%d SPTI drives, but %d ASPI drives.\n" -"Drive letter mapping for ASPI drives is probably incorrect.\n" -msgstr "" -"%d drives SPTI, mas %d drives ASPI.\n" -"O mapeamento de letras para drives ASPI provavelmente está incorreto.\n" - -#: scsi-win32.c:435 -msgid "" -"\n" -"List of ASPI CD/DVD drives:\n" -msgstr "" -"\n" -"Lista dos drives de CD/DVD ASPI:\n" - -#: scsi-win32.c:440 -msgid "" -"\n" -"To force ASPI usage over SPTI, refer to the drive by the\n" -"above numbers (use 1:, 2:,... instead of C:, D:,...)\n" -msgstr "" -"\n" -"Para forçar o uso de ASPI em vez de SPTI, refira-se ao drive pelos\n" -"números acima (use 1:, 2:,... em vez de C:, D:,...)\n" - -#: scsi-win32.c:445 -msgid "ASPI manager not available or installed.\n" -msgstr "Gerenciador ASPI não disponível ou não instalado.\n" - -#: scsi-win32.c:569 +#: scsi-win32.c:161 #, c-format msgid "" "\n" @@ -5067,14 +5673,12 @@ msgstr "" "\n" "Nome de dispositivo ilegal: \"%s\" (use dispositivos de \"C:\" ... a \"Z:\")" -#: scsi-win32.c:659 +#: scsi-win32.c:245 #, c-format msgid "" "\n" -"Neither SPTI nor ASPI worked opening %s." +"Could not open device %s." msgstr "" -"\n" -"Nem SPTI e nem ASPI funcionaram para abrir %s." #: show-manual.c:75 msgid "windowtitle|Choose a browser" @@ -5125,19 +5729,19 @@ msgstr "" msgid "Please hang on until the browser comes up!" msgstr "Por favor, espere até que o browser abra!" -#: udf.c:143 +#: udf.c:142 msgid "Skip RS02 test" msgstr "Pular o teste RS02" -#: udf.c:144 +#: udf.c:143 msgid "Continue searching" msgstr "Continuar a busca" -#: udf.c:149 +#: udf.c:148 msgid "Disable RS02 initialization in the preferences" msgstr "Desativar a inicialização RS02 nas preferências" -#: udf.c:240 +#: udf.c:238 msgid "" "Faster medium initialization\n" "\n" @@ -5151,50 +5755,38 @@ msgstr "" "Aperte \"Pular o teste RS02\" se você está certo de que essa mídia não foi\n" "aumentada com dados de correção de erros RS02." -#: udf.c:249 -msgid "" -"\n" -"Searching this medium for error correction data may take a long time.\n" -"If you are certain that this medium was not augmented with RS02 error correction\n" -"data, you might wish to abort this command and re-run with the option\n" -"--query-size=udf\n" -msgstr "" -"\n" -"Buscar nessa mídia dados de correção de erros pode levar um bom tempo.\n" -"Se você está certo de que essa mídia não foi aumentada com dados de\n" -"correção de erros RS02, você pode querer abortar este comando e rodar novamente com a opção\n" -"--query-size=udf\n" - -#: udf.c:533 +#: udf.c:524 msgid "Unnamed" msgstr "Sem título" -#: udf.c:624 +#: udf.c:615 msgid "Example disc" msgstr "Disco de exemplo" #: welcome-window.c:79 #, c-format msgid "" -"- New raw reading mode for CD media.\n" -"- Number of reading attempts can be selected\n" -"%s per sector and for the whole medium.\n" -"- Redesigned preferences dialog." +"- Development frameworks for Windows and OS X updated.\n" +"- Experimental multithreaded codec (RS03).\n" +"\n" +"Warning:\n" +"This version is experimental and for testing only.\n" +"It may contain bugs even in functions which worked\n" +"in previous versions.\n" +"\n" +"RS03 has not reached full recovery capacity yet and\n" +"is not recognized by linear and adaptive reading." msgstr "" -"- Novo modo de leitura raw para mídias CD.\n" -"- Número de tentativas de leitura agora pode ser\n" -"selecionado%s por setor ou para a mídia inteira.\n" -"- Novo diálogo de preferências." -#: welcome-window.c:87 +#: welcome-window.c:93 msgid "Show this message again" msgstr "Mostrar essa mensagem no futuro" -#: welcome-window.c:129 +#: welcome-window.c:135 msgid "Welcome to dvdisaster!" msgstr "Bem-vindo(a) ao dvdisaster!" -#: welcome-window.c:131 +#: welcome-window.c:137 msgid "" "\n" "dvdisaster creates error correction data to protect\n" @@ -5204,7 +5796,7 @@ msgstr "" "O dvdisaster cria dados de correção de erros para proteger\n" "mídias CD e DVD contra perda de dados.\n" -#: welcome-window.c:134 +#: welcome-window.c:140 msgid "" "Please see the manual for [typical uses] of dvdisaster.\n" "\n" @@ -5212,9 +5804,267 @@ msgstr "" "Por favor, leia o manual para [usos típicos] do dvdisaster.\n" "\n" -#: welcome-window.c:137 +#: welcome-window.c:143 msgid "New in this Version:" msgstr "Novidades dessa versão:" +#~ msgid "" +#~ "Image file already exists and does not match the CD/DVD.\n" +#~ "The existing image file will be deleted." +#~ msgstr "" +#~ "O arquivo de imagem já existe e não combina com o CD/DVD.\n" +#~ "O arquivo de imagem existente será apagado." + +#~ msgid "" +#~ "Automatic error correction file creation is enabled,\n" +#~ "and \"%s\" already exists.\n" +#~ "Overwrite it?\n" +#~ msgstr "" +#~ "A criação automática de arquivos de correção de erros está ativada,\n" +#~ "e \"%s\" já existe.\n" +#~ "Sobreescrever?\n" + +#~ msgid "" +#~ "Debugging options (purposefully undocumented and possibly harmful)\n" +#~ " --debug - enables the following options\n" +#~ " --byteset s,i,b - set byte i in sector s to b\n" +#~ " --cdump - creates C #include file dumps instead of hexdumps\n" +#~ " --compare-images a,b - compare sectors in images a and b\n" +#~ " --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" +#~ " --erase sector - erase the given sector\n" +#~ " --erase n-m - erase sectors n - m, inclusively\n" +#~ " --marked-image n - create image with n marked random sectors\n" +#~ " --merge-images a,b merge image a with b (a receives sectors from b)\n" +#~ " --random-errors r,e seed image with (correctable) random errors\n" +#~ " --random-image n - create image with n sectors of random numbers\n" +#~ " --random-seed n - random seed for built-in random number generator\n" +#~ " --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" +#~ " --read-sector n - shows hexdump of the given sector from medium in drive\n" +#~ " --screen-shot - useful for generating screen shots\n" +#~ " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" +#~ " --show-sector n - shows hexdump of the given sector in an image file\n" +#~ " --sim-defects n - simulate n%% defective sectors on medium\n" +#~ " --truncate n - truncates image to n sectors\n" +#~ " --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" +#~ "\n" +#~ msgstr "\n" + +#~ msgid "" +#~ "\n" +#~ "Searching this medium for error correction data may take a long time.\n" +#~ "If you are certain that this medium was not augmented with RS02 error correction\n" +#~ "data, you might wish to abort this command and re-run with the option\n" +#~ "--query-size=udf\n" +#~ msgstr "" +#~ "\n" +#~ "Buscar nessa mídia dados de correção de erros pode levar um bom tempo.\n" +#~ "Se você está certo de que essa mídia não foi aumentada com dados de\n" +#~ "correção de erros RS02, você pode querer abortar este comando e rodar novamente com a opção\n" +#~ "--query-size=udf\n" + +#~ msgid "Image size" +#~ msgstr "Tamanho da imagem" + +#~ msgid "Image size determination" +#~ msgstr "Determinação do tamanho da imagem" + +#~ msgid "Get Image size from: " +#~ msgstr "Obter tamanho da imagem de: " + +#~ msgid "ISO/UDF" +#~ msgstr "ISO/UDF" + +#~ msgid "ECC/RS02" +#~ msgstr "ECC/RS02" + +#~ msgid "" +#~ "Image size determination\n" +#~ "\n" +#~ "Use ECC/RS02 for reading images augmented with error correction data; else pick ISO/UDF.\n" +#~ "\n" +#~ "ECC/RS02: The Image size is determined from the error correction data. Reading RS02 augmented images requires this option; otherwise the images may be incomplete. However if the medium does not contain error correction data, the start of the reading operation may be delayed significantly.\n" +#~ "\n" +#~ "ISO/UDF: The image size is determined from the ISO/UDF file system.\n" +#~ "Caution: This is only suitable for working with error correction files. Images containing RS02 error correction information may be truncated.\n" +#~ "\n" +#~ "Drive: The image size reported by the drive will be used. As this information is typically wrong for DVD-RW/+RW/-RAM media this option is only present for backwards compatibility with older dvdisaster versions." +#~ msgstr "" +#~ "Determinação do tamanho da imagem\n" +#~ "\n" +#~ "Use ECC/RS02 para leitura de imagens aumentadas com dados de correção de erros; Caso contrário, escolha ISO/UDF.\n" +#~ "\n" +#~ "ECC/RS02: O tamanho da imagem é determinado pelos dados de correção de erros. Ler imagens RS02 aumentadas requer essa opção; caso contrário, as imagens podem ficar incompletas. Porém, se a mídia não contém dados de correção de erros, o início da operação de leitura pode ser atrasado significativamente.\n" +#~ "\n" +#~ "ISO/UDF: O tamanho da imagem é determinado pelo sistema de arquivos ISO/UDF.\n" +#~ "Cuidado: Isso só é adequado para trabalhar com arquivos de correção de erros. Imagens contendo informações de correção de erros RS02 podem ser truncadas.\n" +#~ "\n" +#~ "Drive: O arquivo de imagem indicado pelo drive será usado. Como essa informação geralmente está errada para mídias DVD-RW/+RW/-RAM, essa opção só está presente para manter a compatibilidade com versões anteriores do dvdisaster." + +#~ msgid "" +#~ "Error correction method\n" +#~ "\n" +#~ "dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are two different ways available for storing the error correction information:\n" +#~ msgstr "" +#~ "Método de correção de erros\n" +#~ "\n" +#~ "O dvdisaster cria dados de correção de erros que são usados para recuperar setores ilegíveis se o disco ficar danificado no futuro. Há duas maneiras diferentes de armazenar as informações de correção de erros:\n" + +#~ msgid "" +#~ "- New raw reading mode for CD media.\n" +#~ "- Number of reading attempts can be selected\n" +#~ "%s per sector and for the whole medium.\n" +#~ "- Redesigned preferences dialog." +#~ msgstr "" +#~ "- Novo modo de leitura raw para mídias CD.\n" +#~ "- Número de tentativas de leitura agora pode ser\n" +#~ "selecionado%s por setor ou para a mídia inteira.\n" +#~ "- Novo diálogo de preferências." + +#~ msgid "" +#~ "Not enough space on medium left for error correction data.\n" +#~ "Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" +#~ "If reducing the image size or using a larger medium is\n" +#~ "not an option, please create a separate error correction\n" +#~ "file using the RS01 method.\n" +#~ msgstr "" +#~ "Não há espaço suficiente na mídia para dados de correção de erros.\n" +#~ "Porção de dados da imagem: %lld setores.; tamanho máximo possível: %lld setores.\n" +#~ "Se não for possível reduzir a imagem ou usar uma mídia maior,\n" +#~ "por favor, crie um arquivo de correção de erros separado usando o método RS01.\n" + +#~ msgid "" +#~ "Error correction files (RS01 method)\n" +#~ "Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster, as data loss in an error correction file will render it unusable.\n" +#~ msgstr "" +#~ "Arquivos de correção de erros (método RS01)\n" +#~ "Arquivos de correção de erros são o único jeito de proteger mídias pois eles podem ser armazenados em outro lugar. Eles são mantidos em uma mídia separada que também deve ser protegida pelo dvdisaster, já que perda de dados em um arquivo de correção de erros vai torná-lo inutilizável.\n" + +#~ msgid "" +#~ "Augmented images (RS02 method)\n" +#~ "The error correction data will be stored along with the user data on the same CD/DVD. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image. Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required." +#~ msgstr "" +#~ "Imagens aumentadas (método RS02)\n" +#~ "Os dados de correção de erros serão guardados juntos aos dados do usuário no mesmo CD/DVD. Isso requer a criação de um arquivo de imagem antes de gravar a mídia. Os dados de correção de erros serão anexados àquela imagem. Setores danificados nas informações de correção de erros reduzem a capacidade de correção de erros, mas não tornam a recuperação impossível - uma segunda mídia para manter ou proteger as informações de correção de erros não é necessária." + +#~ msgid "" +#~ "Drive and file specification:\n" +#~ " -d,--device device - read from given device (default: %s)\n" +#~ " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" +#~ " -i,--image imagefile - name of image file (default: medium.iso)\n" +#~ " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +#~ msgstr "" +#~ "Especificações de drive e arquivo:\n" +#~ " -d,--device dispositivo - lê de um dispositivo dado (padrão: %s)\n" +#~ " -p,--prefix prefixo - prefixo do arquivo .iso/.ecc (padrão: midia.* )\n" +#~ " -i,--image arquivodeimagem - nome do arquivo de imagem (padrão: midia.iso)\n" +#~ " -e,--ecc arquivoecc - nome do arquivo de paridade (padrão: midia.ecc)\n" + +#~ msgid "" +#~ " -l,--list - list drives available under ASPI manager\n" +#~ "\n" +#~ msgstr "" +#~ " -l,--list - lista drives disponíveis pelo gerenciador ASPI\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "Device: %s (%s), %s\n" +#~ msgstr "" +#~ "\n" +#~ "Dispositivo: %s (%s), %s\n" + +#~ msgid "ASPI manager present, but no CD/DVD drives managed.\n" +#~ msgstr "Gerenciador ASPI presente, mas nenhum drive de CD/DVD é gerenciado.\n" + +#~ msgid "" +#~ "%d SPTI drives, but %d ASPI drives.\n" +#~ "Drive letter mapping for ASPI drives is probably incorrect.\n" +#~ msgstr "" +#~ "%d drives SPTI, mas %d drives ASPI.\n" +#~ "O mapeamento de letras para drives ASPI provavelmente está incorreto.\n" + +#~ msgid "" +#~ "\n" +#~ "List of ASPI CD/DVD drives:\n" +#~ msgstr "" +#~ "\n" +#~ "Lista dos drives de CD/DVD ASPI:\n" + +#~ msgid "" +#~ "\n" +#~ "To force ASPI usage over SPTI, refer to the drive by the\n" +#~ "above numbers (use 1:, 2:,... instead of C:, D:,...)\n" +#~ msgstr "" +#~ "\n" +#~ "Para forçar o uso de ASPI em vez de SPTI, refira-se ao drive pelos\n" +#~ "números acima (use 1:, 2:,... em vez de C:, D:,...)\n" + +#~ msgid "ASPI manager not available or installed.\n" +#~ msgstr "Gerenciador ASPI não disponível ou não instalado.\n" + +#~ msgid "" +#~ "\n" +#~ "Neither SPTI nor ASPI worked opening %s." +#~ msgstr "" +#~ "\n" +#~ "Nem SPTI e nem ASPI funcionaram para abrir %s." + +#~ msgid "" +#~ "Tweaking options (see manual before using!)\n" +#~ " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" +#~ " -m n - list/select error correction methods (default: RS01)\n" +#~ " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" +#~ " maximum error correction image size (in sectors)\n" +#~ " -v,--verbose - more diagnostic messages\n" +#~ " --adaptive-read - use optimized strategy for reading damaged media\n" +#~ " --auto-suffix - automatically add .iso and .ecc file suffixes\n" +#~ " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" +#~ " --dao - assume DAO disc; do not trim image end\n" +#~ " --defective-dump d - directory for saving incomplete raw sectors\n" +#~ " --eject - eject medium after successful read\n" +#~ " --fill-unreadable n - fill unreadable sectors with byte n\n" +#~ " --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" +#~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n" +#~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" +#~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n" +#~ " --read-attempts n-m - attempts n upto m reads of a defective sector\n" +#~ " --read-medium n - read the whole medium up to n times\n" +#~ " --read-raw - performs read in raw mode if possible\n" +#~ " --speed-warning n - print warning if speed changes by more than n percent\n" +#~ " --spinup-delay n - wait n seconds for drive to spin up\n" +#~ "\n" +#~ msgstr "" +#~ " --query-size n - consulta o dispositivo/udf/ecc pelo tamanho da imagem (padrão: ecc)\n" +#~ "\n" + +#~ msgid "File splitting" +#~ msgstr "Separação de arquivos" + +#~ msgid "Split files into segments <= 2GB" +#~ msgstr "Separar arquivos em segmentos <= 2GB" + +#~ msgid "" +#~ "File splitting\n" +#~ "\n" +#~ "Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." +#~ msgstr "" +#~ "Separação de arquivos\n" +#~ "\n" +#~ "Permite trabalhar com sistemas de arquivos que são limitados a 2GB por arquivo, como o FAT, do Windows. Arquivos criados são espalhados em até 100 segmentos chamados \"midia00.iso\", \"midia01.iso\" etc., com o custo de uma pequena queda de desempenho." + +#~ msgid "" +#~ "\n" +#~ "Unknown method %s.\n" +#~ msgstr "" +#~ "\n" +#~ "Método %s desconhecido.\n" + +#~ msgid "" +#~ "\n" +#~ "Neither ecc file nor ecc data in image found.\n" +#~ msgstr "" +#~ "\n" +#~ "Nem o arquivo ecc nem os dados ecc na imagem foram encontrados.\n" + #~ msgid "About dvdisaster" #~ msgstr "Sobre o dvdisaster" diff --git a/locale/ru.po b/locale/ru.po index a468579..f5c9996 100644 --- a/locale/ru.po +++ b/locale/ru.po @@ -1,15 +1,15 @@ # Russian translations for dvdisaster package # Русские переводы для пакета dvdisaster. -# Copyright (C) 2009 THE dvdisaster'S COPYRIGHT HOLDER +# Copyright (C) 2010 THE dvdisaster'S COPYRIGHT HOLDER # This file is distributed under the same license as the dvdisaster package. -# Igor Gorbounov , 2009. +# Igor Gorbounov , 2010. # # msgid "" msgstr "" "Project-Id-Version: dvdisaster 0.70.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-06 12:32+0200\n" +"POT-Creation-Date: 2010-02-27 19:02+0100\n" "PO-Revision-Date: 2009-07-23 08:11+0300\n" "Last-Translator: Igor Gorbounov \n" "Language-Team: Russian\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: closure.c:568 +#: closure.c:571 #, c-format msgid "" "# dvdisaster-%s configuration file\n" @@ -31,33 +31,33 @@ msgstr "" "# он автоматически перезаписывается при каждом запуске программы.\n" "\n" -#: closure.c:769 closure.c:777 closure.c:784 +#: closure.c:774 closure.c:782 closure.c:789 msgid "medium.iso" msgstr "medium.iso" -#: closure.c:770 closure.c:778 closure.c:785 +#: closure.c:775 closure.c:783 closure.c:790 msgid "medium.ecc" msgstr "medium.ecc" -#: closure.c:771 closure.c:779 closure.c:786 +#: closure.c:776 closure.c:784 closure.c:791 msgid "sector-" msgstr "сектор-" -#: crcbuf.c:45 rs01-common.c:121 rs01-create.c:243 rs01-verify.c:770 +#: crcbuf.c:45 rs01-common.c:144 rs01-create.c:256 rs01-verify.c:781 #, c-format msgid "Failed skipping the ecc header: %s" msgstr "Не удалось пропустить ecc-заголовок: %s" -#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:229 +#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:252 #, c-format msgid "Error reading CRC information: %s" msgstr "Ошибка при чтении CRC-информации: %s " -#: debug.c:55 debug.c:456 debug.c:1084 debug.c:1161 +#: debug.c:53 debug.c:445 debug.c:1073 debug.c:1150 msgid "2nd argument is missing" msgstr "Отсутствует 2-й аргумент" -#: debug.c:62 +#: debug.c:60 msgid "" "Number of roots must be 8..100;\n" "the number of erasures must be > 0 and less than the number of roots.\n" @@ -65,7 +65,7 @@ msgstr "" "Число корней должно быть 8..100;\n" "число стертых мест должно быть > 0 и меньше, чем число корней.\n" -#: debug.c:81 debug.c:172 debug.c:310 +#: debug.c:79 debug.c:170 #, c-format msgid "" "\n" @@ -74,29 +74,31 @@ msgstr "" "\n" "Генерирование случайных исправимых стертых мест (для %d корней, макс. стертых мест = %d).\n" -#: debug.c:112 debug.c:202 debug.c:250 debug.c:341 debug.c:385 debug.c:698 -#: debug.c:798 debug.c:1125 debug.c:1133 debug.c:1240 rs01-common.c:54 -#: rs02-common.c:62 rs02-create.c:336 rs02-create.c:982 rs02-fix.c:387 -#: rs02-verify.c:393 +#: debug.c:110 debug.c:200 debug.c:248 debug.c:374 debug.c:687 debug.c:787 +#: debug.c:1114 debug.c:1122 debug.c:1229 rs01-common.c:77 rs02-common.c:62 +#: rs02-create.c:340 rs02-create.c:986 rs02-fix.c:387 rs02-verify.c:393 +#: rs03-common.c:97 rs03-create.c:583 rs03-create.c:610 rs03-recognize.c:263 +#: rs03s-create.c:85 rs03s-create.c:982 rs03s-create.c:1008 rs03-verify.c:425 #, c-format msgid "Failed seeking to sector %lld in image: %s" msgstr "Не удалось найти сектор %lld в образе: %s" -#: debug.c:117 debug.c:207 debug.c:255 debug.c:346 debug.c:390 debug.c:536 -#: debug.c:658 debug.c:703 debug.c:1137 debug.c:1244 debug.c:1284 -#: rs02-create.c:359 rs02-create.c:385 rs02-create.c:985 udf.c:1108 udf.c:1166 -#: udf.c:1223 udf.c:1236 udf.c:1241 udf.c:1244 udf.c:1247 udf.c:1250 -#: udf.c:1253 udf.c:1256 +#: debug.c:115 debug.c:205 debug.c:253 debug.c:379 debug.c:525 debug.c:647 +#: debug.c:692 debug.c:1126 debug.c:1233 debug.c:1273 rs02-create.c:363 +#: rs02-create.c:389 rs02-create.c:989 rs03-create.c:588 rs03-create.c:614 +#: rs03s-create.c:985 rs03s-create.c:1011 udf.c:1113 udf.c:1171 udf.c:1228 +#: udf.c:1241 udf.c:1246 udf.c:1249 udf.c:1252 udf.c:1255 udf.c:1258 +#: udf.c:1261 #, c-format msgid "Failed writing to sector %lld in image: %s" msgstr "Не удалось записать сектор %lld в образе: %s" -#: debug.c:125 debug.c:261 debug.c:396 debug.c:662 debug.c:710 debug.c:1258 +#: debug.c:123 debug.c:259 debug.c:385 debug.c:651 debug.c:699 debug.c:1247 #, c-format msgid "Progress: %3d%%" msgstr "Степень выполнения: %3d%%" -#: debug.c:130 debug.c:266 debug.c:401 +#: debug.c:128 debug.c:264 debug.c:390 #, c-format msgid "" "Progress: 100%%\n" @@ -107,73 +109,102 @@ msgstr "" "Восстановите образ с помощью опции --fix перед повторным запуском с --random-errors.\n" "В противном случае накопится >= %d стертых мест на блок ECC и образ будет потерян.\n" -#: debug.c:163 debug.c:301 +#: debug.c:161 debug.c:302 #, c-format msgid "Number of erasures must be > 0 and <= %d\n" msgstr "Число стертых мест должно быть > 0 и <= %d\n" -#: debug.c:463 debug.c:1090 +#: debug.c:314 raw-sector-cache.c:34 raw-sector-cache.c:201 +#: raw-sector-cache.c:335 rs01-verify.c:542 scsi-freebsd.c:113 +#: scsi-linux.c:100 scsi-netbsd.c:111 scsi-solaris.c:127 +#, c-format +msgid "Could not open %s: %s" +msgstr "Не удалось открыть %s: %s" + +#: debug.c:318 +#, c-format +msgid "" +"\n" +"RS03 error correction file with %d roots.\n" +msgstr "" + +#: debug.c:319 +#, c-format +msgid "" +"\n" +"RS03 augmented image with %d roots.\n" +msgstr "" + +#: debug.c:320 +#, c-format +msgid "Generating at most %d random correctable erasures.\n" +msgstr "" + +#: debug.c:452 debug.c:1079 msgid "3rd argument is missing" msgstr "Отсутствует 3-й аргумент" -#: debug.c:470 debug.c:791 debug.c:837 debug.c:898 +#: debug.c:459 debug.c:780 debug.c:826 debug.c:887 #, c-format msgid "Sector must be in range [0..%lld]\n" msgstr "Сектор должен быть в диапазоне [0..%lld]\n" -#: debug.c:473 +#: debug.c:462 msgid "Byte position must be in range [0..2047]" msgstr "Байт должен располагаться в диапазоне [0..2047]" -#: debug.c:476 +#: debug.c:465 msgid "Byte value must be in range [0..255]" msgstr "Байт должен иметь значение в диапазоне [0..255]" -#: debug.c:478 +#: debug.c:467 #, c-format msgid "Setting byte %d in sector %lld to value %d.\n" msgstr "Установка байта %d в секторе %lld в значение %d.\n" -#: debug.c:485 debug.c:524 rs02-create.c:182 rs02-verify.c:685 +#: debug.c:474 debug.c:513 rs02-create.c:186 rs02-verify.c:697 +#: rs03-verify.c:1023 #, c-format msgid "Failed seeking to start of image: %s\n" msgstr "Не удалось перейти к началу образа: %s\n" -#: debug.c:488 +#: debug.c:477 msgid "Could not write the new byte value" msgstr "Невозможно записать новое значение байта" -#: debug.c:517 read-adaptive.c:537 +#: debug.c:506 read-adaptive.c:537 #, c-format msgid "Sectors must be in range [0..%lld].\n" msgstr "Сектора должны быть в диапазоне [0..%lld].\n" -#: debug.c:519 +#: debug.c:508 #, c-format msgid "Erasing sectors [%lld,%lld]\n" msgstr "Стирание секторов [%lld,%lld]\n" -#: debug.c:561 +#: debug.c:550 #, c-format msgid "New length must be in range [0..%lld].\n" msgstr "Новая длина должна быть в диапазоне [0..%lld].\n" -#: debug.c:563 +#: debug.c:552 #, c-format msgid "Truncating image to %lld sectors.\n" msgstr "Усечение образа до %lld секторов.\n" -#: debug.c:568 read-linear.c:1398 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 -#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:148 rs02-fix.c:241 -#: rs02-fix.c:262 rs02-fix.c:277 +#: debug.c:557 read-linear.c:1361 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 +#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:151 rs02-fix.c:241 +#: rs02-fix.c:262 rs02-fix.c:277 rs03-create.c:177 rs03-create.c:245 +#: rs03-fix.c:269 rs03-fix.c:290 rs03-fix.c:305 rs03s-create.c:171 +#: rs03s-create.c:227 #, c-format msgid "Could not truncate %s: %s\n" msgstr "Не удалось усечь %s: %s\n" -#: debug.c:594 debug.c:1105 debug.c:1113 debug.c:1170 debug.c:1175 file.c:59 -#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1166 -#: read-adaptive.c:1198 read-linear.c:307 read-linear.c:309 read-linear.c:340 -#: read-linear.c:342 +#: debug.c:583 debug.c:1094 debug.c:1102 debug.c:1159 debug.c:1164 file.c:59 +#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1164 +#: read-adaptive.c:1196 read-linear.c:277 read-linear.c:279 read-linear.c:310 +#: read-linear.c:312 #, c-format msgid "" "Can't open %s:\n" @@ -182,7 +213,7 @@ msgstr "" "Не удается открыть %s:\n" "%s" -#: debug.c:598 +#: debug.c:587 #, c-format msgid "" "\n" @@ -201,7 +232,7 @@ msgstr "" "dvdisaster --debug %s %lld --random-seed %d\n" "\n" -#: debug.c:670 file.c:107 read-adaptive.c:150 read-linear.c:111 +#: debug.c:659 file.c:107 read-adaptive.c:150 read-linear.c:111 #: read-linear.c:114 #, c-format msgid "" @@ -211,11 +242,11 @@ msgstr "" "Ошибка при закрытии файла образа:\n" "%s" -#: debug.c:684 +#: debug.c:673 msgid "Replacing the \"unreadable sector\" markers with zeros.\n" msgstr "Замещение маркеров \"нечитаемый сектор\" нулями.\n" -#: debug.c:691 +#: debug.c:680 #, c-format msgid "" "Could not read image sector %lld:\n" @@ -224,12 +255,12 @@ msgstr "" "Не удалось прочитать сектор образа %lld:\n" "%s\n" -#: debug.c:715 +#: debug.c:704 #, c-format msgid "%lld \"unreadable sector\" markers replaced.\n" msgstr "Замещено %lld маркеров \"нечитаемый сектор\".\n" -#: debug.c:793 debug.c:840 debug.c:901 +#: debug.c:782 debug.c:829 debug.c:890 #, c-format msgid "" "Contents of sector %lld:\n" @@ -238,49 +269,50 @@ msgstr "" "Содержимое сектора %lld:\n" "\n" -#: debug.c:802 debug.c:1129 debug.c:1198 debug.c:1202 debug.c:1280 -#: rs01-common.c:70 rs02-common.c:67 rs02-create.c:199 rs02-fix.c:390 +#: debug.c:791 debug.c:1118 debug.c:1187 debug.c:1191 debug.c:1269 +#: rs01-common.c:93 rs02-common.c:67 rs02-create.c:203 rs02-fix.c:390 +#: rs03-common.c:102 rs03-recognize.c:268 rs03s-create.c:90 #, c-format msgid "Failed reading sector %lld in image: %s" msgstr "Не удалось прочитать сектор %lld в образе: %s" -#: debug.c:851 +#: debug.c:840 #, c-format msgid "Failed reading sector %lld: %s" msgstr "Не удалось прочитать сектор %lld: %s" -#: debug.c:888 +#: debug.c:877 msgid "Raw reading only possible on CD media\n" msgstr "Низкоуровневое чтение возможно только на CD-носителе\n" -#: debug.c:1096 +#: debug.c:1085 msgid "4th argument is missing" msgstr "4-й аргумент отсутствует" -#: debug.c:1109 +#: debug.c:1098 #, c-format msgid "Source sector must be in range [0..%lld]\n" msgstr "Сектор источника должен быть в диапазоне [0..%lld]\n" -#: debug.c:1117 +#: debug.c:1106 #, c-format msgid "Destination sector must be in range [0..%lld]\n" msgstr "Сектор назначения должен быть в диапазоне [0..%lld]\n" -#: debug.c:1121 +#: debug.c:1110 #, c-format msgid "Copying sector %lld from %s to sector %lld in %s.\n" msgstr "Копирование сектора %lld с %s в сектор %lld в %s.\n" -#: ds-marker.c:172 +#: ds-marker.c:225 msgid "Stop reporting these errors" msgstr "Прекратить сообщения об этих ошибках" -#: ds-marker.c:173 +#: ds-marker.c:226 msgid "Continue reporting" msgstr "Продолжить сообщения" -#: ds-marker.c:196 +#: ds-marker.c:249 #, c-format msgid "" "\n" @@ -295,7 +327,7 @@ msgstr "" "%s\n" "\n" -#: ds-marker.c:207 +#: ds-marker.c:260 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -322,7 +354,7 @@ msgstr "" "исправить. Невозможно также и создать для него\n" "данные для исправления ошибок. Жаль, что новости плохие.\n" -#: ds-marker.c:224 +#: ds-marker.c:277 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -349,7 +381,7 @@ msgstr "" "с помощью dvdisaster. Нельзя также и создать для него\n" "данные для исправления ошибок. Жаль, что новости плохие.\n" -#: ds-marker.c:247 +#: ds-marker.c:300 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -376,7 +408,7 @@ msgstr "" "исправить. Невозможно и создать для него\n" "данные для исправления ошибок. Жаль, что новости плохие.\n" -#: dvdisaster.c:39 main-window.c:139 +#: dvdisaster.c:39 main-window.c:144 #, c-format msgid "" "\n" @@ -394,32 +426,40 @@ msgstr "Метод RS01 не применяется для сравнения ф #. TRANSLATORS: #. This is a dummy entry which is supposed to translate into "ok". #. Please do not return anything else here. -#: dvdisaster.c:281 dvdisaster.c:293 dvdisaster.c:309 +#: dvdisaster.c:308 dvdisaster.c:320 dvdisaster.c:336 msgid "test phrase for verifying the locale installation" msgstr "ok" -#: dvdisaster.c:472 +#: dvdisaster.c:486 +msgid "-o/--ecc-target expects 'file' or 'image'" +msgstr "" + +#: dvdisaster.c:512 #, c-format msgid "--threads must be 1..%d\n" msgstr "--потоков должно быть 1..%d\n" -#: dvdisaster.c:486 +#: dvdisaster.c:526 msgid "--cache-size must at least be 8MB; 16MB or higher is recommended." msgstr "--cache-size должен быть не меньше 8МБ; рекомендуется 16МБ и больше." -#: dvdisaster.c:488 +#: dvdisaster.c:528 msgid "--cache-size maximum is 8192MB." msgstr "--cache-size максимальный размер буфера 8192МБ." -#: dvdisaster.c:504 +#: dvdisaster.c:544 msgid "Valid args for --driver: sg" msgstr "Правильные аргументы для --driver: sg" -#: dvdisaster.c:506 +#: dvdisaster.c:546 msgid "--driver is only supported on GNU/Linux" msgstr "только --driver поддерживается на GNU/Linux" -#: dvdisaster.c:614 +#: dvdisaster.c:593 +msgid "--prefetch-sectors must be in range 32...8096" +msgstr "" + +#: dvdisaster.c:652 #, c-format msgid "" "\n" @@ -430,12 +470,12 @@ msgstr "" "dvdisaster версия %s сборка %d\n" "\n" -#: dvdisaster.c:678 +#: dvdisaster.c:716 #, c-format msgid "?? illegal getopt return value %d\n" msgstr "?? неправильное возвращаемое значение getopt: %d\n" -#: dvdisaster.c:712 +#: dvdisaster.c:750 #, c-format msgid "" "dvdisaster is not properly installed.\n" @@ -447,7 +487,7 @@ msgstr "" #. TRANSLATORS: Program options like -r and --read are not to be translated #. to avoid confusion when discussing the program in international forums. -#: dvdisaster.c:876 +#: dvdisaster.c:910 msgid "" "\n" "Common usage examples:\n" @@ -471,7 +511,7 @@ msgstr "" " dvdisaster -u,--unlink # Удалить файлы .iso (по завершении других действий)\n" "\n" -#: dvdisaster.c:885 +#: dvdisaster.c:919 #, c-format msgid "" "Drive and file specification:\n" @@ -479,124 +519,204 @@ msgid "" " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" " -i,--image imagefile - name of image file (default: medium.iso)\n" " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +" -o,--ecc-target [file image] - where to put ecc data in RS03\n" msgstr "" -"Имена файлов и привода:\n" -" -d,--device устройство - читать с данного устройства (по умолчанию: %s)\n" -" -p,--prefix имя - имя файла .iso/.ecc (по умолчанию: medium.* )\n" -" -i,--image файл образа - имя файла образа (по умолчанию: medium.iso)\n" -" -e,--ecc ecc-файл - имя файла с ecc-данными (по умолчанию: medium.ecc)\n" -#: dvdisaster.c:893 -msgid "" -" -l,--list - list drives available under ASPI manager\n" -"\n" +#: dvdisaster.c:929 +msgid "Tweaking options (see manual before using!)\n" +msgstr "Параметры тонкой настройки (перед применением см. руководство!)\n" + +#: dvdisaster.c:930 +msgid " -a,--assume x,y,... - assume image is augmented with codec(s) x,y,...\n" msgstr "" -" -l,--list - список ASPI-приводов\n" -"\n" -#: dvdisaster.c:898 +#: dvdisaster.c:931 +msgid " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" +msgstr " -j,--jump n - переход на n секторов вперед после ошибки чтения (по умолчанию: 16)\n" + +#: dvdisaster.c:932 +msgid " -m n - list/select error correction methods (default: RS01)\n" +msgstr " -m n - просмотреть/выбрать методы исправления ошибок (по умолчанию: RS01)\n" + +#: dvdisaster.c:933 #, c-format msgid "" -"Tweaking options (see manual before using!)\n" -" -j,--jump n - jump n sectors forward after a read error (default: 16)\n" -" -m n - list/select error correction methods (default: RS01)\n" " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" " maximum error correction image size (in sectors)\n" -" -v,--verbose - more diagnostic messages\n" -" --adaptive-read - use optimized strategy for reading damaged media\n" -" --auto-suffix - automatically add .iso and .ecc file suffixes\n" -" --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" -" --dao - assume DAO disc; do not trim image end\n" -" --defective-dump d - directory for saving incomplete raw sectors\n" -" --eject - eject medium after successful read\n" -" --fill-unreadable n - fill unreadable sectors with byte n\n" -" --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" -" --internal-rereads n - drive may attempt n rereads before reporting an error\n" -" --query-size n - query drive/udf/ecc for image size (default: ecc)\n" -" --raw-mode n - mode for raw reading CD media (20 or 21)\n" -" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -" --read-medium n - read the whole medium up to n times\n" -" --read-raw - performs read in raw mode if possible\n" -" --speed-warning n - print warning if speed changes by more than n percent\n" -" --spinup-delay n - wait n seconds for drive to spin up\n" -" --split-files - split image into files <= 2GB\n" -"\n" msgstr "" -"Параметры тонкой настройки (перед применением см. руководство!)\n" -" -j,--jump n - переход на n секторов вперед после ошибки чтения (по умолчанию: 16)\n" -" -m n - просмотреть/выбрать методы исправления ошибок (по умолчанию: RS01)\n" " -n,--redundancy n%% - избыточность файла исправления ошибок (в процентах) или\n" " максимальный размер образа для исправления ошибок (в секторах)\n" -" -v,--verbose - больше диагностических сообщений\n" -" --adaptive-read - использование оптимизированной стратегии чтения поврежденных носителей\n" -" --auto-suffix - автоматически добавлять расширения имени файла .iso и .ecc\n" -" --cache-size n - размер буфера образа в МБ в режиме -c (по умолчанию: 32МБ)\n" -" --dao - считать, что диск в режиме DAO; не отрезать конец образа\n" -" --defective-dump d - каталог для сохранения незавершенных необработанных секторов\n" -" --eject - извлекать носитель после успешного чтения\n" -" --fill-unreadable n - заполнять нечитаемые сектора байтом n\n" -" --ignore-fatal-sense - продолжать чтение после возможной критической ошибки\n" -" --internal-rereads n - привод может делать n повторных чтений перед сообщением об ошибке\n" -" --query-size n - размер образа запрашивать в приводе/udf/ecc (по умолчанию: ecc)\n" -" --raw-mode n - режим для низкоуровневого чтения CD-носителей (20 или 21)\n" -" --read-attempts n-m - делается от n до m попыток чтения поврежденного сектора\n" -" --read-medium n - читать весь носитель до n раз\n" -" --read-raw - выполнять чтение в низкоуровневом режиме, если это возможно\n" -" --speed-warning n - выводить предупреждение, если скорость изменяется больше, чем на n процентов\n" -" --spinup-delay n - выждать n секунд, пока привод не раскрутится\n" -" --split-files - разбить образ на файлы <= 2ГБ\n" -"\n" -#: dvdisaster.c:924 +#: dvdisaster.c:935 +msgid " -v,--verbose - more diagnostic messages\n" +msgstr " -v,--verbose - больше диагностических сообщений\n" + +#: dvdisaster.c:936 +msgid " -x,--threads n - use n threads for en-/decoding (if supported by codec)\n" +msgstr "" + +#: dvdisaster.c:937 +msgid " --adaptive-read - use optimized strategy for reading damaged media\n" +msgstr " --adaptive-read - использование оптимизированной стратегии чтения поврежденных носителей\n" + +#: dvdisaster.c:938 +msgid " --auto-suffix - automatically add .iso and .ecc file suffixes\n" +msgstr " --auto-suffix - автоматически добавлять расширения имени файла .iso и .ecc\n" + +#: dvdisaster.c:939 +msgid " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" +msgstr " --cache-size n - размер буфера образа в МБ в режиме -c (по умолчанию: 32МБ)\n" + +#: dvdisaster.c:940 +msgid " --dao - assume DAO disc; do not trim image end\n" +msgstr " --dao - считать, что диск в режиме DAO; не отрезать конец образа\n" + +#: dvdisaster.c:941 +msgid " --defective-dump d - directory for saving incomplete raw sectors\n" +msgstr " --defective-dump d - каталог для сохранения незавершенных необработанных секторов\n" + +#: dvdisaster.c:943 +msgid " --driver=sg - use alternative sg driver (see man page!)\n" +msgstr "" + +#: dvdisaster.c:945 +msgid " --eject - eject medium after successful read\n" +msgstr " --eject - извлекать носитель после успешного чтения\n" + +#: dvdisaster.c:946 +msgid " --fill-unreadable n - fill unreadable sectors with byte n\n" +msgstr " --fill-unreadable n - заполнять нечитаемые сектора байтом n\n" + +#: dvdisaster.c:947 +msgid " --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" +msgstr " --ignore-fatal-sense - продолжать чтение после возможной критической ошибки\n" + +#: dvdisaster.c:948 +msgid " --internal-rereads n - drive may attempt n rereads before reporting an error\n" +msgstr " --internal-rereads n - привод может делать n повторных чтений перед сообщением об ошибке\n" + +#: dvdisaster.c:949 +msgid " --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n" +msgstr "" + +#: dvdisaster.c:950 +msgid " --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMB)\n" +msgstr "" + +#: dvdisaster.c:951 +msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" +msgstr " --raw-mode n - режим для низкоуровневого чтения CD-носителей (20 или 21)\n" + +#: dvdisaster.c:952 +msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" +msgstr " --read-attempts n-m - делается от n до m попыток чтения поврежденного сектора\n" + +#: dvdisaster.c:953 +msgid " --read-medium n - read the whole medium up to n times\n" +msgstr " --read-medium n - читать весь носитель до n раз\n" + +#: dvdisaster.c:954 +msgid " --read-raw - performs read in raw mode if possible\n" +msgstr " --read-raw - выполнять чтение в низкоуровневом режиме, если это возможно\n" + +#: dvdisaster.c:955 +msgid " --speed-warning n - print warning if speed changes by more than n percent\n" +msgstr " --speed-warning n - выводить предупреждение, если скорость изменяется больше, чем на n процентов\n" + +#: dvdisaster.c:956 +msgid " --spinup-delay n - wait n seconds for drive to spin up\n" +msgstr " --spinup-delay n - выждать n секунд, пока привод не раскрутится\n" + +#: dvdisaster.c:960 +msgid "Debugging options (purposefully undocumented and possibly harmful)\n" +msgstr "Параметры отладки (намеренно недокументированные и, возможно, опасные)\n" + +#: dvdisaster.c:961 +msgid " --debug - enables the following options\n" +msgstr " --debug - включает следующие параметры\n" + +#: dvdisaster.c:962 +msgid " --byteset s,i,b - set byte i in sector s to b\n" +msgstr " --byteset s,i,b - установить байт i в секторе s в значение b\n" + +#: dvdisaster.c:963 +msgid " --cdump - creates C #include file dumps instead of hexdumps\n" +msgstr " --cdump - создает дампы в виде C #include-файлов вместо шестнадцатеричных дампов\n" + +#: dvdisaster.c:964 +msgid " --compare-images a,b - compare sectors in images a and b\n" +msgstr " --compare-images a,b - сравнить сектора в образах a и b\n" + +#: dvdisaster.c:965 +msgid " --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" +msgstr " --copy-sector a,n,b,m - скопировать сектор n из образа a в сектор m образа b\n" + +#: dvdisaster.c:966 +msgid " --erase sector - erase the given sector\n" +msgstr " --erase sector - стереть данный сектор\n" + +#: dvdisaster.c:967 +msgid " --erase n-m - erase sectors n - m, inclusively\n" +msgstr " --erase n-m - стереть секторы n - m включительно\n" + +#: dvdisaster.c:968 +msgid " --marked-image n - create image with n marked random sectors\n" +msgstr " --marked-image n - создать образ с n помеченными случайными секторами\n" + +#: dvdisaster.c:969 +msgid " --merge-images a,b merge image a with b (a receives sectors from b)\n" +msgstr " --merge-images a,b объединить образ a с образом b (a получает секторы из b)\n" + +#: dvdisaster.c:970 +msgid " --random-errors r,e seed image with (correctable) random errors\n" +msgstr " --random-errors r,e заполнить образ (исправимыми) случайными ошибками\n" + +#: dvdisaster.c:971 +msgid " --random-image n - create image with n sectors of random numbers\n" +msgstr " --random-image n - создать образ с n секторами со случайными номерами\n" + +#: dvdisaster.c:972 +msgid " --random-seed n - random seed for built-in random number generator\n" +msgstr " --random-seed n - начальное значение для встроенного генератора случайных чисел\n" + +#: dvdisaster.c:973 +msgid " --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" +msgstr " --raw-sector n - показывает шестнадцатиричный дамп данного необработанного сектора с носителя в приводе\n" + +#: dvdisaster.c:974 +msgid " --read-sector n - shows hexdump of the given sector from medium in drive\n" +msgstr " --read-sector n - показывает шестнадцатиричный дамп данного сектора с носителя в приводе\n" + +#: dvdisaster.c:975 +msgid " --screen-shot - useful for generating screen shots\n" +msgstr " --screen-shot - useful for generating screen shots\n" + +#: dvdisaster.c:976 +msgid " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" +msgstr " --send-cdb arg - выполнить cdb на приводе; при ошибке система снимается\n" + +#: dvdisaster.c:977 +msgid " --show-sector n - shows hexdump of the given sector in an image file\n" +msgstr " --show-sector n - показывает содержимое данного сектора в шестнадцатеричном виде\n" + +#: dvdisaster.c:978 #, c-format +msgid " --sim-defects n - simulate n%% defective sectors on medium\n" +msgstr " --sim-defects n - смоделировать n%% поврежденных секторов на носителе\n" + +#: dvdisaster.c:979 +msgid " --truncate n - truncates image to n sectors\n" +msgstr " --truncate n - обрезает образ до n секторов\n" + +#: dvdisaster.c:980 msgid "" -"Debugging options (purposefully undocumented and possibly harmful)\n" -" --debug - enables the following options\n" -" --byteset s,i,b - set byte i in sector s to b\n" -" --cdump - creates C #include file dumps instead of hexdumps\n" -" --compare-images a,b - compare sectors in images a and b\n" -" --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" -" --erase sector - erase the given sector\n" -" --erase n-m - erase sectors n - m, inclusively\n" -" --marked-image n - create image with n marked random sectors\n" -" --merge-images a,b merge image a with b (a receives sectors from b)\n" -" --random-errors r,e seed image with (correctable) random errors\n" -" --random-image n - create image with n sectors of random numbers\n" -" --random-seed n - random seed for built-in random number generator\n" -" --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" -" --read-sector n - shows hexdump of the given sector from medium in drive\n" -" --screen-shot - useful for generating screen shots\n" -" --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" -" --show-sector n - shows hexdump of the given sector in an image file\n" -" --sim-defects n - simulate n%% defective sectors on medium\n" -" --truncate n - truncates image to n sectors\n" " --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" "\n" msgstr "" -"Параметры отладки (намеренно недокументированные и, возможно, опасные)\n" -" --debug - включает следующие параметры\n" -" --byteset s,i,b - установить байт i в секторе s в значение b\n" -" --cdump - создает дампы в виде файлов C #include вместо шестнадцатеричных дампов\n" -" --compare-images a,b - сравнивать секторы в образах a и b\n" -" --copy-sector a,n,b,m - копировать сектор n из образа в сектор m в образе b\n" -" --erase sector - стереть данный сектор\n" -" --erase n-m - стереть секторы n - m включительно\n" -" --marked-image n - создать образ с n помеченными случайными секторами\n" -" --merge-images a,b объединить образ a с образом b (a получает секторы из b)\n" -" --random-errors r,e заполнить образ (исправимыми) случайными ошибками\n" -" --random-image n - создать образ с n секторами со случайными номерами\n" -" --random-seed n - начальное значение для встроенного генератора случайных чисел\n" -" --raw-sector n - показывает шестнадцатиричный дамп данного необработанного сектора с носителя в приводе\n" -" --read-sector n - показывает шестнадцатиричный дамп данного сектора с носителя в приводе\n" -" --screen-shot - используется для создания снимков с экрана\n" -" --send-cdb arg - выполняет cdb на приводе; снимает систему при неправильном использовании\n" -" --show-sector n - показывает содержимое данного сектора образа в шестнадцатеричном виде\n" -" --sim-defects n - имитировать n%% дефектных секторов на носителе\n" -" --truncate n - обрезает образ до n секторов\n" -" --zero-unreadable - заменять маркеры \"нечитаемый сектор\" нулями\n" +" --zero-unreadable - заменить маркеры \"нечитаемый сектор\" нулями\n" "\n" -#: dvdisaster.c:948 +#: dvdisaster.c:984 msgid "" "NOTE: This is the Windows console version of dvdisaster.\n" "The version providing a graphical user interface is called\n" @@ -608,7 +728,7 @@ msgstr "" "(также содержится в этом установочном пакете).\n" "\n" -#: dvdisaster.c:969 +#: dvdisaster.c:1005 msgid "Optical drive 52X FW 1.02" msgstr "Оптический привод 52X FW 1.02" @@ -628,6 +748,22 @@ msgstr "Расширенный образ (RS02)" msgid "Reed-Solomon method with improved tolerance for defective ecc data" msgstr "Метод Рида-Соломона с повышенной устойчивостью к поврежденным ecc-данным" +#: ecc-rs03.c:39 +msgid "Multithreaded RS codec (RS03)" +msgstr "Многопоточный кодек РС (RS03)" + +#: ecc-rs03.c:40 +msgid "Multithreaded Reed-Solomon codec for error correction files and augmented images" +msgstr "Многопоточный кодек Рида-Соломона для файлов коррекции ошибок и расширенных образов" + +#: ecc-rs03s.c:39 +msgid "Single threaded RS codec (RSS3)" +msgstr "" + +#: ecc-rs03s.c:40 +msgid "Single threaded Reed-Solomon codec for error correction files and augmented images" +msgstr "Однопоточный кодек Рида-Соломона для файлов коррекции ошибок и расширенных образов" + #: file.c:39 #, c-format msgid "" @@ -641,7 +777,7 @@ msgstr "" msgid ": not present.\n" msgstr ": отсутствует.\n" -#: file.c:49 +#: file.c:49 rs03-common.c:175 #, c-format msgid "Image file %s not present." msgstr "Файл образа %s отсутствует." @@ -678,7 +814,7 @@ msgstr "" "Не удается прочитать ecc-заголовок:\n" "%s" -#: file.c:186 rs01-create.c:958 +#: file.c:186 rs01-create.c:971 #, c-format msgid "" "Error closing error correction file:\n" @@ -763,15 +899,15 @@ msgstr "О программе dvdisaster" #: help-dialogs.c:709 msgid "" -"Modified version Copyright 2009 (please fill in - [directions])\n" -"Copyright 2004-2009 Carsten Gnoerlich" +"Modified version Copyright 2010 (please fill in - [directions])\n" +"Copyright 2004-2010 Carsten Gnoerlich" msgstr "" -"Измененнная версия Copyright 2009 (пожалуйста, заполните - [инструкции])\n" -"Copyright 2004-2009 Carsten Gnoerlich" +"Измененнная версия Copyright 2010 (пожалуйста, заполните - [инструкции])\n" +"Copyright 2004-2010 Carsten Gnoerlich" #: help-dialogs.c:713 -msgid "Copyright 2004-2009 Carsten Gnoerlich" -msgstr "Copyright 2004-2009 Carsten Gnoerlich" +msgid "Copyright 2004-2010 Carsten Gnoerlich" +msgstr "Copyright 2004-2010 Carsten Gnoerlich" #: help-dialogs.c:720 msgid "" @@ -837,7 +973,7 @@ msgstr "" "\n" "Порт на NetBSD: Sergey Svishchev <svs@ropnet.ru>" -#: large-io.c:499 +#: large-io.c:250 #, c-format msgid "" "Error while writing the file:\n" @@ -852,84 +988,103 @@ msgstr "" "\n" "Вы можете повторить эту операцию после того, как освободите место." -#: main-window.c:70 +#: main-window.c:57 #, c-format msgid "dvdisaster-%s log\n" msgstr "Журнал dvdisaster-%s\n" -#: main-window.c:241 +#: main-window.c:87 +msgid "" +"The .iso image and error correction file\n" +"must not be the same file!\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" + +#: main-window.c:97 +msgid "" +"The error correction file type must not be \".iso\".\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" + +#: main-window.c:246 msgid "button|Read" msgstr "Читать" -#: main-window.c:244 +#: main-window.c:249 msgid "tooltip|Read Image" msgstr "Читать образ" -#: main-window.c:244 +#: main-window.c:249 msgid "Reads a CD/DVD image into a file (or tries to complete an existing image file)." msgstr "Считывание образа CD/DVD в файл (или попытка завершить существующий файл образа)." -#: main-window.c:258 +#: main-window.c:263 msgid "button|Create" msgstr "Создать" -#: main-window.c:261 +#: main-window.c:266 msgid "tooltip|Create error correction data" msgstr "Создать данные для исправления ошибок" -#: main-window.c:261 +#: main-window.c:266 msgid "Creates error correction data. Requires an image file." msgstr "Создание данных для исправления ошибок. Требуется файл образа." -#: main-window.c:265 +#: main-window.c:270 msgid "button|Scan" msgstr "Проверить" -#: main-window.c:268 +#: main-window.c:273 msgid "tooltip|Scan medium" msgstr "Проверить носитель" -#: main-window.c:268 +#: main-window.c:273 msgid "Scans medium for unreadable sectors." msgstr "Проверяет носитель на нечитаемые секторы." -#: main-window.c:272 +#: main-window.c:277 msgid "button|Fix" msgstr "Исправить" -#: main-window.c:275 +#: main-window.c:280 msgid "tooltip|Repair image" msgstr "Исправить образ" -#: main-window.c:275 +#: main-window.c:280 msgid "Repairs an image. Requires an image file and error correction data." msgstr "Исправление образа. Требуется файл образа и данные для исправления ошибок." -#: main-window.c:279 +#: main-window.c:284 msgid "button|Verify" msgstr "Сравнить" -#: main-window.c:282 +#: main-window.c:287 msgid "tooltip|Consistency check" msgstr "Проверка целостности" -#: main-window.c:282 +#: main-window.c:287 msgid "Tests consistency of error correction data and image file." msgstr "Проверяет соответствие данных для исправления ошибок и файла образа." -#: main-window.c:286 +#: main-window.c:291 msgid "button|Stop" msgstr "Прервать" -#: main-window.c:289 +#: main-window.c:294 msgid "tooltip|Abort action" msgstr "Прервать работу" -#: main-window.c:289 +#: main-window.c:294 msgid "Aborts an ongoing action." msgstr "Прерывание текущей работы." -#: main-window.c:418 +#: main-window.c:423 #, c-format msgid "" "dvdisaster is not properly installed\n" @@ -940,15 +1095,15 @@ msgstr "" "\n" "Просьба выполнить программу установки (%s) еще раз.\n" -#: main-window.c:502 +#: main-window.c:507 msgid "tooltip|Protocol for current action" msgstr "Журнал текущей работы" -#: main-window.c:503 +#: main-window.c:508 msgid "Displays additional information created during the current or last action." msgstr "Отображение дополнительной информации о текущей или последней работе." -#: main-window.c:512 +#: main-window.c:517 msgid "View log" msgstr "Просмотреть журнал" @@ -968,7 +1123,7 @@ msgstr "расширяемый" msgid "finalized" msgstr "законченный" -#: medium-info.c:89 scsi-layer.c:83 +#: medium-info.c:89 scsi-layer.c:97 msgid "unknown" msgstr "неизвестно" @@ -980,8 +1135,8 @@ msgstr "неполный" msgid "damaged" msgstr "поврежденный" -#: medium-info.c:95 rs02-verify.c:669 rs02-verify.c:870 rs02-verify.c:871 -#: rs02-verify.c:872 +#: medium-info.c:95 rs02-verify.c:674 rs02-verify.c:880 rs02-verify.c:881 +#: rs02-verify.c:882 rs03-verify.c:1270 rs03-verify.c:1272 rs03-verify.c:1273 msgid "complete" msgstr "завершена" @@ -1059,7 +1214,7 @@ msgstr "Тип носителя:" msgid "Book type:" msgstr "Формат (book type):" -#: medium-info.c:308 scsi-layer.c:2645 +#: medium-info.c:308 scsi-layer.c:2662 msgid "Manuf.-ID:" msgstr "Изгот.-ID:" @@ -1289,32 +1444,27 @@ msgstr "" "Список имеющихся методов:\n" "\n" -#: method.c:288 method.c:289 +#: method.c:133 method.c:134 +msgid "" +"\n" +"Error correction file type unknown.\n" +msgstr "" + +#: method.c:163 method.c:164 +msgid "" +"\n" +"No error correction data recognized in image.\n" +msgstr "" + +#: method.c:174 method.c:175 #, c-format msgid "Image file %s not present.\n" msgstr "Файл образа %s отсутствует.\n" -#: method.c:313 method.c:318 -#, c-format -msgid "" -"\n" -"Unknown method %s.\n" -msgstr "" -"\n" -"Неизвестный метод %s.\n" - -#: method.c:314 method.c:319 -msgid "" -"\n" -"Neither ecc file nor ecc data in image found.\n" -msgstr "" -"\n" -"Не удалось обнаружить ни ecc-файл, ни ecc-данные в образе.\n" - #: misc.c:205 #, c-format -msgid "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnoerlich.\n" -msgstr "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnoerlich.\n" +msgid "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnoerlich.\n" +msgstr "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnoerlich.\n" #. TRANSLATORS: Excluding all kinds of warranty might be harmful under your #. legislature. If in doubt, just translate the following like "This is free @@ -1334,11 +1484,11 @@ msgstr "" "\n" "Русский перевод Игоря Горбунова \n" -#: misc.c:432 +#: misc.c:448 msgid "Warning" msgstr "Внимание" -#: misc.c:495 misc.c:501 +#: misc.c:511 misc.c:517 msgid "" "\n" "*\n" @@ -1350,107 +1500,83 @@ msgstr "" "* dvdisaster - невозможно продолжить:\n" "*\n" -#: preferences.c:444 +#: misc.c:1135 +msgid "Do not ask again" +msgstr "" + +#: misc.c:1156 +#, c-format +msgid "" +"Image file already exists and does not match the medium:\n" +"\n" +"%s\n" +"\n" +"The existing image file will be deleted." +msgstr "" + +#: misc.c:1175 +#, c-format +msgid "" +"The error correction file is already present:\n" +"\n" +"%s\n" +"\n" +"Overwrite it?" +msgstr "" + +#: preferences.c:448 msgid "Switched to the linear reading strategy." msgstr "Переход на стратегию линейного чтения." -#: preferences.c:812 +#: preferences.c:828 msgid "Color selection" msgstr "Выбор цвета" -#: preferences.c:1069 +#: preferences.c:1047 msgid "Disabled automatic error correction file generation." msgstr "Выключено автоматическое создание файла для исправления ошибок." -#: preferences.c:1232 preferences.c:2304 preferences.c:2313 +#: preferences.c:1210 preferences.c:2295 preferences.c:2304 msgid "Raw sector caching" msgstr "Хранение необработанных секторов" -#: preferences.c:1304 +#: preferences.c:1282 msgid "Log file" msgstr "Файл журнала" -#: preferences.c:1326 +#: preferences.c:1304 msgid "Delete the log file?" msgstr "Удалить файл журнала?" -#: preferences.c:1419 +#: preferences.c:1398 msgid "Preferences" msgstr "Настройки" -#: preferences.c:1449 +#: preferences.c:1428 rs03-preferences.c:486 msgid "Image" msgstr "Образ" -#: preferences.c:1453 -msgid "Image size" -msgstr "Размер образа" - -#: preferences.c:1460 -msgid "Image size determination" -msgstr "Определение размера образа" - -#: preferences.c:1460 -msgid "Get Image size from: " -msgstr "Получить размер образа из: " - -#: preferences.c:1472 preferences.c:1788 -msgid "Drive" -msgstr "Привод" - -#: preferences.c:1478 -msgid "ISO/UDF" -msgstr "ISO/UDF" - -#: preferences.c:1484 -msgid "ECC/RS02" -msgstr "ECC/RS02" - -#: preferences.c:1508 -msgid "" -"Image size determination\n" -"\n" -"Use ECC/RS02 for reading images augmented with error correction data; else pick ISO/UDF.\n" -"\n" -"ECC/RS02: The Image size is determined from the error correction data. Reading RS02 augmented images requires this option; otherwise the images may be incomplete. However if the medium does not contain error correction data, the start of the reading operation may be delayed significantly.\n" -"\n" -"ISO/UDF: The image size is determined from the ISO/UDF file system.\n" -"Caution: This is only suitable for working with error correction files. Images containing RS02 error correction information may be truncated.\n" -"\n" -"Drive: The image size reported by the drive will be used. As this information is typically wrong for DVD-RW/+RW/-RAM media this option is only present for backwards compatibility with older dvdisaster versions." -msgstr "" -"Определение размера образа\n" -"\n" -"Используйте ECC/RS02 для чтения образов, содержащих данные для исправления ошибок; в противном случае выбирайте ISO/UDF.\n" -"\n" -"ECC/RS02: Размер образа определяется из данных для исправления ошибок. Чтение образов, содержащих RS02, требует выбора этого варианта; иначе образы могут быть неполными. Однако, если носитель не содержит данных для исправления ошибок, начало операции чтения может быть существенно задержано.\n" -"\n" -"ISO/UDF: Размер образа определяется из файловой системы ISO/UDF.\n" -"Предупреждение: Это подходит только для работы с файлами для исправления ошибок. Образы, содержащие информацию для исправления ошибок по RS02, могут быть обрезаны.\n" -"\n" -"Привод: Будет использоваться размер образа, сообщаемый приводом. Так как эта информация обычно неправильная для носителей DVD-RW/+RW/-RAM, то этот вариант присутствует только для обратной совместимости с прежними версиями dvdisaster." - -#: preferences.c:1527 +#: preferences.c:1432 msgid "Image creation" msgstr "Создание образа" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy" msgstr "Стратегия чтения" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy: " msgstr "Стратегия чтения: " -#: preferences.c:1550 +#: preferences.c:1455 msgid "Linear" msgstr "Линейная" -#: preferences.c:1558 +#: preferences.c:1463 msgid "Adaptive (for defective media)" msgstr "Адаптивная (для поврежденного носителя)" -#: preferences.c:1570 +#: preferences.c:1475 msgid "" "Reading strategy\n" "\n" @@ -1476,19 +1602,19 @@ msgstr "" "\n" "Применение адаптивной стратегии без данных для исправления ошибок возможно, но в данном случае рекомендуется использовать линейное чтение." -#: preferences.c:1582 +#: preferences.c:1487 msgid "Reading range" msgstr "Диапазон чтения" -#: preferences.c:1582 +#: preferences.c:1487 msgid "Read/Scan from sector" msgstr "Читать/Проверять с сектора" -#: preferences.c:1607 +#: preferences.c:1512 msgid "to sector" msgstr "по сектор" -#: preferences.c:1625 +#: preferences.c:1530 msgid "" "Reading range\n" "\n" @@ -1506,19 +1632,61 @@ msgstr "" "\n" "Эти настройки действуют только в текущей сессии и не будут сохранены." -#: preferences.c:1635 +#: preferences.c:1540 +msgid "Error correction data recognization" +msgstr "" + +#: preferences.c:1549 +msgid "Exhaustive RS02 header search" +msgstr "" + +#: preferences.c:1549 +msgid "Perform exhaustive search for RS02 headers" +msgstr "" + +#: preferences.c:1569 +msgid "" +"Exhaustive RS02 header search\n" +"\n" +"When this setting is off only a quick check for RS02 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS02.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS02 data, but is not being recognized as such. Searching for the RS02 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS02 data. Otherwise you will waste a lot of time searching for the RS02 signatures and increase wear on the drive." +msgstr "" + +#: preferences.c:1588 +msgid "Recover RS03 signatures" +msgstr "" + +#: preferences.c:1588 +msgid "Find and recover RS03 signatures" +msgstr "" + +#: preferences.c:1608 +msgid "" +"Exhaustive RS03 header search\n" +"\n" +"When this setting is off only a quick check for RS03 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS03.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS03 data, but is not being recognized as such. Searching for the RS03 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS03 data. Otherwise you will waste a lot of time searching for the RS03 signatures and increase wear on the drive." +msgstr "" + +#: preferences.c:1627 msgid "Image properties" msgstr "Свойства образа" -#: preferences.c:1644 +#: preferences.c:1636 msgid "DAO mode" msgstr "Режим DAO" -#: preferences.c:1644 +#: preferences.c:1636 msgid "Assume image to be written in DAO mode (don't truncate)" msgstr "Образ записывать в режиме DAO (не урезать)" -#: preferences.c:1664 +#: preferences.c:1656 msgid "" "Assume DAO mode\n" "\n" @@ -1536,19 +1704,19 @@ msgstr "" "\n" "Совет: Чтобы избежать этих проблем, рекомендуется использовать режим \"DAO / Диск целиком\" (называемый также иногда \"SAO / Сессия целиком\") для записи односессионного носителя." -#: preferences.c:1680 +#: preferences.c:1671 msgid "Image format" msgstr "Формат образа" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Missing sector tags" msgstr "Теги недостающего сектора" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Use new style missing sector tags (Warning: compatibility issues!)" msgstr "Использовать теги нового стиля для недостающих секторов (Предупреждение: проблемы совместимости!)" -#: preferences.c:1709 +#: preferences.c:1700 msgid "" "Missing sector tagging\n" "\n" @@ -1562,15 +1730,15 @@ msgstr "" "Однако только dvdisaster 0.72 и выше будет распознавать эти новые теги. НЕЛЬЗЯ обрабатывать полученные образы старыми версиями dvdisaster, поскольку в этих образах они не заметят отсутствующих секторов.\n" "Примечание: dvdisaster >= 0.72 при чтении образов будет автоматически распознавать оба формата тегов; этот параметр влияет только на создание новых образов." -#: preferences.c:1728 +#: preferences.c:1719 msgid "Filling of unreadable sectors" msgstr "Заполнение нечитаемых секторов" -#: preferences.c:1729 +#: preferences.c:1720 msgid "Fill unreadable sectors with byte:" msgstr "Заполнять нечитаемые секторы байтом:" -#: preferences.c:1768 +#: preferences.c:1759 msgid "" "Filling of unreadable sectors\n" "\n" @@ -1582,27 +1750,31 @@ msgstr "" "dvdisaster помечает нечитаемые сектора, заполняя их специальной комбинацией, которая очень маловероятна для неповрежденного носителя.\n" "В других программах восстановления данных принято заполнять нечитаемые сектора определенной байтовой величиной. Для обеспечения взаимодействия с такими программами можно указать байтовую величину, которую они используют:\n" -#: preferences.c:1777 +#: preferences.c:1768 msgid "0xb0 (176 decimal): for compatibility with h2cdimage published by \"c't\", a German periodical.\n" msgstr "0xb0 (176 десятичное): для совместимости с h2cdimage, опубликованной немецким журналом \"c't\".\n" -#: preferences.c:1781 +#: preferences.c:1772 msgid "Note: Using zero filling (0x00, decimal 0) is highly discouraged. Most media contain regular zero filled sectors which can not be told apart from unreadable sectors if zero filling is used." msgstr "Примечание: Заполнение нулями (0x00, десятичное 0) крайне не рекомендуется. Большинство носителей содержат нормальные сектора, заполненные нулями, которые невозможно отличить от нечитаемых секторов, если пользоваться нулевым заполнением." -#: preferences.c:1792 preferences.c:1795 +#: preferences.c:1779 +msgid "Drive" +msgstr "Привод" + +#: preferences.c:1783 preferences.c:1786 msgid "Drive initialisation" msgstr "Подготовка привода" -#: preferences.c:1796 +#: preferences.c:1787 msgid "Wait" msgstr "Ждать" -#: preferences.c:1799 +#: preferences.c:1790 msgid "seconds for drive to spin up" msgstr "секунд для раскручивания привода" -#: preferences.c:1828 +#: preferences.c:1819 msgid "" "Drive initialisation\n" "\n" @@ -1612,23 +1784,23 @@ msgstr "" "\n" "Ожидает заданное количество секунд, чтобы дать приводу раскрутиться. Это позволяет избежать скачков скорости в начале кривой чтения." -#: preferences.c:1834 +#: preferences.c:1825 msgid "Raw reading parameters" msgstr "Параметры низкоуровневого чтения" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode" msgstr "Режим низкоуровневого чтения" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode: " msgstr "Режим низкоуровневого чтения:" -#: preferences.c:1874 +#: preferences.c:1865 msgid "other:" msgstr "другой:" -#: preferences.c:1908 +#: preferences.c:1899 msgid "" "Raw reading mode\n" "\n" @@ -1652,19 +1824,19 @@ msgstr "" "\n" "0x01 Некоторые приводы делают то, что нужно, когда им передается это значение, хотя это и не имеет смысла в соответствии со спецификациями на SCSI. Попробуйте ввести это значение в поле \"другой\", если другие варианты не работают. Дополнительную информацию по \"mode page 01h\" можно найти в главе 6 спецификации на MMC3 или на более позднюю модификацию MMC." -#: preferences.c:1934 +#: preferences.c:1925 msgid "Internal read attempts" msgstr "Попытки внутреннего чтения" -#: preferences.c:1935 +#: preferences.c:1926 msgid "Reread defective sectors" msgstr "Перечитать поврежденные сектора" -#: preferences.c:1938 +#: preferences.c:1929 msgid "times" msgstr "раз" -#: preferences.c:1968 +#: preferences.c:1959 msgid "" "Internal read attempts\n" "\n" @@ -1680,15 +1852,15 @@ msgstr "" "Снижение этого значение до 0 или 1 может ускорить обработку поврежденного носителя и снизить износ привода; однако, большинство приводов просто проигнорируют то, что Вы введете здесь.\n" "Используйте значение -1, чтобы оставить привод при его стандартных настройках." -#: preferences.c:1981 preferences.c:1984 +#: preferences.c:1972 preferences.c:1975 msgid "Fatal error handling" msgstr "Обработка неустранимых ошибок" -#: preferences.c:1985 +#: preferences.c:1976 msgid "Ignore fatal errors" msgstr "Игнорировать неустранимые ошибки" -#: preferences.c:2011 +#: preferences.c:2002 msgid "" "Fatal error handling\n" "\n" @@ -1700,15 +1872,15 @@ msgstr "" "По умолчанию dvdisaster прекращает чтение, когда привод сообщает о неустранимой ошибке. Это предотвращает дальнейшие бесплодные попытки чтения и возможное повреждение привода.\n" "Однако некоторые приводы выдают необоснованные сообщения о неустранимых ошибках. Для таких приводов игнорирование неустранимых ошибок может быть необходимо для выполнения непрерывного чтения поврежденного носителя." -#: preferences.c:2021 +#: preferences.c:2012 msgid "Media ejection" msgstr "Извлечь носитель" -#: preferences.c:2024 preferences.c:2025 +#: preferences.c:2015 preferences.c:2016 msgid "Eject medium after sucessful read" msgstr "Извлечь носитель после успешного чтения" -#: preferences.c:2051 +#: preferences.c:2042 msgid "" "Medium ejection\n" "\n" @@ -1722,23 +1894,23 @@ msgstr "" "\n" "Имейте в виду, что рабочая среда может не давать другим приложениям извлекать носитель. В этом случае извлекайте носитель с помощью пользовательского интерфейса рабочего стола." -#: preferences.c:2061 +#: preferences.c:2052 msgid "Read attempts" msgstr "Попытки чтения" -#: preferences.c:2065 +#: preferences.c:2056 msgid "Sector read errors" msgstr "Ошибки чтения сектора" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Raw reading" msgstr "Низкоуровневое чтение" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Read and analyze raw sectors" msgstr "Чтение и анализ необработанных секторов" -#: preferences.c:2095 +#: preferences.c:2086 msgid "" "Raw reading (affects CD media only)\n" "\n" @@ -1766,16 +1938,16 @@ msgstr "" "- линейное чтение настроено на пропуск 0 секторов после ошибки чтения.\n" "Для кэширования необработанных секторов требуется еще и активировать соответствующий параметр." -#: preferences.c:2112 +#: preferences.c:2103 msgid "Minimum number of reading attempts" msgstr "Минимальное число попыток чтения" -#: preferences.c:2114 preferences.c:2115 preferences.c:2120 preferences.c:2121 +#: preferences.c:2105 preferences.c:2106 preferences.c:2111 preferences.c:2112 #, c-format msgid "Min. %d reading attempts per sector" msgstr "Мин. %d попыток чтения на сектор" -#: preferences.c:2142 +#: preferences.c:2133 msgid "" "Minimum number of reading attempts\n" "\n" @@ -1789,16 +1961,16 @@ msgstr "" "\n" "Увеличение числа попыток чтения может улучшить восстановление данных на носителях, находящихся на границе читаемости, а также увеличит время обработки и механический износ привода." -#: preferences.c:2151 +#: preferences.c:2142 msgid "Maximum number of reading attempts" msgstr "Максимальное число попыток чтения" -#: preferences.c:2153 preferences.c:2154 preferences.c:2159 preferences.c:2160 +#: preferences.c:2144 preferences.c:2145 preferences.c:2150 preferences.c:2151 #, c-format msgid "Max. %d reading attempts per sector" msgstr "Макс. %d попыток чтения на сектор" -#: preferences.c:2181 +#: preferences.c:2172 msgid "" "Maximum number of reading attempts\n" "\n" @@ -1812,21 +1984,21 @@ msgstr "" "\n" "Решение сделать больше попыток чтения зависит от качества собранных к данному моменту данных, что, в свою очередь, зависит от возможностей привода CD/DVD и операционной системы. Поэтому, в зависимости от Вашей конфигурации, dvdisaster может использовать или не использовать максимальное значение." -#: preferences.c:2195 +#: preferences.c:2186 msgid "Treatment of unreadable areas" msgstr "Обработка нечитаемых обласетй" -#: preferences.c:2197 preferences.c:2199 preferences.c:2200 preferences.c:2208 +#: preferences.c:2188 preferences.c:2190 preferences.c:2191 preferences.c:2199 #, c-format msgid "Skip %d sectors after read error" msgstr "Пропустить %d секторов после ошибки чтения" -#: preferences.c:2198 preferences.c:2203 preferences.c:2204 preferences.c:2209 +#: preferences.c:2189 preferences.c:2194 preferences.c:2195 preferences.c:2200 #, c-format msgid "Stop reading when unreadable intervals < %d" msgstr "Прекращать чтение, когда нечитаемые интервалы < %d" -#: preferences.c:2235 +#: preferences.c:2226 msgid "" "Treatment of unreadable areas\n" "\n" @@ -1840,15 +2012,15 @@ msgstr "" "\n" "Как это влияет на линейную стратегию чтения:" -#: preferences.c:2242 +#: preferences.c:2233 msgid "Skipping a large number of sectors (e.g. 1024) gives a quick overview of damaged areas, but will usually not collect enough data for repairing the image." msgstr "Пропуск большого числа секторов (например, 1024) дает быстрый обзор поврежденных областей, но обычно не собирает достаточно данных для исправления образа." -#: preferences.c:2246 +#: preferences.c:2237 msgid "Smaller values like 16, 32 or 64 are a good trade-off: The processing time will beconsiderably shortened, but still enough data for repairing the image is collected.\n" msgstr "Меньшие значения, такие как 16, 32 или 64, являются хорошим компромиссом: время обработки значительно сокращается, но собирается еще достаточно данных для исправления образа.\n" -#: preferences.c:2250 +#: preferences.c:2241 msgid "" "The adaptive reading strategy uses this setting only if no error correction data is available. In that case the reading process will stop when no unread areas larger than the selected size remain. Values smaller than 128 are not recommended as they cause the drive to carry out lots of laser head repositioning during the final phase of the reading process. If adaptive reading with a setting of 128 is not sufficient, try reading the remaining sectors with an additional linear reading pass.\n" "\n" @@ -1858,19 +2030,19 @@ msgstr "" "\n" "На DVD- и BD-носителях ошибки чтения по техническим причинам обычно охватывают по меньшей мере 16 секторов. Поэтому для DVD и BD не рекомендуется выбор значения меньше 16." -#: preferences.c:2263 preferences.c:2266 +#: preferences.c:2254 preferences.c:2257 msgid "Media read attempts" msgstr "Попытки чтения носителя" -#: preferences.c:2267 +#: preferences.c:2258 msgid "Read the whole medium " msgstr "Читать весь носитель" -#: preferences.c:2282 +#: preferences.c:2273 msgid " times" msgstr " раз" -#: preferences.c:2297 +#: preferences.c:2288 msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -1884,15 +2056,15 @@ msgstr "" "\n" "В дополнительных проходах чтения попытки будут делаться только для недостающих секторов." -#: preferences.c:2314 +#: preferences.c:2305 msgid "Keep uncorrectable raw sectors in the following directory:" msgstr "Хранить неисправимые необработанные сектора в следующем каталоге:" -#: preferences.c:2321 preferences.c:3106 +#: preferences.c:2312 preferences.c:3105 msgid "Select" msgstr "Выбрать" -#: preferences.c:2360 +#: preferences.c:2351 msgid "" "Raw sector caching\n" "\n" @@ -1912,15 +2084,15 @@ msgstr "" "Обратите внимание, что не все приводы и операционные системы поддерживают чтение частичных данных. Если каталог для хранения остается пустым, это не является ошибкой.\n" "dvdisaster не будет удалять файлы из данного каталога; Вам необходимо очистить его вручную после успешного восстановления носителя." -#: preferences.c:2378 +#: preferences.c:2369 msgid "Raw sector file prefix" msgstr "Префикс имени файла для необработанных секторов" -#: preferences.c:2379 +#: preferences.c:2370 msgid "Raw sector file prefix: " msgstr "Префикс имени файла для необработанных секторов:" -#: preferences.c:2400 +#: preferences.c:2391 msgid "" "Raw sector file prefix\n" "\n" @@ -1930,61 +2102,60 @@ msgstr "" "\n" "Используйте разные префиксы для дисков, которые Вы пытаетесь восстановить, например, \"disk1-\" и т.д." -#: preferences.c:2408 +#: preferences.c:2399 msgid "Error correction" msgstr "Исправление ошибок" -#: preferences.c:2410 +#: preferences.c:2401 msgid "Error correction method" msgstr "Метод исправления ошибок" -#: preferences.c:2411 +#: preferences.c:2402 msgid "Storage method:" msgstr "Хранить в:" -#: preferences.c:2447 +#: preferences.c:2441 msgid "" "Error correction method\n" "\n" -"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are two different ways available for storing the error correction information:\n" +"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are different codecs and ways available for storing the error correction information:\n" msgstr "" -"Метод исправления ошибок\n" -"\n" -"dvdisaster создает данные для исправления ошибок, которые используются для восстановления нечитаемых секторов, если позже диск будет поврежден. Для хранения информации для исправления ошибок имеется два разных способа:\n" -#: preferences.c:2453 +#: preferences.c:2447 msgid "" -"Error correction files (RS01 method)\n" -"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster, as data loss in an error correction file will render it unusable.\n" +"The RS01 codec\n" +"RS01 is the recommended codec for storing error correction data in separate files.\n" msgstr "" -"Файлы для исправления ошибок (метод RS01)\n" -"Файлы для исправления ошибок являются единственным способом защиты существующих носителей, так как они могут храниться в другом месте. Они хранятся на отдельном носителе, который также может быть защищен с помощью dvdisaster, так как потеря данных в файле для исправления ошибок сделает его непригодным.\n" -#: preferences.c:2460 +#: preferences.c:2450 msgid "" -"Augmented images (RS02 method)\n" -"The error correction data will be stored along with the user data on the same CD/DVD. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image. Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required." +"The RS02 codec\n" +"RS02 is the currently recommended codec for augmenting images with error correction data.\n" msgstr "" -"Расширенные образы (метод RS02)\n" -"Данные для исправления ошибок могут храниться вместе с пользовательскими данными на том же CD/DVD. Это требует предварительного создания файла образа перед записью носителя. Данные для исправления ошибок добавляются в этот образ. Поврежденные сектора в информации для исправления ошибок снижают возможность восстановления данных, но не делают восстановление невозможным - второй носитель для хранения или защиты информации для исправления ошибок не требуется." -#: preferences.c:2500 +#: preferences.c:2454 +msgid "" +"The RS03 codec (Warning: experimental)\n" +"RS03 can either store error correction data in a separate file or augment the image with it. It provides multithreading to scale with multicore processors and contains some subtle improvements over RS01 and RS02. However it should not be used for productive work unless a stable version is released with dvdisaster V0.80." +msgstr "" + +#: preferences.c:2492 msgid "Files" msgstr "Файлы" -#: preferences.c:2504 +#: preferences.c:2496 msgid "Local files (on hard disc)" msgstr "Локальные файлы (на жестком диске)" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatic file suffixes" msgstr "Автоматические расширения имени файла" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatically add .iso and .ecc file suffixes" msgstr "Автоматически добавлять расширения .iso и .ecc" -#: preferences.c:2535 +#: preferences.c:2527 msgid "" "Automatically add file suffixes\n" "\n" @@ -1994,37 +2165,19 @@ msgstr "" "\n" "Когда этот параметр установлен, к именам файлов будут автоматически добавляться расширения \".iso\" или \".ecc\", если у файлов нет уже другого расширения." -#: preferences.c:2541 -msgid "File splitting" -msgstr "Разбиение файлов" - -#: preferences.c:2541 -msgid "Split files into segments <= 2GB" -msgstr "Разбивать файлы на сегменты <= 2Гб" - -#: preferences.c:2564 -msgid "" -"File splitting\n" -"\n" -"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -msgstr "" -"Разбиение файлов\n" -"\n" -"Дает возможность работать с файловыми системами, в которых есть ограничения размера файла до 2 Гб, например, FAT в Windows. Созданные файлы распределяются на сегменты, которых может быть до 100 штук, с именами \"medium00.iso\", \"medium01.iso\" и т.д. за счет небольшой потери в производительности." - -#: preferences.c:2573 +#: preferences.c:2533 msgid "Automatic file creation and deletion" msgstr "Автоматическое создание и удаление файлов" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Automatic .ecc file creation" msgstr "Автоматическое создание .ecc-файла" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Create error correction file after reading image" msgstr "Создавать файл для исправления ошибок после чтения образа" -#: preferences.c:2605 +#: preferences.c:2565 msgid "" "Automatic error correction file creation\n" "\n" @@ -2034,15 +2187,15 @@ msgstr "" "\n" "Автоматически создает файл для исправления ошибок после чтения образа. Совместно с параметром \"Удалить образ\" это ускоряет создание файла для исправления ошибок для последовательности разных носителей." -#: preferences.c:2612 +#: preferences.c:2572 msgid "Automatic image file removal" msgstr "Автоматическое удаление файла образа" -#: preferences.c:2612 +#: preferences.c:2572 msgid "Remove image after error correction file creation" msgstr "Удалить образ после создания файла для исправления ошибок" -#: preferences.c:2635 +#: preferences.c:2595 msgid "" "Automatic image file removal\n" "\n" @@ -2052,23 +2205,38 @@ msgstr "" "\n" "Если этот параметр установлен, файл образа будет удален после успешного создания соответствующего файла для исправления ошибок." -#: preferences.c:2641 +#: preferences.c:2601 preferences.c:2610 +msgid "Confirm file overwriting" +msgstr "" + +#: preferences.c:2610 +msgid "Ask before overwriting image and ecc files" +msgstr "" + +#: preferences.c:2633 +msgid "" +"Ask before overwriting image and ecc files\n" +"\n" +"dvdisaster will ask you for confirmation when it is going to overwrite an existing image or error correction file if this option is checked." +msgstr "" + +#: preferences.c:2640 msgid "Appearance" msgstr "Внешний вид" -#: preferences.c:2653 +#: preferences.c:2652 msgid "Sector coloring" msgstr "Расцветка секторов" -#: preferences.c:2664 rs01-verify.c:120 rs02-verify.c:115 +#: preferences.c:2663 rs01-verify.c:120 rs02-verify.c:115 rs03-verify.c:123 msgid "Good sectors" msgstr "Хорошие сектора" -#: preferences.c:2664 +#: preferences.c:2663 msgid "Good sector" msgstr "Хороший сектор" -#: preferences.c:2688 +#: preferences.c:2687 msgid "" "Good sectors\n" "\n" @@ -2078,15 +2246,15 @@ msgstr "" "\n" "Этот цвет обозначает хорошие сектора." -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum errors" msgstr "Ошибки контрольной суммы" -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum error" msgstr "Ошибка контрольной суммы" -#: preferences.c:2717 +#: preferences.c:2716 msgid "" "Checksum errors\n" "\n" @@ -2096,15 +2264,15 @@ msgstr "" "\n" "Этот цвет используется для отображения секторов с неправильными контрольными суммами." -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable sectors" msgstr "Нечитаемые сектора" -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable" msgstr "Не читается" -#: preferences.c:2746 +#: preferences.c:2745 msgid "" "Unreadable sectors\n" "\n" @@ -2114,15 +2282,15 @@ msgstr "" "\n" "Этот цвет используется для обозначения нечитаемых секторов." -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sectors" msgstr "Имеющиеся сектора" -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sector" msgstr "Имеющийся сектор" -#: preferences.c:2775 +#: preferences.c:2774 msgid "" "Present sectors\n" "\n" @@ -2132,15 +2300,15 @@ msgstr "" "\n" "Сектора, которые уже присутствуют, помечены этим цветом." -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sectors" msgstr "Игнорируемые сектора" -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sector" msgstr "Игнорируемый сектор" -#: preferences.c:2804 +#: preferences.c:2803 msgid "" "Ignored sectors\n" "\n" @@ -2150,15 +2318,15 @@ msgstr "" "\n" "Сектора, помеченные этим цветом, не будут обрабатываться в текущем проходе." -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sectors" msgstr "Выделенные сектора" -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sector" msgstr "Выделенный сектор" -#: preferences.c:2834 +#: preferences.c:2833 msgid "" "Highlit sectors\n" "\n" @@ -2168,15 +2336,15 @@ msgstr "" "\n" "Этот цвет используется для временного выделения секторов при адаптивном чтении." -#: preferences.c:2840 +#: preferences.c:2839 msgid "Text colors" msgstr "Цвета текста" -#: preferences.c:2850 +#: preferences.c:2849 msgid "Positive text" msgstr "Положительный текст" -#: preferences.c:2874 +#: preferences.c:2873 msgid "" "Positive text\n" "\n" @@ -2186,11 +2354,11 @@ msgstr "" "\n" "Хорошие новости печатаются этим цветом." -#: preferences.c:2879 +#: preferences.c:2878 msgid "Negative text" msgstr "Негативный текст" -#: preferences.c:2903 +#: preferences.c:2902 msgid "" "Negative text\n" "\n" @@ -2200,15 +2368,15 @@ msgstr "" "\n" "Плохие новости печатаются этим цветом." -#: preferences.c:2908 +#: preferences.c:2907 msgid "Curve colors" msgstr "Цвета кривой" -#: preferences.c:2917 +#: preferences.c:2916 msgid "Curve color" msgstr "Цвет кривой" -#: preferences.c:2941 +#: preferences.c:2940 msgid "" "Curve color and labels\n" "\n" @@ -2218,11 +2386,11 @@ msgstr "" "\n" "Кривая скорости чтения, ее левая сторона и надписи вверху выводятся этим цветом." -#: preferences.c:2947 read-linear-window.c:405 +#: preferences.c:2946 read-linear-window.c:405 msgid "C2 errors" msgstr "Ошибки C2" -#: preferences.c:2971 +#: preferences.c:2970 msgid "" "C2 error color\n" "\n" @@ -2232,11 +2400,11 @@ msgstr "" "\n" "Логарифмическая гистограмма, отображающая ошибки C2, строится в этом цвете во время операций \"чтение\" и \"проверка\"." -#: preferences.c:2978 +#: preferences.c:2977 msgid "Error correction load" msgstr "Нагрузка при исправлении ошибок" -#: preferences.c:3002 +#: preferences.c:3001 msgid "" "Error correction load\n" "\n" @@ -2246,19 +2414,19 @@ msgstr "" "\n" "Гистограмма нагрузки при исправлении ошибок показывается этим цветом во время операции \"Исправление\"." -#: preferences.c:3014 +#: preferences.c:3013 msgid "Default color scheme" msgstr "Палитра по умолчанию" -#: preferences.c:3022 +#: preferences.c:3021 msgid "Dialog boxes" msgstr "Диалоговые окна" -#: preferences.c:3025 +#: preferences.c:3024 msgid "Reverse OK / Cancel buttons" msgstr "Обратить кнопки ОК / Отменить" -#: preferences.c:3049 +#: preferences.c:3048 msgid "" "Reverse OK / Cancel buttons\n" "\n" @@ -2272,19 +2440,19 @@ msgstr "" "\n" "Изменения вступят в силу после перезапуска dvdisaster." -#: preferences.c:3056 +#: preferences.c:3055 msgid "Misc" msgstr "Разное" -#: preferences.c:3060 +#: preferences.c:3059 msgid "Logging" msgstr "Журналы" -#: preferences.c:3067 +#: preferences.c:3066 msgid "Verbose logging" msgstr "Подробное журналирование" -#: preferences.c:3091 +#: preferences.c:3090 msgid "" "Verbose logging\n" "\n" @@ -2294,19 +2462,19 @@ msgstr "" "\n" "Больше информации будет выдаваться в окно журнала и/или журнальный файл. Полезно для отладки, но может привести к меньшей производительности." -#: preferences.c:3098 +#: preferences.c:3097 msgid "Logfile:" msgstr "Журнал:" -#: preferences.c:3099 +#: preferences.c:3098 msgid "Copy log to file:" msgstr "Скопировать журнал в файл:" -#: preferences.c:3107 +#: preferences.c:3106 msgid "Delete" msgstr "Удалить" -#: preferences.c:3153 +#: preferences.c:3152 msgid "" "Logfile\n" "\n" @@ -2352,17 +2520,17 @@ msgstr "LBA не соответствует коду MSF в секторе!" msgid "Raw sector does not belong to the selected image!" msgstr "Сектор не принадлежит выбранному образу!" -#: raw-editor.c:388 read-adaptive.c:999 read-adaptive.c:1070 -#: read-adaptive.c:1359 read-adaptive.c:1554 read-linear.c:431 -#: read-linear.c:691 read-linear.c:996 rs01-fix.c:447 rs01-fix.c:707 -#: rs02-fix.c:751 +#: raw-editor.c:388 read-adaptive.c:997 read-adaptive.c:1068 +#: read-adaptive.c:1357 read-adaptive.c:1552 read-linear.c:399 +#: read-linear.c:659 read-linear.c:959 rs01-fix.c:447 rs01-fix.c:707 +#: rs02-fix.c:751 rs03-fix.c:778 #, c-format msgid "Failed seeking to sector %lld in image [%s]: %s" msgstr "Не удалось перейти к сектору %lld образа [%s]: %s" -#: raw-editor.c:395 read-adaptive.c:1013 read-adaptive.c:1076 -#: read-adaptive.c:1391 read-adaptive.c:1404 read-adaptive.c:1562 -#: read-linear.c:440 read-linear.c:698 rs01-fix.c:454 +#: raw-editor.c:395 read-adaptive.c:1011 read-adaptive.c:1074 +#: read-adaptive.c:1389 read-adaptive.c:1402 read-adaptive.c:1560 +#: read-linear.c:408 read-linear.c:666 rs01-fix.c:454 #, c-format msgid "Failed writing to sector %lld in image [%s]: %s" msgstr "Не удалось записать в сектор %lld образа [%s]: %s" @@ -2548,13 +2716,6 @@ msgstr "Эвристика" msgid "button|Smart L-EC" msgstr "Интеллектуальный L-EC" -#: raw-sector-cache.c:34 raw-sector-cache.c:201 raw-sector-cache.c:335 -#: rs01-verify.c:538 scsi-freebsd.c:113 scsi-linux.c:100 scsi-netbsd.c:111 -#: scsi-solaris.c:127 -#, c-format -msgid "Could not open %s: %s" -msgstr "Не удалось открыть %s: %s" - #: raw-sector-cache.c:59 raw-sector-cache.c:123 raw-sector-cache.c:129 #: raw-sector-cache.c:133 raw-sector-cache.c:161 raw-sector-cache.c:259 #, c-format @@ -2591,7 +2752,7 @@ msgstr " [Создание нового буферного файла %s]\n" msgid " [Appended %d/%d sectors to cache file %s; LBA=%lld, ssize=%d, %d sectors]\n" msgstr " [Добавлено %d/%d секторов к буферному файлу %s; LBA=%lld, размер с.=%d, %d секторов]\n" -#: read-adaptive.c:143 read-adaptive.c:1336 +#: read-adaptive.c:143 read-adaptive.c:1334 msgid "Aborted by unrecoverable error." msgstr "Прервано из-за неисправимой ошибки." @@ -2631,8 +2792,8 @@ msgstr "" "Только первые %lld секторов носителя будут обработаны.\n" #: read-adaptive.c:489 read-adaptive.c:505 read-adaptive.c:569 -#: read-adaptive.c:657 read-adaptive.c:719 read-adaptive.c:1020 -#: read-adaptive.c:1266 +#: read-adaptive.c:655 read-adaptive.c:717 read-adaptive.c:1018 +#: read-adaptive.c:1264 msgid "Aborted by user request!" msgstr "Прервано пользователем!" @@ -2667,23 +2828,15 @@ msgstr "" "Отпечатки носителя и ecc-файла не совпадают.\n" "Носитель и ecc-файл не относятся друг к другу.\n" -#: read-adaptive.c:618 read-linear.c:371 +#: read-adaptive.c:618 read-linear.c:341 msgid "Image file does not match the CD/DVD." msgstr "Файл образа не подходит к CD/DVD." -#: read-adaptive.c:621 read-linear.c:374 -msgid "" -"Image file already exists and does not match the CD/DVD.\n" -"The existing image file will be deleted." -msgstr "" -"Файл образа уже существует и не подходит к CD/DVD.\n" -"Существующий образ будет удален." - -#: read-adaptive.c:626 +#: read-adaptive.c:624 msgid "Reading aborted. Please select a different image file." msgstr "Чтение прервано. Выберите другой файл образа." -#: read-adaptive.c:652 +#: read-adaptive.c:650 #, c-format msgid "" "Image file is %lld sectors longer than inserted medium\n" @@ -2692,81 +2845,81 @@ msgstr "" "Файл образа на %lld секторов длиннее, чем вставленный носитель\n" "(Файл образа: %lld секторов; носитель: %lld секторов).\n" -#: read-adaptive.c:675 read-adaptive.c:679 +#: read-adaptive.c:673 read-adaptive.c:677 msgid "Loading CRC data." msgstr "Загрузка CRC данных." -#: read-adaptive.c:711 +#: read-adaptive.c:709 msgid "Analysing existing image file" msgstr "Анализ существующего файла образа" -#: read-adaptive.c:728 rs01-common.c:160 rs02-verify.c:717 +#: read-adaptive.c:726 rs01-common.c:183 rs02-verify.c:727 rs03-verify.c:1057 #, c-format msgid "premature end in image (only %d bytes): %s\n" msgstr "преждевременный конец образа (только %d байт): %s\n" -#: read-adaptive.c:805 +#: read-adaptive.c:803 #, c-format msgid "Analysing existing image file: %2d%%" msgstr "Анализ существующего файла образа: %2d%%" -#: read-adaptive.c:822 +#: read-adaptive.c:820 msgid "Determining correctable sectors" msgstr "Определение исправимых секторов" -#: read-adaptive.c:897 +#: read-adaptive.c:895 #, c-format msgid "Analysing existing image file: %lld readable, %lld correctable, %lld still missing.\n" msgstr "Анализ существующего файла образа: %lld можно прочитать, %lld можно исправить, %lld еще отсутствуют.\n" -#: read-adaptive.c:899 +#: read-adaptive.c:897 #, c-format msgid "Analysing existing image file: %lld readable, %lld still missing.\n" msgstr "Анализ существующего файла образа: %lld можно прочитать, %lld еще отсутствуют.\n" -#: read-adaptive.c:949 read-linear.c:799 +#: read-adaptive.c:947 read-linear.c:767 msgid "Ignore once" msgstr "Игнорировать один раз" -#: read-adaptive.c:950 read-linear.c:800 +#: read-adaptive.c:948 read-linear.c:768 msgid "Ignore always" msgstr "Игнорировать всегда" -#: read-adaptive.c:951 read-linear.c:801 +#: read-adaptive.c:949 read-linear.c:769 msgid "Abort" msgstr "Прервать" -#: read-adaptive.c:986 +#: read-adaptive.c:984 #, c-format msgid "Filling image area [%lld..%lld]" msgstr "Заполнение области образа [%lld..%lld]" -#: read-adaptive.c:1107 read-linear.c:186 +#: read-adaptive.c:1105 read-linear.c:186 msgid "Reading aborted" msgstr "Чтение прервано" -#: read-adaptive.c:1110 read-linear.c:190 +#: read-adaptive.c:1108 read-linear.c:190 msgid "Preparing for reading the medium image." msgstr "Подготовка к чтению образа носителя." -#: read-adaptive.c:1111 read-linear.c:183 read-linear.c:191 +#: read-adaptive.c:1109 read-linear.c:183 read-linear.c:191 msgid "Medium: not yet determined" msgstr "Носитель: еще не определен" -#: read-adaptive.c:1168 read-linear.c:311 +#: read-adaptive.c:1166 read-linear.c:281 #, c-format msgid "Creating new %s image.\n" msgstr "Создание нового %s образа.\n" -#: read-adaptive.c:1172 read-linear.c:304 +#: read-adaptive.c:1170 read-linear.c:274 msgid "Reading new medium image." msgstr "Чтение нового образа носителя." -#: read-adaptive.c:1192 read-linear.c:332 +#: read-adaptive.c:1190 read-linear.c:302 msgid "Completing existing medium image." msgstr "Завершение существующего образа носителя." -#: read-adaptive.c:1225 read-adaptive.c:1526 +#: read-adaptive.c:1223 read-adaptive.c:1524 msgid "" "\n" "Sufficient data for reconstructing the image is available.\n" @@ -2774,7 +2927,7 @@ msgstr "" "\n" "Достаточно данных для восстановления образа.\n" -#: read-adaptive.c:1322 read-linear.c:1058 +#: read-adaptive.c:1320 read-linear.c:1021 #, c-format msgid "" "Sector %lld: %s\n" @@ -2785,7 +2938,7 @@ msgstr "" "Не удается продолжить после приведенной выше ошибки.\n" "Используйте параметр --ignore-fatal-sense, чтобы не принимать во внимание." -#: read-adaptive.c:1327 read-linear.c:1063 +#: read-adaptive.c:1325 read-linear.c:1026 #, c-format msgid "" "Sector %lld: %s\n" @@ -2798,27 +2951,27 @@ msgstr "" "Продолжение невозможно из-за этой ошибки.\n" "Игнорировать эту ошибку и продолжать чтение?" -#: read-adaptive.c:1382 rs01-fix.c:400 rs02-fix.c:437 +#: read-adaptive.c:1380 rs01-fix.c:400 rs02-fix.c:437 rs03-fix.c:455 #, c-format msgid "CRC error in sector %lld\n" msgstr "CRC-ошибка в секторе %lld\n" -#: read-adaptive.c:1543 scsi-layer.c:1716 +#: read-adaptive.c:1541 scsi-layer.c:1744 #, c-format msgid "Sectors %lld-%lld: %s\n" msgstr "Сектора %lld-%lld: %s\n" -#: read-adaptive.c:1546 read-linear.c:1244 scsi-layer.c:1715 +#: read-adaptive.c:1544 read-linear.c:1207 scsi-layer.c:1743 #, c-format msgid "Sector %lld: %s\n" msgstr "Сектор %lld: %s\n" -#: read-adaptive.c:1673 +#: read-adaptive.c:1671 #, c-format msgid "Only %2d.%1d%% of the image are readable or correctable" msgstr "Только %2d.%1d%% образа можно прочитать или исправить" -#: read-adaptive.c:1676 +#: read-adaptive.c:1674 #, c-format msgid "" "\n" @@ -2829,7 +2982,7 @@ msgstr "" "%s\n" "(%lld можно прочитать, %lld можно исправить, %lld еще отсутствует).\n" -#: read-adaptive.c:1690 +#: read-adaptive.c:1688 msgid "" "\n" "Good! All sectors have been read.\n" @@ -2837,12 +2990,12 @@ msgstr "" "\n" "Хорошо! Все сектора прочитаны.\n" -#: read-adaptive.c:1699 +#: read-adaptive.c:1697 #, c-format msgid "No unreadable intervals with >= %d sectors left." msgstr "Не осталось нечитаемых интервалов с >= %d секторов." -#: read-adaptive.c:1702 +#: read-adaptive.c:1700 #, c-format msgid "" "\n" @@ -2861,7 +3014,7 @@ msgstr "Адаптивное чтение:" msgid "Sectors processed" msgstr "Обработанные сектора" -#: read-adaptive-window.c:110 scsi-layer.c:1697 +#: read-adaptive-window.c:110 scsi-layer.c:1725 msgid "readable" msgstr "можно прочитать" @@ -2900,111 +3053,92 @@ msgstr "" msgid "Scanning aborted" msgstr "Проверка прервана" -#: read-linear.c:182 read-linear.c:277 +#: read-linear.c:182 read-linear.c:247 msgid "Scanning medium for read errors." msgstr "Просмотр носителя на наличие ошибок чтения." -#: read-linear.c:208 -#, c-format -msgid "" -"Automatic error correction file creation is enabled,\n" -"and \"%s\" already exists.\n" -"Overwrite it?\n" -msgstr "" -"Автоматическое создание файла для исправления ошибок включено,\n" -"и \"%s\" уже существует.\n" -"Перезаписать его?\n" - -#: read-linear.c:215 rs01-create.c:651 rs01-fix.c:188 rs01-fix.c:210 -#: rs01-fix.c:256 rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 -#: rs01-verify.c:430 rs01-verify.c:787 rs02-create.c:112 rs02-fix.c:232 -#: rs02-fix.c:253 rs02-fix.c:344 rs02-verify.c:707 -#, c-format -msgid "Aborted by user request!" -msgstr "Прервано пользователем!" - -#: read-linear.c:284 +#: read-linear.c:254 msgid "Reading CRC information from ecc file" msgstr "Чтение CRC-информации из ecc-файла" -#: read-linear.c:316 +#: read-linear.c:286 msgid "Reading CRC information" msgstr "Чтение CRC-информации" -#: read-linear.c:380 +#: read-linear.c:348 #, c-format msgid "Reading aborted. Please select a different image file." msgstr "Чтение прервано. Выберите другой файл образа." -#: read-linear.c:399 +#: read-linear.c:367 #, c-format msgid "Completing image %s. Continuing with sector %lld.\n" msgstr "Завершение образа %s. Продолжение с сектора %lld.\n" -#: read-linear.c:405 +#: read-linear.c:373 #, c-format msgid "Completing image %s. Only missing sectors will be read.\n" msgstr "Завершение образа %s. Будут прочитаны только недостающие сектора.\n" -#: read-linear.c:482 read-linear.c:486 +#: read-linear.c:450 read-linear.c:454 msgid "Reading CRC information from ecc data" msgstr "Чтение CRC-информации из ecc-данных" -#: read-linear.c:516 +#: read-linear.c:484 msgid "done.\n" msgstr "готово.\n" -#: read-linear.c:528 scsi-layer.c:2038 +#: read-linear.c:496 scsi-layer.c:2063 #, c-format msgid "Waiting %d seconds for drive to spin up...\n" msgstr "Задержка на %d секунд для раскручивания привода...\n" -#: read-linear.c:550 read-linear-window.c:101 +#: read-linear.c:518 read-linear-window.c:101 #, c-format msgid "Unreadable / skipped sectors: %lld" msgstr "Нечитаемые / пропущенные сектора: %lld" -#: read-linear.c:630 +#: read-linear.c:598 #, c-format msgid "Sector %lld: Speed increased to %4.1fx\n" msgstr "Сектор %lld: Скорость увеличена до %4.1fx\n" -#: read-linear.c:633 +#: read-linear.c:601 #, c-format msgid "Sector %lld: Speed dropped to %4.1fx\n" msgstr "Сектор %lld: Скорость снижена до %4.1fx\n" -#: read-linear.c:638 +#: read-linear.c:606 #, c-format msgid "Read position: %3d.%1d%% (%4.1fx)" msgstr "Положение чтения: %3d.%1d%% (%4.1fx)" -#: read-linear.c:763 rs01-common.c:235 rs02-verify.c:762 +#: read-linear.c:731 rs01-common.c:258 rs02-verify.c:772 rs03-verify.c:1148 #, c-format msgid "* CRC error, sector: %lld\n" msgstr "* CRC-ошибка, сектор: %lld\n" -#: read-linear.c:952 read-linear.c:1073 +#: read-linear.c:915 read-linear.c:1036 #, c-format msgid "Aborted by user request! %lld sectors read, %lld sectors unreadable/skipped so far." msgstr "Прервано пользователем! %lld секторов прочитано, %lld секторов не читаются или пропущены." -#: read-linear.c:1008 +#: read-linear.c:971 #, c-format msgid "unexpected read error in image for sector %lld" msgstr "неожиданная ошибка чтения образа в секторе %lld" -#: read-linear.c:1088 +#: read-linear.c:1051 #, c-format msgid "Sector %lld: %3d C2 errors.%s\n" msgstr "Сектор %lld: %3d ошибок C2.%s\n" -#: read-linear.c:1216 +#: read-linear.c:1179 #, c-format msgid "Sector %lld: %s Skipping %d sectors.\n" msgstr "Сектор %lld: %s Пропуск %d секторов.\n" -#: read-linear.c:1276 +#: read-linear.c:1239 #, c-format msgid "" "Trying to complete image, reading pass %d of %d.\n" @@ -3013,7 +3147,7 @@ msgstr "" "Попытка завершить образ, проход чтения %d из %d.\n" "%s" -#: read-linear.c:1278 +#: read-linear.c:1241 #, c-format msgid "" "\n" @@ -3022,74 +3156,74 @@ msgstr "" "\n" "Попытка завершить образ, проход чтения %d из %d.\n" -#: read-linear.c:1303 +#: read-linear.c:1266 msgid "but wrong ecc md5sum" msgstr "но неправильная md5sum для ecc" -#: read-linear.c:1310 +#: read-linear.c:1273 msgid "but wrong crc md5sum" msgstr "но неправильная md5sum для crc" -#: read-linear.c:1317 +#: read-linear.c:1280 msgid "but wrong data md5sum" msgstr "но неправильная md5sum для данных" -#: read-linear.c:1329 +#: read-linear.c:1292 #, c-format msgid "%lld sectors read. " msgstr "%lld секторов прочитано. " -#: read-linear.c:1330 +#: read-linear.c:1293 #, c-format msgid "%lld sectors read; %lld unreadable sectors." msgstr "%lld секторов прочитано; %lld нечитаемых секторов." -#: read-linear.c:1338 +#: read-linear.c:1301 #, c-format msgid "All sectors successfully read, but wrong image length (%lld sectors difference)" msgstr "Все сектора успешно прочитаны, но размер образа неправильный (разница на %lld секторов)" -#: read-linear.c:1342 +#: read-linear.c:1305 msgid "All sectors successfully read, but wrong image checksum." msgstr "Все сектора успешно прочитаны, но неправильная контрольная сумма образа." -#: read-linear.c:1343 read-linear.c:1347 +#: read-linear.c:1306 read-linear.c:1310 msgid "All sectors successfully read. Checksums match." msgstr "Все сектора успешно прочитаны. Контрольные суммы совпадают." -#: read-linear.c:1349 +#: read-linear.c:1312 #, c-format msgid "All sectors successfully read, %s!" msgstr "Все сектора успешно прочитаны,·%s!" -#: read-linear.c:1354 +#: read-linear.c:1317 msgid "All sectors successfully read." msgstr "Все сектора успешно прочитаны." -#: read-linear.c:1360 +#: read-linear.c:1323 #, c-format msgid "%lld unreadable sectors." msgstr "%lld нечитаемых секторов." -#: read-linear.c:1362 +#: read-linear.c:1325 #, c-format msgid "%lld CRC errors." msgstr "%lld CRC-ошибок." -#: read-linear.c:1363 +#: read-linear.c:1326 #, c-format msgid "%lld CRC errors, %lld unreadable sectors." msgstr "%lld CRC-ошибок, %lld нечитаемых секторов." -#: read-linear.c:1369 +#: read-linear.c:1332 msgid "Scanning finished: " msgstr "Проверка завершена: " -#: read-linear.c:1371 +#: read-linear.c:1334 msgid "Reading finished: " msgstr "Чтение завершено: " -#: read-linear.c:1382 +#: read-linear.c:1345 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -3100,7 +3234,7 @@ msgstr "" "Это нормально, если CD записан в режиме TAO (track at once).\n" "Образ будет соответственно укорочен. Подробнее см. в руководстве.\n" -#: read-linear.c:1388 +#: read-linear.c:1351 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -3123,7 +3257,7 @@ msgid "Already present" msgstr "Уже есть" #: read-linear-window.c:277 read-linear-window.c:319 rs01-verify.c:123 -#: rs02-verify.c:118 +#: rs02-verify.c:118 rs03-verify.c:126 msgid "Sectors with CRC errors" msgstr "Сектора с CRC-ошибками" @@ -3152,27 +3286,27 @@ msgstr "Скорость" msgid "Sector %lld dumped to %s\n" msgstr "Сектор %lld помещен в %s\n" -#: rs01-common.c:134 rs02-verify.c:793 +#: rs01-common.c:157 rs02-verify.c:803 rs03-verify.c:1171 #, c-format msgid "- testing sectors : %3d%%" msgstr "- проверка секторов : %3d%%" -#: rs01-common.c:135 +#: rs01-common.c:158 #, c-format msgid "Scanning image sectors: %3d%%" msgstr "Просмотр секторов образа: %3d%%" -#: rs01-common.c:187 rs02-verify.c:749 +#: rs01-common.c:210 rs02-verify.c:759 #, c-format msgid "* missing sector : %lld\n" msgstr "* недостающий сектор : %lld\n" -#: rs01-common.c:188 rs02-verify.c:750 +#: rs01-common.c:211 rs02-verify.c:760 #, c-format msgid "* missing sectors : %lld - %lld\n" msgstr "* недостающие сектора : %lld - %lld\n" -#: rs01-common.c:206 rs01-common.c:273 rs01-create.c:260 +#: rs01-common.c:229 rs01-common.c:296 rs01-create.c:273 #, c-format msgid "Error writing CRC information: %s" msgstr "Ошибка записи CRC-информации: %s" @@ -3182,7 +3316,7 @@ msgstr "Ошибка записи CRC-информации: %s" msgid "Redundancy %4.1f%% out of useful range [3.2%%..64.5%%]" msgstr "Избыточность %4.1f%% вне полезного диапазона [3.2%%..64.5%%]" -#: rs01-create.c:75 +#: rs01-create.c:75 rs03-common.c:202 #, c-format msgid "Ecc file size %lldm out of useful range [%lld .. %lld]" msgstr "Размер %lldm ecc-файла вне полезного диапазона [%lld .. %lld]" @@ -3193,6 +3327,7 @@ msgid "Redundancy %d out of useful range [8..100]." msgstr "Избыточность %d вне полезного диапазона [8..100]." #: rs01-create.c:125 rs01-fix.c:77 rs02-create.c:58 rs02-fix.c:53 +#: rs03-create.c:116 rs03-fix.c:54 rs03s-create.c:125 #, c-format msgid "Aborted by unrecoverable error." msgstr "Прервано из-за неисправимой ошибки." @@ -3206,7 +3341,7 @@ msgstr "Создание файла для исправления ошибок msgid "Encoding with Method RS01: %d roots, %4.1f%% redundancy." msgstr "Кодирование по методу RS01: %d корней, избыточность %4.1f%%." -#: rs01-create.c:215 +#: rs01-create.c:215 rs03-create.c:1092 #, c-format msgid "" "Creating the error correction file.\n" @@ -3215,35 +3350,40 @@ msgstr "" "Создание файла для исправления ошибок.\n" "%s" -#: rs01-create.c:231 +#: rs01-create.c:227 rs03-create.c:213 +#, c-format +msgid "Aborted to keep existing ecc file." +msgstr "" + +#: rs01-create.c:244 #, c-format msgid "Writing sector checksums: %3d%%" msgstr "Запись контрольных сумм секторов: %3d%%" -#: rs01-create.c:235 +#: rs01-create.c:248 msgid "1. Writing image sector checksums:" msgstr "1. Запись контрольных сумм секторов образа:" -#: rs01-create.c:278 rs01-window.c:116 +#: rs01-create.c:291 rs01-window.c:129 msgid "1. Calculating image sector checksums:" msgstr "1. Вычисление контрольных сумм секторов образа:" -#: rs01-create.c:291 rs01-create.c:432 rs01-create.c:524 +#: rs01-create.c:304 rs01-create.c:445 rs01-create.c:537 #, c-format msgid "Aborted by user request! (partial error correction file removed)" msgstr "Прервано пользователем! (незавершенный файл для исправления ошибок удален)" -#: rs01-create.c:300 +#: rs01-create.c:313 #, c-format msgid "%lld sectors unread or missing due to errors.\n" msgstr "%lld секторов не прочитано или отсутствует из-за ошибок.\n" -#: rs01-create.c:354 +#: rs01-create.c:367 #, c-format msgid "Failed skipping ecc+crc header: %s" msgstr "Неудалось пропустить заголовок ecc+crc: %s" -#: rs01-create.c:381 rs02-create.c:508 +#: rs01-create.c:394 rs02-create.c:512 #, c-format msgid "" "Failed allocating memory for I/O cache.\n" @@ -3254,12 +3394,23 @@ msgstr "" "Сейчас размер буфера %d МБ.\n" "Попробуйте уменьшить его.\n" -#: rs01-create.c:509 rs01-create.c:633 rs01-create.c:927 rs02-create.c:955 +#: rs01-create.c:522 rs01-create.c:646 rs01-create.c:940 rs02-create.c:959 +#: rs03-create.c:921 rs03s-create.c:972 #, c-format msgid "Ecc generation: %3d.%1d%%" msgstr "Генерация ecc: %3d.%1d%%" -#: rs01-create.c:940 +#: rs01-create.c:664 rs01-fix.c:188 rs01-fix.c:210 rs01-fix.c:256 +#: rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 rs01-verify.c:431 +#: rs01-verify.c:798 rs02-create.c:112 rs02-fix.c:232 rs02-fix.c:253 +#: rs02-fix.c:344 rs02-verify.c:717 rs03-create.c:185 rs03-fix.c:260 +#: rs03-fix.c:281 rs03-fix.c:358 rs03s-create.c:179 rs03-verify.c:636 +#: rs03-verify.c:1044 +#, c-format +msgid "Aborted by user request!" +msgstr "Прервано пользователем!" + +#: rs01-create.c:953 #, c-format msgid "" "could not write to ecc file \"%s\":\n" @@ -3268,7 +3419,7 @@ msgstr "" "не удалось записать ecc-файл \"%s\":\n" "%s" -#: rs01-create.c:955 +#: rs01-create.c:968 #, c-format msgid "" "Can't write ecc header:\n" @@ -3277,12 +3428,12 @@ msgstr "" "Не удается записать заголовок ecc:\n" "%s" -#: rs01-create.c:963 rs02-create.c:1104 +#: rs01-create.c:976 rs02-create.c:1107 rs03-create.c:1145 rs03s-create.c:1124 #, c-format msgid "Ecc generation: 100.0%%\n" msgstr "Генерация ecc: 100.0%%\n" -#: rs01-create.c:964 +#: rs01-create.c:977 rs03-create.c:1152 #, c-format msgid "" "Error correction file \"%s\" created.\n" @@ -3291,7 +3442,7 @@ msgstr "" "Создан файл для исправления ошибок \"%s\".\n" "Убедитесь, что этот файл находится на надежном носителе.\n" -#: rs01-create.c:972 +#: rs01-create.c:985 rs03-create.c:1178 msgid "" "The error correction file has been successfully created.\n" "Make sure to keep this file on a reliable medium." @@ -3304,16 +3455,17 @@ msgstr "" msgid "Failed seeking in crc area: %s" msgstr "Не удался поиск в crc-области: %s" -#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 +#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 rs03-verify.c:450 #, c-format msgid "problem reading crc data: %s" msgstr "проблема при чтении crc-данных: %s" -#: rs01-fix.c:138 rs02-fix.c:169 +#: rs01-fix.c:138 rs02-fix.c:169 rs03-fix.c:175 msgid "Repairing of image aborted" msgstr "Исправление образа прервано" -#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 +#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 rs03-fix.c:183 +#: rs03-fix.c:234 #, c-format msgid "" "Repairing the image.\n" @@ -3322,7 +3474,7 @@ msgstr "" "Исправление образа.\n" "%s" -#: rs01-fix.c:145 rs02-fix.c:176 +#: rs01-fix.c:145 rs02-fix.c:176 rs03-fix.c:184 msgid "Opening files..." msgstr "Открывание файлов..." @@ -3331,7 +3483,7 @@ msgstr "Открывание файлов..." msgid "Error correction file using Method RS01, %d roots, %4.1f%% redundancy." msgstr "Файл для исправления ошибок по методу RS01, %d корней, избыточность %4.1f%%." -#: rs01-fix.c:163 rs02-fix.c:211 +#: rs01-fix.c:163 rs02-fix.c:211 rs03-fix.c:239 msgid "" "\n" "Fix mode: Repairable sectors will be fixed in the image.\n" @@ -3356,7 +3508,7 @@ msgstr "" "\n" "%s" -#: rs01-fix.c:180 rs02-fix.c:224 +#: rs01-fix.c:180 rs02-fix.c:224 rs03-fix.c:252 #, c-format msgid "" "Image file is %lld sectors longer than expected.\n" @@ -3367,16 +3519,17 @@ msgstr "" "Предполагается, что это носитель в режиме TAO.\n" "%lld секторов будет удалено в конце образа.\n" -#: rs01-fix.c:205 rs02-fix.c:248 +#: rs01-fix.c:205 rs02-fix.c:248 rs03-fix.c:276 msgid "Is it okay to remove the superfluous sectors?" msgstr "Можно удалить лишние сектора?" -#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 +#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 rs03-fix.c:292 +#: rs03-fix.c:307 #, c-format msgid "Image has been truncated by %lld sectors.\n" msgstr "Образ укорочен на %lld секторов.\n" -#: rs01-fix.c:229 rs02-fix.c:271 +#: rs01-fix.c:229 rs02-fix.c:271 rs03-fix.c:299 msgid "" "Add the --truncate option to the program call\n" "to have the superfluous sectors removed." @@ -3472,12 +3625,12 @@ msgstr "Неожиданная байтовая ошибка в секторе % msgid "Bad error location %d; corrupted .ecc file?\n" msgstr "Неправильное местоположение ошибки %d; поврежденный .ecc-файл?\n" -#: rs01-fix.c:696 rs02-fix.c:718 +#: rs01-fix.c:696 rs02-fix.c:718 rs03-fix.c:737 #, c-format msgid " %3d repaired sectors: " msgstr " %3d исправленные сектора: " -#: rs01-fix.c:715 rs02-fix.c:759 +#: rs01-fix.c:715 rs02-fix.c:759 rs03-fix.c:783 #, c-format msgid "" "could not write medium sector %lld:\n" @@ -3486,12 +3639,12 @@ msgstr "" "не удалось записать сектор %lld носителя:\n" "%s" -#: rs01-fix.c:741 rs02-fix.c:796 +#: rs01-fix.c:741 rs02-fix.c:796 rs03-fix.c:841 #, c-format msgid "Ecc progress: %3d.%1d%%" msgstr "Прогресс исправления: %3d.%1d%%" -#: rs01-fix.c:753 rs02-fix.c:810 +#: rs01-fix.c:753 rs02-fix.c:810 rs03-fix.c:855 #, c-format msgid "Ecc progress: 100.0%%\n" msgstr "Прогресс исправления: 100.0%%\n" @@ -3501,30 +3654,30 @@ msgstr "Прогресс исправления: 100.0%%\n" msgid "Repaired sectors: %lld \n" msgstr "Исправленные сектора: %lld \n" -#: rs01-fix.c:756 rs02-fix.c:815 +#: rs01-fix.c:756 rs02-fix.c:815 rs03-fix.c:860 #, c-format msgid "Unrepaired sectors: %lld\n" msgstr "Не исправленные сектора: %lld\n" -#: rs01-fix.c:759 rs02-fix.c:818 +#: rs01-fix.c:759 rs02-fix.c:818 rs03-fix.c:863 #, c-format msgid "Image sectors could not be fully restored (%lld repaired; %lld unrepaired)" msgstr "Сектора образа не могут быть полностью восстановлены (%lld исправлено; %lld не исправлено)" -#: rs01-fix.c:765 rs02-fix.c:824 +#: rs01-fix.c:765 rs02-fix.c:824 rs03-fix.c:870 msgid "Good! All sectors are already present." msgstr "Хорошо! Все сектора уже есть." -#: rs01-fix.c:769 rs02-fix.c:828 +#: rs01-fix.c:769 rs02-fix.c:828 rs03-fix.c:875 msgid "Good! All sectors are repaired." msgstr "Хорошо! Все сектора исправлены." -#: rs01-fix.c:774 rs02-fix.c:833 +#: rs01-fix.c:774 rs02-fix.c:833 rs03-fix.c:881 #, c-format msgid "Erasure counts per ecc block: avg = %.1f; worst = %d.\n" msgstr "Количество стертых мест на ecc-блок: среднее = %.1f; худшее = %d.\n" -#: rs01-fix.c:779 rs02-fix.c:838 +#: rs01-fix.c:779 rs02-fix.c:838 rs03-fix.c:886 msgid "Repair results:" msgstr "Результаты исправления:" @@ -3533,6 +3686,7 @@ msgid "n/a" msgstr "нет" #: rs01-verify.c:126 rs01-verify.c:147 rs02-verify.c:121 rs02-verify.c:142 +#: rs03-verify.c:129 rs03-verify.c:150 msgid "Missing sectors" msgstr "Недостающие сектора" @@ -3545,6 +3699,7 @@ msgid "No image present." msgstr "Нет образов." #: rs01-verify.c:209 rs01-verify.c:299 rs02-verify.c:189 rs02-verify.c:295 +#: rs03-verify.c:271 msgid "Medium sectors:" msgstr "Секторов на носителе:" @@ -3560,7 +3715,7 @@ msgstr "Недостающие сектора:" msgid "Image checksum:" msgstr "Контрольная сумма образа:" -#: rs01-verify.c:245 rs02-verify.c:241 +#: rs01-verify.c:245 rs02-verify.c:241 rs03-verify.c:249 msgid "Image state" msgstr "Состояние образа" @@ -3568,15 +3723,15 @@ msgstr "Состояние образа" msgid "Error correction file summary" msgstr "Отчет по файлу для исправления ошибок" -#: rs01-verify.c:275 rs02-verify.c:271 +#: rs01-verify.c:275 rs02-verify.c:271 rs03-verify.c:218 msgid "Created by:" msgstr "Создано:" -#: rs01-verify.c:283 rs02-verify.c:279 +#: rs01-verify.c:283 rs02-verify.c:279 rs03-verify.c:209 msgid "Method:" msgstr "Метод:" -#: rs01-verify.c:291 rs02-verify.c:287 +#: rs01-verify.c:291 rs02-verify.c:287 rs03-verify.c:227 msgid "Requires:" msgstr "Требует:" @@ -3596,19 +3751,19 @@ msgstr "Контрольная сумма ecc:" msgid "Comparison aborted" msgstr "Сравнение прервано" -#: rs01-verify.c:390 rs01-verify.c:516 +#: rs01-verify.c:390 rs01-verify.c:520 msgid "Comparing image and error correction files." msgstr "Сравнение файлов образа и исправления ошибок." -#: rs01-verify.c:391 +#: rs01-verify.c:391 rs03-verify.c:799 rs03-verify.c:809 msgid "- Checking image file -" msgstr "- Проверка файла образа -" -#: rs01-verify.c:407 rs01-verify.c:522 +#: rs01-verify.c:407 rs01-verify.c:526 msgid "not present\n" msgstr "отсутствует\n" -#: rs01-verify.c:414 rs02-verify.c:587 +#: rs01-verify.c:414 rs02-verify.c:592 #, c-format msgid "present, contains %lld medium sectors.\n" msgstr "присутствует, содержит %lld секторов носителя.\n" @@ -3618,37 +3773,41 @@ msgstr "присутствует, содержит %lld секторов нос msgid "present, contains %lld medium sectors and %d bytes.\n" msgstr "присутствует, содержит %lld секторов носителя и %d байт.\n" -#: rs01-verify.c:422 rs01-verify.c:651 rs01-verify.c:698 +#: rs01-verify.c:422 rs01-verify.c:655 rs01-verify.c:702 #, c-format msgid "%lld sectors + %d bytes" msgstr "%lld секторов + %d байт" -#: rs01-verify.c:443 +#: rs01-verify.c:444 #, c-format msgid "* truncated image : %lld sectors too short\n" msgstr "* укороченный образ : на %lld секторов меньше, чем надо\n" -#: rs01-verify.c:446 +#: rs01-verify.c:447 #, c-format msgid "%lld (%lld sectors too short)" msgstr "%lld (%lld секторов слишком короткие)" -#: rs01-verify.c:467 +#: rs01-verify.c:468 #, c-format msgid "* image too long : %lld excess sectors\n" msgstr "* образ слишком длинный : %lld лишних секторов\n" -#: rs01-verify.c:470 +#: rs01-verify.c:471 #, c-format msgid "%lld (%lld excess sectors)" msgstr "%lld (%lld лишние сектора)" -#: rs01-verify.c:473 rs01-verify.c:507 +#: rs01-verify.c:474 rs01-verify.c:511 #, c-format msgid "Bad image." msgstr "Плохой образ." -#: rs01-verify.c:483 +#: rs01-verify.c:479 rs02-verify.c:685 rs03-verify.c:1010 +msgid "* quick mode : image NOT scanned\n" +msgstr "" + +#: rs01-verify.c:487 #, c-format msgid "" "- good image : all sectors present\n" @@ -3657,12 +3816,12 @@ msgstr "" "- хороший образ : все сектора есть\n" "- md5sum образа : %s\n" -#: rs01-verify.c:486 rs02-verify.c:883 +#: rs01-verify.c:490 rs02-verify.c:893 rs03-verify.c:1305 #, c-format msgid "Good image." msgstr "Хороший образ." -#: rs01-verify.c:491 +#: rs01-verify.c:495 #, c-format msgid "" "* suspicious image : all sectors present, but %lld CRC errors\n" @@ -3671,58 +3830,58 @@ msgstr "" "* подозрительный образ : все сектора есть, но %lld CRC-ошибок\n" "- md5sum образа : %s\n" -#: rs01-verify.c:495 +#: rs01-verify.c:499 #, c-format msgid "Image complete, but contains checksum errors!" msgstr "Образ завершен, но содержит ошибки контрольной суммы!" -#: rs01-verify.c:502 rs02-verify.c:850 +#: rs01-verify.c:506 rs02-verify.c:860 #, c-format msgid "* BAD image : %lld sectors missing\n" msgstr "* ПЛОХОЙ образ : %lld секторов не хватает\n" -#: rs01-verify.c:503 rs02-verify.c:854 +#: rs01-verify.c:507 rs02-verify.c:864 rs03-verify.c:1257 #, c-format msgid "* BAD image : %lld sectors missing, %lld CRC errors\n" msgstr "* ПЛОХОЙ образ : %lld секторов не хватает, %lld CRC-ошибок\n" -#: rs01-verify.c:517 +#: rs01-verify.c:521 rs03-verify.c:1215 msgid "- Checking ecc file -" msgstr "- Проверка ecc-файла -" -#: rs01-verify.c:525 +#: rs01-verify.c:529 msgid "No error correction file present." msgstr "Нет файла для исправления ошибок." -#: rs01-verify.c:567 rs02-verify.c:913 +#: rs01-verify.c:571 rs02-verify.c:923 msgid "created by dvdisaster" msgstr "создано с помощью dvdisaster" -#: rs01-verify.c:584 rs02-verify.c:930 +#: rs01-verify.c:588 rs02-verify.c:940 #, c-format msgid "created by dvdisaster-%d.%d\n" msgstr "создано с помощью dvdisaster-%d.%d\n" -#: rs01-verify.c:593 +#: rs01-verify.c:597 msgid "created by dvdisaster-0.41.x.\n" msgstr "создано с помощью dvdisaster-0.41.x.\n" -#: rs01-verify.c:599 rs02-verify.c:943 +#: rs01-verify.c:603 rs02-verify.c:953 rs03-verify.c:859 #, c-format msgid "- method : %4s, %d roots, %4.1f%% redundancy.\n" msgstr "- метод : %4s, %d корней, избыточность %4.1f%%.\n" -#: rs01-verify.c:603 rs02-verify.c:948 +#: rs01-verify.c:607 rs02-verify.c:958 rs03-verify.c:864 #, c-format msgid "%4s, %d roots, %4.1f%% redundancy" msgstr "%4s, %d корней, избыточность %4.1f%%" -#: rs01-verify.c:608 rs02-verify.c:955 +#: rs01-verify.c:612 rs02-verify.c:965 #, c-format msgid "- requires : dvdisaster-%d.%d (good)\n" msgstr "- требуется : dvdisaster-%d.%d (хорошо)\n" -#: rs01-verify.c:617 rs02-verify.c:966 +#: rs01-verify.c:621 rs02-verify.c:976 #, c-format msgid "" "* requires : dvdisaster-%d.%d (BAD)\n" @@ -3733,197 +3892,202 @@ msgstr "" "* Внимание : Следующий результат может быть неправильным.\n" "* : Посетите http://www.dvdisaster.com за обновлением.\n" -#: rs01-verify.c:630 rs02-verify.c:980 +#: rs01-verify.c:634 rs02-verify.c:990 rs03-verify.c:935 #, c-format msgid "Please upgrade your version of dvdisaster!" msgstr "Обновите Вашу версию программы dvdisaster!" -#: rs01-verify.c:642 +#: rs01-verify.c:646 #, c-format msgid "- medium sectors : %lld (good)\n" msgstr "- сектора носителя : %lld (хорошо)\n" -#: rs01-verify.c:647 +#: rs01-verify.c:651 #, c-format msgid "- medium sectors : %lld sectors + %d bytes (good)\n" msgstr "- сектора носителя : %lld секторов + %d байт (хорошо)\n" -#: rs01-verify.c:657 rs02-verify.c:996 +#: rs01-verify.c:661 rs02-verify.c:1006 #, c-format msgid "* medium sectors : %lld (BAD, perhaps TAO/DAO mismatch)\n" msgstr "* сектора носителя : %lld (ПЛОХО, возможно, несоответствие TAO/DAO)\n" -#: rs01-verify.c:666 rs02-verify.c:998 +#: rs01-verify.c:670 rs02-verify.c:1008 #, c-format msgid "* medium sectors : %lld (BAD)\n" msgstr "* сектора носителя : %lld (ПЛОХО)\n" -#: rs01-verify.c:670 rs01-verify.c:681 +#: rs01-verify.c:674 rs01-verify.c:685 #, c-format msgid "Image size does not match error correction file." msgstr "Размер образа не соответствует файлу для исправления ошибок." -#: rs01-verify.c:674 +#: rs01-verify.c:678 #, c-format msgid "* medium sectors : %lld sectors + %d bytes (BAD)\n" msgstr "* сектора носителя : %lld секторов + %d байт (ПЛОХО)\n" -#: rs01-verify.c:678 +#: rs01-verify.c:682 #, c-format msgid "%lld sectors + %d bytes" msgstr "%lld секторов + %d байт" -#: rs01-verify.c:689 +#: rs01-verify.c:693 #, c-format msgid "- medium sectors : %lld\n" msgstr "- секторов носителя : %lld\n" -#: rs01-verify.c:694 +#: rs01-verify.c:698 #, c-format msgid "- medium sectors : %lld sectors + %d bytes\n" msgstr "- секторов носителя : %lld секторов + %d байт\n" -#: rs01-verify.c:708 +#: rs01-verify.c:713 #, c-format msgid "- image md5sum : %s (good)\n" msgstr "- md5sum образа : %s (хорошо)\n" -#: rs01-verify.c:709 +#: rs01-verify.c:714 #, c-format msgid "* image md5sum : %s (BAD)\n" msgstr "* md5sum образа : %s (ПЛОХО)\n" -#: rs01-verify.c:719 +#: rs01-verify.c:724 #, c-format msgid "- image md5sum : %s\n" msgstr "- md5sum образа : %s\n" -#: rs01-verify.c:726 +#: rs01-verify.c:732 msgid "* fingerprint match: NOT POSSIBLE - related sector is missing in image!\n" msgstr "* соответствие отпечатка: НЕВОЗМОЖНО - соответствующий сектор отсутствует в образе!\n" -#: rs01-verify.c:728 +#: rs01-verify.c:734 #, c-format msgid "missing sector prevents calculation" msgstr "недостающие сектора мешают расчету" -#: rs01-verify.c:732 +#: rs01-verify.c:738 msgid "* fingerprint match: MISMATCH - .iso and .ecc don't belong together!\n" msgstr "* соответствие отпечатка: НЕСООТВЕТСТВИЕ - .iso и .ecc не подходят друг к другу!\n" -#: rs01-verify.c:735 +#: rs01-verify.c:741 #, c-format msgid "mismatch" msgstr "несоответствие" -#: rs01-verify.c:738 +#: rs01-verify.c:744 #, c-format msgid "Image and error correction files do not belong together!" msgstr "Образ и файл для исправления ошибок не относятся друг к другу!" -#: rs01-verify.c:742 +#: rs01-verify.c:748 msgid "- fingerprint match: good\n" msgstr "- соответствие отпечатка: хорошее\n" -#: rs01-verify.c:744 +#: rs01-verify.c:750 msgid "good" msgstr "хорошо" -#: rs01-verify.c:752 +#: rs01-verify.c:755 +msgid "* quick mode : ecc file NOT scanned\n" +msgstr "" + +#: rs01-verify.c:763 #, c-format msgid "- ecc blocks : %lld (good)\n" msgstr "- ecc-блоки : %lld (хорошо)\n" -#: rs01-verify.c:757 +#: rs01-verify.c:768 #, c-format msgid "* ecc blocks : %lld (BAD, expected %lld)\n" msgstr "* ecc-блоки : %lld (ПЛОХО, ожидалось %lld)\n" -#: rs01-verify.c:759 +#: rs01-verify.c:770 #, c-format msgid "%lld (bad, expected %lld)" msgstr "%lld (плохо, ожидалось %lld)" -#: rs01-verify.c:780 +#: rs01-verify.c:791 #, c-format msgid "- ecc md5sum : %3d%%" msgstr "- ecc md5sum : %3d%%" -#: rs01-verify.c:795 +#: rs01-verify.c:806 msgid "* ecc md5sum : BAD, ecc file may be damaged!\n" msgstr "* ecc md5sum : ПЛОХО, ecc-файл может быть поврежден!\n" -#: rs01-verify.c:797 +#: rs01-verify.c:808 #, c-format msgid "bad" msgstr "плохо" -#: rs01-verify.c:799 +#: rs01-verify.c:810 #, c-format msgid "Error correction file may be damaged!" msgstr "Файл для исправления ошибок может быть поврежден!" -#: rs01-verify.c:803 rs02-verify.c:1064 +#: rs01-verify.c:814 rs02-verify.c:1077 #, c-format msgid "- ecc md5sum : %s (good)\n" msgstr "- ecc md5sum : %s (хорошо)\n" -#: rs01-verify.c:817 +#: rs01-verify.c:828 #, c-format msgid "Good error correction file." msgstr "Хороший файл для исправления ошибок." -#: rs01-window.c:125 rs02-window.c:87 +#: rs01-window.c:138 rs02-window.c:87 rs03s-window.c:85 rs03-window.c:92 msgid "2. Creating error correction data:" msgstr "2. Создание данных для для исправления ошибок:" -#: rs01-window.c:149 +#: rs01-window.c:162 msgid "Show reading speed curve" msgstr "показать кривую скорости чтения" -#: rs01-window.c:188 rs02-window.c:139 +#: rs01-window.c:201 rs02-window.c:139 rs03-window.c:172 #, c-format msgid "Repaired: %lld" msgstr "Исправлено: %lld" -#: rs01-window.c:189 rs02-window.c:140 +#: rs01-window.c:202 rs02-window.c:140 rs03-window.c:173 #, c-format msgid "Unrepairable: %lld" msgstr "Не исправляются: %lld" -#: rs01-window.c:190 rs02-window.c:141 +#: rs01-window.c:203 rs02-window.c:141 rs03-window.c:174 #, c-format msgid "Progress: %3d.%1d%%" msgstr "Прогресс: %3d.%1d%%" -#: rs01-window.c:398 rs02-window.c:346 +#: rs01-window.c:411 rs02-window.c:346 rs03-window.c:379 msgid "Errors/Ecc block" msgstr "Ошибки/Ecc-блок" -#: rs01-window.c:430 rs02-window.c:372 +#: rs01-window.c:447 rs02-window.c:376 rs03-preferences.c:244 +#: rs03-preferences.c:254 #, c-format msgid "%4.1f%% redundancy (%d roots)" msgstr "избыточность %4.1f%% (%d корней)" -#: rs01-window.c:447 rs01-window.c:784 rs01-window.c:790 rs01-window.c:791 -#: rs02-window.c:389 rs02-window.c:1143 rs02-window.c:1149 rs02-window.c:1150 +#: rs01-window.c:464 rs01-window.c:867 rs01-window.c:873 rs01-window.c:874 +#: rs02-window.c:393 rs02-window.c:1149 rs02-window.c:1155 rs02-window.c:1156 #, c-format msgid "%d MB of file cache" msgstr "%d МБ файлового буфера" -#: rs01-window.c:584 +#: rs01-window.c:666 rs03-preferences.c:530 msgid "Redundancy for new error correction files" msgstr "Избыточность для новых файлов исправления ошибок" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal redundancy" msgstr "Нормальная избыточность" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal" msgstr "Нормальная" -#: rs01-window.c:615 +#: rs01-window.c:697 rs03-preferences.c:579 #, c-format msgid "" "Normal redundancy\n" @@ -3936,15 +4100,15 @@ msgstr "" "Предустановленный параметр \"нормальная\" создает избыточность в 14.3%%.\n" "Это позволяет использовать оптимизированный программный код для ускорения создания файла для исправления ошибок." -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High redundancy" msgstr "Высокая избыточность" -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High" msgstr "Высокая" -#: rs01-window.c:644 +#: rs01-window.c:726 rs03-preferences.c:608 #, c-format msgid "" "High redundancy\n" @@ -3957,15 +4121,15 @@ msgstr "" "Предустановленный параметр \"high\" создает избыточность в 33.5%%.\n" "Это позволяет использовать оптимизированный программный код для ускорения создания файла для исправления ошибок." -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other redundancy" msgstr "Другая избыточность" -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other" msgstr "Другая" -#: rs01-window.c:690 +#: rs01-window.c:772 rs03-preferences.c:654 #, c-format msgid "" "Other redundancy\n" @@ -3978,19 +4142,19 @@ msgstr "" "Задает избыточность в процентах.\n" "Файл для исправления ошибок с избыточностью в x%% будет составлять приблизительно x%% размера соответствующего файла образа." -#: rs01-window.c:698 +#: rs01-window.c:780 rs03-preferences.c:662 msgid "Space-delimited redundancy" msgstr "Избыточность, ограниченная местом" -#: rs01-window.c:698 rs02-window.c:1075 +#: rs01-window.c:780 rs02-window.c:1081 rs03-preferences.c:662 msgid "Use at most" msgstr "Использовать не больше" -#: rs01-window.c:722 +#: rs01-window.c:804 rs03-preferences.c:686 msgid "MB for error correction data" msgstr "МБ для данных для исправления ошибок" -#: rs01-window.c:739 +#: rs01-window.c:821 rs03-preferences.c:703 msgid "" "Space-delimited redundancy\n" "\n" @@ -4004,19 +4168,19 @@ msgstr "" "\n" "Предупреждение: Когда один и тот же размер используется для образов очень разного размера, для меньших образов получается избыточность больше, чем для более крупных. Обычно это не то, что Вам нужно." -#: rs01-window.c:781 rs02-window.c:1140 +#: rs01-window.c:864 rs02-window.c:1146 msgid "Memory utilization" msgstr "Использование памяти" -#: rs01-window.c:785 rs02-window.c:1144 +#: rs01-window.c:868 rs02-window.c:1150 msgid "File cache" msgstr "Файловый буфер" -#: rs01-window.c:797 rs02-window.c:1156 +#: rs01-window.c:880 rs02-window.c:1162 rs03-preferences.c:818 msgid "Use" msgstr "Используется" -#: rs01-window.c:825 rs02-window.c:1184 +#: rs01-window.c:908 rs02-window.c:1190 msgid "" "File cache\n" "\n" @@ -4026,22 +4190,22 @@ msgstr "" "\n" "dvdisaster оптимизирует доступ к образам и файлам для исправления ошибок с помощью собственного буфера. Предустановленное значение в 32 МБ подходит для большинства систем." -#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:624 +#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:629 rs03-common.c:318 #, c-format msgid "Failed seeking to ecc header at %lld: %s\n" msgstr "Не удалось перейти к ecc-заголовку в %lld: %s\n" -#: rs02-common.c:336 rs02-common.c:348 +#: rs02-common.c:336 rs02-common.c:348 rs03-common.c:322 #, c-format msgid "Failed writing ecc header at %lld: %s\n" msgstr "Не удалось записать ecc-заголовок в %lld: %s\n" -#: rs02-create.c:107 +#: rs02-create.c:107 rs03-create.c:180 rs03s-create.c:174 #, c-format msgid "Aborted by user request! (partial ecc data removed from image)" msgstr "Прервано пользователем! (незавершенные ecc-данные удалены из образа)" -#: rs02-create.c:139 +#: rs02-create.c:143 rs03-create.c:237 rs03s-create.c:219 #, c-format msgid "" "Image \"%s\" already contains error correction information.\n" @@ -4050,7 +4214,7 @@ msgstr "" "Образ \"%s\" уже содержит информацию для для исправления ошибок.\n" "Укорочение образа до части с данными (%lld секторов).\n" -#: rs02-create.c:206 +#: rs02-create.c:210 msgid "" "Image contains unread(able) sectors.\n" "Error correction information can only be\n" @@ -4060,7 +4224,7 @@ msgstr "" "Информация для исправления ошибок может быть лишь\n" "добавлена к полным (неповрежденным) образам.\n" -#: rs02-create.c:210 +#: rs02-create.c:214 #, c-format msgid "" "Sector %lld in the image is marked unreadable\n" @@ -4085,26 +4249,29 @@ msgstr "" "Информация для исправления ошибок может быть\n" "добавлена только к полным (неповрежденным) образам.\n" -#: rs02-create.c:228 rs02-create.c:292 rs02-create.c:301 +#: rs02-create.c:232 rs02-create.c:296 rs02-create.c:305 #, c-format msgid "Preparing image (checksums, adding space): %3d%%" msgstr "Подготовка образа (контрольные суммы, увеличение размера): %3d%%" -#: rs02-create.c:263 rs02-create.c:273 rs02-fix.c:91 +#: rs02-create.c:267 rs02-create.c:277 rs02-fix.c:91 rs03-create.c:324 +#: rs03-create.c:335 rs03-fix.c:96 rs03s-create.c:307 rs03s-create.c:318 #, c-format msgid "Failed seeking to end of image: %s\n" msgstr "Не удалось перейти к концу образа: %s\n" -#: rs02-create.c:267 rs02-create.c:288 rs02-fix.c:104 +#: rs02-create.c:271 rs02-create.c:292 rs02-fix.c:104 rs03-create.c:309 +#: rs03-fix.c:110 #, c-format msgid "Failed expanding the image: %s\n" msgstr "Не удалось увеличить образ: %s\n" -#: rs02-create.c:1025 +#: rs02-create.c:1029 rs03-create.c:1055 rs03s-create.c:1037 msgid "Error correction data creation aborted" msgstr "Создание данных для исправления ошибок прервано" -#: rs02-create.c:1029 rs02-create.c:1049 +#: rs02-create.c:1033 rs02-create.c:1053 rs03-create.c:1059 rs03-create.c:1088 +#: rs03s-create.c:1041 rs03s-create.c:1070 #, c-format msgid "" "Augmenting the image with error correction data.\n" @@ -4113,16 +4280,16 @@ msgstr "" "Присоединение к образу данных для исправления ошибок.\n" "%s" -#: rs02-create.c:1030 +#: rs02-create.c:1034 rs03-create.c:1060 rs03s-create.c:1042 msgid "- checking image -" msgstr "- проверка образа -" -#: rs02-create.c:1045 +#: rs02-create.c:1049 #, c-format msgid "Encoding with Method RS02: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." msgstr "Кодирование методом RS02: %lld МБ данных, %lld МБ ecc (%d корней; избыточность %4.1f%%)." -#: rs02-create.c:1053 +#: rs02-create.c:1057 #, c-format msgid "" "Augmenting image with Method RS02:\n" @@ -4131,22 +4298,16 @@ msgstr "" "Увеличение образа с использованием метода RS02:\n" " %lld МБ данных, %lld МБ ecc (%d корней; избыточность %4.1f%%)." -#: rs02-create.c:1062 +#: rs02-create.c:1066 #, c-format msgid "" "Not enough space on medium left for error correction data.\n" "Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" "If reducing the image size or using a larger medium is\n" -"not an option, please create a separate error correction\n" -"file using the RS01 method.\n" +"not an option, please create a separate error correction file." msgstr "" -"Недостаточно места на носителе для данных для исправления ошибок.\n" -"Часть образа с данными: %lld сект.; максимальный возможный размер: %lld сект.\n" -"Если нельзя уменьшить размер образа или использовать носитель\n" -"большего размера, создайте отдельный файл для исправления ошибок,\n" -"с помощью метода RS01.\n" -#: rs02-create.c:1073 +#: rs02-create.c:1076 rs03-create.c:1124 rs03s-create.c:1101 #, c-format msgid "" "Using redundancies below 20%%%% may not give\n" @@ -4155,7 +4316,7 @@ msgstr "" "Применение избыточности менее 20%%%% может не дать\n" "ожидаемой защиты от потери данных.\n" -#: rs02-create.c:1105 rs02-create.c:1114 +#: rs02-create.c:1108 rs02-create.c:1117 rs03-create.c:1147 rs03-create.c:1172 #, c-format msgid "" "Image has been augmented with error correction data.\n" @@ -4164,7 +4325,7 @@ msgstr "" "Образ увеличен за счет добавления данных для исправления ошибок.\n" "Новый размер образа %lld МБ (%lld секторов).\n" -#: rs02-fix.c:110 rs02-fix.c:118 +#: rs02-fix.c:110 rs02-fix.c:118 rs03-fix.c:116 rs03-fix.c:124 #, c-format msgid "Expanding image: %3d%%" msgstr "Увеличение образа: %3d%%" @@ -4174,7 +4335,7 @@ msgstr "Увеличение образа: %3d%%" msgid "Image contains error correction data: Method RS02, %d roots, %4.1f%% redundancy." msgstr "Образ содержит данные для исправления ошибок: метод RS02, %d корней, избыточность %4.1f%%." -#: rs02-fix.c:217 +#: rs02-fix.c:217 rs03-fix.c:245 #, c-format msgid "" "The image file is %lld sectors longer as noted in the\n" @@ -4191,27 +4352,28 @@ msgstr "" "\n" "%s" -#: rs02-fix.c:468 +#: rs02-fix.c:468 rs03-fix.c:487 #, c-format msgid "* Ecc block %lld: %3d unrepairable sectors: " msgstr "* Ecc-блок %lld: %3d невосстановимые сектора: " -#: rs02-fix.c:687 +#: rs02-fix.c:687 rs03-fix.c:706 #, c-format msgid "-> CRC-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "-> Выявленная по CRC ошибка в секторе %lld в байте %4d (значение %02x '%c', ожидалось %02x '%c')\n" -#: rs02-fix.c:690 +#: rs02-fix.c:690 rs03-fix.c:709 #, c-format msgid "-> Non-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "-> Неожиданная ошибка в секторе %lld в байте %4d (значение %02x '%c', ожидалось %02x '%c')\n" -#: rs02-fix.c:812 +#: rs02-fix.c:812 rs03-fix.c:857 #, c-format msgid "Repaired sectors: %lld (%lld data, %lld ecc)\n" msgstr "Исправленные сектора: %lld (%lld data, %lld ecc)\n" -#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 +#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 rs03-verify.c:56 +#: rs03-verify.c:236 rs03-verify.c:280 msgid "Data checksum:" msgstr "Контрольная сумма данных:" @@ -4223,15 +4385,15 @@ msgstr "Контрольная сумма CRC:" msgid "Ecc headers:" msgstr "Ecc-заголовки:" -#: rs02-verify.c:213 +#: rs02-verify.c:213 rs03-verify.c:289 msgid "Data section:" msgstr "Раздел данных:" -#: rs02-verify.c:221 +#: rs02-verify.c:221 rs03-verify.c:298 msgid "Crc section:" msgstr "Раздел crc:" -#: rs02-verify.c:229 +#: rs02-verify.c:229 rs03-verify.c:307 msgid "Ecc section:" msgstr "Раздел ecc:" @@ -4239,77 +4401,78 @@ msgstr "Раздел ecc:" msgid "Error correction data" msgstr "Данные для исправления ошибок" -#: rs02-verify.c:503 +#: rs02-verify.c:503 rs03-verify.c:548 #, c-format msgid "- erasure counts : avg = %.1f; worst = %d per ecc block.\n" msgstr "- количество стертых областей : среднее = %.1f; наихудшее = %d на ecc-блок.\n" -#: rs02-verify.c:506 +#: rs02-verify.c:506 rs03-verify.c:551 #, c-format msgid "- prognosis : %lld of %lld sectors recoverable (%d.%d%%)\n" msgstr "- прогноз : %lld из %lld секторов восстановимы (%d.%d%%)\n" -#: rs02-verify.c:512 +#: rs02-verify.c:512 rs03-verify.c:555 msgid "Erasure counts:" msgstr "Количество стертых областей:" -#: rs02-verify.c:513 +#: rs02-verify.c:513 rs03-verify.c:556 msgid "Prognosis:" msgstr "Прогноз:" -#: rs02-verify.c:516 +#: rs02-verify.c:516 rs03-verify.c:559 #, c-format msgid "avg = %.1f; worst = %d per ecc block." msgstr "срдн. = %.1f; худш. = %d на ecc-блок." -#: rs02-verify.c:521 +#: rs02-verify.c:521 rs03-verify.c:564 #, c-format msgid "%lld of %lld sectors recoverable (%d.%d%%)" msgstr "%lld из %lld секторов можно восстановить (%d.%d%%)" -#: rs02-verify.c:569 +#: rs02-verify.c:574 rs03-verify.c:769 msgid "Check aborted" msgstr "Проверка прервана" -#: rs02-verify.c:583 +#: rs02-verify.c:588 rs03-verify.c:808 msgid "Checking the image file." msgstr "Проверка файла образа." -#: rs02-verify.c:584 +#: rs02-verify.c:589 msgid "Image contains error correction data." msgstr "Образ содержит данные для исправления ошибок." -#: rs02-verify.c:607 +#: rs02-verify.c:612 rs03-verify.c:1005 #, c-format msgid "Image file is %lld sectors shorter than expected." msgstr "Файл образа на %lld секторов короче, чем ожидалось." -#: rs02-verify.c:608 +#: rs02-verify.c:613 rs03-verify.c:1006 #, c-format msgid "Image file is %lld sectors longer than expected." msgstr "Файл образа на %lld секторов больше, чем ожидалось." -#: rs02-verify.c:628 +#: rs02-verify.c:633 #, c-format msgid "Failed reading ecc header at %lld: %s\n" msgstr "Не удалось прочитать ecc-заголовок в %lld: %s\n" -#: rs02-verify.c:671 +#: rs02-verify.c:676 #, c-format msgid "%lld ok, %lld CRC errors, %lld missing" msgstr "%lld ok, %lld CRC-ошибок, %lld не хватает" -#: rs02-verify.c:798 rs02-verify.c:819 +#: rs02-verify.c:808 rs02-verify.c:829 rs03-verify.c:1189 rs03-verify.c:1228 #, c-format msgid "%lld sectors missing; %lld CRC errors" msgstr "%lld секторов не хватает; %lld CRC-ошибок" -#: rs02-verify.c:802 rs02-verify.c:806 rs02-verify.c:823 rs02-verify.c:827 +#: rs02-verify.c:812 rs02-verify.c:816 rs02-verify.c:833 rs02-verify.c:837 +#: rs03-verify.c:1197 rs03-verify.c:1236 #, c-format msgid "%lld sectors missing" msgstr "%lld секторов не хватает" -#: rs02-verify.c:841 +#: rs02-verify.c:851 #, c-format msgid "" "- good image : all sectors present\n" @@ -4318,46 +4481,46 @@ msgstr "" "- хороший образ : все сектора есть\n" "- md5sum данных : %s\n" -#: rs02-verify.c:847 +#: rs02-verify.c:857 msgid "* suspicious image : contains damaged ecc headers\n" msgstr "* подозрительный образ : содержит поврежденные ecc-заголовки\n" -#: rs02-verify.c:852 +#: rs02-verify.c:862 rs03-verify.c:1254 #, c-format msgid "* suspicious image : all sectors present, but %lld CRC errors\n" msgstr "* подозрительный образ : все сектора есть, но %lld CRC-ошибок\n" -#: rs02-verify.c:858 +#: rs02-verify.c:868 #, c-format msgid " ... ecc headers : %lld ok, %lld CRC errors, %lld missing\n" msgstr " ... ecc-заголовков : %lld ok, %lld CRC-ошибок, %lld не хватает\n" -#: rs02-verify.c:860 +#: rs02-verify.c:870 rs03-verify.c:1260 #, c-format msgid " ... data section : %lld sectors missing; %lld CRC errors\n" msgstr " ... раздел данных : %lld секторов не хватает; %lld CRC-ошибок\n" -#: rs02-verify.c:863 +#: rs02-verify.c:873 rs03-verify.c:1263 #, c-format msgid " ... data md5sum : %s\n" msgstr " ... md5sum данных : %s\n" -#: rs02-verify.c:864 +#: rs02-verify.c:874 rs03-verify.c:1264 #, c-format msgid " ... crc section : %lld sectors missing\n" msgstr " ... раздел crc : %lld секторов не хватает\n" -#: rs02-verify.c:865 +#: rs02-verify.c:875 rs03-verify.c:1265 #, c-format msgid " ... ecc section : %lld sectors missing\n" msgstr " ... раздел ecc : %lld секторов не хватает\n" -#: rs02-verify.c:887 +#: rs02-verify.c:897 rs03-verify.c:1309 #, c-format msgid "Damaged image." msgstr "Поврежденный образ." -#: rs02-verify.c:894 +#: rs02-verify.c:904 msgid "" "\n" "Error correction data: " @@ -4365,88 +4528,88 @@ msgstr "" "\n" "Данные для исправления ошибок: " -#: rs02-verify.c:987 +#: rs02-verify.c:997 #, c-format msgid "- medium sectors : %lld / %lld (good)\n" msgstr "- секторов носителя : %lld / %lld (хорошо)\n" -#: rs02-verify.c:1004 +#: rs02-verify.c:1014 #, c-format msgid "Image size does not match recorded size." msgstr "Размер образа не совпадает с записанным размером." -#: rs02-verify.c:1015 +#: rs02-verify.c:1028 #, c-format msgid "- data md5sum : %s (good)\n" msgstr "- md5sum данных : %s (хорошо)\n" -#: rs02-verify.c:1016 +#: rs02-verify.c:1029 #, c-format msgid "* data md5sum : %s (BAD)\n" msgstr "* md5sum данных : %s (ПЛОХО)\n" -#: rs02-verify.c:1027 +#: rs02-verify.c:1040 rs03-verify.c:949 #, c-format msgid "- data md5sum : %s\n" msgstr "- md5sum данных : %s\n" -#: rs02-verify.c:1039 +#: rs02-verify.c:1052 #, c-format msgid "- crc md5sum : %s (good)\n" msgstr "- crc md5sum : %s (хорошо)\n" -#: rs02-verify.c:1044 +#: rs02-verify.c:1057 #, c-format msgid "* crc md5sum : %s (BAD)\n" msgstr "* crc md5sum : %s (ПЛОХО)\n" -#: rs02-verify.c:1052 +#: rs02-verify.c:1065 #, c-format msgid "- crc md5sum : %s\n" msgstr "- crc md5sum : %s\n" -#: rs02-verify.c:1069 +#: rs02-verify.c:1082 #, c-format msgid "* ecc md5sum : %s (BAD)\n" msgstr "* ecc md5sum : %s (ПЛОХО)\n" -#: rs02-verify.c:1077 +#: rs02-verify.c:1090 #, c-format msgid "- ecc md5sum : %s\n" msgstr "- ecc md5sum : %s\n" -#: rs02-verify.c:1096 +#: rs02-verify.c:1109 #, c-format msgid "Good error correction data." msgstr "Хорошие данные для исправления ошибок." -#: rs02-verify.c:1100 +#: rs02-verify.c:1113 rs03-verify.c:1321 #, c-format msgid "Full data recovery is likely." msgstr "Вероятно полное восстановление данных." -#: rs02-verify.c:1103 +#: rs02-verify.c:1116 rs03-verify.c:1324 #, c-format msgid "Full data recovery is NOT possible." msgstr "Полное восстановление данных НЕВОЗМОЖНО." -#: rs02-window.c:78 +#: rs02-window.c:78 rs03s-window.c:76 msgid "1. Preparing image:" msgstr "1. Подготовка образа:" -#: rs02-window.c:704 +#: rs02-window.c:710 msgid "Maximum image size" msgstr "Максимальный размер образа" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Using the smallest possible size from table" msgstr "Используется наименьший возможный размер из таблицы" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Use smallest possible size from following table (in sectors):" msgstr "Использовать наименьший возможный размер из следующей таблицы (в секторах):" -#: rs02-window.c:740 +#: rs02-window.c:746 msgid "" "Determine augmented image size from table\n" "\n" @@ -4460,17 +4623,17 @@ msgstr "" "\n" "Чтобы выбрать подходящий носитель, нужно знать размеры имеющихся носителей. В таблице даны стандартные размеры CD и одно-/двухслойных DVD. Вы можете изменять эти размеры в соответствии с Вашими потребностями." -#: rs02-window.c:759 +#: rs02-window.c:765 msgid "CD-R / CD-RW:" msgstr "CD-R / CD-RW:" -#: rs02-window.c:770 rs02-window.c:789 rs02-window.c:830 rs02-window.c:849 -#: rs02-window.c:890 rs02-window.c:909 rs02-window.c:950 rs02-window.c:969 -#: rs02-window.c:1009 rs02-window.c:1028 +#: rs02-window.c:776 rs02-window.c:795 rs02-window.c:836 rs02-window.c:855 +#: rs02-window.c:896 rs02-window.c:915 rs02-window.c:956 rs02-window.c:975 +#: rs02-window.c:1015 rs02-window.c:1034 msgid "query medium" msgstr "запросить носитель" -#: rs02-window.c:801 +#: rs02-window.c:807 #, c-format msgid "" "CD medium size\n" @@ -4493,11 +4656,11 @@ msgstr "" "Обратите внимание, что расширенные образы по крайней мере утраиваются в размере, так как наибольшая возможная избыточность составляет 200%%.\n" "Даже если этот предел не достигнут, расширенный образ по техническим причинам может быть на несколько сегментов меньше, чем задан." -#: rs02-window.c:819 +#: rs02-window.c:825 msgid "DVD 1 layer:" msgstr "Однослойный DVD:" -#: rs02-window.c:861 +#: rs02-window.c:867 #, c-format msgid "" "Single layer DVD medium size\n" @@ -4520,11 +4683,11 @@ msgstr "" "Имейте в виду, что расширенные образы по крайней мере утраиваются в размере, так как наибольшая возможная избыточность составляет 200%%.\n" "Даже если этот предел не достигается, расширенный образ по техническим причинам может быть на несколько секторов меньше, чем указано." -#: rs02-window.c:879 +#: rs02-window.c:885 msgid "DVD 2 layers:" msgstr "Двухслойный DVD:" -#: rs02-window.c:921 +#: rs02-window.c:927 #, c-format msgid "" "Two layered DVD medium size\n" @@ -4547,11 +4710,11 @@ msgstr "" "Обратите внимание, что расширенные образы по меньшей мере утраиваются в размере, так как наибольшая возможная избыточность составляет 200%%.\n" "Даже если этот предел не достигается, расширенный образ по техническим причинам может быть на несколько секторов меньше, чем указано." -#: rs02-window.c:939 +#: rs02-window.c:945 msgid "BD 1 layer:" msgstr "1 слой BD:" -#: rs02-window.c:981 +#: rs02-window.c:987 #, c-format msgid "" "Single layer BD medium size\n" @@ -4574,11 +4737,11 @@ msgstr "" "Имейте в виду, что расширенные образы будут по крайней мере в три раза больше размером, так как максимальная возможная избыточность составляет 200%%.\n" "Даже если этот предел не достигнут, расширенный образ может быть на несколько секторов меньше, чем указано, по техническим причинам." -#: rs02-window.c:998 +#: rs02-window.c:1004 msgid "BD 2 layers:" msgstr "2 слоя BD:" -#: rs02-window.c:1040 +#: rs02-window.c:1046 #, c-format msgid "" "Two layered BD medium size\n" @@ -4601,11 +4764,11 @@ msgstr "" "Имейте в виду, что расширенные образы будут по крайней мере в три раза больше размером, так как максимальная возможная избыточность составляет 200%%.\n" "Даже если этот предел не достигнут, расширенный образ может быть на несколько секторов меньше, чем указано, по техническим причинам." -#: rs02-window.c:1095 +#: rs02-window.c:1101 msgid "sectors." msgstr "секторов." -#: rs02-window.c:1108 +#: rs02-window.c:1114 #, c-format msgid "" "Use at most ... sectors\n" @@ -4624,6 +4787,491 @@ msgstr "" "Обратите внимание, что расширенные образы самое большее утраиваются в размере, так как наибольшая возможная избыточность составляет 200%%.\n" "Даже если этот предел не достигается, расширенный образ по техническим причинам может быть на несколько секторов меньше, чем указано." +#: rs03-common.c:192 +#, c-format +msgid "Redundancy %4.1f%% out of useful range [3.2%%..200%%]" +msgstr "" + +#: rs03-common.c:222 +#, c-format +msgid "Redundancy %d out of useful range [8..170]." +msgstr "" + +#: rs03-create.c:304 +#, c-format +msgid "Failed expanding the ecc file: %s\n" +msgstr "" + +#: rs03-create.c:305 +#, c-format +msgid "Preparing ecc file: %3d%%" +msgstr "" + +#: rs03-create.c:310 +#, c-format +msgid "Preparing image: %3d%%" +msgstr "" + +#: rs03-create.c:507 +#, c-format +msgid "" +"Incomplete image\n" +"\n" +"The image contains missing sectors,\n" +"e.g. sector %lld.\n" +"%sError correction data works like a backup; it must\n" +"be created when the image is still fully readable.\n" +"Exiting and removing partial error correction data." +msgstr "" + +#: rs03-create.c:515 +msgid "" +"\n" +"This image was probably mastered from defective source(s).\n" +"Perform a \"Verify\" action for more information.\n" +"\n" +msgstr "" + +#: rs03-create.c:740 +msgid "CPU bound" +msgstr "" + +#: rs03-create.c:744 +msgid "I/O bound" +msgstr "" + +#: rs03-create.c:915 +#, c-format +msgid "%5.2fMB/s current" +msgstr "" + +#: rs03-create.c:959 +#, c-format +msgid "%d threads with 128bit intrinsics" +msgstr "" + +#: rs03-create.c:962 rs03-preferences.c:290 rs03-preferences.c:805 +#: rs03-preferences.c:811 rs03-preferences.c:812 +#, c-format +msgid "%d threads" +msgstr "" + +#: rs03-create.c:1083 rs03s-create.c:1066 +#, c-format +msgid "Encoding with Method RS03: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "Кодирование методом RS03: %lld МБ данные, %lld МБ ecc (%d корней; избыточность %4.1f%%)." + +#: rs03-create.c:1098 +#, c-format +msgid "" +"Augmenting image with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1103 +#, c-format +msgid "" +"Creating the error correction file with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1114 rs03s-create.c:1091 +#, c-format +msgid "" +"Not enough space on medium left for error correction data.\n" +"Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" +"If reducing the image size or using a larger medium is not\n" +"an option, please create a separate error correction file." +msgstr "" + +#: rs03-create.c:1158 +#, c-format +msgid "Avg performance: %5.2fs (%5.2fMB/s) total\n" +msgstr "Ср. производительность: %5.2fs (%5.2fМБ/с) в сумме\n" + +#: rs03-create.c:1161 +#, c-format +msgid "%5.2fMB/s average" +msgstr "" + +#: rs03-create.c:1163 +#, c-format +msgid "%d times CPU bound; %d times I/O bound" +msgstr "" + +#: rs03-fix.c:224 +#, c-format +msgid "Error correction file using Method RS03, %d roots, %4.1f%% redundancy." +msgstr "" + +#: rs03-fix.c:228 +#, c-format +msgid "Image contains error correction data: Method RS03, %d roots, %4.1f%% redundancy." +msgstr "Образ содержит данные для исправления ошибок: метод RS03, %d корней, избыточность%4.1f%%." + +#: rs03-fix.c:798 +#, c-format +msgid "Failed seeking to sector %lld in ecc file [%s]: %s" +msgstr "" + +#: rs03-fix.c:803 +#, c-format +msgid "" +"could not write ecc file sector %lld:\n" +"%s" +msgstr "" + +#: rs03-preferences.c:271 rs03-preferences.c:749 rs03-preferences.c:755 +#: rs03-preferences.c:756 +#, c-format +msgid "%d sectors" +msgstr "" + +#: rs03-preferences.c:443 +msgid "Warning: This codec is experimental and for evaluation only. It is not yet fully implemented and does contain bugs. Future dvdisaster versions may not be compatible with it. Do not yet use this codec for any archival purposes." +msgstr "" + +#: rs03-preferences.c:460 rs03-preferences.c:467 +msgid "Error correction data storage" +msgstr "" + +#: rs03-preferences.c:468 +msgid "Store ECC data in: " +msgstr "" + +#: rs03-preferences.c:480 +msgid "File" +msgstr "" + +#: rs03-preferences.c:507 +msgid "" +"Error correction data storage\n" +"\n" +"Select between two ways of storing the error correction information:\n" +msgstr "" + +#: rs03-preferences.c:512 +msgid "" +"Augmented image (recommended)\n" +"The error correction data will be stored along with the user data on the same medium. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image and fill up the remaining space.\n" +"Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required.\n" +msgstr "" + +#: rs03-preferences.c:522 +msgid "" +"Error correction file\n" +"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster. This prevents from losing the error correction files in case of a medium defect.\n" +msgstr "" + +#: rs03-preferences.c:542 +msgid "no settings for augmented images" +msgstr "" + +#: rs03-preferences.c:746 +msgid "Sector prefetch" +msgstr "" + +#: rs03-preferences.c:750 +msgid "Sector prefetching" +msgstr "" + +#: rs03-preferences.c:762 +msgid "Prefetch" +msgstr "" + +#: rs03-preferences.c:790 +msgid "" +"Sector preloading\n" +"\n" +"dvdisaster optimizes access to the image and error correction data by preloading and caching parts of them.\n" +"\n" +"The optimal preload value depends on the storage system used for the image and error correction files.\n" +"Use small preload values for systems with low latency and seek time, e.g. SSDs. For magnetic hard disks performace may be better using larger preload values.\n" +"\n" +"A preload value of n will used approx. n MB of RAM." +msgstr "" + +#: rs03-preferences.c:802 rs03-preferences.c:806 +msgid "Multithreading" +msgstr "" + +#: rs03-preferences.c:846 +msgid "" +"Multithreading\n" +"\n" +"RS03 can use multiple threads (and therefore CPU cores)for encoding.\n" +"For systems with 4 cores or less, set the number of threads to the number of cores. If you have more cores, leave one unused for doing I/O and graphics updates.\n" +"E.g. use 7 threads on an 8 core system.\n" +"\n" +"Performance will not scale linearly with the number of CPU cores. Hard disk performance is more limiting than raw CPU power. When using 4 cores or more, memory bandwidth may also affect performance." +msgstr "" + +#: rs03s-create.c:1075 +#, c-format +msgid "" +"Augmenting image with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03s-create.c:1080 +#, c-format +msgid "" +"Creating the error correction file with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-verify.c:189 +msgid "Error correction properties" +msgstr "" + +#: rs03-verify.c:200 +msgid "Type:" +msgstr "" + +#: rs03-verify.c:260 +msgid "Data integrity" +msgstr "" + +#: rs03-verify.c:316 rs03-verify.c:1281 +msgid "Ecc block test:" +msgstr "" + +#: rs03-verify.c:423 +#, c-format +msgid "Failed seeking to sector %lld in ecc file: %s" +msgstr "" + +#: rs03-verify.c:592 rs03-verify.c:798 rs03-verify.c:1214 +msgid "Checking the image and error correction files." +msgstr "" + +#: rs03-verify.c:593 +msgid "- Checking ecc blocks (deep verify) -" +msgstr "" + +#: rs03-verify.c:608 +#, c-format +msgid "Out of memory; try reducing sector prefetch!" +msgstr "" + +#: rs03-verify.c:610 +msgid "* Ecc block test : out of memory; try reducing sector prefetch!\n" +msgstr "" + +#: rs03-verify.c:700 +#, c-format +msgid "%d%% tested" +msgstr "" + +#: rs03-verify.c:702 +#, c-format +msgid "- Ecc block test : %d%% tested" +msgstr "" + +#: rs03-verify.c:708 +#, c-format +msgid "%lld good, %lld bad; %d%% tested" +msgstr "" + +#: rs03-verify.c:710 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %d%% tested" +msgstr "" + +#: rs03-verify.c:720 +msgid "pass" +msgstr "" + +#: rs03-verify.c:722 +msgid "- Ecc block test : pass\n" +msgstr "" + +#: rs03-verify.c:727 +#, c-format +msgid "%lld good, %lld bad; %lld bad sub blocks" +msgstr "" + +#: rs03-verify.c:729 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %lld bad sub blocks\n" +msgstr "" + +#: rs03-verify.c:782 +#, c-format +msgid "" +"\n" +"%s present.\n" +msgstr "" + +#: rs03-verify.c:801 +#, c-format +msgid "%s present.\n" +msgstr "" + +#: rs03-verify.c:821 +msgid "" +"\n" +"Error correction properties:\n" +msgstr "" + +#: rs03-verify.c:830 +#, c-format +msgid "Ecc file is %lld sectors shorter than expected." +msgstr "" + +#: rs03-verify.c:832 +#, c-format +msgid "Ecc file is %lld sectors longer than expected." +msgstr "" + +#: rs03-verify.c:838 +#, c-format +msgid "* Warning : %s\n" +msgstr "" + +#: rs03-verify.c:846 +msgid "- type : Error correction file\n" +msgstr "" + +#: rs03-verify.c:847 +msgid "- type : Augmented image\n" +msgstr "" + +#: rs03-verify.c:851 +msgid "Error correction file" +msgstr "" + +#: rs03-verify.c:852 +msgid "Augmented image" +msgstr "" + +#: rs03-verify.c:887 +msgid "- created by : dvdisaster" +msgstr "" + +#: rs03-verify.c:900 +#, c-format +msgid "- created by : dvdisaster-%d.%d\n" +msgstr "" + +#: rs03-verify.c:919 +#, c-format +msgid "- requires : dvdisaster-%s\n" +msgstr "" + +#: rs03-verify.c:925 +#, c-format +msgid "" +"* requires : dvdisaster-%s (BAD)\n" +"* Warning : The following output might be incorrect.\n" +"* : Please visit http://www.dvdisaster.com for an upgrade.\n" +msgstr "" + +#: rs03-verify.c:947 +msgid "none available" +msgstr "" + +#: rs03-verify.c:965 +msgid "" +"\n" +"Data integrity:\n" +msgstr "" + +#: rs03-verify.c:987 +#, c-format +msgid "%lld in image; %lld in ecc file" +msgstr "" + +#: rs03-verify.c:989 +#, c-format +msgid "- sectors : %lld in image; %lld in ecc file\n" +msgstr "" + +#: rs03-verify.c:994 +#, c-format +msgid "%lld total / %lld data" +msgstr "" + +#: rs03-verify.c:996 +#, c-format +msgid "- medium sectors : %lld total / %lld data\n" +msgstr "" + +#: rs03-verify.c:1002 +#, c-format +msgid "%lld (%lld expected)" +msgstr "" + +#: rs03-verify.c:1027 +#, c-format +msgid "Failed seeking to start of ecc file: %s\n" +msgstr "" + +#: rs03-verify.c:1073 +#, c-format +msgid "premature end in ecc file (only %d bytes): %s\n" +msgstr "" + +#: rs03-verify.c:1124 +msgid " (in ecc file)" +msgstr "" + +#: rs03-verify.c:1132 +#, c-format +msgid "* missing sector : %lld%s\n" +msgstr "" + +#: rs03-verify.c:1133 +#, c-format +msgid "* missing sectors : %lld - %lld%s\n" +msgstr "" + +#: rs03-verify.c:1193 rs03-verify.c:1232 +#, c-format +msgid "%lld sectors missing; %lld signature errors" +msgstr "" + +#: rs03-verify.c:1217 +msgid "Error correction file:" +msgstr "" + +#: rs03-verify.c:1248 +#, c-format +msgid "" +"- good image/file : all sectors present\n" +"- data md5sum : %s\n" +msgstr "" + +#: rs03-verify.c:1252 +#, c-format +msgid "* BAD image/file : %lld sectors missing\n" +msgstr "" + +#: rs03-verify.c:1287 +#, c-format +msgid "Skipped; not useful on known defective image" +msgstr "" + +#: rs03-verify.c:1290 +msgid "* Ecc block test : skipped; not useful on defective image\n" +msgstr "" + +#: rs03-window.c:83 +msgid "1. Reserving space:" +msgstr "" + +#: rs03-window.c:102 +msgid "Encoder info:" +msgstr "" + +#: rs03-window.c:111 +msgid "Performance:" +msgstr "" + +#: rs03-window.c:120 +msgid "State:" +msgstr "" + #: scsi-darwin.c:159 msgid "No CD/DVD drives found." msgstr "CD/DVD приводов не найдено." @@ -4644,7 +5292,7 @@ msgstr "" "Не найдено приводов CD/DVD в /dev.\n" "Не будет предустановленных приводов.\n" -#: scsi-layer.c:87 +#: scsi-layer.c:101 #, c-format msgid "" "Can open %s, but INQUIRY fails.\n" @@ -4657,27 +5305,27 @@ msgstr "" "и делается попытка доступа к нему через /dev/cdrom или /dev/hd?.\n" "Вместо этого используйте /dev/scd? или /dev/sr?, или отключите эмуляцию ide-scsi.\n" -#: scsi-layer.c:95 +#: scsi-layer.c:109 #, c-format msgid "INQUIRY failed. Something is wrong with drive %s.\n" msgstr "INQUIRY не удается. Что-то не в порядке с приводом %s.\n" -#: scsi-layer.c:124 +#: scsi-layer.c:138 #, c-format msgid "Device %s (%s) is not a CDROM drive." msgstr "Устройство %s (%s) не является приводом CDROM." -#: scsi-layer.c:125 +#: scsi-layer.c:139 #, c-format msgid "Device %s (%s) is a hard disk." msgstr "Устройство %s (%s) является жестким диском." -#: scsi-layer.c:416 +#: scsi-layer.c:430 #, c-format msgid "Incomplete %s" msgstr "Не завершено %s" -#: scsi-layer.c:454 +#: scsi-layer.c:468 #, c-format msgid "" "%s\n" @@ -4686,16 +5334,16 @@ msgstr "" "%s\n" "Не удалось запросить размер TOC.\n" -#: scsi-layer.c:459 +#: scsi-layer.c:473 msgid "blank" msgstr "пустой" -#: scsi-layer.c:473 scsi-layer.c:533 +#: scsi-layer.c:488 scsi-layer.c:549 #, c-format msgid "TOC info too long (%d), probably multisession.\n" msgstr "Информация в TOC слишком большая (%d), вероятно многосессионная запись.\n" -#: scsi-layer.c:488 +#: scsi-layer.c:503 #, c-format msgid "" "%s\n" @@ -4704,7 +5352,7 @@ msgstr "" "%s\n" "Не удалось прочитать TOC.\n" -#: scsi-layer.c:515 +#: scsi-layer.c:530 #, c-format msgid "" "%s\n" @@ -4713,12 +5361,12 @@ msgstr "" "%s\n" "Не удалось запросить весь размер TOC.\n" -#: scsi-layer.c:527 +#: scsi-layer.c:543 #, c-format msgid "TOC info too short, length %d.\n" msgstr "Информация в TOC слишком мала, длина %d.\n" -#: scsi-layer.c:551 +#: scsi-layer.c:569 #, c-format msgid "" "%s\n" @@ -4727,7 +5375,7 @@ msgstr "" "%s\n" "Не удалось прочитать всю TOC.\n" -#: scsi-layer.c:560 +#: scsi-layer.c:578 #, c-format msgid "" "\n" @@ -4736,11 +5384,11 @@ msgstr "" "\n" "Неожиданный формат TOC (длина %d):\n" -#: scsi-layer.c:568 +#: scsi-layer.c:586 msgid "Consider sending a bug report.\n" msgstr "Рекомендуется отправить отчет об ошибке.\n" -#: scsi-layer.c:621 +#: scsi-layer.c:639 #, c-format msgid "" "%s\n" @@ -4749,12 +5397,12 @@ msgstr "" "%s\n" "Не удалось запросить размер dvd-структуры.\n" -#: scsi-layer.c:632 +#: scsi-layer.c:651 #, c-format msgid "Could not query dvd physical structure - implausible packet length %d\n" msgstr "Не удалось запросить физическую структуру dvd - неправдоподобная длина пакета %d\n" -#: scsi-layer.c:650 +#: scsi-layer.c:669 #, c-format msgid "" "%s\n" @@ -4763,12 +5411,12 @@ msgstr "" "%s\n" "Не удалось запросить физическую структуру dvd.\n" -#: scsi-layer.c:679 scsi-layer.c:689 +#: scsi-layer.c:698 scsi-layer.c:708 #, c-format msgid "READ DVD STRUCTURE: implausible medium size, %lld-%lld=%lld sectors\n" msgstr "READ DVD STRUCTURE: неправильный размер носителя, %lld-%lld=%lld секторов\n" -#: scsi-layer.c:947 +#: scsi-layer.c:968 #, c-format msgid "" "%s\n" @@ -4777,7 +5425,7 @@ msgstr "" "%s\n" "Не удалось запросить размер структуры BD диска.\n" -#: scsi-layer.c:970 +#: scsi-layer.c:992 #, c-format msgid "" "%s\n" @@ -4786,7 +5434,7 @@ msgstr "" "%s\n" "Не удалось запросить структуру BD диска.\n" -#: scsi-layer.c:1646 +#: scsi-layer.c:1673 #, c-format msgid "" "%s\n" @@ -4795,12 +5443,12 @@ msgstr "" "%s\n" "Не удалось запросить размер dvd-структуры для кода формата 1.\n" -#: scsi-layer.c:1656 +#: scsi-layer.c:1684 #, c-format msgid "Could not query dvd copyright info - implausible packet length %d\n" msgstr "Не удалось запросить информацию об авторских правах dvd - неправдоподобный размер пакета %d\n" -#: scsi-layer.c:1671 +#: scsi-layer.c:1699 #, c-format msgid "" "%s\n" @@ -4809,23 +5457,23 @@ msgstr "" "%s\n" "Не удалось запросить информацию об авторских правах.\n" -#: scsi-layer.c:1731 +#: scsi-layer.c:1759 msgid "is undecideable because of read error" msgstr "не ясно из-за ошибок чтения" -#: scsi-layer.c:1737 +#: scsi-layer.c:1765 msgid "looks GOOD" msgstr "выглядит ПРАВИЛЬНО" -#: scsi-layer.c:1743 +#: scsi-layer.c:1771 msgid "gives unformatted size (UNUSABLE)" msgstr "дает неформатированный размер (НЕПРИГОДНО)" -#: scsi-layer.c:1748 +#: scsi-layer.c:1776 msgid "is UNUSABLE" msgstr "НЕПРИГОДНО" -#: scsi-layer.c:1770 +#: scsi-layer.c:1798 #, c-format msgid "" "%s\n" @@ -4834,12 +5482,12 @@ msgstr "" "%s\n" "Не удалось запросить размер носителя.\n" -#: scsi-layer.c:1790 +#: scsi-layer.c:1818 #, c-format msgid "READ CAPACITY: implausible medium size, %lld sectors\n" msgstr "READ CAPACITY: неправильный размер носителя, %lld секторов\n" -#: scsi-layer.c:1869 +#: scsi-layer.c:1895 #, c-format msgid "" "Different media sizes depending on query method:\n" @@ -4852,7 +5500,7 @@ msgstr "" "READ DVD STRUCTURE: %lld секторов\n" "\n" -#: scsi-layer.c:1874 +#: scsi-layer.c:1900 msgid "" "Evaluation of returned medium sizes:\n" "\n" @@ -4860,15 +5508,15 @@ msgstr "" "Оценка полученных размеров носителя:\n" "\n" -#: scsi-layer.c:1929 +#: scsi-layer.c:1955 msgid "Using value from READ CAPACITY" msgstr "Используется значение из READ CAPACITY" -#: scsi-layer.c:1933 +#: scsi-layer.c:1959 msgid "Using value from READ DVD STRUCTURE" msgstr "Используется значение из READ DVD STRUCTURE" -#: scsi-layer.c:1943 +#: scsi-layer.c:1969 #, c-format msgid "" "FAILED to determine image size.\n" @@ -4879,7 +5527,7 @@ msgstr "" "Использование значения меньшего, чем это, работает на >90%% приводов,\n" "но ПРОДОЛЖАЙТЕ НА СВОЙ РИСК (образ может быть неполным/непригодным)" -#: scsi-layer.c:1948 +#: scsi-layer.c:1974 #, c-format msgid "" "Final decision: %s\n" @@ -4888,7 +5536,7 @@ msgstr "" "Окончательное решение: %s\n" "\n" -#: scsi-layer.c:1956 +#: scsi-layer.c:1982 msgid "" "Failed to determine image size.\n" "Try using a different drive." @@ -4896,7 +5544,7 @@ msgstr "" "Не удалось определить размер образа.\n" "Попробуйте другой привод." -#: scsi-layer.c:2081 scsi-layer.c:2107 +#: scsi-layer.c:2106 scsi-layer.c:2132 #, c-format msgid "" "%s\n" @@ -4905,7 +5553,7 @@ msgstr "" "%s\n" "Не удалось загрузить/выгрузить носитель.\n" -#: scsi-layer.c:2097 +#: scsi-layer.c:2122 #, c-format msgid "" "%s\n" @@ -4914,37 +5562,37 @@ msgstr "" "%s\n" "Не удалось разблокировать носитель.\n" -#: scsi-layer.c:2160 +#: scsi-layer.c:2185 #, c-format msgid "Waiting 10 seconds for drive: %d\n" msgstr "Выжидание 10 секунд для привода: %d\n" -#: scsi-layer.c:2443 +#: scsi-layer.c:2468 #, c-format msgid "Sectors %lld - %lld: %s\n" msgstr "Сектора %lld - %lld: %s\n" -#: scsi-layer.c:2457 +#: scsi-layer.c:2482 #, c-format msgid "Sector %lld, try %d: %s Sector returned: %d.\n" msgstr "Сектор %lld, попытка %d: %s Возвращен сектор: %d.\n" -#: scsi-layer.c:2463 +#: scsi-layer.c:2488 #, c-format msgid "Sector %lld, try %d: %s\n" msgstr "Сектор %lld, попытка %d: %s\n" -#: scsi-layer.c:2474 +#: scsi-layer.c:2499 #, c-format msgid "Sector %lld, try %d: success\n" msgstr "Сектор %lld, попытка %d: успешно\n" -#: scsi-layer.c:2541 scsi-layer.c:2694 +#: scsi-layer.c:2566 scsi-layer.c:2711 #, c-format msgid "Device %s: no medium present\n" msgstr "Устройство %s: нет носителя\n" -#: scsi-layer.c:2542 scsi-layer.c:2695 +#: scsi-layer.c:2567 scsi-layer.c:2712 #, c-format msgid "" "Device %s does not become ready:\n" @@ -4955,7 +5603,7 @@ msgstr "" "%s\n" "\n" -#: scsi-layer.c:2547 +#: scsi-layer.c:2571 #, c-format msgid "" "\n" @@ -4964,61 +5612,52 @@ msgstr "" "\n" "Устройство: %s, %s\n" -#: scsi-layer.c:2551 -#, c-format -msgid "" -"\n" -"Device: %s (%s), %s\n" -msgstr "" -"\n" -"Устройство: %s (%s), %s\n" - -#: scsi-layer.c:2559 +#: scsi-layer.c:2577 msgid "Drive failed to report media type." msgstr "Не удалось получить от привода сообщение о типе носителя." -#: scsi-layer.c:2570 scsi-layer.c:2657 +#: scsi-layer.c:2588 scsi-layer.c:2674 #, c-format msgid "This software does not support \"%s\" type media." msgstr "Эта программа не поддерживает \"%s\" тип носителя." -#: scsi-layer.c:2578 +#: scsi-layer.c:2596 #, c-format msgid "This software does not support multisession (%d sessions) media." msgstr "Эта программа не поддерживает многосессионные (%d сессиий) носители." -#: scsi-layer.c:2601 scsi-layer.c:2610 +#: scsi-layer.c:2619 scsi-layer.c:2628 msgid "Using READ CD" msgstr "Используется READ CD" -#: scsi-layer.c:2602 +#: scsi-layer.c:2620 msgid ", RAW reading" msgstr ", чтение \"RAW\"" -#: scsi-layer.c:2605 +#: scsi-layer.c:2623 #, c-format msgid ", Mode page 1 ERP = %02xh" msgstr ", Mode page 1 ERP = %02xh" -#: scsi-layer.c:2608 +#: scsi-layer.c:2626 msgid ", C2 scanning" msgstr ", поиск ошибок C2" -#: scsi-layer.c:2615 +#: scsi-layer.c:2633 msgid "Using READ(10).\n" msgstr "Используется READ(10).\n" -#: scsi-layer.c:2634 +#: scsi-layer.c:2651 #, c-format msgid "Medium: %s, %lld sectors%s" msgstr "Носитель: %s, %lld секторов%s" -#: scsi-layer.c:2638 +#: scsi-layer.c:2655 #, c-format msgid "Medium \"%s\": %s, %lld sectors%s created %s" msgstr "Носитель \"%s\": %s, %lld секторов%s создан %s" -#: scsi-layer.c:2664 +#: scsi-layer.c:2681 msgid "This software does not support encrypted media.\n" msgstr "Эта программа не поддерживает шифрованные носители.\n" @@ -5038,42 +5677,7 @@ msgstr "" "* Неподдерживаемая операционная система - нет слоя SCSI.\n" "* Никакие приводы не могут использоваться.\n" -#: scsi-win32.c:415 -msgid "ASPI manager present, but no CD/DVD drives managed.\n" -msgstr "Менеджер ASPI есть, но никакими приводами CD/DVD не управляет.\n" - -#: scsi-win32.c:417 -#, c-format -msgid "" -"%d SPTI drives, but %d ASPI drives.\n" -"Drive letter mapping for ASPI drives is probably incorrect.\n" -msgstr "" -"%d приводов SPTI, но %d приводов ASPI.\n" -"Назначение букв приводам ASPI, вероятно, неправильное.\n" - -#: scsi-win32.c:435 -msgid "" -"\n" -"List of ASPI CD/DVD drives:\n" -msgstr "" -"\n" -"Список ASPI CD/DVD приводов:\n" - -#: scsi-win32.c:440 -msgid "" -"\n" -"To force ASPI usage over SPTI, refer to the drive by the\n" -"above numbers (use 1:, 2:,... instead of C:, D:,...)\n" -msgstr "" -"\n" -"Чтобы использовать ASPI вместо SPTI, обращайтесь к приводу по\n" -"указанным выше номерам (то есть, 1:, 2:,... вместо of C:, D:,...)\n" - -#: scsi-win32.c:445 -msgid "ASPI manager not available or installed.\n" -msgstr "Менеджер ASPI не доступен или не установлен.\n" - -#: scsi-win32.c:569 +#: scsi-win32.c:161 #, c-format msgid "" "\n" @@ -5082,14 +5686,12 @@ msgstr "" "\n" "Неправильное имя устройства \"%s\" (используйте устройства \"C:\" ... \"Z:\")" -#: scsi-win32.c:659 +#: scsi-win32.c:245 #, c-format msgid "" "\n" -"Neither SPTI nor ASPI worked opening %s." +"Could not open device %s." msgstr "" -"\n" -"%s не открывается ни с помощью SPTI, ни с помощью ASPI." #: show-manual.c:75 msgid "windowtitle|Choose a browser" @@ -5140,19 +5742,19 @@ msgstr "" msgid "Please hang on until the browser comes up!" msgstr "Подождите, пока загрузится браузер!" -#: udf.c:143 +#: udf.c:142 msgid "Skip RS02 test" msgstr "Пропустить тест RS02" -#: udf.c:144 +#: udf.c:143 msgid "Continue searching" msgstr "Продолжить поиск" -#: udf.c:149 +#: udf.c:148 msgid "Disable RS02 initialization in the preferences" msgstr "Отключить инициализацию RS02 в настройках" -#: udf.c:240 +#: udf.c:238 msgid "" "Faster medium initialization\n" "\n" @@ -5166,50 +5768,38 @@ msgstr "" "Нажмите \"Пропустить тест RS02\", если Вы уверены, что этот носитель не был\n" "дополнен данными для исправления ошибок методом RS02." -#: udf.c:249 -msgid "" -"\n" -"Searching this medium for error correction data may take a long time.\n" -"If you are certain that this medium was not augmented with RS02 error correction\n" -"data, you might wish to abort this command and re-run with the option\n" -"--query-size=udf\n" -msgstr "" -"\n" -"Поиск на этом носителе данных для исправления ошибок может занять много времени.\n" -"Если Вы уверены, что этот носитель не был дополнен данными для исправления ошибок методом RS02,\n" -"то можете прервать эту команду и перезапустить процесс с параметром\n" -"--query-size=udf\n" - -#: udf.c:533 +#: udf.c:524 msgid "Unnamed" msgstr "Без названия" -#: udf.c:624 +#: udf.c:615 msgid "Example disc" msgstr "Пример диска" #: welcome-window.c:79 #, c-format msgid "" -"- New raw reading mode for CD media.\n" -"- Number of reading attempts can be selected\n" -"%s per sector and for the whole medium.\n" -"- Redesigned preferences dialog." +"- Development frameworks for Windows and OS X updated.\n" +"- Experimental multithreaded codec (RS03).\n" +"\n" +"Warning:\n" +"This version is experimental and for testing only.\n" +"It may contain bugs even in functions which worked\n" +"in previous versions.\n" +"\n" +"RS03 has not reached full recovery capacity yet and\n" +"is not recognized by linear and adaptive reading." msgstr "" -"- Новый режим низкоуровневого чтения для CD.\n" -"- Число попыток чтения может быть выбрано\n" -"%s на сектор и для всего носителя.\n" -"- Перестроен диалог настроек." -#: welcome-window.c:87 +#: welcome-window.c:93 msgid "Show this message again" msgstr "Показывать это сообщение еще раз" -#: welcome-window.c:129 +#: welcome-window.c:135 msgid "Welcome to dvdisaster!" msgstr "Добро пожаловать в dvdisaster!" -#: welcome-window.c:131 +#: welcome-window.c:137 msgid "" "\n" "dvdisaster creates error correction data to protect\n" @@ -5219,7 +5809,7 @@ msgstr "" "dvdisaster создает данные для исправления ошибок, чтобы защитить\n" "носители CD и DVD от потери данных.\n" -#: welcome-window.c:134 +#: welcome-window.c:140 msgid "" "Please see the manual for [typical uses] of dvdisaster.\n" "\n" @@ -5227,24 +5817,173 @@ msgstr "" "Смотрите руководство о [типичном применении] dvdisaster.\n" "\n" -#: welcome-window.c:137 +#: welcome-window.c:143 msgid "New in this Version:" msgstr "Новое в этой версии:" -#~ msgid "Multithreaded RS codec (RS03)" -#~ msgstr "Многопоточный кодек РС (RS03)" +#~ msgid "" +#~ "Image file already exists and does not match the CD/DVD.\n" +#~ "The existing image file will be deleted." +#~ msgstr "" +#~ "Файл образа уже существует и не подходит к CD/DVD.\n" +#~ "Существующий образ будет удален." -#~ msgid "Multithreaded Reed-Solomon codec for error correction files and augmented images" -#~ msgstr "Многопоточный кодек Рида-Соломона для файлов коррекции ошибок и расширенных образов" +#~ msgid "" +#~ "Automatic error correction file creation is enabled,\n" +#~ "and \"%s\" already exists.\n" +#~ "Overwrite it?\n" +#~ msgstr "" +#~ "Автоматическое создание файла для исправления ошибок включено,\n" +#~ "и \"%s\" уже существует.\n" +#~ "Перезаписать его?\n" + +#~ msgid "" +#~ "Debugging options (purposefully undocumented and possibly harmful)\n" +#~ " --debug - enables the following options\n" +#~ " --byteset s,i,b - set byte i in sector s to b\n" +#~ " --cdump - creates C #include file dumps instead of hexdumps\n" +#~ " --compare-images a,b - compare sectors in images a and b\n" +#~ " --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" +#~ " --erase sector - erase the given sector\n" +#~ " --erase n-m - erase sectors n - m, inclusively\n" +#~ " --marked-image n - create image with n marked random sectors\n" +#~ " --merge-images a,b merge image a with b (a receives sectors from b)\n" +#~ " --random-errors r,e seed image with (correctable) random errors\n" +#~ " --random-image n - create image with n sectors of random numbers\n" +#~ " --random-seed n - random seed for built-in random number generator\n" +#~ " --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" +#~ " --read-sector n - shows hexdump of the given sector from medium in drive\n" +#~ " --screen-shot - useful for generating screen shots\n" +#~ " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" +#~ " --show-sector n - shows hexdump of the given sector in an image file\n" +#~ " --sim-defects n - simulate n%% defective sectors on medium\n" +#~ " --truncate n - truncates image to n sectors\n" +#~ " --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" +#~ "\n" +#~ msgstr "" +#~ "Параметры отладки (намеренно недокументированные и, возможно, опасные)\n" +#~ " --debug - включает следующие параметры\n" +#~ " --byteset s,i,b - установить байт i в секторе s в значение b\n" +#~ " --cdump - создает дампы в виде файлов C #include вместо шестнадцатеричных дампов\n" +#~ " --compare-images a,b - сравнивать секторы в образах a и b\n" +#~ " --copy-sector a,n,b,m - копировать сектор n из образа в сектор m в образе b\n" +#~ " --erase sector - стереть данный сектор\n" +#~ " --erase n-m - стереть секторы n - m включительно\n" +#~ " --marked-image n - создать образ с n помеченными случайными секторами\n" +#~ " --merge-images a,b объединить образ a с образом b (a получает секторы из b)\n" +#~ " --random-errors r,e заполнить образ (исправимыми) случайными ошибками\n" +#~ " --random-image n - создать образ с n секторами со случайными номерами\n" +#~ " --random-seed n - начальное значение для встроенного генератора случайных чисел\n" +#~ " --raw-sector n - показывает шестнадцатиричный дамп данного необработанного сектора с носителя в приводе\n" +#~ " --read-sector n - показывает шестнадцатиричный дамп данного сектора с носителя в приводе\n" +#~ " --screen-shot - используется для создания снимков с экрана\n" +#~ " --send-cdb arg - выполняет cdb на приводе; снимает систему при неправильном использовании\n" +#~ " --show-sector n - показывает содержимое данного сектора образа в шестнадцатеричном виде\n" +#~ " --sim-defects n - имитировать n%% дефектных секторов на носителе\n" +#~ " --truncate n - обрезает образ до n секторов\n" +#~ " --zero-unreadable - заменять маркеры \"нечитаемый сектор\" нулями\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "Searching this medium for error correction data may take a long time.\n" +#~ "If you are certain that this medium was not augmented with RS02 error correction\n" +#~ "data, you might wish to abort this command and re-run with the option\n" +#~ "--query-size=udf\n" +#~ msgstr "" +#~ "\n" +#~ "Поиск на этом носителе данных для исправления ошибок может занять много времени.\n" +#~ "Если Вы уверены, что этот носитель не был дополнен данными для исправления ошибок методом RS02,\n" +#~ "то можете прервать эту команду и перезапустить процесс с параметром\n" +#~ "--query-size=udf\n" + +#~ msgid "Image size" +#~ msgstr "Размер образа" + +#~ msgid "Image size determination" +#~ msgstr "Определение размера образа" + +#~ msgid "Get Image size from: " +#~ msgstr "Получить размер образа из: " + +#~ msgid "ISO/UDF" +#~ msgstr "ISO/UDF" + +#~ msgid "ECC/RS02" +#~ msgstr "ECC/RS02" + +#~ msgid "" +#~ "Image size determination\n" +#~ "\n" +#~ "Use ECC/RS02 for reading images augmented with error correction data; else pick ISO/UDF.\n" +#~ "\n" +#~ "ECC/RS02: The Image size is determined from the error correction data. Reading RS02 augmented images requires this option; otherwise the images may be incomplete. However if the medium does not contain error correction data, the start of the reading operation may be delayed significantly.\n" +#~ "\n" +#~ "ISO/UDF: The image size is determined from the ISO/UDF file system.\n" +#~ "Caution: This is only suitable for working with error correction files. Images containing RS02 error correction information may be truncated.\n" +#~ "\n" +#~ "Drive: The image size reported by the drive will be used. As this information is typically wrong for DVD-RW/+RW/-RAM media this option is only present for backwards compatibility with older dvdisaster versions." +#~ msgstr "" +#~ "Определение размера образа\n" +#~ "\n" +#~ "Используйте ECC/RS02 для чтения образов, содержащих данные для исправления ошибок; в противном случае выбирайте ISO/UDF.\n" +#~ "\n" +#~ "ECC/RS02: Размер образа определяется из данных для исправления ошибок. Чтение образов, содержащих RS02, требует выбора этого варианта; иначе образы могут быть неполными. Однако, если носитель не содержит данных для исправления ошибок, начало операции чтения может быть существенно задержано.\n" +#~ "\n" +#~ "ISO/UDF: Размер образа определяется из файловой системы ISO/UDF.\n" +#~ "Предупреждение: Это подходит только для работы с файлами для исправления ошибок. Образы, содержащие информацию для исправления ошибок по RS02, могут быть обрезаны.\n" +#~ "\n" +#~ "Привод: Будет использоваться размер образа, сообщаемый приводом. Так как эта информация обычно неправильная для носителей DVD-RW/+RW/-RAM, то этот вариант присутствует только для обратной совместимости с прежними версиями dvdisaster." + +#~ msgid "" +#~ "Error correction method\n" +#~ "\n" +#~ "dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are two different ways available for storing the error correction information:\n" +#~ msgstr "" +#~ "Метод исправления ошибок\n" +#~ "\n" +#~ "dvdisaster создает данные для исправления ошибок, которые используются для восстановления нечитаемых секторов, если позже диск будет поврежден. Для хранения информации для исправления ошибок имеется два разных способа:\n" + +#~ msgid "" +#~ "- New raw reading mode for CD media.\n" +#~ "- Number of reading attempts can be selected\n" +#~ "%s per sector and for the whole medium.\n" +#~ "- Redesigned preferences dialog." +#~ msgstr "" +#~ "- Новый режим низкоуровневого чтения для CD.\n" +#~ "- Число попыток чтения может быть выбрано\n" +#~ "%s на сектор и для всего носителя.\n" +#~ "- Перестроен диалог настроек." #~ msgid "Single threaded RS codec (RS03)" #~ msgstr "Однопоточный кодек РС (RS03)" -#~ msgid "Single threaded Reed-Solomon codec for error correction files and augmented images" -#~ msgstr "Однопоточный кодек Рида-Соломона для файлов коррекции ошибок и расширенных образов" +#~ msgid "" +#~ "Not enough space on medium left for error correction data.\n" +#~ "Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" +#~ "If reducing the image size or using a larger medium is\n" +#~ "not an option, please create a separate error correction\n" +#~ "file using the RS01 method.\n" +#~ msgstr "" +#~ "Недостаточно места на носителе для данных для исправления ошибок.\n" +#~ "Часть образа с данными: %lld сект.; максимальный возможный размер: %lld сект.\n" +#~ "Если нельзя уменьшить размер образа или использовать носитель\n" +#~ "большего размера, создайте отдельный файл для исправления ошибок,\n" +#~ "с помощью метода RS01.\n" -#~ msgid "Encoding with Method RS03: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." -#~ msgstr "Кодирование методом RS03: %lld МБ данные, %lld МБ ecc (%d корней; избыточность %4.1f%%)." +#~ msgid "" +#~ "Error correction files (RS01 method)\n" +#~ "Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster, as data loss in an error correction file will render it unusable.\n" +#~ msgstr "" +#~ "Файлы для исправления ошибок (метод RS01)\n" +#~ "Файлы для исправления ошибок являются единственным способом защиты существующих носителей, так как они могут храниться в другом месте. Они хранятся на отдельном носителе, который также может быть защищен с помощью dvdisaster, так как потеря данных в файле для исправления ошибок сделает его непригодным.\n" + +#~ msgid "" +#~ "Augmented images (RS02 method)\n" +#~ "The error correction data will be stored along with the user data on the same CD/DVD. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image. Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required." +#~ msgstr "" +#~ "Расширенные образы (метод RS02)\n" +#~ "Данные для исправления ошибок могут храниться вместе с пользовательскими данными на том же CD/DVD. Это требует предварительного создания файла образа перед записью носителя. Данные для исправления ошибок добавляются в этот образ. Поврежденные сектора в информации для исправления ошибок снижают возможность восстановления данных, но не делают восстановление невозможным - второй носитель для хранения или защиты информации для исправления ошибок не требуется." #~ msgid "" #~ "Augmenting image with Method RS03 [%d threads]:\n" @@ -5253,15 +5992,127 @@ msgstr "Новое в этой версии:" #~ "Расширение образа методом RS03 [%d потоков]:\n" #~ " %lld МБ данные, %lld МБ ecc (%d корней; избыточность %4.1f%%)." -#~ msgid "Avg performance: %5.2fs (%5.2fMB/s) total\n" -#~ msgstr "Ср. производительность: %5.2fs (%5.2fМБ/с) в сумме\n" - -#~ msgid "Image contains error correction data: Method RS03, %d roots, %4.1f%% redundancy." -#~ msgstr "Образ содержит данные для исправления ошибок: метод RS03, %d корней, избыточность%4.1f%%." +#~ msgid "" +#~ "Drive and file specification:\n" +#~ " -d,--device device - read from given device (default: %s)\n" +#~ " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" +#~ " -i,--image imagefile - name of image file (default: medium.iso)\n" +#~ " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +#~ msgstr "" +#~ "Имена файлов и привода:\n" +#~ " -d,--device устройство - читать с данного устройства (по умолчанию: %s)\n" +#~ " -p,--prefix имя - имя файла .iso/.ecc (по умолчанию: medium.* )\n" +#~ " -i,--image файл образа - имя файла образа (по умолчанию: medium.iso)\n" +#~ " -e,--ecc ecc-файл - имя файла с ecc-данными (по умолчанию: medium.ecc)\n" #~ msgid "DVD 2 layers" #~ msgstr "DVD 2 слоя" +#~ msgid "" +#~ " -l,--list - list drives available under ASPI manager\n" +#~ "\n" +#~ msgstr "" +#~ " -l,--list - список ASPI-приводов\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "Device: %s (%s), %s\n" +#~ msgstr "" +#~ "\n" +#~ "Устройство: %s (%s), %s\n" + +#~ msgid "ASPI manager present, but no CD/DVD drives managed.\n" +#~ msgstr "Менеджер ASPI есть, но никакими приводами CD/DVD не управляет.\n" + +#~ msgid "" +#~ "%d SPTI drives, but %d ASPI drives.\n" +#~ "Drive letter mapping for ASPI drives is probably incorrect.\n" +#~ msgstr "" +#~ "%d приводов SPTI, но %d приводов ASPI.\n" +#~ "Назначение букв приводам ASPI, вероятно, неправильное.\n" + +#~ msgid "" +#~ "\n" +#~ "List of ASPI CD/DVD drives:\n" +#~ msgstr "" +#~ "\n" +#~ "Список ASPI CD/DVD приводов:\n" + +#~ msgid "" +#~ "\n" +#~ "To force ASPI usage over SPTI, refer to the drive by the\n" +#~ "above numbers (use 1:, 2:,... instead of C:, D:,...)\n" +#~ msgstr "" +#~ "\n" +#~ "Чтобы использовать ASPI вместо SPTI, обращайтесь к приводу по\n" +#~ "указанным выше номерам (то есть, 1:, 2:,... вместо of C:, D:,...)\n" + +#~ msgid "ASPI manager not available or installed.\n" +#~ msgstr "Менеджер ASPI не доступен или не установлен.\n" + +#~ msgid "" +#~ "\n" +#~ "Neither SPTI nor ASPI worked opening %s." +#~ msgstr "" +#~ "\n" +#~ "%s не открывается ни с помощью SPTI, ни с помощью ASPI." + +#~ msgid "" +#~ "Tweaking options (see manual before using!)\n" +#~ " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" +#~ " -m n - list/select error correction methods (default: RS01)\n" +#~ " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" +#~ " maximum error correction image size (in sectors)\n" +#~ " -v,--verbose - more diagnostic messages\n" +#~ " --adaptive-read - use optimized strategy for reading damaged media\n" +#~ " --auto-suffix - automatically add .iso and .ecc file suffixes\n" +#~ " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" +#~ " --dao - assume DAO disc; do not trim image end\n" +#~ " --defective-dump d - directory for saving incomplete raw sectors\n" +#~ " --eject - eject medium after successful read\n" +#~ " --fill-unreadable n - fill unreadable sectors with byte n\n" +#~ " --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" +#~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n" +#~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" +#~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n" +#~ " --read-attempts n-m - attempts n upto m reads of a defective sector\n" +#~ " --read-medium n - read the whole medium up to n times\n" +#~ " --read-raw - performs read in raw mode if possible\n" +#~ " --speed-warning n - print warning if speed changes by more than n percent\n" +#~ " --spinup-delay n - wait n seconds for drive to spin up\n" +#~ "\n" +#~ msgstr "\n" + +#~ msgid "File splitting" +#~ msgstr "Разбиение файлов" + +#~ msgid "Split files into segments <= 2GB" +#~ msgstr "Разбивать файлы на сегменты <= 2Гб" + +#~ msgid "" +#~ "File splitting\n" +#~ "\n" +#~ "Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." +#~ msgstr "" +#~ "Разбиение файлов\n" +#~ "\n" +#~ "Дает возможность работать с файловыми системами, в которых есть ограничения размера файла до 2 Гб, например, FAT в Windows. Созданные файлы распределяются на сегменты, которых может быть до 100 штук, с именами \"medium00.iso\", \"medium01.iso\" и т.д. за счет небольшой потери в производительности." + +#~ msgid "" +#~ "\n" +#~ "Unknown method %s.\n" +#~ msgstr "" +#~ "\n" +#~ "Неизвестный метод %s.\n" + +#~ msgid "" +#~ "\n" +#~ "Neither ecc file nor ecc data in image found.\n" +#~ msgstr "" +#~ "\n" +#~ "Не удалось обнаружить ни ecc-файл, ни ecc-данные в образе.\n" + #~ msgid "" #~ "Reading strategy\n" #~ "\n" @@ -5344,30 +6195,7 @@ msgstr "Новое в этой версии:" #~ " --truncate n - truncates image to n sectors\n" #~ " --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" #~ "\n" -#~ msgstr "" -#~ "Параметры отладки (намеренно недокументированные и, возможно, опасные)\n" -#~ " --debug - включает следующие параметры\n" -#~ " --byteset s,i,b - установить байт i в секторе s в значение b\n" -#~ " --cdump - создает дампы в виде C #include-файлов вместо шестнадцатеричных дампов\n" -#~ " --compare-images a,b - сравнить сектора в образах a и b\n" -#~ " --copy-sector a,n,b,m - скопировать сектор n из образа a в сектор m образа b\n" -#~ " --defective-dump p создает дампы в виде C #include-файлов для невосстановимых секторов\n" -#~ " --erase sector - стереть данный сектор\n" -#~ " --erase n-m - стереть секторы n - m включительно\n" -#~ " --marked-image n - создать образ с n помеченными случайными секторами\n" -#~ " --merge-images a,b объединить образ a с образом b (a получает секторы из b)\n" -#~ " --random-errors r,e заполнить образ (исправимыми) случайными ошибками\n" -#~ " --random-image n - создать образ с n секторами со случайными номерами\n" -#~ " --random-seed n - начальное значение для встроенного генератора случайных чисел\n" -#~ " --raw-sector n - показывает шестнадцатиричный дамп данного необработанного сектора с носителя в приводе\n" -#~ " --read-sector n - показывает шестнадцатиричный дамп данного сектора с носителя в приводе\n" -#~ " --screen-shot - useful for generating screen shots\n" -#~ " --send-cdb arg - выполнить cdb на приводе; при ошибке система снимается\n" -#~ " --show-sector n - показывает содержимое данного сектора в шестнадцатеричном виде\n" -#~ " --sim-defects n - смоделировать n%% поврежденных секторов на носителе\n" -#~ " --truncate n - обрезает образ до n секторов\n" -#~ " --zero-unreadable - заменить маркеры \"нечитаемый сектор\" нулями\n" -#~ "\n" +#~ msgstr "\n" #~ msgid "" #~ "\n" diff --git a/locale/sv.po b/locale/sv.po index 884b27b..9bdc4f6 100644 --- a/locale/sv.po +++ b/locale/sv.po @@ -1,5 +1,5 @@ # Swedish translation of dvdisaster. -# Copyright (C) 2004-2009 dvdisasters COPYRIGHT HOLDER +# Copyright (C) 2004-2010 dvdisasters COPYRIGHT HOLDER # This file is distributed under the same license as the dvdisaster package. # Daniel Nylander , 2006. # @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: dvdisaster\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-06 12:32+0200\n" +"POT-Creation-Date: 2010-02-27 19:02+0100\n" "PO-Revision-Date: 2006-06-14 23:48+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: closure.c:568 +#: closure.c:571 #, c-format msgid "" "# dvdisaster-%s configuration file\n" @@ -29,33 +29,33 @@ msgstr "" "# som kommer att skrivas över varje gång dvdisaster körs.\n" "\n" -#: closure.c:769 closure.c:777 closure.c:784 +#: closure.c:774 closure.c:782 closure.c:789 msgid "medium.iso" msgstr "" -#: closure.c:770 closure.c:778 closure.c:785 +#: closure.c:775 closure.c:783 closure.c:790 msgid "medium.ecc" msgstr "" -#: closure.c:771 closure.c:779 closure.c:786 +#: closure.c:776 closure.c:784 closure.c:791 msgid "sector-" msgstr "" -#: crcbuf.c:45 rs01-common.c:121 rs01-create.c:243 rs01-verify.c:770 +#: crcbuf.c:45 rs01-common.c:144 rs01-create.c:256 rs01-verify.c:781 #, c-format msgid "Failed skipping the ecc header: %s" msgstr "Misslyckades med att hoppa över ecc-huvuet: %s" -#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:229 +#: crcbuf.c:54 crcbuf.c:64 rs01-common.c:252 #, c-format msgid "Error reading CRC information: %s" msgstr "Fel vid läsning av CRC-information: %s" -#: debug.c:55 debug.c:456 debug.c:1084 debug.c:1161 +#: debug.c:53 debug.c:445 debug.c:1073 debug.c:1150 msgid "2nd argument is missing" msgstr "andra argumentet saknas" -#: debug.c:62 +#: debug.c:60 msgid "" "Number of roots must be 8..100;\n" "the number of erasures must be > 0 and less than the number of roots.\n" @@ -63,7 +63,7 @@ msgstr "" "Antal rötter måste vara 8..100;\n" "antalet raderingar måste vara > 0 och mindre än antalet rötter.\n" -#: debug.c:81 debug.c:172 debug.c:310 +#: debug.c:79 debug.c:170 #, c-format msgid "" "\n" @@ -72,29 +72,31 @@ msgstr "" "\n" "Genererar slumpmässigt korrigerbara raderingar (för %d rötter, max raderingar = %d).\n" -#: debug.c:112 debug.c:202 debug.c:250 debug.c:341 debug.c:385 debug.c:698 -#: debug.c:798 debug.c:1125 debug.c:1133 debug.c:1240 rs01-common.c:54 -#: rs02-common.c:62 rs02-create.c:336 rs02-create.c:982 rs02-fix.c:387 -#: rs02-verify.c:393 +#: debug.c:110 debug.c:200 debug.c:248 debug.c:374 debug.c:687 debug.c:787 +#: debug.c:1114 debug.c:1122 debug.c:1229 rs01-common.c:77 rs02-common.c:62 +#: rs02-create.c:340 rs02-create.c:986 rs02-fix.c:387 rs02-verify.c:393 +#: rs03-common.c:97 rs03-create.c:583 rs03-create.c:610 rs03-recognize.c:263 +#: rs03s-create.c:85 rs03s-create.c:982 rs03s-create.c:1008 rs03-verify.c:425 #, c-format msgid "Failed seeking to sector %lld in image: %s" msgstr "Misslyckades med att söka fram till sektor %lld i avbild: %s" -#: debug.c:117 debug.c:207 debug.c:255 debug.c:346 debug.c:390 debug.c:536 -#: debug.c:658 debug.c:703 debug.c:1137 debug.c:1244 debug.c:1284 -#: rs02-create.c:359 rs02-create.c:385 rs02-create.c:985 udf.c:1108 udf.c:1166 -#: udf.c:1223 udf.c:1236 udf.c:1241 udf.c:1244 udf.c:1247 udf.c:1250 -#: udf.c:1253 udf.c:1256 +#: debug.c:115 debug.c:205 debug.c:253 debug.c:379 debug.c:525 debug.c:647 +#: debug.c:692 debug.c:1126 debug.c:1233 debug.c:1273 rs02-create.c:363 +#: rs02-create.c:389 rs02-create.c:989 rs03-create.c:588 rs03-create.c:614 +#: rs03s-create.c:985 rs03s-create.c:1011 udf.c:1113 udf.c:1171 udf.c:1228 +#: udf.c:1241 udf.c:1246 udf.c:1249 udf.c:1252 udf.c:1255 udf.c:1258 +#: udf.c:1261 #, c-format msgid "Failed writing to sector %lld in image: %s" msgstr "Misslyckades med att skriva till sektor %lld i avbild: %s" -#: debug.c:125 debug.c:261 debug.c:396 debug.c:662 debug.c:710 debug.c:1258 +#: debug.c:123 debug.c:259 debug.c:385 debug.c:651 debug.c:699 debug.c:1247 #, c-format msgid "Progress: %3d%%" msgstr "Förlopp: %3d%%" -#: debug.c:130 debug.c:266 debug.c:401 +#: debug.c:128 debug.c:264 debug.c:390 #, c-format msgid "" "Progress: 100%%\n" @@ -105,73 +107,102 @@ msgstr "" "Återhämta avbilden med flaggan --fix före något ytterligare en --random-errors körs.\n" "Annars kommer du ackumulera >= %d raderingar/ECC-block och avbilden kommer att gå förlorad.\n" -#: debug.c:163 debug.c:301 +#: debug.c:161 debug.c:302 #, c-format msgid "Number of erasures must be > 0 and <= %d\n" msgstr "Antal raderingar måste vara > 0 och <= %d\n" -#: debug.c:463 debug.c:1090 +#: debug.c:314 raw-sector-cache.c:34 raw-sector-cache.c:201 +#: raw-sector-cache.c:335 rs01-verify.c:542 scsi-freebsd.c:113 +#: scsi-linux.c:100 scsi-netbsd.c:111 scsi-solaris.c:127 +#, c-format +msgid "Could not open %s: %s" +msgstr "Kunde inte öppna %s: %s" + +#: debug.c:318 +#, c-format +msgid "" +"\n" +"RS03 error correction file with %d roots.\n" +msgstr "" + +#: debug.c:319 +#, c-format +msgid "" +"\n" +"RS03 augmented image with %d roots.\n" +msgstr "" + +#: debug.c:320 +#, c-format +msgid "Generating at most %d random correctable erasures.\n" +msgstr "" + +#: debug.c:452 debug.c:1079 msgid "3rd argument is missing" msgstr "tredje argumentet saknas" -#: debug.c:470 debug.c:791 debug.c:837 debug.c:898 +#: debug.c:459 debug.c:780 debug.c:826 debug.c:887 #, c-format msgid "Sector must be in range [0..%lld]\n" msgstr "Sektor måste vara inom intervallet [0..%lld]\n" -#: debug.c:473 +#: debug.c:462 msgid "Byte position must be in range [0..2047]" msgstr "Byteposition måste vara inom intervallet [0..2047]" -#: debug.c:476 +#: debug.c:465 msgid "Byte value must be in range [0..255]" msgstr "Bytevärde måste vara inom intervallet [0..255]" -#: debug.c:478 +#: debug.c:467 #, c-format msgid "Setting byte %d in sector %lld to value %d.\n" msgstr "Ställer in byte %d i sektor %lld till värdet %d.\n" -#: debug.c:485 debug.c:524 rs02-create.c:182 rs02-verify.c:685 +#: debug.c:474 debug.c:513 rs02-create.c:186 rs02-verify.c:697 +#: rs03-verify.c:1023 #, c-format msgid "Failed seeking to start of image: %s\n" msgstr "Misslyckades med att söka fram till början av avbild: %s\n" -#: debug.c:488 +#: debug.c:477 msgid "Could not write the new byte value" msgstr "Kunde inte skriva det nya bytevärdet" -#: debug.c:517 read-adaptive.c:537 +#: debug.c:506 read-adaptive.c:537 #, c-format msgid "Sectors must be in range [0..%lld].\n" msgstr "Sektorer måste vara inom intervallet [0..%lld].\n" -#: debug.c:519 +#: debug.c:508 #, c-format msgid "Erasing sectors [%lld,%lld]\n" msgstr "Raderar sektorer [%lld,%lld]\n" -#: debug.c:561 +#: debug.c:550 #, c-format msgid "New length must be in range [0..%lld].\n" msgstr "Ny längd måste vara inom intervallet [0..%lld].\n" -#: debug.c:563 +#: debug.c:552 #, c-format msgid "Truncating image to %lld sectors.\n" msgstr "Kapar avbild till %lld sektorer.\n" -#: debug.c:568 read-linear.c:1398 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 -#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:148 rs02-fix.c:241 -#: rs02-fix.c:262 rs02-fix.c:277 +#: debug.c:557 read-linear.c:1361 rs01-fix.c:198 rs01-fix.c:220 rs01-fix.c:236 +#: rs01-fix.c:271 rs02-create.c:104 rs02-create.c:151 rs02-fix.c:241 +#: rs02-fix.c:262 rs02-fix.c:277 rs03-create.c:177 rs03-create.c:245 +#: rs03-fix.c:269 rs03-fix.c:290 rs03-fix.c:305 rs03s-create.c:171 +#: rs03s-create.c:227 #, c-format msgid "Could not truncate %s: %s\n" msgstr "Kunde inte kapa %s: %s\n" -#: debug.c:594 debug.c:1105 debug.c:1113 debug.c:1170 debug.c:1175 file.c:59 -#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1166 -#: read-adaptive.c:1198 read-linear.c:307 read-linear.c:309 read-linear.c:340 -#: read-linear.c:342 +#: debug.c:583 debug.c:1094 debug.c:1102 debug.c:1159 debug.c:1164 file.c:59 +#: file.c:128 file.c:148 raw-editor.c:362 read-adaptive.c:1164 +#: read-adaptive.c:1196 read-linear.c:277 read-linear.c:279 read-linear.c:310 +#: read-linear.c:312 #, c-format msgid "" "Can't open %s:\n" @@ -180,7 +211,7 @@ msgstr "" "Kan inte öppna %s:\n" "%s" -#: debug.c:598 +#: debug.c:587 #, c-format msgid "" "\n" @@ -199,7 +230,7 @@ msgstr "" "dvdisaster --debug %s %lld --random-seed %d\n" "\n" -#: debug.c:670 file.c:107 read-adaptive.c:150 read-linear.c:111 +#: debug.c:659 file.c:107 read-adaptive.c:150 read-linear.c:111 #: read-linear.c:114 #, c-format msgid "" @@ -209,11 +240,11 @@ msgstr "" "Fel vid stängning av avbildsfil:\n" "%s" -#: debug.c:684 +#: debug.c:673 msgid "Replacing the \"unreadable sector\" markers with zeros.\n" msgstr "Ersätter markeringarna för \"oläsbar sektor\" med nollor.\n" -#: debug.c:691 +#: debug.c:680 #, c-format msgid "" "Could not read image sector %lld:\n" @@ -222,12 +253,12 @@ msgstr "" "Kunde inte läsa sektor %lld i avbild:\n" "%s\n" -#: debug.c:715 +#: debug.c:704 #, c-format msgid "%lld \"unreadable sector\" markers replaced.\n" msgstr "%lld \"oläsbar sektor\"-markeringar ersatta.\n" -#: debug.c:793 debug.c:840 debug.c:901 +#: debug.c:782 debug.c:829 debug.c:890 #, c-format msgid "" "Contents of sector %lld:\n" @@ -236,49 +267,50 @@ msgstr "" "Innehåll av sektor %lld:\n" "\n" -#: debug.c:802 debug.c:1129 debug.c:1198 debug.c:1202 debug.c:1280 -#: rs01-common.c:70 rs02-common.c:67 rs02-create.c:199 rs02-fix.c:390 +#: debug.c:791 debug.c:1118 debug.c:1187 debug.c:1191 debug.c:1269 +#: rs01-common.c:93 rs02-common.c:67 rs02-create.c:203 rs02-fix.c:390 +#: rs03-common.c:102 rs03-recognize.c:268 rs03s-create.c:90 #, c-format msgid "Failed reading sector %lld in image: %s" msgstr "Misslyckades med att läsa sektor %lld i avbild: %s" -#: debug.c:851 +#: debug.c:840 #, c-format msgid "Failed reading sector %lld: %s" msgstr "" -#: debug.c:888 +#: debug.c:877 msgid "Raw reading only possible on CD media\n" msgstr "" -#: debug.c:1096 +#: debug.c:1085 msgid "4th argument is missing" msgstr "" -#: debug.c:1109 +#: debug.c:1098 #, c-format msgid "Source sector must be in range [0..%lld]\n" msgstr "" -#: debug.c:1117 +#: debug.c:1106 #, c-format msgid "Destination sector must be in range [0..%lld]\n" msgstr "" -#: debug.c:1121 +#: debug.c:1110 #, c-format msgid "Copying sector %lld from %s to sector %lld in %s.\n" msgstr "" -#: ds-marker.c:172 +#: ds-marker.c:225 msgid "Stop reporting these errors" msgstr "" -#: ds-marker.c:173 +#: ds-marker.c:226 msgid "Continue reporting" msgstr "" -#: ds-marker.c:196 +#: ds-marker.c:249 #, c-format msgid "" "\n" @@ -288,7 +320,7 @@ msgid "" "\n" msgstr "" -#: ds-marker.c:207 +#: ds-marker.c:260 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -304,7 +336,7 @@ msgid "" "error correction data for it. Sorry for the bad news.\n" msgstr "" -#: ds-marker.c:224 +#: ds-marker.c:277 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -320,7 +352,7 @@ msgid "" "error correction data for it. Sorry for the bad news.\n" msgstr "" -#: ds-marker.c:247 +#: ds-marker.c:300 #, c-format msgid "" "Unrecoverable sector found!\n" @@ -336,7 +368,7 @@ msgid "" "error correction data for it. Sorry for the bad news.\n" msgstr "" -#: dvdisaster.c:39 main-window.c:139 +#: dvdisaster.c:39 main-window.c:144 #, c-format msgid "" "\n" @@ -354,32 +386,40 @@ msgstr "RS01-metoden inte tillgänglig för jämförelser av filer." #. TRANSLATORS: #. This is a dummy entry which is supposed to translate into "ok". #. Please do not return anything else here. -#: dvdisaster.c:281 dvdisaster.c:293 dvdisaster.c:309 +#: dvdisaster.c:308 dvdisaster.c:320 dvdisaster.c:336 msgid "test phrase for verifying the locale installation" msgstr "ok" -#: dvdisaster.c:472 +#: dvdisaster.c:486 +msgid "-o/--ecc-target expects 'file' or 'image'" +msgstr "" + +#: dvdisaster.c:512 #, c-format msgid "--threads must be 1..%d\n" msgstr "" -#: dvdisaster.c:486 +#: dvdisaster.c:526 msgid "--cache-size must at least be 8MB; 16MB or higher is recommended." msgstr "" -#: dvdisaster.c:488 +#: dvdisaster.c:528 msgid "--cache-size maximum is 8192MB." msgstr "" -#: dvdisaster.c:504 +#: dvdisaster.c:544 msgid "Valid args for --driver: sg" msgstr "" -#: dvdisaster.c:506 +#: dvdisaster.c:546 msgid "--driver is only supported on GNU/Linux" msgstr "" -#: dvdisaster.c:614 +#: dvdisaster.c:593 +msgid "--prefetch-sectors must be in range 32...8096" +msgstr "" + +#: dvdisaster.c:652 #, c-format msgid "" "\n" @@ -387,12 +427,12 @@ msgid "" "\n" msgstr "" -#: dvdisaster.c:678 +#: dvdisaster.c:716 #, c-format msgid "?? illegal getopt return value %d\n" msgstr "?? ogiltigt getopt-svarsvärde %d\n" -#: dvdisaster.c:712 +#: dvdisaster.c:750 #, c-format msgid "" "dvdisaster is not properly installed.\n" @@ -401,7 +441,7 @@ msgstr "" #. TRANSLATORS: Program options like -r and --read are not to be translated #. to avoid confusion when discussing the program in international forums. -#: dvdisaster.c:876 +#: dvdisaster.c:910 msgid "" "\n" "Common usage examples:\n" @@ -426,7 +466,7 @@ msgstr "" " dvdisaster -u,--unlink # Ta bort .iso-filer (när andra operationer är färdiga)\n" "\n" -#: dvdisaster.c:885 +#: dvdisaster.c:919 #, c-format msgid "" "Drive and file specification:\n" @@ -434,78 +474,202 @@ msgid "" " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" " -i,--image imagefile - name of image file (default: medium.iso)\n" " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +" -o,--ecc-target [file image] - where to put ecc data in RS03\n" msgstr "" -"Enhet och filspecifikation:\n" -" -d,--device enhet - läs från angiven enhet (standard: %s)\n" -" -p,--prefix prefix - prefix för .iso/.ecc-fil (standard: medium.* )\n" -" -i,--image avbildsfil - namn på avbildsfil (standard: medium.iso)\n" -" -e,--ecc ecc-fil - namn på paritetsfil (standard: medium.ecc)\n" -#: dvdisaster.c:893 -msgid "" -" -l,--list - list drives available under ASPI manager\n" -"\n" +#: dvdisaster.c:929 +msgid "Tweaking options (see manual before using!)\n" +msgstr "Justeringsflaggor (se manualen före användning!)\n" + +#: dvdisaster.c:930 +msgid " -a,--assume x,y,... - assume image is augmented with codec(s) x,y,...\n" msgstr "" -" -l,--list - lista enheter tillgängliga under ASPI-hanteraren\n" -"\n" -#: dvdisaster.c:898 +#: dvdisaster.c:931 +msgid " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" +msgstr " -j,--jump n - hoppa n sektorer framåt efter ett läsfel (standard: 16)\n" + +#: dvdisaster.c:932 +msgid " -m n - list/select error correction methods (default: RS01)\n" +msgstr " -m n - lista/välj felkorrigeringsmetoder (standard: RS01)\n" + +#: dvdisaster.c:933 #, c-format msgid "" -"Tweaking options (see manual before using!)\n" -" -j,--jump n - jump n sectors forward after a read error (default: 16)\n" -" -m n - list/select error correction methods (default: RS01)\n" " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" " maximum error correction image size (in sectors)\n" -" -v,--verbose - more diagnostic messages\n" -" --adaptive-read - use optimized strategy for reading damaged media\n" -" --auto-suffix - automatically add .iso and .ecc file suffixes\n" -" --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" -" --dao - assume DAO disc; do not trim image end\n" -" --defective-dump d - directory for saving incomplete raw sectors\n" -" --eject - eject medium after successful read\n" -" --fill-unreadable n - fill unreadable sectors with byte n\n" -" --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" -" --internal-rereads n - drive may attempt n rereads before reporting an error\n" -" --query-size n - query drive/udf/ecc for image size (default: ecc)\n" -" --raw-mode n - mode for raw reading CD media (20 or 21)\n" -" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -" --read-medium n - read the whole medium up to n times\n" -" --read-raw - performs read in raw mode if possible\n" -" --speed-warning n - print warning if speed changes by more than n percent\n" -" --spinup-delay n - wait n seconds for drive to spin up\n" -" --split-files - split image into files <= 2GB\n" -"\n" +msgstr "" +" -n,--redundancy n%% - redundans för felkorrigeringsfil (i procent), eller\n" +" maximal storlek på felkorrigeringsavbild (i sektorer)\n" + +#: dvdisaster.c:935 +msgid " -v,--verbose - more diagnostic messages\n" +msgstr " -v,--verbose - mer informativa meddelanden\n" + +#: dvdisaster.c:936 +msgid " -x,--threads n - use n threads for en-/decoding (if supported by codec)\n" msgstr "" -#: dvdisaster.c:924 +#: dvdisaster.c:937 +msgid " --adaptive-read - use optimized strategy for reading damaged media\n" +msgstr " --adaptive-read - använd optimerad strategi för läsning av skadat media\n" + +#: dvdisaster.c:938 +msgid " --auto-suffix - automatically add .iso and .ecc file suffixes\n" +msgstr " --auto-suffix - lägg automatiskt till filändelserna .iso och .ecc \n" + +#: dvdisaster.c:939 +msgid " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" +msgstr " --cache-size n - cachestorlek för avbild i MB med -c (standard: 32MB)\n" + +#: dvdisaster.c:940 +msgid " --dao - assume DAO disc; do not trim image end\n" +msgstr " --dao - anta DAO-skiva; trimma inte avbildens slut\n" + +#: dvdisaster.c:941 +msgid " --defective-dump d - directory for saving incomplete raw sectors\n" +msgstr "" + +#: dvdisaster.c:943 +msgid " --driver=sg - use alternative sg driver (see man page!)\n" +msgstr "" + +#: dvdisaster.c:945 +msgid " --eject - eject medium after successful read\n" +msgstr "" + +#: dvdisaster.c:946 +msgid " --fill-unreadable n - fill unreadable sectors with byte n\n" +msgstr " --fill-unreadable n - fyll oläsliga sektorer med byte n\n" + +#: dvdisaster.c:947 +msgid " --ignore-fatal-sense - continue reading after potentially fatal error conditon\n" +msgstr "" + +#: dvdisaster.c:948 +msgid " --internal-rereads n - drive may attempt n rereads before reporting an error\n" +msgstr "" + +#: dvdisaster.c:949 +msgid " --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n" +msgstr "" + +#: dvdisaster.c:950 +msgid " --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMB)\n" +msgstr "" + +#: dvdisaster.c:951 +msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" +msgstr "" + +#: dvdisaster.c:952 +msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" +msgstr "" + +#: dvdisaster.c:953 +msgid " --read-medium n - read the whole medium up to n times\n" +msgstr "" + +#: dvdisaster.c:954 +msgid " --read-raw - performs read in raw mode if possible\n" +msgstr "" + +#: dvdisaster.c:955 +msgid " --speed-warning n - print warning if speed changes by more than n percent\n" +msgstr " --speed-warning n - skriv ut varning om hastighet ändras med mer än n procent\n" + +#: dvdisaster.c:956 +msgid " --spinup-delay n - wait n seconds for drive to spin up\n" +msgstr " --spinup-delay n - vänta n sekunder på att enheten ska varva upp\n" + +#: dvdisaster.c:960 +msgid "Debugging options (purposefully undocumented and possibly harmful)\n" +msgstr "" + +#: dvdisaster.c:961 +msgid " --debug - enables the following options\n" +msgstr "" + +#: dvdisaster.c:962 +msgid " --byteset s,i,b - set byte i in sector s to b\n" +msgstr "" + +#: dvdisaster.c:963 +msgid " --cdump - creates C #include file dumps instead of hexdumps\n" +msgstr "" + +#: dvdisaster.c:964 +msgid " --compare-images a,b - compare sectors in images a and b\n" +msgstr "" + +#: dvdisaster.c:965 +msgid " --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" +msgstr "" + +#: dvdisaster.c:966 +msgid " --erase sector - erase the given sector\n" +msgstr "" + +#: dvdisaster.c:967 +msgid " --erase n-m - erase sectors n - m, inclusively\n" +msgstr "" + +#: dvdisaster.c:968 +msgid " --marked-image n - create image with n marked random sectors\n" +msgstr "" + +#: dvdisaster.c:969 +msgid " --merge-images a,b merge image a with b (a receives sectors from b)\n" +msgstr "" + +#: dvdisaster.c:970 +msgid " --random-errors r,e seed image with (correctable) random errors\n" +msgstr "" + +#: dvdisaster.c:971 +msgid " --random-image n - create image with n sectors of random numbers\n" +msgstr "" + +#: dvdisaster.c:972 +msgid " --random-seed n - random seed for built-in random number generator\n" +msgstr "" + +#: dvdisaster.c:973 +msgid " --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" +msgstr "" + +#: dvdisaster.c:974 +msgid " --read-sector n - shows hexdump of the given sector from medium in drive\n" +msgstr "" + +#: dvdisaster.c:975 +msgid " --screen-shot - useful for generating screen shots\n" +msgstr "" + +#: dvdisaster.c:976 +msgid " --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" +msgstr "" + +#: dvdisaster.c:977 +msgid " --show-sector n - shows hexdump of the given sector in an image file\n" +msgstr "" + +#: dvdisaster.c:978 #, c-format +msgid " --sim-defects n - simulate n%% defective sectors on medium\n" +msgstr "" + +#: dvdisaster.c:979 +msgid " --truncate n - truncates image to n sectors\n" +msgstr "" + +#: dvdisaster.c:980 msgid "" -"Debugging options (purposefully undocumented and possibly harmful)\n" -" --debug - enables the following options\n" -" --byteset s,i,b - set byte i in sector s to b\n" -" --cdump - creates C #include file dumps instead of hexdumps\n" -" --compare-images a,b - compare sectors in images a and b\n" -" --copy-sector a,n,b,m - copy sector n from image a to sector m in image b\n" -" --erase sector - erase the given sector\n" -" --erase n-m - erase sectors n - m, inclusively\n" -" --marked-image n - create image with n marked random sectors\n" -" --merge-images a,b merge image a with b (a receives sectors from b)\n" -" --random-errors r,e seed image with (correctable) random errors\n" -" --random-image n - create image with n sectors of random numbers\n" -" --random-seed n - random seed for built-in random number generator\n" -" --raw-sector n - shows hexdump of the given raw sector from medium in drive\n" -" --read-sector n - shows hexdump of the given sector from medium in drive\n" -" --screen-shot - useful for generating screen shots\n" -" --send-cdb arg - executes given cdb at drive; kills system if used wrong\n" -" --show-sector n - shows hexdump of the given sector in an image file\n" -" --sim-defects n - simulate n%% defective sectors on medium\n" -" --truncate n - truncates image to n sectors\n" " --zero-unreadable - replace the \"unreadable sector\" markers with zeros\n" "\n" msgstr "" -#: dvdisaster.c:948 +#: dvdisaster.c:984 msgid "" "NOTE: This is the Windows console version of dvdisaster.\n" "The version providing a graphical user interface is called\n" @@ -513,7 +677,7 @@ msgid "" "\n" msgstr "" -#: dvdisaster.c:969 +#: dvdisaster.c:1005 msgid "Optical drive 52X FW 1.02" msgstr "" @@ -533,6 +697,22 @@ msgstr "" msgid "Reed-Solomon method with improved tolerance for defective ecc data" msgstr "Reed-Solomon-metod med förbättrad tolerans för skadat ecc-data" +#: ecc-rs03.c:39 +msgid "Multithreaded RS codec (RS03)" +msgstr "" + +#: ecc-rs03.c:40 +msgid "Multithreaded Reed-Solomon codec for error correction files and augmented images" +msgstr "" + +#: ecc-rs03s.c:39 +msgid "Single threaded RS codec (RSS3)" +msgstr "" + +#: ecc-rs03s.c:40 +msgid "Single threaded Reed-Solomon codec for error correction files and augmented images" +msgstr "" + #: file.c:39 #, c-format msgid "" @@ -546,7 +726,7 @@ msgstr "" msgid ": not present.\n" msgstr ": inte tillgänglig.\n" -#: file.c:49 +#: file.c:49 rs03-common.c:175 #, c-format msgid "Image file %s not present." msgstr "Avbildsfil %s inte tillgänglig." @@ -583,7 +763,7 @@ msgstr "" "Kan inte läsa ecc-huvud:\n" "%s" -#: file.c:186 rs01-create.c:958 +#: file.c:186 rs01-create.c:971 #, c-format msgid "" "Error closing error correction file:\n" @@ -666,13 +846,13 @@ msgstr "Om dvdisaster" #: help-dialogs.c:709 msgid "" -"Modified version Copyright 2009 (please fill in - [directions])\n" -"Copyright 2004-2009 Carsten Gnoerlich" +"Modified version Copyright 2010 (please fill in - [directions])\n" +"Copyright 2004-2010 Carsten Gnoerlich" msgstr "" #: help-dialogs.c:713 -msgid "Copyright 2004-2009 Carsten Gnoerlich" -msgstr "Copyright 2004-2009 Carsten Gnörlich" +msgid "Copyright 2004-2010 Carsten Gnoerlich" +msgstr "Copyright 2004-2010 Carsten Gnörlich" #: help-dialogs.c:720 msgid "" @@ -726,7 +906,7 @@ msgid "" "NetBSD port: Sergey Svishchev <svs@ropnet.ru>" msgstr "" -#: large-io.c:499 +#: large-io.c:250 #, c-format msgid "" "Error while writing the file:\n" @@ -741,84 +921,103 @@ msgstr "" "\n" "Du kan göra om operationen när du har frigjort mer utrymme." -#: main-window.c:70 +#: main-window.c:57 #, c-format msgid "dvdisaster-%s log\n" msgstr "dvdisaster-%s logg\n" -#: main-window.c:241 +#: main-window.c:87 +msgid "" +"The .iso image and error correction file\n" +"must not be the same file!\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" + +#: main-window.c:97 +msgid "" +"The error correction file type must not be \".iso\".\n" +"\n" +"If you intended to create or use an .iso image\n" +"which is augmented with error correction data,\n" +"please leave the error correction file name blank." +msgstr "" + +#: main-window.c:246 msgid "button|Read" msgstr "Läs" -#: main-window.c:244 +#: main-window.c:249 msgid "tooltip|Read Image" msgstr "Läs avbild" -#: main-window.c:244 +#: main-window.c:249 msgid "Reads a CD/DVD image into a file (or tries to complete an existing image file)." msgstr "Läser en cd/dvd-avbild till en fil (eller försöker att färdigställa en existerande avbildsfil)." -#: main-window.c:258 +#: main-window.c:263 msgid "button|Create" msgstr "Skapa" -#: main-window.c:261 +#: main-window.c:266 msgid "tooltip|Create error correction data" msgstr "" -#: main-window.c:261 +#: main-window.c:266 msgid "Creates error correction data. Requires an image file." msgstr "" -#: main-window.c:265 +#: main-window.c:270 msgid "button|Scan" msgstr "Sök av" -#: main-window.c:268 +#: main-window.c:273 msgid "tooltip|Scan medium" msgstr "Sök av medium" -#: main-window.c:268 +#: main-window.c:273 msgid "Scans medium for unreadable sectors." msgstr "Söker av medium för oläsbara sektorer." -#: main-window.c:272 +#: main-window.c:277 msgid "button|Fix" msgstr "Rätta till" -#: main-window.c:275 +#: main-window.c:280 msgid "tooltip|Repair image" msgstr "Reparera avbild" -#: main-window.c:275 +#: main-window.c:280 msgid "Repairs an image. Requires an image file and error correction data." msgstr "Reparerar en avbild. Kräver en avbildsfil och felkorrigeringsdata." -#: main-window.c:279 +#: main-window.c:284 msgid "button|Verify" msgstr "Validera" -#: main-window.c:282 +#: main-window.c:287 msgid "tooltip|Consistency check" msgstr "" -#: main-window.c:282 +#: main-window.c:287 msgid "Tests consistency of error correction data and image file." msgstr "Testar konsistensen på felkorrigeringsdata och avbildsfil." -#: main-window.c:286 +#: main-window.c:291 msgid "button|Stop" msgstr "Stopp" -#: main-window.c:289 +#: main-window.c:294 msgid "tooltip|Abort action" msgstr "Avbryt operation" -#: main-window.c:289 +#: main-window.c:294 msgid "Aborts an ongoing action." msgstr "Avbryter en pågående operation." -#: main-window.c:418 +#: main-window.c:423 #, c-format msgid "" "dvdisaster is not properly installed\n" @@ -826,15 +1025,15 @@ msgid "" "Please execute the installer program (%s) again.\n" msgstr "" -#: main-window.c:502 +#: main-window.c:507 msgid "tooltip|Protocol for current action" msgstr "Protokoll för aktuell operation" -#: main-window.c:503 +#: main-window.c:508 msgid "Displays additional information created during the current or last action." msgstr "Visar ytterligare information skapad under aktuella eller senaste operationen." -#: main-window.c:512 +#: main-window.c:517 msgid "View log" msgstr "Visa logg" @@ -854,7 +1053,7 @@ msgstr "" msgid "finalized" msgstr "" -#: medium-info.c:89 scsi-layer.c:83 +#: medium-info.c:89 scsi-layer.c:97 msgid "unknown" msgstr "okänd" @@ -866,8 +1065,8 @@ msgstr "" msgid "damaged" msgstr "" -#: medium-info.c:95 rs02-verify.c:669 rs02-verify.c:870 rs02-verify.c:871 -#: rs02-verify.c:872 +#: medium-info.c:95 rs02-verify.c:674 rs02-verify.c:880 rs02-verify.c:881 +#: rs02-verify.c:882 rs03-verify.c:1270 rs03-verify.c:1272 rs03-verify.c:1273 msgid "complete" msgstr "" @@ -943,7 +1142,7 @@ msgstr "" msgid "Book type:" msgstr "" -#: medium-info.c:308 scsi-layer.c:2645 +#: medium-info.c:308 scsi-layer.c:2662 msgid "Manuf.-ID:" msgstr "" @@ -1173,32 +1372,27 @@ msgstr "" "Lista på tillgängliga metoder:\n" "\n" -#: method.c:288 method.c:289 +#: method.c:133 method.c:134 +msgid "" +"\n" +"Error correction file type unknown.\n" +msgstr "" + +#: method.c:163 method.c:164 +msgid "" +"\n" +"No error correction data recognized in image.\n" +msgstr "" + +#: method.c:174 method.c:175 #, c-format msgid "Image file %s not present.\n" msgstr "Avbildsfil %s inte tillgänglig.\n" -#: method.c:313 method.c:318 -#, c-format -msgid "" -"\n" -"Unknown method %s.\n" -msgstr "" -"\n" -"Okänd metod %s.\n" - -#: method.c:314 method.c:319 -msgid "" -"\n" -"Neither ecc file nor ecc data in image found.\n" -msgstr "" -"\n" -"Varken fil eller ecc-data hittades i avbild.\n" - #: misc.c:205 #, c-format -msgid "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnoerlich.\n" -msgstr "dvdisaster-%s%sCopyright 2004-2009 Carsten Gnörlich.\n" +msgid "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnoerlich.\n" +msgstr "dvdisaster-%s%sCopyright 2004-2010 Carsten Gnörlich.\n" #. TRANSLATORS: Excluding all kinds of warranty might be harmful under your #. legislature. If in doubt, just translate the following like "This is free @@ -1216,11 +1410,11 @@ msgstr "" "under villkoren för GNU GENERAL PUBLIC LICENSE.\n" "Se filen \"COPYING\" för ytterligare information.\n" -#: misc.c:432 +#: misc.c:448 msgid "Warning" msgstr "Varning" -#: misc.c:495 misc.c:501 +#: misc.c:511 misc.c:517 msgid "" "\n" "*\n" @@ -1232,97 +1426,83 @@ msgstr "" "* dvdisaster - kan inte fortsätta:\n" "*\n" -#: preferences.c:444 +#: misc.c:1135 +msgid "Do not ask again" +msgstr "" + +#: misc.c:1156 +#, c-format +msgid "" +"Image file already exists and does not match the medium:\n" +"\n" +"%s\n" +"\n" +"The existing image file will be deleted." +msgstr "" + +#: misc.c:1175 +#, c-format +msgid "" +"The error correction file is already present:\n" +"\n" +"%s\n" +"\n" +"Overwrite it?" +msgstr "" + +#: preferences.c:448 msgid "Switched to the linear reading strategy." msgstr "Växlade till linjär lässtategi." -#: preferences.c:812 +#: preferences.c:828 msgid "Color selection" msgstr "" -#: preferences.c:1069 +#: preferences.c:1047 msgid "Disabled automatic error correction file generation." msgstr "Inaktiverade automatisk generering av felkorrigeringsfil." -#: preferences.c:1232 preferences.c:2304 preferences.c:2313 +#: preferences.c:1210 preferences.c:2295 preferences.c:2304 msgid "Raw sector caching" msgstr "" -#: preferences.c:1304 +#: preferences.c:1282 msgid "Log file" msgstr "" -#: preferences.c:1326 +#: preferences.c:1304 msgid "Delete the log file?" msgstr "" -#: preferences.c:1419 +#: preferences.c:1398 msgid "Preferences" msgstr "Inställningar" -#: preferences.c:1449 +#: preferences.c:1428 rs03-preferences.c:486 msgid "Image" msgstr "" -#: preferences.c:1453 -msgid "Image size" -msgstr "" - -#: preferences.c:1460 -msgid "Image size determination" -msgstr "" - -#: preferences.c:1460 -msgid "Get Image size from: " -msgstr "" - -#: preferences.c:1472 preferences.c:1788 -msgid "Drive" -msgstr "" - -#: preferences.c:1478 -msgid "ISO/UDF" -msgstr "ISO/UDF" - -#: preferences.c:1484 -msgid "ECC/RS02" -msgstr "ECC/RS02" - -#: preferences.c:1508 -msgid "" -"Image size determination\n" -"\n" -"Use ECC/RS02 for reading images augmented with error correction data; else pick ISO/UDF.\n" -"\n" -"ECC/RS02: The Image size is determined from the error correction data. Reading RS02 augmented images requires this option; otherwise the images may be incomplete. However if the medium does not contain error correction data, the start of the reading operation may be delayed significantly.\n" -"\n" -"ISO/UDF: The image size is determined from the ISO/UDF file system.\n" -"Caution: This is only suitable for working with error correction files. Images containing RS02 error correction information may be truncated.\n" -"\n" -"Drive: The image size reported by the drive will be used. As this information is typically wrong for DVD-RW/+RW/-RAM media this option is only present for backwards compatibility with older dvdisaster versions." -msgstr "" - -#: preferences.c:1527 +#: preferences.c:1432 msgid "Image creation" msgstr "" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy" msgstr "" -#: preferences.c:1536 +#: preferences.c:1441 msgid "Reading strategy: " msgstr "Lässtrategi: " -#: preferences.c:1550 +#: preferences.c:1455 msgid "Linear" msgstr "Linjär" -#: preferences.c:1558 +#: preferences.c:1463 msgid "Adaptive (for defective media)" msgstr "Adaptiv (för defekt media)" -#: preferences.c:1570 +#: preferences.c:1475 msgid "" "Reading strategy\n" "\n" @@ -1337,19 +1517,19 @@ msgid "" "Using the adaptive strategy without error correction data is possible but it is recommended to use linear reading in that case." msgstr "" -#: preferences.c:1582 +#: preferences.c:1487 msgid "Reading range" msgstr "" -#: preferences.c:1582 +#: preferences.c:1487 msgid "Read/Scan from sector" msgstr "Läs/Sök av från sektor" -#: preferences.c:1607 +#: preferences.c:1512 msgid "to sector" msgstr "till sektor" -#: preferences.c:1625 +#: preferences.c:1530 msgid "" "Reading range\n" "\n" @@ -1360,19 +1540,61 @@ msgid "" "These settings are only effective for the current session and will not be saved." msgstr "" -#: preferences.c:1635 +#: preferences.c:1540 +msgid "Error correction data recognization" +msgstr "" + +#: preferences.c:1549 +msgid "Exhaustive RS02 header search" +msgstr "" + +#: preferences.c:1549 +msgid "Perform exhaustive search for RS02 headers" +msgstr "" + +#: preferences.c:1569 +msgid "" +"Exhaustive RS02 header search\n" +"\n" +"When this setting is off only a quick check for RS02 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS02.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS02 data, but is not being recognized as such. Searching for the RS02 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS02 data. Otherwise you will waste a lot of time searching for the RS02 signatures and increase wear on the drive." +msgstr "" + +#: preferences.c:1588 +msgid "Recover RS03 signatures" +msgstr "" + +#: preferences.c:1588 +msgid "Find and recover RS03 signatures" +msgstr "" + +#: preferences.c:1608 +msgid "" +"Exhaustive RS03 header search\n" +"\n" +"When this setting is off only a quick check for RS03 data is performed. If the medium or image is damaged, the quick test may not suffice to identify the image as being augmented with RS03.\n" +"\n" +"Therefore you should turn this option on if a medium/image contains RS03 data, but is not being recognized as such. Searching for the RS03 information may cause a significant delay at the start of reading and scanning processes.\n" +"\n" +"Leave this option off when you are processing media or images which are not augmented with RS03 data. Otherwise you will waste a lot of time searching for the RS03 signatures and increase wear on the drive." +msgstr "" + +#: preferences.c:1627 msgid "Image properties" msgstr "Avbildsegenskaper" -#: preferences.c:1644 +#: preferences.c:1636 msgid "DAO mode" msgstr "" -#: preferences.c:1644 +#: preferences.c:1636 msgid "Assume image to be written in DAO mode (don't truncate)" msgstr "Anta att avbild kommer att skrivas i DAO-läget (kapa inte av)" -#: preferences.c:1664 +#: preferences.c:1656 msgid "" "Assume DAO mode\n" "\n" @@ -1383,19 +1605,19 @@ msgid "" "Tip: To avoid these problems, consider using the \"DAO / Disc at once\" (sometimes also called \"SAO / Session at once\") mode for writing single session media." msgstr "" -#: preferences.c:1680 +#: preferences.c:1671 msgid "Image format" msgstr "" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Missing sector tags" msgstr "" -#: preferences.c:1689 +#: preferences.c:1680 msgid "Use new style missing sector tags (Warning: compatibility issues!)" msgstr "" -#: preferences.c:1709 +#: preferences.c:1700 msgid "" "Missing sector tagging\n" "\n" @@ -1404,15 +1626,15 @@ msgid "" "N.b.: dvdisaster >= 0.72 will automatically recognize both tag formats when reading images; setting this value only affects the creation of new images." msgstr "" -#: preferences.c:1728 +#: preferences.c:1719 msgid "Filling of unreadable sectors" msgstr "" -#: preferences.c:1729 +#: preferences.c:1720 msgid "Fill unreadable sectors with byte:" msgstr "Fyll oläsbara sektorer med byte:" -#: preferences.c:1768 +#: preferences.c:1759 msgid "" "Filling of unreadable sectors\n" "\n" @@ -1420,50 +1642,54 @@ msgid "" "In other data recovery software it is common to fill unreadable sectors with a certain byte value. To allow interoperability with such programs, you can specify the byte value they are using:\n" msgstr "" -#: preferences.c:1777 +#: preferences.c:1768 msgid "0xb0 (176 decimal): for compatibility with h2cdimage published by \"c't\", a German periodical.\n" msgstr "" -#: preferences.c:1781 +#: preferences.c:1772 msgid "Note: Using zero filling (0x00, decimal 0) is highly discouraged. Most media contain regular zero filled sectors which can not be told apart from unreadable sectors if zero filling is used." msgstr "" -#: preferences.c:1792 preferences.c:1795 +#: preferences.c:1779 +msgid "Drive" +msgstr "" + +#: preferences.c:1783 preferences.c:1786 msgid "Drive initialisation" msgstr "Enhetsinitiering" -#: preferences.c:1796 +#: preferences.c:1787 msgid "Wait" msgstr "Vänta" -#: preferences.c:1799 +#: preferences.c:1790 msgid "seconds for drive to spin up" msgstr "sekunder för att enheten ska varva upp" -#: preferences.c:1828 +#: preferences.c:1819 msgid "" "Drive initialisation\n" "\n" "Waits the specified amount of seconds for letting the drive spin up. This avoids speed jumps at the beginning of the reading curve." msgstr "" -#: preferences.c:1834 +#: preferences.c:1825 msgid "Raw reading parameters" msgstr "" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode" msgstr "" -#: preferences.c:1843 +#: preferences.c:1834 msgid "Raw reading mode: " msgstr "" -#: preferences.c:1874 +#: preferences.c:1865 msgid "other:" msgstr "" -#: preferences.c:1908 +#: preferences.c:1899 msgid "" "Raw reading mode\n" "\n" @@ -1477,19 +1703,19 @@ msgid "" "0x01 Some drives do the right thing when given this value, although this makes no sense according to the SCSI specs. Try entering this value in the \"other\" field if the other choices do not work. See the mode page 01h documentation in chapter 6 of MMC3 or later for additional information." msgstr "" -#: preferences.c:1934 +#: preferences.c:1925 msgid "Internal read attempts" msgstr "" -#: preferences.c:1935 +#: preferences.c:1926 msgid "Reread defective sectors" msgstr "" -#: preferences.c:1938 +#: preferences.c:1929 msgid "times" msgstr "" -#: preferences.c:1968 +#: preferences.c:1959 msgid "" "Internal read attempts\n" "\n" @@ -1499,15 +1725,15 @@ msgid "" "Use the value -1 to leave the drive at its default setting." msgstr "" -#: preferences.c:1981 preferences.c:1984 +#: preferences.c:1972 preferences.c:1975 msgid "Fatal error handling" msgstr "" -#: preferences.c:1985 +#: preferences.c:1976 msgid "Ignore fatal errors" msgstr "" -#: preferences.c:2011 +#: preferences.c:2002 msgid "" "Fatal error handling\n" "\n" @@ -1515,15 +1741,15 @@ msgid "" "However some drives produce unfounded fatal messages. For such drives ignoring fatal errors may be needed to do uninterrupted reading of damaged media." msgstr "" -#: preferences.c:2021 +#: preferences.c:2012 msgid "Media ejection" msgstr "" -#: preferences.c:2024 preferences.c:2025 +#: preferences.c:2015 preferences.c:2016 msgid "Eject medium after sucessful read" msgstr "" -#: preferences.c:2051 +#: preferences.c:2042 msgid "" "Medium ejection\n" "\n" @@ -1532,23 +1758,23 @@ msgid "" "Note that the desktop environment may prevent other applications from ejecting media. In that case eject the medium through the desktop user interface." msgstr "" -#: preferences.c:2061 +#: preferences.c:2052 msgid "Read attempts" msgstr "" -#: preferences.c:2065 +#: preferences.c:2056 msgid "Sector read errors" msgstr "" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Raw reading" msgstr "" -#: preferences.c:2074 +#: preferences.c:2065 msgid "Read and analyze raw sectors" msgstr "" -#: preferences.c:2095 +#: preferences.c:2086 msgid "" "Raw reading (affects CD media only)\n" "\n" @@ -1564,16 +1790,16 @@ msgid "" "Raw sector caching also needs checking of the respective option." msgstr "" -#: preferences.c:2112 +#: preferences.c:2103 msgid "Minimum number of reading attempts" msgstr "" -#: preferences.c:2114 preferences.c:2115 preferences.c:2120 preferences.c:2121 +#: preferences.c:2105 preferences.c:2106 preferences.c:2111 preferences.c:2112 #, c-format msgid "Min. %d reading attempts per sector" msgstr "" -#: preferences.c:2142 +#: preferences.c:2133 msgid "" "Minimum number of reading attempts\n" "\n" @@ -1582,16 +1808,16 @@ msgid "" "Increasing the number of reading attempts may improve data recovery on marginal media, but will also increase processing time and mechanical wear on the drive." msgstr "" -#: preferences.c:2151 +#: preferences.c:2142 msgid "Maximum number of reading attempts" msgstr "" -#: preferences.c:2153 preferences.c:2154 preferences.c:2159 preferences.c:2160 +#: preferences.c:2144 preferences.c:2145 preferences.c:2150 preferences.c:2151 #, c-format msgid "Max. %d reading attempts per sector" msgstr "" -#: preferences.c:2181 +#: preferences.c:2172 msgid "" "Maximum number of reading attempts\n" "\n" @@ -1600,21 +1826,21 @@ msgid "" "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your CD/DVD drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." msgstr "" -#: preferences.c:2195 +#: preferences.c:2186 msgid "Treatment of unreadable areas" msgstr "" -#: preferences.c:2197 preferences.c:2199 preferences.c:2200 preferences.c:2208 +#: preferences.c:2188 preferences.c:2190 preferences.c:2191 preferences.c:2199 #, c-format msgid "Skip %d sectors after read error" msgstr "Hoppa över %d sektorer efter läsfel" -#: preferences.c:2198 preferences.c:2203 preferences.c:2204 preferences.c:2209 +#: preferences.c:2189 preferences.c:2194 preferences.c:2195 preferences.c:2200 #, c-format msgid "Stop reading when unreadable intervals < %d" msgstr "" -#: preferences.c:2235 +#: preferences.c:2226 msgid "" "Treatment of unreadable areas\n" "\n" @@ -1623,34 +1849,34 @@ msgid "" "Effects on the linear reading strategy:" msgstr "" -#: preferences.c:2242 +#: preferences.c:2233 msgid "Skipping a large number of sectors (e.g. 1024) gives a quick overview of damaged areas, but will usually not collect enough data for repairing the image." msgstr "" -#: preferences.c:2246 +#: preferences.c:2237 msgid "Smaller values like 16, 32 or 64 are a good trade-off: The processing time will beconsiderably shortened, but still enough data for repairing the image is collected.\n" msgstr "" -#: preferences.c:2250 +#: preferences.c:2241 msgid "" "The adaptive reading strategy uses this setting only if no error correction data is available. In that case the reading process will stop when no unread areas larger than the selected size remain. Values smaller than 128 are not recommended as they cause the drive to carry out lots of laser head repositioning during the final phase of the reading process. If adaptive reading with a setting of 128 is not sufficient, try reading the remaining sectors with an additional linear reading pass.\n" "\n" "On DVD and BD media read errors do usually extend over at least 16 sectors for technical reasons. Therefore selecting a value less than 16 is not recommended for DVD and BD." msgstr "" -#: preferences.c:2263 preferences.c:2266 +#: preferences.c:2254 preferences.c:2257 msgid "Media read attempts" msgstr "" -#: preferences.c:2267 +#: preferences.c:2258 msgid "Read the whole medium " msgstr "" -#: preferences.c:2282 +#: preferences.c:2273 msgid " times" msgstr "" -#: preferences.c:2297 +#: preferences.c:2288 msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -1659,15 +1885,15 @@ msgid "" "Only the missing sectors will be tried in the additional reading passes." msgstr "" -#: preferences.c:2314 +#: preferences.c:2305 msgid "Keep uncorrectable raw sectors in the following directory:" msgstr "" -#: preferences.c:2321 preferences.c:3106 +#: preferences.c:2312 preferences.c:3105 msgid "Select" msgstr "" -#: preferences.c:2360 +#: preferences.c:2351 msgid "" "Raw sector caching\n" "\n" @@ -1679,298 +1905,304 @@ msgid "" "dvdisaster will not remove any files from the given directory; you need to clean it up manually after a successful medium recovery." msgstr "" -#: preferences.c:2378 +#: preferences.c:2369 msgid "Raw sector file prefix" msgstr "" -#: preferences.c:2379 +#: preferences.c:2370 msgid "Raw sector file prefix: " msgstr "" -#: preferences.c:2400 +#: preferences.c:2391 msgid "" "Raw sector file prefix\n" "\n" "Use a different prefix for each disk you are trying to recover, e.g. \"disk1-\" and so on." msgstr "" -#: preferences.c:2408 +#: preferences.c:2399 msgid "Error correction" msgstr "Felkorrigering" -#: preferences.c:2410 +#: preferences.c:2401 msgid "Error correction method" msgstr "" -#: preferences.c:2411 +#: preferences.c:2402 msgid "Storage method:" msgstr "" +#: preferences.c:2441 +msgid "" +"Error correction method\n" +"\n" +"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are different codecs and ways available for storing the error correction information:\n" +msgstr "" + #: preferences.c:2447 msgid "" -"Error correction method\n" -"\n" -"dvdisaster creates error correction data which is used to recover unreadable sectors if the disc becomes damaged later on. There are two different ways available for storing the error correction information:\n" +"The RS01 codec\n" +"RS01 is the recommended codec for storing error correction data in separate files.\n" msgstr "" -#: preferences.c:2453 +#: preferences.c:2450 msgid "" -"Error correction files (RS01 method)\n" -"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster, as data loss in an error correction file will render it unusable.\n" +"The RS02 codec\n" +"RS02 is the currently recommended codec for augmenting images with error correction data.\n" msgstr "" -#: preferences.c:2460 +#: preferences.c:2454 msgid "" -"Augmented images (RS02 method)\n" -"The error correction data will be stored along with the user data on the same CD/DVD. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image. Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required." +"The RS03 codec (Warning: experimental)\n" +"RS03 can either store error correction data in a separate file or augment the image with it. It provides multithreading to scale with multicore processors and contains some subtle improvements over RS01 and RS02. However it should not be used for productive work unless a stable version is released with dvdisaster V0.80." msgstr "" -#: preferences.c:2500 +#: preferences.c:2492 msgid "Files" msgstr "" -#: preferences.c:2504 +#: preferences.c:2496 msgid "Local files (on hard disc)" msgstr "Lokala filer (på hårddisk)" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatic file suffixes" msgstr "" -#: preferences.c:2511 +#: preferences.c:2503 msgid "Automatically add .iso and .ecc file suffixes" msgstr "Lägg automatiskt till filändelserna .iso och .ecc" -#: preferences.c:2535 +#: preferences.c:2527 msgid "" "Automatically add file suffixes\n" "\n" "When this switch is set, files will be automatically appended with \".iso\" or \".ecc\" suffixes if no other file name extension is already present." msgstr "" -#: preferences.c:2541 -msgid "File splitting" -msgstr "" - -#: preferences.c:2541 -msgid "Split files into segments <= 2GB" -msgstr "" - -#: preferences.c:2564 -msgid "" -"File splitting\n" -"\n" -"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -msgstr "" - -#: preferences.c:2573 +#: preferences.c:2533 msgid "Automatic file creation and deletion" msgstr "Automatiskt filskapande och borttagning" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Automatic .ecc file creation" msgstr "" -#: preferences.c:2582 +#: preferences.c:2542 msgid "Create error correction file after reading image" msgstr "Skapa felkorrigeringsfil efter läsning av avbild" -#: preferences.c:2605 +#: preferences.c:2565 msgid "" "Automatic error correction file creation\n" "\n" "Automatically creates an error correction file after reading an image. Together with the \"Remove image\" option this will speed up error correction file generation for a series of different media." msgstr "" -#: preferences.c:2612 +#: preferences.c:2572 msgid "Automatic image file removal" msgstr "" -#: preferences.c:2612 +#: preferences.c:2572 msgid "Remove image after error correction file creation" msgstr "Ta bort avbild efter felkorrigeringsfil har skapats" -#: preferences.c:2635 +#: preferences.c:2595 msgid "" "Automatic image file removal\n" "\n" "If this switch is set the image file will be deleted following the successful generation of the respective error correction file." msgstr "" -#: preferences.c:2641 +#: preferences.c:2601 preferences.c:2610 +msgid "Confirm file overwriting" +msgstr "" + +#: preferences.c:2610 +msgid "Ask before overwriting image and ecc files" +msgstr "" + +#: preferences.c:2633 +msgid "" +"Ask before overwriting image and ecc files\n" +"\n" +"dvdisaster will ask you for confirmation when it is going to overwrite an existing image or error correction file if this option is checked." +msgstr "" + +#: preferences.c:2640 msgid "Appearance" msgstr "" -#: preferences.c:2653 +#: preferences.c:2652 msgid "Sector coloring" msgstr "" -#: preferences.c:2664 rs01-verify.c:120 rs02-verify.c:115 +#: preferences.c:2663 rs01-verify.c:120 rs02-verify.c:115 rs03-verify.c:123 msgid "Good sectors" msgstr "Bra sektorer" -#: preferences.c:2664 +#: preferences.c:2663 msgid "Good sector" msgstr "" -#: preferences.c:2688 +#: preferences.c:2687 msgid "" "Good sectors\n" "\n" "This color indicates good sectors." msgstr "" -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum errors" msgstr "" -#: preferences.c:2693 +#: preferences.c:2692 msgid "Checksum error" msgstr "" -#: preferences.c:2717 +#: preferences.c:2716 msgid "" "Checksum errors\n" "\n" "This color is used for displaying sectors with wrong check sums." msgstr "" -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable sectors" msgstr "" -#: preferences.c:2722 +#: preferences.c:2721 msgid "Unreadable" msgstr "" -#: preferences.c:2746 +#: preferences.c:2745 msgid "" "Unreadable sectors\n" "\n" "This color is used for marking unreadable sectors." msgstr "" -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sectors" msgstr "" -#: preferences.c:2751 +#: preferences.c:2750 msgid "Present sector" msgstr "" -#: preferences.c:2775 +#: preferences.c:2774 msgid "" "Present sectors\n" "\n" "Sectors which are already present are marked with this color." msgstr "" -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sectors" msgstr "" -#: preferences.c:2780 +#: preferences.c:2779 msgid "Ignored sector" msgstr "" -#: preferences.c:2804 +#: preferences.c:2803 msgid "" "Ignored sectors\n" "\n" "Sectors marked with this color will not be processed in the current run." msgstr "" -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sectors" msgstr "" -#: preferences.c:2810 +#: preferences.c:2809 msgid "Highlit sector" msgstr "" -#: preferences.c:2834 +#: preferences.c:2833 msgid "" "Highlit sectors\n" "\n" "This color is used for temporarily highlighting sectors during adaptive reading." msgstr "" -#: preferences.c:2840 +#: preferences.c:2839 msgid "Text colors" msgstr "" -#: preferences.c:2850 +#: preferences.c:2849 msgid "Positive text" msgstr "" -#: preferences.c:2874 +#: preferences.c:2873 msgid "" "Positive text\n" "\n" "Good news are printed in this color." msgstr "" -#: preferences.c:2879 +#: preferences.c:2878 msgid "Negative text" msgstr "" -#: preferences.c:2903 +#: preferences.c:2902 msgid "" "Negative text\n" "\n" "Bad news are printed in this color." msgstr "" -#: preferences.c:2908 +#: preferences.c:2907 msgid "Curve colors" msgstr "" -#: preferences.c:2917 +#: preferences.c:2916 msgid "Curve color" msgstr "" -#: preferences.c:2941 +#: preferences.c:2940 msgid "" "Curve color and labels\n" "\n" "The reading speed curve, its left side and top labels are printed in this color." msgstr "" -#: preferences.c:2947 read-linear-window.c:405 +#: preferences.c:2946 read-linear-window.c:405 msgid "C2 errors" msgstr "" -#: preferences.c:2971 +#: preferences.c:2970 msgid "" "C2 error color\n" "\n" "The logarithmic bar graph showing the C2 errors is rendered in this color during the \"read\" and \"scan\" operations." msgstr "" -#: preferences.c:2978 +#: preferences.c:2977 msgid "Error correction load" msgstr "" -#: preferences.c:3002 +#: preferences.c:3001 msgid "" "Error correction load\n" "\n" "The bar graph showing the error correction load is rendered in this color during the \"Fix\" operation." msgstr "" -#: preferences.c:3014 +#: preferences.c:3013 msgid "Default color scheme" msgstr "" -#: preferences.c:3022 +#: preferences.c:3021 msgid "Dialog boxes" msgstr "" -#: preferences.c:3025 +#: preferences.c:3024 msgid "Reverse OK / Cancel buttons" msgstr "" -#: preferences.c:3049 +#: preferences.c:3048 msgid "" "Reverse OK / Cancel buttons\n" "\n" @@ -1979,38 +2211,38 @@ msgid "" "Changes will become active after restarting dvdisaster." msgstr "" -#: preferences.c:3056 +#: preferences.c:3055 msgid "Misc" msgstr "" -#: preferences.c:3060 +#: preferences.c:3059 msgid "Logging" msgstr "" -#: preferences.c:3067 +#: preferences.c:3066 msgid "Verbose logging" msgstr "" -#: preferences.c:3091 +#: preferences.c:3090 msgid "" "Verbose logging\n" "\n" "More information will be supplied in the Log window and/or log file. Useful for debugging, but may lead to slower performance." msgstr "" -#: preferences.c:3098 +#: preferences.c:3097 msgid "Logfile:" msgstr "" -#: preferences.c:3099 +#: preferences.c:3098 msgid "Copy log to file:" msgstr "" -#: preferences.c:3107 +#: preferences.c:3106 msgid "Delete" msgstr "" -#: preferences.c:3153 +#: preferences.c:3152 msgid "" "Logfile\n" "\n" @@ -2054,17 +2286,17 @@ msgstr "" msgid "Raw sector does not belong to the selected image!" msgstr "" -#: raw-editor.c:388 read-adaptive.c:999 read-adaptive.c:1070 -#: read-adaptive.c:1359 read-adaptive.c:1554 read-linear.c:431 -#: read-linear.c:691 read-linear.c:996 rs01-fix.c:447 rs01-fix.c:707 -#: rs02-fix.c:751 +#: raw-editor.c:388 read-adaptive.c:997 read-adaptive.c:1068 +#: read-adaptive.c:1357 read-adaptive.c:1552 read-linear.c:399 +#: read-linear.c:659 read-linear.c:959 rs01-fix.c:447 rs01-fix.c:707 +#: rs02-fix.c:751 rs03-fix.c:778 #, c-format msgid "Failed seeking to sector %lld in image [%s]: %s" msgstr "Misslyckades med att söka fram till sektor %lld i avbild [%s]: %s" -#: raw-editor.c:395 read-adaptive.c:1013 read-adaptive.c:1076 -#: read-adaptive.c:1391 read-adaptive.c:1404 read-adaptive.c:1562 -#: read-linear.c:440 read-linear.c:698 rs01-fix.c:454 +#: raw-editor.c:395 read-adaptive.c:1011 read-adaptive.c:1074 +#: read-adaptive.c:1389 read-adaptive.c:1402 read-adaptive.c:1560 +#: read-linear.c:408 read-linear.c:666 rs01-fix.c:454 #, c-format msgid "Failed writing to sector %lld in image [%s]: %s" msgstr "Misslyckades med att skriva till sektor %lld i avbild [%s]: %s" @@ -2250,13 +2482,6 @@ msgstr "" msgid "button|Smart L-EC" msgstr "" -#: raw-sector-cache.c:34 raw-sector-cache.c:201 raw-sector-cache.c:335 -#: rs01-verify.c:538 scsi-freebsd.c:113 scsi-linux.c:100 scsi-netbsd.c:111 -#: scsi-solaris.c:127 -#, c-format -msgid "Could not open %s: %s" -msgstr "Kunde inte öppna %s: %s" - #: raw-sector-cache.c:59 raw-sector-cache.c:123 raw-sector-cache.c:129 #: raw-sector-cache.c:133 raw-sector-cache.c:161 raw-sector-cache.c:259 #, c-format @@ -2293,7 +2518,7 @@ msgstr "" msgid " [Appended %d/%d sectors to cache file %s; LBA=%lld, ssize=%d, %d sectors]\n" msgstr "" -#: read-adaptive.c:143 read-adaptive.c:1336 +#: read-adaptive.c:143 read-adaptive.c:1334 msgid "Aborted by unrecoverable error." msgstr "Avbruten av ej återhämtningsbart fel." @@ -2333,8 +2558,8 @@ msgstr "" "Endast de första %lld mediumsektorerna kommer att behandlas.\n" #: read-adaptive.c:489 read-adaptive.c:505 read-adaptive.c:569 -#: read-adaptive.c:657 read-adaptive.c:719 read-adaptive.c:1020 -#: read-adaptive.c:1266 +#: read-adaptive.c:655 read-adaptive.c:717 read-adaptive.c:1018 +#: read-adaptive.c:1264 msgid "Aborted by user request!" msgstr "Avbruten av användaren!" @@ -2365,23 +2590,15 @@ msgid "" "Medium and ecc file do not belong together.\n" msgstr "" -#: read-adaptive.c:618 read-linear.c:371 +#: read-adaptive.c:618 read-linear.c:341 msgid "Image file does not match the CD/DVD." msgstr "Avbildsfil stämmer inte med cd/dvd." -#: read-adaptive.c:621 read-linear.c:374 -msgid "" -"Image file already exists and does not match the CD/DVD.\n" -"The existing image file will be deleted." -msgstr "" -"Avbildsfilen existerar redan och stämmer inte med cd/dvd.\n" -"Den existerande avbildsfilen kommer att tas bort." - -#: read-adaptive.c:626 +#: read-adaptive.c:624 msgid "Reading aborted. Please select a different image file." msgstr "Läsning avbruten. Välj en annan avbildsfil." -#: read-adaptive.c:652 +#: read-adaptive.c:650 #, c-format msgid "" "Image file is %lld sectors longer than inserted medium\n" @@ -2390,81 +2607,81 @@ msgstr "" "Avbildsfil är %lld sektorer längre än inmatat medium\n" "(Avbildsfil: %lld sektorer; medium: %lld sektorer).\n" -#: read-adaptive.c:675 read-adaptive.c:679 +#: read-adaptive.c:673 read-adaptive.c:677 msgid "Loading CRC data." msgstr "" -#: read-adaptive.c:711 +#: read-adaptive.c:709 msgid "Analysing existing image file" msgstr "Analyserar existerande avbildsfil" -#: read-adaptive.c:728 rs01-common.c:160 rs02-verify.c:717 +#: read-adaptive.c:726 rs01-common.c:183 rs02-verify.c:727 rs03-verify.c:1057 #, c-format msgid "premature end in image (only %d bytes): %s\n" msgstr "för tidigt slut på avbild (endast %d byte): %s\n" -#: read-adaptive.c:805 +#: read-adaptive.c:803 #, c-format msgid "Analysing existing image file: %2d%%" msgstr "Analyserar existerande avbildsfil: %2d%%" -#: read-adaptive.c:822 +#: read-adaptive.c:820 msgid "Determining correctable sectors" msgstr "Fastställer korrigerbara sektorer" -#: read-adaptive.c:897 +#: read-adaptive.c:895 #, c-format msgid "Analysing existing image file: %lld readable, %lld correctable, %lld still missing.\n" msgstr "Analyserar existerande avbildsfil: %lld läsbara, %lld korrigerbara, %lld saknas fortfarande.\n" -#: read-adaptive.c:899 +#: read-adaptive.c:897 #, c-format msgid "Analysing existing image file: %lld readable, %lld still missing.\n" msgstr "Analyserar existerande avbildsfil: %lld läsbara, %lld saknas fortfarande.\n" -#: read-adaptive.c:949 read-linear.c:799 +#: read-adaptive.c:947 read-linear.c:767 msgid "Ignore once" msgstr "Ignorera en gång" -#: read-adaptive.c:950 read-linear.c:800 +#: read-adaptive.c:948 read-linear.c:768 msgid "Ignore always" msgstr "Ignorera alltid" -#: read-adaptive.c:951 read-linear.c:801 +#: read-adaptive.c:949 read-linear.c:769 msgid "Abort" msgstr "Avbryt" -#: read-adaptive.c:986 +#: read-adaptive.c:984 #, c-format msgid "Filling image area [%lld..%lld]" msgstr "Fyller avbildsområde [%lld..%lld]" -#: read-adaptive.c:1107 read-linear.c:186 +#: read-adaptive.c:1105 read-linear.c:186 msgid "Reading aborted" msgstr "Läsning avbruten" -#: read-adaptive.c:1110 read-linear.c:190 +#: read-adaptive.c:1108 read-linear.c:190 msgid "Preparing for reading the medium image." msgstr "Förbereder för läsning av mediumavbild." -#: read-adaptive.c:1111 read-linear.c:183 read-linear.c:191 +#: read-adaptive.c:1109 read-linear.c:183 read-linear.c:191 msgid "Medium: not yet determined" msgstr "Medium: ännu inte fastställt" -#: read-adaptive.c:1168 read-linear.c:311 +#: read-adaptive.c:1166 read-linear.c:281 #, c-format msgid "Creating new %s image.\n" msgstr "Skapar ny avbild %s.\n" -#: read-adaptive.c:1172 read-linear.c:304 +#: read-adaptive.c:1170 read-linear.c:274 msgid "Reading new medium image." msgstr "Läser ny mediumavbild." -#: read-adaptive.c:1192 read-linear.c:332 +#: read-adaptive.c:1190 read-linear.c:302 msgid "Completing existing medium image." msgstr "Färdigställer existerande mediumavbild." -#: read-adaptive.c:1225 read-adaptive.c:1526 +#: read-adaptive.c:1223 read-adaptive.c:1524 msgid "" "\n" "Sufficient data for reconstructing the image is available.\n" @@ -2472,7 +2689,7 @@ msgstr "" "\n" "Tillräcklig data för att återskapa avbilden finns tillgänglig.\n" -#: read-adaptive.c:1322 read-linear.c:1058 +#: read-adaptive.c:1320 read-linear.c:1021 #, c-format msgid "" "Sector %lld: %s\n" @@ -2480,7 +2697,7 @@ msgid "" "Use the --ignore-fatal-sense option to override." msgstr "" -#: read-adaptive.c:1327 read-linear.c:1063 +#: read-adaptive.c:1325 read-linear.c:1026 #, c-format msgid "" "Sector %lld: %s\n" @@ -2493,27 +2710,27 @@ msgstr "" "Det kanske inte är möjligt att återhämta från detta fel.\n" "Ska detta fel ignoreras och läsningen fortsätta?" -#: read-adaptive.c:1382 rs01-fix.c:400 rs02-fix.c:437 +#: read-adaptive.c:1380 rs01-fix.c:400 rs02-fix.c:437 rs03-fix.c:455 #, c-format msgid "CRC error in sector %lld\n" msgstr "CRC-fel i sektor %lld\n" -#: read-adaptive.c:1543 scsi-layer.c:1716 +#: read-adaptive.c:1541 scsi-layer.c:1744 #, c-format msgid "Sectors %lld-%lld: %s\n" msgstr "Sektorer %lld-%lld: %s\n" -#: read-adaptive.c:1546 read-linear.c:1244 scsi-layer.c:1715 +#: read-adaptive.c:1544 read-linear.c:1207 scsi-layer.c:1743 #, c-format msgid "Sector %lld: %s\n" msgstr "Sektor %lld: %s\n" -#: read-adaptive.c:1673 +#: read-adaptive.c:1671 #, c-format msgid "Only %2d.%1d%% of the image are readable or correctable" msgstr "Endast %2d.%1d%% av avbilden är läsbar eller korrigerbar" -#: read-adaptive.c:1676 +#: read-adaptive.c:1674 #, c-format msgid "" "\n" @@ -2524,7 +2741,7 @@ msgstr "" "%s\n" "(%lld läsbara, %lld korrigerbara, %lld saknas fortfarande).\n" -#: read-adaptive.c:1690 +#: read-adaptive.c:1688 msgid "" "\n" "Good! All sectors have been read.\n" @@ -2532,12 +2749,12 @@ msgstr "" "\n" "Bra! Alla sektorer har lästs.\n" -#: read-adaptive.c:1699 +#: read-adaptive.c:1697 #, c-format msgid "No unreadable intervals with >= %d sectors left." msgstr "Inga oläsbara intervall med >= %d sektorer kvar." -#: read-adaptive.c:1702 +#: read-adaptive.c:1700 #, c-format msgid "" "\n" @@ -2556,7 +2773,7 @@ msgstr "Adaptiv läsning:" msgid "Sectors processed" msgstr "Sektorer behandlade" -#: read-adaptive-window.c:110 scsi-layer.c:1697 +#: read-adaptive-window.c:110 scsi-layer.c:1725 msgid "readable" msgstr "läsbar" @@ -2595,192 +2812,173 @@ msgstr "" msgid "Scanning aborted" msgstr "Avsökning avbruten" -#: read-linear.c:182 read-linear.c:277 +#: read-linear.c:182 read-linear.c:247 msgid "Scanning medium for read errors." msgstr "Söker av medium efter läsfel." -#: read-linear.c:208 -#, c-format -msgid "" -"Automatic error correction file creation is enabled,\n" -"and \"%s\" already exists.\n" -"Overwrite it?\n" -msgstr "" -"Skapandet av automatisk felkorrigeringsfil är\n" -"aktiverat, och \"%s\" existerar redan.\n" -"Skriva över den?\n" - -#: read-linear.c:215 rs01-create.c:651 rs01-fix.c:188 rs01-fix.c:210 -#: rs01-fix.c:256 rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 -#: rs01-verify.c:430 rs01-verify.c:787 rs02-create.c:112 rs02-fix.c:232 -#: rs02-fix.c:253 rs02-fix.c:344 rs02-verify.c:707 -#, c-format -msgid "Aborted by user request!" -msgstr "Avbruten av användaren!" - -#: read-linear.c:284 +#: read-linear.c:254 msgid "Reading CRC information from ecc file" msgstr "Läser CRC-information från ecc-fil" -#: read-linear.c:316 +#: read-linear.c:286 msgid "Reading CRC information" msgstr "" -#: read-linear.c:380 +#: read-linear.c:348 #, c-format msgid "Reading aborted. Please select a different image file." msgstr "Läsning avbruten. Välj en annan avbildsfil." -#: read-linear.c:399 +#: read-linear.c:367 #, c-format msgid "Completing image %s. Continuing with sector %lld.\n" msgstr "Färdigställer avbild %s. Fortsätter med sektor %lld.\n" -#: read-linear.c:405 +#: read-linear.c:373 #, c-format msgid "Completing image %s. Only missing sectors will be read.\n" msgstr "Färdigställer avbild %s. Endast saknade sektorer kommer att läsas.\n" -#: read-linear.c:482 read-linear.c:486 +#: read-linear.c:450 read-linear.c:454 msgid "Reading CRC information from ecc data" msgstr "" -#: read-linear.c:516 +#: read-linear.c:484 msgid "done.\n" msgstr "klar.\n" -#: read-linear.c:528 scsi-layer.c:2038 +#: read-linear.c:496 scsi-layer.c:2063 #, c-format msgid "Waiting %d seconds for drive to spin up...\n" msgstr "Väntar %d sekunder på att enheten ska varva upp...\n" -#: read-linear.c:550 read-linear-window.c:101 +#: read-linear.c:518 read-linear-window.c:101 #, c-format msgid "Unreadable / skipped sectors: %lld" msgstr "Oläsbara / överhoppade sektorer: %lld" -#: read-linear.c:630 +#: read-linear.c:598 #, c-format msgid "Sector %lld: Speed increased to %4.1fx\n" msgstr "Sektor %lld: Hastighet ökad till %4.1fx\n" -#: read-linear.c:633 +#: read-linear.c:601 #, c-format msgid "Sector %lld: Speed dropped to %4.1fx\n" msgstr "Sektor %lld: Hastighet minskad till %4.1fx\n" -#: read-linear.c:638 +#: read-linear.c:606 #, c-format msgid "Read position: %3d.%1d%% (%4.1fx)" msgstr "Läsposition: %3d.%1d%% (%4.1fx)" -#: read-linear.c:763 rs01-common.c:235 rs02-verify.c:762 +#: read-linear.c:731 rs01-common.c:258 rs02-verify.c:772 rs03-verify.c:1148 #, c-format msgid "* CRC error, sector: %lld\n" msgstr "* CRC-fel, sektor: %lld\n" -#: read-linear.c:952 read-linear.c:1073 +#: read-linear.c:915 read-linear.c:1036 #, c-format msgid "Aborted by user request! %lld sectors read, %lld sectors unreadable/skipped so far." msgstr "Avbröts på användarens begäran! %lld sektorer lästa, %lld sektorer oläsbara/överhoppade än så länge." -#: read-linear.c:1008 +#: read-linear.c:971 #, c-format msgid "unexpected read error in image for sector %lld" msgstr "oväntat läsfel i avbild för sektor %lld" -#: read-linear.c:1088 +#: read-linear.c:1051 #, c-format msgid "Sector %lld: %3d C2 errors.%s\n" msgstr "" -#: read-linear.c:1216 +#: read-linear.c:1179 #, c-format msgid "Sector %lld: %s Skipping %d sectors.\n" msgstr "Sektor %lld: %s Hoppar över %d sektorer.\n" -#: read-linear.c:1276 +#: read-linear.c:1239 #, c-format msgid "" "Trying to complete image, reading pass %d of %d.\n" "%s" msgstr "" -#: read-linear.c:1278 +#: read-linear.c:1241 #, c-format msgid "" "\n" "Trying to complete image, reading pass %d of %d.\n" msgstr "" -#: read-linear.c:1303 +#: read-linear.c:1266 msgid "but wrong ecc md5sum" msgstr "" -#: read-linear.c:1310 +#: read-linear.c:1273 msgid "but wrong crc md5sum" msgstr "" -#: read-linear.c:1317 +#: read-linear.c:1280 msgid "but wrong data md5sum" msgstr "" -#: read-linear.c:1329 +#: read-linear.c:1292 #, c-format msgid "%lld sectors read. " msgstr "%lld sektorer lästa. " -#: read-linear.c:1330 +#: read-linear.c:1293 #, c-format msgid "%lld sectors read; %lld unreadable sectors." msgstr "%lld sektorer lästa; %lld oläsbara sektorer." -#: read-linear.c:1338 +#: read-linear.c:1301 #, c-format msgid "All sectors successfully read, but wrong image length (%lld sectors difference)" msgstr "Alla sektorer lästa men felaktig avbildslängd (skiljer %lld sektorer)" -#: read-linear.c:1342 +#: read-linear.c:1305 msgid "All sectors successfully read, but wrong image checksum." msgstr "Alla sektorer lästa men felaktig kontrollsumma på avbild." -#: read-linear.c:1343 read-linear.c:1347 +#: read-linear.c:1306 read-linear.c:1310 msgid "All sectors successfully read. Checksums match." msgstr "Alla sektorer lästa. Kontrollsummor stämmer." -#: read-linear.c:1349 +#: read-linear.c:1312 #, c-format msgid "All sectors successfully read, %s!" msgstr "" -#: read-linear.c:1354 +#: read-linear.c:1317 msgid "All sectors successfully read." msgstr "Alla sektorer lästa." -#: read-linear.c:1360 +#: read-linear.c:1323 #, c-format msgid "%lld unreadable sectors." msgstr "%lld oläsbara sektorer." -#: read-linear.c:1362 +#: read-linear.c:1325 #, c-format msgid "%lld CRC errors." msgstr "%lld CRC-fel." -#: read-linear.c:1363 +#: read-linear.c:1326 #, c-format msgid "%lld CRC errors, %lld unreadable sectors." msgstr "%lld CRC-fel, %lld oläsbara sektorer." -#: read-linear.c:1369 +#: read-linear.c:1332 msgid "Scanning finished: " msgstr "Avsökning färdig: " -#: read-linear.c:1371 +#: read-linear.c:1334 msgid "Reading finished: " msgstr "Läsning färdig: " -#: read-linear.c:1382 +#: read-linear.c:1345 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -2791,7 +2989,7 @@ msgstr "" "Detta är okej om cd-skivan skrevs i TAO-läget (track at once).\n" "Avbilden kommer att kapas enligt det. Se manualen för detaljer.\n" -#: read-linear.c:1388 +#: read-linear.c:1351 #, c-format msgid "" "%d sectors missing at the end of the disc.\n" @@ -2814,7 +3012,7 @@ msgid "Already present" msgstr "Finns redan" #: read-linear-window.c:277 read-linear-window.c:319 rs01-verify.c:123 -#: rs02-verify.c:118 +#: rs02-verify.c:118 rs03-verify.c:126 msgid "Sectors with CRC errors" msgstr "Sektorer med CRC-fel" @@ -2843,27 +3041,27 @@ msgstr "Hastighet" msgid "Sector %lld dumped to %s\n" msgstr "" -#: rs01-common.c:134 rs02-verify.c:793 +#: rs01-common.c:157 rs02-verify.c:803 rs03-verify.c:1171 #, c-format msgid "- testing sectors : %3d%%" msgstr "- testar sektorer : %3d%%" -#: rs01-common.c:135 +#: rs01-common.c:158 #, c-format msgid "Scanning image sectors: %3d%%" msgstr "Söker av avbildssektorer: %3d%%" -#: rs01-common.c:187 rs02-verify.c:749 +#: rs01-common.c:210 rs02-verify.c:759 #, c-format msgid "* missing sector : %lld\n" msgstr "* saknad sektor : %lld\n" -#: rs01-common.c:188 rs02-verify.c:750 +#: rs01-common.c:211 rs02-verify.c:760 #, c-format msgid "* missing sectors : %lld - %lld\n" msgstr "* saknade sektorer : %lld - %lld\n" -#: rs01-common.c:206 rs01-common.c:273 rs01-create.c:260 +#: rs01-common.c:229 rs01-common.c:296 rs01-create.c:273 #, c-format msgid "Error writing CRC information: %s" msgstr "Fel vid skrivning av CRC-information: %s" @@ -2873,7 +3071,7 @@ msgstr "Fel vid skrivning av CRC-information: %s" msgid "Redundancy %4.1f%% out of useful range [3.2%%..64.5%%]" msgstr "Redundans %4.1f%% av användbart intervall [3.2%%..64.5%%]" -#: rs01-create.c:75 +#: rs01-create.c:75 rs03-common.c:202 #, c-format msgid "Ecc file size %lldm out of useful range [%lld .. %lld]" msgstr "Ecc-filstorlek %lldm av användbart omfång [%lld .. %lld]" @@ -2884,6 +3082,7 @@ msgid "Redundancy %d out of useful range [8..100]." msgstr "Redundans %d utanför användbart intervall [8..100]." #: rs01-create.c:125 rs01-fix.c:77 rs02-create.c:58 rs02-fix.c:53 +#: rs03-create.c:116 rs03-fix.c:54 rs03s-create.c:125 #, c-format msgid "Aborted by unrecoverable error." msgstr "Avbröts av ej återhämtningsbara fel." @@ -2897,7 +3096,7 @@ msgstr "Skapandet av felkorrigeringsfil avbröts" msgid "Encoding with Method RS01: %d roots, %4.1f%% redundancy." msgstr "Kodar med Metod RS01: %d rötter, %4.1f%% redundans." -#: rs01-create.c:215 +#: rs01-create.c:215 rs03-create.c:1092 #, c-format msgid "" "Creating the error correction file.\n" @@ -2906,35 +3105,40 @@ msgstr "" "Skapar felkorrigeringsfilen.\n" "%s" -#: rs01-create.c:231 +#: rs01-create.c:227 rs03-create.c:213 +#, c-format +msgid "Aborted to keep existing ecc file." +msgstr "" + +#: rs01-create.c:244 #, c-format msgid "Writing sector checksums: %3d%%" msgstr "Skriver sektorkontrollsummor: %3d%%" -#: rs01-create.c:235 +#: rs01-create.c:248 msgid "1. Writing image sector checksums:" msgstr "1. Skriver sektorkontrollsummor:" -#: rs01-create.c:278 rs01-window.c:116 +#: rs01-create.c:291 rs01-window.c:129 msgid "1. Calculating image sector checksums:" msgstr "1. Beräknar sektorkontrollsummor för avbild:" -#: rs01-create.c:291 rs01-create.c:432 rs01-create.c:524 +#: rs01-create.c:304 rs01-create.c:445 rs01-create.c:537 #, c-format msgid "Aborted by user request! (partial error correction file removed)" msgstr "Avbröts på användarens begäran! (delvis felkorrigeringsfil borttagen)" -#: rs01-create.c:300 +#: rs01-create.c:313 #, c-format msgid "%lld sectors unread or missing due to errors.\n" msgstr "%lld sektorer olästa eller saknas på grund av fel.\n" -#: rs01-create.c:354 +#: rs01-create.c:367 #, c-format msgid "Failed skipping ecc+crc header: %s" msgstr "Misslyckades med att hoppa över ecc+crc-huvud: %s" -#: rs01-create.c:381 rs02-create.c:508 +#: rs01-create.c:394 rs02-create.c:512 #, c-format msgid "" "Failed allocating memory for I/O cache.\n" @@ -2942,12 +3146,23 @@ msgid "" "Try reducing it.\n" msgstr "" -#: rs01-create.c:509 rs01-create.c:633 rs01-create.c:927 rs02-create.c:955 +#: rs01-create.c:522 rs01-create.c:646 rs01-create.c:940 rs02-create.c:959 +#: rs03-create.c:921 rs03s-create.c:972 #, c-format msgid "Ecc generation: %3d.%1d%%" msgstr "Generering av ecc: %3d.%1d%%" -#: rs01-create.c:940 +#: rs01-create.c:664 rs01-fix.c:188 rs01-fix.c:210 rs01-fix.c:256 +#: rs01-fix.c:286 rs01-fix.c:303 rs01-fix.c:356 rs01-verify.c:431 +#: rs01-verify.c:798 rs02-create.c:112 rs02-fix.c:232 rs02-fix.c:253 +#: rs02-fix.c:344 rs02-verify.c:717 rs03-create.c:185 rs03-fix.c:260 +#: rs03-fix.c:281 rs03-fix.c:358 rs03s-create.c:179 rs03-verify.c:636 +#: rs03-verify.c:1044 +#, c-format +msgid "Aborted by user request!" +msgstr "Avbruten av användaren!" + +#: rs01-create.c:953 #, c-format msgid "" "could not write to ecc file \"%s\":\n" @@ -2956,7 +3171,7 @@ msgstr "" "kunde inte skriva till ecc-fil \"%s\":\n" "%s" -#: rs01-create.c:955 +#: rs01-create.c:968 #, c-format msgid "" "Can't write ecc header:\n" @@ -2965,12 +3180,12 @@ msgstr "" "Kan inte skriva ecc-huvud:\n" "%s" -#: rs01-create.c:963 rs02-create.c:1104 +#: rs01-create.c:976 rs02-create.c:1107 rs03-create.c:1145 rs03s-create.c:1124 #, c-format msgid "Ecc generation: 100.0%%\n" msgstr "Generering av ecc: 100.0%%\n" -#: rs01-create.c:964 +#: rs01-create.c:977 rs03-create.c:1152 #, c-format msgid "" "Error correction file \"%s\" created.\n" @@ -2979,7 +3194,7 @@ msgstr "" "Felkorrigeringsfil \"%s\" skapad.\n" "Tänk på att lagra filen på ett pålitligt medium.\n" -#: rs01-create.c:972 +#: rs01-create.c:985 rs03-create.c:1178 msgid "" "The error correction file has been successfully created.\n" "Make sure to keep this file on a reliable medium." @@ -2992,16 +3207,17 @@ msgstr "" msgid "Failed seeking in crc area: %s" msgstr "Misslyckades med att söka i crc-område: %s" -#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 +#: rs01-fix.c:43 rs02-fix.c:424 rs02-verify.c:433 rs03-verify.c:450 #, c-format msgid "problem reading crc data: %s" msgstr "problem att läsa crc-data: %s" -#: rs01-fix.c:138 rs02-fix.c:169 +#: rs01-fix.c:138 rs02-fix.c:169 rs03-fix.c:175 msgid "Repairing of image aborted" msgstr "Reparation av avbild avbruten" -#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 +#: rs01-fix.c:144 rs01-fix.c:159 rs02-fix.c:175 rs02-fix.c:206 rs03-fix.c:183 +#: rs03-fix.c:234 #, c-format msgid "" "Repairing the image.\n" @@ -3010,7 +3226,7 @@ msgstr "" "Reparerar avbilden.\n" "%s" -#: rs01-fix.c:145 rs02-fix.c:176 +#: rs01-fix.c:145 rs02-fix.c:176 rs03-fix.c:184 msgid "Opening files..." msgstr "Öppnar filer..." @@ -3019,7 +3235,7 @@ msgstr "Öppnar filer..." msgid "Error correction file using Method RS01, %d roots, %4.1f%% redundancy." msgstr "Felkorrigeringsfil som använder Metod RS01, %d rötter, %4.1f%% redundans." -#: rs01-fix.c:163 rs02-fix.c:211 +#: rs01-fix.c:163 rs02-fix.c:211 rs03-fix.c:239 msgid "" "\n" "Fix mode: Repairable sectors will be fixed in the image.\n" @@ -3044,7 +3260,7 @@ msgstr "" "\n" "%s" -#: rs01-fix.c:180 rs02-fix.c:224 +#: rs01-fix.c:180 rs02-fix.c:224 rs03-fix.c:252 #, c-format msgid "" "Image file is %lld sectors longer than expected.\n" @@ -3055,16 +3271,17 @@ msgstr "" "Antar att dett är ett medium i TAO-läge.\n" "%lld sektorer kommer att tas bort från avbildens slut.\n" -#: rs01-fix.c:205 rs02-fix.c:248 +#: rs01-fix.c:205 rs02-fix.c:248 rs03-fix.c:276 msgid "Is it okay to remove the superfluous sectors?" msgstr "Är det ok att ta bort de överflödiga sektorerna?" -#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 +#: rs01-fix.c:222 rs01-fix.c:238 rs02-fix.c:264 rs02-fix.c:279 rs03-fix.c:292 +#: rs03-fix.c:307 #, c-format msgid "Image has been truncated by %lld sectors.\n" msgstr "Avbild har kapats av %lld sektorer.\n" -#: rs01-fix.c:229 rs02-fix.c:271 +#: rs01-fix.c:229 rs02-fix.c:271 rs03-fix.c:299 msgid "" "Add the --truncate option to the program call\n" "to have the superfluous sectors removed." @@ -3160,12 +3377,12 @@ msgstr "Oväntat bytefel i sektor %lld, byte %d\n" msgid "Bad error location %d; corrupted .ecc file?\n" msgstr "Felaktig felplats %d; skadad .ecc-fil?\n" -#: rs01-fix.c:696 rs02-fix.c:718 +#: rs01-fix.c:696 rs02-fix.c:718 rs03-fix.c:737 #, c-format msgid " %3d repaired sectors: " msgstr " %3d reparerade sektorer: " -#: rs01-fix.c:715 rs02-fix.c:759 +#: rs01-fix.c:715 rs02-fix.c:759 rs03-fix.c:783 #, c-format msgid "" "could not write medium sector %lld:\n" @@ -3174,12 +3391,12 @@ msgstr "" "kunde inte skriva mediumsektor %lld:\n" "%s" -#: rs01-fix.c:741 rs02-fix.c:796 +#: rs01-fix.c:741 rs02-fix.c:796 rs03-fix.c:841 #, c-format msgid "Ecc progress: %3d.%1d%%" msgstr "Ecc-förlopp: %3d.%1d%%" -#: rs01-fix.c:753 rs02-fix.c:810 +#: rs01-fix.c:753 rs02-fix.c:810 rs03-fix.c:855 #, c-format msgid "Ecc progress: 100.0%%\n" msgstr "Ecc-förlopp: 100.0%%\n" @@ -3189,30 +3406,30 @@ msgstr "Ecc-förlopp: 100.0%%\n" msgid "Repaired sectors: %lld \n" msgstr "Reparerade sektorer: %lld \n" -#: rs01-fix.c:756 rs02-fix.c:815 +#: rs01-fix.c:756 rs02-fix.c:815 rs03-fix.c:860 #, c-format msgid "Unrepaired sectors: %lld\n" msgstr "Ej reparerade sektorer: %lld\n" -#: rs01-fix.c:759 rs02-fix.c:818 +#: rs01-fix.c:759 rs02-fix.c:818 rs03-fix.c:863 #, c-format msgid "Image sectors could not be fully restored (%lld repaired; %lld unrepaired)" msgstr "Avbildssektorer kunde inte fullständigt återställas (%lld reparerade; %lld ej reparerade)" -#: rs01-fix.c:765 rs02-fix.c:824 +#: rs01-fix.c:765 rs02-fix.c:824 rs03-fix.c:870 msgid "Good! All sectors are already present." msgstr "Bra! Alla sektorer finns tillgängliga." -#: rs01-fix.c:769 rs02-fix.c:828 +#: rs01-fix.c:769 rs02-fix.c:828 rs03-fix.c:875 msgid "Good! All sectors are repaired." msgstr "Bra! Alla sektorer är reparerade." -#: rs01-fix.c:774 rs02-fix.c:833 +#: rs01-fix.c:774 rs02-fix.c:833 rs03-fix.c:881 #, c-format msgid "Erasure counts per ecc block: avg = %.1f; worst = %d.\n" msgstr "Raderingsantal per ecc-block: medel = %.1f; sämst = %d.\n" -#: rs01-fix.c:779 rs02-fix.c:838 +#: rs01-fix.c:779 rs02-fix.c:838 rs03-fix.c:886 msgid "Repair results:" msgstr "Reparationsresultat:" @@ -3221,6 +3438,7 @@ msgid "n/a" msgstr "-" #: rs01-verify.c:126 rs01-verify.c:147 rs02-verify.c:121 rs02-verify.c:142 +#: rs03-verify.c:129 rs03-verify.c:150 msgid "Missing sectors" msgstr "Saknade sektorer" @@ -3233,6 +3451,7 @@ msgid "No image present." msgstr "Ingen avbild finns." #: rs01-verify.c:209 rs01-verify.c:299 rs02-verify.c:189 rs02-verify.c:295 +#: rs03-verify.c:271 msgid "Medium sectors:" msgstr "Mediumsektorer:" @@ -3248,7 +3467,7 @@ msgstr "Saknade sektorer:" msgid "Image checksum:" msgstr "Kontrollsumma för avbild:" -#: rs01-verify.c:245 rs02-verify.c:241 +#: rs01-verify.c:245 rs02-verify.c:241 rs03-verify.c:249 msgid "Image state" msgstr "Avbildsstatus" @@ -3256,15 +3475,15 @@ msgstr "Avbildsstatus" msgid "Error correction file summary" msgstr "Sammanfattning för felkorrigeringsfil" -#: rs01-verify.c:275 rs02-verify.c:271 +#: rs01-verify.c:275 rs02-verify.c:271 rs03-verify.c:218 msgid "Created by:" msgstr "Skapad av:" -#: rs01-verify.c:283 rs02-verify.c:279 +#: rs01-verify.c:283 rs02-verify.c:279 rs03-verify.c:209 msgid "Method:" msgstr "Metod:" -#: rs01-verify.c:291 rs02-verify.c:287 +#: rs01-verify.c:291 rs02-verify.c:287 rs03-verify.c:227 msgid "Requires:" msgstr "Kräver:" @@ -3284,19 +3503,19 @@ msgstr "Ecc-kontrollsumma:" msgid "Comparison aborted" msgstr "Jämförelse avbruten" -#: rs01-verify.c:390 rs01-verify.c:516 +#: rs01-verify.c:390 rs01-verify.c:520 msgid "Comparing image and error correction files." msgstr "Jämför avbild och felkorrigeringsfiler." -#: rs01-verify.c:391 +#: rs01-verify.c:391 rs03-verify.c:799 rs03-verify.c:809 msgid "- Checking image file -" msgstr "- Kontrollerar avbildsfil -" -#: rs01-verify.c:407 rs01-verify.c:522 +#: rs01-verify.c:407 rs01-verify.c:526 msgid "not present\n" msgstr "finns inte\n" -#: rs01-verify.c:414 rs02-verify.c:587 +#: rs01-verify.c:414 rs02-verify.c:592 #, c-format msgid "present, contains %lld medium sectors.\n" msgstr "tillgänglig, innehåller %lld mediumsektorer.\n" @@ -3306,37 +3525,41 @@ msgstr "tillgänglig, innehåller %lld mediumsektorer.\n" msgid "present, contains %lld medium sectors and %d bytes.\n" msgstr "tillgänglig, innehåller %lld mediumsektorer och %d byte.\n" -#: rs01-verify.c:422 rs01-verify.c:651 rs01-verify.c:698 +#: rs01-verify.c:422 rs01-verify.c:655 rs01-verify.c:702 #, c-format msgid "%lld sectors + %d bytes" msgstr "%lld sektorer + %d byte" -#: rs01-verify.c:443 +#: rs01-verify.c:444 #, c-format msgid "* truncated image : %lld sectors too short\n" msgstr "* kapad avbild : %lld sektorer för kort\n" -#: rs01-verify.c:446 +#: rs01-verify.c:447 #, c-format msgid "%lld (%lld sectors too short)" msgstr "%lld (%lld sektorer för kort)" -#: rs01-verify.c:467 +#: rs01-verify.c:468 #, c-format msgid "* image too long : %lld excess sectors\n" msgstr "* avbild för stor : %lld fler sektorer\n" -#: rs01-verify.c:470 +#: rs01-verify.c:471 #, c-format msgid "%lld (%lld excess sectors)" msgstr "%lld (%lld fler sektorer)" -#: rs01-verify.c:473 rs01-verify.c:507 +#: rs01-verify.c:474 rs01-verify.c:511 #, c-format msgid "Bad image." msgstr "Felaktig avbild." -#: rs01-verify.c:483 +#: rs01-verify.c:479 rs02-verify.c:685 rs03-verify.c:1010 +msgid "* quick mode : image NOT scanned\n" +msgstr "" + +#: rs01-verify.c:487 #, c-format msgid "" "- good image : all sectors present\n" @@ -3345,12 +3568,12 @@ msgstr "" "- bra avbild : alla sektorer tillgängliga\n" "- md5sum avbild : %s\n" -#: rs01-verify.c:486 rs02-verify.c:883 +#: rs01-verify.c:490 rs02-verify.c:893 rs03-verify.c:1305 #, c-format msgid "Good image." msgstr "Bra avbild." -#: rs01-verify.c:491 +#: rs01-verify.c:495 #, c-format msgid "" "* suspicious image : all sectors present, but %lld CRC errors\n" @@ -3359,58 +3582,58 @@ msgstr "" "* misstänkt avbild : alla sektorer finns men %lld CRC-fel\n" "- md5summa för avbild : %s\n" -#: rs01-verify.c:495 +#: rs01-verify.c:499 #, c-format msgid "Image complete, but contains checksum errors!" msgstr "Avbild komplett, men innehåller fel i kontrollsummor!" -#: rs01-verify.c:502 rs02-verify.c:850 +#: rs01-verify.c:506 rs02-verify.c:860 #, c-format msgid "* BAD image : %lld sectors missing\n" msgstr "* DÅLIG avbild : %lld sektorer saknas\n" -#: rs01-verify.c:503 rs02-verify.c:854 +#: rs01-verify.c:507 rs02-verify.c:864 rs03-verify.c:1257 #, c-format msgid "* BAD image : %lld sectors missing, %lld CRC errors\n" msgstr "* DÅLIG avbild : %lld sektorer saknas, %lld CRC-fel\n" -#: rs01-verify.c:517 +#: rs01-verify.c:521 rs03-verify.c:1215 msgid "- Checking ecc file -" msgstr "- Kontrollerar ecc-fil -" -#: rs01-verify.c:525 +#: rs01-verify.c:529 msgid "No error correction file present." msgstr "Ingen felkorrigeringsfil finns tillgänglig." -#: rs01-verify.c:567 rs02-verify.c:913 +#: rs01-verify.c:571 rs02-verify.c:923 msgid "created by dvdisaster" msgstr "skapad av dvdisaster" -#: rs01-verify.c:584 rs02-verify.c:930 +#: rs01-verify.c:588 rs02-verify.c:940 #, c-format msgid "created by dvdisaster-%d.%d\n" msgstr "skapad av dvdisaster-%d.%d\n" -#: rs01-verify.c:593 +#: rs01-verify.c:597 msgid "created by dvdisaster-0.41.x.\n" msgstr "skapad av dvdisaster-0.41.x.\n" -#: rs01-verify.c:599 rs02-verify.c:943 +#: rs01-verify.c:603 rs02-verify.c:953 rs03-verify.c:859 #, c-format msgid "- method : %4s, %d roots, %4.1f%% redundancy.\n" msgstr "- metod : %4s, %d rötter, %4.1f%% redundans.\n" -#: rs01-verify.c:603 rs02-verify.c:948 +#: rs01-verify.c:607 rs02-verify.c:958 rs03-verify.c:864 #, c-format msgid "%4s, %d roots, %4.1f%% redundancy" msgstr "%4s, %d rötter, %4.1f%% redundans" -#: rs01-verify.c:608 rs02-verify.c:955 +#: rs01-verify.c:612 rs02-verify.c:965 #, c-format msgid "- requires : dvdisaster-%d.%d (good)\n" msgstr "- kräver : dvdisaster-%d.%d (bra)\n" -#: rs01-verify.c:617 rs02-verify.c:966 +#: rs01-verify.c:621 rs02-verify.c:976 #, c-format msgid "" "* requires : dvdisaster-%d.%d (BAD)\n" @@ -3421,197 +3644,202 @@ msgstr "" "* Varning : Följande utdata kan vara felaktig.\n" "* : Besök http://www.dvdisaster.com för en uppgradering.\n" -#: rs01-verify.c:630 rs02-verify.c:980 +#: rs01-verify.c:634 rs02-verify.c:990 rs03-verify.c:935 #, c-format msgid "Please upgrade your version of dvdisaster!" msgstr "Uppgradera din version av dvdisaster!" -#: rs01-verify.c:642 +#: rs01-verify.c:646 #, c-format msgid "- medium sectors : %lld (good)\n" msgstr "- mediumsektorer : %lld (bra)\n" -#: rs01-verify.c:647 +#: rs01-verify.c:651 #, c-format msgid "- medium sectors : %lld sectors + %d bytes (good)\n" msgstr "- mediumsektorer : %lld sektorer + %d byte (bra)\n" -#: rs01-verify.c:657 rs02-verify.c:996 +#: rs01-verify.c:661 rs02-verify.c:1006 #, c-format msgid "* medium sectors : %lld (BAD, perhaps TAO/DAO mismatch)\n" msgstr "* mediumsektorer : %lld (FELAKTIG, kanske TAO/DAO inte stämmer)\n" -#: rs01-verify.c:666 rs02-verify.c:998 +#: rs01-verify.c:670 rs02-verify.c:1008 #, c-format msgid "* medium sectors : %lld (BAD)\n" msgstr "* mediumsektorer : %lld (DÅLIGT)\n" -#: rs01-verify.c:670 rs01-verify.c:681 +#: rs01-verify.c:674 rs01-verify.c:685 #, c-format msgid "Image size does not match error correction file." msgstr "Avbildens storlek stämmer inte med felkorrigeringsfilen." -#: rs01-verify.c:674 +#: rs01-verify.c:678 #, c-format msgid "* medium sectors : %lld sectors + %d bytes (BAD)\n" msgstr "* mediumsektorer : %lld sektorer + %d byte (DÅLIGT)\n" -#: rs01-verify.c:678 +#: rs01-verify.c:682 #, c-format msgid "%lld sectors + %d bytes" msgstr "%lld sektorer + %d byte" -#: rs01-verify.c:689 +#: rs01-verify.c:693 #, c-format msgid "- medium sectors : %lld\n" msgstr "- mediumsektorer : %lld\n" -#: rs01-verify.c:694 +#: rs01-verify.c:698 #, c-format msgid "- medium sectors : %lld sectors + %d bytes\n" msgstr "- mediumsektorer : %lld sektorer + %d byte\n" -#: rs01-verify.c:708 +#: rs01-verify.c:713 #, c-format msgid "- image md5sum : %s (good)\n" msgstr "- md5sum avbild : %s (bra)\n" -#: rs01-verify.c:709 +#: rs01-verify.c:714 #, c-format msgid "* image md5sum : %s (BAD)\n" msgstr "* md5sum avbild : %s (DÅLIGT)\n" -#: rs01-verify.c:719 +#: rs01-verify.c:724 #, c-format msgid "- image md5sum : %s\n" msgstr "- md5sum avbild : %s\n" -#: rs01-verify.c:726 +#: rs01-verify.c:732 msgid "* fingerprint match: NOT POSSIBLE - related sector is missing in image!\n" msgstr "* fingeravtrycksträff: INTE MÖJLIG - relaterad sektor saknas i avbild!\n" -#: rs01-verify.c:728 +#: rs01-verify.c:734 #, c-format msgid "missing sector prevents calculation" msgstr "saknad sektor förhindrar beräkning" -#: rs01-verify.c:732 +#: rs01-verify.c:738 msgid "* fingerprint match: MISMATCH - .iso and .ecc don't belong together!\n" msgstr "* fingeravtrycksträff: STÄMMER INTE - .iso och .ecc hör inte ihop!\n" -#: rs01-verify.c:735 +#: rs01-verify.c:741 #, c-format msgid "mismatch" msgstr "stämmer inte" -#: rs01-verify.c:738 +#: rs01-verify.c:744 #, c-format msgid "Image and error correction files do not belong together!" msgstr "Avbild och felkorrigeringsfiler hör inte ihop!" -#: rs01-verify.c:742 +#: rs01-verify.c:748 msgid "- fingerprint match: good\n" msgstr "- fingeravtrycksträff: bra\n" -#: rs01-verify.c:744 +#: rs01-verify.c:750 msgid "good" msgstr "bra" -#: rs01-verify.c:752 +#: rs01-verify.c:755 +msgid "* quick mode : ecc file NOT scanned\n" +msgstr "" + +#: rs01-verify.c:763 #, c-format msgid "- ecc blocks : %lld (good)\n" msgstr "- ecc-block : %lld (bra)\n" -#: rs01-verify.c:757 +#: rs01-verify.c:768 #, c-format msgid "* ecc blocks : %lld (BAD, expected %lld)\n" msgstr "* ecc-block : %lld (DÅLIGT, förväntade %lld)\n" -#: rs01-verify.c:759 +#: rs01-verify.c:770 #, c-format msgid "%lld (bad, expected %lld)" msgstr "%lld (dålig, förväntade %lld)" -#: rs01-verify.c:780 +#: rs01-verify.c:791 #, c-format msgid "- ecc md5sum : %3d%%" msgstr "- ecc md5sum : %3d%%" -#: rs01-verify.c:795 +#: rs01-verify.c:806 msgid "* ecc md5sum : BAD, ecc file may be damaged!\n" msgstr "* ecc md5sum : DÅLIG, ecc-filen kan vara skadad!\n" -#: rs01-verify.c:797 +#: rs01-verify.c:808 #, c-format msgid "bad" msgstr "dåligt" -#: rs01-verify.c:799 +#: rs01-verify.c:810 #, c-format msgid "Error correction file may be damaged!" msgstr "Felkorrigeringsfil kan vara skadad!" -#: rs01-verify.c:803 rs02-verify.c:1064 +#: rs01-verify.c:814 rs02-verify.c:1077 #, c-format msgid "- ecc md5sum : %s (good)\n" msgstr "- ecc md5sum : %s (bra)\n" -#: rs01-verify.c:817 +#: rs01-verify.c:828 #, c-format msgid "Good error correction file." msgstr "Bra felkorrigeringsfil." -#: rs01-window.c:125 rs02-window.c:87 +#: rs01-window.c:138 rs02-window.c:87 rs03s-window.c:85 rs03-window.c:92 msgid "2. Creating error correction data:" msgstr "2. Skapar felkorrigeringsdata:" -#: rs01-window.c:149 +#: rs01-window.c:162 msgid "Show reading speed curve" msgstr "Visa kurva för läshastighet" -#: rs01-window.c:188 rs02-window.c:139 +#: rs01-window.c:201 rs02-window.c:139 rs03-window.c:172 #, c-format msgid "Repaired: %lld" msgstr "Reparerat: %lld" -#: rs01-window.c:189 rs02-window.c:140 +#: rs01-window.c:202 rs02-window.c:140 rs03-window.c:173 #, c-format msgid "Unrepairable: %lld" msgstr "Ej reparerbar: %lld" -#: rs01-window.c:190 rs02-window.c:141 +#: rs01-window.c:203 rs02-window.c:141 rs03-window.c:174 #, c-format msgid "Progress: %3d.%1d%%" msgstr "Förlopp: %3d.%1d%%" -#: rs01-window.c:398 rs02-window.c:346 +#: rs01-window.c:411 rs02-window.c:346 rs03-window.c:379 msgid "Errors/Ecc block" msgstr "Fel/Ecc-block" -#: rs01-window.c:430 rs02-window.c:372 +#: rs01-window.c:447 rs02-window.c:376 rs03-preferences.c:244 +#: rs03-preferences.c:254 #, c-format msgid "%4.1f%% redundancy (%d roots)" msgstr "%4.1f%% redundans (%d rötter)" -#: rs01-window.c:447 rs01-window.c:784 rs01-window.c:790 rs01-window.c:791 -#: rs02-window.c:389 rs02-window.c:1143 rs02-window.c:1149 rs02-window.c:1150 +#: rs01-window.c:464 rs01-window.c:867 rs01-window.c:873 rs01-window.c:874 +#: rs02-window.c:393 rs02-window.c:1149 rs02-window.c:1155 rs02-window.c:1156 #, c-format msgid "%d MB of file cache" msgstr "" -#: rs01-window.c:584 +#: rs01-window.c:666 rs03-preferences.c:530 msgid "Redundancy for new error correction files" msgstr "Redundans för nya felkorrigeringsfiler" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal redundancy" msgstr "" -#: rs01-window.c:593 +#: rs01-window.c:675 rs03-preferences.c:557 msgid "Normal" msgstr "Normal" -#: rs01-window.c:615 +#: rs01-window.c:697 rs03-preferences.c:579 #, c-format msgid "" "Normal redundancy\n" @@ -3620,15 +3848,15 @@ msgid "" "It invokes optimized program code to speed up the error correction file creation." msgstr "" -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High redundancy" msgstr "" -#: rs01-window.c:622 +#: rs01-window.c:704 rs03-preferences.c:586 msgid "High" msgstr "Hög" -#: rs01-window.c:644 +#: rs01-window.c:726 rs03-preferences.c:608 #, c-format msgid "" "High redundancy\n" @@ -3637,15 +3865,15 @@ msgid "" "It invokes optimized program code to speed up the error correction file creation." msgstr "" -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other redundancy" msgstr "" -#: rs01-window.c:652 +#: rs01-window.c:734 rs03-preferences.c:616 msgid "Other" msgstr "Annan" -#: rs01-window.c:690 +#: rs01-window.c:772 rs03-preferences.c:654 #, c-format msgid "" "Other redundancy\n" @@ -3654,19 +3882,19 @@ msgid "" "An error correction file with x%% redundancy will be approximately x%% of the size of the corresponding image file." msgstr "" -#: rs01-window.c:698 +#: rs01-window.c:780 rs03-preferences.c:662 msgid "Space-delimited redundancy" msgstr "" -#: rs01-window.c:698 rs02-window.c:1075 +#: rs01-window.c:780 rs02-window.c:1081 rs03-preferences.c:662 msgid "Use at most" msgstr "Använd som mest" -#: rs01-window.c:722 +#: rs01-window.c:804 rs03-preferences.c:686 msgid "MB for error correction data" msgstr "MB för felkorrigeringsdata" -#: rs01-window.c:739 +#: rs01-window.c:821 rs03-preferences.c:703 msgid "" "Space-delimited redundancy\n" "\n" @@ -3675,41 +3903,41 @@ msgid "" "Advance notice: When using the same size setting for images of vastly different size, smaller images receive more redundancy than larger ones. This is usually not what you want." msgstr "" -#: rs01-window.c:781 rs02-window.c:1140 +#: rs01-window.c:864 rs02-window.c:1146 msgid "Memory utilization" msgstr "Minnsanvändning" -#: rs01-window.c:785 rs02-window.c:1144 +#: rs01-window.c:868 rs02-window.c:1150 msgid "File cache" msgstr "" -#: rs01-window.c:797 rs02-window.c:1156 +#: rs01-window.c:880 rs02-window.c:1162 rs03-preferences.c:818 msgid "Use" msgstr "Använd" -#: rs01-window.c:825 rs02-window.c:1184 +#: rs01-window.c:908 rs02-window.c:1190 msgid "" "File cache\n" "\n" "dvdisaster optimizes access to the image and error correction files by maintaining its own cache. The preset of 32MB is suitable for most systems." msgstr "" -#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:624 +#: rs02-common.c:332 rs02-common.c:344 rs02-verify.c:629 rs03-common.c:318 #, c-format msgid "Failed seeking to ecc header at %lld: %s\n" msgstr "Misslyckades med att söka till ecc-huvud på %lld: %s\n" -#: rs02-common.c:336 rs02-common.c:348 +#: rs02-common.c:336 rs02-common.c:348 rs03-common.c:322 #, c-format msgid "Failed writing ecc header at %lld: %s\n" msgstr "Misslyckades med att skriva ecc-huvud vid %lld: %s\n" -#: rs02-create.c:107 +#: rs02-create.c:107 rs03-create.c:180 rs03s-create.c:174 #, c-format msgid "Aborted by user request! (partial ecc data removed from image)" msgstr "Avbröts på användarens begäran! (ej komplett ecc-data borttagen från avbild)" -#: rs02-create.c:139 +#: rs02-create.c:143 rs03-create.c:237 rs03s-create.c:219 #, c-format msgid "" "Image \"%s\" already contains error correction information.\n" @@ -3718,7 +3946,7 @@ msgstr "" "Avbilden \"%s\" innehåller redan felkorrigeringsinformation.\n" "Kapar avbild till datadel (%lld sektorer).\n" -#: rs02-create.c:206 +#: rs02-create.c:210 msgid "" "Image contains unread(able) sectors.\n" "Error correction information can only be\n" @@ -3728,7 +3956,7 @@ msgstr "" "Felkorrigeringsinformation kan endast läggas till\n" "i kompletta (oskadade) avbilder.\n" -#: rs02-create.c:210 +#: rs02-create.c:214 #, c-format msgid "" "Sector %lld in the image is marked unreadable\n" @@ -3743,26 +3971,29 @@ msgid "" "appended to complete (undamaged) images.\n" msgstr "" -#: rs02-create.c:228 rs02-create.c:292 rs02-create.c:301 +#: rs02-create.c:232 rs02-create.c:296 rs02-create.c:305 #, c-format msgid "Preparing image (checksums, adding space): %3d%%" msgstr "" -#: rs02-create.c:263 rs02-create.c:273 rs02-fix.c:91 +#: rs02-create.c:267 rs02-create.c:277 rs02-fix.c:91 rs03-create.c:324 +#: rs03-create.c:335 rs03-fix.c:96 rs03s-create.c:307 rs03s-create.c:318 #, c-format msgid "Failed seeking to end of image: %s\n" msgstr "Misslyckades med att söka till slutet av avbild: %s\n" -#: rs02-create.c:267 rs02-create.c:288 rs02-fix.c:104 +#: rs02-create.c:271 rs02-create.c:292 rs02-fix.c:104 rs03-create.c:309 +#: rs03-fix.c:110 #, c-format msgid "Failed expanding the image: %s\n" msgstr "Misslyckades med att expandera avbilden: %s\n" -#: rs02-create.c:1025 +#: rs02-create.c:1029 rs03-create.c:1055 rs03s-create.c:1037 msgid "Error correction data creation aborted" msgstr "Skapandet av felkorrigeringsdata avbröts" -#: rs02-create.c:1029 rs02-create.c:1049 +#: rs02-create.c:1033 rs02-create.c:1053 rs03-create.c:1059 rs03-create.c:1088 +#: rs03s-create.c:1041 rs03s-create.c:1070 #, c-format msgid "" "Augmenting the image with error correction data.\n" @@ -3771,16 +4002,16 @@ msgstr "" "Utvidgar avbilden med felkorrigeringsdata.\n" "%s" -#: rs02-create.c:1030 +#: rs02-create.c:1034 rs03-create.c:1060 rs03s-create.c:1042 msgid "- checking image -" msgstr "- kontrollerar avbild -" -#: rs02-create.c:1045 +#: rs02-create.c:1049 #, c-format msgid "Encoding with Method RS02: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." msgstr "Kodar med Metod RS02: %lld MB data, %lld MB ecc (%d rötter; %4.1f%% redundans)." -#: rs02-create.c:1053 +#: rs02-create.c:1057 #, c-format msgid "" "Augmenting image with Method RS02:\n" @@ -3789,17 +4020,16 @@ msgstr "" "Utvidgar avbild med Metod RS02:\n" " %lld MB data, %lld MB ecc (%d rötter; %4.1f%% redundans)." -#: rs02-create.c:1062 +#: rs02-create.c:1066 #, c-format msgid "" "Not enough space on medium left for error correction data.\n" "Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" "If reducing the image size or using a larger medium is\n" -"not an option, please create a separate error correction\n" -"file using the RS01 method.\n" +"not an option, please create a separate error correction file." msgstr "" -#: rs02-create.c:1073 +#: rs02-create.c:1076 rs03-create.c:1124 rs03s-create.c:1101 #, c-format msgid "" "Using redundancies below 20%%%% may not give\n" @@ -3808,7 +4038,7 @@ msgstr "" "Användning av redundans under 20%%%% kanske inte ger\n" "förväntat skydd mot förlorat data.\n" -#: rs02-create.c:1105 rs02-create.c:1114 +#: rs02-create.c:1108 rs02-create.c:1117 rs03-create.c:1147 rs03-create.c:1172 #, c-format msgid "" "Image has been augmented with error correction data.\n" @@ -3817,7 +4047,7 @@ msgstr "" "Avbild har utvidgats med felkorrigeringsdata.\n" "Ny storlek på avbild är %lld MB (%lld sektorer).\n" -#: rs02-fix.c:110 rs02-fix.c:118 +#: rs02-fix.c:110 rs02-fix.c:118 rs03-fix.c:116 rs03-fix.c:124 #, c-format msgid "Expanding image: %3d%%" msgstr "Expanderar avbild: %3d%%" @@ -3827,7 +4057,7 @@ msgstr "Expanderar avbild: %3d%%" msgid "Image contains error correction data: Method RS02, %d roots, %4.1f%% redundancy." msgstr "Avbild innehåller felkorrigeringsdata: Metod RS02, %d rötter, %4.1f%% redundans." -#: rs02-fix.c:217 +#: rs02-fix.c:217 rs03-fix.c:245 #, c-format msgid "" "The image file is %lld sectors longer as noted in the\n" @@ -3844,27 +4074,28 @@ msgstr "" "\n" "%s" -#: rs02-fix.c:468 +#: rs02-fix.c:468 rs03-fix.c:487 #, c-format msgid "* Ecc block %lld: %3d unrepairable sectors: " msgstr "* Ecc-block %lld: %3d ej reparerbara sektorer: " -#: rs02-fix.c:687 +#: rs02-fix.c:687 rs03-fix.c:706 #, c-format msgid "-> CRC-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "-> CRC-förutsett fel i sektor %lld vid byte %4d (värde %02x \"%c\", förväntade %02x \"%c\")\n" -#: rs02-fix.c:690 +#: rs02-fix.c:690 rs03-fix.c:709 #, c-format msgid "-> Non-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n" msgstr "-> Icke förutsett fel i sektor %lld vid byte %4d (värde %02x \"%c\", förväntade %02x \"%c\")\n" -#: rs02-fix.c:812 +#: rs02-fix.c:812 rs03-fix.c:857 #, c-format msgid "Repaired sectors: %lld (%lld data, %lld ecc)\n" msgstr "Reparerade sektorer: %lld (%lld data, %lld ecc)\n" -#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 +#: rs02-verify.c:45 rs02-verify.c:197 rs02-verify.c:303 rs03-verify.c:56 +#: rs03-verify.c:236 rs03-verify.c:280 msgid "Data checksum:" msgstr "Datakontrollsumma:" @@ -3876,15 +4107,15 @@ msgstr "CRC-kontrollsumma:" msgid "Ecc headers:" msgstr "Ecc-huvuden:" -#: rs02-verify.c:213 +#: rs02-verify.c:213 rs03-verify.c:289 msgid "Data section:" msgstr "Datasektion:" -#: rs02-verify.c:221 +#: rs02-verify.c:221 rs03-verify.c:298 msgid "Crc section:" msgstr "" -#: rs02-verify.c:229 +#: rs02-verify.c:229 rs03-verify.c:307 msgid "Ecc section:" msgstr "" @@ -3892,77 +4123,78 @@ msgstr "" msgid "Error correction data" msgstr "Felkorrigeringsdata" -#: rs02-verify.c:503 +#: rs02-verify.c:503 rs03-verify.c:548 #, c-format msgid "- erasure counts : avg = %.1f; worst = %d per ecc block.\n" msgstr "" -#: rs02-verify.c:506 +#: rs02-verify.c:506 rs03-verify.c:551 #, c-format msgid "- prognosis : %lld of %lld sectors recoverable (%d.%d%%)\n" msgstr "" -#: rs02-verify.c:512 +#: rs02-verify.c:512 rs03-verify.c:555 msgid "Erasure counts:" msgstr "" -#: rs02-verify.c:513 +#: rs02-verify.c:513 rs03-verify.c:556 msgid "Prognosis:" msgstr "" -#: rs02-verify.c:516 +#: rs02-verify.c:516 rs03-verify.c:559 #, c-format msgid "avg = %.1f; worst = %d per ecc block." msgstr "" -#: rs02-verify.c:521 +#: rs02-verify.c:521 rs03-verify.c:564 #, c-format msgid "%lld of %lld sectors recoverable (%d.%d%%)" msgstr "" -#: rs02-verify.c:569 +#: rs02-verify.c:574 rs03-verify.c:769 msgid "Check aborted" msgstr "Kontroll avbruten" -#: rs02-verify.c:583 +#: rs02-verify.c:588 rs03-verify.c:808 msgid "Checking the image file." msgstr "Kontrollerar avbildsfilen." -#: rs02-verify.c:584 +#: rs02-verify.c:589 msgid "Image contains error correction data." msgstr "Avbilden innehåller felkorrigeringsdata." -#: rs02-verify.c:607 +#: rs02-verify.c:612 rs03-verify.c:1005 #, c-format msgid "Image file is %lld sectors shorter than expected." msgstr "Avbildsfil är %lld sektorer mindre än förväntat." -#: rs02-verify.c:608 +#: rs02-verify.c:613 rs03-verify.c:1006 #, c-format msgid "Image file is %lld sectors longer than expected." msgstr "Avbildsfilen är %lld sektorer större än förväntat." -#: rs02-verify.c:628 +#: rs02-verify.c:633 #, c-format msgid "Failed reading ecc header at %lld: %s\n" msgstr "Misslyckades med att läsa ecc-huvud vid %lld: %s\n" -#: rs02-verify.c:671 +#: rs02-verify.c:676 #, c-format msgid "%lld ok, %lld CRC errors, %lld missing" msgstr "%lld ok, %lld CRC-fel, %lld saknas" -#: rs02-verify.c:798 rs02-verify.c:819 +#: rs02-verify.c:808 rs02-verify.c:829 rs03-verify.c:1189 rs03-verify.c:1228 #, c-format msgid "%lld sectors missing; %lld CRC errors" msgstr "%lld sektorer saknas; %lld CRC-fel" -#: rs02-verify.c:802 rs02-verify.c:806 rs02-verify.c:823 rs02-verify.c:827 +#: rs02-verify.c:812 rs02-verify.c:816 rs02-verify.c:833 rs02-verify.c:837 +#: rs03-verify.c:1197 rs03-verify.c:1236 #, c-format msgid "%lld sectors missing" msgstr "%lld sektorer saknas" -#: rs02-verify.c:841 +#: rs02-verify.c:851 #, c-format msgid "" "- good image : all sectors present\n" @@ -3971,46 +4203,46 @@ msgstr "" "- bra avbild : alla sektor tillgängliga\n" "- data md5sum : %s\n" -#: rs02-verify.c:847 +#: rs02-verify.c:857 msgid "* suspicious image : contains damaged ecc headers\n" msgstr "" -#: rs02-verify.c:852 +#: rs02-verify.c:862 rs03-verify.c:1254 #, c-format msgid "* suspicious image : all sectors present, but %lld CRC errors\n" msgstr "* misstänkt avbild : alla sektorer tillgängliga men %lld CRC-fel\n" -#: rs02-verify.c:858 +#: rs02-verify.c:868 #, c-format msgid " ... ecc headers : %lld ok, %lld CRC errors, %lld missing\n" msgstr " ... ecc-huvuden : %lld ok, %lld CRC-fel, %lld saknas\n" -#: rs02-verify.c:860 +#: rs02-verify.c:870 rs03-verify.c:1260 #, c-format msgid " ... data section : %lld sectors missing; %lld CRC errors\n" msgstr " ... datasektion : %lld sektorer saknas; %lld CRC-fel\n" -#: rs02-verify.c:863 +#: rs02-verify.c:873 rs03-verify.c:1263 #, c-format msgid " ... data md5sum : %s\n" msgstr " ... data md5sum : %s\n" -#: rs02-verify.c:864 +#: rs02-verify.c:874 rs03-verify.c:1264 #, c-format msgid " ... crc section : %lld sectors missing\n" msgstr " ... crc-sektion : %lld sektorer saknas\n" -#: rs02-verify.c:865 +#: rs02-verify.c:875 rs03-verify.c:1265 #, c-format msgid " ... ecc section : %lld sectors missing\n" msgstr " ... ecc-sektion : %lld sektorer saknas\n" -#: rs02-verify.c:887 +#: rs02-verify.c:897 rs03-verify.c:1309 #, c-format msgid "Damaged image." msgstr "Skadad avbild." -#: rs02-verify.c:894 +#: rs02-verify.c:904 msgid "" "\n" "Error correction data: " @@ -4018,88 +4250,88 @@ msgstr "" "\n" "Felkorrigeringsdata: " -#: rs02-verify.c:987 +#: rs02-verify.c:997 #, c-format msgid "- medium sectors : %lld / %lld (good)\n" msgstr "" -#: rs02-verify.c:1004 +#: rs02-verify.c:1014 #, c-format msgid "Image size does not match recorded size." msgstr "Avbildens storlek stämmer inte överens med registrerad storlek." -#: rs02-verify.c:1015 +#: rs02-verify.c:1028 #, c-format msgid "- data md5sum : %s (good)\n" msgstr "- data md5sum : %s (bra)\n" -#: rs02-verify.c:1016 +#: rs02-verify.c:1029 #, c-format msgid "* data md5sum : %s (BAD)\n" msgstr "* data md5sum : %s (DÅLIG)\n" -#: rs02-verify.c:1027 +#: rs02-verify.c:1040 rs03-verify.c:949 #, c-format msgid "- data md5sum : %s\n" msgstr "- data md5sum : %s\n" -#: rs02-verify.c:1039 +#: rs02-verify.c:1052 #, c-format msgid "- crc md5sum : %s (good)\n" msgstr "- crc md5sum : %s (bra)\n" -#: rs02-verify.c:1044 +#: rs02-verify.c:1057 #, c-format msgid "* crc md5sum : %s (BAD)\n" msgstr "* crc md5sum : %s (DÅLIG)\n" -#: rs02-verify.c:1052 +#: rs02-verify.c:1065 #, c-format msgid "- crc md5sum : %s\n" msgstr "- crc md5sum : %s\n" -#: rs02-verify.c:1069 +#: rs02-verify.c:1082 #, c-format msgid "* ecc md5sum : %s (BAD)\n" msgstr "* ecc md5sum : %s (DÅLIG)\n" -#: rs02-verify.c:1077 +#: rs02-verify.c:1090 #, c-format msgid "- ecc md5sum : %s\n" msgstr "- ecc md5sum : %s\n" -#: rs02-verify.c:1096 +#: rs02-verify.c:1109 #, c-format msgid "Good error correction data." msgstr "Bra felkorrigeringsdata." -#: rs02-verify.c:1100 +#: rs02-verify.c:1113 rs03-verify.c:1321 #, c-format msgid "Full data recovery is likely." msgstr "" -#: rs02-verify.c:1103 +#: rs02-verify.c:1116 rs03-verify.c:1324 #, c-format msgid "Full data recovery is NOT possible." msgstr "" -#: rs02-window.c:78 +#: rs02-window.c:78 rs03s-window.c:76 msgid "1. Preparing image:" msgstr "1. Förbereder avbild:" -#: rs02-window.c:704 +#: rs02-window.c:710 msgid "Maximum image size" msgstr "" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Using the smallest possible size from table" msgstr "" -#: rs02-window.c:716 +#: rs02-window.c:722 msgid "Use smallest possible size from following table (in sectors):" msgstr "" -#: rs02-window.c:740 +#: rs02-window.c:746 msgid "" "Determine augmented image size from table\n" "\n" @@ -4108,17 +4340,17 @@ msgid "" "In order to pick a suitable medium the available media capacities must be known. Default sizes for CD and one/two layered DVD are given in the table. You can edit these sizes according to your needs." msgstr "" -#: rs02-window.c:759 +#: rs02-window.c:765 msgid "CD-R / CD-RW:" msgstr "CD-R / CD-RW:" -#: rs02-window.c:770 rs02-window.c:789 rs02-window.c:830 rs02-window.c:849 -#: rs02-window.c:890 rs02-window.c:909 rs02-window.c:950 rs02-window.c:969 -#: rs02-window.c:1009 rs02-window.c:1028 +#: rs02-window.c:776 rs02-window.c:795 rs02-window.c:836 rs02-window.c:855 +#: rs02-window.c:896 rs02-window.c:915 rs02-window.c:956 rs02-window.c:975 +#: rs02-window.c:1015 rs02-window.c:1034 msgid "query medium" msgstr "" -#: rs02-window.c:801 +#: rs02-window.c:807 #, c-format msgid "" "CD medium size\n" @@ -4132,11 +4364,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:819 +#: rs02-window.c:825 msgid "DVD 1 layer:" msgstr "" -#: rs02-window.c:861 +#: rs02-window.c:867 #, c-format msgid "" "Single layer DVD medium size\n" @@ -4150,11 +4382,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:879 +#: rs02-window.c:885 msgid "DVD 2 layers:" msgstr "" -#: rs02-window.c:921 +#: rs02-window.c:927 #, c-format msgid "" "Two layered DVD medium size\n" @@ -4168,11 +4400,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:939 +#: rs02-window.c:945 msgid "BD 1 layer:" msgstr "" -#: rs02-window.c:981 +#: rs02-window.c:987 #, c-format msgid "" "Single layer BD medium size\n" @@ -4186,11 +4418,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:998 +#: rs02-window.c:1004 msgid "BD 2 layers:" msgstr "" -#: rs02-window.c:1040 +#: rs02-window.c:1046 #, c-format msgid "" "Two layered BD medium size\n" @@ -4204,11 +4436,11 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" -#: rs02-window.c:1095 +#: rs02-window.c:1101 msgid "sectors." msgstr "sektorer." -#: rs02-window.c:1108 +#: rs02-window.c:1114 #, c-format msgid "" "Use at most ... sectors\n" @@ -4220,6 +4452,491 @@ msgid "" "Even if this limit is not reached the augmented image may be a few sectors smaller than specified for technical reasons." msgstr "" +#: rs03-common.c:192 +#, c-format +msgid "Redundancy %4.1f%% out of useful range [3.2%%..200%%]" +msgstr "" + +#: rs03-common.c:222 +#, c-format +msgid "Redundancy %d out of useful range [8..170]." +msgstr "" + +#: rs03-create.c:304 +#, c-format +msgid "Failed expanding the ecc file: %s\n" +msgstr "" + +#: rs03-create.c:305 +#, c-format +msgid "Preparing ecc file: %3d%%" +msgstr "" + +#: rs03-create.c:310 +#, c-format +msgid "Preparing image: %3d%%" +msgstr "" + +#: rs03-create.c:507 +#, c-format +msgid "" +"Incomplete image\n" +"\n" +"The image contains missing sectors,\n" +"e.g. sector %lld.\n" +"%sError correction data works like a backup; it must\n" +"be created when the image is still fully readable.\n" +"Exiting and removing partial error correction data." +msgstr "" + +#: rs03-create.c:515 +msgid "" +"\n" +"This image was probably mastered from defective source(s).\n" +"Perform a \"Verify\" action for more information.\n" +"\n" +msgstr "" + +#: rs03-create.c:740 +msgid "CPU bound" +msgstr "" + +#: rs03-create.c:744 +msgid "I/O bound" +msgstr "" + +#: rs03-create.c:915 +#, c-format +msgid "%5.2fMB/s current" +msgstr "" + +#: rs03-create.c:959 +#, c-format +msgid "%d threads with 128bit intrinsics" +msgstr "" + +#: rs03-create.c:962 rs03-preferences.c:290 rs03-preferences.c:805 +#: rs03-preferences.c:811 rs03-preferences.c:812 +#, c-format +msgid "%d threads" +msgstr "" + +#: rs03-create.c:1083 rs03s-create.c:1066 +#, c-format +msgid "Encoding with Method RS03: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1098 +#, c-format +msgid "" +"Augmenting image with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1103 +#, c-format +msgid "" +"Creating the error correction file with Method RS03 [%d threads]:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-create.c:1114 rs03s-create.c:1091 +#, c-format +msgid "" +"Not enough space on medium left for error correction data.\n" +"Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" +"If reducing the image size or using a larger medium is not\n" +"an option, please create a separate error correction file." +msgstr "" + +#: rs03-create.c:1158 +#, c-format +msgid "Avg performance: %5.2fs (%5.2fMB/s) total\n" +msgstr "" + +#: rs03-create.c:1161 +#, c-format +msgid "%5.2fMB/s average" +msgstr "" + +#: rs03-create.c:1163 +#, c-format +msgid "%d times CPU bound; %d times I/O bound" +msgstr "" + +#: rs03-fix.c:224 +#, c-format +msgid "Error correction file using Method RS03, %d roots, %4.1f%% redundancy." +msgstr "" + +#: rs03-fix.c:228 +#, c-format +msgid "Image contains error correction data: Method RS03, %d roots, %4.1f%% redundancy." +msgstr "" + +#: rs03-fix.c:798 +#, c-format +msgid "Failed seeking to sector %lld in ecc file [%s]: %s" +msgstr "" + +#: rs03-fix.c:803 +#, c-format +msgid "" +"could not write ecc file sector %lld:\n" +"%s" +msgstr "" + +#: rs03-preferences.c:271 rs03-preferences.c:749 rs03-preferences.c:755 +#: rs03-preferences.c:756 +#, c-format +msgid "%d sectors" +msgstr "" + +#: rs03-preferences.c:443 +msgid "Warning: This codec is experimental and for evaluation only. It is not yet fully implemented and does contain bugs. Future dvdisaster versions may not be compatible with it. Do not yet use this codec for any archival purposes." +msgstr "" + +#: rs03-preferences.c:460 rs03-preferences.c:467 +msgid "Error correction data storage" +msgstr "" + +#: rs03-preferences.c:468 +msgid "Store ECC data in: " +msgstr "" + +#: rs03-preferences.c:480 +msgid "File" +msgstr "" + +#: rs03-preferences.c:507 +msgid "" +"Error correction data storage\n" +"\n" +"Select between two ways of storing the error correction information:\n" +msgstr "" + +#: rs03-preferences.c:512 +msgid "" +"Augmented image (recommended)\n" +"The error correction data will be stored along with the user data on the same medium. This requires the creation of an image file prior to writing the medium. The error correction data will be appended to that image and fill up the remaining space.\n" +"Damaged sectors in the error correction information reduce the data recovery capacity, but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required.\n" +msgstr "" + +#: rs03-preferences.c:522 +msgid "" +"Error correction file\n" +"Error correction files are the only way of protecting existing media as they can be stored somewhere else. They are kept on a separate medium which must also be protected by dvdisaster. This prevents from losing the error correction files in case of a medium defect.\n" +msgstr "" + +#: rs03-preferences.c:542 +msgid "no settings for augmented images" +msgstr "" + +#: rs03-preferences.c:746 +msgid "Sector prefetch" +msgstr "" + +#: rs03-preferences.c:750 +msgid "Sector prefetching" +msgstr "" + +#: rs03-preferences.c:762 +msgid "Prefetch" +msgstr "" + +#: rs03-preferences.c:790 +msgid "" +"Sector preloading\n" +"\n" +"dvdisaster optimizes access to the image and error correction data by preloading and caching parts of them.\n" +"\n" +"The optimal preload value depends on the storage system used for the image and error correction files.\n" +"Use small preload values for systems with low latency and seek time, e.g. SSDs. For magnetic hard disks performace may be better using larger preload values.\n" +"\n" +"A preload value of n will used approx. n MB of RAM." +msgstr "" + +#: rs03-preferences.c:802 rs03-preferences.c:806 +msgid "Multithreading" +msgstr "" + +#: rs03-preferences.c:846 +msgid "" +"Multithreading\n" +"\n" +"RS03 can use multiple threads (and therefore CPU cores)for encoding.\n" +"For systems with 4 cores or less, set the number of threads to the number of cores. If you have more cores, leave one unused for doing I/O and graphics updates.\n" +"E.g. use 7 threads on an 8 core system.\n" +"\n" +"Performance will not scale linearly with the number of CPU cores. Hard disk performance is more limiting than raw CPU power. When using 4 cores or more, memory bandwidth may also affect performance." +msgstr "" + +#: rs03s-create.c:1075 +#, c-format +msgid "" +"Augmenting image with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03s-create.c:1080 +#, c-format +msgid "" +"Creating the error correction file with Method RS03s:\n" +"%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)." +msgstr "" + +#: rs03-verify.c:189 +msgid "Error correction properties" +msgstr "" + +#: rs03-verify.c:200 +msgid "Type:" +msgstr "" + +#: rs03-verify.c:260 +msgid "Data integrity" +msgstr "" + +#: rs03-verify.c:316 rs03-verify.c:1281 +msgid "Ecc block test:" +msgstr "" + +#: rs03-verify.c:423 +#, c-format +msgid "Failed seeking to sector %lld in ecc file: %s" +msgstr "" + +#: rs03-verify.c:592 rs03-verify.c:798 rs03-verify.c:1214 +msgid "Checking the image and error correction files." +msgstr "" + +#: rs03-verify.c:593 +msgid "- Checking ecc blocks (deep verify) -" +msgstr "" + +#: rs03-verify.c:608 +#, c-format +msgid "Out of memory; try reducing sector prefetch!" +msgstr "" + +#: rs03-verify.c:610 +msgid "* Ecc block test : out of memory; try reducing sector prefetch!\n" +msgstr "" + +#: rs03-verify.c:700 +#, c-format +msgid "%d%% tested" +msgstr "" + +#: rs03-verify.c:702 +#, c-format +msgid "- Ecc block test : %d%% tested" +msgstr "" + +#: rs03-verify.c:708 +#, c-format +msgid "%lld good, %lld bad; %d%% tested" +msgstr "" + +#: rs03-verify.c:710 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %d%% tested" +msgstr "" + +#: rs03-verify.c:720 +msgid "pass" +msgstr "" + +#: rs03-verify.c:722 +msgid "- Ecc block test : pass\n" +msgstr "" + +#: rs03-verify.c:727 +#, c-format +msgid "%lld good, %lld bad; %lld bad sub blocks" +msgstr "" + +#: rs03-verify.c:729 +#, c-format +msgid "* Ecc block test : %lld good, %lld bad; %lld bad sub blocks\n" +msgstr "" + +#: rs03-verify.c:782 +#, c-format +msgid "" +"\n" +"%s present.\n" +msgstr "" + +#: rs03-verify.c:801 +#, c-format +msgid "%s present.\n" +msgstr "" + +#: rs03-verify.c:821 +msgid "" +"\n" +"Error correction properties:\n" +msgstr "" + +#: rs03-verify.c:830 +#, c-format +msgid "Ecc file is %lld sectors shorter than expected." +msgstr "" + +#: rs03-verify.c:832 +#, c-format +msgid "Ecc file is %lld sectors longer than expected." +msgstr "" + +#: rs03-verify.c:838 +#, c-format +msgid "* Warning : %s\n" +msgstr "" + +#: rs03-verify.c:846 +msgid "- type : Error correction file\n" +msgstr "" + +#: rs03-verify.c:847 +msgid "- type : Augmented image\n" +msgstr "" + +#: rs03-verify.c:851 +msgid "Error correction file" +msgstr "" + +#: rs03-verify.c:852 +msgid "Augmented image" +msgstr "" + +#: rs03-verify.c:887 +msgid "- created by : dvdisaster" +msgstr "" + +#: rs03-verify.c:900 +#, c-format +msgid "- created by : dvdisaster-%d.%d\n" +msgstr "" + +#: rs03-verify.c:919 +#, c-format +msgid "- requires : dvdisaster-%s\n" +msgstr "" + +#: rs03-verify.c:925 +#, c-format +msgid "" +"* requires : dvdisaster-%s (BAD)\n" +"* Warning : The following output might be incorrect.\n" +"* : Please visit http://www.dvdisaster.com for an upgrade.\n" +msgstr "" + +#: rs03-verify.c:947 +msgid "none available" +msgstr "" + +#: rs03-verify.c:965 +msgid "" +"\n" +"Data integrity:\n" +msgstr "" + +#: rs03-verify.c:987 +#, c-format +msgid "%lld in image; %lld in ecc file" +msgstr "" + +#: rs03-verify.c:989 +#, c-format +msgid "- sectors : %lld in image; %lld in ecc file\n" +msgstr "" + +#: rs03-verify.c:994 +#, c-format +msgid "%lld total / %lld data" +msgstr "" + +#: rs03-verify.c:996 +#, c-format +msgid "- medium sectors : %lld total / %lld data\n" +msgstr "" + +#: rs03-verify.c:1002 +#, c-format +msgid "%lld (%lld expected)" +msgstr "" + +#: rs03-verify.c:1027 +#, c-format +msgid "Failed seeking to start of ecc file: %s\n" +msgstr "" + +#: rs03-verify.c:1073 +#, c-format +msgid "premature end in ecc file (only %d bytes): %s\n" +msgstr "" + +#: rs03-verify.c:1124 +msgid " (in ecc file)" +msgstr "" + +#: rs03-verify.c:1132 +#, c-format +msgid "* missing sector : %lld%s\n" +msgstr "" + +#: rs03-verify.c:1133 +#, c-format +msgid "* missing sectors : %lld - %lld%s\n" +msgstr "" + +#: rs03-verify.c:1193 rs03-verify.c:1232 +#, c-format +msgid "%lld sectors missing; %lld signature errors" +msgstr "" + +#: rs03-verify.c:1217 +msgid "Error correction file:" +msgstr "" + +#: rs03-verify.c:1248 +#, c-format +msgid "" +"- good image/file : all sectors present\n" +"- data md5sum : %s\n" +msgstr "" + +#: rs03-verify.c:1252 +#, c-format +msgid "* BAD image/file : %lld sectors missing\n" +msgstr "" + +#: rs03-verify.c:1287 +#, c-format +msgid "Skipped; not useful on known defective image" +msgstr "" + +#: rs03-verify.c:1290 +msgid "* Ecc block test : skipped; not useful on defective image\n" +msgstr "" + +#: rs03-window.c:83 +msgid "1. Reserving space:" +msgstr "" + +#: rs03-window.c:102 +msgid "Encoder info:" +msgstr "" + +#: rs03-window.c:111 +msgid "Performance:" +msgstr "" + +#: rs03-window.c:120 +msgid "State:" +msgstr "" + #: scsi-darwin.c:159 msgid "No CD/DVD drives found." msgstr "Inga cd/dvd-enheter hittades." @@ -4240,7 +4957,7 @@ msgstr "" "Inga cd/dvd-enheter hittades i /dev.\n" "Inga enheter kommer att vara förvalda.\n" -#: scsi-layer.c:87 +#: scsi-layer.c:101 #, c-format msgid "" "Can open %s, but INQUIRY fails.\n" @@ -4253,27 +4970,27 @@ msgstr "" "och försöker komma åt den via /dev/cdrom eller /dev/hd?.\n" "Använd antingen /dev/scd? eller /dev/sr? istället, eller inaktivera ide-scsi-emulering.\n" -#: scsi-layer.c:95 +#: scsi-layer.c:109 #, c-format msgid "INQUIRY failed. Something is wrong with drive %s.\n" msgstr "FÖRFRÅGAN misslyckades. Någonting är fel med enhet %s.\n" -#: scsi-layer.c:124 +#: scsi-layer.c:138 #, c-format msgid "Device %s (%s) is not a CDROM drive." msgstr "Enhet %s (%s) är inte en cd-rom-enhet." -#: scsi-layer.c:125 +#: scsi-layer.c:139 #, c-format msgid "Device %s (%s) is a hard disk." msgstr "Enhet %s (%s) är en hårddisk." -#: scsi-layer.c:416 +#: scsi-layer.c:430 #, c-format msgid "Incomplete %s" msgstr "" -#: scsi-layer.c:454 +#: scsi-layer.c:468 #, c-format msgid "" "%s\n" @@ -4282,16 +4999,16 @@ msgstr "" "%s\n" "Kunde inte fråga efter längd på innehållsförteckning.\n" -#: scsi-layer.c:459 +#: scsi-layer.c:473 msgid "blank" msgstr "" -#: scsi-layer.c:473 scsi-layer.c:533 +#: scsi-layer.c:488 scsi-layer.c:549 #, c-format msgid "TOC info too long (%d), probably multisession.\n" msgstr "Innehållsförteckning för lång (%d), antagligen multisession.\n" -#: scsi-layer.c:488 +#: scsi-layer.c:503 #, c-format msgid "" "%s\n" @@ -4300,7 +5017,7 @@ msgstr "" "%s\n" "Kunde inte läsa innehållsförteckning (TOC).\n" -#: scsi-layer.c:515 +#: scsi-layer.c:530 #, c-format msgid "" "%s\n" @@ -4309,12 +5026,12 @@ msgstr "" "%s\n" "Kunde inte fråga efter fullständig innehållsförteckning (TOC).\n" -#: scsi-layer.c:527 +#: scsi-layer.c:543 #, c-format msgid "TOC info too short, length %d.\n" msgstr "Innehållsförteckning för kort, längd %d.\n" -#: scsi-layer.c:551 +#: scsi-layer.c:569 #, c-format msgid "" "%s\n" @@ -4323,7 +5040,7 @@ msgstr "" "%s\n" "Kunde inte läsa fullständig innehållsförteckning (TOC).\n" -#: scsi-layer.c:560 +#: scsi-layer.c:578 #, c-format msgid "" "\n" @@ -4332,11 +5049,11 @@ msgstr "" "\n" "Oväntat format på innehållsförteckning (längd %d):\n" -#: scsi-layer.c:568 +#: scsi-layer.c:586 msgid "Consider sending a bug report.\n" msgstr "Överväg att skicka in en felrapport.\n" -#: scsi-layer.c:621 +#: scsi-layer.c:639 #, c-format msgid "" "%s\n" @@ -4345,12 +5062,12 @@ msgstr "" "%s\n" "Kunde inte fråga efter dvdstrukturlängd.\n" -#: scsi-layer.c:632 +#: scsi-layer.c:651 #, c-format msgid "Could not query dvd physical structure - implausible packet length %d\n" msgstr "Kunde inte fråga efter dvd:ns fysiska struktur - osannolik paketlängd %d\n" -#: scsi-layer.c:650 +#: scsi-layer.c:669 #, c-format msgid "" "%s\n" @@ -4359,26 +5076,26 @@ msgstr "" "%s\n" "Kunde inte fråga efter fysiska dvdstruktur.\n" -#: scsi-layer.c:679 scsi-layer.c:689 +#: scsi-layer.c:698 scsi-layer.c:708 #, c-format msgid "READ DVD STRUCTURE: implausible medium size, %lld-%lld=%lld sectors\n" msgstr "" -#: scsi-layer.c:947 +#: scsi-layer.c:968 #, c-format msgid "" "%s\n" "Could not query BD disc structure length.\n" msgstr "" -#: scsi-layer.c:970 +#: scsi-layer.c:992 #, c-format msgid "" "%s\n" "Could not query BD disc structure.\n" msgstr "" -#: scsi-layer.c:1646 +#: scsi-layer.c:1673 #, c-format msgid "" "%s\n" @@ -4387,12 +5104,12 @@ msgstr "" "%s\n" "Kunde inte fråga efter dvdstrukturlängd för formatkod 1.\n" -#: scsi-layer.c:1656 +#: scsi-layer.c:1684 #, c-format msgid "Could not query dvd copyright info - implausible packet length %d\n" msgstr "Kunde inte fråga efter dvd:ns copyrightinformation - osannolik paketlängd %d\n" -#: scsi-layer.c:1671 +#: scsi-layer.c:1699 #, c-format msgid "" "%s\n" @@ -4401,23 +5118,23 @@ msgstr "" "%s\n" "Kunde inte fråga efter copyrightinformation.\n" -#: scsi-layer.c:1731 +#: scsi-layer.c:1759 msgid "is undecideable because of read error" msgstr "är inte bestämt på grund av läsfel" -#: scsi-layer.c:1737 +#: scsi-layer.c:1765 msgid "looks GOOD" msgstr "ser BRA UT" -#: scsi-layer.c:1743 +#: scsi-layer.c:1771 msgid "gives unformatted size (UNUSABLE)" msgstr "ger oformaterad storlek (EJ ANVÄNDBAR)" -#: scsi-layer.c:1748 +#: scsi-layer.c:1776 msgid "is UNUSABLE" msgstr "är OANVÄNDBAR" -#: scsi-layer.c:1770 +#: scsi-layer.c:1798 #, c-format msgid "" "%s\n" @@ -4426,12 +5143,12 @@ msgstr "" "%s\n" "Kunde inte fråga efter mediumstorlek.\n" -#: scsi-layer.c:1790 +#: scsi-layer.c:1818 #, c-format msgid "READ CAPACITY: implausible medium size, %lld sectors\n" msgstr "" -#: scsi-layer.c:1869 +#: scsi-layer.c:1895 #, c-format msgid "" "Different media sizes depending on query method:\n" @@ -4440,7 +5157,7 @@ msgid "" "\n" msgstr "" -#: scsi-layer.c:1874 +#: scsi-layer.c:1900 msgid "" "Evaluation of returned medium sizes:\n" "\n" @@ -4448,15 +5165,15 @@ msgstr "" "Evaluering av returnerade mediumstorlekar:\n" "\n" -#: scsi-layer.c:1929 +#: scsi-layer.c:1955 msgid "Using value from READ CAPACITY" msgstr "Använder värde från LÄSKAPACITET" -#: scsi-layer.c:1933 +#: scsi-layer.c:1959 msgid "Using value from READ DVD STRUCTURE" msgstr "Använder värde från LÄS DVDSTRUKTUR" -#: scsi-layer.c:1943 +#: scsi-layer.c:1969 #, c-format msgid "" "FAILED to determine image size.\n" @@ -4467,7 +5184,7 @@ msgstr "" "Använder ett mindre värde eftersom det passar för >90%% av alla enheter,\n" "men FORTSÄTT PÅ EGEN RISK (avbilden kan bli felaktig/oanvändbar)" -#: scsi-layer.c:1948 +#: scsi-layer.c:1974 #, c-format msgid "" "Final decision: %s\n" @@ -4476,7 +5193,7 @@ msgstr "" "Slutligt beslut: %s\n" "\n" -#: scsi-layer.c:1956 +#: scsi-layer.c:1982 msgid "" "Failed to determine image size.\n" "Try using a different drive." @@ -4484,51 +5201,51 @@ msgstr "" "Misslyckades med att fastställa avbildsstorlek.\n" "Försök använda en annan enhet." -#: scsi-layer.c:2081 scsi-layer.c:2107 +#: scsi-layer.c:2106 scsi-layer.c:2132 #, c-format msgid "" "%s\n" "Could not load/unload the medium.\n" msgstr "" -#: scsi-layer.c:2097 +#: scsi-layer.c:2122 #, c-format msgid "" "%s\n" "Could not unlock the medium.\n" msgstr "" -#: scsi-layer.c:2160 +#: scsi-layer.c:2185 #, c-format msgid "Waiting 10 seconds for drive: %d\n" msgstr "" -#: scsi-layer.c:2443 +#: scsi-layer.c:2468 #, c-format msgid "Sectors %lld - %lld: %s\n" msgstr "" -#: scsi-layer.c:2457 +#: scsi-layer.c:2482 #, c-format msgid "Sector %lld, try %d: %s Sector returned: %d.\n" msgstr "" -#: scsi-layer.c:2463 +#: scsi-layer.c:2488 #, c-format msgid "Sector %lld, try %d: %s\n" msgstr "" -#: scsi-layer.c:2474 +#: scsi-layer.c:2499 #, c-format msgid "Sector %lld, try %d: success\n" msgstr "" -#: scsi-layer.c:2541 scsi-layer.c:2694 +#: scsi-layer.c:2566 scsi-layer.c:2711 #, c-format msgid "Device %s: no medium present\n" msgstr "" -#: scsi-layer.c:2542 scsi-layer.c:2695 +#: scsi-layer.c:2567 scsi-layer.c:2712 #, c-format msgid "" "Device %s does not become ready:\n" @@ -4536,7 +5253,7 @@ msgid "" "\n" msgstr "" -#: scsi-layer.c:2547 +#: scsi-layer.c:2571 #, c-format msgid "" "\n" @@ -4545,61 +5262,52 @@ msgstr "" "\n" "Enhet: %s, %s\n" -#: scsi-layer.c:2551 -#, c-format -msgid "" -"\n" -"Device: %s (%s), %s\n" -msgstr "" -"\n" -"Enhet: %s (%s), %s\n" - -#: scsi-layer.c:2559 +#: scsi-layer.c:2577 msgid "Drive failed to report media type." msgstr "" -#: scsi-layer.c:2570 scsi-layer.c:2657 +#: scsi-layer.c:2588 scsi-layer.c:2674 #, c-format msgid "This software does not support \"%s\" type media." msgstr "" -#: scsi-layer.c:2578 +#: scsi-layer.c:2596 #, c-format msgid "This software does not support multisession (%d sessions) media." msgstr "" -#: scsi-layer.c:2601 scsi-layer.c:2610 +#: scsi-layer.c:2619 scsi-layer.c:2628 msgid "Using READ CD" msgstr "" -#: scsi-layer.c:2602 +#: scsi-layer.c:2620 msgid ", RAW reading" msgstr "" -#: scsi-layer.c:2605 +#: scsi-layer.c:2623 #, c-format msgid ", Mode page 1 ERP = %02xh" msgstr "" -#: scsi-layer.c:2608 +#: scsi-layer.c:2626 msgid ", C2 scanning" msgstr "" -#: scsi-layer.c:2615 +#: scsi-layer.c:2633 msgid "Using READ(10).\n" msgstr "" -#: scsi-layer.c:2634 +#: scsi-layer.c:2651 #, c-format msgid "Medium: %s, %lld sectors%s" msgstr "Medium: %s, %lld sektorer%s" -#: scsi-layer.c:2638 +#: scsi-layer.c:2655 #, c-format msgid "Medium \"%s\": %s, %lld sectors%s created %s" msgstr "Medium \"%s\": %s, %lld sektorer%s skapade %s" -#: scsi-layer.c:2664 +#: scsi-layer.c:2681 msgid "This software does not support encrypted media.\n" msgstr "" @@ -4617,42 +5325,7 @@ msgstr "" "* Operativsystem stöds inte - inget SCSI-lager tillgängligt.\n" "* Inga enheter kan användas.\n" -#: scsi-win32.c:415 -msgid "ASPI manager present, but no CD/DVD drives managed.\n" -msgstr "ASPI-hanterare är tillgänglig men inga cd/dvd-enheter hanteras.\n" - -#: scsi-win32.c:417 -#, c-format -msgid "" -"%d SPTI drives, but %d ASPI drives.\n" -"Drive letter mapping for ASPI drives is probably incorrect.\n" -msgstr "" -"%d SPTI-enheter, men %d ASPI-enheter.\n" -"Mappning av enhetsbokstäver för ASPI-enheter är antagligen felaktig.\n" - -#: scsi-win32.c:435 -msgid "" -"\n" -"List of ASPI CD/DVD drives:\n" -msgstr "" -"\n" -"Lista av ASPI CD/DVD-enheter:\n" - -#: scsi-win32.c:440 -msgid "" -"\n" -"To force ASPI usage over SPTI, refer to the drive by the\n" -"above numbers (use 1:, 2:,... instead of C:, D:,...)\n" -msgstr "" -"\n" -"För att tvinga ASPI-användning över SPTI, referera till enheten efter\n" -"siffrorna ovan (använd 1:, 2:,... istället för C:, D:,...)\n" - -#: scsi-win32.c:445 -msgid "ASPI manager not available or installed.\n" -msgstr "ASPI-hanterare inte tillgänglig eller installerad.\n" - -#: scsi-win32.c:569 +#: scsi-win32.c:161 #, c-format msgid "" "\n" @@ -4661,14 +5334,12 @@ msgstr "" "\n" "Otillåtet enhetsnamn \"%s\" (använd enheterna \"C:\" ... \"Z:\")" -#: scsi-win32.c:659 +#: scsi-win32.c:245 #, c-format msgid "" "\n" -"Neither SPTI nor ASPI worked opening %s." +"Could not open device %s." msgstr "" -"\n" -"Varken SPTI eller ASPI fungerade att öppna %s." #: show-manual.c:75 msgid "windowtitle|Choose a browser" @@ -4719,19 +5390,19 @@ msgstr "" msgid "Please hang on until the browser comes up!" msgstr "Vänta tills webbläsaren har startats!" -#: udf.c:143 +#: udf.c:142 msgid "Skip RS02 test" msgstr "" -#: udf.c:144 +#: udf.c:143 msgid "Continue searching" msgstr "" -#: udf.c:149 +#: udf.c:148 msgid "Disable RS02 initialization in the preferences" msgstr "" -#: udf.c:240 +#: udf.c:238 msgid "" "Faster medium initialization\n" "\n" @@ -4740,57 +5411,153 @@ msgid "" "not augmented with RS02 error correction data." msgstr "" -#: udf.c:249 -msgid "" -"\n" -"Searching this medium for error correction data may take a long time.\n" -"If you are certain that this medium was not augmented with RS02 error correction\n" -"data, you might wish to abort this command and re-run with the option\n" -"--query-size=udf\n" -msgstr "" - -#: udf.c:533 +#: udf.c:524 msgid "Unnamed" msgstr "Namnlös" -#: udf.c:624 +#: udf.c:615 msgid "Example disc" msgstr "" #: welcome-window.c:79 #, c-format msgid "" -"- New raw reading mode for CD media.\n" -"- Number of reading attempts can be selected\n" -"%s per sector and for the whole medium.\n" -"- Redesigned preferences dialog." +"- Development frameworks for Windows and OS X updated.\n" +"- Experimental multithreaded codec (RS03).\n" +"\n" +"Warning:\n" +"This version is experimental and for testing only.\n" +"It may contain bugs even in functions which worked\n" +"in previous versions.\n" +"\n" +"RS03 has not reached full recovery capacity yet and\n" +"is not recognized by linear and adaptive reading." msgstr "" -#: welcome-window.c:87 +#: welcome-window.c:93 msgid "Show this message again" msgstr "" -#: welcome-window.c:129 +#: welcome-window.c:135 msgid "Welcome to dvdisaster!" msgstr "" -#: welcome-window.c:131 +#: welcome-window.c:137 msgid "" "\n" "dvdisaster creates error correction data to protect\n" "CD and DVD media against data loss.\n" msgstr "" -#: welcome-window.c:134 +#: welcome-window.c:140 msgid "" "Please see the manual for [typical uses] of dvdisaster.\n" "\n" msgstr "" -#: welcome-window.c:137 +#: welcome-window.c:143 msgid "New in this Version:" msgstr "" +#~ msgid "" +#~ "Image file already exists and does not match the CD/DVD.\n" +#~ "The existing image file will be deleted." +#~ msgstr "" +#~ "Avbildsfilen existerar redan och stämmer inte med cd/dvd.\n" +#~ "Den existerande avbildsfilen kommer att tas bort." + +#~ msgid "" +#~ "Automatic error correction file creation is enabled,\n" +#~ "and \"%s\" already exists.\n" +#~ "Overwrite it?\n" +#~ msgstr "" +#~ "Skapandet av automatisk felkorrigeringsfil är\n" +#~ "aktiverat, och \"%s\" existerar redan.\n" +#~ "Skriva över den?\n" + +#~ msgid "ISO/UDF" +#~ msgstr "ISO/UDF" + +#~ msgid "ECC/RS02" +#~ msgstr "ECC/RS02" + +#~ msgid "" +#~ "Drive and file specification:\n" +#~ " -d,--device device - read from given device (default: %s)\n" +#~ " -p,--prefix prefix - prefix of .iso/.ecc file (default: medium.* )\n" +#~ " -i,--image imagefile - name of image file (default: medium.iso)\n" +#~ " -e,--ecc eccfile - name of parity file (default: medium.ecc)\n" +#~ msgstr "" +#~ "Enhet och filspecifikation:\n" +#~ " -d,--device enhet - läs från angiven enhet (standard: %s)\n" +#~ " -p,--prefix prefix - prefix för .iso/.ecc-fil (standard: medium.* )\n" +#~ " -i,--image avbildsfil - namn på avbildsfil (standard: medium.iso)\n" +#~ " -e,--ecc ecc-fil - namn på paritetsfil (standard: medium.ecc)\n" + +#~ msgid "" +#~ " -l,--list - list drives available under ASPI manager\n" +#~ "\n" +#~ msgstr "" +#~ " -l,--list - lista enheter tillgängliga under ASPI-hanteraren\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "Device: %s (%s), %s\n" +#~ msgstr "" +#~ "\n" +#~ "Enhet: %s (%s), %s\n" + +#~ msgid "ASPI manager present, but no CD/DVD drives managed.\n" +#~ msgstr "ASPI-hanterare är tillgänglig men inga cd/dvd-enheter hanteras.\n" + +#~ msgid "" +#~ "%d SPTI drives, but %d ASPI drives.\n" +#~ "Drive letter mapping for ASPI drives is probably incorrect.\n" +#~ msgstr "" +#~ "%d SPTI-enheter, men %d ASPI-enheter.\n" +#~ "Mappning av enhetsbokstäver för ASPI-enheter är antagligen felaktig.\n" + +#~ msgid "" +#~ "\n" +#~ "List of ASPI CD/DVD drives:\n" +#~ msgstr "" +#~ "\n" +#~ "Lista av ASPI CD/DVD-enheter:\n" + +#~ msgid "" +#~ "\n" +#~ "To force ASPI usage over SPTI, refer to the drive by the\n" +#~ "above numbers (use 1:, 2:,... instead of C:, D:,...)\n" +#~ msgstr "" +#~ "\n" +#~ "För att tvinga ASPI-användning över SPTI, referera till enheten efter\n" +#~ "siffrorna ovan (använd 1:, 2:,... istället för C:, D:,...)\n" + +#~ msgid "ASPI manager not available or installed.\n" +#~ msgstr "ASPI-hanterare inte tillgänglig eller installerad.\n" + +#~ msgid "" +#~ "\n" +#~ "Neither SPTI nor ASPI worked opening %s." +#~ msgstr "" +#~ "\n" +#~ "Varken SPTI eller ASPI fungerade att öppna %s." + +#~ msgid "" +#~ "\n" +#~ "Unknown method %s.\n" +#~ msgstr "" +#~ "\n" +#~ "Okänd metod %s.\n" + +#~ msgid "" +#~ "\n" +#~ "Neither ecc file nor ecc data in image found.\n" +#~ msgstr "" +#~ "\n" +#~ "Varken fil eller ecc-data hittades i avbild.\n" + #~ msgid "" #~ "\n" #~ "dvdisaster version %s\n" @@ -4935,41 +5702,6 @@ msgstr "" #~ " --keep-style - åsidosätt inte stilinställningarna\n" #~ "\n" -#~ msgid "" -#~ "Tweaking options (see manual before using!)\n" -#~ " -j,--jump n - jump n sectors forward after a read error (default: 16)\n" -#~ " -m n - list/select error correction methods (default: RS01)\n" -#~ " -n,--redundancy n%% - error correction file redundancy (in percent), or\n" -#~ " maximum error correction image size (in sectors)\n" -#~ " -v,--verbose - more diagnostic messages\n" -#~ " --adaptive-read - use optimized strategy for reading damaged media\n" -#~ " --auto-suffix - automatically add .iso and .ecc file suffixes\n" -#~ " --cache-size n - image cache size in MB during -c mode (default: 32MB)\n" -#~ " --dao - assume DAO disc; do not trim image end\n" -#~ " --fill-unreadable n - fill unreadable sectors with byte n\n" -#~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" -#~ " --speed-warning n - print warning if speed changes by more than n percent\n" -#~ " --spinup-delay n - wait n seconds for drive to spin up\n" -#~ " --split-files - split image into files <= 2GB\n" -#~ "\n" -#~ msgstr "" -#~ "Justeringsflaggor (se manualen före användning!)\n" -#~ " -j,--jump n - hoppa n sektorer framåt efter ett läsfel (standard: 16)\n" -#~ " -m n - lista/välj felkorrigeringsmetoder (standard: RS01)\n" -#~ " -n,--redundancy n%% - redundans för felkorrigeringsfil (i procent), eller\n" -#~ " maximal storlek på felkorrigeringsavbild (i sektorer)\n" -#~ " -v,--verbose - mer informativa meddelanden\n" -#~ " --adaptive-read - använd optimerad strategi för läsning av skadat media\n" -#~ " --auto-suffix - lägg automatiskt till filändelserna .iso och .ecc \n" -#~ " --cache-size n - cachestorlek för avbild i MB med -c (standard: 32MB)\n" -#~ " --dao - anta DAO-skiva; trimma inte avbildens slut\n" -#~ " --fill-unreadable n - fyll oläsliga sektorer med byte n\n" -#~ " --query-size n - fråga enhet/udf/ecc efter avbildsstorlek (standard: ecc)\n" -#~ " --speed-warning n - skriv ut varning om hastighet ändras med mer än n procent\n" -#~ " --spinup-delay n - vänta n sekunder på att enheten ska varva upp\n" -#~ " --split-files - dela upp avbild i filer <= 2GB\n" -#~ "\n" - #~ msgid "tooltip|Create error correction file" #~ msgstr "Skapa felkorrigeringsfil" diff --git a/logfile.c b/logfile.c index 56d834d..dfcb4ea 100644 --- a/logfile.c +++ b/logfile.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/main-window.c b/main-window.c index 1106337..0ba0dbc 100644 --- a/main-window.c +++ b/main-window.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -39,19 +39,6 @@ static gboolean delete_cb(GtkWidget *widget, GdkEvent *event, gpointer data) *** The right-side action buttons ***/ -static void remove_the_00s(char *filename) -{ char *dot = strrchr(filename, '.'); - - if(dot) - { int pos = dot-filename; - - if(pos>2 && filename[pos-2] == '0' - && filename[pos-1] == '0') - memmove(filename+pos-2, filename+pos, - strlen(filename)-pos+1); - } -} - /* * Callback for the action buttons */ @@ -67,7 +54,7 @@ static void action_cb(GtkWidget *widget, gpointer data) if(action != ACTION_CREATE_CONT) { g_mutex_lock(Closure->logLock); g_string_truncate(Closure->logString, 0); - g_string_printf(Closure->logString, _("dvdisaster-%s log\n"),VERSION); + g_string_printf(Closure->logString, _("dvdisaster-%s log\n"), Closure->cookedVersion); g_mutex_unlock(Closure->logLock); Closure->logFileStamped = FALSE; } @@ -91,11 +78,29 @@ static void action_cb(GtkWidget *widget, gpointer data) gtk_entry_set_text(GTK_ENTRY(Closure->eccEntry), Closure->eccName); } - /* Transform foo00.[iso|ecc] into foo.[iso|ecc] when in filesplit mode */ + /* The ecc file may not be labeled as an .iso image */ - if(Closure->splitFiles) - { remove_the_00s(Closure->imageName); - remove_the_00s(Closure->eccName); + if(Closure->eccName) + { int len = strlen(Closure->eccName); + + if(!strcmp(Closure->eccName, Closure->imageName)) + { CreateMessage(_("The .iso image and error correction file\n" + "must not be the same file!\n\n" + "If you intended to create or use an .iso image\n" + "which is augmented with error correction data,\n" + "please leave the error correction file name blank."), + GTK_MESSAGE_ERROR); + return; + } + + if(!strcmp(Closure->eccName+len-4, ".iso")) + { CreateMessage(_("The error correction file type must not be \".iso\".\n\n" + "If you intended to create or use an .iso image\n" + "which is augmented with error correction data,\n" + "please leave the error correction file name blank."), + GTK_MESSAGE_ERROR); + return; + } } /* Reset warnings which may be temporarily disabled during an action */ @@ -150,7 +155,7 @@ static void action_cb(GtkWidget *widget, gpointer data) case ACTION_FIX: ClearCrcCache(); - if(!(method = EccFileMethod(TRUE))) + if(!(method = EccMethod(TRUE))) break; gtk_notebook_set_current_page(GTK_NOTEBOOK(Closure->notebook), method->tabWindowIndex+1); @@ -172,7 +177,7 @@ static void action_cb(GtkWidget *widget, gpointer data) /* If something is wrong with the .iso or .ecc files we fall back to the RS01 method for verifying since it is robust against missing files. */ - if(!(method = EccFileMethod(FALSE))) + if(!(method = EccMethod(FALSE))) if(!(method = FindMethod("RS01"))) break; diff --git a/maintenance.c b/maintenance.c index 414dc86..c48d23c 100644 --- a/maintenance.c +++ b/maintenance.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -21,7 +21,7 @@ #include "dvdisaster.h" -#if 1 +#if 0 void Maintenance1(char *debug_arg) { printf("\nMaintenance stub called with arg: %s\n\n", debug_arg); @@ -31,22 +31,24 @@ void Maintenance1(char *debug_arg) #else void Maintenance1(char *debug_arg) -{ RawBuffer *rb = CreateRawBuffer(MAX_RAW_TRANSFER_SIZE); +{ GaloisTables *gt = CreateGaloisTables(RS_GENERATOR_POLY); + ReedSolomonTables *rt = CreateReedSolomonTables(gt, RS_FIRST_ROOT, RS_PRIM_ELEM, 32); + unsigned char data[2048], parity[32*2048]; int i; + + memset(parity, 0, 32*2048); + + for(i=0; i<223; i++) + { int shift = (rt->shiftInit + i) % 32; - for(i=0; irawBuf[0][i], "Raw-Buff", 8); - - strcpy(rb->rawBuf[0], debug_arg); - rb->lba = 250; - rb->samplesRead = 1; + memset(data, i, 2048); + EncodeNextLayer(rt, data, parity, 2048, shift); + } - if(Closure->dDumpDir) g_free(Closure->dDumpDir); Closure->dDumpDir = g_strdup("/tmp"); - if(Closure->dDumpPrefix) g_free(Closure->dDumpPrefix); Closure->dDumpPrefix = g_strdup("raw"); + for(i=0; i<32; i++) + printf("%02x ", parity[i]); + printf("\n"); - SaveDefectiveSector(rb, 1); - - exit(0); } #endif diff --git a/medium-info.c b/medium-info.c index eb2d59e..407f4b2 100644 --- a/medium-info.c +++ b/medium-info.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/memtrack.c b/memtrack.c index 09bcf06..937b8bc 100644 --- a/memtrack.c +++ b/memtrack.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/menubar.c b/menubar.c index 74bee03..242afb0 100644 --- a/menubar.c +++ b/menubar.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/method-link.c b/method-link.c index dda9f16..f348d10 100644 --- a/method-link.c +++ b/method-link.c @@ -4,7 +4,9 @@ void BindMethods(void) { void register_rs01(void); void register_rs02(void); + void register_rs03(void); register_rs01(); register_rs02(); + register_rs03(); } diff --git a/method.c b/method.c index 7318e36..39bf2de 100644 --- a/method.c +++ b/method.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -101,147 +101,6 @@ Method *FindMethod(char *name) return NULL; } -/* - * Search for ecc headers in RS02 style image files. - * Note that udf.c has a similar function FindHeaderInMedium(). - */ - -static int read_fingerprint(LargeFile *file, unsigned char *fingerprint, gint64 sector) -{ struct MD5Context md5ctxt; - unsigned char buf[2048]; - int n; - - if(!LargeSeek(file, 2048LL*sector)) - return FALSE; - - n = LargeRead(file, buf, 2048); - - if(n != 2048) return FALSE; - - if(CheckForMissingSector(buf, sector, NULL, 0) != SECTOR_PRESENT) - return FALSE; - - MD5Init(&md5ctxt); - MD5Update(&md5ctxt, buf, 2048); - MD5Final(fingerprint, &md5ctxt); - - return TRUE; -} - -EccHeader* FindHeaderInImage(char *filename) -{ EccHeader *eh = NULL; - LargeFile *file; - unsigned char buf[4096]; - gint64 length,sectors,pos; - gint64 header_modulo; - gint64 last_fp = -1; - unsigned char fingerprint[16]; - - if(!LargeStat(filename, &length)) - return NULL; - - file = LargeOpen(filename, O_RDONLY, IMG_PERMS); - if(!file) return NULL; - - header_modulo = (gint64)1<<62; - sectors = length / 2048; - - /*** Search for the headers */ - - while(header_modulo >= 32) - { pos = sectors & ~(header_modulo - 1); - -//printf("Trying modulo %lld\n", header_modulo); - - while(pos > 0) - { if(LargeSeek(file, 2048*pos)) - { int n; - -//printf(" trying sector %lld\n", pos); - n = LargeRead(file, buf, sizeof(EccHeader)); - - if(n != sizeof(EccHeader)) - goto check_next_header; - - eh = (EccHeader*)buf; - - /* Medium read error in ecc header? */ - - if( (CheckForMissingSector(buf, pos, NULL, 0) != SECTOR_PRESENT) - || (CheckForMissingSector(buf+2048, pos+1, NULL, 0) != SECTOR_PRESENT)) - { -//printf(" header at %lld: read error\n", (long long int)pos); - goto check_next_header; - } - - /* See if the magic cookie is there */ - - if(!strncmp((char*)eh->cookie, "*dvdisaster*", 12)) - { guint32 recorded_crc = eh->selfCRC; - guint32 real_crc; - -//printf(" header at %lld: magic cookie found\n", (long long int)pos); - -#ifdef HAVE_BIG_ENDIAN - eh->selfCRC = 0x47504c00; -#else - eh->selfCRC = 0x4c5047; -#endif - real_crc = Crc32((unsigned char*)eh, sizeof(EccHeader)); - - if(real_crc == recorded_crc) - { eh = g_malloc(sizeof(EccHeader)); - memcpy(eh, buf, sizeof(EccHeader)); -#ifdef HAVE_BIG_ENDIAN - SwapEccHeaderBytes(eh); -#endif - eh->selfCRC = recorded_crc; -//printf(" --> CRC okay, using it\n"); - - if(last_fp != eh->fpSector) - { int status; - - status = read_fingerprint(file, fingerprint, eh->fpSector); - last_fp = eh->fpSector; - - if(!status) /* be optimistic if fingerprint sector is unreadable */ - { LargeClose(file); - return eh; - } - } - - if(!memcmp(fingerprint, eh->mediumFP, 16)) /* good fingerprint */ - { LargeClose(file); - return eh; - } - - /* might be a header from a larger previous session. - discard it and continue */ - - g_free(eh); - } -//printf(" CRC failed, skipping it\n"); - goto check_next_header; - } - else - { -//printf(" no cookie, skipping current modulo\n"); - goto check_next_modulo; - } - } - - check_next_header: - pos -= header_modulo; - } - - check_next_modulo: - header_modulo >>= 1; - } - - LargeClose(file); - return NULL; -} - /* * Find method for a given ecc file (like in RS01) * or augmented image (like in the RS02 image format). @@ -249,77 +108,72 @@ EccHeader* FindHeaderInImage(char *filename) * it is cached in the corresponding Method struct. */ -Method *EccFileMethod(int process_error) +Method *EccMethod(int process_error) { LargeFile *ecc_file = NULL; - Method *method; - EccHeader *eh; - char method_name[5]; - gint64 length; + LargeFile *image = NULL; /* First see if an ecc file is available */ - method_name[0] = 0; - if((ecc_file = LargeOpen(Closure->eccName, O_RDONLY, 0))) - { EccHeader eh; - int n; + { int i; + + for(i=0; imethodList->len; i++) + { Method *method = g_ptr_array_index(Closure->methodList, i); + + if( method->recognizeEccFile + && method->recognizeEccFile(method, ecc_file)) + { LargeClose(ecc_file); + return method; + } + } - n = LargeRead(ecc_file, &eh, sizeof(EccHeader)); LargeClose(ecc_file); + if(process_error) + { if(Closure->guiMode) + CreateMessage(_("\nError correction file type unknown.\n"), GTK_MESSAGE_ERROR); + else Stop(_("\nError correction file type unknown.\n")); + } - if(n != sizeof(EccHeader)) - goto no_ecc_file; - - if(strncmp((char*)eh.cookie, "*dvdisaster*", 12)) - goto no_ecc_file; - - memcpy(method_name, eh.method, 4); method_name[4] = 0; - - if((method = FindMethod(method_name))) - return method; + return NULL; } /* No ecc file, see if the image contains hidden ecc information */ -no_ecc_file: - if(!LargeStat(Closure->imageName, &length)) - { if(process_error) - { if(Closure->guiMode) - CreateMessage(_("Image file %s not present.\n"), GTK_MESSAGE_ERROR, Closure->imageName, strerror(errno)); - else Stop(_("Image file %s not present.\n"), Closure->imageName, strerror(errno)); + if((image = LargeOpen(Closure->imageName, O_RDONLY, 0))) + { int i; + + for(i=0; imethodList->len; i++) + { Method *method = g_ptr_array_index(Closure->methodList, i); +#if 0 + char buf[5]; + strncpy(buf,method->name,4); + buf[4]=0; + printf("trying %s\n", buf); +#endif + if( method->recognizeEccImage + && method->recognizeEccImage(method, image)) + { LargeClose(image); + return method; + } } + + LargeClose(image); + if(process_error) + { if(Closure->guiMode) + CreateMessage(_("\nNo error correction data recognized in image.\n"), GTK_MESSAGE_ERROR); + else Stop(_("\nNo error correction data recognized in image.\n")); + } + return NULL; } - eh = FindHeaderInImage(Closure->imageName); - - if(eh) - { memcpy(method_name, eh->method, 4); method_name[4] = 0; - - if((method = FindMethod(method_name))) - { if(method->lastEh) g_free(method->lastEh); - method->lastEh = eh; - - return method; - } - g_free(eh); - } - - /* No ecc augmented image */ + /* Neither ecc file nor augmented image */ if(process_error) { if(Closure->guiMode) - { if(method_name[0]) - CreateMessage(_("\nUnknown method %s.\n"), GTK_MESSAGE_ERROR, method_name); - else CreateMessage(_("\nNeither ecc file nor ecc data in image found.\n"), GTK_MESSAGE_ERROR); - } - else - { if(method_name[0]) - Stop(_("\nUnknown method %s.\n"), method_name); - else Stop(_("\nNeither ecc file nor ecc data in image found.\n")); - } + CreateMessage(_("Image file %s not present.\n"), GTK_MESSAGE_ERROR, Closure->imageName, strerror(errno)); + else Stop(_("Image file %s not present.\n"), Closure->imageName, strerror(errno)); } - return NULL; } diff --git a/misc.c b/misc.c index 114ab9d..c676364 100644 --- a/misc.c +++ b/misc.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -202,7 +202,7 @@ static void print_greetings(FILE *where) if(greetings_shown) return; greetings_shown = 1; - g_fprintf(where, _("dvdisaster-%s%sCopyright 2004-2009 Carsten Gnoerlich.\n"), + g_fprintf(where, _("dvdisaster-%s%sCopyright 2004-2010 Carsten Gnoerlich.\n"), VERSION, strstr(VERSION,"pl") ? " " : " "); /* TRANSLATORS: Excluding all kinds of warranty might be harmful under your legislature. If in doubt, just translate the following like "This is free @@ -275,6 +275,7 @@ void PrintProgress(char *format, ...) { n = 255; msg[255] = 0; } + Closure->progressLength = n; if(strchr(msg, '\n')) g_fprintf(stderr, "%s", msg); @@ -289,6 +290,21 @@ void PrintProgress(char *format, ...) fflush(stderr); /* at least needed for Windows */ } +/* + * Clear last progress string + */ + +void ClearProgress(void) +{ static GStaticMutex mutex = G_STATIC_MUTEX_INIT; + int n = Closure->progressLength; + + Closure->bs[n] = Closure->sp[n] = 0; + g_fprintf(stderr, "%s%s", Closure->sp, Closure->bs); + Closure->bs[n] = '\b'; + Closure->sp[n] = ' '; + g_static_mutex_unlock(&mutex); +} + /* * Print a message to both stderr and the log window */ @@ -758,6 +774,8 @@ void SetLabelText(GtkLabel *label, char *format, ...) va_start(argp, format); if(format) { char *tmp = g_strdup_vprintf(format, argp); + + if(!tmp) tmp=g_strdup_printf("SetLabelText(%s) failed",format); li->text = g_locale_to_utf8(tmp, -1, NULL, NULL, NULL); g_free(tmp); } @@ -1095,3 +1113,69 @@ void LockLabelSize(GtkLabel *label, char *format, ...) g_free(text); } + +/*** + *** Safety requesters before overwriting stuff + ***/ + +static void dont_ask_again_cb(GtkWidget *widget, gpointer data) +{ int state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); + + Closure->confirmDeletion = !state; + + UpdatePrefsConfirmDeletion(); +} + +static void insert_button(GtkDialog *dialog) +{ GtkWidget *check,*align; + + align = gtk_alignment_new(0.5, 0.5, 0.0, 0.0); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), align, FALSE, FALSE, 0); + + check = gtk_check_button_new_with_label(_utf("Do not ask again")); + gtk_container_add(GTK_CONTAINER(align), check); + gtk_container_set_border_width(GTK_CONTAINER(align), 10); + g_signal_connect(G_OBJECT(check), "toggled", G_CALLBACK(dont_ask_again_cb), NULL); + + gtk_widget_show(align); + gtk_widget_show(check); + ReverseCancelOK(GTK_DIALOG(dialog)); +} + +int ConfirmImageDeletion(char *file) +{ int answer; + + if(!Closure->guiMode) /* Always delete it in command line mode */ + return TRUE; + + if(!Closure->confirmDeletion) /* I told you so... */ + return TRUE; + + answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, + insert_button, + _("Image file already exists and does not match the medium:\n\n" + "%s\n\n" + "The existing image file will be deleted."), + file); + + return answer == GTK_RESPONSE_OK; +} + +int ConfirmEccDeletion(char *file) +{ int answer; + + if(!Closure->guiMode) /* Always delete it in command line mode */ + return TRUE; + + if(!Closure->confirmDeletion) /* I told you so... */ + return TRUE; + + answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, + insert_button, + _("The error correction file is already present:\n\n" + "%s\n\n" + "Overwrite it?"), + file); + + return answer == GTK_RESPONSE_OK; +} diff --git a/preferences.c b/preferences.c index 9623cb5..736dbf7 100644 --- a/preferences.c +++ b/preferences.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -94,11 +94,7 @@ typedef struct _prefs_context /* Widgets for changing preferences settings. The are two copies (A and B) of each; one for the standard dialog and one embedded in the online help. */ - GtkWidget *radioDriveA, *radioDriveB; - GtkWidget *radioISOA, *radioISOB; - GtkWidget *radioECCA, *radioECCB; GtkWidget *suffixA, *suffixB; - GtkWidget *splitA, *splitB; GtkWidget *radioLinearA, *radioLinearB; GtkWidget *radioAdaptiveA, *radioAdaptiveB; GtkWidget *minAttemptsScaleA, *minAttemptsScaleB; @@ -115,6 +111,8 @@ typedef struct _prefs_context GtkWidget *jumpScaleA, *jumpScaleB; GtkWidget *daoButtonA, *daoButtonB; GtkWidget *dsmButtonA, *dsmButtonB; + GtkWidget *recogRS02A, *recogRS02B; + GtkWidget *recogRS03A, *recogRS03B; GtkWidget *byteEntryA, *byteEntryB; GtkWidget *byteCheckA, *byteCheckB; GtkWidget *spinUpA, *spinUpB; @@ -127,6 +125,7 @@ typedef struct _prefs_context GtkWidget *ejectA, *ejectB; GtkWidget *readAndCreateButtonA, *readAndCreateButtonB; GtkWidget *unlinkImageButtonA, *unlinkImageButtonB; + GtkWidget *confirmDeletionA, *confirmDeletionB; GtkWidget *mainNotebook; GtkWidget *methodChooserA,*methodChooserB; GtkWidget *methodNotebook; @@ -330,21 +329,24 @@ static void close_cb(GtkWidget *widget, gpointer data) *** Setting preferences from external functions ***/ -void UpdatePrefsQuerySize(void) +void UpdatePrefsExhaustiveSearch(void) { prefs_context *pc = (prefs_context*)Closure->prefsContext; if(Closure->prefsContext) - switch(Closure->querySize) - { case 0: activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioDriveA), TRUE); - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioDriveB), TRUE); - break; - case 1: activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioISOA), TRUE); - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioISOB), TRUE); - break; - case 2: activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioECCA), TRUE); - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioECCB), TRUE); - break; - } + { activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS02A), Closure->examineRS02); + activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS02B), Closure->examineRS02); + activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS03A), Closure->examineRS03); + activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS03B), Closure->examineRS03); + } +} + +void UpdatePrefsConfirmDeletion(void) +{ prefs_context *pc = (prefs_context*)Closure->prefsContext; + + if(Closure->prefsContext) + { activate_toggle_button(GTK_TOGGLE_BUTTON(pc->confirmDeletionA), Closure->confirmDeletion); + activate_toggle_button(GTK_TOGGLE_BUTTON(pc->confirmDeletionB), Closure->confirmDeletion); + } } /* @@ -365,9 +367,10 @@ enum { TOGGLE_READ_CREATE, TOGGLE_UNLINK, TOGGLE_SUFFIX, + TOGGLE_RECOG_RS02, + TOGGLE_RECOG_RS03, TOGGLE_DAO, TOGGLE_DSM, - TOGGLE_2GB, TOGGLE_RANGE, TOGGLE_RAW, TOGGLE_RAW_20H, @@ -379,6 +382,7 @@ enum TOGGLE_EJECT, TOGGLE_VERBOSE, TOGGLE_LOGFILE, + TOGGLE_CONFIRM_DELETION, SPIN_DELAY, SPIN_INTERNAL_ATTEMPTS, @@ -453,6 +457,12 @@ static void toggle_cb(GtkWidget *widget, gpointer data) activate_toggle_button(GTK_TOGGLE_BUTTON(pc->unlinkImageButtonB), state); break; + case TOGGLE_CONFIRM_DELETION: + Closure->confirmDeletion = state; + activate_toggle_button(GTK_TOGGLE_BUTTON(pc->confirmDeletionA), state); + activate_toggle_button(GTK_TOGGLE_BUTTON(pc->confirmDeletionB), state); + break; + case TOGGLE_SUFFIX: Closure->autoSuffix = state; activate_toggle_button(GTK_TOGGLE_BUTTON(pc->suffixA), state); @@ -483,6 +493,18 @@ static void toggle_cb(GtkWidget *widget, gpointer data) activate_toggle_button(GTK_TOGGLE_BUTTON(pc->daoButtonB), state); break; + case TOGGLE_RECOG_RS02: + Closure->examineRS02 = state; + activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS02A), state); + activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS02B), state); + break; + + case TOGGLE_RECOG_RS03: + Closure->examineRS03 = state; + activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS03A), state); + activate_toggle_button(GTK_TOGGLE_BUTTON(pc->recogRS03B), state); + break; + case TOGGLE_DSM: Closure->dsmVersion = state; activate_toggle_button(GTK_TOGGLE_BUTTON(pc->dsmButtonA), state); @@ -495,12 +517,6 @@ static void toggle_cb(GtkWidget *widget, gpointer data) } break; - case TOGGLE_2GB: - Closure->splitFiles = state; - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->splitA), state); - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->splitB), state); - break; - case TOGGLE_RAW: Closure->readRaw = state; activate_toggle_button(GTK_TOGGLE_BUTTON(pc->rawButtonA), state); @@ -996,44 +1012,6 @@ static GtkWidget* non_linear_scale(GtkWidget **hbox_out, non_linear_info *nli, return scale; } -/* - * Image size query method selection - */ - -static void imgsize_cb(GtkWidget *widget, gpointer data) -{ int state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); - int selection = GPOINTER_TO_INT(data); - prefs_context *pc = (prefs_context*)Closure->prefsContext; - - if(!state) /* only track changes to activate state */ - return; - - Closure->querySize = selection; - - switch(selection) - { case 0: - if(pc->radioDriveA) - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioDriveA), TRUE); - if(pc->radioDriveB) - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioDriveB), TRUE); - break; - - case 1: - if(pc->radioISOA) - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioISOA), TRUE); - if(pc->radioISOB) - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioISOB), TRUE); - break; - - case 2: - if(pc->radioECCA) - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioECCA), TRUE); - if(pc->radioECCB) - activate_toggle_button(GTK_TOGGLE_BUTTON(pc->radioECCB), TRUE); - break; - } -} - /* * Read strategy selection */ @@ -1397,7 +1375,8 @@ void UpdateMethodPreferences(void) for(i=0; imethodList->len; i++) { Method *method = g_ptr_array_index(Closure->methodList, i); - method->resetPrefsPage(method); + if(method->resetPrefsPage) + method->resetPrefsPage(method); } } @@ -1448,80 +1427,6 @@ void CreatePreferencesWindow(void) vbox = create_page(notebook, _utf("Image")); - /** Image size */ - - frame = gtk_frame_new(_utf("Image size")); - gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); - - vbox2 = gtk_vbox_new(FALSE, 15); - gtk_container_set_border_width(GTK_CONTAINER(vbox2), 10); - gtk_container_add(GTK_CONTAINER(frame), vbox2); - - lwoh = CreateLabelWithOnlineHelp(_("Image size determination"), _("Get Image size from: ")); - RegisterPreferencesHelpWindow(lwoh); - - for(i=0; i<2; i++) - { GtkWidget *hbox = gtk_hbox_new(FALSE, 4); - GtkWidget *radio1, *radio2, *radio3; - - gtk_box_pack_start(GTK_BOX(hbox), i ? lwoh->normalLabel : lwoh->linkBox, FALSE, FALSE, 0); - - radio1 = gtk_radio_button_new(NULL); - g_signal_connect(G_OBJECT(radio1), "toggled", G_CALLBACK(imgsize_cb), (gpointer)0); - gtk_box_pack_start(GTK_BOX(hbox), radio1, FALSE, FALSE, 0); - lab = gtk_label_new(_utf("Drive")); - gtk_container_add(GTK_CONTAINER(radio1), lab); - - radio2 = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(radio1)); - g_signal_connect(G_OBJECT(radio2), "toggled", G_CALLBACK(imgsize_cb), (gpointer)1); - gtk_box_pack_start(GTK_BOX(hbox), radio2, FALSE, FALSE, 0); - lab = gtk_label_new(_utf("ISO/UDF")); - gtk_container_add(GTK_CONTAINER(radio2), lab); - - radio3 = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(radio2)); - g_signal_connect(G_OBJECT(radio3), "toggled", G_CALLBACK(imgsize_cb), (gpointer)2); - gtk_box_pack_start(GTK_BOX(hbox), radio3, FALSE, FALSE, 0); - lab = gtk_label_new(_utf("ECC/RS02")); - gtk_container_add(GTK_CONTAINER(radio3), lab); - - switch(Closure->querySize) - { case 0: activate_toggle_button(GTK_TOGGLE_BUTTON(radio1), TRUE); break; - case 1: activate_toggle_button(GTK_TOGGLE_BUTTON(radio2), TRUE); break; - case 2: activate_toggle_button(GTK_TOGGLE_BUTTON(radio3), TRUE); break; - } - - if(!i) - { pc->radioDriveA = radio1; - pc->radioISOA = radio2; - pc->radioECCA = radio3; - gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); - } - else - { pc->radioDriveB = radio1; - pc->radioISOB = radio2; - pc->radioECCB = radio3; - AddHelpWidget(lwoh, hbox); - } - } - - AddHelpParagraph(lwoh, - _("Image size determination\n\n" - "Use ECC/RS02 for reading images augmented with error correction data; " - "else pick ISO/UDF.\n\n" - - "ECC/RS02: The Image size is determined from the error correction data. " - "Reading RS02 augmented images requires this option; otherwise the images " - "may be incomplete. However if the medium does not contain error correction " - "data, the start of the reading operation may be delayed significantly.\n\n" - - "ISO/UDF: The image size is determined from the ISO/UDF file system.\n" - "Caution: This is only suitable for working with error correction files. " - "Images containing RS02 error correction information may be truncated.\n\n" - - "Drive: The image size reported by the drive will be used. " - "As this information is typically wrong for DVD-RW/+RW/-RAM media this option " - "is only present for backwards compatibility with older dvdisaster versions.")); - /** Reading preferences */ frame = gtk_frame_new(_utf("Image creation")); @@ -1630,6 +1535,93 @@ void CreatePreferencesWindow(void) "prevent sectors from being read which are required for a succesful error correction.\n\n" "These settings are only effective for the current session and will not be saved.")); + /*** Image recognization */ + + frame = gtk_frame_new(_utf("Error correction data recognization")); + gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); + + vbox2 = gtk_vbox_new(FALSE, 15); + gtk_container_set_border_width(GTK_CONTAINER(vbox2), 10); + gtk_container_add(GTK_CONTAINER(frame), vbox2); + + /* RS02 */ + + lwoh = CreateLabelWithOnlineHelp(_("Exhaustive RS02 header search"), _("Perform exhaustive search for RS02 headers")); + RegisterPreferencesHelpWindow(lwoh); + + for(i=0; i<2; i++) + { GtkWidget *hbox = gtk_hbox_new(FALSE, 0); + GtkWidget *button = gtk_check_button_new(); + + gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), i ? lwoh->normalLabel : lwoh->linkBox, FALSE, FALSE, 0); + + if(!i) pc->recogRS02A = button; + else pc->recogRS02B = button; + + activate_toggle_button(GTK_TOGGLE_BUTTON(button), Closure->examineRS02); + g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(toggle_cb), GINT_TO_POINTER(TOGGLE_RECOG_RS02)); + if(!i) gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); + else AddHelpWidget(lwoh, hbox); + } + + AddHelpParagraph(lwoh, + _("Exhaustive RS02 header search\n\n" + "When this setting is off only a quick check " + "for RS02 data is performed. If the medium or " + "image is damaged, the quick test may not suffice " + "to identify the image as being augmented with RS02.\n\n" + "Therefore you should turn this option on " + "if a medium/image contains RS02 data, but is not " + "being recognized as such. Searching for the RS02 " + "information may cause a significant delay at the " + "start of reading and scanning processes.\n\n" + "Leave this option off when you are " + "processing media or images which are not augmented " + "with RS02 data. Otherwise you will waste a lot of " + "time searching for the RS02 signatures and increase " + "wear on the drive." + )); + + /* RS03 */ + + lwoh = CreateLabelWithOnlineHelp(_("Recover RS03 signatures"), _("Find and recover RS03 signatures")); + RegisterPreferencesHelpWindow(lwoh); + + for(i=0; i<2; i++) + { GtkWidget *hbox = gtk_hbox_new(FALSE, 0); + GtkWidget *button = gtk_check_button_new(); + + gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), i ? lwoh->normalLabel : lwoh->linkBox, FALSE, FALSE, 0); + + if(!i) pc->recogRS03A = button; + else pc->recogRS03B = button; + + activate_toggle_button(GTK_TOGGLE_BUTTON(button), Closure->examineRS03); + g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(toggle_cb), GINT_TO_POINTER(TOGGLE_RECOG_RS03)); + if(!i) gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); + else AddHelpWidget(lwoh, hbox); + } + + AddHelpParagraph(lwoh, + _("Exhaustive RS03 header search\n\n" + "When this setting is off only a quick check " + "for RS03 data is performed. If the medium or " + "image is damaged, the quick test may not suffice " + "to identify the image as being augmented with RS03.\n\n" + "Therefore you should turn this option on " + "if a medium/image contains RS03 data, but is not " + "being recognized as such. Searching for the RS03 " + "information may cause a significant delay at the " + "start of reading and scanning processes.\n\n" + "Leave this option off when you are " + "processing media or images which are not augmented " + "with RS03 data. Otherwise you will waste a lot of " + "time searching for the RS03 signatures and increase " + "wear on the drive." + )); + /** Image properties */ frame = gtk_frame_new(_utf("Image properties")); @@ -1674,9 +1666,8 @@ void CreatePreferencesWindow(void) "(sometimes also called \"SAO / Session at once\") mode for writing single " "session media.")); - /** Image format */ -if(Closure->debugMode) /* hidden until version 0.80 */ -{ /* because of severe compatibility issues */ + /*** Image format */ + frame = gtk_frame_new(_utf("Image format")); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); @@ -1720,8 +1711,8 @@ if(Closure->debugMode) /* hidden until version 0.80 */ "N.b.: dvdisaster >= 0.72 will automatically recognize " "both tag formats when reading images; setting this value " "only affects the creation of new images.")); -} - /* byte filling */ + + /** byte filling */ if(Closure->debugMode) { @@ -1871,7 +1862,7 @@ if(Closure->debugMode) /* hidden until version 0.80 */ else pc->radioRawModeOtherB = radio3; g_signal_connect(G_OBJECT(radio3), "toggled", G_CALLBACK(toggle_cb), GINT_TO_POINTER(TOGGLE_RAW_OTHER)); gtk_box_pack_start(GTK_BOX(hbox), radio3, FALSE, FALSE, 0); - lab = gtk_label_new(_("other:")); + lab = gtk_label_new(_utf("other:")); gtk_container_add(GTK_CONTAINER(radio3), lab); entry = gtk_entry_new(); @@ -2424,8 +2415,11 @@ if(Closure->debugMode) /* hidden until version 0.80 */ for(j=0; jmethodList->len; j++) { Method *method = g_ptr_array_index(Closure->methodList, j); + char *utf; - gtk_combo_box_append_text(GTK_COMBO_BOX(chooser), method->menuEntry); + utf = g_locale_to_utf8(method->menuEntry, -1, NULL, NULL, NULL); + gtk_combo_box_append_text(GTK_COMBO_BOX(chooser), utf); + g_free(utf); if(!strncmp(Closure->methodName, method->name, 4)) method_idx = j; @@ -2447,24 +2441,22 @@ if(Closure->debugMode) /* hidden until version 0.80 */ AddHelpParagraph(lwoh, _("Error correction method\n\n" "dvdisaster creates error correction data which is used to recover " "unreadable sectors if the disc becomes damaged later on. There are " - "two different ways available for storing the error correction " + "different codecs and ways available for storing the error correction " "information:\n")); - AddHelpListItem(lwoh, _("Error correction files (RS01 method)\n" - "Error correction files are the only way of protecting existing media " - "as they can be stored somewhere else. They are kept on a separate " - "medium which must also be protected by dvdisaster, as data loss in " - "an error correction file will render it unusable.\n")); + AddHelpListItem(lwoh, _("The RS01 codec\n" + "RS01 is the recommended codec for storing error correction data in separate files.\n")); + AddHelpListItem(lwoh, _("The RS02 codec\n" + "RS02 is the currently recommended codec for " + "augmenting images with error correction data.\n")); - AddHelpListItem(lwoh, _("Augmented images (RS02 method)\n" - "The error correction data will be stored along with the user data on the " - "same CD/DVD. This requires the creation of an image file prior to writing the " - "medium. The error correction data will be appended to that image. " - "Damaged sectors in the error correction " - "information reduce the data recovery capacity, but do not make recovery " - "impossible - a second medium for keeping or protecting the error correction " - "information is not required.")); + AddHelpListItem(lwoh, _("The RS03 codec (Warning: experimental)\n" + "RS03 can either store error correction data in a separate file " + "or augment the image with it. It provides multithreading " + "to scale with multicore processors and contains some subtle improvements " + "over RS01 and RS02. However it should not be used for productive work " + "unless a stable version is released with dvdisaster V0.80.")); /* sub pages for individual method configuration */ @@ -2536,38 +2528,6 @@ if(Closure->debugMode) /* hidden until version 0.80 */ "When this switch is set, files will be automatically appended with \".iso\" " "or \".ecc\" suffixes if no other file name extension is already present.")); - /* 2GB button */ - - lwoh = CreateLabelWithOnlineHelp(_("File splitting"), _("Split files into segments <= 2GB")); - RegisterPreferencesHelpWindow(lwoh); - - for(i=0; i<2; i++) - { GtkWidget *hbox = gtk_hbox_new(FALSE, 0); - GtkWidget *button = gtk_check_button_new(); - - gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(hbox), i ? lwoh->normalLabel : lwoh->linkBox, FALSE, FALSE, 0); - activate_toggle_button(GTK_TOGGLE_BUTTON(button), Closure->splitFiles); - g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(toggle_cb), GINT_TO_POINTER(TOGGLE_2GB)); - - if(!i) - { pc->splitA = button; - gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); - } - else - { pc->splitB = button; - AddHelpWidget(lwoh, hbox); - } - } - - AddHelpParagraph(lwoh, - _("File splitting\n\n" - "Allows working with file systems which are limited to 2GB per file, e.g. " - "FAT from Windows. Created files are spread over upto 100 segments " - "called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small " - "performance hit.")); - - /*** Automatic file creation and deletion */ frame = gtk_frame_new(_utf("Automatic file creation and deletion")); @@ -2636,6 +2596,45 @@ if(Closure->debugMode) /* hidden until version 0.80 */ "If this switch is set the image file will be deleted following the successful " "generation of the respective error correction file.")); + /*** Deletion confirmation */ + + frame = gtk_frame_new(_utf("Confirm file overwriting")); + gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); + + vbox2 = gtk_vbox_new(FALSE, 15); + gtk_container_set_border_width(GTK_CONTAINER(vbox2), 10); + gtk_container_add(GTK_CONTAINER(frame), vbox2); + + /* automatic creation */ + + lwoh = CreateLabelWithOnlineHelp(_("Confirm file overwriting"), _("Ask before overwriting image and ecc files")); + RegisterPreferencesHelpWindow(lwoh); + + for(i=0; i<2; i++) + { GtkWidget *hbox = gtk_hbox_new(FALSE, 0); + GtkWidget *button = gtk_check_button_new(); + + gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox), i ? lwoh->normalLabel : lwoh->linkBox, FALSE, FALSE, 0); + activate_toggle_button(GTK_TOGGLE_BUTTON(button), Closure->confirmDeletion); + g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(toggle_cb), GINT_TO_POINTER(TOGGLE_CONFIRM_DELETION)); + + if(!i) + { pc->confirmDeletionA = button; + gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); + } + else + { pc->confirmDeletionB = button; + AddHelpWidget(lwoh, hbox); + } + } + + AddHelpParagraph(lwoh, + _("Ask before overwriting image and ecc files\n\n" + "dvdisaster will ask you for confirmation " + "when it is going to overwrite an existing image " + "or error correction file if this option is checked.")); + /*** GUI page */ vbox = create_page(notebook, _utf("Appearance")); diff --git a/print-sense.c b/print-sense.c index 7d51ffe..2931900 100644 --- a/print-sense.c +++ b/print-sense.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/raw-editor.c b/raw-editor.c index 912d86a..7c770f0 100644 --- a/raw-editor.c +++ b/raw-editor.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/raw-sector-cache.c b/raw-sector-cache.c index 0297ed3..a83b4fc 100644 --- a/raw-sector-cache.c +++ b/raw-sector-cache.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/read-adaptive-window.c b/read-adaptive-window.c index a55720f..c14c220 100644 --- a/read-adaptive-window.c +++ b/read-adaptive-window.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/read-adaptive.c b/read-adaptive.c index 73935b6..2fe8825 100644 --- a/read-adaptive.c +++ b/read-adaptive.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -617,10 +617,8 @@ int check_image_fingerprint(read_closure *rc) if(!Closure->guiMode) Stop(_("Image file does not match the CD/DVD.")); else - { int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL, - _("Image file already exists and does not match the CD/DVD.\n" - "The existing image file will be deleted.")); - + { int answer = ConfirmImageDeletion(Closure->imageName); + if(!answer) { rc->earlyTermination = FALSE; SetAdaptiveReadFootline(_("Reading aborted. Please select a different image file."), diff --git a/read-linear-window.c b/read-linear-window.c index f454863..8b37520 100644 --- a/read-linear-window.c +++ b/read-linear-window.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/read-linear.c b/read-linear.c index 3ff6fcf..f93c363 100644 --- a/read-linear.c +++ b/read-linear.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -192,36 +192,6 @@ static void register_reader(read_closure *rc) } } -/* - * If ecc file exists and automatic ecc creation is enabled, - * ask user if we may remove the existing one. - */ - -static void confirm_ecc_file_deletion(read_closure *rc) -{ - if(Closure->readAndCreate && !rc->scanMode) - { gint64 ignore; - - if(LargeStat(Closure->eccName, &ignore)) - { if(Closure->guiMode) - { int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL, - _("Automatic error correction file creation is enabled,\n" - "and \"%s\" already exists.\n" - "Overwrite it?\n"), - Closure->eccName); - - if(!answer) - { SwitchAndSetFootline(Closure->readLinearNotebook, 1, Closure->readLinearFootline, - _("Aborted by user request!"), - Closure->redMarkup); - rc->unreportedError = FALSE; - cleanup((gpointer)rc); - } - } - } - } -} - /* * See if we have ecc data which belongs to the medium */ @@ -370,9 +340,7 @@ reopen_image: if(!Closure->guiMode) Stop(_("Image file does not match the CD/DVD.")); else - { int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL, - _("Image file already exists and does not match the CD/DVD.\n" - "The existing image file will be deleted.")); + { int answer = ConfirmImageDeletion(Closure->imageName); if(!answer) { rc->unreportedError = FALSE; @@ -829,11 +797,6 @@ void ReadMediumLinear(gpointer data) register_reader(rc); - /* If ecc file exists and automatic ecc creation is enabled, - ask user if we may remove the existing one. */ - - confirm_ecc_file_deletion(rc); - /*** Timer setup */ rc->speedTimer = g_timer_new(); diff --git a/read-linear.h b/read-linear.h index 7c65ec8..6cf6c38 100644 --- a/read-linear.h +++ b/read-linear.h @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/recover-raw.c b/recover-raw.c index 5d14f8d..dd0acc4 100644 --- a/recover-raw.c +++ b/recover-raw.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/rs-decoder.c b/rs-decoder.c new file mode 100644 index 0000000..a21ebce --- /dev/null +++ b/rs-decoder.c @@ -0,0 +1,63 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#include "dvdisaster.h" +#include "galois-inlines.h" + +/*** + *** Reed-Solomon decoding (work in progress; incomplete) + ***/ + +/* + * Test and report the error syndrome. + */ + +int TestErrorSyndromes(ReedSolomonTables *rt, unsigned char *data) +{ int syndrome[rt->nroots]; + int syn_error; + int i,j; + + /*** Form the syndromes: Evaluate data(x) at roots of g(x) */ + + for(i=0; inroots; i++) + syndrome[i] = data[0]; + + for(j=1; jnroots; i++) + if(syndrome[i] == 0) + syndrome[i] = data[j]; + + else syndrome[i] = data[j] ^ rt->synLut[(i<<8) + syndrome[i]]; +#if 0 + else syndrome[i] = data[j] ^ gt->alphaTo[mod_fieldmax(gt->indexOf[syndrome[i]] + + (rt->fcr+i)*rt->primElem)]; +#endif + + /*** Check for nonzero condition. */ + + syn_error = 0; + for(i=0; inroots; i++) + syn_error |= syndrome[i]; + + /*** If the syndrome is zero, everything is fine. */ + + return syn_error; +} diff --git a/rs-encoder-sse2.c b/rs-encoder-sse2.c index 20f8ba0..96a12ec 100644 --- a/rs-encoder-sse2.c +++ b/rs-encoder-sse2.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -56,6 +56,44 @@ int ProbeSSE2(void) } } +void encode_next_layer_sse2(ReedSolomonTables *rt, unsigned char *data, unsigned char *parity, guint64 layer_size, int shift) +{ gint32 *gf_index_of = rt->gfTables->indexOf; + gint32 *enc_alpha_to = rt->gfTables->encAlphaTo; + gint32 *rs_gpoly = rt->gpoly; + int nroots = rt->nroots; + int nroots_aligned = (nroots+15)&~15; + int nroots_full = nroots_aligned>>4; + int i,j; + + for(i=0; ibLut[feedback]+offset; + __m128i par, lut, out; + + /* Process lut in 128 bit steps */ + + for(j=nroots_full; j; j--) + { + par = _mm_load_si128((__m128i*)par_idx); + lut = _mm_loadu_si128((__m128i*)e_lut); + out = _mm_xor_si128(par, lut); + _mm_store_si128((__m128i*)par_idx, out); + par_idx += 16; + e_lut += 16; + } + + parity[shift] = enc_alpha_to[feedback + rs_gpoly[0]]; + } + else /* zero feedback term */ + parity[shift] = 0; + + parity += nroots_aligned; + } +} #else /* don't have SSE2 */ /* Stub functions to keep the linker happy. * Should never be executed. @@ -64,5 +102,10 @@ int ProbeSSE2(void) int ProbeSSE2() { return 0; } + +void encode_next_layer_sse2(ReedSolomonTables *rt, unsigned char *data, unsigned char *parity, guint64 layer_size, int shift) +{ + Stop("Mega borkage - EncodeNextLayerSSE2() stub called.\n"); +} #endif /* HAVE_SSE2 */ diff --git a/rs-encoder.c b/rs-encoder.c index 35cf561..9c18980 100644 --- a/rs-encoder.c +++ b/rs-encoder.c @@ -1,11 +1,8 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * - * The Reed-Solomon error correction draws a lot of inspiration - and even code - - * from Phil Karn's excellent Reed-Solomon library: http://www.ka9q.net/code/fec/ - * * 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 2 of the License, or @@ -28,437 +25,95 @@ *** Reed-Solomon encoding ***/ -/* - * Optimized encoder for 32 roots +/* Portable (non-SSE2) version. + * Using 32bit operands seems to be a good choice for the lowest + * common denominator between the non-SSE2 systems. */ -#if 0 -void encode_layer_32(ReedSolomonEncoder *rse, unsigned char *data, unsigned char *par_idx, guint64 layer_size) -{ //unsigned char *par_idx = rse->parity; - gint32 *gf_index_of = rse->gfTables->indexOf; - gint32 *enc_alpha_to = rse->gfTables->encAlphaTo; - int i; +#ifdef HAVE_BIG_ENDIAN + #define SHIFT_LEFT << + #define SHIFT_RIGHT >> +#else + #define SHIFT_LEFT >> + #define SHIFT_RIGHT << +#endif /* HAVE_BIG_ENDIAN */ - for(i=0; ishiftPtr]]; - - if(feedback != GF_ALPHA0) /* non-zero feedback term */ - { register int spk = rse->shiftPtr; - - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 249]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 59]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 66]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 4]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 43]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 126]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 251]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 97]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 30]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 3]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 213]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 50]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 66]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 170]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 5]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 24]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 5]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 170]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 66]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 50]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 213]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 3]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 30]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 97]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 251]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 126]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 43]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 4]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 66]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 59]; - par_idx[((++spk)&31)] ^= enc_alpha_to[feedback + 249]; - - par_idx[rse->shiftPtr] = enc_alpha_to[feedback]; /* feedback + 0 */ - } - else /* zero feedback term */ - par_idx[rse->shiftPtr] = 0; - - par_idx += 32; /* nroots */ - } - - rse->shiftPtr = (rse->shiftPtr+1) & 31; /* shift */ -} - -/* - * Optimized encoder for 64 roots - */ - -void encode_layer_64(ReedSolomonEncoder *rse, unsigned char *data, unsigned char *par_idx, guint64 layer_size) -{ //unsigned char *par_idx = rse->parity; - gint32 *gf_index_of = rse->gfTables->indexOf; - gint32 *enc_alpha_to = rse->gfTables->encAlphaTo; - int i; - - for(i=0; ishiftPtr]]; - - if(feedback != GF_ALPHA0) /* non-zero feedback term */ - { register int spk = rse->shiftPtr; - - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 98]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 247]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 160]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 15]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 96]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 27]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 87]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 175]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 64]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 170]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 53]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 39]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 236]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 39]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 58]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 82]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 44]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 89]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 97]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 182]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 80]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 120]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 40]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 104]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 73]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 73]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 12]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 152]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 205]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 96]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 50]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 21]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 147]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 35]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 241]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 30]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 242]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 145]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 242]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 115]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 148]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 70]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 127]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 71]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 83]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 172]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 224]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 104]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 177]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 0]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 39]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 194]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 50]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 9]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 0]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 208]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 217]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 254]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 165]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 181]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 168]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 97]; - par_idx[((++spk)&63)] ^= enc_alpha_to[feedback + 45]; - - par_idx[rse->shiftPtr] = enc_alpha_to[feedback + 44]; - } - else /* zero feedback term */ - par_idx[rse->shiftPtr] = 0; - - par_idx += 64; /* nroots */ - } - - rse->shiftPtr = (rse->shiftPtr+1) & 63; /* shift */ -} -#endif - -/* - * Encoder for any number roots - */ - -void encode_layer(ReedSolomonTables *rt, unsigned char *data, unsigned char *par_idx, guint64 layer_size, int shift) +static void encode_next_layer_portable(ReedSolomonTables *rt, unsigned char *data, unsigned char *parity, guint64 layer_size, int shift) { gint32 *gf_index_of = rt->gfTables->indexOf; gint32 *enc_alpha_to = rt->gfTables->encAlphaTo; gint32 *rs_gpoly = rt->gpoly; - int nroots = rt->nroots; - int i; + int nroots = rt->nroots; + int nroots_aligned = (nroots+15)&~15; + int nroots_aligned32 = (nroots+3)&~3; + int nroots_full = nroots_aligned32>>2; + int i,j; for(i=0; ibLut[feedback]+(offset&~3))); - switch(nroots-spk) - { - case 110: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 109: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 108: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 107: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 106: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 105: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 104: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 103: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 102: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 101: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 100: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 99: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 98: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 97: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 96: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 95: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 94: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 93: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 92: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 91: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 90: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 89: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 88: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 87: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 86: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 85: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 84: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 83: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 82: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 81: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 80: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 79: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 78: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 77: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 76: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 75: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 74: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 73: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 72: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 71: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 70: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 69: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 68: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 67: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 66: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 65: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 64: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 63: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 62: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 61: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 60: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 59: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 58: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 57: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 56: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 55: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 54: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 53: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 52: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 51: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 50: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 49: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 48: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 47: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 46: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 45: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 44: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 43: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 42: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 41: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 40: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 39: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 38: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 37: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 36: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 35: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 34: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 33: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 32: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 31: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 30: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 29: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 28: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 27: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 26: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 25: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 24: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 23: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 22: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 21: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 20: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 19: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 18: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 17: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 16: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 15: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 14: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 13: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 12: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 11: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 10: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 9: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 8: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 7: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 6: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 5: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 4: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 3: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 2: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 1: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; + /* Process lut in 32 bit steps */ + + switch(byte_offset) + { case 0: + for(j=nroots_full; j; j--) + *par_idx++ ^= *e_lut++; + break; + + case 1: + { for(j=nroots_full; j; j--) + { guint32 span = *e_lut SHIFT_LEFT 8; + e_lut++; + span |= *e_lut SHIFT_RIGHT 24; + *par_idx++ ^= span; + } + } + break; + + case 2: + { for(j=nroots_full; j; j--) + { guint32 span = *e_lut SHIFT_LEFT 16; + e_lut++; + span |= *e_lut SHIFT_RIGHT 16; + *par_idx++ ^= span; + } + } + break; + + case 3: + { for(j=nroots_full; j; j--) + { guint32 span = *e_lut SHIFT_LEFT 24; + e_lut++; + span |= *e_lut SHIFT_RIGHT 8; + *par_idx++ ^= span; + } + } + break; } - spk = 0; - switch(shift) - { - case 110: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 109: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 108: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 107: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 106: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 105: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 104: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 103: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 102: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 101: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 100: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 99: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 98: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 97: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 96: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 95: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 94: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 93: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 92: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 91: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 90: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 89: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 88: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 87: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 86: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 85: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 84: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 83: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 82: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 81: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 80: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 79: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 78: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 77: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 76: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 75: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 74: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 73: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 72: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 71: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 70: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 69: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 68: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 67: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 66: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 65: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 64: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 63: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 62: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 61: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 60: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 59: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 58: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 57: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 56: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 55: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 54: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 53: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 52: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 51: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 50: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 49: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 48: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 47: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 46: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 45: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 44: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 43: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 42: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 41: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 40: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 39: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 38: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 37: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 36: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 35: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 34: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 33: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 32: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 31: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 30: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 29: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 28: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 27: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 26: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 25: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 24: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 23: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 22: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 21: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 20: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 19: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 18: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 17: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 16: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 15: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 14: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 13: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 12: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 11: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 10: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 9: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 8: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 7: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 6: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 5: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 4: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 3: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 2: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - case 1: par_idx[spk++] ^= enc_alpha_to[feedback + *--gpoly]; - } - par_idx[shift] = enc_alpha_to[feedback + rs_gpoly[0]]; + parity[shift] = enc_alpha_to[feedback + rs_gpoly[0]]; } else /* zero feedback term */ - par_idx[shift] = 0; + parity[shift] = 0; - par_idx += nroots; + parity += nroots_aligned; } -#if 0 /* shift now deliverd from external call */ - if(++(shift)>=nroots) shift=0; /* shift */ -#endif } /* - * Wrapper around the optimized encoder routines + * Dispatch upon availability of SSE2 intrinsics */ +void encode_next_layer_sse2(ReedSolomonTables*, unsigned char*, unsigned char*, guint64, int); + void EncodeNextLayer(ReedSolomonTables *rt, unsigned char *data, unsigned char *parity, guint64 layer_size, int shift) { - switch(rt->nroots) - { -#if 0 - case 32: - encode_layer_32(rse, data, parity, layer_size); - break; - - case 64: - encode_layer_64(rse, data, parity, layer_size); - break; -#endif - default: - encode_layer(rt, data, parity, layer_size, shift); - break; - } + if(Closure->useSSE2) + encode_next_layer_sse2(rt, data, parity, layer_size, shift); + else encode_next_layer_portable(rt, data, parity, layer_size, shift); } - - diff --git a/rs01-common.c b/rs01-common.c index c6e11ef..39b7358 100644 --- a/rs01-common.c +++ b/rs01-common.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -26,6 +26,29 @@ #include "rs01-includes.h" +/*** + *** Recognize a RS01 error correction file + ***/ + +int RS01Recognize(Method *self, LargeFile *ecc_file) +{ EccHeader eh; + int n; + + LargeSeek(ecc_file, 0); + n = LargeRead(ecc_file, &eh, sizeof(EccHeader)); + + if(n != sizeof(EccHeader)) + return FALSE; + + if(strncmp((char*)eh.cookie, "*dvdisaster*", 12)) + return FALSE; + + if(!strncmp((char*)eh.method, "RS01", 4)) + return TRUE; + + return FALSE; +} + /*** *** Read an image sector from the .iso file. **** diff --git a/rs01-create.c b/rs01-create.c index a9f071f..6cd151b 100644 --- a/rs01-create.c +++ b/rs01-create.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -216,10 +216,23 @@ void RS01Create(Method *self) /*** Test the image file and create the CRC sums */ - /* Explicitly unlinking the ecc file removes superflous segments - in FAT mode if the ecc file already existed. */ + /* Get rid of old ecc file (if any exists) */ + + if(LargeStat(Closure->eccName, &n)) + { + if(ConfirmEccDeletion(Closure->eccName)) + LargeUnlink(Closure->eccName); + else + { SetLabelText(GTK_LABEL(ec->wl->encFootline), + _("Aborted to keep existing ecc file."), + Closure->redMarkup); + ec->earlyTermination = FALSE; + goto terminate; + } + } + + /* Open new ecc file */ - LargeUnlink(Closure->eccName); ei = ec->ei = OpenEccFile(WRITEABLE_ECC); ii = ec->ii = OpenImageFile(NULL, READABLE_IMAGE); @@ -336,7 +349,7 @@ void RS01Create(Method *self) version 0.40.7 due to a bug in the version processing code. So ecc files tagged with -devel or -rc status will not work with prior versions. But they are experimental version available only through CVS, - so this issue is not a big as it appears. + so this issue is not as big as it appears. - Version 0.66 records the inLast value in the ecc file to facilitate processing non-image files. Previous versions do not use this field and may round up file length to the next multiple of 2048 when doing @@ -970,8 +983,7 @@ void RS01Create(Method *self) SetLabelText(GTK_LABEL(wl->encFootline), _("The error correction file has been successfully created.\n" - "Make sure to keep this file on a reliable medium."), - Closure->eccName); + "Make sure to keep this file on a reliable medium.")); } /*** If the --unlink option or respective GUI switch is set, diff --git a/rs01-fix.c b/rs01-fix.c index d35a115..8f819f0 100644 --- a/rs01-fix.c +++ b/rs01-fix.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/rs01-includes.h b/rs01-includes.h index 33a20dd..692c8d3 100644 --- a/rs01-includes.h +++ b/rs01-includes.h @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -124,6 +124,7 @@ void CreateRS01VerifyWindow(Method*, GtkWidget*); void RS01ReadSector(ImageInfo*, EccHeader*, unsigned char*, gint64); void RS01ScanImage(Method*, ImageInfo*, EccInfo*, int); +int RS01Recognize(Method*, LargeFile*); /* rs01-create.c */ diff --git a/rs01-verify.c b/rs01-verify.c index f937515..54d8e90 100644 --- a/rs01-verify.c +++ b/rs01-verify.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -423,7 +423,8 @@ void RS01Verify(Method *self) ii->sectors-1, ii->inLast); } - RS01ScanImage(self, ii, ei, PRINT_MODE); + if(!Closure->quickVerify) + RS01ScanImage(self, ii, ei, PRINT_MODE); if(Closure->stopActions) { SetLabelText(GTK_LABEL(wl->cmpImageResult), @@ -474,6 +475,9 @@ void RS01Verify(Method *self) Closure->redMarkup); } } + else if(Closure->quickVerify) + { PrintLog(_("* quick mode : image NOT scanned\n")); + } else { if(!ii->sectorsMissing) { @@ -702,23 +706,25 @@ void RS01Verify(Method *self) /*** Verify md5sums against image and map (if present) */ - AsciiDigest(edigest, eh->mediumSum); - if(ii && !ii->sectorsMissing && !excess_sectors) - { n = !memcmp(eh->mediumSum, ii->mediumSum, 16); - if(n) PrintLog(_("- image md5sum : %s (good)\n"),edigest); - else PrintLog(_("* image md5sum : %s (BAD)\n"),edigest); - if(Closure->guiMode) - { if(n) SetLabelText(GTK_LABEL(wl->cmpEccImgMd5Sum), "%s", edigest); - else - { SetLabelText(GTK_LABEL(wl->cmpEccImgMd5Sum), "%s", Closure->redMarkup, edigest); - SetLabelText(GTK_LABEL(wl->cmpImageMd5Sum), "%s", Closure->redMarkup, idigest); + if(!Closure->quickVerify) + { AsciiDigest(edigest, eh->mediumSum); + if(ii && !ii->sectorsMissing && !excess_sectors) + { n = !memcmp(eh->mediumSum, ii->mediumSum, 16); + if(n) PrintLog(_("- image md5sum : %s (good)\n"),edigest); + else PrintLog(_("* image md5sum : %s (BAD)\n"),edigest); + if(Closure->guiMode) + { if(n) SetLabelText(GTK_LABEL(wl->cmpEccImgMd5Sum), "%s", edigest); + else + { SetLabelText(GTK_LABEL(wl->cmpEccImgMd5Sum), "%s", Closure->redMarkup, edigest); + SetLabelText(GTK_LABEL(wl->cmpImageMd5Sum), "%s", Closure->redMarkup, idigest); + } } } - } - else - { PrintLog(_("- image md5sum : %s\n"),edigest); - if(Closure->guiMode) - SetLabelText(GTK_LABEL(wl->cmpEccImgMd5Sum), "%s", edigest); + else + { PrintLog(_("- image md5sum : %s\n"),edigest); + if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpEccImgMd5Sum), "%s", edigest); + } } if(ii) @@ -745,20 +751,25 @@ void RS01Verify(Method *self) } } + if(Closure->quickVerify) /* terminate early */ + { PrintLog(_("* quick mode : ecc file NOT scanned\n")); + goto terminate; + } + ecc_expected = 2048*((eh_sectors+eh->dataBytes-1)/eh->dataBytes); ecc_blocks = (ecc_file_size-eh_sectors*sizeof(guint32)-sizeof(EccHeader))/eh->eccBytes; if(ecc_expected == ecc_blocks) { PrintLog(_("- ecc blocks : %lld (good)\n"),ecc_blocks); if(Closure->guiMode) - SetLabelText(GTK_LABEL(wl->cmpEccBlocks), "%lld", ecc_blocks); + SetLabelText(GTK_LABEL(wl->cmpEccBlocks), "%lld", ecc_blocks); } else { PrintLog(_("* ecc blocks : %lld (BAD, expected %lld)\n"),ecc_blocks,ecc_expected); if(Closure->guiMode) SetLabelText(GTK_LABEL(wl->cmpEccBlocks), _("%lld (bad, expected %lld)"),Closure->redMarkup,ecc_blocks,ecc_expected); } - + /*** Test ecc file against its own md5sum */ MD5Init(&md5ctxt); diff --git a/rs01-window.c b/rs01-window.c index 0f4e27c..53e4301 100644 --- a/rs01-window.c +++ b/rs01-window.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -29,7 +29,20 @@ static void redraw_curve(RS01Widgets*); static void update_geometry(RS01Widgets*); + +/* Protected widget access */ +static void activate_toggle_button(GtkToggleButton *toggle, int state) +{ if(toggle) gtk_toggle_button_set_active(toggle, state); +} + +static void set_range_value(GtkRange *range, int value) +{ if(range) gtk_range_set_value(range, value); +} + +static void set_spin_button_value(GtkSpinButton *spin, int value) +{ if(spin) gtk_spin_button_set_value(spin, value); +} /*** *** Encoding window @@ -413,9 +426,13 @@ enum PREF_ECC_SIZE = 2 }; +#ifdef HAVE_32BIT +static int cache_size[] = { 8, 16, 32, 64, 96, 128, 192, 256, 384, 512, 768, + 1024, 1536 }; +#else static int cache_size[] = { 8, 16, 32, 64, 96, 128, 192, 256, 384, 512, 768, 1024, 1536, 2048, 2560, 3072, 4096, 5120, 6144, 7168, 8192 }; -// 11264, 15360, 23552, 31744, 48128, 64512 }; +#endif static gchar* format_cb(GtkScale *scale, gdouble value, gpointer data) { int nroots = value; @@ -463,8 +480,10 @@ static void nroots_cb(GtkWidget *widget, gpointer data) Closure->redundancy = g_strdup_printf("%d", value); if(widget == wl->redundancyScaleA) - gtk_range_set_value(GTK_RANGE(wl->redundancyScaleB), value); - else gtk_range_set_value(GTK_RANGE(wl->redundancyScaleA), value); + set_range_value(GTK_RANGE(wl->redundancyScaleB), value); + else set_range_value(GTK_RANGE(wl->redundancyScaleA), value); + + UpdateMethodPreferences(); } static void ecc_size_cb(GtkWidget *widget, gpointer data) @@ -479,13 +498,14 @@ static void ecc_size_cb(GtkWidget *widget, gpointer data) gtk_spin_button_set_value(GTK_SPIN_BUTTON(wl->redundancySpinB), atoi(Closure->redundancy)); else gtk_spin_button_set_value(GTK_SPIN_BUTTON(wl->redundancySpinA), atoi(Closure->redundancy)); + UpdateMethodPreferences(); } static void toggle_cb(GtkWidget *widget, gpointer data) { Method *method = (Method*)data; RS01Widgets *wl = (RS01Widgets*)method->widgetList; int state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); - + if(state == TRUE) { if(widget == wl->radio3A || widget == wl->radio3B) { gtk_widget_set_sensitive(wl->redundancyScaleA, TRUE); @@ -512,8 +532,8 @@ static void toggle_cb(GtkWidget *widget, gpointer data) if( widget == wl->radio1A /* Normal */ || widget == wl->radio1B) { - gtk_range_set_value(GTK_RANGE(wl->redundancyScaleA), 32); - gtk_range_set_value(GTK_RANGE(wl->redundancyScaleB), 32); + set_range_value(GTK_RANGE(wl->redundancyScaleA), 32); + set_range_value(GTK_RANGE(wl->redundancyScaleB), 32); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio1A), TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio1B), TRUE); @@ -525,8 +545,8 @@ static void toggle_cb(GtkWidget *widget, gpointer data) if( widget == wl->radio2A /* High */ || widget == wl->radio2B) { - gtk_range_set_value(GTK_RANGE(wl->redundancyScaleA), 64); - gtk_range_set_value(GTK_RANGE(wl->redundancyScaleB), 64); + set_range_value(GTK_RANGE(wl->redundancyScaleA), 64); + set_range_value(GTK_RANGE(wl->redundancyScaleB), 64); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio2A), TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio2B), TRUE); @@ -556,6 +576,8 @@ static void toggle_cb(GtkWidget *widget, gpointer data) if(Closure->redundancy) g_free(Closure->redundancy); Closure->redundancy = g_strdup_printf("%dm", space); } + + UpdateMethodPreferences(); } } @@ -563,12 +585,72 @@ void ResetRS01PrefsPage(Method *method) { RS01Widgets *wl = (RS01Widgets*)method->widgetList; int index; + /* Redundancy selection */ + + if(Closure->redundancy) + { + if(!strcmp(Closure->redundancy, "normal")) + { if(wl->radio1A && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wl->radio1A)) == FALSE) + { activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio1A), TRUE); + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio1B), TRUE); + } + } + else if(!strcmp(Closure->redundancy, "high")) + { if(wl->radio2A && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wl->radio2A)) == FALSE) + { activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio2A), TRUE); + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio2B), TRUE); + } + } + else + { int last = strlen(Closure->redundancy)-1; + + if(Closure->redundancy[last] == 'm') + { if(wl->redundancySpinA) + { int old = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(wl->redundancySpinA)); + int new; + + Closure->redundancy[last] = 0; + new = atoi(Closure->redundancy); + Closure->redundancy[last] = 'm'; + + if(new != old) + { set_spin_button_value(GTK_SPIN_BUTTON(wl->redundancySpinA), new); + set_spin_button_value(GTK_SPIN_BUTTON(wl->redundancySpinB), new); + } + + if(wl->radio4A && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wl->radio4A)) == FALSE) + { activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio4A), TRUE); + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio4B), TRUE); + } + } + } + else + { if(wl->redundancyScaleA) + { int old = gtk_range_get_value(GTK_RANGE(wl->redundancyScaleA)); + int new = atoi(Closure->redundancy); + + if(new != old) + { set_range_value(GTK_RANGE(wl->redundancyScaleA), new); + set_range_value(GTK_RANGE(wl->redundancyScaleB), new); + } + + if(wl->radio3A && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wl->radio3A)) == FALSE) + { activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio3A), TRUE); + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio3B), TRUE); + } + } + } + } + } + + /* Memory caching */ + for(index = 0; index < sizeof(cache_size)/sizeof(int); index++) if(cache_size[index] > Closure->cacheMB) break; - gtk_range_set_value(GTK_RANGE(wl->cacheScaleA), index > 0 ? index-1 : index); - gtk_range_set_value(GTK_RANGE(wl->cacheScaleB), index > 0 ? index-1 : index); + set_range_value(GTK_RANGE(wl->cacheScaleA), index > 0 ? index-1 : index); + set_range_value(GTK_RANGE(wl->cacheScaleB), index > 0 ? index-1 : index); } void CreateRS01PrefsPage(Method *method, GtkWidget *parent) @@ -763,6 +845,7 @@ void CreateRS01PrefsPage(Method *method, GtkWidget *parent) { Closure->redundancy[last] = 0; gtk_spin_button_set_value(GTK_SPIN_BUTTON(wl->redundancySpinA), atoi(Closure->redundancy)); gtk_spin_button_set_value(GTK_SPIN_BUTTON(wl->redundancySpinB), atoi(Closure->redundancy)); + Closure->redundancy[last] = 'm'; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio4A), TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio4B), TRUE); } diff --git a/rs02-common.c b/rs02-common.c index a4e3ff4..b58c502 100644 --- a/rs02-common.c +++ b/rs02-common.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/rs02-create.c b/rs02-create.c index 993f5d1..9ba6ae4 100644 --- a/rs02-create.c +++ b/rs02-create.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -125,12 +125,16 @@ static void abort_encoding(ecc_closure *ec, int truncate) static void remove_old_ecc(ecc_closure *ec) { EccHeader *old_eh; + LargeFile *tmp; - old_eh = FindHeaderInImage(Closure->imageName); + tmp = LargeOpen(Closure->imageName, O_RDWR, IMG_PERMS); + if(!tmp) + return; /* no image file at all */ + + old_eh = FindRS02HeaderInImage(tmp); if(old_eh) { gint64 data_sectors = uchar_to_gint64(old_eh->sectors); - LargeFile *tmp; int answer; g_free(old_eh); @@ -143,11 +147,11 @@ static void remove_old_ecc(ecc_closure *ec) if(!answer) abort_encoding(ec, FALSE); - tmp = LargeOpen(Closure->imageName, O_RDWR, IMG_PERMS); if(!tmp || !LargeTruncate(tmp, (gint64)(2048*data_sectors))) Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno)); - LargeClose(tmp); } + + LargeClose(tmp); } /* @@ -1062,8 +1066,7 @@ void RS02Create(Method *method) Stop(_("Not enough space on medium left for error correction data.\n" "Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" "If reducing the image size or using a larger medium is\n" - "not an option, please create a separate error correction\n" - "file using the RS01 method.\n"), + "not an option, please create a separate error correction file."), lay->dataSectors, lay->mediumCapacity); if(lay->redundancy < 20) diff --git a/rs02-fix.c b/rs02-fix.c index 07128fc..e1bb1c9 100644 --- a/rs02-fix.c +++ b/rs02-fix.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -751,7 +751,7 @@ void RS02Fix(Method *self) Stop(_("Failed seeking to sector %lld in image [%s]: %s"), sec, "FW", strerror(errno)); - if(sec < lay->dataSectors-1) length = 2048; + if(sec < lay->dataSectors-1) length = 2048; //FIXME: sec != ... else length = ii->inLast; /* error: use inLast calculated from eh->sectors */ n = LargeWrite(ii->file, cache_offset+fc->imgBlock[i], length); diff --git a/rs02-includes.h b/rs02-includes.h index 70799d1..c655799 100644 --- a/rs02-includes.h +++ b/rs02-includes.h @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -158,6 +158,11 @@ void RS02Create(Method*); void RS02Fix(Method*); +/* rs02-recognize.c */ + +EccHeader* FindRS02HeaderInImage(LargeFile*); +int RS02Recognize(Method*, LargeFile*); + /* rs02-window.c */ void RS02AddFixValues(RS02Widgets*, int, int); diff --git a/rs02-recognize.c b/rs02-recognize.c new file mode 100644 index 0000000..8292e6e --- /dev/null +++ b/rs02-recognize.c @@ -0,0 +1,175 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#include "dvdisaster.h" + +#include "rs02-includes.h" + +/*** + *** Recognize RS02 error correction data in the image + ***/ + +/* + * Search for ecc headers in RS02 style image files. + * Note that udf.c has a similar function FindHeaderInMedium(). + */ + +static int read_fingerprint(LargeFile *file, unsigned char *fingerprint, gint64 sector) +{ struct MD5Context md5ctxt; + unsigned char buf[2048]; + int n; + + if(!LargeSeek(file, 2048LL*sector)) + return FALSE; + + n = LargeRead(file, buf, 2048); + + if(n != 2048) return FALSE; + + if(CheckForMissingSector(buf, sector, NULL, 0) != SECTOR_PRESENT) + return FALSE; + + MD5Init(&md5ctxt); + MD5Update(&md5ctxt, buf, 2048); + MD5Final(fingerprint, &md5ctxt); + + return TRUE; +} + +EccHeader* FindRS02HeaderInImage(LargeFile *file) +{ EccHeader *eh = NULL; + unsigned char buf[4096]; + gint64 sectors,pos; + gint64 header_modulo; + gint64 last_fp = -1; + unsigned char fingerprint[16]; + + header_modulo = (gint64)1<<62; + sectors = file->size / 2048; + + /*** Search for the headers */ + + while(header_modulo >= 32) + { pos = sectors & ~(header_modulo - 1); + +//printf("Trying modulo %lld\n", header_modulo); + + while(pos > 0) + { if(LargeSeek(file, 2048*pos)) + { int n; + +//printf(" trying sector %lld\n", pos); + n = LargeRead(file, buf, sizeof(EccHeader)); + + if(n != sizeof(EccHeader)) + goto check_next_header; + + eh = (EccHeader*)buf; + + /* Medium read error in ecc header? */ + + if( (CheckForMissingSector(buf, pos, NULL, 0) != SECTOR_PRESENT) + || (CheckForMissingSector(buf+2048, pos+1, NULL, 0) != SECTOR_PRESENT)) + { +//printf(" header at %lld: read error\n", (long long int)pos); + goto check_next_header; + } + + /* See if the magic cookie is there */ + + if( !strncmp((char*)eh->cookie, "*dvdisaster*", 12) + && !strncmp((char*)eh->method, "RS02", 4)) + { guint32 recorded_crc = eh->selfCRC; + guint32 real_crc; + +//printf(" header at %lld: magic cookie found\n", (long long int)pos); + +#ifdef HAVE_BIG_ENDIAN + eh->selfCRC = 0x47504c00; +#else + eh->selfCRC = 0x4c5047; +#endif + real_crc = Crc32((unsigned char*)eh, sizeof(EccHeader)); + + if(real_crc == recorded_crc) + { eh = g_malloc(sizeof(EccHeader)); + memcpy(eh, buf, sizeof(EccHeader)); +#ifdef HAVE_BIG_ENDIAN + SwapEccHeaderBytes(eh); +#endif + eh->selfCRC = recorded_crc; +//printf(" --> CRC okay, using it\n"); + + if(last_fp != eh->fpSector) + { int status; + + status = read_fingerprint(file, fingerprint, eh->fpSector); + last_fp = eh->fpSector; + + if(!status) /* be optimistic if fingerprint sector is unreadable */ + { return eh; + } + } + + if(!memcmp(fingerprint, eh->mediumFP, 16)) /* good fingerprint */ + { return eh; + } + + /* might be a header from a larger previous session. + discard it and continue */ + + g_free(eh); + } +//printf(" CRC failed, skipping it\n"); + goto check_next_header; + } + else + { +//printf(" no cookie, skipping current modulo\n"); + goto check_next_modulo; + } + } + + check_next_header: + pos -= header_modulo; + } + + check_next_modulo: + header_modulo >>= 1; + } + + return NULL; +} + + + +int RS02Recognize(Method *self, LargeFile *ecc_file) +{ EccHeader *eh; + + eh = FindRS02HeaderInImage(ecc_file); + + if(!eh) return FALSE; + + if(self->lastEh) g_free(self->lastEh); + self->lastEh = eh; + + return TRUE; +} diff --git a/rs02-verify.c b/rs02-verify.c index f265405..2abb3ba 100644 --- a/rs02-verify.c +++ b/rs02-verify.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -551,9 +551,14 @@ void RS02Verify(Method *self) int last_percent = 0; unsigned char buf[2048]; gint64 first_missing, last_missing; - gint64 total_missing,data_missing,crc_missing,ecc_missing,hdr_missing; - gint64 new_missing = 0, new_crc_errors = 0; - gint64 data_crc_errors,hdr_crc_errors; + gint64 total_missing = 0; + gint64 data_missing = 0; + gint64 crc_missing = 0; + gint64 ecc_missing = 0; + gint64 new_missing = 0; + gint64 new_crc_errors = 0; + gint64 data_crc_errors = 0; + gint64 hdr_missing, hdr_crc_errors; gint64 hdr_ok,hdr_pos,hdr_correctable; gint64 ecc_sector,expected_sectors; int ecc_md5_failure = FALSE; @@ -674,6 +679,13 @@ void RS02Verify(Method *self) } } + /* take shortcut in quick mode */ + + if(Closure->quickVerify) + { PrintLog(_("* quick mode : image NOT scanned\n")); + goto continue_with_ecc; + } + /*** Read the CRC portion */ read_crc(cc, lay); @@ -689,8 +701,6 @@ void RS02Verify(Method *self) MD5Init(&meta_md5); first_missing = last_missing = -1; - total_missing = data_missing = crc_missing = ecc_missing = 0; - data_crc_errors = 0; crc_idx = 0; ecc_sector = 0; @@ -890,7 +900,7 @@ void RS02Verify(Method *self) } /*** Print some information on the ecc portion */ - +continue_with_ecc: PrintLog(_("\nError correction data: ")); major = eh->creatorVersion/10000; @@ -1005,6 +1015,9 @@ void RS02Verify(Method *self) } } + if(Closure->quickVerify) /* take shortcut again */ + goto terminate; + /* image md5sum as stored in the ecc header */ AsciiDigest(hdr_digest, eh->mediumSum); diff --git a/rs02-window.c b/rs02-window.c index b67f02f..78059f6 100644 --- a/rs02-window.c +++ b/rs02-window.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -357,9 +357,13 @@ enum PREF_ECC_SIZE = 2 }; +#ifdef HAVE_32BIT +static int cache_size[] = { 8, 16, 32, 64, 96, 128, 192, 256, 384, 512, 768, + 1024, 1536 }; +#else static int cache_size[] = { 8, 16, 32, 64, 96, 128, 192, 256, 384, 512, 768, 1024, 1536, 2048, 2560, 3072, 4096, 5120, 6144, 7168, 8192 }; -// 11264, 15360, 23552, 31744, 48128, 64512 }; +#endif static gchar* format_cb(GtkScale *scale, gdouble value, gpointer data) { int nroots = value; @@ -649,9 +653,11 @@ void ResetRS02PrefsPage(Method *method) for(index = 0; index < sizeof(cache_size)/sizeof(int); index++) if(cache_size[index] > Closure->cacheMB) break; - - gtk_range_set_value(GTK_RANGE(wl->cacheScaleA), index > 0 ? index-1 : index); - gtk_range_set_value(GTK_RANGE(wl->cacheScaleB), index > 0 ? index-1 : index); + + if(wl->cacheScaleA) + gtk_range_set_value(GTK_RANGE(wl->cacheScaleA), index > 0 ? index-1 : index); + if(wl->cacheScaleB) + gtk_range_set_value(GTK_RANGE(wl->cacheScaleB), index > 0 ? index-1 : index); } /* diff --git a/rs03-common.c b/rs03-common.c new file mode 100644 index 0000000..5b821a4 --- /dev/null +++ b/rs03-common.c @@ -0,0 +1,357 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#include "dvdisaster.h" + +#include "rs03-includes.h" + + +/*** + *** Read one or more image sectors from the .iso file. + ***/ + +void RS03ReadSectors(LargeFile *file, RS03Layout *lay, unsigned char *buf, + gint64 layer, gint64 layer_sector, gint64 how_many, int flags) +{ gint64 start_sector=0; + gint64 stop_sector=0; + gint64 byte_size = how_many * 2048; + gint64 n; + + if(layer < 0 || layer > 255) + Stop("RS03ReadSectors: layer %lld out of range 0 .. 255\n", layer); + if(layer_sector < 0 || layer_sector >= lay->sectorsPerLayer) + Stop("RS03ReadSectors: offset %lld out of range 0 .. %lld)\n", + layer_sector, lay->sectorsPerLayer-1); + + /* Read out of the data layer */ + + if(layer < lay->ndata-1) + { if(!(flags & RS03_READ_DATA)) + Stop("RS03ReadSectors: trying to read data layer, but flag not set\n"); + + start_sector = layer*lay->sectorsPerLayer + layer_sector; + stop_sector = start_sector + how_many - 1; + + if(stop_sector >= (layer+1)*lay->sectorsPerLayer) + Stop("RS03ReadSectors: range %lld..%lld crosses layer boundary\n", + start_sector, stop_sector); + + /* Padding sectors are virtual in ecc file case. + Create them in memory; shorten read range accordingly */ + + if(lay->target == ECC_FILE) + { unsigned char *bufptr = buf; + + for(n=start_sector; n<=stop_sector; n++) + { + if(n>=lay->dataSectors) + { CreatePaddingSector(bufptr, n, lay->eh->mediumFP, FINGERPRINT_SECTOR); + byte_size -= 2048; + } + bufptr += 2048; + } + } + } + + /* Read out of the crc layer */ + + if(layer == lay->ndata-1) + { if(!(flags & RS03_READ_CRC)) + Stop("RS03ReadSectors: trying to read crc layer, but flag not set\n"); + + start_sector = lay->firstCrcPos + layer_sector; + stop_sector = start_sector + how_many - 1; + } + + /*** Read out of the ecc layers */ + + if(layer >= lay->ndata) + { if(!(flags & RS03_READ_ECC)) + Stop("RS03ReadSectors: trying to read ecc layer, but flag not set\n"); + + start_sector = lay->firstEccPos + (layer-lay->ndata)*lay->sectorsPerLayer + layer_sector; + stop_sector = start_sector + how_many - 1; + } + + /* All sectors are consecutively readable in image case */ + + if(!LargeSeek(file, (gint64)(2048*start_sector))) + Stop(_("Failed seeking to sector %lld in image: %s"), + start_sector, strerror(errno)); + + n = LargeRead(file, buf, byte_size); + if(n != byte_size) + Stop(_("Failed reading sector %lld in image: %s"), + start_sector, strerror(errno)); +} + +/*** + *** Calculate position of n-th sector of the given layer in the image. + ***/ + +gint64 RS03SectorIndex(RS03Layout *lay, gint64 layer, gint64 n) +{ + if(lay->target == ECC_IMAGE) + return layer*lay->sectorsPerLayer+n; + + /* Image portion in ecc file case */ + + if(layer < lay->ndata-1) + return layer*lay->sectorsPerLayer+n; + + /* Layers located in the ecc file */ + + if(layer == lay->ndata-1) /* CRC layer */ + return lay->firstCrcPos + n; + + /* Ecc layers */ + + return lay->firstEccPos + (layer-lay->ndata)*lay->sectorsPerLayer + n; +} + + +/*** + *** Calculation of the image layout + ***/ + +static int get_roots(gint64 data_sectors, gint64 medium_capacity) +{ gint64 sectors_per_layer = medium_capacity/GF_FIELDMAX; + int ndata = (data_sectors + 2 +sectors_per_layer - 1) / sectors_per_layer; + + return GF_FIELDMAX - ndata - 1; +} + +static gint64 ecc_file_size(gint64 sectors, int nr) +{ int nd = GF_FIELDMAX - nr; + gint64 bytesize; + + bytesize = 4096 + 2048*(nr+1)*((sectors+nd-1)/nd); + + return (bytesize+0xfffff)/0x100000; /* size in MB */ +} + + +RS03Layout *CalcRS03Layout(gint64 data_sectors, EccHeader *eh, int target) +{ RS03Layout *lay = g_malloc0(sizeof(RS03Layout)); + + lay->eh = eh; + lay->target = target; + + /* We are going to create an error correction file */ + + if(target == ECC_FILE) + { gint64 filesize; + int n_roots = 0; + char last = 0; + + if(eh) /* Header given; get number of roots from there */ + { n_roots = eh->eccBytes; + lay->dataSectors = uchar_to_gint64(eh->sectors); + lay->inLast = eh->inLast; + } + else /* Calculate number of roots */ + { + /* Calculate image size in sectors */ + + if(!LargeStat(Closure->imageName, &filesize)) + Stop(_("Image file %s not present."),Closure->imageName); + + CalcSectors(filesize, (gint64*)&lay->dataSectors, &lay->inLast); + + /* Calculate wanted redundancy from Closure->redundancy */ + + if(Closure->redundancy) /* get last char of redundancy parameter */ + { int len = strlen(Closure->redundancy); + + if(len) last = Closure->redundancy[len-1]; + } + + switch(last) + { case '%': + { double p = atof(Closure->redundancy); + + if(p<3.2 || p>200.0) + Stop(_("Redundancy %4.1f%% out of useful range [3.2%%..200%%]"),p); + n_roots = (int)round((GF_FIELDMAX*p) / (100.0+p)); + break; + } + case 'm': + { gint64 ecc_size; + + ecc_size = strtoll(Closure->redundancy, NULL, 10); + if( ecc_size < ecc_file_size(lay->dataSectors, 8) + || ecc_size > ecc_file_size(lay->dataSectors, 170)) + Stop(_("Ecc file size %lldm out of useful range [%lld .. %lld]"), + ecc_size, + ecc_file_size(lay->dataSectors, 8), + ecc_file_size(lay->dataSectors, 170)); + + for(n_roots=170; n_roots>8; n_roots--) + if(ecc_size >= ecc_file_size(lay->dataSectors, n_roots)) + break; + break; + } + + default: + if(!Closure->redundancy || !strcmp(Closure->redundancy, "normal")) n_roots = 32; + else if(!strcmp(Closure->redundancy, "high")) n_roots = 64; + else n_roots = atoi(Closure->redundancy); + break; + } + } + + if(n_roots < 8 || n_roots > 170) + Stop(_("Redundancy %d out of useful range [8..170]."),n_roots); + + /* Now we have settled for the number of roots, + so calculate the layout. */ + + lay->dataPadding = 0; /* always zero for ecc files */ + lay->nroots = n_roots; + lay->ndata = GF_FIELDMAX - n_roots; + + lay->sectorsPerLayer = (lay->dataSectors + lay->ndata - 2)/(lay->ndata-1); + lay->totalSectors = 2 + (lay->nroots+1)*lay->sectorsPerLayer; + + lay->mediumCapacity = 0; /* unused for ecc files */ + lay->eccHeaderPos = 0; + lay->firstCrcPos = 2; + lay->firstEccPos = lay->firstCrcPos + lay->sectorsPerLayer; + lay->redundancy = ((double)lay->nroots*100.0)/(double)lay->ndata; + } + + /* We are going to augment an image file */ + + if(target == ECC_IMAGE) + { + /* Determine smallest possible medium format which + can hold the image plus at least 8 roots for ecc. + Overriding the medium size via --debug is not recommended + as it may render the image irrecoverable in the error case. */ + + if(!eh) + { + if(Closure->debugMode && Closure->mediumSize) + lay->mediumCapacity = Closure->mediumSize; + else + { if(get_roots(data_sectors, CDR_SIZE) >= 8) + lay->mediumCapacity = CDR_SIZE; /* CDR */ + else if(get_roots(data_sectors, DVD_SL_SIZE) >= 8) + lay->mediumCapacity = DVD_SL_SIZE; /* Single layered DVD */ + else if(get_roots(data_sectors, DVD_DL_SIZE) >= 8) + lay->mediumCapacity = DVD_DL_SIZE; /* Double layered DVD */ + else if(get_roots(data_sectors, BD_SL_SIZE) >= 8) + lay->mediumCapacity = BD_SL_SIZE; /* Single layered BD */ + else lay->mediumCapacity = BD_DL_SIZE; /* Double layered BD */ + } + } + + /* Calculate the image layout */ + + if(eh) lay->sectorsPerLayer = eh->sectorsPerLayer; + else lay->sectorsPerLayer = lay->mediumCapacity/GF_FIELDMAX; + lay->dataSectors = data_sectors; + lay->totalSectors = GF_FIELDMAX*lay->sectorsPerLayer; + + lay->ndata = (data_sectors + 2 + lay->sectorsPerLayer - 1) / lay->sectorsPerLayer; + if(lay->ndata < 84) /* we clip redundancy at 170 roots */ + { Verbose("Redundancy clipped from %d to %d\n", lay->ndata, 84); + lay->ndata = 84; + } + lay->dataPadding = lay->ndata * lay->sectorsPerLayer - lay->dataSectors - 2; + lay->ndata++; /* CRC layer is also protected and counted as part of the data portion */ + lay->nroots = GF_FIELDMAX-lay->ndata; + lay->redundancy = ((double)lay->nroots*100.0)/(double)lay->ndata; + + lay->eccHeaderPos = lay->dataSectors; + lay->firstCrcPos = (lay->ndata-1)*lay->sectorsPerLayer; + lay->firstEccPos = lay->firstCrcPos + lay->sectorsPerLayer; + } + + /* Debugging output */ + + if(target == ECC_FILE) + Verbose("Calculated layout for RS03 file:\n"); + else Verbose("Calculated layout for RS03 image:\n"); + + Verbose("data sectors = %lld\n", lay->dataSectors); + Verbose("data padding = %lld\n", lay->dataPadding); + Verbose("layer size = %lld\n", lay->sectorsPerLayer); + Verbose("total sectors = %lld\n", lay->totalSectors); + Verbose("medium capacity = %lld\n", lay->mediumCapacity); + Verbose("header position = %lld\n", lay->eccHeaderPos); + Verbose("first CRC sector = %lld\n", lay->firstCrcPos); + Verbose("first ECC sector = %lld\n", lay->firstEccPos); + Verbose("ndata = %d\n", lay->ndata); + Verbose("nroots = %d (%4.1f%%)\n", lay->nroots, lay->redundancy); + Verbose("\n"); + + return lay; +} + +/*** + *** Write the RS03 header into the image. + ***/ + +void WriteRS03Header(LargeFile *file, RS03Layout *lay, EccHeader *eh) +{ int n; + + if(!LargeSeek(file, 2048*lay->eccHeaderPos)) + Stop(_("Failed seeking to ecc header at %lld: %s\n"), lay->eccHeaderPos, strerror(errno)); + + n = LargeWrite(file, eh, sizeof(EccHeader)); + if(n != sizeof(EccHeader)) + Stop(_("Failed writing ecc header at %lld: %s\n"), lay->eccHeaderPos, strerror(errno)); +} + +/*** + *** Reconstruct the RS03 header from a CRC block + ***/ + +void ReconstructRS03Header(EccHeader *eh, CrcBlock *cb) +{ int i; + + memset(eh, 0, sizeof(EccHeader)); + + memcpy(eh->cookie, "*dvdisaster*", 12); + memcpy(eh->method, "RS03", 4); + for(i=0; i<4; i++) + eh->methodFlags[i] = cb->methodFlags[i]; + memcpy(eh->mediumFP, cb->mediumFP, 16); + memcpy(eh->mediumSum, cb->mediumSum, 16); + gint64_to_uchar(eh->sectors, cb->dataSectors); + eh->dataBytes = cb->dataBytes; + eh->eccBytes = cb->eccBytes; + eh->creatorVersion = cb->creatorVersion; + eh->neededVersion = cb->neededVersion; + eh->fpSector = cb->fpSector; + eh->inLast = cb->inLast; + eh->sectorsPerLayer = cb->sectorsPerLayer; + + eh->selfCRC = 0x4c5047; + +#ifdef HAVE_BIG_ENDIAN + SwapEccHeaderBytes(eh); + eh->selfCRC = 0x47504c00; +#endif + + eh->selfCRC = Crc32((unsigned char*)eh, 4096); +} diff --git a/rs03-create.c b/rs03-create.c new file mode 100644 index 0000000..a6e46ec --- /dev/null +++ b/rs03-create.c @@ -0,0 +1,1188 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#include "dvdisaster.h" + +#include "rs03-includes.h" + +//#define VERBOSE 1 +#ifdef VERBOSE + #define verbose(format,args...) printf(format, ## args) +#else + #define verbose(format,args...) +#endif + +/*** + *** Local data package used during encoding + ***/ + +typedef struct +{ Method *self; + RS03Widgets *wl; + RS03Layout *lay; + ImageInfo *ii; + EccInfo *ei; + EccHeader *eh; + GaloisTables *gt; /* common lookup tables for RS encoders */ + ReedSolomonTables *rt; + + unsigned char **ioData; /* shared buffers between IO and RS threads */ + guint32 *ioCrc; /* only an alias pointer into data! */ + unsigned char **encoderData;/* shared buffers between IO and RS threads */ + guint32 *encoderCrc; /* only an alias pointer into data! */ + unsigned char *paritybase; + unsigned char *parity; + unsigned char **slice; + int slicesFree; /* flag for sharing it between IO and encoder */ + guint32 *firstCrc; /* storage for first CRC block */ + guint64 chunkSize; /* we can process this much layer sectors at a time */ + guint64 chunkBytes; /* 2048 * above */ + + /* The IO and encoder threads are working interleaved. + Each one keeps track of its state in a separate data set. */ + + guint64 ioChunk; /* chunk we are currently working on */ + guint64 encoderChunk; + guint64 flushChunk; + guint64 ioLayerSectors; /* last layer maybe smaller than chunkSize */ + guint64 encoderLayerSectors; + guint64 flushLayerSectors; + + GMutex *lock; /* lock on this struct */ + GCond *ioCond; /* sync between encoder and IO threads */ + GTimer *avgTimer; /* total (=average encoding timer) */ + GTimer *contTimer; /* continuous timing */ + guint64 sectorsToEncode; /* total number of sector to encode */ + int buffersToEncode; /* number of unprocessed buffers */ + int nextBufferIndex; /* next buffer which needs to be encoded */ + GThread *thread[MAX_CODEC_THREADS]; + char *msg; + int earlyTermination; + int abortImmediately; + + LargeFile *writeHandle; /* additional image file handle for writing */ + int progress; /* for the status gauge / message */ + int lastProgress; + int lastPercent; + int cpuBound,ioBound; +} ecc_closure; + +static void ecc_cleanup(gpointer data) +{ ecc_closure *ec = (ecc_closure*)data; + int i; + + Closure->cleanupProc = NULL; + + /* Wait for workers to finish if we aborted + prematurely */ + + if(ec->abortImmediately) + { + /* Nudge workers to wake up and abort */ + + g_mutex_lock(ec->lock); + g_cond_broadcast(ec->ioCond); + g_mutex_unlock(ec->lock); + + /* Wait for all worker to exit */ + + for(i=0; icodecThreads; i++) + { g_thread_join(ec->thread[i]); + fflush(stdout); + } + } + + if(Closure->guiMode) + { if(ec->earlyTermination) + SetLabelText(GTK_LABEL(ec->wl->encFootline), + _("Aborted by unrecoverable error."), + Closure->redMarkup); + AllowActions(TRUE); + } + + /*** We must invalidate the CRC cache as it does only cover the + data portion of the image, not the full RS03 enhanced image. */ + + if(Closure->crcCache) + ClearCrcCache(); + + /*** Clean up */ + + if(ec->lock) g_mutex_free(ec->lock); + if(ec->ioCond) g_cond_free(ec->ioCond); + if(ec->ii) FreeImageInfo(ec->ii); + if(ec->ei) FreeEccInfo(ec->ei); + if(ec->eh) g_free(ec->eh); + if(ec->rt) FreeReedSolomonTables(ec->rt); + if(ec->gt) FreeGaloisTables(ec->gt); + if(ec->writeHandle) LargeClose(ec->writeHandle); + if(ec->lay) g_free(ec->lay); + if(ec->paritybase) g_free(ec->paritybase); + if(ec->msg) g_free(ec->msg); + if(ec->avgTimer) g_timer_destroy(ec->avgTimer); + if(ec->contTimer) g_timer_destroy(ec->contTimer); + if(ec->firstCrc) g_free(ec->firstCrc); + + for(i=0; i<256; i++) + { if(ec->slice && ec->slice[i]) + g_free(ec->slice[i]); + if(ec->ioData && ec->ioData[i]) + g_free(ec->ioData[i]); + if(ec->encoderData && ec->encoderData[i]) + g_free(ec->encoderData[i]); + } + + if(ec->slice) g_free(ec->slice); + if(ec->ioData) g_free(ec->ioData); + if(ec->encoderData) g_free(ec->encoderData); + g_free(ec); + + if(Closure->guiMode) + g_thread_exit(0); +} + +/*** + *** Some sub tasks to be done during encoding + ***/ + +/* + * Abort encoding + */ + +static void abort_encoding(ecc_closure *ec, int truncate) +{ RS03Widgets *wl = ec->wl; + + if(truncate && ec->lay) + { if(Closure->eccTarget == ECC_FILE) + LargeUnlink(Closure->eccName); + else if(!LargeTruncate(ec->ii->file, (gint64)(2048*ec->lay->dataSectors))) + Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno)); + + SetLabelText(GTK_LABEL(wl->encFootline), + _("Aborted by user request! (partial ecc data removed from image)"), + Closure->redMarkup); + } + else + { SetLabelText(GTK_LABEL(wl->encFootline), + _("Aborted by user request!"), + Closure->redMarkup); + } + + ec->earlyTermination = FALSE; /* suppress respective error message */ + + ecc_cleanup((gpointer)ec); +} + + +/* + * Remove already existing RS03 ecc data from the image. + */ + +static void remove_old_ecc(ecc_closure *ec) +{ EccHeader *old_eh; + LargeFile *tmp; + gint64 ignore; + + /* Handle error correction file case first */ + + if(Closure->eccTarget == ECC_FILE) + { if(LargeStat(Closure->eccName, &ignore)) + { + if(ConfirmEccDeletion(Closure->eccName)) + LargeUnlink(Closure->eccName); + else + { SetLabelText(GTK_LABEL(ec->wl->encFootline), + _("Aborted to keep existing ecc file."), + Closure->redMarkup); + ec->earlyTermination = FALSE; + ecc_cleanup((gpointer)ec); + } + } + return; + } + + /* Augmented image case */ + + tmp = LargeOpen(Closure->imageName, O_RDWR, IMG_PERMS); + if(!tmp) + return; /* no image file at all */ + + old_eh = FindRS03HeaderInImage(tmp); + + if(old_eh) + { gint64 data_sectors = uchar_to_gint64(old_eh->sectors); + int answer; + + g_free(old_eh); + + answer = ModalWarning(GTK_MESSAGE_WARNING, GTK_BUTTONS_OK_CANCEL, NULL, + _("Image \"%s\" already contains error correction information.\n" + "Truncating image to data part (%lld sectors).\n"), + Closure->imageName, data_sectors); + + if(!answer) + abort_encoding(ec, FALSE); + + if(!tmp || !LargeTruncate(tmp, (gint64)(2048*data_sectors))) + Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno)); + } + + LargeClose(tmp); +} + +/* + * Fill in the necessary values for the EccHeader. + */ + +static void prepare_header(ecc_closure *ec) +{ ImageInfo *ii = ec->ii; + EccHeader *eh = ec->eh; + RS03Layout *lay = ec->lay; + + memcpy(eh->cookie, "*dvdisaster*", 12); + memcpy(eh->method, "RS03", 4); + eh->methodFlags[0] = Closure->eccTarget == ECC_FILE ? MFLAG_ECC_FILE : 0; + eh->methodFlags[3] = Closure->releaseFlags; + memcpy(eh->mediumFP, ii->mediumFP, 16); + memcpy(eh->mediumSum, ii->mediumSum, 16); + gint64_to_uchar(eh->sectors, ii->sectors); + eh->dataBytes = lay->ndata; + eh->eccBytes = lay->nroots; + + eh->creatorVersion = Closure->version; + eh->neededVersion = 7900; + eh->fpSector = FINGERPRINT_SECTOR; + eh->inLast = ii->inLast; + eh->sectorsPerLayer = lay->sectorsPerLayer; + + eh->selfCRC = 0x4c5047; + +#ifdef HAVE_BIG_ENDIAN + SwapEccHeaderBytes(eh); + eh->selfCRC = 0x47504c00; +#endif + + eh->selfCRC = Crc32((unsigned char*)eh, 4096); +} + +/* + * Expand the image by lay->eccSectors. + * This avoids horrible file fragmentation under some file systems. + */ + +static void expand_image(ecc_closure *ec) +{ RS03Layout *lay = ec->lay; + ImageInfo *ii = ec->ii; + EccInfo *ei = ec->ei; + int last_percent, percent, n; + gint64 sectors,ecc_padding; + LargeFile *ecc_out; + char *failed_write, *progress_msg; + + /* Output file depends on ecc target */ + + if(Closure->eccTarget == ECC_FILE) + { ecc_out = ei->file; + failed_write = _("Failed expanding the ecc file: %s\n"); + progress_msg = _("Preparing ecc file: %3d%%"); + } + else + { ecc_out = ii->file; + failed_write = _("Failed expanding the image: %s\n"); + progress_msg = _("Preparing image: %3d%%"); + } + + /* If the image file does not end at a sector boundary, + fill it up with zeros. */ + + if(Closure->eccTarget == ECC_IMAGE && ii->inLast != 2048) + { int fill = 2048 - ii->inLast; + int n; + unsigned char zeros[fill]; + + memset(zeros, 0, fill); + + if(!LargeSeek(ii->file, ii->size)) + Stop(_("Failed seeking to end of image: %s\n"), strerror(errno)); + + n = LargeWrite(ii->file, zeros, fill); + if(n != fill) + Stop(_(failed_write), strerror(errno)); + } + + /* Seek to end of file if augmenting an image */ + + if(Closure->eccTarget == ECC_IMAGE) + if(!LargeSeek(ii->file, 2048*lay->dataSectors)) + Stop(_("Failed seeking to end of image: %s\n"), strerror(errno)); + + /* Space for the ecc header */ + + prepare_header(ec); + n = LargeWrite(ecc_out, ec->eh, 4096); + if(n != 4096) + Stop(_(failed_write), strerror(errno)); + + /* Padding sectors for the data section */ + + for(sectors=0; sectorsdataPadding; sectors++) + { unsigned char pad_sector[2048]; + int n; + + CreatePaddingSector(pad_sector, lay->dataSectors+sectors+2, ii->mediumFP, FINGERPRINT_SECTOR); + + n = LargeWrite(ecc_out, pad_sector, 2048); + if(n != 2048) + Stop(_(failed_write), strerror(errno)); + } + + /* Padding sectors for the CRC section */ + + for(sectors=0; sectorssectorsPerLayer; sectors++) + { unsigned char pad_sector[2048]; + int n; + + CreateMissingSector(pad_sector, lay->firstCrcPos+sectors, ii->mediumFP, FINGERPRINT_SECTOR, + "CRC padding by expand_image()"); + + n = LargeWrite(ecc_out, pad_sector, 2048); + if(n != 2048) + Stop(_(failed_write), strerror(errno)); + } + + /* Now add the sectors needed for the ecc data */ + + last_percent = 0; + ecc_padding = lay->nroots*lay->sectorsPerLayer; + for(sectors = 0; sectors < ecc_padding; sectors++) + { unsigned char dead_sector[2048]; + int n; + + if(Closure->stopActions) /* User hit the Stop button */ + abort_encoding(ec, TRUE); + + CreateMissingSector(dead_sector, lay->firstEccPos+sectors, ii->mediumFP, FINGERPRINT_SECTOR, + "ECC padding by expand_image()"); + + n = LargeWrite(ecc_out, dead_sector, 2048); + if(n != 2048) + Stop(_(failed_write), strerror(errno)); + + percent = (100*sectors) / ecc_padding; + + if(last_percent != percent) + { PrintProgress(_(progress_msg), percent); + + if(Closure->guiMode) + SetProgress(ec->wl->encPBar1, percent, 100); + + last_percent = percent; + } + } + + PrintProgress(_(progress_msg), 100); + PrintProgress("\n"); + + if(Closure->guiMode) + SetProgress(ec->wl->encPBar1, 100, 100); +} + +/* + * Fill in the necessary values for the CrcBlock. + */ + +static void prepare_crc_block(ecc_closure *ec, CrcBlock *cb) +{ ImageInfo *ii = ec->ii; + RS03Layout *lay = ec->lay; + + memcpy(cb->cookie, "*dvdisaster*", 12); + memcpy(cb->method, "RS03", 4); + cb->methodFlags[0] = Closure->eccTarget == ECC_FILE ? MFLAG_ECC_FILE : 0; + cb->methodFlags[3] = Closure->releaseFlags; + cb->creatorVersion = Closure->version; + cb->neededVersion = 7300; + cb->fpSector = FINGERPRINT_SECTOR; + memcpy(cb->mediumFP, ii->mediumFP, 16); + memcpy(cb->mediumSum, ii->mediumSum, 16); + cb->dataSectors = ii->sectors; + cb->inLast = ii->inLast; + cb->dataBytes = lay->ndata; + cb->eccBytes = lay->nroots; + cb->sectorsPerLayer = lay->sectorsPerLayer; + + cb->selfCRC = 0x4c5047; + +#ifdef HAVE_BIG_ENDIAN + SwapCrcBlockBytes(cb); + cb->selfCRC = 0x47504c00; +#endif + + cb->selfCRC = Crc32((unsigned char*)cb, 2048); +} + +/* + * Calculate the Reed-Solomon error correction code + */ + +/* The IO thread. Reads the image sectors and dispatches them to the + Reed-Solomon encoder threads. Does also collect and write out the CRC and + parity sectors. */ + +static void flip_buffers(ecc_closure *ec) +{ unsigned char **dtmp; + guint32 *ctmp; + + ctmp = ec->ioCrc; ec->ioCrc = ec->encoderCrc; ec->encoderCrc = ctmp; + dtmp = ec->ioData; ec->ioData = ec->encoderData; ec->encoderData = dtmp; +} + +static void read_next_chunk(ecc_closure *ec, guint64 chunk) +{ RS03Layout *lay = ec->lay; + gint64 s; + int layer; + + /* The last chunk may contain fewer sectors. */ + + ec->ioChunk = chunk; + if(ec->ioChunk+ec->chunkSize < lay->sectorsPerLayer) + ec->ioLayerSectors = ec->chunkSize; + else {ec->ioLayerSectors = lay->sectorsPerLayer-ec->ioChunk; + verbose("NOTE: actual_layer_sectors %d\n", ec->ioLayerSectors); + } + + memset(ec->ioCrc, 0, ec->chunkBytes); + + /* Read the next layers of the current chunk. */ + + for(layer=0; layerndata-1; layer++) /* exclude CRC layer */ + { gint64 offset = 0; + gint64 first_sec = layer*lay->sectorsPerLayer+ec->ioChunk; + gint64 error_sec; + int err; + + if(Closure->stopActions) /* User hit the Stop button */ + { ec->abortImmediately = TRUE; + abort_encoding(ec, TRUE); + } + /* Read the next data sectors of this layer. + Note that the last layer is made from CRC sums. */ + + RS03ReadSectors(ec->ii->file, lay, ec->ioData[layer], + layer, ec->ioChunk, ec->ioLayerSectors, RS03_READ_DATA); + + err = CheckForMissingSectors(ec->ioData[layer], first_sec, + lay->eh->mediumFP, lay->eh->fpSector, + ec->ioLayerSectors, &error_sec); + if(err != SECTOR_PRESENT) + { /* Remove partial ecc data */ + if(Closure->eccTarget == ECC_FILE) + { LargeClose(ec->writeHandle); + ec->writeHandle = NULL; + LargeUnlink(Closure->eccName); + } + else + { LargeTruncate(ec->writeHandle, (gint64)(2048*ec->ii->sectors)); + } + + ec->abortImmediately = TRUE; + + Stop(_("Incomplete image\n\n" + "The image contains missing sectors,\n" + "e.g. sector %lld.\n%s" + "Error correction data works like a backup; it must\n" + "be created when the image is still fully readable.\n" + "Exiting and removing partial error correction data."), + error_sec, + err == SECTOR_MISSING ? "\n" : + _("\nThis image was probably mastered from defective source(s).\n" + "Perform a \"Verify\" action for more information.\n\n")); + } + + for(s=0; sioLayerSectors; s++) + { + /* Read the next sector */ + + offset=s*2048; + // RS03ReadSector(ec->ii, lay, ec->ioData[layer]+offset, layer, ec->ioChunk+s, RS03_READ_DATA); + + + /* CRC32 part */ +#if 1 + if(ec->ioChunk || s) + { if(s) /* fixme: prove correctness */ + ec->ioCrc[512*(s-1)+layer] = Crc32(ec->ioData[layer]+offset, 2048); + } + else /* store CRC for the first ecc block in ecc header */ + { ec->firstCrc[layer] = Crc32(ec->ioData[layer]+offset, 2048); + } + + /* The first CRC is wrapped to the last layer: + At ecc block 0, CRC sums are stored in first_crc + rather than being written to ec->crc. + For subsequent ecc blocks, their CRC32 sums are + written to the previous ec->crc position. + This leaves the last slot in ec->crc blank, + which is filled in here from the cached results + in first_ecc[]. */ + + if(ec->ioChunk+s == lay->sectorsPerLayer-1) + { ec->ioCrc[512*s+layer] = ec->firstCrc[layer]; + } +#endif + } + + /* One sector more to chain back the CRC sums + (unless we are already in the last chunk) */ + + if(ec->ioChunk+ec->ioLayerSectors < lay->sectorsPerLayer) + { unsigned char buf[2048]; + + RS03ReadSectors(ec->ii->file, lay, buf, layer, ec->ioChunk+ec->ioLayerSectors, 1, RS03_READ_DATA); + ec->ioCrc[(ec->ioLayerSectors-1)*512+layer] = Crc32(buf, 2048); + } + } /* all layers from chunk finished */ + + /* Add and prepare the CrcBlock structure */ + +#if 1 + for(s=0; sioLayerSectors; s++) + prepare_crc_block(ec, (CrcBlock*)&ec->ioCrc[512*s]); +#endif +} + +static void flush_crc(ecc_closure *ec, LargeFile *file_out) +{ RS03Layout *lay = ec->lay; + gint64 crc_sect; + gint64 i; + + /* Write out the CRC layer */ + + verbose("IO: writing CRC layer\n"); + crc_sect = 2048*(ec->ioChunk+lay->firstCrcPos); + if(!LargeSeek(file_out, crc_sect)) + { ec->abortImmediately = TRUE; + + Stop(_("Failed seeking to sector %lld in image: %s"), crc_sect, strerror(errno)); + } + for(i=0; iioLayerSectors; i++) + if(LargeWrite(file_out, ec->ioCrc+512*i, 2048) != 2048) + { ec->abortImmediately = TRUE; + Stop(_("Failed writing to sector %lld in image: %s"), crc_sect, strerror(errno)); + } +} + +static void flush_parity(ecc_closure *ec, LargeFile *file_out) +{ RS03Layout *lay = ec->lay; + gint64 i; + int k; + + /* Write out the created parity. + Note: ecc sectors are interleaved with headers and thus can + not be written out using a streaming write. */ + + verbose("IO: writing parity...\n"); + for(k=0; knroots; k++) + { gint64 idx=0; + + for(i=0; iflushLayerSectors; i++, idx+=2048) + { gint64 s = RS03SectorIndex(lay, k+lay->ndata, ec->flushChunk+i); + + if(!LargeSeek(file_out, 2048*s)) + { ec->abortImmediately = TRUE; + Stop(_("Failed seeking to sector %lld in image: %s"), s, strerror(errno)); + } + if(LargeWrite(file_out, ec->slice[k]+idx, 2048) != 2048) + { ec->abortImmediately = TRUE; + Stop(_("Failed writing to sector %lld in image: %s"), s, strerror(errno)); + } + } + } + verbose("IO: parity written.\n"); +} + +static gpointer io_thread(ecc_closure *ec) +{ RS03Layout *lay = ec->lay; + LargeFile *file_out = ec->writeHandle; + int nroots = lay->nroots; + int ndata = lay->ndata; + int nroots_aligned = (nroots+15)&~15; /* 128bit alignment */ + guint64 n_parity_bytes = (guint64)nroots_aligned * ec->chunkBytes; + guint64 chunk; + int needs_preload = 1; + int parity_available = 0; + int i; + + verbose("Reader thread initializing\n"); + + /*** Allocate local parity buffer aligned at 128bit boundary */ + + ec->paritybase = g_malloc(n_parity_bytes+16); /* output buffer */ + ec->parity = ec->paritybase + (16- ((unsigned long)ec->paritybase & 15)); + + /*** Create buffer for the ndata input layers */ + + ec->ioData = g_malloc0(256*sizeof(unsigned char*)); + ec->encoderData = g_malloc0(256*sizeof(unsigned char*)); + for(i=0; iioData[i] = g_malloc(ec->chunkBytes); + ec->encoderData[i] = g_malloc(ec->chunkBytes); + } + + ec->ioCrc = (guint32*)ec->ioData[ndata-1]; /* CRC layer */ + ec->encoderCrc = (guint32*)ec->encoderData[ndata-1]; + ec->firstCrc = g_malloc(256*sizeof(guint32)); + + /*** Create buffers for dividing the ecc information into nroots slices */ + + ec->slice = g_malloc0(256*sizeof(unsigned char*)); + for(i=0; islice[i] = g_malloc(ec->chunkBytes); + + Verbose("Cache allocation: %lldK+%lldK+%lldK=%lldM (data+parity+descrambling)\n", + (long long)((2*ec->chunkBytes*ndata)/1024), + (long long)((n_parity_bytes)/1024), + (long long)((ec->chunkBytes*nroots)/1024), + (long long)((2*ec->chunkBytes*ndata+n_parity_bytes+ec->chunkBytes*nroots)/(1024*1024))); + + /*** Create ecc information for the protected sectors portion of the image. */ + + /* Process the image. + From each layer a chunk of ec->chunkSize sectors is read in at once. + So after (lay->sectorsPerLayer/ec->chunkSize)+1 iterations + the whole image has been processed. */ + + verbose("NOTE: ndata = %d, chunk size = %d\n", ndata, ec->chunkSize); + verbose("NOTE: sectors per layer = %lld\n", (long long)lay->sectorsPerLayer); + + for(chunk=0; chunksectorsPerLayer; chunk+=ec->chunkSize) + { int cpu_bound = 0; + + verbose("Starting IO processing for chunk %d\n", ec->chunk); + + /* preload first chunk */ + + if(needs_preload) + { read_next_chunk(ec, chunk); + flush_crc(ec, file_out); + needs_preload = 0; + verbose("IO: first chunk loaded\n"); + continue; + } + + /* Broadcast read to the worker threads */ + + flip_buffers(ec); + + g_mutex_lock(ec->lock); + ec->buffersToEncode = ec->ioLayerSectors; + ec->encoderLayerSectors = ec->ioLayerSectors; + ec->nextBufferIndex = 0; + ec->encoderChunk = ec->ioChunk; + ec->slicesFree = FALSE; + g_cond_broadcast(ec->ioCond); + g_mutex_unlock(ec->lock); + + /* Write out parity from last run */ + + if(parity_available) + flush_parity(ec, file_out); + + g_mutex_lock(ec->lock); + ec->slicesFree = TRUE; /* we have saved the slices; go ahead */ + g_cond_broadcast(ec->ioCond); + g_mutex_unlock(ec->lock); + + /* Read the next chunk while encoders are working */ + + read_next_chunk(ec, chunk); + flush_crc(ec, file_out); + + /* Remember the current portion for writing it out */ + + ec->flushLayerSectors = ec->encoderLayerSectors; + ec->flushChunk = ec->encoderChunk; + parity_available = TRUE; + + /* Wait until the encoders have finished */ + + g_mutex_lock(ec->lock); + cpu_bound = ec->buffersToEncode; + while(ec->buffersToEncode) + { verbose("IO: Waiting for encoders to finish\n"); + g_cond_wait(ec->ioCond, ec->lock); + } + g_mutex_unlock(ec->lock); + + /* Report progress */ + + verbose("IO: chunk %d finished\n", ec->ioChunk); + + if(Closure->guiMode) + { if(cpu_bound) + { SetLabelText(GTK_LABEL(ec->wl->encBottleneck), _("CPU bound")); + ec->cpuBound++; + } + else + { SetLabelText(GTK_LABEL(ec->wl->encBottleneck), _("I/O bound")); + ec->ioBound++; + } + } + } /* chunk finished */ + + /* Broadcast read to the worker threads */ + + flush_parity(ec, file_out); + flip_buffers(ec); + + g_mutex_lock(ec->lock); + ec->buffersToEncode = ec->ioLayerSectors; + ec->encoderLayerSectors = ec->ioLayerSectors; + ec->nextBufferIndex = 0; + ec->encoderChunk = ec->ioChunk; + ec->slicesFree = FALSE; + g_cond_broadcast(ec->ioCond); + g_mutex_unlock(ec->lock); + + /* Wait for encoders to finish last chunk */ + + g_mutex_lock(ec->lock); + ec->slicesFree = TRUE; /* we have saved the slices; go ahead */ + g_cond_broadcast(ec->ioCond); + while(ec->buffersToEncode) + { verbose("IO: Waiting for encoders to finish last chunk\n"); + g_cond_wait(ec->ioCond, ec->lock); + } + g_mutex_unlock(ec->lock); + + /* Write out CRC and parity */ + + ec->flushLayerSectors = ec->encoderLayerSectors; + ec->flushChunk = ec->encoderChunk; + + flush_parity(ec, file_out); + + verbose("IO: finished\n"); fflush(stdout); + return NULL; +} + + +static gpointer encoder_thread(ecc_closure *ec) +{ GThread *self; + unsigned char *par_ptr; + int my_number=-1; + int nroots = ec->lay->nroots; + int ndata = ec->lay->ndata; + int nroots_aligned = (nroots+15)&~15; + int shift[ndata]; + int enc_size = 1; + int percent; + int idx; + int i,j,k; + + /*** Identify ourself */ + + self = g_thread_self(); + + g_mutex_lock(ec->lock); + for(i=0; icodecThreads; i++) + if(ec->thread[i] == self) + my_number = i; + g_mutex_unlock(ec->lock); + + /*** The encoder is repeatedly called on 2K chunks. + Pre-calculate the shift register state value at the beginning + of each chunk. */ + + shift[0] = ec->rt->shiftInit; + for(i=1; ilock); + while( ec->sectorsToEncode + && !ec->abortImmediately + && ec->nextBufferIndex >= ec->encoderLayerSectors) + { verbose("ENC: encoder %d waiting for work\n", my_number); + g_cond_wait(ec->ioCond, ec->lock); + } + layer_offset = ec->nextBufferIndex; + layer_index = ec->encoderChunk + layer_offset; + + verbose("ENC: encoder %d got work for buffer index %d\n", + my_number,layer_offset); + + /* Termination criterion */ + + if(!ec->sectorsToEncode || ec->abortImmediately) + { g_mutex_unlock(ec->lock); + verbose("ENC: encoder %d exiting\n", my_number); + return NULL; + } + ec->nextBufferIndex +=enc_size; + g_mutex_unlock(ec->lock); + + /* Now process the data bytes of the given layer section. */ + + for(layer=0; layerencoderData[layer] + 2048*layer_offset; + unsigned char *parity = ec->parity + 2048*nroots_aligned*layer_offset; + + /* CRC32 part: + layer ndata-2 has already been prepared by the IO thread, + layer ndata-1 is the CRC layer itself */ +#if 0 + if(layer < ndata-2) + { if(ec->encoderChunk || layer_offset) + { if(layer_offset) /* fixme: prove correctness */ + ec->crc[512*layer_offset+layer] = Crc32(data+2048, 2048); + } + else /* store CRC for the first ecc block in ecc header */ + ec->crcInHeader[layer] = Crc32(data, 2048); + } +#endif + + /* Reed-Solomon part */ + + if(!layer) /* clear parity if this is a new run */ + memset(parity, 0, 2048*enc_size*nroots_aligned); + + EncodeNextLayer(ec->rt, data, parity, 2048*enc_size, shift[layer]); + } + + /* After processing the last data layer the parity bytes have been + prepared as sequences of nroots bytes for this ecc block. + Now we split them up into nroots slices and cache them in the output + buffer. */ + + g_mutex_lock(ec->lock); + while(!ec->slicesFree && !ec->abortImmediately) + { g_cond_wait(ec->ioCond, ec->lock); + } + g_mutex_unlock(ec->lock); + + if(ec->abortImmediately) + return NULL; + + idx = 2048*layer_offset; + par_ptr = ec->parity + 2048*nroots_aligned*layer_offset; + + for(j=2048*enc_size; j>0; j--, idx++) + { unsigned char *par = par_ptr; + for(k=0; kslice[k][idx] = *par++; + par_ptr += nroots_aligned; + } + + g_mutex_lock(ec->lock); + ec->progress+=enc_size; + percent = (1000*ec->progress)/ec->lay->sectorsPerLayer; + if(ec->lastPercent != percent) + { + ec->lastPercent = percent; + g_mutex_unlock(ec->lock); + if(Closure->guiMode) + { gdouble elapsed; + gulong ignore; + + elapsed=g_timer_elapsed(ec->contTimer, &ignore); + if(elapsed > 1.0) + { gdouble mbs = ((double)ndata*(ec->progress-ec->lastProgress))/(512.0*elapsed); + SetLabelText(GTK_LABEL(ec->wl->encPerformance), + _("%5.2fMB/s current"), mbs); + ec->lastProgress = ec->progress; + g_timer_reset(ec->contTimer); + } + SetProgress(ec->wl->encPBar2, percent, 1000); + } + else PrintProgress(_("Ecc generation: %3d.%1d%%"), percent/10, percent%10); + } + else g_mutex_unlock(ec->lock); + + /* finish processing of this buffer */ + + verbose("ENC: encoder %d finished slice %d/ chunk %d\n", + my_number, layer_offset, ec->encoderChunk); + g_mutex_lock(ec->lock); + ec->sectorsToEncode-=enc_size*ndata; + ec->buffersToEncode-=enc_size; + if(!ec->buffersToEncode) + { g_cond_broadcast(ec->ioCond); + verbose("ENC: processed last buffer; telling IO process.\n"); + fflush(stdout); + } + g_mutex_unlock(ec->lock); + } +} + +static void create_reed_solomon(ecc_closure *ec) +{ int nroots = ec->lay->nroots; + int ndata = ec->lay->ndata; + int i; + + /*** Show the second progress bar */ + + if(Closure->guiMode) + { ShowWidget(ec->wl->encPBar2); + ShowWidget(ec->wl->encLabel2); + ShowWidget(ec->wl->encLabel3); + ShowWidget(ec->wl->encLabel4); + ShowWidget(ec->wl->encLabel5); + ShowWidget(ec->wl->encThreads); + ShowWidget(ec->wl->encPerformance); + ShowWidget(ec->wl->encBottleneck); + if(Closure->useSSE2) + SetLabelText(GTK_LABEL(ec->wl->encThreads), + _("%d threads with 128bit intrinsics"), + Closure->codecThreads); + else SetLabelText(GTK_LABEL(ec->wl->encThreads), + _("%d threads"), + Closure->codecThreads); + SetLabelText(GTK_LABEL(ec->wl->encPerformance), ""); + SetLabelText(GTK_LABEL(ec->wl->encBottleneck), ""); + } + + /*** Calculate buffer size for the parity calculation and image data caching. + + The algorithm builds the parity file consecutively in chunks of + Closure->prefetchSectors sectors. + We use all the amount of memory allowed by cacheMB for caching the output + parity blocks, and additionally 1/nroots of that memory for caching input. + + Each chunk of parity blocks is built iteratively by processing the data + in layers (first all bytes at pos 0, then pos 1, until ndata layers have + been processed). + + So we need to buffer 2048*Closure->prefetchSectors of input data. + For practical reasons we require that the layer size is a multiple of the + medium sector size of 2048 bytes. */ + + ec->chunkBytes = 2048*Closure->prefetchSectors; + ec->chunkSize = Closure->prefetchSectors; + + /*** Allocate stuff shared by all threads */ + + ec->lock = g_mutex_new(); + ec->ioCond = g_cond_new(); + ec->sectorsToEncode = ndata*ec->lay->sectorsPerLayer; + if(Closure->eccTarget == ECC_FILE) + ec->writeHandle = LargeOpen(Closure->eccName, O_RDWR, IMG_PERMS); + else + ec->writeHandle = LargeOpen(Closure->imageName, O_RDWR, IMG_PERMS); + ec->lastPercent = -1; + ec->cpuBound = ec->ioBound = 0; + + /*** Initialize the encoder tables*/ + + ec->gt = CreateGaloisTables(RS_GENERATOR_POLY); + ec->rt = CreateReedSolomonTables(ec->gt, RS_FIRST_ROOT, RS_PRIM_ELEM, nroots); + + /*** Spawn the RS encoder threads */ + + g_mutex_lock(ec->lock); /* ec->thread[i] = ... may produce race condition */ + for(i=0; icodecThreads; i++) + { GError *err = NULL; + + verbose("SCHED: creating encoder %d\n", i); + ec->thread[i] = g_thread_create((GThreadFunc)encoder_thread, (gpointer)ec, TRUE, &err); + if(!ec->thread[i]) + { g_mutex_unlock(ec->lock); + ec->abortImmediately = TRUE; + Stop("Could not create encoder thread: %s", err->message); + } + } + g_mutex_unlock(ec->lock); + g_thread_yield(); /* FIXME */ + + /*** Now we actually become being the IO thread */ + + io_thread(ec); + + /*** Wait for workers to finish */ + + for(i=0; icodecThreads; i++) + { g_thread_join(ec->thread[i]); + verbose("SCHED: joined with worker %d\n", i); + fflush(stdout); + } + verbose("SCHED: scheduler finished.\n"); +} + +/*** + *** Append the parity information to the image + ***/ + +void RS03Create(Method *method) +{ RS03Widgets *wl = (RS03Widgets*)method->widgetList; + RS03Layout *lay; + ecc_closure *ec = g_malloc0(sizeof(ecc_closure)); + ImageInfo *ii; + EccInfo *ei; + gdouble elapsed,mbs; + gulong ignore; + gint64 ecc_sectors; + + /*** Register the cleanup procedure for GUI mode */ + + ec->self = method; + ec->wl = wl; + ec->eh = g_malloc0(sizeof(EccHeader)); + ec->earlyTermination = TRUE; + + RegisterCleanup(_("Error correction data creation aborted"), ecc_cleanup, ec); + + if(Closure->guiMode) /* Preliminary fill text for the head line */ + SetLabelText(GTK_LABEL(wl->encHeadline), + _("Augmenting the image with error correction data.\n%s"), + _("- checking image -")); + + /*** If the image already contains error correction information, remove it. */ + + remove_old_ecc(ec); + + /*** Open image file and calculate a suitable redundancy .*/ + + if(Closure->eccTarget == ECC_IMAGE) /* augmented image */ + { ii = ec->ii = OpenImageFile(NULL, WRITEABLE_IMAGE); + } + else /* error correction file */ + { ii = ec->ii = OpenImageFile(NULL, READABLE_IMAGE); + ei = ec->ei = OpenEccFile(WRITEABLE_ECC); + } + + lay = ec->lay = CalcRS03Layout(ii->sectors, 0, Closure->eccTarget); + lay->eh = ec->eh; + + /*** Announce what we are going to do */ + + ecc_sectors = lay->nroots*lay->sectorsPerLayer; + if(Closure->guiMode) /* Preliminary fill text for the head line */ + { ec->msg = g_strdup_printf(_("Encoding with Method RS03: %lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)."), + lay->dataSectors/512, ecc_sectors/512, lay->nroots, lay->redundancy); + + if(lay->target == ECC_IMAGE) + SetLabelText(GTK_LABEL(wl->encHeadline), + _("Augmenting the image with error correction data.\n%s"), + ec->msg); + else + SetLabelText(GTK_LABEL(wl->encHeadline), + _("Creating the error correction file.\n%s"), + ec->msg); + + } + else + { if(Closure->eccTarget == ECC_IMAGE) + ec->msg = g_strdup_printf(_("Augmenting image with Method RS03 [%d threads]:\n" + "%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)."), + Closure->codecThreads, lay->dataSectors/512, + ecc_sectors/512, lay->nroots, lay->redundancy); + else + ec->msg = g_strdup_printf(_("Creating the error correction file with Method RS03 [%d threads]:\n" + "%lld MB data, %lld MB ecc (%d roots; %4.1f%% redundancy)."), + Closure->codecThreads, lay->dataSectors/512, + ecc_sectors/512, lay->nroots, lay->redundancy); + + PrintLog("%s\n",ec->msg); + } + + /*** Warn if there is not enough space for ecc data */ + + if(Closure->eccTarget == ECC_IMAGE && lay->nroots < 8) + Stop(_("Not enough space on medium left for error correction data.\n" + "Data portion of image: %lld sect.; maximum possible size: %lld sect.\n" + "If reducing the image size or using a larger medium is not\n" + "an option, please create a separate error correction file."), + lay->dataSectors, lay->mediumCapacity); + + if(Closure->eccTarget == ECC_IMAGE && lay->redundancy < 20) + { int answer; + + answer = ModalWarning(GTK_MESSAGE_WARNING, GTK_BUTTONS_OK_CANCEL, NULL, + _("Using redundancies below 20%%%% may not give\n" + "the expected data loss protection.\n")); + + if(!answer) + abort_encoding(ec, FALSE); + } + + /*** Expand the image by ecc_sectors. */ + + expand_image(ec); + + /*** Create the CRC and Reed-Solomon parts */ + + ec->avgTimer = g_timer_new(); + ec->contTimer = g_timer_new(); + create_reed_solomon(ec); + g_timer_stop(ec->avgTimer); + g_timer_stop(ec->contTimer); + + /*** Summarize */ + + PrintProgress(_("Ecc generation: 100.0%%\n")); + if(Closure->eccTarget == ECC_IMAGE) + PrintLog(_("Image has been augmented with error correction data.\n" + "New image size is %lld MB (%lld sectors).\n"), + (lay->dataSectors+lay->dataPadding+ecc_sectors)/512, + lay->dataSectors+lay->dataPadding+ecc_sectors); + else + PrintLog(_("Error correction file \"%s\" created.\n" + "Make sure to keep this file on a reliable medium.\n"), + Closure->eccName); + + elapsed=g_timer_elapsed(ec->avgTimer, &ignore); + mbs = ((double)lay->ndata*lay->sectorsPerLayer)/(512.0*elapsed); + PrintLog(_("Avg performance: %5.2fs (%5.2fMB/s) total\n"), + elapsed, mbs); + if(Closure->guiMode) + { SetLabelText(GTK_LABEL(wl->encPerformance), _("%5.2fMB/s average"), mbs); + SetLabelText(GTK_LABEL(ec->wl->encBottleneck), + _("%d times CPU bound; %d times I/O bound"), + ec->cpuBound, ec->ioBound); + } + + if(Closure->guiMode) + { SetProgress(wl->encPBar2, 100, 100); + + if(Closure->eccTarget == ECC_IMAGE) + SetLabelText(GTK_LABEL(wl->encFootline), + _("Image has been augmented with error correction data.\n" + "New image size is %lld MB (%lld sectors).\n"), + (lay->dataSectors + ecc_sectors)/512, + lay->dataSectors+ecc_sectors); + else + SetLabelText(GTK_LABEL(wl->encFootline), + _("The error correction file has been successfully created.\n" + "Make sure to keep this file on a reliable medium.")); + + } + + /*** Clean up */ + + ec->earlyTermination = FALSE; + ecc_cleanup((gpointer)ec); +} + diff --git a/rs03-fix.c b/rs03-fix.c new file mode 100644 index 0000000..7c35d12 --- /dev/null +++ b/rs03-fix.c @@ -0,0 +1,915 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#include "dvdisaster.h" + +#include "rs03-includes.h" +#include "galois-inlines.h" + +/*** + *** Internal housekeeping + ***/ + +typedef struct +{ RS03Widgets *wl; + RS03Layout *lay; + GaloisTables *gt; + ReedSolomonTables *rt; + int earlyTermination; + char *msg; + ImageInfo *ii; + LargeFile *eccFile; + unsigned char *imgBlock[255]; + gint64 *eccIdx[255]; +} fix_closure; + +static void fix_cleanup(gpointer data) +{ fix_closure *fc = (fix_closure*)data; + int i; + + Closure->cleanupProc = NULL; + + if(Closure->guiMode) + { if(fc->earlyTermination) + SwitchAndSetFootline(fc->wl->fixNotebook, 1, + fc->wl->fixFootline, + _("Aborted by unrecoverable error."), + Closure->redMarkup); + AllowActions(TRUE); + } + + /** Clean up */ + + if(fc->msg) g_free(fc->msg); + if(fc->ii) FreeImageInfo(fc->ii); + + for(i=0; i<255; i++) + { if(fc->imgBlock[i]) + g_free(fc->imgBlock[i]); + + if(fc->eccIdx[i]) + g_free(fc->eccIdx[i]); + } + + if(fc->lay) + { if(fc->lay->target == ECC_FILE && fc->eccFile) + LargeClose(fc->eccFile); + g_free(fc->lay); + } + + if(fc->gt) FreeGaloisTables(fc->gt); + if(fc->rt) FreeReedSolomonTables(fc->rt); + + g_free(fc); + + if(Closure->guiMode) + g_thread_exit(0); +} + +/* + * Expand a truncated image + */ + +static void expand_image(ImageInfo *ii, gint64 new_size) +{ int last_percent, percent; + gint64 sectors, new_sectors; + + if(!LargeSeek(ii->file, ii->size)) + Stop(_("Failed seeking to end of image: %s\n"), strerror(errno)); + + last_percent = 0; + new_sectors = new_size - ii->sectors; + for(sectors = 0; sectors < new_sectors; sectors++) + { unsigned char buf[2048]; + int n; + + CreateMissingSector(buf, ii->sectors+sectors, + ii->mediumFP, FINGERPRINT_SECTOR, + "RS03 fix placeholder"); + + n = LargeWrite(ii->file, buf, 2048); + if(n != 2048) + Stop(_("Failed expanding the image: %s\n"), strerror(errno)); + + percent = (100*sectors) / new_sectors; + if(last_percent != percent) + { if(Closure->guiMode) + ; + else PrintProgress(_("Expanding image: %3d%%"), percent); + last_percent = percent; + } + } + + if(Closure->guiMode) + ; + else + { PrintProgress(_("Expanding image: %3d%%"), 100); + PrintProgress("\n"); + } +} + +/*** + *** Test and fix the current image. + ***/ + +void RS03Fix(Method *self) +{ RS03Widgets *wl = (RS03Widgets*)self->widgetList; + RS03Layout *lay; + fix_closure *fc = g_malloc0(sizeof(fix_closure)); + ImageInfo *ii = NULL; + LargeFile *eccfile; + EccHeader *eh; +#ifdef HAVE_BIG_ENDIAN + EccHeader *eh_swapped; +#endif + gint32 *gf_index_of; + gint32 *gf_alpha_to; + gint64 block_idx[255]; + gint64 s; + guint32 *crc_buf, last_crc_sector1[512], last_crc_sector2[512]; + int nroots,ndata; + int crc_idx, ecc_idx; + int crc_valid = TRUE; + int cache_size, cache_sector, cache_offset; + int erasure_count,erasure_list[255],erasure_map[255]; + int error_count; + int percent, last_percent; + int worst_ecc = 0, local_plot_max = 0; + int i,j; + gint64 crc_errors=0; + gint64 data_count=0; + gint64 ecc_count=0; + gint64 crc_count=0; + gint64 data_corr=0; + gint64 ecc_corr=0; + gint64 corrected=0; + gint64 uncorrected=0; + gint64 damaged_sectors=0; + gint64 damaged_eccblocks=0; + gint64 damaged_eccsecs=0; + gint64 expected_sectors; + char *t=NULL,*msg; + + /*** Register the cleanup procedure for GUI mode */ + + fc->wl = wl; + fc->earlyTermination = TRUE; + RegisterCleanup(_("Repairing of image aborted"), fix_cleanup, fc); + + eh = self->lastEh; /* will always be present */ + + /*** Open the image file */ + + if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->fixHeadline), + _("Repairing the image.\n%s"), + _("Opening files...")); + + ii = fc->ii = OpenImageFile(eh, WRITEABLE_IMAGE); + + /* Calculate the layout and optinally open thee ecc file */ + + if(eh->methodFlags[0] & MFLAG_ECC_FILE) + { lay = fc->lay = CalcRS03Layout(uchar_to_gint64(eh->sectors), eh, ECC_FILE); + eccfile = fc->eccFile = LargeOpen(Closure->eccName, O_RDWR, IMG_PERMS); + + if(!eccfile) /* Failing here is unlikely since caller could open it */ + Stop("Could not open %s: %s",Closure->eccName, strerror(errno)); + } + else + { lay = fc->lay = CalcRS03Layout(uchar_to_gint64(eh->sectors), eh, ECC_IMAGE); + eccfile = ii->file; + } + + ndata = lay->ndata; + nroots = lay->nroots; + + /*** Set up the Galois field arithmetic */ + + fc->gt = CreateGaloisTables(RS_GENERATOR_POLY); + fc->rt = CreateReedSolomonTables(fc->gt, RS_FIRST_ROOT, RS_PRIM_ELEM, nroots); + gf_index_of = fc->gt->indexOf; + gf_alpha_to = fc->gt->alphaTo; + + /*** Expand a truncated image with "dead sector" markers */ + + if(eh->methodFlags[0] & MFLAG_ECC_FILE) + expected_sectors = lay->dataSectors; + else expected_sectors = lay->totalSectors; + + if(ii->sectors < expected_sectors) + expand_image(ii, expected_sectors); + + /*** Announce what we are going to do */ + + if(eh->methodFlags[0] & MFLAG_ECC_FILE) + msg = g_strdup_printf(_("Error correction file using Method RS03, %d roots, %4.1f%% redundancy."), + eh->eccBytes, + ((double)eh->eccBytes*100.0)/(double)eh->dataBytes); + else + msg = g_strdup_printf(_("Image contains error correction data: Method RS03, %d roots, %4.1f%% redundancy."), + eh->eccBytes, + ((double)eh->eccBytes*100.0)/(double)eh->dataBytes); + + if(Closure->guiMode) + { SetLabelText(GTK_LABEL(wl->fixHeadline), + _("Repairing the image.\n%s"), msg); + RS03SetFixMaxValues(wl, eh->dataBytes, eh->eccBytes, expected_sectors); + g_free(msg); + } + + PrintLog(_("\nFix mode: Repairable sectors will be fixed in the image.\n")); + + /*** Truncate an image with trailing garbage */ + + if(ii->sectors > expected_sectors) + { gint64 diff = ii->sectors - expected_sectors; + char *trans = _("The image file is %lld sectors longer as noted in the\n" + "ecc data. This might simply be zero padding, but could\n" + "also mean that the image was manipulated after appending\n" + "the error correction information.\n\n%s"); + + if(diff>0 && diff<=2) + { int answer = ModalWarning(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL, + _("Image file is %lld sectors longer than expected.\n" + "Assuming this is a TAO mode medium.\n" + "%lld sectors will be removed from the image end.\n"), + diff, diff); + + if(!answer) + { SwitchAndSetFootline(fc->wl->fixNotebook, 1, + fc->wl->fixFootline, + _("Aborted by user request!"), + Closure->redMarkup); + fc->earlyTermination = FALSE; /* suppress respective error message */ + goto terminate; + } + + ii->sectors -= diff; + + if(!LargeTruncate(ii->file, (gint64)(2048*ii->sectors))) + Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno)); + } + + if(diff>2 && Closure->guiMode) + { int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL, + trans, + diff, + _("Is it okay to remove the superfluous sectors?")); + + if(!answer) + { SwitchAndSetFootline(fc->wl->fixNotebook, 1, + fc->wl->fixFootline, + _("Aborted by user request!"), + Closure->redMarkup); + fc->earlyTermination = FALSE; /* suppress respective error message */ + goto terminate; + } + + ii->sectors -= diff; + + if(!LargeTruncate(ii->file, (gint64)(2048*ii->sectors))) + Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno)); + + PrintLog(_("Image has been truncated by %lld sectors.\n"), diff); + } + + if(diff>2 && !Closure->guiMode) + { if(!Closure->truncate) + Stop(trans, + diff, + _("Add the --truncate option to the program call\n" + "to have the superfluous sectors removed.")); + + ii->sectors -= diff; + + if(!LargeTruncate(ii->file, (gint64)(2048*ii->sectors))) + Stop(_("Could not truncate %s: %s\n"),Closure->imageName,strerror(errno)); + + PrintLog(_("Image has been truncated by %lld sectors.\n"), diff); + } + } + + /*** Prepare buffers for ecc code processing. + The first lay->dataSectors+lay->crcSectors are protected by ecc information. + The medium is logically divided into ndata layers and nroots slices. + Taking one sector from each layer and slice produces on ecc block + on which the error correction is carried out. + There is a total of lay->sectorsPerLayer ecc blocks. + A portion of cache_size sectors is read ahead from each layer, + giving a total cache size of 255*cache_size. */ + + cache_size = 2*Closure->cacheMB; /* ndata+nroots=255 medium sectors are approx. 0.5MB */ + + for(i=0; i<255; i++) + fc->imgBlock[i] = g_malloc(cache_size*2048); + + for(i=0; ieccIdx[i] = g_malloc(cache_size*sizeof(gint64)); + + /*** Setup the block counters for mapping medium sectors to ecc blocks. + We begin at the first ecc block (0) */ + + for(s=0, i=0; indata; s+=lay->sectorsPerLayer, i++) + block_idx[i] = s; + + ecc_idx = 0; + + cache_sector = cache_size; /* forces instant reload of imgBlock cache */ + cache_offset = 2048*cache_sector; + + /*** CRC sums for the first ecc block are stored in the last CRC sector. + Error handling is done later when this sector is actually used. */ + + RS03ReadSectors(eccfile, lay, + (unsigned char*)last_crc_sector2, + lay->ndata-1, lay->sectorsPerLayer-1, 1, RS03_READ_CRC); + + /*** Test ecc blocks and attempt error correction */ + + last_percent = -1; + + for(s=0; ssectorsPerLayer; s++) + { int bi; + + /* See if user hit the Stop button */ + + if(Closure->stopActions) + { SwitchAndSetFootline(fc->wl->fixNotebook, 1, + fc->wl->fixFootline, + _("Aborted by user request!"), + Closure->redMarkup); + fc->earlyTermination = FALSE; /* suppress respective error message */ + goto terminate; + } + + /* Fill cache with the next batch of cache_size ecc blocks. */ + + if(cache_sector >= cache_size) + { + if(lay->sectorsPerLayer-s < cache_size) + cache_size = lay->sectorsPerLayer-s; + + /* Read the data portion */ + + for(i=0; ifile, lay, fc->imgBlock[i], i, ecc_idx, + cache_size, RS03_READ_DATA); + } + + /* Read from the CRC layer */ + + RS03ReadSectors(eccfile, lay, fc->imgBlock[ndata-1], ndata-1, ecc_idx, + cache_size, RS03_READ_CRC); + + /* Keep a copy of the last CRC sector for the next pass */ + memcpy(last_crc_sector1, last_crc_sector2, 2048); + memcpy(last_crc_sector2, fc->imgBlock[ndata-1]+2048*(cache_size-1), 2048); + + /* and finally the ecc portion */ + + for(i=0; iimgBlock[i+ndata], i+ndata, ecc_idx, + cache_size, RS03_READ_ECC); + + /* Remember virtual (= augmented image sectors) in ecc file case */ + + for(j=0; jeccIdx[i][j] = (i+ndata)*lay->sectorsPerLayer + ecc_idx+j; + } + + cache_sector = cache_offset = 0; + } + + /* Set crc ptr to beginning of CRC sector. The first ECC block has no + CRC sector; the checksums are taken from the Ecc header instead. */ + + if(cache_sector==0) + { int err; + + crc_buf = last_crc_sector1; + err = CheckForMissingSector((unsigned char*)crc_buf, + lay->firstCrcPos, + eh->mediumFP, eh->fpSector); + crc_valid = (err == SECTOR_PRESENT); + } + else + { int err; + + crc_buf = (guint32*)(fc->imgBlock[ndata-1]+cache_offset-2048); + /* fixme: replace 0 with real CRC sector number */ + err = CheckForMissingSector((unsigned char*)crc_buf, + block_idx[ndata-1], + eh->mediumFP, eh->fpSector); + crc_valid = (err == SECTOR_PRESENT); + } + crc_idx = 0; + + /*** Look for erasures based on the "dead sector" marker and CRC sums */ + + erasure_count = error_count = 0; + + /* Check the data sectors */ + + for(i=0; indata; i++) + { int err = CheckForMissingSector(fc->imgBlock[i]+cache_offset, block_idx[i], + eh->mediumFP, eh->fpSector); + /* FIXME: sector number is wrong for CRC layer in ecc files */ + /* FIXME: Auto-replace the padding sectors */ + + if(err == SECTOR_PRESENT) + { erasure_map[i] = 0; + } + else + { erasure_map[i] = 1; + erasure_list[erasure_count++] = i; + damaged_sectors++; + } + + if(i < ndata-1) /* only data sectors have CRCs */ + { guint32 crc = Crc32(fc->imgBlock[i]+cache_offset, 2048); + + if(crc_valid && !erasure_map[i] && crc != crc_buf[crc_idx]) + { erasure_map[i] = 3; + erasure_list[erasure_count++] = i; + PrintCLI(_("CRC error in sector %lld\n"),block_idx[i]); + damaged_sectors++; + crc_errors++; + } + + data_count++; + crc_idx++; + } + else crc_count++; + } + + /* Check the ecc sectors */ + + for(i=lay->ndata; iimgBlock[i]+cache_offset, + fc->eccIdx[i-ndata][cache_sector], + eh->mediumFP, eh->fpSector); + //FIXME: wrong sector number in ecc files + if(err) + { erasure_map[i] = 1; + erasure_list[erasure_count++] = i; + damaged_sectors++; + } + else erasure_map[i] = 0; + + ecc_count++; + } + + /* Trivially reject uncorrectable ecc block */ + + if(erasure_count>lay->nroots) /* uncorrectable */ + { if(!Closure->guiMode) + { PrintCLI(_("* Ecc block %lld: %3d unrepairable sectors: "), s, erasure_count); + + for(i=0; ieccIdx[loc-ndata][cache_sector]); + } + PrintCLI("\n"); + } + + uncorrected += erasure_count; + goto skip; + } + + /* Build ecc block and attempt to correct it */ + + for(bi=0; bi<2048; bi++) /* Run through each ecc block byte */ + { int offset = cache_offset+bi; + int r, deg_lambda, el, deg_omega; + int u,q,tmp,num1,num2,den,discr_r; + int lambda[nroots+1], syn[nroots]; /* Err+Eras Locator poly * and syndrome poly */ + int b[nroots+1], t[nroots+1], omega[nroots+1]; + int root[nroots], reg[nroots+1], loc[nroots]; + int syn_error, count; + int k; + + /* Form the syndromes; i.e., evaluate data(x) at roots of g(x) */ + + for(i=0; iimgBlock[0][offset]; + + for(j=1; jimgBlock[j][offset]; + + for(i=0;i 0) + { lambda[1] = gf_alpha_to[mod_fieldmax(RS_PRIM_ELEM*(GF_FIELDMAX-1-erasure_list[0]))]; + for(i=1; i0; j--) + { tmp = gf_index_of[lambda[j-1]]; + if(tmp != GF_ALPHA0) + lambda[j] ^= gf_alpha_to[mod_fieldmax(u + tmp)]; + } + } + } + + for(i=0; i0; j--) + { if(reg[j] != GF_ALPHA0) + { reg[j] = mod_fieldmax(reg[j] + j); + q ^= gf_alpha_to[reg[j]]; + } + } + + if(q != 0) continue; /* Not a root */ + + /* store root (index-form) and error location number */ + + root[count] = i; + loc[count] = k; + + /* If we've already found max possible roots, abort the search to save time */ + + if(++count == deg_lambda) break; + } + + /* deg(lambda) unequal to number of roots => uncorrectable error detected */ + + if(deg_lambda != count) + { PrintLog("Decoder problem (%d != %d) for %d sectors: ", deg_lambda, count, erasure_count); + + for(i=0; ieccIdx[loc-ndata][cache_sector]); + } + PrintLog("\n"); + uncorrected += erasure_count; + goto skip; + } + + /* Compute err+eras evaluator poly omega(x) = syn(x)*lambda(x) + (modulo x**nroots). in index form. Also find deg(omega). */ + + deg_omega = deg_lambda-1; + + for(i=0; i<=deg_omega; i++) + { tmp = 0; + for(j=i; j>=0; j--) + { if((syn[i - j] != GF_ALPHA0) && (lambda[j] != GF_ALPHA0)) + tmp ^= gf_alpha_to[mod_fieldmax(syn[i - j] + lambda[j])]; + } + + omega[i] = gf_index_of[tmp]; + } + + /* Compute error values in poly-form. + num1 = omega(inv(X(l))), + num2 = inv(X(l))**(FIRST_ROOT-1) and + den = lambda_pr(inv(X(l))) all in poly-form. */ + + for(j=count-1; j>=0; j--) + { num1 = 0; + + for(i=deg_omega; i>=0; i--) + { if(omega[i] != GF_ALPHA0) + num1 ^= gf_alpha_to[mod_fieldmax(omega[i] + i * root[j])]; + } + + num2 = gf_alpha_to[mod_fieldmax(root[j] * (RS_FIRST_ROOT - 1) + GF_FIELDMAX)]; + den = 0; + + /* lambda[i+1] for i even is the formal derivative lambda_pr of lambda[i] */ + + for(i=MIN(deg_lambda, nroots-1) & ~1; i>=0; i-=2) + { if(lambda[i+1] != GF_ALPHA0) + den ^= gf_alpha_to[mod_fieldmax(lambda[i+1] + i * root[j])]; + } + + /* Apply error to data */ + + if(num1 != 0) + { int location = loc[j]; + + if(erasure_map[location] != 1) /* erasure came from CRC error */ + { int old = fc->imgBlock[location][offset]; + int new = old ^ gf_alpha_to[mod_fieldmax(gf_index_of[num1] + gf_index_of[num2] + GF_FIELDMAX - gf_index_of[den])]; + char *msg; + gint64 sector; + + if(erasure_map[location] == 3) /* erasure came from CRC error */ + { msg = _("-> CRC-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n"); + } + else + { msg = _("-> Non-predicted error in sector %lld at byte %4d (value %02x '%c', expected %02x '%c')\n"); + if(erasure_map[location] == 0) /* remember error location */ + { erasure_map[location] = 7; + error_count++; + } + } + + if(location < ndata) + sector = block_idx[location]; + else sector = fc->eccIdx[location-ndata][cache_sector]; + + PrintCLI(msg, + sector, bi, + old, isprint(old) ? old : '.', + new, isprint(new) ? new : '.'); + } + + fc->imgBlock[location][offset] ^= gf_alpha_to[mod_fieldmax(gf_index_of[num1] + gf_index_of[num2] + GF_FIELDMAX - gf_index_of[den])]; + } + } + } + + /* Write corrected sectors back to disc + and report them */ + + erasure_count += error_count; /* total errors encountered */ + + if(erasure_count) + { PrintCLI(_(" %3d repaired sectors: "), erasure_count); + + for(i=0; i<255; i++) + { gint64 sec; + char type='?'; + int length,n; + + if(!erasure_map[i]) continue; + + switch(erasure_map[i]) + { case 1: /* dead sector */ + type = 'd'; + break; + + case 3: /* crc error */ + type = 'c'; + break; + + case 7: /* other (new) error */ + type = 'n'; + damaged_sectors++; + break; + } + + if(i < ndata) { data_corr++; sec = block_idx[i]; } + else { ecc_corr++; sec = fc->eccIdx[i-ndata][cache_sector]; } + corrected++; + + PrintCLI("%lld%c ", sec, type); + + /* Write the recovered sector */ + + if(sec != lay->dataSectors-1) length = 2048; + else length = eh->inLast; /* non-image file may be clipped */ + + /* Write back into the image */ + + if( lay->target == ECC_IMAGE + || sec < lay->dataSectors) + { + if(!LargeSeek(ii->file, (gint64)(2048*sec))) + Stop(_("Failed seeking to sector %lld in image [%s]: %s"), + sec, "FW", strerror(errno)); + + n = LargeWrite(ii->file, cache_offset+fc->imgBlock[i], length); + if(n != length) + Stop(_("could not write medium sector %lld:\n%s"), sec, strerror(errno)); + } + + /* Write back into the error correction file. + Note that "sec" contains the virtual adresses as + if we were processing an augmented image. */ + + if( lay->target == ECC_FILE + && sec >= lay->firstCrcPos) //FIXME: correctness? + { gint64 first_crc_pos = (lay->ndata-1)*lay->sectorsPerLayer; + + if(sec >= first_crc_pos) + { gint64 real_sec = 2+sec-first_crc_pos; + + if(!LargeSeek(eccfile, (gint64)(2048*real_sec))) + Stop(_("Failed seeking to sector %lld in ecc file [%s]: %s"), + real_sec, "FW", strerror(errno)); + + n = LargeWrite(eccfile, cache_offset+fc->imgBlock[i], 2048); + if(n != 2048) + Stop(_("could not write ecc file sector %lld:\n%s"), + real_sec, strerror(errno)); + } + } + } + PrintCLI("\n"); + } + +skip: + /* Collect some damage statistics */ + + if(erasure_count) + damaged_eccsecs++; + + if(erasure_count>worst_ecc) + worst_ecc = erasure_count; + + if(erasure_count>local_plot_max) + local_plot_max = erasure_count; + + /* Advance the cache pointers */ + + cache_sector++; + cache_offset += 2048; + + /* Report progress */ + + percent = (1000*s)/lay->sectorsPerLayer; + + if(last_percent != percent) + { if(Closure->guiMode) + { + RS03AddFixValues(wl, percent, local_plot_max); + local_plot_max = 0; + + //if(last_corrected != corrected || last_uncorrected != uncorrected) + RS03UpdateFixResults(wl, corrected, uncorrected); + } + else PrintProgress(_("Ecc progress: %3d.%1d%%"),percent/10,percent%10); + last_percent = percent; + } + + /* Increment the block indices */ + + for(i=0; indata; i++) + block_idx[i]++; + + ecc_idx++; + } + + /*** Print results */ + + PrintProgress(_("Ecc progress: 100.0%%\n")); + + if(corrected > 0) PrintLog(_("Repaired sectors: %lld (%lld data, %lld ecc)\n"), + corrected, data_corr, ecc_corr); + if(uncorrected > 0) + { PrintLog(_("Unrepaired sectors: %lld\n"), uncorrected); + if(Closure->guiMode) + SwitchAndSetFootline(wl->fixNotebook, 1, wl->fixFootline, + _("Image sectors could not be fully restored " + "(%lld repaired; %lld unrepaired)"), + corrected, Closure->redMarkup, uncorrected); + exitCode = 2; + } + else + { if(!corrected) + { t=_("Good! All sectors are already present."); + PrintLog("%s\n", t); + exitCode = 0; + } + else + { t=_("Good! All sectors are repaired."); + PrintLog("%s\n", t); + exitCode = 1; + } + } + if(corrected > 0 || uncorrected > 0) + PrintLog(_("Erasure counts per ecc block: avg = %.1f; worst = %d.\n"), + (double)damaged_sectors/(double)damaged_eccsecs,worst_ecc); + + if(Closure->guiMode && t) + SwitchAndSetFootline(wl->fixNotebook, 1, wl->fixFootline, + "%s %s", _("Repair results:"), t); + + Verbose("\nSummary of processed sectors:\n"); + Verbose("%lld damaged sectors\n", damaged_sectors); + Verbose("%lld CRC errors\n", crc_errors); + Verbose("%lld of %lld ecc blocks damaged (%lld / %lld sectors)\n", + damaged_eccblocks, 2048*lay->sectorsPerLayer, + damaged_eccsecs, lay->sectorsPerLayer); + if(data_count != (ndata-1)*lay->sectorsPerLayer) + g_printf("ONLY %lld of %lld data sectors processed\n", + (long long int)data_count, (long long int)(ndata-1)*lay->sectorsPerLayer); + else Verbose("all data sectors processed\n"); + + if(crc_count != lay->sectorsPerLayer) + g_printf("%lld of %lld crc sectors processed\n", + (long long int)crc_count, (long long int)lay->sectorsPerLayer); + else Verbose("all crc sectors processed\n"); + + if(ecc_count != nroots*lay->sectorsPerLayer) + g_printf("%lld of %lld ecc sectors processed\n", + (long long int)ecc_count, (long long int)nroots*lay->sectorsPerLayer); + else Verbose("all ecc sectors processed\n"); + + /*** Clean up */ + + fc->earlyTermination = FALSE; + +terminate: + fix_cleanup((gpointer)fc); +} diff --git a/rs03-includes.h b/rs03-includes.h new file mode 100644 index 0000000..fc7b9a4 --- /dev/null +++ b/rs03-includes.h @@ -0,0 +1,199 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#ifndef RS03INCLUDES_H +#define RS03INCLUDES_H + +/* Data structs from rs03-window.c */ + +typedef struct +{ + /*** Widgets for RS03 encoding */ + + GtkWidget *encHeadline; + GtkWidget *encLabel1; + GtkWidget *encPBar1; + GtkWidget *encLabel2; + GtkWidget *encPBar2; + GtkWidget *encLabel3; + GtkWidget *encThreads; + GtkWidget *encLabel4; + GtkWidget *encPerformance; + GtkWidget *encLabel5; + GtkWidget *encBottleneck; + GtkWidget *encFootline; + GtkWidget *encFootline2; + + /*** Widgets for RS03 fixing */ + + GtkWidget *fixHeadline; + GtkWidget *fixDrawingArea; + GtkWidget *fixNotebook; + GtkWidget *fixFootline; + GtkWidget *fixFootlineBox; + GtkWidget *fixCorrected; + GtkWidget *fixProgress; + GtkWidget *fixUncorrected; + Curve *fixCurve; + + /*** Widgets for RS03 verify action */ + + GtkWidget *cmpHeadline; + GtkWidget *cmpDrawingArea; + + GtkWidget *cmpChkSumErrors; + GtkWidget *cmpMissingSectors; + + Spiral *cmpSpiral; + PangoLayout *cmpLayout; + + GtkWidget *cmpImageSectors; + GtkWidget *cmpImageMd5Sum; + GtkWidget *cmpDataSection; + GtkWidget *cmpCrcSection; + GtkWidget *cmpEccSection; + GtkWidget *cmpImageErasure; + GtkWidget *cmpImagePrognosis; + GtkWidget *cmpImageErasureCnt; + GtkWidget *cmpImagePrognosisMsg; + GtkWidget *cmpImageResult; + + GtkWidget *cmpEccCreatedBy; + GtkWidget *cmpEccMethod; + GtkWidget *cmpEccType; + GtkWidget *cmpEccRequires; + GtkWidget *cmpEccDataCrc; + GtkWidget *cmpEccDataCrcVal; + GtkWidget *cmpEccResult; + GtkWidget *cmpEccSynLabel; + GtkWidget *cmpEccSyndromes; + + /*** Widgets in the Preferences window */ + + GtkWidget *eccFileA, *eccFileB; + GtkWidget *eccImageA, *eccImageB; + GtkWidget *radio1A,*radio2A,*radio3A,*radio4A; + GtkWidget *radio1B,*radio2B,*radio3B,*radio4B; + GtkWidget *radio4LabelA, *radio4LabelB; + GtkWidget *redundancyNotebook; + GtkWidget *redundancyScaleA, *redundancyScaleB; + GtkWidget *redundancySpinA, *redundancySpinB; + GtkWidget *prefetchScaleA, *prefetchScaleB; + GtkWidget *threadsScaleA, *threadsScaleB; + LabelWithOnlineHelp *prefetchLwoh; + LabelWithOnlineHelp *threadsLwoh; + + /*** Some state vars used during fixing */ + + gint64 corrected; + gint64 uncorrected; + gint64 nSectors; + int eccBytes; + int dataBytes; + int percent, lastPercent; +} RS03Widgets; + +/* + * These are exported via the Method struct + */ + +void CreateRS03EncWindow(Method*, GtkWidget*); +void CreateRS03FixWindow(Method*, GtkWidget*); +void CreateRS03PrefsPage(Method*, GtkWidget*); +void ResetRS03EncWindow(Method*); +void ResetRS03FixWindow(Method*); +void ResetRS03PrefsPage(Method*); +void ReadRS03Preferences(Method*); + +void ResetRS03VerifyWindow(Method*); +void CreateRS03VerifyWindow(Method*, GtkWidget*); + +/* + * These are exported (resp. only used) in ecc-rs03.c and rs03*.c + * and should not be called from somewhere else as we can not + * rely on the method plug-in being available. + * If you need similar functions in your own codec, + * please copy these functions over to the respective plug-in. + */ + +/* rs03-common.c */ + +typedef struct _RS03Layout +{ EccHeader *eh; /* header for this image/ecc file */ + guint64 dataSectors; /* number of sectors used for image data */ + guint64 dataPadding; /* padding sectors in last data layer */ + guint64 totalSectors; /* data+padding+header+crc+ecc */ + guint64 sectorsPerLayer; /* sectors per RS layer (the are ndata layers) */ + guint64 mediumCapacity; /* selected medium capacity */ + guint64 eccHeaderPos; /* location of first ecc header */ + guint64 firstCrcPos; /* location of first crc sector */ + guint64 firstEccPos; /* location of first ecc sector */ + int nroots,ndata; /* RS encoding specification */ + int inLast; /* contents of last image file sector */ + double redundancy; /* resulting redundancy */ + int target; /* 0: ecc file; 1: augmented image */ +} RS03Layout; + +#define RS03_READ_NOTHING 0x00 +#define RS03_READ_DATA 0x01 +#define RS03_READ_CRC 0x02 +#define RS03_READ_ECC 0x04 + +void RS03ReadSectors(LargeFile*, RS03Layout*, unsigned char*, gint64, gint64, gint64, int); + +gint64 RS03SectorIndex(RS03Layout*, gint64, gint64); +RS03Layout *CalcRS03Layout(gint64, EccHeader *, int); +void WriteRS03Header(LargeFile*, RS03Layout*, EccHeader*); +void ReconstructRS03Header(EccHeader*, CrcBlock*); + +/* rs03-create.c */ + +void RS03Create(Method*); + +/* rs03-fix.c */ + +void RS03Fix(Method*); + +/* rs03-recognize.c */ + +int RS03RecognizeFile(Method*, LargeFile*); +EccHeader* FindRS03HeaderInImage(LargeFile*); +int RS03RecognizeImage(Method*, LargeFile*); + +/* rs03-window.c */ + +void RS03AddFixValues(RS03Widgets*, int, int); +void RS03SetFixMaxValues(RS03Widgets*, int, int, gint64); +void RS03UpdateFixResults(RS03Widgets*, gint64, gint64); + +/* rs03-verify.c */ + +#define VERIFY_IMAGE_SEGMENTS 1000 + +void RS03Verify(Method*); + +/* temporary single threaded versions */ + +void RS03SCreate(Method*); +void CreateRS03SEncWindow(Method*, GtkWidget*); +void ResetRS03SEncWindow(Method*); + +#endif diff --git a/rs03-preferences.c b/rs03-preferences.c new file mode 100644 index 0000000..20199d9 --- /dev/null +++ b/rs03-preferences.c @@ -0,0 +1,858 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#include "dvdisaster.h" + +#include "rs03-includes.h" + +/*** + *** Create the preferences page for setting redundancy etc. + ***/ + +enum +{ PREF_NROOTS = 0, + PREF_PRELOAD = 1, + PREF_THREADS = 2 +}; + +static int prefetch_size[] = { 32, 64, 96, 128, 192, 256, 384, 512, 768, 1024 }; +static int threads_count[] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,24,28,31,32 }; + +static void activate_toggle_button(GtkToggleButton *toggle, int state) +{ if(toggle) gtk_toggle_button_set_active(toggle, state); +} + +static void set_range_value(GtkRange *range, int value) +{ if(range) gtk_range_set_value(range, value); +} + +static void set_spin_button_value(GtkSpinButton *spin, int value) +{ if(spin) gtk_spin_button_set_value(spin, value); +} + +static void set_sensitive(GtkWidget *widget, int value) +{ + if(widget) gtk_widget_set_sensitive(widget, value); +} + +/* + * Ecc storage method selection + */ + +static void eccmethod_cb(GtkWidget *widget, gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + int state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); + + if(!state) /* only track changes to activate state */ + return; + + if(widget == wl->eccFileA || widget == wl->eccFileB) + { Closure->eccTarget = ECC_FILE; + + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->eccFileA), TRUE); + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->eccFileB), TRUE); + + set_sensitive(wl->radio1A, TRUE); + set_sensitive(wl->radio1B, TRUE); + + gtk_notebook_set_current_page(GTK_NOTEBOOK(wl->redundancyNotebook), 1); + } + + if(widget == wl->eccImageA || widget == wl->eccImageB) + { Closure->eccTarget = ECC_IMAGE; + + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->eccImageA), TRUE); + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->eccImageB), TRUE); + + set_sensitive(wl->radio1A, FALSE); + set_sensitive(wl->radio1B, FALSE); + + gtk_notebook_set_current_page(GTK_NOTEBOOK(wl->redundancyNotebook), 0); + } +} + +/* + * Setting the notebook page does not work at creation time. + */ + +static gboolean notebook_idle_func(gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + + switch(Closure->eccTarget) + { case ECC_FILE: + gtk_notebook_set_current_page(GTK_NOTEBOOK(wl->redundancyNotebook), 1); + break; + + case ECC_IMAGE: + gtk_notebook_set_current_page(GTK_NOTEBOOK(wl->redundancyNotebook), 0); + break; + } + + return FALSE; +} + + +/* + * Redundancy selection for error correction files. + * Cut&Paste from RS01; bad idea; but RS01 will be obsoleted soon. + */ + +static void nroots_cb(GtkWidget *widget, gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + int value; + + value = gtk_range_get_value(GTK_RANGE(widget)); + if(Closure->redundancy) g_free(Closure->redundancy); + Closure->redundancy = g_strdup_printf("%d", value); + + if(widget == wl->redundancyScaleA) + set_range_value(GTK_RANGE(wl->redundancyScaleB), value); + else set_range_value(GTK_RANGE(wl->redundancyScaleA), value); + + UpdateMethodPreferences(); +} + +static void ecc_size_cb(GtkWidget *widget, gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + int value; + + value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget)); + if(Closure->redundancy) g_free(Closure->redundancy); + Closure->redundancy = g_strdup_printf("%dm", value); + + if(widget == wl->redundancySpinA) + gtk_spin_button_set_value(GTK_SPIN_BUTTON(wl->redundancySpinB), atoi(Closure->redundancy)); + else gtk_spin_button_set_value(GTK_SPIN_BUTTON(wl->redundancySpinA), atoi(Closure->redundancy)); + + UpdateMethodPreferences(); +} + +static void toggle_cb(GtkWidget *widget, gpointer data) +{ Method *method = (Method*)data; + RS03Widgets *wl = (RS03Widgets*)method->widgetList; + int state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); + + if(state == TRUE) + { if(widget == wl->radio3A || widget == wl->radio3B) + { gtk_widget_set_sensitive(wl->redundancyScaleA, TRUE); + gtk_widget_set_sensitive(wl->redundancyScaleB, TRUE); + } + else + { gtk_widget_set_sensitive(wl->redundancyScaleA, FALSE); + gtk_widget_set_sensitive(wl->redundancyScaleB, FALSE); + } + + if(widget == wl->radio4A || widget == wl->radio4B) + { gtk_widget_set_sensitive(wl->redundancySpinA, TRUE); + gtk_widget_set_sensitive(wl->redundancySpinB, TRUE); + gtk_widget_set_sensitive(wl->radio4LabelA, TRUE); + gtk_widget_set_sensitive(wl->radio4LabelB, TRUE); + } + else + { gtk_widget_set_sensitive(wl->redundancySpinA, FALSE); + gtk_widget_set_sensitive(wl->redundancySpinB, FALSE); + gtk_widget_set_sensitive(wl->radio4LabelA, FALSE); + gtk_widget_set_sensitive(wl->radio4LabelB, FALSE); + } + + if( widget == wl->radio1A /* Normal */ + || widget == wl->radio1B) + { + set_range_value(GTK_RANGE(wl->redundancyScaleA), 32); + set_range_value(GTK_RANGE(wl->redundancyScaleB), 32); + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio1A), TRUE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio1B), TRUE); + + if(Closure->redundancy) g_free(Closure->redundancy); + Closure->redundancy = g_strdup("normal"); + } + + if( widget == wl->radio2A /* High */ + || widget == wl->radio2B) + { + set_range_value(GTK_RANGE(wl->redundancyScaleA), 64); + set_range_value(GTK_RANGE(wl->redundancyScaleB), 64); + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio2A), TRUE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio2B), TRUE); + + if(Closure->redundancy) g_free(Closure->redundancy); + Closure->redundancy = g_strdup("high"); + } + + if( widget == wl->radio3A /* number of roots */ + || widget == wl->radio3B) + { int nroots = gtk_range_get_value(GTK_RANGE(wl->redundancyScaleA)); + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio3A), TRUE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio3B), TRUE); + + if(Closure->redundancy) g_free(Closure->redundancy); + Closure->redundancy = g_strdup_printf("%d", nroots); + } + + if( widget == wl->radio4A /* relative to space usage */ + || widget == wl->radio4B) + { int space = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(wl->redundancySpinA)); + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio4A), TRUE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio4B), TRUE); + + if(Closure->redundancy) g_free(Closure->redundancy); + Closure->redundancy = g_strdup_printf("%dm", space); + } + + UpdateMethodPreferences(); + } +} + +/* + * Sector prefetch selection + */ + +static gchar* format_cb(GtkScale *scale, gdouble value, gpointer data) +{ char *label; + + switch(GPOINTER_TO_INT(data)) + { case PREF_PRELOAD: + case PREF_THREADS: + label = g_strdup(" "); + break; + case PREF_NROOTS: + { int nroots = value; + int ndata = GF_FIELDMAX - nroots; + + label = g_strdup_printf(_utf("%4.1f%% redundancy (%d roots)"), + ((double)nroots*100.0)/(double)ndata, + nroots); + } + break; + default: + label = g_strdup(" "); + break; + } +#if 0 + label = g_strdup_printf(_utf("%4.1f%% redundancy (%d roots)"), + ((double)nroots*100.0)/(double)ndata, + nroots); +#endif + FORGET(label); /* will be g_free()ed by the scale */ + return label; +} + +static void prefetch_cb(GtkWidget *widget, gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + LabelWithOnlineHelp *lwoh = wl->prefetchLwoh; + int value; + char *text, *utf; + + value = gtk_range_get_value(GTK_RANGE(widget)); + Closure->prefetchSectors = prefetch_size[value]; + + text = g_strdup_printf(_("%d sectors"), Closure->prefetchSectors); + utf = g_locale_to_utf8(text, -1, NULL, NULL, NULL); + gtk_label_set_markup(GTK_LABEL(lwoh->normalLabel), utf); + gtk_label_set_markup(GTK_LABEL(lwoh->linkLabel), utf); + SetOnlineHelpLinkText(lwoh, text); + UpdateMethodPreferences(); + g_free(text); + g_free(utf); +} + +static void threads_cb(GtkWidget *widget, gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + LabelWithOnlineHelp *lwoh = wl->threadsLwoh; + int value; + char *text, *utf; + + value = gtk_range_get_value(GTK_RANGE(widget)); + Closure->codecThreads = threads_count[value]; + + text = g_strdup_printf(_("%d threads"), Closure->codecThreads); + utf = g_locale_to_utf8(text, -1, NULL, NULL, NULL); + gtk_label_set_markup(GTK_LABEL(lwoh->normalLabel), utf); + gtk_label_set_markup(GTK_LABEL(lwoh->linkLabel), utf); + SetOnlineHelpLinkText(lwoh, text); + UpdateMethodPreferences(); + g_free(text); + g_free(utf); +} + +/* + * Some values may be shared with other codecs. + * If they changed there, update our preferences page. + */ + +void ResetRS03PrefsPage(Method *method) +{ RS03Widgets *wl = (RS03Widgets*)method->widgetList; + int index; + + /* Error correction file redundancy */ + + if(Closure->redundancy) + { + if(!strcmp(Closure->redundancy, "normal")) + { if(wl->radio1A && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wl->radio1A)) == FALSE) + { activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio1A), TRUE); + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio1B), TRUE); + } + } + else if(!strcmp(Closure->redundancy, "high")) + { if(wl->radio2A && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wl->radio2A)) == FALSE) + { activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio2A), TRUE); + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio2B), TRUE); + } + } + else + { int last = strlen(Closure->redundancy)-1; + + if(Closure->redundancy[last] == 'm') + { if(wl->redundancySpinA) + { int old = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(wl->redundancySpinA)); + int new; + + Closure->redundancy[last] = 0; + new = atoi(Closure->redundancy); + Closure->redundancy[last] = 'm'; + + if(new != old) + { set_spin_button_value(GTK_SPIN_BUTTON(wl->redundancySpinA), new); + set_spin_button_value(GTK_SPIN_BUTTON(wl->redundancySpinB), new); + } + + if(wl->radio4A && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wl->radio4A)) == FALSE) + { activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio4A), TRUE); + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio4B), TRUE); + } + } + } + else + { if(wl->redundancyScaleA) + { int old = gtk_range_get_value(GTK_RANGE(wl->redundancyScaleA)); + int new = atoi(Closure->redundancy); + + if(new != old) + { set_range_value(GTK_RANGE(wl->redundancyScaleA), new); + set_range_value(GTK_RANGE(wl->redundancyScaleB), new); + } + + if(wl->radio3A && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wl->radio3A)) == FALSE) + { activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio3A), TRUE); + activate_toggle_button(GTK_TOGGLE_BUTTON(wl->radio3B), TRUE); + } + } + } + } + } + + /* Prefetching */ + + for(index = 0; index < sizeof(prefetch_size)/sizeof(int); index++) + if(prefetch_size[index] > Closure->prefetchSectors) + break; + + set_range_value(GTK_RANGE(wl->prefetchScaleA), index > 0 ? index-1 : index); + set_range_value(GTK_RANGE(wl->prefetchScaleB), index > 0 ? index-1 : index); + + /* Number of threads */ + + for(index = 0; index < sizeof(threads_count)/sizeof(int); index++) + if(threads_count[index] > Closure->codecThreads) + break; + + set_range_value(GTK_RANGE(wl->threadsScaleA), index > 0 ? index-1 : index); + set_range_value(GTK_RANGE(wl->threadsScaleB), index > 0 ? index-1 : index); +} + +/* + * Read values from our preferences page + * to make sure that all changed values from text entries + * are recognized. + */ + +void ReadRS03Preferences(Method *method) +{ +#if 0 + RS03Widgets *wl = (RS03Widgets*)method->widgetList; +#endif +} + +static gboolean wrapper_fix_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) +{ int *last_width = (int*)data; + int label_width = widget->allocation.width; + + if(*last_width == label_width) /* short circuit expose events */ + return FALSE; /* without size changes */ + + *last_width = label_width; + + /* This is a hack. We feed the label its own allocation to make it redraw. + Note that we subtract 4 or else the window would never shrink again. */ + + if(label_width<0 || label_width>200) + gtk_widget_set_size_request(widget, label_width-4, -1); + + return FALSE; +} + +/* + * Create our preferences page + */ + +void CreateRS03PrefsPage(Method *method, GtkWidget *parent) +{ static int warning_width; + RS03Widgets *wl = (RS03Widgets*)method->widgetList; + GtkWidget *frame, *hbox, *vbox, *lab, *scale, *spin, *radio; + LabelWithOnlineHelp *lwoh; + unsigned int index; + char *text; + int i; + + /*** Experimental release warning */ + + frame = gtk_frame_new(NULL); + gtk_widget_modify_fg(frame, GTK_STATE_NORMAL, Closure->redText); + gtk_widget_modify_bg(frame, GTK_STATE_NORMAL, Closure->redText); + gtk_container_set_border_width(GTK_CONTAINER(frame), 10); + gtk_box_pack_start(GTK_BOX(parent), frame, FALSE, FALSE, 0); + + vbox = gtk_vbox_new(FALSE, 10); + gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); + gtk_container_add(GTK_CONTAINER(frame), vbox); + + lab = gtk_label_new(NULL); + text = g_locale_to_utf8(_("Warning: This codec is experimental and for evaluation only. " + "It is not yet fully implemented and does contain bugs. " + "Future dvdisaster versions may not be compatible with it. " + "Do not yet use this codec for any archival purposes."), + -1, NULL, NULL, NULL); + gtk_label_set_markup(GTK_LABEL(lab), text); + g_free(text); + + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_label_set_line_wrap(GTK_LABEL(lab), TRUE); + g_signal_connect(lab, "expose_event", G_CALLBACK(wrapper_fix_cb), &warning_width); + + // gtk_container_add(GTK_CONTAINER(frame), lab); + gtk_box_pack_start(GTK_BOX(vbox), lab, FALSE, FALSE, 0); + + /*** Target for error correction data */ + + frame = gtk_frame_new(_utf("Error correction data storage")); + gtk_box_pack_start(GTK_BOX(parent), frame, FALSE, FALSE, 0); + + vbox = gtk_vbox_new(FALSE, 10); + gtk_container_set_border_width(GTK_CONTAINER(vbox), 10); + gtk_container_add(GTK_CONTAINER(frame), vbox); + + lwoh = CreateLabelWithOnlineHelp(_("Error correction data storage"), + _("Store ECC data in: ")); + RegisterPreferencesHelpWindow(lwoh); + + for(i=0; i<2; i++) + { GtkWidget *hbox = gtk_hbox_new(FALSE, 4); + GtkWidget *radio1, *radio2; + + gtk_box_pack_start(GTK_BOX(hbox), i ? lwoh->normalLabel : lwoh->linkBox, FALSE, FALSE, 0); + + radio1 = gtk_radio_button_new(NULL); + g_signal_connect(G_OBJECT(radio1), "toggled", G_CALLBACK(eccmethod_cb), (gpointer)wl); + gtk_box_pack_start(GTK_BOX(hbox), radio1, FALSE, FALSE, 0); + lab = gtk_label_new(_utf("File")); + gtk_container_add(GTK_CONTAINER(radio1), lab); + + radio2 = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(radio1)); + g_signal_connect(G_OBJECT(radio2), "toggled", G_CALLBACK(eccmethod_cb), (gpointer)wl); + gtk_box_pack_start(GTK_BOX(hbox), radio2, FALSE, FALSE, 0); + lab = gtk_label_new(_utf("Image")); + gtk_container_add(GTK_CONTAINER(radio2), lab); + + switch(Closure->eccTarget) + { case ECC_FILE: activate_toggle_button(GTK_TOGGLE_BUTTON(radio1), TRUE); break; + case ECC_IMAGE: activate_toggle_button(GTK_TOGGLE_BUTTON(radio2), TRUE); break; + } + + if(!i) + { wl->eccFileA = radio1; + wl->eccImageA = radio2; + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); + } + else + { wl->eccFileB = radio1; + wl->eccImageB = radio2; + AddHelpWidget(lwoh, hbox); + } + } + + AddHelpParagraph(lwoh, + _("Error correction data storage\n\n" + "Select between two ways of storing the " + "error correction information:\n")); + + + AddHelpListItem(lwoh, _("Augmented image (recommended)\n" + "The error correction data will be stored along with the user data on the " + "same medium. This requires the creation of an image file prior to writing the " + "medium. The error correction data will be appended to that image " + "and fill up the remaining space.\n" + "Damaged sectors in the error correction " + "information reduce the data recovery capacity, but do not make recovery " + "impossible - a second medium for keeping or protecting the error correction " + "information is not required.\n")); + + AddHelpListItem(lwoh, _("Error correction file\n" + "Error correction files are the only way of protecting existing media " + "as they can be stored somewhere else. They are kept on a separate " + "medium which must also be protected by dvdisaster. This prevents from losing the " + "error correction files in case of a medium defect.\n")); + + /*** Redundancy selection */ + + frame = gtk_frame_new(_utf("Redundancy for new error correction files")); + gtk_box_pack_start(GTK_BOX(parent), frame, FALSE, FALSE, 0); + + /* Notebook for disabling redundancy selection for embedded images */ + + wl->redundancyNotebook = gtk_notebook_new(); + gtk_notebook_set_show_tabs(GTK_NOTEBOOK(wl->redundancyNotebook), FALSE); + gtk_notebook_set_show_border(GTK_NOTEBOOK(wl->redundancyNotebook), FALSE); + gtk_container_add(GTK_CONTAINER(frame), wl->redundancyNotebook); + + /* dummy page for augmented images */ + + lab = gtk_label_new(_utf("no settings for augmented images")); + gtk_notebook_append_page(GTK_NOTEBOOK(wl->redundancyNotebook), lab, + gtk_label_new("")); + + g_idle_add(notebook_idle_func, wl); /* defer notebook page activation */ + + /* real entry for error correction files */ + + vbox = gtk_vbox_new(FALSE, 10); + gtk_container_set_border_width(GTK_CONTAINER(vbox), 10); + gtk_notebook_append_page(GTK_NOTEBOOK(wl->redundancyNotebook), vbox, + gtk_label_new("")); + + /* Normal redundancy */ + + lwoh = CreateLabelWithOnlineHelp(_("Normal redundancy"), _("Normal")); + RegisterPreferencesHelpWindow(lwoh); + + for(i=0; i<2; i++) + { GtkWidget *hbox = gtk_hbox_new(FALSE, 4); + + radio = gtk_radio_button_new(NULL); + g_signal_connect(G_OBJECT(radio), "toggled", G_CALLBACK(toggle_cb), method); + gtk_box_pack_start(GTK_BOX(hbox), radio, FALSE, FALSE, 0); + + if(!i) + { wl->radio1A = radio; + gtk_box_pack_start(GTK_BOX(hbox), lwoh->linkBox, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); + } + else + { wl->radio1B = radio; + gtk_box_pack_start(GTK_BOX(hbox), lwoh->normalLabel, FALSE, FALSE, 0); + AddHelpWidget(lwoh, hbox); + } + } + + AddHelpParagraph(lwoh, _("Normal redundancy\n\n" + "The preset \"normal\" creates a redundancy of 14.3%%.\n" + "It invokes optimized program code to speed up the " + "error correction file creation.")); + + /* High redundancy */ + + lwoh = CreateLabelWithOnlineHelp(_("High redundancy"), _("High")); + RegisterPreferencesHelpWindow(lwoh); + + for(i=0; i<2; i++) + { GtkWidget *hbox = gtk_hbox_new(FALSE, 4); + + radio = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(i?wl->radio1B:wl->radio1A)); + g_signal_connect(G_OBJECT(radio), "toggled", G_CALLBACK(toggle_cb), method); + gtk_box_pack_start(GTK_BOX(hbox), radio, FALSE, FALSE, 0); + + if(!i) + { wl->radio2A = radio; + gtk_box_pack_start(GTK_BOX(hbox), lwoh->linkBox, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); + } + else + { wl->radio2B = radio; + gtk_box_pack_start(GTK_BOX(hbox), lwoh->normalLabel, FALSE, FALSE, 0); + AddHelpWidget(lwoh, hbox); + } + } + + AddHelpParagraph(lwoh, _("High redundancy\n\n" + "The preset \"high\" creates a redundancy of 33.5%%.\n" + "It invokes optimized program code to speed up the " + "error correction file creation.")); + + + /* User-selected redundancy */ + + lwoh = CreateLabelWithOnlineHelp(_("Other redundancy"), _("Other")); + RegisterPreferencesHelpWindow(lwoh); + + for(i=0; i<2; i++) + { hbox = gtk_hbox_new(FALSE, 4); + + radio = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(i?wl->radio1B:wl->radio1A)); + g_signal_connect(G_OBJECT(radio), "toggled", G_CALLBACK(toggle_cb), method); + gtk_box_pack_start(GTK_BOX(hbox), radio, FALSE, FALSE, 0); + + if(!i) + { wl->radio3A = radio; + gtk_box_pack_start(GTK_BOX(hbox), lwoh->linkBox, FALSE, FALSE, 0); + } + else + { wl->radio3B = radio; + gtk_box_pack_start(GTK_BOX(hbox), lwoh->normalLabel, FALSE, FALSE, 0); + } + + scale = gtk_hscale_new_with_range(8,170,1); + gtk_scale_set_value_pos(GTK_SCALE(scale), GTK_POS_RIGHT); + gtk_range_set_increments(GTK_RANGE(scale), 1, 1); + gtk_range_set_value(GTK_RANGE(scale), 32); + gtk_widget_set_sensitive(scale, FALSE); + g_signal_connect(scale, "format-value", G_CALLBACK(format_cb), (gpointer)PREF_NROOTS); + g_signal_connect(scale, "value-changed", G_CALLBACK(nroots_cb), (gpointer)wl); + gtk_container_add(GTK_CONTAINER(hbox), scale); + + if(!i) + { wl->redundancyScaleA = scale; + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); + } + else + { wl->redundancyScaleB = scale; + AddHelpWidget(lwoh, hbox); + } + } + + AddHelpParagraph(lwoh, _("Other redundancy\n\n" + "Specifies the redundancy by percent.\n" + "An error correction file with x%% redundancy " + "will be approximately x%% of the size of the " + "corresponding image file.")); + + /* Space-delimited redundancy */ + + lwoh = CreateLabelWithOnlineHelp(_("Space-delimited redundancy"), _("Use at most")); + RegisterPreferencesHelpWindow(lwoh); + + for(i=0; i<2; i++) + { hbox = gtk_hbox_new(FALSE, 4); + + radio = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(i?wl->radio1B:wl->radio1A)); + g_signal_connect(G_OBJECT(radio), "toggled", G_CALLBACK(toggle_cb), method); + gtk_box_pack_start(GTK_BOX(hbox), radio, FALSE, FALSE, 0); + + if(!i) + { wl->radio4A = radio; + gtk_box_pack_start(GTK_BOX(hbox), lwoh->linkBox, FALSE, FALSE, 0); + } + else + { wl->radio4B = radio; + gtk_box_pack_start(GTK_BOX(hbox), lwoh->normalLabel, FALSE, FALSE, 0); + } + + spin = gtk_spin_button_new_with_range(0, 100000, 100); + g_signal_connect(spin, "value-changed", G_CALLBACK(ecc_size_cb), (gpointer)wl); + gtk_entry_set_width_chars(GTK_ENTRY(spin), 8); + gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0); + + lab = gtk_label_new(_utf("MB for error correction data")); + gtk_box_pack_start(GTK_BOX(hbox), lab, FALSE, FALSE, 0); + gtk_widget_set_sensitive(spin, FALSE); + gtk_widget_set_sensitive(lab, FALSE); + + if(!i) + { wl->redundancySpinA = spin; + wl->radio4LabelA = lab; + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); + } + else + { wl->redundancySpinB = spin; + wl->radio4LabelB = lab; + AddHelpWidget(lwoh, hbox); + } + } + + AddHelpParagraph(lwoh, _("Space-delimited redundancy\n\n" + "Specifies the maximum size of the error correction file in MB. " + "dvdisaster will choose a suitable redundancy setting so that " + "the overall size of the error correction file does not exceed " + "the given limit.\n\n" + "Advance notice: When using the same size setting for " + "images of vastly different size, smaller images receive more " + "redundancy than larger ones. This is usually not what you want.")); + + /* Preset redundancy values + FIXME: replace by ResetRS03Prefs()? */ + + if(Closure->redundancy) + { if(!strcmp(Closure->redundancy, "normal")) + { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio1A), TRUE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio1B), TRUE); + } + else if(!strcmp(Closure->redundancy, "high")) + { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio2A), TRUE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio2B), TRUE); + } + else + { int last = strlen(Closure->redundancy)-1; + + if(Closure->redundancy[last] == 'm') + { Closure->redundancy[last] = 0; + gtk_spin_button_set_value(GTK_SPIN_BUTTON(wl->redundancySpinA), atoi(Closure->redundancy)); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(wl->redundancySpinB), atoi(Closure->redundancy)); + Closure->redundancy[last] = 'm'; + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio4A), TRUE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio4B), TRUE); + } + else + { gtk_range_set_value(GTK_RANGE(wl->redundancyScaleA), atoi(Closure->redundancy)); + gtk_range_set_value(GTK_RANGE(wl->redundancyScaleB), atoi(Closure->redundancy)); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio3A), TRUE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wl->radio3B), TRUE); + } + } + } + + /*** Prefetch sectors */ + + frame = gtk_frame_new(_utf("Sector prefetch")); + gtk_box_pack_start(GTK_BOX(parent), frame, FALSE, FALSE, 0); + + text = g_strdup_printf(_("%d sectors"), Closure->prefetchSectors); + lwoh = CreateLabelWithOnlineHelp(_("Sector prefetching"), text); + RegisterPreferencesHelpWindow(lwoh); + g_free(text); + + wl->prefetchLwoh = lwoh; + LockLabelSize(GTK_LABEL(lwoh->normalLabel), _utf("%d sectors"), 2222); + LockLabelSize(GTK_LABEL(lwoh->linkLabel), _utf("%d sectors"), 2222); + + for(i=0; i<2; i++) + { GtkWidget *hbox = gtk_hbox_new(FALSE, 4); + int n_entries = sizeof(prefetch_size)/sizeof(int); + + lab = gtk_label_new(_utf("Prefetch")); + gtk_box_pack_start(GTK_BOX(hbox), lab, FALSE, FALSE, 0); + + for(index = 0; index < n_entries; index++) + if(prefetch_size[index] > Closure->prefetchSectors) + break; + + scale = gtk_hscale_new_with_range(0,n_entries-1,1); + gtk_scale_set_value_pos(GTK_SCALE(scale), GTK_POS_RIGHT); + gtk_range_set_increments(GTK_RANGE(scale), 1, 1); + gtk_range_set_value(GTK_RANGE(scale), index > 0 ? index-1 : index); + g_signal_connect(scale, "format-value", G_CALLBACK(format_cb), (gpointer)PREF_PRELOAD); + g_signal_connect(scale, "value-changed", G_CALLBACK(prefetch_cb), (gpointer)wl); + gtk_box_pack_start(GTK_BOX(hbox), scale, TRUE, TRUE, 0); + + if(!i) + { wl->prefetchScaleA = scale; + gtk_container_set_border_width(GTK_CONTAINER(hbox), 10); + gtk_box_pack_start(GTK_BOX(hbox), lwoh->linkBox, FALSE, FALSE, 0); + gtk_container_add(GTK_CONTAINER(frame), hbox); + } + else + { wl->prefetchScaleB = scale; + gtk_box_pack_start(GTK_BOX(hbox), lwoh->normalLabel, FALSE, FALSE, 0); + AddHelpWidget(lwoh, hbox); + } + } + + AddHelpParagraph(lwoh, _("Sector preloading\n\n" + "dvdisaster optimizes access to the image and error correction " + "data by preloading and caching parts of them.\n\n" + "The optimal preload value depends on the storage system " + "used for the image and error correction files.\n" + "Use small preload values for systems with low latency " + "and seek time, e.g. SSDs. For magnetic hard disks " + "performace may be better using larger preload values.\n\n" + "A preload value of n will used approx. n MB of RAM.")); + + /*** Number of threads */ + + frame = gtk_frame_new(_utf("Multithreading")); + gtk_box_pack_start(GTK_BOX(parent), frame, FALSE, FALSE, 0); + + text = g_strdup_printf(_("%d threads"), Closure->codecThreads); + lwoh = CreateLabelWithOnlineHelp(_("Multithreading"), text); + RegisterPreferencesHelpWindow(lwoh); + g_free(text); + + wl->threadsLwoh = lwoh; + LockLabelSize(GTK_LABEL(lwoh->normalLabel), _utf("%d threads"), 22); + LockLabelSize(GTK_LABEL(lwoh->linkLabel), _utf("%d threads"), 22); + + for(i=0; i<2; i++) + { GtkWidget *hbox = gtk_hbox_new(FALSE, 4); + int n_entries = sizeof(threads_count)/sizeof(int); + + lab = gtk_label_new(_utf("Use")); + gtk_box_pack_start(GTK_BOX(hbox), lab, FALSE, FALSE, 0); + + for(index = 0; index < n_entries; index++) + if(threads_count[index] > Closure->codecThreads) + break; + + scale = gtk_hscale_new_with_range(0,n_entries-1,1); + gtk_scale_set_value_pos(GTK_SCALE(scale), GTK_POS_RIGHT); + gtk_range_set_increments(GTK_RANGE(scale), 1, 1); + gtk_range_set_value(GTK_RANGE(scale), index > 0 ? index-1 : index); + g_signal_connect(scale, "format-value", G_CALLBACK(format_cb), (gpointer)PREF_THREADS); + g_signal_connect(scale, "value-changed", G_CALLBACK(threads_cb), (gpointer)wl); + gtk_box_pack_start(GTK_BOX(hbox), scale, TRUE, TRUE, 0); + + if(!i) + { wl->threadsScaleA = scale; + gtk_container_set_border_width(GTK_CONTAINER(hbox), 10); + gtk_box_pack_start(GTK_BOX(hbox), lwoh->linkBox, FALSE, FALSE, 0); + gtk_container_add(GTK_CONTAINER(frame), hbox); + } + else + { wl->threadsScaleB = scale; + gtk_box_pack_start(GTK_BOX(hbox), lwoh->normalLabel, FALSE, FALSE, 0); + AddHelpWidget(lwoh, hbox); + } + } + + AddHelpParagraph(lwoh, _("Multithreading\n\n" + "RS03 can use multiple threads (and therefore CPU cores)" + "for encoding.\n" + "For systems with 4 cores or less, set the number of " + "threads to the number of cores. If you have more cores, " + "leave one unused for doing I/O and graphics updates.\n" + "E.g. use 7 threads on an 8 core system.\n\n" + "Performance will not scale linearly " + "with the number of CPU cores. Hard disk performance " + "is more limiting than raw CPU power. When using " + "4 cores or more, memory bandwidth may also affect " + "performance.")); +} diff --git a/rs03-recognize.c b/rs03-recognize.c new file mode 100644 index 0000000..ae4b2f4 --- /dev/null +++ b/rs03-recognize.c @@ -0,0 +1,300 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#include "dvdisaster.h" +#include "udf.h" + +#include "rs03-includes.h" + +/*** + *** Recognize a RS03 error correction file + ***/ + +int RS03RecognizeFile(Method *self, LargeFile *ecc_file) +{ EccHeader eh; + int n; + + LargeSeek(ecc_file, 0); + n = LargeRead(ecc_file, &eh, sizeof(EccHeader)); + + if(n != sizeof(EccHeader)) + return FALSE; + + if(strncmp((char*)eh.cookie, "*dvdisaster*", 12)) + return FALSE; + + if(!strncmp((char*)eh.method, "RS03", 4)) + { + if(self->lastEh) g_free(self->lastEh); + self->lastEh = g_malloc(sizeof(EccHeader)); + memcpy(self->lastEh, &eh, sizeof(EccHeader)); + +#ifdef HAVE_BIG_ENDIAN + SwapEccHeaderBytes(self->lastEh); +#endif + return TRUE; + } + + return FALSE; +} + +/*** + *** Recognize RS03 error correction data in the image + ***/ + +#if 0 +static int read_fingerprint(LargeFile *file, unsigned char *fingerprint, gint64 sector) +{ struct MD5Context md5ctxt; + unsigned char buf[2048]; + int n; + + if(!LargeSeek(file, 2048LL*sector)) + return FALSE; + + n = LargeRead(file, buf, 2048); + + if(n != 2048) return FALSE; + + if(CheckForMissingSector(buf, sector, NULL, 0) != SECTOR_PRESENT) + return FALSE; + + MD5Init(&md5ctxt); + MD5Update(&md5ctxt, buf, 2048); + MD5Final(fingerprint, &md5ctxt); + + return TRUE; +} +#endif + +EccHeader* ValidHeader(unsigned char *buf, gint64 hdr_pos) +{ EccHeader *eh = (EccHeader*)buf; + guint32 recorded_crc, real_crc; + // unsigned char fingerprint[16]; + + /* Medium read error in ecc header? */ + + if( (CheckForMissingSector(buf, hdr_pos, NULL, 0) != SECTOR_PRESENT) + || (CheckForMissingSector(buf+2048, hdr_pos+1, NULL, 0) != SECTOR_PRESENT)) + return NULL; + + /* See if the magic cookie is there */ + + if( strncmp((char*)eh->cookie, "*dvdisaster*", 12) + || strncmp((char*)eh->method, "RS03", 4)) // FIXME + return NULL; + + /* Examine the checksum */ + + recorded_crc = eh->selfCRC; + +#ifdef HAVE_BIG_ENDIAN + eh->selfCRC = 0x47504c00; +#else + eh->selfCRC = 0x4c5047; +#endif + real_crc = Crc32((unsigned char*)eh, 4096); + + if(real_crc != recorded_crc) + return NULL; + + /* Check the fingerprint */ + + eh = g_malloc(sizeof(EccHeader)); + memcpy(eh, buf, sizeof(EccHeader)); +#ifdef HAVE_BIG_ENDIAN + SwapEccHeaderBytes(eh); +#endif + eh->selfCRC = recorded_crc; + +#if 0 + status = read_fingerprint(file, fingerprint, eh->fpSector); + + if(!status) /* be optimistic if fingerprint sector is unreadable */ + return eh; + + if(!memcmp(fingerprint, eh->mediumFP, 16)) /* good fingerprint */ + { printf("RS03 header found\n"); + return eh; + } + g_free(eh); +#endif + + return eh; +} + +EccHeader* FindRS03HeaderInImage(LargeFile *file) +{ EccHeader *eh = NULL; + IsoInfo *ii; + gint64 hdr_pos; + unsigned char buf[4096]; + + Verbose("FindRS03HeaderInImage(%s)\n", file->path); + + /*** Try to find the header behind the ISO image */ + + ii = ExamineUDF(NULL, file); + if(!ii) Verbose(" . NO ISO structures found!\n"); + + if(ii) + { hdr_pos = ii->volumeSize; + if(LargeSeek(file, 2048*hdr_pos)) + { int n = LargeRead(file, buf, sizeof(EccHeader)); + + if(n == sizeof(EccHeader)) + { eh = ValidHeader(buf, hdr_pos); + if(eh) + { Verbose("FindRS03HeaderInImage(): Header found at pos +0\n"); + return eh; + } + } + } + + hdr_pos = ii->volumeSize - 150; + if(LargeSeek(file, 2048*hdr_pos)) + { int n = LargeRead(file, buf, sizeof(EccHeader)); + + if(n == sizeof(EccHeader)) + { eh = ValidHeader(buf, hdr_pos); + if(eh) + { Verbose("FindRS03HeaderInImage(): Header found at pos -150\n"); + return eh; + } + } + } + } + + return NULL; +} + +typedef struct +{ gint64 bidx[256]; + char *layer[256]; +} recognize_context; + +static void free_recognize_context(recognize_context *rc) +{ int i; + + for(i=0; i<255; i++) + if(rc->layer[i]) + g_free(rc->layer[i]); + + g_free(rc); +} + +int RS03RecognizeImage(Method *self, LargeFile *ecc_file) +{ recognize_context *rc = g_malloc0(sizeof(recognize_context)); + EccHeader *eh; + gint64 file_size; + gint64 layer_size; + int ecc_block,ndata,nroots; + int i; + + /* Easy shot: Locate the ecc header in the image */ + + eh = FindRS03HeaderInImage(ecc_file); + + if(eh) + { if(self->lastEh) g_free(self->lastEh); + self->lastEh = eh; + return TRUE; + } + + /* No exhaustive search unless explicitly okayed by user */ + + if(!Closure->examineRS03) + return FALSE; + + /* Ugly case. Experimentally try the RS-Code. */ + + Verbose("RS03RecognizeImage(): No EH\n"); + + if(!LargeStat(Closure->imageName, &file_size)) + return FALSE; + + file_size /= 2048; + + if(Closure->debugMode && Closure->mediumSize) + layer_size = Closure->mediumSize/GF_FIELDMAX; + else + { if(file_size < CDR_SIZE) layer_size = CDR_SIZE/GF_FIELDMAX; + else if(file_size < DVD_SL_SIZE) layer_size = DVD_SL_SIZE/GF_FIELDMAX; + else if(file_size < DVD_DL_SIZE) layer_size = DVD_DL_SIZE/GF_FIELDMAX; + else if(file_size < BD_SL_SIZE) layer_size = BD_SL_SIZE/GF_FIELDMAX; + else layer_size = BD_DL_SIZE/GF_FIELDMAX; + } + + Verbose(".. trying layer size %lld\n", layer_size); + + for(i=0; i<255; i++) + { rc->bidx[i] = i*layer_size; + rc->layer[i] = malloc(2048); + } + + /* Now try all ecc blocks */ + + for(ecc_block=0; ecc_blockbidx[i]++; + int n; + + if(!LargeSeek(ecc_file, (gint64)(2048*sector))) + Stop(_("Failed seeking to sector %lld in image: %s"), + sector, strerror(errno)); + + n = LargeRead(ecc_file, rc->layer[i], 2048); + if(n != 2048) + Stop(_("Failed reading sector %lld in image: %s"),sector,strerror(errno)); + } + + /* Experimentally apply the RS code */ + + for(ndata=255-8; ndata >=85; ndata--) + { CrcBlock *cb = (CrcBlock*)rc->layer[ndata]; + + /* Do the real decode here */ + + + /* See if we have decoded a CRC block */ + + if( !memcmp(cb->cookie, "*dvdisaster*", 12) + ||!memcmp(cb->method, "RS03", 4)) + { + nroots = 255-ndata-1; + Verbose(".. Success: rediscovered format with %d roots\n", nroots); + + if(self->lastEh) g_free(self->lastEh); + self->lastEh = g_malloc(sizeof(EccHeader)); + ReconstructRS03Header(self->lastEh, cb); + //FIXME: endianess okay? + free_recognize_context(rc); + return TRUE; + } + } + } + + free_recognize_context(rc); + return FALSE; +} + diff --git a/rs03-verify.c b/rs03-verify.c new file mode 100644 index 0000000..350a9a3 --- /dev/null +++ b/rs03-verify.c @@ -0,0 +1,1333 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#include "dvdisaster.h" + +#include "rs03-includes.h" + +#define EXIT_CODE_SIZE_MISMATCH 1 +#define EXIT_CODE_VERSION_MISMATCH 2 + +#define EXIT_CODE_UNEXPECTED_EOF 10 +#define EXIT_CODE_MISSING_SECTOR 11 +#define EXIT_CODE_CHECKSUM_ERROR 12 +#define EXIT_CODE_SYNDROME_ERROR 13 + +/*** + *** Reset the verify output window + ***/ + +void ResetRS03VerifyWindow(Method *self) +{ RS03Widgets *wl = (RS03Widgets*)self->widgetList; + + SetLabelText(GTK_LABEL(wl->cmpImageSectors), ""); + SetLabelText(GTK_LABEL(wl->cmpImageMd5Sum), ""); + SetLabelText(GTK_LABEL(wl->cmpDataSection), ""); + SetLabelText(GTK_LABEL(wl->cmpCrcSection), ""); + SetLabelText(GTK_LABEL(wl->cmpEccSection), ""); + SetLabelText(GTK_LABEL(wl->cmpImageErasure), ""); + SetLabelText(GTK_LABEL(wl->cmpImagePrognosis), ""); + SetLabelText(GTK_LABEL(wl->cmpImageErasureCnt), ""); + SetLabelText(GTK_LABEL(wl->cmpImagePrognosisMsg), ""); + SetLabelText(GTK_LABEL(wl->cmpImageResult), ""); + + SetLabelText(GTK_LABEL(wl->cmpEccCreatedBy), "dvdisaster"); + SetLabelText(GTK_LABEL(wl->cmpEccMethod), ""); + SetLabelText(GTK_LABEL(wl->cmpEccType), ""); + SetLabelText(GTK_LABEL(wl->cmpEccRequires), ""); + SetLabelText(GTK_LABEL(wl->cmpEccDataCrc), _("Data checksum:")); + SetLabelText(GTK_LABEL(wl->cmpEccDataCrcVal), ""); + SetLabelText(GTK_LABEL(wl->cmpEccResult), ""); + SetLabelText(GTK_LABEL(wl->cmpEccSynLabel), ""); + SetLabelText(GTK_LABEL(wl->cmpEccSyndromes), ""); + + wl->lastPercent = 0; + + FillSpiral(wl->cmpSpiral, Closure->background); + DrawSpiral(wl->cmpSpiral); +} + +/*** + *** Manage the image spiral + ***/ + +/* + * Update part of the spiral + */ + +typedef struct _spiral_idle_info +{ Spiral *cmpSpiral; + GdkColor *segColor; + int from, to; +} spiral_idle_info; + +static gboolean spiral_idle_func(gpointer data) +{ spiral_idle_info *sii = (spiral_idle_info*)data; + int i; + + for(i=sii->from; i<=sii->to; i++) + DrawSpiralSegment(sii->cmpSpiral, sii->segColor, i-1); + + g_free(sii); + return FALSE; +} + +static void add_verify_values(Method *method, int percent, + gint64 newMissing, gint64 newCrcErrors) +{ RS03Widgets *wl = (RS03Widgets*)method->widgetList; + spiral_idle_info *sii = g_malloc(sizeof(spiral_idle_info)); + + if(percent < 0 || percent > VERIFY_IMAGE_SEGMENTS) + return; + + sii->cmpSpiral = wl->cmpSpiral; + + sii->segColor = Closure->greenSector; + if(newCrcErrors) sii->segColor = Closure->yellowSector; + if(newMissing) sii->segColor = Closure->redSector; + + sii->from = wl->lastPercent+1; + sii->to = percent; + + wl->lastPercent = percent; + + g_idle_add(spiral_idle_func, sii); +} + +/* + * Redraw whole spiral + */ + +static void redraw_spiral(RS03Widgets *wl) +{ int x = wl->cmpSpiral->mx - wl->cmpSpiral->diameter/2 + 10; + + DrawSpiralLabel(wl->cmpSpiral, wl->cmpLayout, + _("Good sectors"), Closure->greenSector, x, 1); + + DrawSpiralLabel(wl->cmpSpiral, wl->cmpLayout, + _("Sectors with CRC errors"), Closure->yellowSector, x, 2); + + DrawSpiralLabel(wl->cmpSpiral, wl->cmpLayout, + _("Missing sectors"), Closure->redSector, x, 3); + + DrawSpiral(wl->cmpSpiral); +} + +/* + * expose event handler for the spiral + */ + +static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + GtkAllocation *a = &widget->allocation; + int w,h,size; + + /* Finish spiral initialization */ + + if(!wl->cmpLayout) + { SetSpiralWidget(wl->cmpSpiral, widget); + wl->cmpLayout = gtk_widget_create_pango_layout(widget, NULL); + } + + SetText(wl->cmpLayout, _("Missing sectors"), &w, &h); + size = wl->cmpSpiral->diameter + 20 + 3*(10+h); /* approx. size of spiral + labels */ + + wl->cmpSpiral->mx = a->width / 2; + wl->cmpSpiral->my = (wl->cmpSpiral->diameter + a->height - size)/2; + + if(!event->count) /* Exposure compression */ + redraw_spiral(wl); /* Redraw the spiral */ + + return TRUE; +} + +/*** + *** Create the notebook contents for the verify output + ***/ + +void CreateRS03VerifyWindow(Method *self, GtkWidget *parent) +{ RS03Widgets *wl = (RS03Widgets*)self->widgetList; + GtkWidget *sep,*ignore,*table,*table2,*lab,*frame,*d_area; + int y1,y2; + + wl->cmpHeadline = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wl->cmpHeadline), 0.0, 0.0); + gtk_misc_set_padding(GTK_MISC(wl->cmpHeadline), 5, 0); + gtk_box_pack_start(GTK_BOX(parent), wl->cmpHeadline, FALSE, FALSE, 3); + + sep = gtk_hseparator_new(); + gtk_box_pack_start(GTK_BOX(parent), sep, FALSE, FALSE, 0); + + sep = gtk_hseparator_new(); + gtk_box_pack_start(GTK_BOX(parent), sep, FALSE, FALSE, 0); + + table = gtk_table_new(2, 2, FALSE); + gtk_container_set_border_width(GTK_CONTAINER(table), 5); + gtk_box_pack_start(GTK_BOX(parent), table, TRUE, TRUE, 0); + + + /*** Ecc data info */ + + frame = gtk_frame_new(_utf("Error correction properties")); + gtk_table_attach(GTK_TABLE(table), frame, 0, 1, 0, 1, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 5); + + table2 = gtk_table_new(2, 8, FALSE); + ignore = gtk_label_new("ecc info"); + gtk_container_set_border_width(GTK_CONTAINER(table2), 5); + gtk_container_add(GTK_CONTAINER(frame), table2); + y1=0; y2=1; + + lab = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Type:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpEccType = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Method:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpEccMethod = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Created by:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpEccCreatedBy = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Requires:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpEccRequires = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = wl->cmpEccDataCrc = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Data checksum:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpEccDataCrcVal = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = wl->cmpEccResult = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 2, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 4); + + /*** Image spiral */ + + frame = gtk_frame_new(_utf("Image state")); + gtk_table_attach(GTK_TABLE(table), frame, 1, 2, 0, 2, GTK_SHRINK | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); + + wl->cmpSpiral = CreateSpiral(Closure->grid, Closure->background, 10, 5, VERIFY_IMAGE_SEGMENTS); + d_area = wl->cmpDrawingArea = gtk_drawing_area_new(); + gtk_widget_set_size_request(d_area, wl->cmpSpiral->diameter+20, -1); + gtk_container_add(GTK_CONTAINER(frame), d_area); + g_signal_connect(G_OBJECT(d_area), "expose_event", G_CALLBACK(expose_cb), (gpointer)wl); + + /*** Image info */ + + frame = gtk_frame_new(_utf("Data integrity")); + gtk_table_attach(GTK_TABLE(table), frame, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); + + table2 = gtk_table_new(2, 7, FALSE); + ignore = gtk_label_new("image info"); + gtk_container_set_border_width(GTK_CONTAINER(table2), 5); + gtk_container_add(GTK_CONTAINER(frame), table2); + y1=0; y2=1; + + lab = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Medium sectors:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpImageSectors = gtk_label_new("0"); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Data checksum:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpImageMd5Sum = gtk_label_new("0"); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Data section:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpDataSection = gtk_label_new("."); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Crc section:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpCrcSection = gtk_label_new("."); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Ecc section:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpEccSection= gtk_label_new("."); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = wl->cmpEccSynLabel = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + SetLabelText(GTK_LABEL(lab), _("Ecc block test:")); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpEccSyndromes = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = wl->cmpImageErasure = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpImageErasureCnt = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = wl->cmpImagePrognosis = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 1, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 2 ); + lab = wl->cmpImagePrognosisMsg = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 1, 2, y1, y2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + y1++; y2++; + + lab = wl->cmpImageResult = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table2), lab, 0, 2, y1, y2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 5, 4); +} + +/*** + *** Check the consistency of the augmented image + ***/ + +/* + * housekeeping + */ + +typedef struct +{ LargeFile *imgFile; + LargeFile *eccFile; + EccHeader *eh; + RS03Layout *lay; + RS03Widgets *wl; + Bitmap *map; + guint32 *crcBuf; + gint8 *crcValid; + unsigned char crcSum[16]; + unsigned char *eccBlock[256]; + GaloisTables *gt; + ReedSolomonTables *rt; +} verify_closure; + +static void cleanup(gpointer data) +{ verify_closure *vc = (verify_closure*)data; + int i; + + Closure->cleanupProc = NULL; + + if(Closure->guiMode) + AllowActions(TRUE); + + if(vc->imgFile) LargeClose(vc->imgFile); + if(vc->lay) + { if(vc->lay->target == ECC_FILE && vc->eccFile) + LargeClose(vc->eccFile); + g_free(vc->lay); + } + if(vc->map) FreeBitmap(vc->map); + if(vc->crcBuf) g_free(vc->crcBuf); + if(vc->crcValid) g_free(vc->crcValid); + + for(i=0; i<255; i++) + if(vc->eccBlock[i]) + g_free(vc->eccBlock[i]); + + if(vc->gt) FreeGaloisTables(vc->gt); + if(vc->rt) FreeReedSolomonTables(vc->rt); + + g_free(vc); + + if(Closure->guiMode) + g_thread_exit(0); +} + +/*** + *** Read the crc layer. Descramble CRC values from ECC block order. + ***/ + +static void read_crc(verify_closure *vc, RS03Layout *lay, gint64 *crc_sig_errors) +{ EccHeader *eh = vc->eh; + LargeFile *file; + gint64 block_idx[256]; + guint32 crc_buf[512]; + gint64 crc_sector,s; + int i,crc_idx; + int crc_valid = 1; + + /* Allocate buffer for ascending sector order CRCs */ + + vc->crcBuf = g_malloc(2048 * lay->sectorsPerLayer); + vc->crcValid = g_malloc(512 * lay->sectorsPerLayer); + + /* First sector containing crc data */ + + file = lay->target == ECC_FILE ? vc->eccFile : vc->imgFile; + + if(!LargeSeek(file, 2048*(lay->firstCrcPos))) + { if(lay->target == ECC_FILE) + Stop(_("Failed seeking to sector %lld in ecc file: %s"), + lay->firstCrcPos, strerror(errno)); + else Stop(_("Failed seeking to sector %lld in image: %s"), + lay->firstCrcPos, strerror(errno)); + } + + crc_sector = lay->firstCrcPos; + + /* Initialize ecc block index pointers. + Note that CRC blocks are shifted by one + (each ECC block contains the CRC for the next ECC block) */ + + for(s=0, i=0; indata; s+=lay->sectorsPerLayer, i++) + block_idx[i] = s+1; + + crc_idx = 512; /* force crc buffer reload */ + + /* Cycle through the ecc blocks. + Each ecc block contains the CRCs for the following ecc block; + these are rearranged in ascending sector order. */ + + for(s=0; ssectorsPerLayer; s++) + { int err; + + /* Get CRC sector for current ecc block */ + + if(LargeRead(file, crc_buf, 2048) != 2048) + Stop(_("problem reading crc data: %s"), strerror(errno)); + + err = CheckForMissingSector((unsigned char*)crc_buf, crc_sector, eh->mediumFP, eh->fpSector); + if(err != SECTOR_PRESENT) + ExplainMissingSector((unsigned char*)crc_buf, crc_sector, err, TRUE); + + crc_sector++; + crc_valid = (err == SECTOR_PRESENT); + + /* Check the CrcBlock data structure */ + + if(crc_valid) + { CrcBlock *cb = (CrcBlock*)crc_buf; + if( memcmp(cb->cookie, "*dvdisaster*", 12) + ||memcmp(cb->method, "RS03", 4)) + { crc_valid = FALSE; + (*crc_sig_errors)++; + } + else + { guint32 recorded_crc = cb->selfCRC; + guint32 real_crc; + +#ifdef HAVE_BIG_ENDIAN + cb->selfCRC = 0x47504c00; +#else + cb->selfCRC = 0x4c5047; +#endif + + real_crc = Crc32((unsigned char*)cb, 2048); + + if(real_crc != recorded_crc) + { crc_valid = FALSE; + (*crc_sig_errors)++; + } + } + } + + /* Go through all data sectors of current ecc block; + distribute the CRC values */ + + for(i=0; indata-1; i++) + { + /* CRC sums for the first ecc block are contained in the last + CRC sector. Wrap the block_idx accordingly. */ + + if(s == lay->sectorsPerLayer-1) + block_idx[i] = i*lay->sectorsPerLayer; + + /* Sort crc into appropriate place */ + + vc->crcBuf[block_idx[i]] = crc_buf[i]; + vc->crcValid[block_idx[i]] = crc_valid; + block_idx[i]++; + } + } +} + +/*** + *** Prognosis for correctability + ***/ + +static int prognosis(verify_closure *vc, gint64 missing, gint64 expected) +{ int j,eccblock; + int worst_ecc = 0; + gint64 damaged_sectors = 0, damaged_eccsecs = 0; + gint64 correctable = 0; + gint64 recoverable; + +#if 0 //FIXME: remove + printf("prognosis(%lld, %lld)\n", missing, expected); + for(j=0; jlay->sectorsPerLayer; j++) + if(!GetBit(vc->map, j)) + printf("%6d missing\n", j); +#endif + + for(eccblock=0; eccblocklay->sectorsPerLayer; eccblock++) + { int count = 255; + + /* Note: ecc file sectors are virtually mapped to augmented image sectors */ + + for(j=0; j<255; j++) + { gint64 sector = j*vc->lay->sectorsPerLayer+eccblock; + + if(GetBit(vc->map, sector)) + count--; + else damaged_sectors++; + } + + if(count>0) damaged_eccsecs++; + if(count>worst_ecc) worst_ecc = count; + if(count<=vc->lay->nroots) correctable += count; + } + + recoverable = expected - missing + correctable; + + if(damaged_sectors > 0) + { int percentage = (1000*recoverable) / expected; + + PrintLog(_("- erasure counts : avg = %.1f; worst = %d per ecc block.\n"), + (double)damaged_sectors/(double)damaged_eccsecs,worst_ecc); + + PrintLog(_("- prognosis : %lld of %lld sectors recoverable (%d.%d%%)\n"), + recoverable, expected, percentage/10, percentage%10); + + if(Closure->guiMode) + { SetLabelText(GTK_LABEL(vc->wl->cmpImageErasure), _("Erasure counts:")); + SetLabelText(GTK_LABEL(vc->wl->cmpImagePrognosis), _("Prognosis:")); + + SetLabelText(GTK_LABEL(vc->wl->cmpImageErasureCnt), + _("avg = %.1f; worst = %d per ecc block."), + worst_ecc <= vc->lay->nroots ? Closure->greenMarkup : Closure->redMarkup, + (double)damaged_sectors/(double)damaged_eccsecs,worst_ecc); + + SetLabelText(GTK_LABEL(vc->wl->cmpImagePrognosisMsg), + _("%lld of %lld sectors recoverable (%d.%d%%)"), + recoverable < expected ? Closure->redMarkup : Closure->greenMarkup, + recoverable, expected, percentage/10, percentage%10); + } + } + + if(damaged_sectors && worst_ecc <= vc->lay->nroots && recoverable >= expected) + return TRUE; + else return FALSE; +} + +/*** + *** Error syndrome check + ***/ + +static int check_syndromes(verify_closure *vc) +{ RS03Layout *lay = vc->lay; + LargeFile *eccfile; + gint64 layer_idx[255]; + gint64 li,ecc_block; + gint64 cache_idx = Closure->prefetchSectors; + gint64 ecc_good, ecc_bad, ecc_bad_sub; + int percent,last_percent = -1; + int bad_counted; + int layer,i,j; + + if(Closure->guiMode) + SetLabelText(GTK_LABEL(vc->wl->cmpHeadline), "%s\n%s", + _("Checking the image and error correction files."), + _("- Checking ecc blocks (deep verify) -")); + + /* Allocate buffers and initialize layer sector addresses */ + + for(i=0, li=0; isectorsPerLayer) + { layer_idx[i] = li; + vc->eccBlock[i] = g_try_malloc(2048*Closure->prefetchSectors); + if(!vc->eccBlock[i]) /* out of memory */ + { int j; + + for(j=0; jeccBlock[j]); + + if(Closure->guiMode) + SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes), + _("Out of memory; try reducing sector prefetch!"), + Closure->redMarkup); + PrintLog(_("* Ecc block test : out of memory; try reducing sector prefetch!\n")); + return 0; + } + } + + /* Determine source file for ecc data */ + + eccfile = lay->target == ECC_FILE ? vc->eccFile : vc->imgFile; + + /* Init Reed-Solomon tables */ + + vc->gt = CreateGaloisTables(RS_GENERATOR_POLY); + vc->rt = CreateReedSolomonTables(vc->gt, RS_FIRST_ROOT, RS_PRIM_ELEM, lay->nroots); + + /* Check the error syndromes */ + + ecc_good = ecc_bad = ecc_bad_sub = 0; + + for(ecc_block=0; ecc_blocksectorsPerLayer; ecc_block++) + { gint64 num_sectors = 0; + unsigned char data[GF_FIELDMAX]; + + /* Check for user interruption */ + + if(Closure->stopActions) + { SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes), + _("Aborted by user request!"), + Closure->redMarkup); + return 0; + } + + /* Reload cache? */ + + if(cache_idx == Closure->prefetchSectors) + { + cache_idx = 0; + num_sectors = Closure->prefetchSectors; + if(ecc_block+num_sectors >= lay->sectorsPerLayer) + num_sectors = lay->sectorsPerLayer - ecc_block; + + for(layer=0; layerndata-1) + RS03ReadSectors(vc->imgFile, vc->lay, vc->eccBlock[layer], + layer, ecc_block, num_sectors, RS03_READ_DATA); + else + RS03ReadSectors(eccfile, vc->lay, vc->eccBlock[layer], + layer, ecc_block, num_sectors, RS03_READ_CRC | RS03_READ_ECC); + } + + /* Calculate the error syndromes. + Note that we are only called when the image does not contain + dead sector markers; therefore we can skip this test. */ + + bad_counted = FALSE; + + for(i=0; i<2048; i++) + { int result; + + for(j=0; jeccBlock[j][2048*cache_idx+i]; + +#if 0 //FIXME remove this + if((ecc_block==3 || ecc_block==89) && (i==7 || i== 109)) + { data[129]++; + printf("seeded error\n"); + } +#endif + result = TestErrorSyndromes(vc->rt, data); + + if(result) + { ecc_bad_sub++; + if(!bad_counted) + { bad_counted++; + ecc_bad++; + } + } + } + cache_idx++; + + if(!bad_counted) ecc_good++; + + /* Advance percentage gauge */ + + percent = (100*(ecc_block+1))/lay->sectorsPerLayer; + if(percent != last_percent) + { last_percent = percent; + + if(!ecc_bad) + { if(Closure->guiMode) + SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes), + _("%d%% tested"), + percent); + PrintProgress(_("- Ecc block test : %d%% tested"), percent); + + } + else + { if(Closure->guiMode) + SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes), + _("%lld good, %lld bad; %d%% tested"), + Closure->redMarkup, ecc_good, ecc_bad, percent); + PrintProgress(_("* Ecc block test : %lld good, %lld bad; %d%% tested") + , ecc_good, ecc_bad, percent); + } + } + } + + /* Tell user about our findings */ + + if(!ecc_bad) + { if(Closure->guiMode) + SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes),_("pass")); + ClearProgress(); + PrintLog(_("- Ecc block test : pass\n")); + } + else + { if(Closure->guiMode) + SetLabelText(GTK_LABEL(vc->wl->cmpEccSyndromes), + _("%lld good, %lld bad; %lld bad sub blocks"), + Closure->redMarkup, ecc_good, ecc_bad, ecc_bad_sub); + PrintLog(_("* Ecc block test : %lld good, %lld bad; %lld bad sub blocks\n"), + ecc_good, ecc_bad, ecc_bad_sub); + + exitCode = EXIT_CODE_SYNDROME_ERROR; + } + return ecc_bad; +} + +/*** + *** The verify action + ***/ + +void RS03Verify(Method *self) +{ verify_closure *vc = g_malloc0(sizeof(verify_closure)); + RS03Widgets *wl = self->widgetList; + LargeFile *image,*eccfile; + EccHeader *eh; + RS03Layout *lay; + struct MD5Context image_md5; + unsigned char medium_sum[16]; + char data_digest[33], hdr_digest[33]; + gint64 s, image_sectors, eccfile_sectors, crc_idx; + int last_percent = 0; + unsigned char buf[2048]; + gint64 first_missing, last_missing; + gint64 total_missing,data_missing,crc_missing,ecc_missing; + gint64 new_missing = 0, new_crc_errors = 0; + gint64 data_crc_errors,crc_sig_errors; + gint64 expected_sectors,virtual_expected; + gint64 expected_image_sectors, expected_eccfile_sectors; + int major,minor,pl; + char method[5]; + char *img_advice = NULL; + char *ecc_advice = NULL; + char *version; + int syn_error = 0; + int try_it; + + /*** Prepare for early termination */ + + RegisterCleanup(_("Check aborted"), cleanup, vc); + vc->wl = wl; + vc->eh = eh = self->lastEh; /* will always be present */ + + /*** Open the .iso file */ + + LargeStat(Closure->imageName, &image_sectors); + image_sectors /= 2048; + image = vc->imgFile = LargeOpen(Closure->imageName, O_RDONLY, IMG_PERMS); + + if(!image) /* Failing here is unlikely since caller could open it */ + Stop("Could not open %s: %s",Closure->imageName, strerror(errno)); + + PrintLog(_("\n%s present.\n"), Closure->imageName); + + /*** Optionally open the ecc file, announce what we are going to do */ + + LargeStat(Closure->eccName, &eccfile_sectors); + eccfile_sectors /= 2048; + if(eh->methodFlags[0] & MFLAG_ECC_FILE) + { + eccfile = vc->eccFile = LargeOpen(Closure->eccName, O_RDONLY, IMG_PERMS); + + if(!eccfile) /* Failing here is unlikely since caller could open it */ + Stop("Could not open %s: %s",Closure->eccName, strerror(errno)); + + + if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpHeadline), "%s\n%s", + _("Checking the image and error correction files."), + _("- Checking image file -")); + + PrintLog(_("%s present.\n"), Closure->eccName); + } + else + { + eccfile = image; + if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpHeadline), "%s\n%s", + _("Checking the image file."), + _("- Checking image file -")); + } + + /*** Calculate the layout */ + + if(eh->methodFlags[0] & MFLAG_ECC_FILE) + lay = vc->lay = CalcRS03Layout(uchar_to_gint64(eh->sectors), eh, ECC_FILE); + else lay = vc->lay = CalcRS03Layout(uchar_to_gint64(eh->sectors), eh, ECC_IMAGE); + + + /*** Print information on the ecc portion */ + + PrintLog(_("\nError correction properties:\n")); + + /* Check size of error correction file */ + + expected_eccfile_sectors = 2 + (lay->nroots+1)*lay->sectorsPerLayer; + if(lay->target == ECC_FILE && expected_eccfile_sectors != eccfile_sectors) + { char *msg; + + if(expected_eccfile_sectors > eccfile_sectors) + msg = g_strdup_printf(_("Ecc file is %lld sectors shorter than expected."), + expected_eccfile_sectors - eccfile_sectors); + else msg = g_strdup_printf(_("Ecc file is %lld sectors longer than expected."), + eccfile_sectors - expected_eccfile_sectors); + + if(Closure->guiMode) + ecc_advice = g_strdup_printf("%s", Closure->redMarkup, msg); + + PrintLog(_("* Warning : %s\n"), msg); + g_free(msg); + exitCode = EXIT_CODE_SIZE_MISMATCH; + } + + /* Error correction type */ + + if(eh->methodFlags[0] & MFLAG_ECC_FILE) + PrintLog(_("- type : Error correction file\n")); + else PrintLog(_("- type : Augmented image\n")); + + if(Closure->guiMode) + { if(eh->methodFlags[0] & MFLAG_ECC_FILE) + SetLabelText(GTK_LABEL(wl->cmpEccType), _("Error correction file")); + else SetLabelText(GTK_LABEL(wl->cmpEccType), _("Augmented image")); + } + + /* Error correction method */ + + memcpy(method, eh->method, 4); method[4] = 0; + + PrintLog(_("- method : %4s, %d roots, %4.1f%% redundancy.\n"), + method, eh->eccBytes, + ((double)eh->eccBytes*100.0)/(double)eh->dataBytes); + + if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpEccMethod), _("%4s, %d roots, %4.1f%% redundancy"), + method, eh->eccBytes, + ((double)eh->eccBytes*100.0)/(double)eh->dataBytes); + + /* Creator version */ + + major = eh->creatorVersion/10000; + minor = (eh->creatorVersion%10000)/100; + pl = eh->creatorVersion%100; + + if(eh->creatorVersion%100) + { char *format, *color_format = NULL; + + if(eh->methodFlags[3] & MFLAG_DEVEL) + { format = "%s-%d.%d (devel-%d)"; + color_format = "%s-%d.%d (devel-%d)"; + } + else if(eh->methodFlags[3] & MFLAG_RC) + { format = "%s-%d.%d (rc-%d)"; + color_format = "%s-%d.%d (rc-%d)"; + } + else format = "%s-%d.%d (pl%d)"; + + PrintLog(format, _("- created by : dvdisaster"), major, minor, pl); + PrintLog("\n"); + + if(!color_format) color_format = format; + if(Closure->guiMode) + { if(!color_format) + SetLabelText(GTK_LABEL(wl->cmpEccCreatedBy), color_format, + "dvdisaster", major, minor, Closure->redMarkup, pl); + else SetLabelText(GTK_LABEL(wl->cmpEccCreatedBy), format, + "dvdisaster", major, minor, pl); + } + } + else + { PrintLog(_("- created by : dvdisaster-%d.%d\n"), + major, minor); + + if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpEccCreatedBy), "dvdisaster-%d.%d", major, minor); + } + + /* Required dvdisaster version */ + + if(eh->neededVersion%100) + version = g_strdup_printf("%d.%d (pl%d)", + eh->neededVersion/10000, + (eh->neededVersion%10000)/100, + eh->neededVersion%100); + else version = g_strdup_printf("%d.%d", + eh->neededVersion/10000, + (eh->neededVersion%10000)/100); + + if(!VerifyVersion(eh, 0)) + { PrintLog(_("- requires : dvdisaster-%s\n"), version); + + if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpEccRequires), "dvdisaster-%s", version); + } + else + { PrintLog(_("* requires : dvdisaster-%s (BAD)\n" + "* Warning : The following output might be incorrect.\n" + "* : Please visit http://www.dvdisaster.com for an upgrade.\n"), + version); + + if(Closure->guiMode) + { SetLabelText(GTK_LABEL(wl->cmpEccRequires), + "dvdisaster-%s", + Closure->redMarkup, version); + if(!ecc_advice) + ecc_advice = g_strdup_printf(_("Please upgrade your version of dvdisaster!"), Closure->redMarkup); + } + + exitCode = EXIT_CODE_VERSION_MISMATCH; + } + + g_free(version); + + /* image md5sum as stored in the ecc header */ + + if(eh->methodFlags[0] & MFLAG_DATA_MD5) + AsciiDigest(hdr_digest, eh->mediumSum); + else strcpy(hdr_digest, _("none available")); + + PrintLog(_("- data md5sum : %s\n"),hdr_digest); + + if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpEccDataCrcVal), "%s", hdr_digest); + + /* print advice collected from above tests */ + + if(Closure->guiMode) + { if(ecc_advice) + { SetLabelText(GTK_LABEL(wl->cmpEccResult), ecc_advice); + g_free(ecc_advice); + } + } + + /*** Print information on image size */ + + PrintLog(_("\nData integrity:\n")); + + /* Provide enough bitmap space for all layers */ + + vc->map = CreateBitmap0(GF_FIELDMAX*lay->sectorsPerLayer); + + /* Expected and real sectors */ + + if(lay->target == ECC_FILE) + { expected_sectors = lay->dataSectors + lay->totalSectors; /* image + ecc file */ + virtual_expected = GF_FIELDMAX*lay->sectorsPerLayer; /* for prognosis map */ + expected_image_sectors = lay->dataSectors; /* just the expected image size */ + } + else + { virtual_expected = expected_sectors = expected_image_sectors = lay->totalSectors; + SetBit(vc->map, lay->eccHeaderPos); + SetBit(vc->map, lay->eccHeaderPos+1); + } + + if(expected_image_sectors == image_sectors) + { if(lay->target == ECC_FILE) + { if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpImageSectors), _("%lld in image; %lld in ecc file"), + image_sectors, eccfile_sectors); + PrintLog(_("- sectors : %lld in image; %lld in ecc file\n"), + image_sectors, eccfile_sectors); + } + else + { if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpImageSectors), _("%lld total / %lld data"), + image_sectors, lay->dataSectors); + PrintLog(_("- medium sectors : %lld total / %lld data\n"), + image_sectors, lay->dataSectors); + } + } + else + { if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpImageSectors), _("%lld (%lld expected)"), + Closure->redMarkup, image_sectors, expected_image_sectors); + if(expected_image_sectors > image_sectors) + img_advice = g_strdup_printf(_("Image file is %lld sectors shorter than expected."), Closure->redMarkup, expected_image_sectors - image_sectors); + else img_advice = g_strdup_printf(_("Image file is %lld sectors longer than expected."), Closure->redMarkup, image_sectors - expected_image_sectors); + } + + if(Closure->quickVerify) + { PrintLog(_("* quick mode : image NOT scanned\n")); + goto terminate; + } + + /*** Read the CRC portion */ + + crc_sig_errors = 0; + read_crc(vc, lay, &crc_sig_errors); + + /*** Check the data portion of the image file for the + "dead sector marker" and CRC errors */ + + if(!LargeSeek(image, 0)) + Stop(_("Failed seeking to start of image: %s\n"), strerror(errno)); + + if(lay->target == ECC_FILE) + if(!LargeSeek(eccfile, 4096)) /* skip the header */ + Stop(_("Failed seeking to start of ecc file: %s\n"), strerror(errno)); + + MD5Init(&image_md5); + + first_missing = last_missing = -1; + total_missing = data_missing = crc_missing = ecc_missing = 0; + data_crc_errors = 0; + crc_idx = 0; + + for(s=0; sstopActions) + { SetLabelText(GTK_LABEL(wl->cmpImageResult), + _("Aborted by user request!"), + Closure->redMarkup); + goto terminate; + } + + /* Read the next sector */ + + if(lay->target == ECC_IMAGE || sdataSectors) + { /* Read from image file */ + if(s < image_sectors) /* image may be truncated */ + { int n = LargeRead(image, buf, 2048); + if(n != 2048) + { exitCode = EXIT_CODE_UNEXPECTED_EOF; + Stop(_("premature end in image (only %d bytes): %s\n"),n,strerror(errno)); + } + } + else CreateMissingSector(buf, s, eh->mediumFP, eh->fpSector, "padding beyond the image"); + } + else + { /* Simulate the non-existent padding area in ecc files */ + if(s >= lay->dataSectors && s<(lay->ndata-1)*lay->sectorsPerLayer) + { memset(buf, 0, 2048); + } + + /* Read from ecc file */ + else if(s < (lay->ndata-1)*lay->sectorsPerLayer+eccfile_sectors-2) + { int n = LargeRead(eccfile, buf, 2048); + if(n != 2048) + { exitCode = EXIT_CODE_UNEXPECTED_EOF; + Stop(_("premature end in ecc file (only %d bytes): %s\n"),n,strerror(errno)); + } + } + else /* ecc file is truncated */ + { CreateMissingSector(buf, s, eh->mediumFP, eh->fpSector, "padding beyond the image"); + } + } + + if(s < lay->dataSectors) + { if(s < lay->dataSectors - 1) + MD5Update(&image_md5, buf, 2048); + else MD5Update(&image_md5, buf, eh->inLast); + } + + /* Look for the dead sector marker */ + + current_missing = CheckForMissingSector(buf, s, eh->mediumFP, eh->fpSector); + if(current_missing != SECTOR_PRESENT) + ExplainMissingSector(buf, s, current_missing, TRUE); + + if(current_missing) + { + if(first_missing < 0) first_missing = s; + last_missing = s; + total_missing++; + new_missing++; + + if(lay->target == ECC_IMAGE) + { if(s < lay->firstCrcPos) data_missing++; + else if(s >= lay->firstCrcPos && s < lay->firstEccPos) crc_missing++; + else ecc_missing++; + } + else /* ecc file case */ + { if(s < lay->dataSectors) data_missing++; + else if(s < lay->ndata*lay->sectorsPerLayer) crc_missing++; + else ecc_missing++; + } + defective = TRUE; + exitCode = EXIT_CODE_MISSING_SECTOR; + } + + /* Report dead sectors. Combine subsequent missing sectors into one report. */ + + if(!current_missing || s==virtual_expected-1) + { if(first_missing>=0) + { gint64 first, last; + char *ecc_msg; + + if(lay->target == ECC_FILE && last_missing >= (lay->ndata-1)*lay->sectorsPerLayer) + { first = first_missing - (lay->ndata-1)*lay->sectorsPerLayer + 2; + last = last_missing - (lay->ndata-1)*lay->sectorsPerLayer + 2; + ecc_msg = g_strdup(_(" (in ecc file)")); + } + else + { first = first_missing; + last = last_missing; + ecc_msg = g_strdup(" "); + } + if(first_missing == last_missing) + PrintCLI(_("* missing sector : %lld%s\n"), first,ecc_msg); + else PrintCLI(_("* missing sectors : %lld - %lld%s\n"), first, last, ecc_msg); + first_missing = -1; + g_free(ecc_msg); + } + } + + /* If the image sector is from the data portion and it was readable, + test its CRC sum */ + + if( !current_missing + && ( (lay->target == ECC_IMAGE && s < lay->firstCrcPos) + || (lay->target == ECC_FILE && s < lay->dataSectors))) + { guint32 crc = Crc32(buf, 2048); + + if(vc->crcValid[crc_idx] && crc != vc->crcBuf[crc_idx]) + { PrintCLI(_("* CRC error, sector: %lld\n"), s); + data_crc_errors++; + new_crc_errors++; + defective = TRUE; + exitCode = EXIT_CODE_CHECKSUM_ERROR; + } + } + crc_idx++; + + if(!defective) + SetBit(vc->map, s); + + if(Closure->guiMode) + { /* data part / spiral animation */ + percent = (VERIFY_IMAGE_SEGMENTS*(s+1))/virtual_expected; + + /* percentage is reset / output differently for ecc file part */ + if(lay->target == ECC_FILE && s >= lay->dataSectors) + percent = (100*(s+1-lay->dataSectors)/(virtual_expected-lay->dataSectors)); + } + else percent = (100*(s+1))/virtual_expected; + + if(last_percent != percent) /* Update sector results */ + { PrintProgress(_("- testing sectors : %3d%%") ,percent); + if(Closure->guiMode) + { if(lay->target == ECC_IMAGE) + { add_verify_values(self, percent, new_missing, new_crc_errors); + } + else /* do not include ecc file sectors in the spiral! */ + { if(sdataSectors) + { int image_percent = (VERIFY_IMAGE_SEGMENTS*(s+1))/lay->dataSectors; + + add_verify_values(self, image_percent, new_missing, new_crc_errors); + } + else + { SetLabelText(GTK_LABEL(wl->cmpEccSyndromes),"%d%% tested",percent); + } + } + + if(data_missing || data_crc_errors) + SetLabelText(GTK_LABEL(wl->cmpDataSection), + _("%lld sectors missing; %lld CRC errors"), + Closure->redMarkup, data_missing, data_crc_errors); + if(crc_missing || crc_sig_errors) + SetLabelText(GTK_LABEL(wl->cmpCrcSection), + _("%lld sectors missing; %lld signature errors"), + Closure->redMarkup, crc_missing, crc_sig_errors); + if(ecc_missing) + SetLabelText(GTK_LABEL(wl->cmpEccSection), + _("%lld sectors missing"), + Closure->redMarkup, ecc_missing); + } + last_percent = percent; + new_missing = new_crc_errors = 0; + } + + /* If we have processed the image and are about to switch over + to the ecc file, do some bookkeeping. */ + + if(lay->target == ECC_FILE && s == lay->dataSectors-1) + { + if(Closure->guiMode) + { /* flush/complete spiral */ + add_verify_values(self, VERIFY_IMAGE_SEGMENTS, new_missing, new_crc_errors); + + SetLabelText(GTK_LABEL(wl->cmpHeadline), "%s\n%s", + _("Checking the image and error correction files."), + _("- Checking ecc file -")); + + SetLabelText(GTK_LABEL(wl->cmpEccSynLabel), _("Error correction file:")); + last_percent = 0; /* restart counting for ecc file */ + } + } + } + + /* Complete damage summary */ + + if(Closure->guiMode) + { if(data_missing || data_crc_errors) + SetLabelText(GTK_LABEL(wl->cmpDataSection), + _("%lld sectors missing; %lld CRC errors"), + Closure->redMarkup, data_missing, data_crc_errors); + if(crc_missing || crc_sig_errors) + SetLabelText(GTK_LABEL(wl->cmpCrcSection), + _("%lld sectors missing; %lld signature errors"), + Closure->redMarkup, crc_missing, crc_sig_errors); + if(ecc_missing) + SetLabelText(GTK_LABEL(wl->cmpEccSection), + _("%lld sectors missing"), + Closure->redMarkup, ecc_missing); + } + + /* The image md5sum is only useful if all blocks have been successfully read. */ + + MD5Final(medium_sum, &image_md5); + AsciiDigest(data_digest, medium_sum); + + /* Do a resume of our findings */ + + if(!total_missing && !data_crc_errors) + PrintLog(_("- good image/file : all sectors present\n" + "- data md5sum : %s\n"),data_digest); + else + { if(!data_crc_errors) + PrintLog(_("* BAD image/file : %lld sectors missing\n"), total_missing); + if(!total_missing) + PrintLog(_("* suspicious image : all sectors present, but %lld CRC errors\n"), + data_crc_errors); + if(total_missing && data_crc_errors) + PrintLog(_("* BAD image : %lld sectors missing, %lld CRC errors\n"), + total_missing, data_crc_errors); + + PrintLog(_(" ... data section : %lld sectors missing; %lld CRC errors\n"), + data_missing, data_crc_errors); + if(!total_missing && !data_crc_errors && !crc_sig_errors) + PrintLog(_(" ... data md5sum : %s\n"), data_digest); + PrintLog(_(" ... crc section : %lld sectors missing\n"), crc_missing); + PrintLog(_(" ... ecc section : %lld sectors missing\n"), ecc_missing); + } + + if(Closure->guiMode) + { if(!data_missing && !data_crc_errors) + SetLabelText(GTK_LABEL(wl->cmpDataSection), _("complete")); + if(!crc_missing && !crc_sig_errors) + SetLabelText(GTK_LABEL(wl->cmpCrcSection), _("complete")); + if(!ecc_missing) SetLabelText(GTK_LABEL(wl->cmpEccSection), _("complete")); + + SetLabelText(GTK_LABEL(wl->cmpImageMd5Sum), "%s", data_missing ? "-" : data_digest); + } + + /*** Test error syndromes */ + + if(Closure->guiMode) + { SetLabelText(GTK_LABEL(wl->cmpEccSynLabel), _("Ecc block test:")); + SetLabelText(GTK_LABEL(wl->cmpEccSyndromes), ""); + } + if(0&&total_missing + data_crc_errors != 0) + { if(Closure->guiMode) + SetLabelText(GTK_LABEL(wl->cmpEccSyndromes), + _("Skipped; not useful on known defective image"), + Closure->redMarkup); + + PrintLog(_("* Ecc block test : skipped; not useful on defective image\n")); + } + else syn_error = check_syndromes(vc); + + /*** Print image advice */ + + if(Closure->guiMode) + { + if(img_advice) + { SetLabelText(GTK_LABEL(wl->cmpImageResult), img_advice); + g_free(img_advice); + } + else + { if(!total_missing && !data_crc_errors && !syn_error) + SetLabelText(GTK_LABEL(wl->cmpImageErasure), /* avoid two blank lines */ + _("Good image."), + Closure->greenMarkup); + else + SetLabelText(GTK_LABEL(wl->cmpImageResult), + _("Damaged image."), + Closure->redMarkup); + } + } + + /*** Print final results */ + + try_it = prognosis(vc, total_missing+data_crc_errors, expected_sectors); + + if(Closure->guiMode) + { if(total_missing || data_crc_errors) + { if(try_it) SetLabelText(GTK_LABEL(wl->cmpImageResult), + _("Full data recovery is likely."), + Closure->greenMarkup); + else SetLabelText(GTK_LABEL(wl->cmpImageResult), + _("Full data recovery is NOT possible."), + Closure->redMarkup); + } + } + + /*** Close and clean up */ + +terminate: + cleanup((gpointer)vc); +} diff --git a/rs03-window.c b/rs03-window.c new file mode 100644 index 0000000..d47eca8 --- /dev/null +++ b/rs03-window.c @@ -0,0 +1,382 @@ +/* dvdisaster: Additional error correction for optical media. + * Copyright (C) 2004-2010 Carsten Gnoerlich. + * Project home page: http://www.dvdisaster.com + * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, + * or direct your browser at http://www.gnu.org. + */ + +#include "dvdisaster.h" + +#include "rs03-includes.h" + +/*** + *** Forward declarations + ***/ + +static void redraw_curve(RS03Widgets*); +static void update_geometry(RS03Widgets*); + +/*** + *** Encoding window + ***/ + +void ResetRS03EncWindow(Method *method) +{ RS03Widgets *wl = (RS03Widgets*)method->widgetList; + + SetProgress(wl->encPBar1, 0, 100); + SetProgress(wl->encPBar2, 0, 100); + + gtk_widget_hide(wl->encLabel2); + gtk_widget_hide(wl->encPBar2); + + gtk_widget_hide(wl->encLabel3); + gtk_widget_hide(wl->encLabel4); + gtk_widget_hide(wl->encLabel5); + gtk_widget_hide(wl->encThreads); + gtk_widget_hide(wl->encPerformance); + gtk_widget_hide(wl->encBottleneck); + + gtk_label_set_text(GTK_LABEL(wl->encFootline), ""); + gtk_label_set_text(GTK_LABEL(wl->encFootline2), ""); +} + +void CreateRS03EncWindow(Method *method, GtkWidget *parent) +{ GtkWidget *wid,*table,*pbar,*sep; + RS03Widgets *wl; + + if(!method->widgetList) + { wl = g_malloc0(sizeof(RS03Widgets)); + method->widgetList = wl; + } + else wl = method->widgetList; + + wl->encHeadline = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wl->encHeadline), 0.0, 0.0); + gtk_misc_set_padding(GTK_MISC(wl->encHeadline), 5, 0); + gtk_box_pack_start(GTK_BOX(parent), wl->encHeadline, FALSE, FALSE, 3); + + sep = gtk_hseparator_new(); + gtk_box_pack_start(GTK_BOX(parent), sep, FALSE, FALSE, 0); + + sep = gtk_hseparator_new(); + gtk_box_pack_start(GTK_BOX(parent), sep, FALSE, FALSE, 0); + + table = gtk_table_new(2, 5, FALSE); + gtk_box_pack_start(GTK_BOX(parent), table, FALSE, FALSE, 30); + + wl->encLabel1 = wid = gtk_label_new(NULL); + gtk_label_set_markup(GTK_LABEL(wid), + _utf("1. Reserving space:")); + gtk_misc_set_alignment(GTK_MISC(wid), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table), wid, 0, 1, 0, 1, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 10, 20); + + pbar = wl->encPBar1 = gtk_progress_bar_new(); + gtk_table_attach(GTK_TABLE(table), pbar, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 10, 20); + + wl->encLabel2 = wid = gtk_label_new(NULL); + gtk_label_set_markup(GTK_LABEL(wid), + _utf("2. Creating error correction data:")); + gtk_misc_set_alignment(GTK_MISC(wid), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table), wid, 0, 1, 1, 2, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 10, 20); + + pbar = wl->encPBar2 = gtk_progress_bar_new(); + gtk_table_attach(GTK_TABLE(table), pbar, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 10, 20); + + + wl->encLabel3 = wid = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wid), 1.0, 0.0); + gtk_label_set_markup(GTK_LABEL(wid),_utf("Encoder info:")); + gtk_table_attach(GTK_TABLE(table), wid, 0, 1, 2, 3, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 10, 5); + + wl->encThreads = wid = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wid), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table), wid, 1, 2, 2, 3, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 10,5); + + wl->encLabel4 = wid = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wid), 1.0, 0.0); + gtk_label_set_markup(GTK_LABEL(wid),_utf("Performance:")); + gtk_table_attach(GTK_TABLE(table), wid, 0, 1, 4, 5, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 10, 5); + + wl->encPerformance = wid = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wid), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table), wid, 1, 2, 4, 5, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 10, 5); + + wl->encLabel5 = wid = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wid), 1.0, 0.0); + gtk_label_set_markup(GTK_LABEL(wid),_utf("State:")); + gtk_table_attach(GTK_TABLE(table), wid, 0, 1, 5, 6, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 10, 5); + + wl->encBottleneck = wid = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wid), 0.0, 0.0); + gtk_table_attach(GTK_TABLE(table), wid, 1, 2, 5, 6, GTK_SHRINK | GTK_FILL, GTK_SHRINK, 10, 5); + + wl->encFootline = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wl->encFootline), 0.0, 0.5); + gtk_misc_set_padding(GTK_MISC(wl->encFootline), 20, 0); + gtk_box_pack_start(GTK_BOX(parent), wl->encFootline, FALSE, FALSE, 3); + + wl->encFootline2 = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wl->encFootline2), 0.0, 0.5); + gtk_misc_set_padding(GTK_MISC(wl->encFootline2), 20, 0); + gtk_box_pack_start(GTK_BOX(parent), wl->encFootline2, FALSE, FALSE, 3); +} + +/*** + *** Fix window + ***/ + +/* + * Set the media size and ecc capacity + */ + +static gboolean set_max_idle_func(gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + + redraw_curve(wl); + + return FALSE; +} + +void RS03SetFixMaxValues(RS03Widgets *wl, int data_bytes, int ecc_bytes, gint64 sectors) +{ + wl->dataBytes = data_bytes; + wl->eccBytes = ecc_bytes; + wl->nSectors = sectors; + wl->fixCurve->maxX = 100; + wl->fixCurve->maxY = ecc_bytes - (ecc_bytes % 5) + 5; + + g_idle_add(set_max_idle_func, wl); +} + +/* + * Update the corrected / uncorrected numbers + */ + +static gboolean results_idle_func(gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + + SetLabelText(GTK_LABEL(wl->fixCorrected), _("Repaired: %lld"), wl->corrected); + SetLabelText(GTK_LABEL(wl->fixUncorrected), _("Unrepairable: %lld"),Closure->redMarkup, wl->uncorrected); + SetLabelText(GTK_LABEL(wl->fixProgress), _("Progress: %3d.%1d%%"), wl->percent/10, wl->percent%10); + + return FALSE; +} + +void RS03UpdateFixResults(RS03Widgets *wl, gint64 corrected, gint64 uncorrected) +{ + wl->corrected = corrected; + wl->uncorrected = uncorrected; + + g_idle_add(results_idle_func, wl); +} + +/* + * Update the error curve + */ + +static gboolean curve_idle_func(gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + gint x0 = CurveX(wl->fixCurve, (double)wl->lastPercent); + gint x1 = CurveX(wl->fixCurve, (double)wl->percent); + gint y = CurveY(wl->fixCurve, wl->fixCurve->ivalue[wl->percent]); + gint i; + + /*** Mark unused ecc values */ + + for(i=wl->lastPercent+1; ipercent; i++) + wl->fixCurve->ivalue[i] = wl->fixCurve->ivalue[wl->percent]; + + /*** Resize the Y axes if error values exceeds current maximum */ + + if(wl->fixCurve->ivalue[wl->percent] > wl->fixCurve->maxY) + { wl->fixCurve->maxY = wl->fixCurve->ivalue[wl->percent]; + wl->fixCurve->maxY = wl->fixCurve->maxY - (wl->fixCurve->maxY % 5) + 5; + + update_geometry(wl); + gdk_window_clear(wl->fixCurve->widget->window); + redraw_curve(wl); + wl->lastPercent = wl->percent; + + return FALSE; + } + + /*** Draw the error value */ + + if(wl->fixCurve->ivalue[wl->percent] > 0) + { gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->barColor); + gdk_draw_rectangle(wl->fixCurve->widget->window, + Closure->drawGC, TRUE, + x0, y, x0==x1 ? 1 : x1-x0, wl->fixCurve->bottomY-y); + } + wl->lastPercent = wl->percent; + + /* Redraw the ecc capacity threshold line */ + + y = CurveY(wl->fixCurve, wl->eccBytes); + gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->greenSector); + gdk_draw_line(wl->fixCurve->widget->window, + Closure->drawGC, + wl->fixCurve->leftX-6, y, wl->fixCurve->rightX+6, y); + return FALSE; +} + +/* + * Add one new data point + */ + +void RS03AddFixValues(RS03Widgets *wl, int percent, int ecc_max) +{ + if(percent < 0 || percent > 1000) + return; + + wl->fixCurve->ivalue[percent] = ecc_max; + wl->percent = percent; + g_idle_add(curve_idle_func, wl); +} + +/* + * Redraw the whole curve + */ + +/* Calculate the geometry of the curve and spiral */ + +static void update_geometry(RS03Widgets *wl) +{ + /* Curve geometry */ + + UpdateCurveGeometry(wl->fixCurve, "999", 20); + + /* Label positions in the foot line */ + + gtk_box_set_child_packing(GTK_BOX(wl->fixFootlineBox), wl->fixCorrected, + TRUE, TRUE, wl->fixCurve->leftX, GTK_PACK_START); + gtk_box_set_child_packing(GTK_BOX(wl->fixFootlineBox), wl->fixUncorrected, + TRUE, TRUE, wl->fixCurve->leftX, GTK_PACK_START); +} + +static void redraw_curve(RS03Widgets *wl) +{ int y; + + /* Redraw the curve */ + + RedrawAxes(wl->fixCurve); + RedrawCurve(wl->fixCurve, wl->percent); + + /* Ecc capacity threshold line */ + + y = CurveY(wl->fixCurve, wl->eccBytes); + gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->greenSector); + gdk_draw_line(wl->fixCurve->widget->window, + Closure->drawGC, + wl->fixCurve->leftX-6, y, wl->fixCurve->rightX+6, y); +} + +/* + * Expose callback + */ + +static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; + + if(event->count) /* Exposure compression */ + return TRUE; + + update_geometry(wl); + redraw_curve(wl); + + return TRUE; +} + +void ResetRS03FixWindow(Method *method) +{ RS03Widgets *wl = (RS03Widgets*)method->widgetList; + + gtk_notebook_set_current_page(GTK_NOTEBOOK(wl->fixNotebook), 0); + + ZeroCurve(wl->fixCurve); + RS03UpdateFixResults(wl, 0, 0); + + if(wl->fixCurve && wl->fixCurve->widget) + { gdk_window_clear(wl->fixCurve->widget->window); + redraw_curve(wl); + } + + wl->percent = 0; + wl->lastPercent = 0; +} + +/* + * Create the Fix window contents + */ + + +void CreateRS03FixWindow(Method *method, GtkWidget *parent) +{ RS03Widgets *wl; + GtkWidget *sep,*ignore,*d_area,*notebook,*hbox; + + if(!method->widgetList) + { wl = g_malloc0(sizeof(RS03Widgets)); + method->widgetList = wl; + } + else wl = method->widgetList; + + wl->fixHeadline = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wl->fixHeadline), 0.0, 0.0); + gtk_misc_set_padding(GTK_MISC(wl->fixHeadline), 5, 0); + gtk_box_pack_start(GTK_BOX(parent), wl->fixHeadline, FALSE, FALSE, 3); + + sep = gtk_hseparator_new(); + gtk_box_pack_start(GTK_BOX(parent), sep, FALSE, FALSE, 0); + + sep = gtk_hseparator_new(); + gtk_box_pack_start(GTK_BOX(parent), sep, FALSE, FALSE, 0); + + d_area = wl->fixDrawingArea = gtk_drawing_area_new(); + gtk_box_pack_start(GTK_BOX(parent), d_area, TRUE, TRUE, 0); + g_signal_connect(G_OBJECT (d_area), "expose_event", G_CALLBACK(expose_cb), (gpointer)wl); + + notebook = wl->fixNotebook = gtk_notebook_new(); + gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); + gtk_notebook_set_show_border(GTK_NOTEBOOK(notebook), FALSE); + gtk_box_pack_end(GTK_BOX(parent), notebook, FALSE, FALSE, 0); + + hbox = wl->fixFootlineBox = gtk_hbox_new(TRUE, 0); + + wl->fixCorrected = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wl->fixCorrected), 0.0, 0.0); + gtk_box_pack_start(GTK_BOX(hbox), wl->fixCorrected, TRUE, TRUE, 0); + + wl->fixProgress = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wl->fixProgress), 0.5, 0.0); + gtk_box_pack_start(GTK_BOX(hbox), wl->fixProgress, TRUE, TRUE, 0); + + wl->fixUncorrected = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(wl->fixUncorrected), 1.0, 0.0); + gtk_box_pack_start(GTK_BOX(hbox), wl->fixUncorrected, TRUE, TRUE, 0); + + ignore = gtk_label_new("progress_tab"); + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), hbox, ignore); + + wl->fixFootline = gtk_label_new("Footline"); + gtk_misc_set_alignment(GTK_MISC(wl->fixFootline), 0.0, 0.5); + gtk_misc_set_padding(GTK_MISC(wl->fixFootline), 5, 0); + ignore = gtk_label_new("footer_tab"); + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), wl->fixFootline, ignore); + + wl->fixCurve = CreateCurve(d_area, _("Errors/Ecc block"), "%d", 1000, CURVE_PERCENT); + wl->fixCurve->enable = DRAW_ICURVE; +} + diff --git a/scripts/bash-based-configure b/scripts/bash-based-configure index 1ea01a3..1be8036 100644 --- a/scripts/bash-based-configure +++ b/scripts/bash-based-configure @@ -1,5 +1,5 @@ # Bash based configure - library of test functions -# Copyright (C) 2004-2009 Carsten Gnrlich +# Copyright (C) 2004-2010 Carsten Gnrlich # # 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 @@ -56,13 +56,14 @@ # EXECUTE_PROGRAM Invoke a command to see if a certain program is available # # CHECK_ENDIAN Test whether system is little or big endian +# CHECK_BITNESS Test whether system is 32bit or 64bit # CHECK_SSE2 Test whether when can compile for SSE2 extensions # FINALIZE_HELP Finish --help output (optional, but user friendly) # # WITH_OPTION name default adds -DWITH_OPTION_VALUE for -with-option=value args # to CFG_WITH_OPTIONS, -CONFIGURE_VERSION="0.55" +CONFIGURE_VERSION="0.56" echo "Bash based configure V$CONFIGURE_VERSION" echo @@ -665,6 +666,12 @@ function try_compile() { (eval "$CC $CFG_CFLAGS conftest.c $CFG_LDFLAGS $CFG_LIBS -lm -o conftest") 2>>$LOGFILE; } && test -s conftest } +function try_preprocess() +{ echo "$CC $CFG_CFLAGS -E conftest.c -o conftest.out" >>$LOGFILE + cat conftest.c >>$LOGFILE + { (eval "$CC $CFG_CFLAGS -E conftest.c -o conftest.out") 2>>$LOGFILE; } && test -s conftest.out +} + # Try to compile a main() with a given function function try_function() @@ -1419,27 +1426,24 @@ EOF fi CFG_GTK2_BINDIR=`which pkg-config` - CFG_GTK2_BINDIR=`echo $CFG_GTK2_BINDIR | sed -e 's/\/pkg-config//'` + CFG_GTK2_BINDIR=`echo $CFG_GTK2_BINDIR | sed -e 's/.exe//' | sed -e 's/\/pkg-config//'` CFG_CFLAGS="$CFG_CFLAGS $CFG_GTK2_CFLAGS" CFG_LIBS="$CFG_LIBS $CFG_GTK2_LIBS" cat >conftest.c < -int main(int argc, char *argv[]) -{ GtkWidget *window; - - printf("%d.%d.%d\n",GTK_MAJOR_VERSION,GTK_MINOR_VERSION,GTK_MICRO_VERSION); - return 0; -} +#include + +CPPABUSE GTK_MAJOR_VERSION.GTK_MINOR_VERSION.GTK_MICRO_VERSION EOF - echo -n " test compile... " + echo -n " test preprocessing... " - if try_compile; then + if try_preprocess; then echo "works" rm -f conftest.c - found_version=`./conftest` + found_version=$(grep CPPABUSE ./conftest.out | tr -d "CPABUSE ()") + rm -f conftest.out if ! check_version "GTK+" "$want_major" "$want_minor" "$want_micro" "$found_version"; then echo -e "\n Did not find a suitable version of GTK+." exit 1 @@ -1589,11 +1593,11 @@ int main(){ #ifdef $symb_name return 0; } #else - return 1; } + #error no symbol } #endif EOF - if try_compile && ./conftest; then + if try_compile ; then answer="yes" CFG_HAVE_OPTIONS="$CFG_HAVE_OPTIONS -DHAVE_$symb_upcase" echo " $symb_name in $incl_name: $answer" @@ -1726,7 +1730,70 @@ EOF ;; esac fi +} +# +# Figure out bitness of system +# + +function CHECK_BITNESS() +{ + if test -n "$cfg_help_mode"; then + echo " --with-bitness=[32 | 64]" + return 0 + fi + + echo -e "\n/* *** CHECK_BITNESS */\n" >>$LOGFILE + echo -n "Checking bitness..." + + # See if user wants to override our test + + if test -n "$cfg_with_bitness"; then + case "$cfg_with_bitness" in + 32) echo " 32bit (user supplied)" + CFG_HAVE_OPTIONS="$CFG_HAVE_OPTIONS -DHAVE_32BIT" + ;; + 64) echo " 64bit (user supplied)" + CFG_HAVE_OPTIONS="$CFG_HAVE_OPTIONS -DHAVE_64BIT" + ;; + *) echo -e " $cfg_with_bitness (illegal value)\n" + echo "Please use one of the following values:" + echo "--with-bitness=[32 | 64]" + exit 1 + ;; + esac + return 0; + fi + + # Try automatic detection + + cat > conftest.c <buf, 2, sense, DATA_READ)<0) + if(SendPacket(dh, cmd, 12, ab->buf, MIN_TRANSFER_LEN, sense, DATA_READ)<0) { Verbose("# failed -> not a BD type medium.\n"); goto try_dvd; @@ -200,7 +214,7 @@ try_dvd: cmd[6] = 0; /* First layer */ cmd[7] = 0; /* We want PHYSICAL info */ cmd[8] = 0; /* Allocation length */ - cmd[9] = 2; + cmd[9] = MIN_TRANSFER_LEN; /* Different drives react with different error codes on this request; especially CDROMs seem to react very indeterministic here @@ -208,7 +222,7 @@ try_dvd: So we do not look for specific error and regard any failure as a sign that the medium is not a DVD. */ - if(SendPacket(dh, cmd, 12, ab->buf, 2, sense, DATA_READ)<0) + if(SendPacket(dh, cmd, 12, ab->buf, MIN_TRANSFER_LEN, sense, DATA_READ)<0) { Verbose("# failed -> not a DVD type medium\n"); goto assume_cd; @@ -444,10 +458,10 @@ static int query_cd(DeviceHandle *dh, int probe_only) cmd[2] = 0; /* format; we want the TOC */ cmd[6] = 1; /* track/session number */ cmd[7] = 0; /* allocation length */ - cmd[8] = 2; + cmd[8] = MIN_TRANSFER_LEN; Verbose("#CD: querying size of READ TOC/PMA/ATIP (for TOC)\n"); - if(SendPacket(dh, cmd, 10, buf, 2, sense, DATA_READ)<0) + if(SendPacket(dh, cmd, 10, buf, MIN_TRANSFER_LEN, sense, DATA_READ)<0) { FreeAlignedBuffer(ab); if(!probe_only) @@ -462,6 +476,7 @@ static int query_cd(DeviceHandle *dh, int probe_only) length = buf[0]<<8 | buf[1]; length += 2 ; /* MMC3: "Disc information length excludes itself" */ + length_align(&length); Verbose("#CD: size returned is %d\n", length); if(length>1024) /* don't let the drive hack us using a buffer overflow ;-) */ @@ -506,10 +521,10 @@ static int query_cd(DeviceHandle *dh, int probe_only) cmd[2] = 2; /* format; we want the full TOC */ cmd[6] = 1; /* track/session number */ cmd[7] = 0; /* allocation length */ - cmd[8] = 2; + cmd[8] = MIN_TRANSFER_LEN; Verbose("#CD: querying size of READ TOC/PMA/ATIP (for full TOC)\n"); - if(SendPacket(dh, cmd, 10, buf, 2, sense, DATA_READ)<0) + if(SendPacket(dh, cmd, 10, buf, MIN_TRANSFER_LEN, sense, DATA_READ)<0) { FreeAlignedBuffer(ab); if(!probe_only) Stop(_("%s\nCould not query full TOC length.\n"), @@ -519,6 +534,7 @@ static int query_cd(DeviceHandle *dh, int probe_only) length = buf[0]<<8 | buf[1]; length += 2; /* MMC3: "Disc information length excludes itself" */ + length_align(&length); Verbose("#CD: size returned is %d\n", length); if(length < 15) @@ -534,7 +550,9 @@ static int query_cd(DeviceHandle *dh, int probe_only) return FALSE; } +#if 0 length = 16; /* Works around Windows (and possibly other OS) driver issues */ +#endif memset(cmd, 0, MAX_CDB_SIZE); cmd[0] = 0x43; /* READ TOC/PMA/ATIP */ @@ -612,10 +630,10 @@ static int query_dvd(DeviceHandle *dh, int probe_only) cmd[6] = 0; /* First layer */ cmd[7] = 0; /* We want PHYSICAL info */ cmd[8] = 0; /* Allocation length */ - cmd[9] = 2; + cmd[9] = MIN_TRANSFER_LEN; Verbose("#DVD: trying READ DVD for size of PHYSICAL info\n"); - if(SendPacket(dh, cmd, 12, buf, 2, sense, DATA_READ)<0) + if(SendPacket(dh, cmd, 12, buf, MIN_TRANSFER_LEN, sense, DATA_READ)<0) { FreeAlignedBuffer(ab); if(!probe_only) Stop(_("%s\nCould not query dvd structure length.\n"), @@ -625,6 +643,7 @@ static int query_dvd(DeviceHandle *dh, int probe_only) length = buf[0]<<8 | buf[1]; length += 2; + length_align(&length); if(length>4096) /* don't let the drive hack us using a buffer overflow ;-) */ { FreeAlignedBuffer(ab); @@ -735,12 +754,13 @@ static int query_dvd(DeviceHandle *dh, int probe_only) cmd[6] = 0; /* First layer */ cmd[7] = 0x11; /* We want the ADIP */ cmd[8] = 0; /* Allocation length */ - cmd[9] = 2; + cmd[9] = MIN_TRANSFER_LEN; Verbose("#DVD: trying READ DVD for size of ADIP\n"); - if(SendPacket(dh, cmd, 12, buf, 2, sense, DATA_READ) == 0) + if(SendPacket(dh, cmd, 12, buf, MIN_TRANSFER_LEN, sense, DATA_READ) == 0) { length = buf[0]<<8 | buf[1]; length += 2; + length_align(&length); Verbose("#DVD: size returned is %d\n", length); @@ -784,12 +804,13 @@ static int query_dvd(DeviceHandle *dh, int probe_only) cmd[6] = 0; /* First layer */ cmd[7] = 0x0E; /* We want the lead-in info */ cmd[8] = 0; /* Allocation length */ - cmd[9] = 2; + cmd[9] = MIN_TRANSFER_LEN; Verbose("#DVD: trying READ DVD for size of lead-in\n"); - if(SendPacket(dh, cmd, 12, buf, 2, sense, DATA_READ) == 0) + if(SendPacket(dh, cmd, 12, buf, MIN_TRANSFER_LEN, sense, DATA_READ) == 0) { length = buf[0]<<8 | buf[1]; length += 2; + length_align(&length); Verbose("#DVD: size returned is %d\n", length); if(length < 4096) @@ -938,10 +959,10 @@ static int query_bd(DeviceHandle *dh, int probe_only) cmd[6] = 0; /* First layer */ cmd[7] = 0; /* We want DI (disc information) */ cmd[8] = 0; /* Allocation length */ - cmd[9] = 2; + cmd[9] = MIN_TRANSFER_LEN; Verbose("#BD: trying READ DISC STRUCTURE for size\n"); - if(SendPacket(dh, cmd, 12, buf, 2, sense, DATA_READ)<0) + if(SendPacket(dh, cmd, 12, buf, MIN_TRANSFER_LEN, sense, DATA_READ)<0) { FreeAlignedBuffer(ab); if(!probe_only) Stop(_("%s\nCould not query BD disc structure length.\n"), @@ -951,6 +972,7 @@ static int query_bd(DeviceHandle *dh, int probe_only) length = buf[0]<<8 | buf[1]; length += 2; + length_align(&length); Verbose("#BD: disc structure query succeeded, length %d bytes\n", length); /* Do the real query */ @@ -1052,11 +1074,12 @@ static int query_type(DeviceHandle *dh, int probe_only) cmd[0] = 0x51; /* READ DISC INFORMATION */ cmd[1] = 0; /* standard disc info */ cmd[7] = 0; /* Allocation length */ - cmd[8] = 2; + cmd[8] = MIN_TRANSFER_LEN; Verbose("# trying READ DISC INFORMATION for size\n"); - if(SendPacket(dh, cmd, 10, buf, 2, sense, DATA_READ) == 0) + if(SendPacket(dh, cmd, 10, buf, MIN_TRANSFER_LEN, sense, DATA_READ) == 0) { length = buf[0]<<8 | buf[1]; + length_align(&length); Verbose("# size returned is %d\n", length); @@ -1158,16 +1181,17 @@ static int query_blank(DeviceHandle *dh) cmd[2] = 4; /* format; we want the ATIP */ cmd[6] = 0; /* track/session number */ cmd[7] = 0; /* allocation length */ - cmd[8] = 2; + cmd[8] = MIN_TRANSFER_LEN; Verbose("#CD: querying size of READ TOC/PMA/ATIP (for ATIP)\n"); - if(SendPacket(dh, cmd, 10, buf, 2, sense, DATA_READ)<0) + if(SendPacket(dh, cmd, 10, buf, MIN_TRANSFER_LEN, sense, DATA_READ)<0) { FreeAlignedBuffer(ab); return FALSE; } length = buf[0]<<8 | buf[1]; length += 2; /* MMC3: "Disc information length excludes itself" */ + length_align(&length); Verbose("#CD: size returned is %d\n", length); if(length < 15 || length > 1024) /* implausible */ @@ -1212,16 +1236,17 @@ static int query_blank(DeviceHandle *dh) cmd[1] = 0x01; /* TCDB (track number) addressing) */ cmd[5] = 1; /* we want the first track info */ cmd[7] = 0; /* allocation length */ - cmd[8] = 2; + cmd[8] = MIN_TRANSFER_LEN; Verbose("#DVD: querying size of READ TRACK INFORMATION\n"); - if(SendPacket(dh, cmd, 10, buf, 2, sense, DATA_READ)<0) + if(SendPacket(dh, cmd, 10, buf, MIN_TRANSFER_LEN, sense, DATA_READ)<0) { FreeAlignedBuffer(ab); return FALSE; } length = buf[0]<<8 | buf[1]; length += 2; /* MMC3: "Disc information length excludes itself" */ + length_align(&length); Verbose("#DVD: size returned is %d\n", length); memset(cmd, 0, MAX_CDB_SIZE); @@ -1267,6 +1292,7 @@ static int query_blank(DeviceHandle *dh) } length = 4+buf[3]; + length_align(&length); Verbose("#DVD: size returned is %d\n", length); memset(cmd, 0, MAX_CDB_SIZE); @@ -1350,6 +1376,7 @@ static int query_blank(DeviceHandle *dh) } length = 4+buf[3]; + length_align(&length); Verbose("#BD: size returned is %d\n", length); memset(cmd, 0, MAX_CDB_SIZE); @@ -1483,8 +1510,8 @@ static int read_mode_page(DeviceHandle *dh, AlignedBuffer *ab, int *parameter_li memset(cdb, 0, MAX_CDB_SIZE); cdb[0] = 0x5a; /* MODE SENSE(10) */ cdb[2] = 1; /* Page code */ - cdb[8] = 255; /* Allocation length */ - ret = SendPacket(dh, cdb, 10, buf, 255, &sense, DATA_READ); + cdb[8] = 252; /* Allocation length */ + ret = SendPacket(dh, cdb, 10, buf, 252, &sense, DATA_READ); if(ret<0) { FreeAlignedBuffer(ab); @@ -1639,9 +1666,9 @@ static int query_copyright(DeviceHandle *dh) cmd[6] = 0; /* First layer */ cmd[7] = 1; /* We want copyright info */ cmd[8] = 0; /* Allocation length */ - cmd[9] = 2; + cmd[9] = MIN_TRANSFER_LEN; - if(SendPacket(dh, cmd, 12, buf, 2, &sense, DATA_READ)<0) + if(SendPacket(dh, cmd, 12, buf, MIN_TRANSFER_LEN, &sense, DATA_READ)<0) { FreeAlignedBuffer(ab); Stop(_("%s\nCould not query dvd structure length for format code 1.\n"), GetSenseString(sense.sense_key, sense.asc, sense.ascq, TRUE)); @@ -1650,6 +1677,7 @@ static int query_copyright(DeviceHandle *dh) length = buf[0]<<8 | buf[1]; length += 2; + length_align(&length); if(length>4096) /* don't let the drive hack us using a buffer overflow ;-) */ { FreeAlignedBuffer(ab); @@ -1795,7 +1823,7 @@ static unsigned int query_size(DeviceHandle *dh) /*** If RS02 header search is enabled and we can find an appropriate header, use it as an authoritative source for the medium size. */ - if(Closure->querySize >= 2) + if(Closure->examineRS02) { if(dh->rs02Size <= 0) { gint64 last_sector = MAX(dh->readCapacity, dh->userAreaSize); @@ -1818,16 +1846,14 @@ static unsigned int query_size(DeviceHandle *dh) Verbose("Skipping medium size determination from ECC header.\n"); } - /*** If ISO/UDF filesystem parsing is enabled try this next. */ + /*** Try getting the size from the ISO/UDF filesystem. */ - if(Closure->querySize >= 1) - { if(dh->isoInfo) - { Verbose("Medium size obtained from ISO/UDF file system: %d sectors\n", - dh->isoInfo->volumeSize); - return dh->isoInfo->volumeSize; - } - else Verbose("Medium size could NOT be determined from ISO/UDF filesystem.\n"); - } else Verbose("Skipping medium size determination from ISO/UDF filesystem.\n"); + if(dh->isoInfo) + { Verbose("Medium size obtained from ISO/UDF file system: %d sectors\n", + dh->isoInfo->volumeSize); + return dh->isoInfo->volumeSize; + } + else Verbose("Medium size could NOT be determined from ISO/UDF filesystem.\n"); /*** If everything else fails, query the drive. */ @@ -2006,8 +2032,7 @@ gint64 CurrentMediumSize(int get_blank_size) size = dh->blankCapacity; } else - { if(Closure->querySize >= 1) /* parseUDF or better requested */ - ExamineUDF(dh); + { ExamineUDF(dh, NULL); size = query_size(dh); } @@ -2543,14 +2568,7 @@ DeviceHandle* OpenAndQueryDevice(char *device) GetSenseString(dh->sense.sense_key, dh->sense.asc, dh->sense.ascq, FALSE)); } -#ifdef SYS_LINUX PrintLog(_("\nDevice: %s, %s\n"),device, dh->devinfo); -#endif - -#ifdef SYS_MINGW - PrintLog(_("\nDevice: %s (%s), %s\n"), - device, dh->aspiUsed ? "ASPI" : "SPTI", dh->devinfo); -#endif /* Query the type and fail immediately if incompatible medium is found so that the later tests are not derailed by the wrong medium type */ @@ -2618,8 +2636,7 @@ DeviceHandle* OpenAndQueryDevice(char *device) /* Examine medium type */ - if(Closure->querySize >= 1) /* parseUDF or better requested */ - ExamineUDF(dh); + ExamineUDF(dh, NULL); Verbose("# Calling query_size()\n"); dh->sectors = query_size(dh); @@ -2705,9 +2722,7 @@ DeviceHandle* QueryMediumInfo(char *device) /* Examine medium size (only on known/handled formats) */ if(dh->subType != UNSUPPORTED) - { if(Closure->querySize >= 1) /* parseUDF or better requested */ - ExamineUDF(dh); - + { ExamineUDF(dh, NULL); dh->sectors = query_size(dh); } diff --git a/scsi-layer.h b/scsi-layer.h index 6e8e565..0b6fb4e 100644 --- a/scsi-layer.h +++ b/scsi-layer.h @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -49,6 +49,15 @@ #define VERSION REAL_VERSION #endif +/*** + *** Global settings + ***/ + +/* Theretically not needed, but using less causes DMA breakage + on some chipsets. */ + +#define MIN_TRANSFER_LEN 4 + /*** *** Define the Sense data structure. ***/ @@ -115,9 +124,7 @@ typedef struct _DeviceHandle union ccb *ccb; #endif #ifdef SYS_MINGW - HANDLE fd; /* Windows file handle for the device (SPTI case) */ - int aspiUsed; /* TRUE is device is accessed via ASPI */ - int ha,target,lun; /* ASPI way of describing drives */ + HANDLE fd; /* Windows SPTI file handle for the device */ #endif #ifdef SYS_DARWIN IOCFPlugInInterface **plugInInterface; @@ -250,7 +257,6 @@ typedef struct _DeviceHandle DeviceHandle* OpenDevice(char*); #ifdef SYS_MINGW -DeviceHandle* open_aspi_device(char*, int); DeviceHandle* open_spti_device(char*); #endif diff --git a/scsi-linux.c b/scsi-linux.c index 039c22b..cfb67f8 100644 --- a/scsi-linux.c +++ b/scsi-linux.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/scsi-netbsd.c b/scsi-netbsd.c index d7a1e32..2877f64 100644 --- a/scsi-netbsd.c +++ b/scsi-netbsd.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/scsi-solaris.c b/scsi-solaris.c index e1ff359..afe818d 100644 --- a/scsi-solaris.c +++ b/scsi-solaris.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/scsi-unknown.c b/scsi-unknown.c index a226a77..14b77fc 100644 --- a/scsi-unknown.c +++ b/scsi-unknown.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/scsi-win32.c b/scsi-win32.c index 47bdfba..6258644 100644 --- a/scsi-win32.c +++ b/scsi-win32.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -27,23 +27,15 @@ /** ** Windows wrapper. ** - * Actually we have two wrappers; one for SPTI and one for ASPI. - * SPTI requires Windows 2000 or XP and root priviledges, but seems - * to be more compatible. - * Otoh, ASPI run without special priviledges and even on the older - * Windows 9x versions. - * The ASPI wrapper has only been tested against the WNASPI32.DLL - * made by Adaptec. - * - * SPTI is tried first and then we fall back to ASPI. + * As of dvdisaster 0.73.1, Windows 2000 SP4 is the minimum + * system requirement and thus only SPTI is supported. */ #ifdef SYS_MINGW /* - * This is independent from later decision between SPTI and ASPI. - * The drive letter ordering is remembered to aid the - * drive letter / ASPI drive guessing / mapping. + * The drive letter ordering is remembered for + * historical reasons (it was once useful for ASPI mapping) */ static int drive_letters[26]; @@ -83,20 +75,6 @@ char* DefaultDevice() } } - /* Try looking for drives using ASPI. - Changed behaviour since V0.72: - We provide both SPTI and ASPI in the GUI. */ - - if(Closure->aspiLib) - { int none_picked = !Closure->deviceNodes->len; - DeviceHandle *dh = open_aspi_device("A:", 2); - if(dh) CloseDevice(dh); - - if(none_picked - && Closure->deviceNodes->len) /* pick first aspi drive */ - *picked = ((char*)g_ptr_array_index(Closure->deviceNodes,0))[0]; - } - if(cd_dvd_drives > 0) return g_strdup(picked); @@ -104,7 +82,7 @@ char* DefaultDevice() } /* - * Close the SPTI/ASPI devices. + * Close the SPTI device. */ void CloseDevice(DeviceHandle *dh) @@ -115,9 +93,8 @@ void CloseDevice(DeviceHandle *dh) if(dh->rawBuffer) FreeRawBuffer(dh->rawBuffer); - if(!dh->aspiUsed) /* SPTI cleanup */ - { CloseHandle(dh->fd); - } + if(dh->fd) /* SPTI cleanup */ + CloseHandle(dh->fd); if(dh->rs02Header) g_free(dh->rs02Header); @@ -134,391 +111,6 @@ void CloseDevice(DeviceHandle *dh) g_free(dh); } -/** - ** The ASPI wrapper. - **/ - -/* - * Not everyone has the development kit with the #includes - * for sending SCSI packets via ASPI, so we define what we need here. - */ - -#define SS_PENDING 0x00 -#define SS_COMP 0x01 -#define SS_ERR 0x04 - -#define SRB_DIR_IN 0x08 -#define SRB_DIR_OUT 0x10 -#define SRB_EVENT_NOTIFY 0x40 - -#define SC_HA_INQUIRY 0x00 /* Host adapter inquiry */ -#define SC_GET_DEV_TYPE 0x01 /* Get device type */ -#define SC_EXEC_SCSI_CMD 0x02 /* Execute SCSI command */ - -#define DTYPE_DASD 0 -#define DTYPE_CDROM 5 - -typedef struct -{ BYTE Cmd; /* ASPI command code = SC_HA_INQUIRY */ - BYTE Status; /* ASPI command status byte */ - BYTE HaId; /* ASPI host adapter number */ - BYTE Flags; /* ASPI request flags */ - DWORD Hdr_Rsvd; /* Reserved, MUST = 0 */ - BYTE Count; /* Number of host adapters present */ - BYTE SCSI_ID; /* SCSI ID of host adapter */ - BYTE HA_ManagerId[16]; /* String describing the manager */ - BYTE HA_Identifier[16]; /* String describing the host adapter */ - WORD HA_BufAlignMask; /* HA_Unique[1-0] */ - BYTE HA_Flags; /* HA_Unique[2] */ - BYTE HA_MaxTargets; /* HA_Unique[3] */ - DWORD HA_MaxTransferLength; /* HA_Unique[7-4] */ - DWORD HA_MaxSGElements; /* HA_Unique[11-8] */ - BYTE HA_Rsvd2[4]; /* HA_Unique[15-12] */ - WORD HA_Rsvd1; /* Reserved, MUST = 0 */ -} PACKED SRB32_HAInquiry; - -typedef struct -{ BYTE Cmd; /* ASPI command code = SC_GET_DEV_TYPE */ - BYTE Status; /* ASPI command status byte */ - BYTE HaId; /* ASPI host adapter number */ - BYTE Flags; /* Reserved, MUST = 0 */ - DWORD Hdr_Rsvd; /* Reserved, MUST = 0 */ - BYTE Target; /* Target's SCSI ID */ - BYTE Lun; /* Target's LUN number */ - BYTE DeviceType; /* Target's peripheral device type */ - BYTE Rsvd1; /* Reserved, MUST = 0 */ -} PACKED SRB32_GDEVBlock; - -typedef struct -{ BYTE Cmd; /* ASPI command code = SC_EXEC_SCSI_CMD */ - BYTE Status; /* ASPI command status byte */ - BYTE HaId; /* ASPI host adapter number */ - BYTE Flags; /* ASPI request flags */ - DWORD Hdr_Rsvd; /* Reserved */ - BYTE Target; /* Target's SCSI ID */ - BYTE Lun; /* Target's LUN number */ - WORD Rsvd1; /* Reserved for Alignment */ - DWORD BufLen; /* Data Allocation Length */ - BYTE *BufPtr; /* Data Buffer Pointer */ - BYTE SenseLen; /* Sense Allocation Length */ - BYTE CDBLen; /* CDB Length */ - BYTE HaStat; /* Host Adapter Status */ - BYTE TargStat; /* Target Status */ - VOID *PostProc; /* Post routine */ - BYTE Rsvd2[20]; /* Reserved, MUST be 0 */ - BYTE CDBByte[16]; /* SCSI CDB */ - BYTE SenseArea[16]; /* Request Sense buffer */ -} PACKED SRB32_ExecSCSICmd; - -/* - * Open and close the ASPI library. - */ - -void OpenAspi() -{ - /* Try to open the ASPI library */ - - Closure->aspiLib = LoadLibrary("WNASPI32.DLL"); - if(!Closure->aspiLib) return; - - Closure->GetASPI32SupportInfo - = (DWORD(*)(void))GetProcAddress(Closure->aspiLib, "GetASPI32SupportInfo"); - if(!Closure->GetASPI32SupportInfo) - { PrintLog("GetASPI32SupportInfo() not available."); - FreeLibrary(Closure->aspiLib); - Closure->aspiLib = NULL; - return; - } - - Closure->SendASPI32Command - = (DWORD(*)(void*))GetProcAddress(Closure->aspiLib, "SendASPI32Command"); - if(!Closure->SendASPI32Command) - { PrintLog("SendASPI32Command() not available."); - FreeLibrary(Closure->aspiLib); - Closure->aspiLib = NULL; - return; - } - - /* The Adaptec docs seem to imply that this call is needed - to initialize the ASPI library. */ - - Closure->GetASPI32SupportInfo(); -} - -void CloseAspi() -{ - if(Closure->aspiLib) - { FreeLibrary(Closure->aspiLib); - } -} - -/* - * Open and prepare the device using ASPI. - */ - -#define LIST_PRINT 1 -#define LIST_COLLECT 2 - -DeviceHandle* open_aspi_device(char *device, int list_mode) -{ DeviceHandle *dh; - int status,ret,ha,max_ha; - SRB32_HAInquiry ha_inq; - int drive_count = 0; - int drive_wanted = 0; - char spti_name[3]; - char letter_wanted = toupper(*device); - - dh = g_malloc0(sizeof(DeviceHandle)); - dh->device = g_strdup(device); - - /* Look for our special ASPI drive syntax */ - - if(*device >= '1' && *device <= '9') - drive_wanted = *device - '0'; - - /* Bail out if no ASPI available */ - - if(!Closure->aspiLib) - { g_free(dh); - return NULL; - } - - dh->aspiUsed = TRUE; - - /* Get number of host adapters. */ - - ret = Closure->GetASPI32SupportInfo(); - status = (ret>>8) & 0xff; - max_ha = ret & 0xff; - - if(status != SS_COMP) - { PrintLog("Could not determine number of host adapters\n"); - g_free(dh->device); - g_free(dh); - return NULL; - } - -#if 0 - PrintLog("Status %d, %d host adapters\n",status,max_ha); -#endif - - /* Now see if we can find any CDROM drives. */ - - for(ha=0; haSendASPI32Command(&ha_inq); - if(ha_inq.Status != SS_COMP) - PrintLog("ASPI warning: Could not query host adapter %d\n",ha); - -#if 0 - PrintLog("HA %d: %16s\n",ha,ha_inq.HA_Identifier); -#endif - - if(ha_inq.HA_MaxTargets == 16) /* my interpretation of */ - n_targets = 16; /* Adaptecs documentation */ - else n_targets = 8; - -#if 0 - /* Some ASPI drivers return -1 or 0 for actually working - configurations, so we can`t rely on this information. */ - - if(ha_inq.HA_MaxTransferLength == 0) - continue; -#endif - - /* Missing the following conditions is close to impossible. */ - - if(ha_inq.HA_BufAlignMask >= 4096) - { Stop("ASPI alignment = %d requested; can't handle that.\n", - ha_inq.HA_BufAlignMask); - g_free(dh); - return NULL; - } -#if 0 - /* Some ASPI drivers return 0 or -1 for actually working drives, - so this information is also useless. */ - - if(ha_inq.HA_MaxTransferLength < MAX_CLUSTER_SIZE) - { Stop("ASPI max xfer length = %d; can't handle that.\n", - ha_inq.HA_MaxTransferLength); - g_free(dh); - return NULL; - } -#endif - - /* Iterate over the HA's possible targets */ - - for(target=0; targetSendASPI32Command(&gdb); - - if(gdb.Status != SS_COMP) - continue; /* device does not exist */ - - if(gdb.DeviceType == DTYPE_CDROM) - { char guessed_letter = drive_letters[drive_count]; - - drive_count++; - - dh->ha = ha; - dh->target = target; - dh->lun = 0; - - if(list_mode) - { InquireDevice(dh, 1); - if(drive_count<26 && guessed_letter) - { spti_name[0] = guessed_letter; - spti_name[1] = ':'; - } - else spti_name[0] = spti_name[1] = '?'; - spti_name[2] = 0; - - if(list_mode == LIST_PRINT) - PrintLog(" %d: (%s) %s\n", drive_count, spti_name, dh->devinfo); - else - { char buf[50]; /* devinfo is 34 */ - - sprintf(buf, "%c: %s [ASPI# %d:]", - guessed_letter, dh->devinfo, drive_count); - g_ptr_array_add(Closure->deviceNames, g_strdup(buf)); - sprintf(buf, "%d:", drive_count); - g_ptr_array_add(Closure->deviceNodes, g_strdup(buf)); - } - } - - if(drive_wanted && drive_wanted == drive_count) - return dh; /* drive found by our ASPI syntax */ - - if(letter_wanted == guessed_letter) - return dh; /* hopefully found the right drive for letter */ - } - } - } - - if(list_mode == LIST_PRINT) - { if(!drive_count) - PrintLog(_("ASPI manager present, but no CD/DVD drives managed.\n")); - else if(drive_count != cd_dvd_drives) - LogWarning(_("%d SPTI drives, but %d ASPI drives.\n" - "Drive letter mapping for ASPI drives is probably incorrect.\n"), - cd_dvd_drives, drive_count); - return dh; - } - - g_free(dh->device); - g_free(dh); - return NULL; -} - -/* - * Print all CDROM drives accessible over ASPI. - */ - -void ListAspiDrives() -{ DeviceHandle *dh; - - PrintCLI(_("\nList of ASPI CD/DVD drives:\n")); - - dh = open_aspi_device("A:", LIST_PRINT); - - if(dh) - { PrintCLI(_("\nTo force ASPI usage over SPTI, refer to the drive by the\n" - "above numbers (use 1:, 2:,... instead of C:, D:,...)\n")); - - CloseDevice(dh); - } - else PrintCLI(_("ASPI manager not available or installed.\n")); -} - - -/* - * Send the SCSI command through ASPI. - */ - -static int send_aspi_packet(DeviceHandle *dh, unsigned char *cmd, int cdb_size, char *buf, int size, Sense *sense, int data_mode) -{ SRB32_ExecSCSICmd srb; - DWORD status; - HANDLE srb_event; - - srb_event = CreateEvent(NULL, 1, 0, NULL); - - /* Prepare the SRB struct */ - - memset(&srb, 0, sizeof(SRB32_ExecSCSICmd)); - srb.Cmd = SC_EXEC_SCSI_CMD; - srb.HaId = dh->ha; - srb.Target = dh->target; - srb.Lun = dh->lun; - switch(data_mode) - { case DATA_WRITE: - srb.Flags = SRB_DIR_OUT | SRB_EVENT_NOTIFY; - break; - case DATA_READ: - srb.Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY; - break; - default: - Stop("illegal data_mode for ASPI: %d", data_mode); - return -1; - } - srb.BufPtr = buf; - srb.BufLen = size; - srb.SenseLen = 16; - srb.PostProc = srb_event; - - srb.CDBLen = cdb_size; - memcpy(&srb.CDBByte, cmd, cdb_size); - - /* Send the SCSI command */ - - ResetEvent(srb_event); - status = Closure->SendASPI32Command(&srb); - - if(status == SS_PENDING) - WaitForSingleObject(srb_event, INFINITE); - - CloseHandle(srb_event); - memcpy(sense, &srb.SenseArea, 16); - - /* SS_COMP implies no SCSI error */ - - if(srb.Status == SS_COMP) return 0; - - /* Now see what went wrong */ - - switch(srb.TargStat) - { case 0x00: /* STATUS_GOOD */ - return -1; - - case 0x02: /* CHECK CONDITION */ - return -1; - - case 0x08: /* BUSY */ - PrintLog("ASPI layer: Target busy.\n"); - return -1; - - case 0x18: /* Reservation conflict */ - PrintLog("ASPI layer: Reservation conflict.\n"); - return -1; - } - - return -1; -} - /** ** The SPTI wrapper. **/ @@ -638,10 +230,6 @@ static int send_spti_packet(HANDLE fd, unsigned char *cmd, int cdb_size, char *b return 0; } -/*** - *** ASPI/SPTI wrapping - ***/ - /* * Open the device */ @@ -653,10 +241,8 @@ DeviceHandle* OpenDevice(char *device) || (*device >= 'C' && *device <= 'Z')) dh = open_spti_device(Closure->device); - if(!dh) dh = open_aspi_device(Closure->device, 0); - if(!dh) - { Stop(_("\nNeither SPTI nor ASPI worked opening %s."), device); + { Stop(_("\nCould not open device %s."), device); return NULL; } @@ -664,14 +250,12 @@ DeviceHandle* OpenDevice(char *device) } /* - * Dispatch between SPTI and ASPI for packet sending. + * Translate Scsi wrapper into SPTI call */ int SendPacket(DeviceHandle *dh, unsigned char *cmd, int cdb_size, unsigned char *buf, int size, Sense *sense, int data_mode) { - if(dh->aspiUsed) - return send_aspi_packet(dh, cmd, cdb_size, buf, size, sense, data_mode); - else return send_spti_packet(dh->fd, cmd, cdb_size, buf, size, sense, data_mode); + return send_spti_packet(dh->fd, cmd, cdb_size, buf, size, sense, data_mode); } #endif /* SYS_MINGW */ diff --git a/show-manual.c b/show-manual.c index 72cab4b..34f3c96 100644 --- a/show-manual.c +++ b/show-manual.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/smart-lec.c b/smart-lec.c index 7e53e4b..4d73367 100644 --- a/smart-lec.c +++ b/smart-lec.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * diff --git a/spiral.c b/spiral.c index 61520ad..2e5fb43 100644 --- a/spiral.c +++ b/spiral.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -143,8 +143,10 @@ void DrawSpiralSegment(Spiral *spiral, GdkColor *color, int segment) { double a; double scale_i,scale_o,ring_expand; GdkPoint points[4]; +#if 0 #ifdef SYS_DARWIN GdkRegion *region; +#endif #endif if(segment<0 || segment>=spiral->segmentClipping) @@ -178,6 +180,7 @@ void DrawSpiralSegment(Spiral *spiral, GdkColor *color, int segment) gdk_gc_set_rgb_fg_color(Closure->drawGC, spiral->outline); gdk_draw_polygon(spiral->drawable, Closure->drawGC, FALSE, points, 4); +#if 0 /* Work around GUI lock up on Mac OS X port of GTK+ FIXME: Remove when GTK+ behaviour improves. */ @@ -185,6 +188,7 @@ void DrawSpiralSegment(Spiral *spiral, GdkColor *color, int segment) region = gdk_region_polygon(points, 4, GDK_EVEN_ODD_RULE); gdk_window_invalidate_region(GDK_WINDOW(spiral->drawable), region, FALSE); #endif +#endif } /* diff --git a/tools/README b/tools/README index 22fb78a..8fb6d23 100644 --- a/tools/README +++ b/tools/README @@ -1,5 +1,5 @@ pngpack: lossless image compression for a series of screen shots -Copyright (C) 2005-2009 Carsten Gnoerlich. +Copyright (C) 2005-2010 Carsten Gnoerlich. pngpack is a specialized archival format for distributing screen shots (which are typically shipped with on-line documentation). diff --git a/tools/codec.c b/tools/codec.c index 864914e..33b85e0 100644 --- a/tools/codec.c +++ b/tools/codec.c @@ -1,5 +1,5 @@ /* pngpack: lossless image compression for a series of screen shots - * Copyright (C) 2005-2009 Carsten Gnoerlich. + * Copyright (C) 2005-2010 Carsten Gnoerlich. * * 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/tools/codec.h b/tools/codec.h index ea7e5f9..64c4353 100644 --- a/tools/codec.h +++ b/tools/codec.h @@ -1,5 +1,5 @@ /* pngpack: lossless image compression for a series of screen shots - * Copyright (C) 2005-2009 Carsten Gnoerlich. + * Copyright (C) 2005-2010 Carsten Gnoerlich. * * 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/tools/decimate.c b/tools/decimate.c index dc38791..b754ca4 100644 --- a/tools/decimate.c +++ b/tools/decimate.c @@ -1,5 +1,5 @@ /* pngpack: lossless image compression for a series of screen shots - * Copyright (C) 2005-2009 Carsten Gnoerlich. + * Copyright (C) 2005-2010 Carsten Gnoerlich. * * 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/tools/decimate.h b/tools/decimate.h index b452b6f..eb0fa3e 100644 --- a/tools/decimate.h +++ b/tools/decimate.h @@ -1,5 +1,5 @@ /* pngpack: lossless image compression for a series of screen shots - * Copyright (C) 2005-2009 Carsten Gnoerlich. + * Copyright (C) 2005-2010 Carsten Gnoerlich. * * 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/tools/memory.c b/tools/memory.c index 1f0845a..14b2750 100644 --- a/tools/memory.c +++ b/tools/memory.c @@ -1,5 +1,5 @@ /* pngpack: lossless image compression for a series of screen shots - * Copyright (C) 2005-2009 Carsten Gnoerlich. + * Copyright (C) 2005-2010 Carsten Gnoerlich. * * 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/tools/memory.h b/tools/memory.h index 41b192e..4f75df7 100644 --- a/tools/memory.h +++ b/tools/memory.h @@ -1,5 +1,5 @@ /* pngpack: lossless image compression for a series of screen shots - * Copyright (C) 2005-2009 Carsten Gnoerlich. + * Copyright (C) 2005-2010 Carsten Gnoerlich. * * 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/tools/pngio.c b/tools/pngio.c index 25da16a..6c0f014 100644 --- a/tools/pngio.c +++ b/tools/pngio.c @@ -1,5 +1,5 @@ /* pngpack: lossless image compression for a series of screen shots - * Copyright (C) 2005-2009 Carsten Gnoerlich. + * Copyright (C) 2005-2010 Carsten Gnoerlich. * * 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/tools/pngio.h b/tools/pngio.h index 3e40bc1..36df455 100644 --- a/tools/pngio.h +++ b/tools/pngio.h @@ -1,5 +1,5 @@ /* pngpack: lossless image compression for a series of screen shots - * Copyright (C) 2005-2009 Carsten Gnoerlich. + * Copyright (C) 2005-2010 Carsten Gnoerlich. * * 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/tools/pngpack.c b/tools/pngpack.c index 191005d..d6a76ca 100644 --- a/tools/pngpack.c +++ b/tools/pngpack.c @@ -1,5 +1,5 @@ /* pngpack: lossless image compression for a series of screen shots - * Copyright (C) 2005-2009 Carsten Gnoerlich. + * Copyright (C) 2005-2010 Carsten Gnoerlich. * * 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 @@ -103,7 +103,7 @@ int main(int argc, char *argv[]) /*** Perform the action */ if(mode != MODE_NONE && mode != MODE_HELP) - fprintf(stdout, "pngpack-0.20 *** Copyright 2005-2009 Carsten Gnoerlich.\n" + fprintf(stdout, "pngpack-0.20 *** Copyright 2005-2010 Carsten Gnoerlich.\n" "This software comes with ABSOLUTELY NO WARRANTY. This\n" "is free software and you are welcome to redistribute it\n" "under the conditions of the GNU GENERAL PUBLIC LICENSE.\n" diff --git a/udf.c b/udf.c index 7cb2dc6..5cca893 100644 --- a/udf.c +++ b/udf.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -130,10 +130,9 @@ static int try_sector(DeviceHandle *dh, gint64 pos, EccHeader **ehptr, unsigned static void no_rs02_cb(GtkWidget *widget, gpointer data) { int state = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); - if(state) Closure->querySize = 1; - else Closure->querySize = 2; + Closure->examineRS02 = !state; - UpdatePrefsQuerySize(); + UpdatePrefsExhaustiveSearch(); } static void insert_buttons(GtkDialog *dialog) @@ -167,7 +166,6 @@ EccHeader* FindHeaderInMedium(DeviceHandle *dh, gint64 max_sectors) gint64 header_modulo; int read_count = 0; int answered_continue = FALSE; - int warning_shown = FALSE; /*** Quick search at fixed offsets relative to ISO filesystem */ @@ -245,13 +243,6 @@ EccHeader* FindHeaderInMedium(DeviceHandle *dh, gint64 max_sectors) if(answer) goto bail_out; answered_continue = TRUE; } - if(!Closure->guiMode && !warning_shown) - { PrintCLI(_("\nSearching this medium for error correction data may take a long time.\n" - "If you are certain that this medium was not augmented with RS02 error correction\n" - "data, you might wish to abort this command and re-run with the option\n" - "--query-size=udf\n")); - warning_shown = TRUE; - } } goto check_next_header; case TRY_NEXT_MODULO: @@ -627,7 +618,7 @@ static IsoInfo* examine_primary_vd(unsigned char *buf) return ii; } -static IsoInfo* examine_iso(DeviceHandle *dh) +static IsoInfo* examine_iso(DeviceHandle *dh, LargeFile *image) { AlignedBuffer *ab = CreateAlignedBuffer(2048); unsigned char *buf = ab->buf; IsoInfo *ii = NULL; @@ -638,12 +629,19 @@ static IsoInfo* examine_iso(DeviceHandle *dh) Verbose(" Examining the ISO file system...\n"); /*** Iterate over the volume decriptors */ + + if(image) + if(!LargeSeek(image, 2048*16)) + { Verbose(" * Could not seek to sector 16"); + return NULL; + } for(sector=16; sector<32; sector++) { if(Closure->stopActions) continue; - status = ReadSectorsFast(dh, buf, sector, 1); + if(dh) status = ReadSectorsFast(dh, buf, sector, 1); + else status = !LargeRead(image, buf, 2048); if(status) { Verbose(" Sector %2d: unreadable\n", sector); @@ -692,20 +690,27 @@ finished: ***/ -int ExamineUDF(DeviceHandle *dh) -{ - Verbose("\nExamineUDF(%s)\n",dh->devinfo); +IsoInfo* ExamineUDF(DeviceHandle *dh, LargeFile *image) +{ IsoInfo *ii; - dh->isoInfo = examine_iso(dh); + if(!dh && !image) return NULL; + + if(dh) Verbose("\nExamineUDF(Device: %s)\n", dh->devinfo); + if(image) Verbose("\nExamineUDF(File: %s)\n", image->path); + + ii = examine_iso(dh, image); + + if(dh) dh->isoInfo = ii; Verbose(" Examining the UDF file system...\n"); Verbose(" not yet implemented.\n\n"); /* Try to find the root header at a fixed offset to the ISO filesystem end. */ - dh->rs02Size = MediumLengthFromRS02(dh, 0); + if(dh) + dh->rs02Size = MediumLengthFromRS02(dh, 0); - return TRUE; + return ii; } /*** diff --git a/udf.h b/udf.h index 8965bfa..1921dc6 100644 --- a/udf.h +++ b/udf.h @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -39,7 +39,7 @@ void FreeIsoInfo(IsoInfo*); EccHeader* FindHeaderInMedium(DeviceHandle*, gint64); gint64 MediumLengthFromRS02(DeviceHandle*, gint64); -int ExamineUDF(DeviceHandle*); +IsoInfo* ExamineUDF(DeviceHandle*, LargeFile*); /* * Structure and functions for creating an .iso image diff --git a/welcome-window.c b/welcome-window.c index 27df83e..1f42ea2 100644 --- a/welcome-window.c +++ b/welcome-window.c @@ -1,5 +1,5 @@ /* dvdisaster: Additional error correction for optical media. - * Copyright (C) 2004-2009 Carsten Gnoerlich. + * Copyright (C) 2004-2010 Carsten Gnoerlich. * Project home page: http://www.dvdisaster.com * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org * @@ -76,11 +76,17 @@ static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer dat Closure->invisibleDash = g_strdup_printf("-", bg->red>>8, bg->green>>8, bg->blue>>8); - AboutText(box, _("- New raw reading mode for CD media.\n" - "- Number of reading attempts can be selected\n" - "%s per sector and for the whole medium.\n" - "- Redesigned preferences dialog."), - Closure->invisibleDash); + AboutText(box, _("- Development frameworks for Windows and OS X updated.\n" + "- Experimental multithreaded codec (RS03).\n\n" + "" + "Warning:\n" + "This version is experimental and for testing only.\n" + "It may contain bugs even in functions which worked\n" + "in previous versions.\n\n" + "RS03 has not reached full recovery capacity yet and\n" + "is not recognized by linear and adaptive reading."), + Closure->redMarkup + ); gtk_box_pack_start(GTK_BOX(box), gtk_hseparator_new(), FALSE, FALSE, 10); @@ -132,7 +138,7 @@ void CreateWelcomePage(GtkNotebook *notebook) "CD and DVD media against data loss.\n")); AboutTextWithLink(box, _("Please see the manual for [typical uses] of dvdisaster.\n\n"), - "example.html"); + "howtos.html"); AboutText(box, _("New in this Version:")); diff --git a/wininst/installer.template b/wininst/installer.template index 33f0b97..175a760 100644 --- a/wininst/installer.template +++ b/wininst/installer.template @@ -14,6 +14,7 @@ UninstallDisplayIcon={app}\dvdisaster.exe Compression=lzma SolidCompression=yes SourceDir=..\win-build-dir +MinVersion=5.0,5.0 OutputDir=. OutputManifestFile=manifest.txt OutputBaseFilename=dvdisaster-%version%-setup @@ -46,14 +47,14 @@ Source: "TODO"; DestDir: "{app}" Source: "signature"; DestDir: "{app}" Source: "*.exe"; DestDir: "{app}" Source: "*.dll"; DestDir: "{app}" -Source: "lib\locale\cs\LC_MESSAGES\*"; DestDir: "{app}\lib\locale\cs\LC_MESSAGES" -Source: "lib\locale\de\LC_MESSAGES\*"; DestDir: "{app}\lib\locale\de\LC_MESSAGES" -Source: "lib\locale\it\LC_MESSAGES\*"; DestDir: "{app}\lib\locale\it\LC_MESSAGES" -Source: "lib\locale\pt_BR\LC_MESSAGES\*"; DestDir: "{app}\lib\locale\pt_BR\LC_MESSAGES" -Source: "lib\locale\ru\LC_MESSAGES\*"; DestDir: "{app}\lib\locale\ru\LC_MESSAGES" -Source: "lib\locale\sv\LC_MESSAGES\*"; DestDir: "{app}\lib\locale\sv\LC_MESSAGES" +Source: "share\locale\cs\LC_MESSAGES\*"; DestDir: "{app}\share\locale\cs\LC_MESSAGES" +Source: "share\locale\de\LC_MESSAGES\*"; DestDir: "{app}\share\locale\de\LC_MESSAGES" +Source: "share\locale\it\LC_MESSAGES\*"; DestDir: "{app}\share\locale\it\LC_MESSAGES" +Source: "share\locale\pt_BR\LC_MESSAGES\*"; DestDir: "{app}\share\locale\pt_BR\LC_MESSAGES" +Source: "share\locale\ru\LC_MESSAGES\*"; DestDir: "{app}\share\locale\ru\LC_MESSAGES" +Source: "share\locale\sv\LC_MESSAGES\*"; DestDir: "{app}\share\locale\sv\LC_MESSAGES" Source: "etc\gtk-2.0\*"; DestDir: "{app}\etc\gtk-2.0" -Source: "etc\pango\*"; DestDir: "{app}\etc\pango" +;Source: "etc\pango\*"; DestDir: "{app}\etc\pango" Source: "locale\cs\LC_MESSAGES\dvdisaster.mo"; DestDir: "{app}\locale\cs\LC_MESSAGES" Source: "locale\de\LC_MESSAGES\dvdisaster.mo"; DestDir: "{app}\locale\de\LC_MESSAGES" Source: "locale\it\LC_MESSAGES\dvdisaster.mo"; DestDir: "{app}\locale\it\LC_MESSAGES"