feat: re-introduced MacOS support (#71)
* preparatory changes to make dvdisaster compilable under MacOS * Implemented workaround to macOS Test Unit Ready bug * fixed manual.pdf not opening on macOS * Added case for binary being in app bundle * updated locale files due to change in closure.c * added back mac app bundle specific files * reverted make-dist.sh to windows/linux only version and created separate mac script which uses dylibbundler * altered release.yml accordingly * chore: fix build under MacOS --------- Co-authored-by: Stéphane Lesimple <speed47_github@speed47.net> Co-authored-by: jlnbxn <julianboxan@gmail.com> Co-authored-by: wojas <github@m.wojas.nl>
This commit is contained in:
committed by
GitHub
parent
f38969c7c8
commit
eeb9f0705d
45
.github/workflows/make-mac-app.sh
vendored
Executable file
45
.github/workflows/make-mac-app.sh
vendored
Executable file
@@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
github_ref="$1"
|
||||||
|
archive="dvdisaster-$(echo "$github_ref" | grep -Eo '[^/]+$').dmg"
|
||||||
|
|
||||||
|
echo "Archive name is $archive"
|
||||||
|
echo "::set-output name=archive::$archive"
|
||||||
|
|
||||||
|
mkdir dist
|
||||||
|
|
||||||
|
# Create directory structure for the macOS application bundle
|
||||||
|
mkdir -p dvdisaster.app/Contents/{MacOS,Resources}
|
||||||
|
|
||||||
|
# Copy the main executable to the appropriate location
|
||||||
|
cp dvdisaster dvdisaster.app/Contents/MacOS
|
||||||
|
|
||||||
|
# Use dylibbundler to bundle dynamic libraries into the application bundle
|
||||||
|
dylibbundler -od -cd -b -x dvdisaster.app/Contents/MacOS/dvdisaster -d 'dvdisaster.app/Contents/libs/'
|
||||||
|
|
||||||
|
# Copy the Info.plist file to define application metadata
|
||||||
|
cp macinst/Info.plist dvdisaster.app/Contents/
|
||||||
|
|
||||||
|
# Create a directory for documentation resources
|
||||||
|
mkdir dvdisaster.app/Contents/Resources/documentation
|
||||||
|
|
||||||
|
# Copy documentation files to the documentation directory
|
||||||
|
cp CHANGELOG TODO COPYING CREDITS.* documentation/dvdisaster.*.1 documentation/user-manual/manual.pdf dvdisaster.app/Contents/Resources/documentation
|
||||||
|
|
||||||
|
# Copy localization files to the locale directory
|
||||||
|
find locale/* -maxdepth 0 -type d -exec cp -r {} dvdisaster.app/Contents/Resources/locale/ \;
|
||||||
|
|
||||||
|
# Copy the application icon to the resources directory
|
||||||
|
cp macinst/dvdisaster.icns dvdisaster.app/Contents/Resources/
|
||||||
|
|
||||||
|
# Make the main executable executable
|
||||||
|
chmod +x dvdisaster.app/Contents/MacOS/dvdisaster
|
||||||
|
|
||||||
|
# Move the application bundle to the 'dist' directory
|
||||||
|
mv dvdisaster.app dist
|
||||||
|
|
||||||
|
create-dmg "$archive" dist
|
||||||
|
|
||||||
|
echo "dist done ($archive)"
|
||||||
54
.github/workflows/release.yml
vendored
54
.github/workflows/release.yml
vendored
@@ -5,6 +5,57 @@ on:
|
|||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
mac:
|
||||||
|
runs-on: macos-10.15
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
ui: [cli, gui]
|
||||||
|
include:
|
||||||
|
- ui: cli
|
||||||
|
clionly: --with-gui=no
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: install prerequisites
|
||||||
|
env:
|
||||||
|
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||||
|
run: brew install ghostscript glib gdk-pixbuf
|
||||||
|
- name: install prerequisites (GUI)
|
||||||
|
if: matrix.ui == 'gui'
|
||||||
|
env:
|
||||||
|
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||||
|
run: brew install gtk+ dylibbundler create-dmg
|
||||||
|
- name: configure
|
||||||
|
run: |
|
||||||
|
set +x
|
||||||
|
./configure ${{ matrix.clionly }} --with-werror
|
||||||
|
- name: make
|
||||||
|
run: make -j$(sysctl -n hw.ncpu || 2)
|
||||||
|
- name: check executability
|
||||||
|
run: ./dvdisaster --version
|
||||||
|
- name: check executable (GUI)
|
||||||
|
if: matrix.ui == 'gui'
|
||||||
|
run: |
|
||||||
|
./dvdisaster --version
|
||||||
|
if ./dvdisaster --version | grep NOGUI; then exit 1; fi
|
||||||
|
- name: check executable (CLI)
|
||||||
|
if: matrix.ui == 'cli'
|
||||||
|
run: |
|
||||||
|
./dvdisaster --version
|
||||||
|
./dvdisaster --version | grep NOGUI
|
||||||
|
- name: build dist
|
||||||
|
run: ./.github/workflows/make-mac-app.sh ${{ github.ref }}
|
||||||
|
id: dist
|
||||||
|
- name: Upload Release Asset
|
||||||
|
id: upload-release-asset
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
|
asset_path: ./${{ steps.dist.outputs.archive }}
|
||||||
|
asset_name: ${{ steps.dist.outputs.archive }}
|
||||||
|
asset_content_type: application/zip
|
||||||
|
|
||||||
win:
|
win:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
strategy:
|
strategy:
|
||||||
@@ -72,7 +123,7 @@ jobs:
|
|||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
linux64-cli:
|
linux64-cli:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-18.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: install prerequisites
|
- name: install prerequisites
|
||||||
@@ -150,4 +201,3 @@ jobs:
|
|||||||
asset_path: ./${{ steps.dist.outputs.archive }}
|
asset_path: ./${{ steps.dist.outputs.archive }}
|
||||||
asset_name: ${{ steps.dist.outputs.archive }}
|
asset_name: ${{ steps.dist.outputs.archive }}
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
|
|||||||
47
.github/workflows/tests.yml
vendored
47
.github/workflows/tests.yml
vendored
@@ -3,6 +3,53 @@ name: non-regression tests
|
|||||||
on: [pull_request]
|
on: [pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
mac:
|
||||||
|
runs-on: macos-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
ui: [cli, gui]
|
||||||
|
printf: [fmtdbg, normal]
|
||||||
|
include:
|
||||||
|
- ui: cli
|
||||||
|
clionly: --with-gui=no
|
||||||
|
- printf: fmtdbg
|
||||||
|
debugprintf: --with-debug-printf-format
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: install prerequisites
|
||||||
|
env:
|
||||||
|
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||||
|
run: brew install ghostscript
|
||||||
|
- name: install prerequisites (GUI)
|
||||||
|
if: matrix.ui == 'gui'
|
||||||
|
env:
|
||||||
|
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||||
|
run: brew install gtk+
|
||||||
|
- name: configure
|
||||||
|
run: |
|
||||||
|
set +x
|
||||||
|
./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
|
||||||
|
- name: make
|
||||||
|
run: make -j$(sysctl -n hw.ncpu || 2)
|
||||||
|
- name: check executability
|
||||||
|
run: ./dvdisaster --version
|
||||||
|
- name: check executable (GUI)
|
||||||
|
if: matrix.ui == 'gui'
|
||||||
|
run: |
|
||||||
|
./dvdisaster --version
|
||||||
|
if ./dvdisaster --version | grep NOGUI; then exit 1; fi
|
||||||
|
- name: check executable (CLI)
|
||||||
|
if: matrix.ui == 'cli'
|
||||||
|
run: |
|
||||||
|
./dvdisaster --version
|
||||||
|
./dvdisaster --version | grep NOGUI
|
||||||
|
- name: prepare dist
|
||||||
|
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||||
|
- name: regression tests
|
||||||
|
if: matrix.printf == 'normal'
|
||||||
|
env:
|
||||||
|
REGTEST_NO_UTF8: 1
|
||||||
|
run: mkdir /var/tmp/regtest && ./regtest/runtests.sh
|
||||||
win:
|
win:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
strategy:
|
strategy:
|
||||||
|
|||||||
10
configure
vendored
10
configure
vendored
@@ -47,7 +47,12 @@ DEFINE_STRING HOMEPAGE "https://dvdisaster.jcea.es"
|
|||||||
# Check for some essential tools.
|
# Check for some essential tools.
|
||||||
|
|
||||||
REQUIRE_GMAKE
|
REQUIRE_GMAKE
|
||||||
|
|
||||||
|
if [[ $(uname) =~ Darwin ]]; then
|
||||||
|
REQUIRE_CLANG
|
||||||
|
else
|
||||||
REQUIRE_GCC
|
REQUIRE_GCC
|
||||||
|
fi
|
||||||
|
|
||||||
# Find out and verify the basedir of the source installation,
|
# Find out and verify the basedir of the source installation,
|
||||||
# and where to install the binary.
|
# and where to install the binary.
|
||||||
@@ -122,6 +127,11 @@ CFG_CFLAGS="$CFG_CFLAGS -D_LARGEFILE64_SOURCE"
|
|||||||
CHECK_SYMBOL fcntl.h O_LARGEFILE
|
CHECK_SYMBOL fcntl.h O_LARGEFILE
|
||||||
CFG_CFLAGS=$SAVE_CFLAGS
|
CFG_CFLAGS=$SAVE_CFLAGS
|
||||||
|
|
||||||
|
if [[ $(uname) =~ Darwin ]]; then
|
||||||
|
CFG_CFLAGS="$CFG_CFLAGS -Wno-void-pointer-to-int-cast"
|
||||||
|
CFG_LDFLAGS="$CFG_LDFLAGS -framework CoreFoundation -framework IOKit"
|
||||||
|
fi
|
||||||
|
|
||||||
# Machine specific
|
# Machine specific
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
|||||||
Binary file not shown.
256
locale/cs.po
256
locale/cs.po
@@ -6,7 +6,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dvdisaster 0.79\n"
|
"Project-Id-Version: dvdisaster 0.79\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-10-09 17:07+0200\n"
|
"POT-Creation-Date: 2023-09-13 13:48+0200\n"
|
||||||
"PO-Revision-Date: 2011-07-24 21:12+0100\n"
|
"PO-Revision-Date: 2011-07-24 21:12+0100\n"
|
||||||
"Last-Translator: Jindřich Šesták <khagaroth@users.sourceforge.net>\n"
|
"Last-Translator: Jindřich Šesták <khagaroth@users.sourceforge.net>\n"
|
||||||
"Language-Team: none (individual translator)\n"
|
"Language-Team: none (individual translator)\n"
|
||||||
@@ -22,7 +22,7 @@ msgstr ""
|
|||||||
"X-Poedit-Basepath: d:\\Preklady\\dvdisaster\\cvs\n"
|
"X-Poedit-Basepath: d:\\Preklady\\dvdisaster\\cvs\n"
|
||||||
"X-Poedit-SearchPath-0: dvdisaster\n"
|
"X-Poedit-SearchPath-0: dvdisaster\n"
|
||||||
|
|
||||||
#: src/closure.c:296
|
#: src/closure.c:343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"# dvdisaster-%s configuration file\n"
|
"# dvdisaster-%s configuration file\n"
|
||||||
@@ -35,15 +35,15 @@ msgstr ""
|
|||||||
"# každém spuštění programu.\n"
|
"# každém spuštění programu.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/closure.c:564
|
#: src/closure.c:648
|
||||||
msgid "medium.iso"
|
msgid "medium.iso"
|
||||||
msgstr "disc.iso"
|
msgstr "disc.iso"
|
||||||
|
|
||||||
#: src/closure.c:565
|
#: src/closure.c:649
|
||||||
msgid "medium.ecc"
|
msgid "medium.ecc"
|
||||||
msgstr "disc.ecc"
|
msgstr "disc.ecc"
|
||||||
|
|
||||||
#: src/closure.c:566
|
#: src/closure.c:650
|
||||||
msgid "sector-"
|
msgid "sector-"
|
||||||
msgstr "sektor-"
|
msgstr "sektor-"
|
||||||
|
|
||||||
@@ -890,7 +890,7 @@ msgstr ""
|
|||||||
"<big>GNU General Public License</big>\n"
|
"<big>GNU General Public License</big>\n"
|
||||||
"<i>Licenční podmínky aplikace dvdisaster.</i>"
|
"<i>Licenční podmínky aplikace dvdisaster.</i>"
|
||||||
|
|
||||||
#: src/help-dialogs.c:515
|
#: src/help-dialogs.c:503
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -901,7 +901,7 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"neexistuje"
|
"neexistuje"
|
||||||
|
|
||||||
#: src/help-dialogs.c:525
|
#: src/help-dialogs.c:513
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -912,7 +912,7 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"není dostupný"
|
"není dostupný"
|
||||||
|
|
||||||
#: src/help-dialogs.c:537
|
#: src/help-dialogs.c:525
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"<- Error: Text file truncated here"
|
"<- Error: Text file truncated here"
|
||||||
@@ -920,17 +920,17 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
"<- Chyba: Textový soubor byl zkrácen"
|
"<- Chyba: Textový soubor byl zkrácen"
|
||||||
|
|
||||||
#: src/help-dialogs.c:736
|
#: src/help-dialogs.c:724
|
||||||
msgid "windowtitle|About dvdisaster"
|
msgid "windowtitle|About dvdisaster"
|
||||||
msgstr "O aplikaci dvdisaster"
|
msgstr "O aplikaci dvdisaster"
|
||||||
|
|
||||||
#: src/help-dialogs.c:755 src/misc.c:219
|
#: src/help-dialogs.c:743 src/misc.c:219
|
||||||
msgid ""
|
msgid ""
|
||||||
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
||||||
"Copyright 2019-2021 The dvdisaster development team."
|
"Copyright 2019-2021 The dvdisaster development team."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:763
|
#: src/help-dialogs.c:751
|
||||||
msgid ""
|
msgid ""
|
||||||
"dvdisaster provides a margin of safety against data loss\n"
|
"dvdisaster provides a margin of safety against data loss\n"
|
||||||
"on optical media caused by aging or scratches.\n"
|
"on optical media caused by aging or scratches.\n"
|
||||||
@@ -942,7 +942,7 @@ msgstr ""
|
|||||||
"Vytvoří data pro opravu chyb, která je možné použít k obnovení\n"
|
"Vytvoří data pro opravu chyb, která je možné použít k obnovení\n"
|
||||||
"nečitelných sektorů, pokud později dojde k poškození disku.\n"
|
"nečitelných sektorů, pokud později dojde k poškození disku.\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:768
|
#: src/help-dialogs.c:756
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with <b>absolutely no warranty</b>.\n"
|
"This software comes with <b>absolutely no warranty</b>.\n"
|
||||||
"This is free software and you are welcome to redistribute it\n"
|
"This is free software and you are welcome to redistribute it\n"
|
||||||
@@ -952,13 +952,13 @@ msgstr ""
|
|||||||
"Jde o svobodný software a můžete jej šířit za dodržení\n"
|
"Jde o svobodný software a můžete jej šířit za dodržení\n"
|
||||||
"podmínek [GNU General Public License].\n"
|
"podmínek [GNU General Public License].\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:773
|
#: src/help-dialogs.c:761
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"e-mail: support@dvdisaster.org"
|
"e-mail: support@dvdisaster.org"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:779
|
#: src/help-dialogs.c:767
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"This version is <b>not the original</b>. It has been patched\n"
|
"This version is <b>not the original</b>. It has been patched\n"
|
||||||
@@ -969,7 +969,7 @@ msgid ""
|
|||||||
"but submit bugreports against [GitHub] instead.\n"
|
"but submit bugreports against [GitHub] instead.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:787
|
#: src/help-dialogs.c:775
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
||||||
@@ -1519,6 +1519,40 @@ msgstr ""
|
|||||||
"Seznam dostupných metod:\n"
|
"Seznam dostupných metod:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
|
#: src/misc-gui.c:241
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"The error correction file is already present:\n"
|
||||||
|
"\n"
|
||||||
|
"%s\n"
|
||||||
|
"\n"
|
||||||
|
"Overwrite it?"
|
||||||
|
msgstr ""
|
||||||
|
"Soubor pro opravu chyb již existuje:\n"
|
||||||
|
"\n"
|
||||||
|
"%s\n"
|
||||||
|
"\n"
|
||||||
|
"Chcete ho přepsat?"
|
||||||
|
|
||||||
|
#: src/misc-gui.c:639
|
||||||
|
msgid "Do not ask again"
|
||||||
|
msgstr "Příště se již neptat"
|
||||||
|
|
||||||
|
#: src/misc-gui.c:660
|
||||||
|
#, 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 ""
|
||||||
|
"Soubor bitové kopie již existuje a nesouhlasí s diskem.\n"
|
||||||
|
"\n"
|
||||||
|
"%s\n"
|
||||||
|
"\n"
|
||||||
|
"Existující soubor bitové kopie bude smazán."
|
||||||
|
|
||||||
#: src/misc.c:225
|
#: src/misc.c:225
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
||||||
@@ -1580,40 +1614,6 @@ msgstr ""
|
|||||||
msgid "Image successfully truncated"
|
msgid "Image successfully truncated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc-gui.c:241
|
|
||||||
#, c-format
|
|
||||||
msgid ""
|
|
||||||
"The error correction file is already present:\n"
|
|
||||||
"\n"
|
|
||||||
"%s\n"
|
|
||||||
"\n"
|
|
||||||
"Overwrite it?"
|
|
||||||
msgstr ""
|
|
||||||
"Soubor pro opravu chyb již existuje:\n"
|
|
||||||
"\n"
|
|
||||||
"%s\n"
|
|
||||||
"\n"
|
|
||||||
"Chcete ho přepsat?"
|
|
||||||
|
|
||||||
#: src/misc-gui.c:639
|
|
||||||
msgid "Do not ask again"
|
|
||||||
msgstr "Příště se již neptat"
|
|
||||||
|
|
||||||
#: src/misc-gui.c:660
|
|
||||||
#, 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 ""
|
|
||||||
"Soubor bitové kopie již existuje a nesouhlasí s diskem.\n"
|
|
||||||
"\n"
|
|
||||||
"%s\n"
|
|
||||||
"\n"
|
|
||||||
"Existující soubor bitové kopie bude smazán."
|
|
||||||
|
|
||||||
#: src/preferences.c:454
|
#: src/preferences.c:454
|
||||||
msgid "Switched to the linear reading strategy."
|
msgid "Switched to the linear reading strategy."
|
||||||
msgstr "Přepnuto na lineární strategii čtení."
|
msgstr "Přepnuto na lineární strategii čtení."
|
||||||
@@ -2854,9 +2854,9 @@ msgid "button|Smart L-EC"
|
|||||||
msgstr "Chytré L-EC"
|
msgstr "Chytré L-EC"
|
||||||
|
|
||||||
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
||||||
#: src/raw-sector-cache.c:338 src/scsi-freebsd.c:133 src/scsi-freebsd.c:143
|
#: src/raw-sector-cache.c:338 src/scsi-darwin.c:218 src/scsi-freebsd.c:133
|
||||||
#: src/scsi-linux.c:117 src/scsi-linux.c:126 src/scsi-netbsd.c:128
|
#: src/scsi-freebsd.c:143 src/scsi-linux.c:117 src/scsi-linux.c:126
|
||||||
#: src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
#: src/scsi-netbsd.c:128 src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not open %s: %s"
|
msgid "Could not open %s: %s"
|
||||||
msgstr "Nepodařilo se otevřít %s: %s"
|
msgstr "Nepodařilo se otevřít %s: %s"
|
||||||
@@ -2900,6 +2900,36 @@ msgstr " [Vytvoření nového souboru mezipaměti %s]\n"
|
|||||||
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
||||||
msgstr " [Přidáno %d/%d sektorů do souboru mezipaměti %s; LBA=%<PRId64>, velikosts=%d, %d sektorů]\n"
|
msgstr " [Přidáno %d/%d sektorů do souboru mezipaměti %s; LBA=%<PRId64>, velikosts=%d, %d sektorů]\n"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:84
|
||||||
|
msgid "Adaptive reading:"
|
||||||
|
msgstr "Adaptivní čtení:"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:112
|
||||||
|
msgid "Sectors processed"
|
||||||
|
msgstr "Zpracované sektory"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
||||||
|
msgid "readable"
|
||||||
|
msgstr "čitelné"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:119
|
||||||
|
msgid "correctable"
|
||||||
|
msgstr "opravitelné"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:123
|
||||||
|
msgid "missing"
|
||||||
|
msgstr "chybějící"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:133
|
||||||
|
#, c-format
|
||||||
|
msgid "Readable: %d.%d%% / %d.%d%% required"
|
||||||
|
msgstr "Čitelné: %d.%d%% / %d.%d%% požadovaných"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:140
|
||||||
|
#, c-format
|
||||||
|
msgid "Total recoverable: %d.%d%%"
|
||||||
|
msgstr "Celkem opravitelných: %d.%d%%"
|
||||||
|
|
||||||
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -3232,35 +3262,44 @@ msgid ""
|
|||||||
"%2d.%1d%% of the image have been read (%<PRId64> sectors).\n"
|
"%2d.%1d%% of the image have been read (%<PRId64> sectors).\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:84
|
#: src/read-linear-window.c:102
|
||||||
msgid "Adaptive reading:"
|
|
||||||
msgstr "Adaptivní čtení:"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:112
|
|
||||||
msgid "Sectors processed"
|
|
||||||
msgstr "Zpracované sektory"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
|
||||||
msgid "readable"
|
|
||||||
msgstr "čitelné"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:119
|
|
||||||
msgid "correctable"
|
|
||||||
msgstr "opravitelné"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:123
|
|
||||||
msgid "missing"
|
|
||||||
msgstr "chybějící"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:133
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Readable: %d.%d%% / %d.%d%% required"
|
msgid "Current Speed: %d.%dx"
|
||||||
msgstr "Čitelné: %d.%d%% / %d.%d%% požadovaných"
|
msgstr "Aktuální rychlost: %d.%dx"
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:140
|
#: src/read-linear-window.c:109 src/read-linear.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Total recoverable: %d.%d%%"
|
msgid "Unreadable / skipped sectors: %<PRId64>"
|
||||||
msgstr "Celkem opravitelných: %d.%d%%"
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
||||||
|
msgid "Already present"
|
||||||
|
msgstr "Již existuje"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
||||||
|
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
||||||
|
msgid "Sectors with CRC errors"
|
||||||
|
msgstr "Sektory s chybami CRC"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:321
|
||||||
|
msgid "Medium state"
|
||||||
|
msgstr "Stav disku"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:329
|
||||||
|
msgid "Not touched this time"
|
||||||
|
msgstr "Vynechán"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:336
|
||||||
|
msgid "Successfully read"
|
||||||
|
msgstr "Úspěšně přečtený"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:343
|
||||||
|
msgid "Unreadable / skipped"
|
||||||
|
msgstr "Nečitelný/přeskočený"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:454
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Rychlost"
|
||||||
|
|
||||||
#: src/read-linear.c:122
|
#: src/read-linear.c:122
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -3315,11 +3354,6 @@ msgstr "dokončeno.\n"
|
|||||||
msgid "Waiting %d seconds for drive to spin up...\n"
|
msgid "Waiting %d seconds for drive to spin up...\n"
|
||||||
msgstr "Čekám %d sekund na roztočení disku...\n"
|
msgstr "Čekám %d sekund na roztočení disku...\n"
|
||||||
|
|
||||||
#: src/read-linear.c:515 src/read-linear-window.c:109
|
|
||||||
#, c-format
|
|
||||||
msgid "Unreadable / skipped sectors: %<PRId64>"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/read-linear.c:605
|
#: src/read-linear.c:605
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
||||||
@@ -3499,40 +3533,6 @@ msgid ""
|
|||||||
"Use the --dao option to disable image truncating.\n"
|
"Use the --dao option to disable image truncating.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/read-linear-window.c:102
|
|
||||||
#, c-format
|
|
||||||
msgid "Current Speed: %d.%dx"
|
|
||||||
msgstr "Aktuální rychlost: %d.%dx"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
|
||||||
msgid "Already present"
|
|
||||||
msgstr "Již existuje"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
|
||||||
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
|
||||||
msgid "Sectors with CRC errors"
|
|
||||||
msgstr "Sektory s chybami CRC"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:321
|
|
||||||
msgid "Medium state"
|
|
||||||
msgstr "Stav disku"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:329
|
|
||||||
msgid "Not touched this time"
|
|
||||||
msgstr "Vynechán"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:336
|
|
||||||
msgid "Successfully read"
|
|
||||||
msgstr "Úspěšně přečtený"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:343
|
|
||||||
msgid "Unreadable / skipped"
|
|
||||||
msgstr "Nečitelný/přeskočený"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:454
|
|
||||||
msgid "Speed"
|
|
||||||
msgstr "Rychlost"
|
|
||||||
|
|
||||||
#: src/recover-raw.c:66
|
#: src/recover-raw.c:66
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64> dumped to %s\n"
|
msgid "Sector %<PRId64> dumped to %s\n"
|
||||||
@@ -5812,6 +5812,15 @@ msgstr "<b>Výkon:</b>"
|
|||||||
msgid "<b>State:</b>"
|
msgid "<b>State:</b>"
|
||||||
msgstr "<b>Stav:</b>"
|
msgstr "<b>Stav:</b>"
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:183
|
||||||
|
msgid "No CD/DVD drives found."
|
||||||
|
msgstr "Nebyly nalezeny žádné CD/DVD mechaniky."
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:229
|
||||||
|
#, c-format
|
||||||
|
msgid "Could not open %s (%s)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
||||||
msgid ""
|
msgid ""
|
||||||
"Can not access /dev for devices\n"
|
"Can not access /dev for devices\n"
|
||||||
@@ -6236,15 +6245,19 @@ msgid ""
|
|||||||
"not found.\n"
|
"not found.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:114
|
#: src/show-manual.c:118
|
||||||
msgid "Could not create pipe before fork"
|
msgid "Could not create pipe before fork"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:122
|
#: src/show-manual.c:123 src/show-manual.c:128
|
||||||
|
msgid "Could not set pipe flags before fork"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/show-manual.c:136
|
||||||
msgid "Could not fork to start xdg-open"
|
msgid "Could not fork to start xdg-open"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:145
|
#: src/show-manual.c:159
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"execvp could not execute \"xdg-open\":\n"
|
"execvp could not execute \"xdg-open\":\n"
|
||||||
@@ -7379,9 +7392,6 @@ msgstr "<i>Novinky v této verzi:</i>"
|
|||||||
#~ "\n"
|
#~ "\n"
|
||||||
#~ "Port pro Darwin (Mac OS X): Julian Einwag <julian@einwag.de>"
|
#~ "Port pro Darwin (Mac OS X): Julian Einwag <julian@einwag.de>"
|
||||||
|
|
||||||
#~ msgid "No CD/DVD drives found."
|
|
||||||
#~ msgstr "Nebyly nalezeny žádné CD/DVD mechaniky."
|
|
||||||
|
|
||||||
#~ msgid "dvdisaster-%s log\n"
|
#~ msgid "dvdisaster-%s log\n"
|
||||||
#~ msgstr "záznam programu dvdisaster-%s\n"
|
#~ msgstr "záznam programu dvdisaster-%s\n"
|
||||||
|
|
||||||
|
|||||||
253
locale/de.po
253
locale/de.po
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dvdisaster 0.52.1\n"
|
"Project-Id-Version: dvdisaster 0.52.1\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-10-09 17:07+0200\n"
|
"POT-Creation-Date: 2023-09-13 13:48+0200\n"
|
||||||
"PO-Revision-Date: 2004-11-30 19:48+0100\n"
|
"PO-Revision-Date: 2004-11-30 19:48+0100\n"
|
||||||
"Last-Translator: Carsten Gnörlich <carsten@dvdisaster.de>\n"
|
"Last-Translator: Carsten Gnörlich <carsten@dvdisaster.de>\n"
|
||||||
"Language-Team: German <de@li.org>\n"
|
"Language-Team: German <de@li.org>\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: src/closure.c:296
|
#: src/closure.c:343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"# dvdisaster-%s configuration file\n"
|
"# dvdisaster-%s configuration file\n"
|
||||||
@@ -31,15 +31,15 @@ msgstr ""
|
|||||||
"# Sie wird bei jedem Aufruf von dvdisaster neu überschrieben.\n"
|
"# Sie wird bei jedem Aufruf von dvdisaster neu überschrieben.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/closure.c:564
|
#: src/closure.c:648
|
||||||
msgid "medium.iso"
|
msgid "medium.iso"
|
||||||
msgstr "abbild.iso"
|
msgstr "abbild.iso"
|
||||||
|
|
||||||
#: src/closure.c:565
|
#: src/closure.c:649
|
||||||
msgid "medium.ecc"
|
msgid "medium.ecc"
|
||||||
msgstr "abbild.ecc"
|
msgstr "abbild.ecc"
|
||||||
|
|
||||||
#: src/closure.c:566
|
#: src/closure.c:650
|
||||||
msgid "sector-"
|
msgid "sector-"
|
||||||
msgstr "sektor_"
|
msgstr "sektor_"
|
||||||
|
|
||||||
@@ -933,7 +933,7 @@ msgstr ""
|
|||||||
"<big>GNU General Public License</big>\n"
|
"<big>GNU General Public License</big>\n"
|
||||||
"<i>Die Lizenzbedingungen von dvdisaster.</i>"
|
"<i>Die Lizenzbedingungen von dvdisaster.</i>"
|
||||||
|
|
||||||
#: src/help-dialogs.c:515
|
#: src/help-dialogs.c:503
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -944,7 +944,7 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"nicht vorhanden"
|
"nicht vorhanden"
|
||||||
|
|
||||||
#: src/help-dialogs.c:525
|
#: src/help-dialogs.c:513
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -955,7 +955,7 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"kann nicht zugegriffen werden"
|
"kann nicht zugegriffen werden"
|
||||||
|
|
||||||
#: src/help-dialogs.c:537
|
#: src/help-dialogs.c:525
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"<- Error: Text file truncated here"
|
"<- Error: Text file truncated here"
|
||||||
@@ -963,17 +963,17 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
"<- Fehler: Textdatei wurde hier abgeschnitten"
|
"<- Fehler: Textdatei wurde hier abgeschnitten"
|
||||||
|
|
||||||
#: src/help-dialogs.c:736
|
#: src/help-dialogs.c:724
|
||||||
msgid "windowtitle|About dvdisaster"
|
msgid "windowtitle|About dvdisaster"
|
||||||
msgstr "Kurzinformation"
|
msgstr "Kurzinformation"
|
||||||
|
|
||||||
#: src/help-dialogs.c:755 src/misc.c:219
|
#: src/help-dialogs.c:743 src/misc.c:219
|
||||||
msgid ""
|
msgid ""
|
||||||
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
||||||
"Copyright 2019-2021 The dvdisaster development team."
|
"Copyright 2019-2021 The dvdisaster development team."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:763
|
#: src/help-dialogs.c:751
|
||||||
msgid ""
|
msgid ""
|
||||||
"dvdisaster provides a margin of safety against data loss\n"
|
"dvdisaster provides a margin of safety against data loss\n"
|
||||||
"on optical media caused by aging or scratches.\n"
|
"on optical media caused by aging or scratches.\n"
|
||||||
@@ -985,7 +985,7 @@ msgstr ""
|
|||||||
"Es erzeugt Fehlerkorrektur-Daten, um bei nachfolgenden Datenträger-\n"
|
"Es erzeugt Fehlerkorrektur-Daten, um bei nachfolgenden Datenträger-\n"
|
||||||
"Problemen unlesbare Sektoren zu rekonstruieren.\n"
|
"Problemen unlesbare Sektoren zu rekonstruieren.\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:768
|
#: src/help-dialogs.c:756
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with <b>absolutely no warranty</b>.\n"
|
"This software comes with <b>absolutely no warranty</b>.\n"
|
||||||
"This is free software and you are welcome to redistribute it\n"
|
"This is free software and you are welcome to redistribute it\n"
|
||||||
@@ -994,13 +994,13 @@ msgstr ""
|
|||||||
"dvdisaster ist <b>freie Software</b>; es gelten die Bedingungen\n"
|
"dvdisaster ist <b>freie Software</b>; es gelten die Bedingungen\n"
|
||||||
"der [GNU General Public License] .\n"
|
"der [GNU General Public License] .\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:773
|
#: src/help-dialogs.c:761
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"e-mail: support@dvdisaster.org"
|
"e-mail: support@dvdisaster.org"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:779
|
#: src/help-dialogs.c:767
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"This version is <b>not the original</b>. It has been patched\n"
|
"This version is <b>not the original</b>. It has been patched\n"
|
||||||
@@ -1011,7 +1011,7 @@ msgid ""
|
|||||||
"but submit bugreports against [GitHub] instead.\n"
|
"but submit bugreports against [GitHub] instead.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:787
|
#: src/help-dialogs.c:775
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
||||||
@@ -1566,6 +1566,40 @@ msgstr ""
|
|||||||
"Liste der verfügbaren Methoden:\n"
|
"Liste der verfügbaren Methoden:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
|
#: src/misc-gui.c:241
|
||||||
|
#, 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?"
|
||||||
|
|
||||||
|
#: src/misc-gui.c:639
|
||||||
|
msgid "Do not ask again"
|
||||||
|
msgstr "Nicht mehr nachfragen"
|
||||||
|
|
||||||
|
#: src/misc-gui.c:660
|
||||||
|
#, 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?"
|
||||||
|
|
||||||
#: src/misc.c:225
|
#: src/misc.c:225
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
||||||
@@ -1625,40 +1659,6 @@ msgstr ""
|
|||||||
msgid "Image successfully truncated"
|
msgid "Image successfully truncated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc-gui.c:241
|
|
||||||
#, 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?"
|
|
||||||
|
|
||||||
#: src/misc-gui.c:639
|
|
||||||
msgid "Do not ask again"
|
|
||||||
msgstr "Nicht mehr nachfragen"
|
|
||||||
|
|
||||||
#: src/misc-gui.c:660
|
|
||||||
#, 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?"
|
|
||||||
|
|
||||||
#: src/preferences.c:454
|
#: src/preferences.c:454
|
||||||
msgid "Switched to the linear reading strategy."
|
msgid "Switched to the linear reading strategy."
|
||||||
msgstr "Lineares Leseverfahren wurde ausgewählt."
|
msgstr "Lineares Leseverfahren wurde ausgewählt."
|
||||||
@@ -2915,9 +2915,9 @@ msgid "button|Smart L-EC"
|
|||||||
msgstr "Smart L-EC"
|
msgstr "Smart L-EC"
|
||||||
|
|
||||||
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
||||||
#: src/raw-sector-cache.c:338 src/scsi-freebsd.c:133 src/scsi-freebsd.c:143
|
#: src/raw-sector-cache.c:338 src/scsi-darwin.c:218 src/scsi-freebsd.c:133
|
||||||
#: src/scsi-linux.c:117 src/scsi-linux.c:126 src/scsi-netbsd.c:128
|
#: src/scsi-freebsd.c:143 src/scsi-linux.c:117 src/scsi-linux.c:126
|
||||||
#: src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
#: src/scsi-netbsd.c:128 src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not open %s: %s"
|
msgid "Could not open %s: %s"
|
||||||
msgstr "Konnte %s nicht öffnen: %s"
|
msgstr "Konnte %s nicht öffnen: %s"
|
||||||
@@ -2963,6 +2963,36 @@ msgstr " [Erzeuge neue Datei %s]\n"
|
|||||||
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
||||||
msgstr " [%d/%d Sektoren der Datei %s hinzugefügt; LBA=%<PRId64>, S.-Größe=%d, %d Sektoren]\n"
|
msgstr " [%d/%d Sektoren der Datei %s hinzugefügt; LBA=%<PRId64>, S.-Größe=%d, %d Sektoren]\n"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:84
|
||||||
|
msgid "Adaptive reading:"
|
||||||
|
msgstr "Angepaßtes Leseverfahren:"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:112
|
||||||
|
msgid "Sectors processed"
|
||||||
|
msgstr "Bearbeitete Sektoren"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
||||||
|
msgid "readable"
|
||||||
|
msgstr "lesbar"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:119
|
||||||
|
msgid "correctable"
|
||||||
|
msgstr "korrigierbar"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:123
|
||||||
|
msgid "missing"
|
||||||
|
msgstr "fehlend"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:133
|
||||||
|
#, c-format
|
||||||
|
msgid "Readable: %d.%d%% / %d.%d%% required"
|
||||||
|
msgstr "Lesbar: %d.%d%% / %d.%d%% benötigt"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:140
|
||||||
|
#, c-format
|
||||||
|
msgid "Total recoverable: %d.%d%%"
|
||||||
|
msgstr "Insgesamt wiederherstellbar: %d.%d%%"
|
||||||
|
|
||||||
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -3307,35 +3337,44 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"%2d.%1d%% des Abbilds wurden eingelesen (%<PRId64> Sektoren).\n"
|
"%2d.%1d%% des Abbilds wurden eingelesen (%<PRId64> Sektoren).\n"
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:84
|
#: src/read-linear-window.c:102
|
||||||
msgid "Adaptive reading:"
|
|
||||||
msgstr "Angepaßtes Leseverfahren:"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:112
|
|
||||||
msgid "Sectors processed"
|
|
||||||
msgstr "Bearbeitete Sektoren"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
|
||||||
msgid "readable"
|
|
||||||
msgstr "lesbar"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:119
|
|
||||||
msgid "correctable"
|
|
||||||
msgstr "korrigierbar"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:123
|
|
||||||
msgid "missing"
|
|
||||||
msgstr "fehlend"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:133
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Readable: %d.%d%% / %d.%d%% required"
|
msgid "Current Speed: %d.%dx"
|
||||||
msgstr "Lesbar: %d.%d%% / %d.%d%% benötigt"
|
msgstr "Momentane Geschwindigkeit: %d.%dx"
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:140
|
#: src/read-linear-window.c:109 src/read-linear.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Total recoverable: %d.%d%%"
|
msgid "Unreadable / skipped sectors: %<PRId64>"
|
||||||
msgstr "Insgesamt wiederherstellbar: %d.%d%%"
|
msgstr "Unlesbare / Übersprungene Sektoren: %<PRId64>"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
||||||
|
msgid "Already present"
|
||||||
|
msgstr "Bereits vorhanden"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
||||||
|
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
||||||
|
msgid "Sectors with CRC errors"
|
||||||
|
msgstr "Prüfsummen-Fehler"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:321
|
||||||
|
msgid "Medium state"
|
||||||
|
msgstr "Datenträger-Zustand"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:329
|
||||||
|
msgid "Not touched this time"
|
||||||
|
msgstr "Diesmal unberücksichtigt"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:336
|
||||||
|
msgid "Successfully read"
|
||||||
|
msgstr "Erfolgreich gelesen"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:343
|
||||||
|
msgid "Unreadable / skipped"
|
||||||
|
msgstr "Unlesbar / Übersprungen"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:454
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Geschwindigkeit"
|
||||||
|
|
||||||
#: src/read-linear.c:122
|
#: src/read-linear.c:122
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -3390,11 +3429,6 @@ msgstr "fertig.\n"
|
|||||||
msgid "Waiting %d seconds for drive to spin up...\n"
|
msgid "Waiting %d seconds for drive to spin up...\n"
|
||||||
msgstr "Warte %d Sekunden auf das Hochdrehen des Laufwerks...\n"
|
msgstr "Warte %d Sekunden auf das Hochdrehen des Laufwerks...\n"
|
||||||
|
|
||||||
#: src/read-linear.c:515 src/read-linear-window.c:109
|
|
||||||
#, c-format
|
|
||||||
msgid "Unreadable / skipped sectors: %<PRId64>"
|
|
||||||
msgstr "Unlesbare / Übersprungene Sektoren: %<PRId64>"
|
|
||||||
|
|
||||||
#: src/read-linear.c:605
|
#: src/read-linear.c:605
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
||||||
@@ -3575,40 +3609,6 @@ msgid ""
|
|||||||
"Use the --dao option to disable image truncating.\n"
|
"Use the --dao option to disable image truncating.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/read-linear-window.c:102
|
|
||||||
#, c-format
|
|
||||||
msgid "Current Speed: %d.%dx"
|
|
||||||
msgstr "Momentane Geschwindigkeit: %d.%dx"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
|
||||||
msgid "Already present"
|
|
||||||
msgstr "Bereits vorhanden"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
|
||||||
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
|
||||||
msgid "Sectors with CRC errors"
|
|
||||||
msgstr "Prüfsummen-Fehler"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:321
|
|
||||||
msgid "Medium state"
|
|
||||||
msgstr "Datenträger-Zustand"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:329
|
|
||||||
msgid "Not touched this time"
|
|
||||||
msgstr "Diesmal unberücksichtigt"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:336
|
|
||||||
msgid "Successfully read"
|
|
||||||
msgstr "Erfolgreich gelesen"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:343
|
|
||||||
msgid "Unreadable / skipped"
|
|
||||||
msgstr "Unlesbar / Übersprungen"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:454
|
|
||||||
msgid "Speed"
|
|
||||||
msgstr "Geschwindigkeit"
|
|
||||||
|
|
||||||
#: src/recover-raw.c:66
|
#: src/recover-raw.c:66
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64> dumped to %s\n"
|
msgid "Sector %<PRId64> dumped to %s\n"
|
||||||
@@ -5927,6 +5927,15 @@ msgstr "<b>Leistung:</b>"
|
|||||||
msgid "<b>State:</b>"
|
msgid "<b>State:</b>"
|
||||||
msgstr "<b>Zustand:</b>"
|
msgstr "<b>Zustand:</b>"
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:183
|
||||||
|
msgid "No CD/DVD drives found."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:229
|
||||||
|
#, c-format
|
||||||
|
msgid "Could not open %s (%s)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
||||||
msgid ""
|
msgid ""
|
||||||
"Can not access /dev for devices\n"
|
"Can not access /dev for devices\n"
|
||||||
@@ -6361,15 +6370,19 @@ msgid ""
|
|||||||
"not found.\n"
|
"not found.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:114
|
#: src/show-manual.c:118
|
||||||
msgid "Could not create pipe before fork"
|
msgid "Could not create pipe before fork"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:122
|
#: src/show-manual.c:123 src/show-manual.c:128
|
||||||
|
msgid "Could not set pipe flags before fork"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/show-manual.c:136
|
||||||
msgid "Could not fork to start xdg-open"
|
msgid "Could not fork to start xdg-open"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:145
|
#: src/show-manual.c:159
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"execvp could not execute \"xdg-open\":\n"
|
"execvp could not execute \"xdg-open\":\n"
|
||||||
|
|||||||
236
locale/it.po
236
locale/it.po
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dvdisaster 0.52.1\n"
|
"Project-Id-Version: dvdisaster 0.52.1\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-10-09 17:07+0200\n"
|
"POT-Creation-Date: 2023-09-13 13:48+0200\n"
|
||||||
"PO-Revision-Date: 2005-01-01 14:24+0100\n"
|
"PO-Revision-Date: 2005-01-01 14:24+0100\n"
|
||||||
"Last-Translator: Andrea Polverini <polve@polve.com>\n"
|
"Last-Translator: Andrea Polverini <polve@polve.com>\n"
|
||||||
"Language-Team: Italian <>\n"
|
"Language-Team: Italian <>\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: src/closure.c:296
|
#: src/closure.c:343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"# dvdisaster-%s configuration file\n"
|
"# dvdisaster-%s configuration file\n"
|
||||||
@@ -31,15 +31,15 @@ msgstr ""
|
|||||||
"# e sarà sovrascritto ogni volta che verrà eseguito dvdisaster\n"
|
"# e sarà sovrascritto ogni volta che verrà eseguito dvdisaster\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/closure.c:564
|
#: src/closure.c:648
|
||||||
msgid "medium.iso"
|
msgid "medium.iso"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/closure.c:565
|
#: src/closure.c:649
|
||||||
msgid "medium.ecc"
|
msgid "medium.ecc"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/closure.c:566
|
#: src/closure.c:650
|
||||||
msgid "sector-"
|
msgid "sector-"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -855,7 +855,7 @@ msgstr ""
|
|||||||
"<big>Licenza pubblica GNU</big>\n"
|
"<big>Licenza pubblica GNU</big>\n"
|
||||||
"<i>Termini di Licenza di dvdisaster.</i>"
|
"<i>Termini di Licenza di dvdisaster.</i>"
|
||||||
|
|
||||||
#: src/help-dialogs.c:515
|
#: src/help-dialogs.c:503
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -866,7 +866,7 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"non presente"
|
"non presente"
|
||||||
|
|
||||||
#: src/help-dialogs.c:525
|
#: src/help-dialogs.c:513
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -874,23 +874,23 @@ msgid ""
|
|||||||
"not accessible"
|
"not accessible"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:537
|
#: src/help-dialogs.c:525
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"<- Error: Text file truncated here"
|
"<- Error: Text file truncated here"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:736
|
#: src/help-dialogs.c:724
|
||||||
msgid "windowtitle|About dvdisaster"
|
msgid "windowtitle|About dvdisaster"
|
||||||
msgstr "Info su dvdisaster"
|
msgstr "Info su dvdisaster"
|
||||||
|
|
||||||
#: src/help-dialogs.c:755 src/misc.c:219
|
#: src/help-dialogs.c:743 src/misc.c:219
|
||||||
msgid ""
|
msgid ""
|
||||||
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
||||||
"Copyright 2019-2021 The dvdisaster development team."
|
"Copyright 2019-2021 The dvdisaster development team."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:763
|
#: src/help-dialogs.c:751
|
||||||
msgid ""
|
msgid ""
|
||||||
"dvdisaster provides a margin of safety against data loss\n"
|
"dvdisaster provides a margin of safety against data loss\n"
|
||||||
"on optical media caused by aging or scratches.\n"
|
"on optical media caused by aging or scratches.\n"
|
||||||
@@ -902,7 +902,7 @@ msgstr ""
|
|||||||
"Crea dei dati di correzione degli errori che saranno poi utilizzati per recuperare\n"
|
"Crea dei dati di correzione degli errori che saranno poi utilizzati per recuperare\n"
|
||||||
"i settori illeggibili se il supporto dovesse danneggiarsi col tempo.\n"
|
"i settori illeggibili se il supporto dovesse danneggiarsi col tempo.\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:768
|
#: src/help-dialogs.c:756
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with <b>absolutely no warranty</b>.\n"
|
"This software comes with <b>absolutely no warranty</b>.\n"
|
||||||
"This is free software and you are welcome to redistribute it\n"
|
"This is free software and you are welcome to redistribute it\n"
|
||||||
@@ -914,13 +914,13 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
"Traduzione italiana di Andrea Polverini (info@polve.com).\n"
|
"Traduzione italiana di Andrea Polverini (info@polve.com).\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:773
|
#: src/help-dialogs.c:761
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"e-mail: support@dvdisaster.org"
|
"e-mail: support@dvdisaster.org"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:779
|
#: src/help-dialogs.c:767
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"This version is <b>not the original</b>. It has been patched\n"
|
"This version is <b>not the original</b>. It has been patched\n"
|
||||||
@@ -931,7 +931,7 @@ msgid ""
|
|||||||
"but submit bugreports against [GitHub] instead.\n"
|
"but submit bugreports against [GitHub] instead.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:787
|
#: src/help-dialogs.c:775
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
||||||
@@ -1456,6 +1456,30 @@ msgstr ""
|
|||||||
"Elenco dei metodi disponibili:\n"
|
"Elenco dei metodi disponibili:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
|
#: src/misc-gui.c:241
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"The error correction file is already present:\n"
|
||||||
|
"\n"
|
||||||
|
"%s\n"
|
||||||
|
"\n"
|
||||||
|
"Overwrite it?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/misc-gui.c:639
|
||||||
|
msgid "Do not ask again"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/misc-gui.c:660
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
#: src/misc.c:225
|
#: src/misc.c:225
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
||||||
@@ -1517,30 +1541,6 @@ msgstr ""
|
|||||||
msgid "Image successfully truncated"
|
msgid "Image successfully truncated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc-gui.c:241
|
|
||||||
#, c-format
|
|
||||||
msgid ""
|
|
||||||
"The error correction file is already present:\n"
|
|
||||||
"\n"
|
|
||||||
"%s\n"
|
|
||||||
"\n"
|
|
||||||
"Overwrite it?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/misc-gui.c:639
|
|
||||||
msgid "Do not ask again"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/misc-gui.c:660
|
|
||||||
#, 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 ""
|
|
||||||
|
|
||||||
#: src/preferences.c:454
|
#: src/preferences.c:454
|
||||||
msgid "Switched to the linear reading strategy."
|
msgid "Switched to the linear reading strategy."
|
||||||
msgstr "Settata la strategia di lettura lineare"
|
msgstr "Settata la strategia di lettura lineare"
|
||||||
@@ -2600,9 +2600,9 @@ msgid "button|Smart L-EC"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
||||||
#: src/raw-sector-cache.c:338 src/scsi-freebsd.c:133 src/scsi-freebsd.c:143
|
#: src/raw-sector-cache.c:338 src/scsi-darwin.c:218 src/scsi-freebsd.c:133
|
||||||
#: src/scsi-linux.c:117 src/scsi-linux.c:126 src/scsi-netbsd.c:128
|
#: src/scsi-freebsd.c:143 src/scsi-linux.c:117 src/scsi-linux.c:126
|
||||||
#: src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
#: src/scsi-netbsd.c:128 src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not open %s: %s"
|
msgid "Could not open %s: %s"
|
||||||
msgstr "Non posso aprire %s: %s"
|
msgstr "Non posso aprire %s: %s"
|
||||||
@@ -2646,6 +2646,36 @@ msgstr ""
|
|||||||
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:84
|
||||||
|
msgid "Adaptive reading:"
|
||||||
|
msgstr "Modo di lettura adattivo:"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:112
|
||||||
|
msgid "Sectors processed"
|
||||||
|
msgstr "Settori processati"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
||||||
|
msgid "readable"
|
||||||
|
msgstr "Leggibile"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:119
|
||||||
|
msgid "correctable"
|
||||||
|
msgstr "Correggibili"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:123
|
||||||
|
msgid "missing"
|
||||||
|
msgstr "Mancanti"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:133
|
||||||
|
#, c-format
|
||||||
|
msgid "Readable: %d.%d%% / %d.%d%% required"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:140
|
||||||
|
#, c-format
|
||||||
|
msgid "Total recoverable: %d.%d%%"
|
||||||
|
msgstr "Totale recuperabile: %d.%d%%"
|
||||||
|
|
||||||
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -2976,35 +3006,44 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"%2d.%1d%% dell'immagine è stata letta (%<PRId64> settori).\n"
|
"%2d.%1d%% dell'immagine è stata letta (%<PRId64> settori).\n"
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:84
|
#: src/read-linear-window.c:102
|
||||||
msgid "Adaptive reading:"
|
|
||||||
msgstr "Modo di lettura adattivo:"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:112
|
|
||||||
msgid "Sectors processed"
|
|
||||||
msgstr "Settori processati"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
|
||||||
msgid "readable"
|
|
||||||
msgstr "Leggibile"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:119
|
|
||||||
msgid "correctable"
|
|
||||||
msgstr "Correggibili"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:123
|
|
||||||
msgid "missing"
|
|
||||||
msgstr "Mancanti"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:133
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Readable: %d.%d%% / %d.%d%% required"
|
msgid "Current Speed: %d.%dx"
|
||||||
msgstr ""
|
msgstr "Velocità corrente: %d.%dx"
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:140
|
#: src/read-linear-window.c:109 src/read-linear.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Total recoverable: %d.%d%%"
|
msgid "Unreadable / skipped sectors: %<PRId64>"
|
||||||
msgstr "Totale recuperabile: %d.%d%%"
|
msgstr "Settori illeggibili / saltati: %<PRId64>"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
||||||
|
msgid "Already present"
|
||||||
|
msgstr "Già presente"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
||||||
|
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
||||||
|
msgid "Sectors with CRC errors"
|
||||||
|
msgstr "Settori con errori CRC"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:321
|
||||||
|
msgid "Medium state"
|
||||||
|
msgstr "Stato del supporto"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:329
|
||||||
|
msgid "Not touched this time"
|
||||||
|
msgstr "Non toccato questa volta"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:336
|
||||||
|
msgid "Successfully read"
|
||||||
|
msgstr "letto con successo"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:343
|
||||||
|
msgid "Unreadable / skipped"
|
||||||
|
msgstr "Illeggibili / Saltati"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:454
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Velocità"
|
||||||
|
|
||||||
#: src/read-linear.c:122
|
#: src/read-linear.c:122
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -3059,11 +3098,6 @@ msgstr "compiuto.\n"
|
|||||||
msgid "Waiting %d seconds for drive to spin up...\n"
|
msgid "Waiting %d seconds for drive to spin up...\n"
|
||||||
msgstr "Attendere %d secondi per far avviare il drive...\n"
|
msgstr "Attendere %d secondi per far avviare il drive...\n"
|
||||||
|
|
||||||
#: src/read-linear.c:515 src/read-linear-window.c:109
|
|
||||||
#, c-format
|
|
||||||
msgid "Unreadable / skipped sectors: %<PRId64>"
|
|
||||||
msgstr "Settori illeggibili / saltati: %<PRId64>"
|
|
||||||
|
|
||||||
#: src/read-linear.c:605
|
#: src/read-linear.c:605
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
||||||
@@ -3239,40 +3273,6 @@ msgid ""
|
|||||||
"Use the --dao option to disable image truncating.\n"
|
"Use the --dao option to disable image truncating.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/read-linear-window.c:102
|
|
||||||
#, c-format
|
|
||||||
msgid "Current Speed: %d.%dx"
|
|
||||||
msgstr "Velocità corrente: %d.%dx"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
|
||||||
msgid "Already present"
|
|
||||||
msgstr "Già presente"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
|
||||||
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
|
||||||
msgid "Sectors with CRC errors"
|
|
||||||
msgstr "Settori con errori CRC"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:321
|
|
||||||
msgid "Medium state"
|
|
||||||
msgstr "Stato del supporto"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:329
|
|
||||||
msgid "Not touched this time"
|
|
||||||
msgstr "Non toccato questa volta"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:336
|
|
||||||
msgid "Successfully read"
|
|
||||||
msgstr "letto con successo"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:343
|
|
||||||
msgid "Unreadable / skipped"
|
|
||||||
msgstr "Illeggibili / Saltati"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:454
|
|
||||||
msgid "Speed"
|
|
||||||
msgstr "Velocità"
|
|
||||||
|
|
||||||
#: src/recover-raw.c:66
|
#: src/recover-raw.c:66
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64> dumped to %s\n"
|
msgid "Sector %<PRId64> dumped to %s\n"
|
||||||
@@ -5397,6 +5397,15 @@ msgstr ""
|
|||||||
msgid "<b>State:</b>"
|
msgid "<b>State:</b>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:183
|
||||||
|
msgid "No CD/DVD drives found."
|
||||||
|
msgstr "Nessun CD/DVD drive trovato."
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:229
|
||||||
|
#, c-format
|
||||||
|
msgid "Could not open %s (%s)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
||||||
msgid ""
|
msgid ""
|
||||||
"Can not access /dev for devices\n"
|
"Can not access /dev for devices\n"
|
||||||
@@ -5812,15 +5821,19 @@ msgid ""
|
|||||||
"not found.\n"
|
"not found.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:114
|
#: src/show-manual.c:118
|
||||||
msgid "Could not create pipe before fork"
|
msgid "Could not create pipe before fork"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:122
|
#: src/show-manual.c:123 src/show-manual.c:128
|
||||||
|
msgid "Could not set pipe flags before fork"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/show-manual.c:136
|
||||||
msgid "Could not fork to start xdg-open"
|
msgid "Could not fork to start xdg-open"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:145
|
#: src/show-manual.c:159
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"execvp could not execute \"xdg-open\":\n"
|
"execvp could not execute \"xdg-open\":\n"
|
||||||
@@ -6330,9 +6343,6 @@ msgstr ""
|
|||||||
#~ "Nessun CD/DVD drive trovato in /dev.\n"
|
#~ "Nessun CD/DVD drive trovato in /dev.\n"
|
||||||
#~ "Nessun drive sarà preselezionato.\n"
|
#~ "Nessun drive sarà preselezionato.\n"
|
||||||
|
|
||||||
#~ msgid "No CD/DVD drives found."
|
|
||||||
#~ msgstr "Nessun CD/DVD drive trovato."
|
|
||||||
|
|
||||||
#~ msgid "dvdisaster-%s log\n"
|
#~ msgid "dvdisaster-%s log\n"
|
||||||
#~ msgstr "dvdisaster-%s protocollo\n"
|
#~ msgstr "dvdisaster-%s protocollo\n"
|
||||||
|
|
||||||
|
|||||||
236
locale/pt_BR.po
236
locale/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dvdisaster 0.72.rc2\n"
|
"Project-Id-Version: dvdisaster 0.72.rc2\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-10-09 17:07+0200\n"
|
"POT-Creation-Date: 2023-09-13 13:48+0200\n"
|
||||||
"PO-Revision-Date: 2010-06-09 11:13+0200\n"
|
"PO-Revision-Date: 2010-06-09 11:13+0200\n"
|
||||||
"Last-Translator: cg <cg@dvdisaster.org>\n"
|
"Last-Translator: cg <cg@dvdisaster.org>\n"
|
||||||
"Language-Team: Portuguese\n"
|
"Language-Team: Portuguese\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
|
|
||||||
#: src/closure.c:296
|
#: src/closure.c:343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"# dvdisaster-%s configuration file\n"
|
"# dvdisaster-%s configuration file\n"
|
||||||
@@ -30,15 +30,15 @@ msgstr ""
|
|||||||
"# que será sobreescrevido toda vez que o dvdisaster rodar.\n"
|
"# que será sobreescrevido toda vez que o dvdisaster rodar.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/closure.c:564
|
#: src/closure.c:648
|
||||||
msgid "medium.iso"
|
msgid "medium.iso"
|
||||||
msgstr "midia.iso"
|
msgstr "midia.iso"
|
||||||
|
|
||||||
#: src/closure.c:565
|
#: src/closure.c:649
|
||||||
msgid "medium.ecc"
|
msgid "medium.ecc"
|
||||||
msgstr "midia.ecc"
|
msgstr "midia.ecc"
|
||||||
|
|
||||||
#: src/closure.c:566
|
#: src/closure.c:650
|
||||||
msgid "sector-"
|
msgid "sector-"
|
||||||
msgstr "setor-"
|
msgstr "setor-"
|
||||||
|
|
||||||
@@ -871,7 +871,7 @@ msgstr ""
|
|||||||
"<big>Licença Pública Geral GNU</big>\n"
|
"<big>Licença Pública Geral GNU</big>\n"
|
||||||
"<i>Os termos de licença do dvdisaster.</i>"
|
"<i>Os termos de licença do dvdisaster.</i>"
|
||||||
|
|
||||||
#: src/help-dialogs.c:515
|
#: src/help-dialogs.c:503
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -882,7 +882,7 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"não presente"
|
"não presente"
|
||||||
|
|
||||||
#: src/help-dialogs.c:525
|
#: src/help-dialogs.c:513
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -890,23 +890,23 @@ msgid ""
|
|||||||
"not accessible"
|
"not accessible"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:537
|
#: src/help-dialogs.c:525
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"<- Error: Text file truncated here"
|
"<- Error: Text file truncated here"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:736
|
#: src/help-dialogs.c:724
|
||||||
msgid "windowtitle|About dvdisaster"
|
msgid "windowtitle|About dvdisaster"
|
||||||
msgstr "windowtitle|Sobre o dvdisaster"
|
msgstr "windowtitle|Sobre o dvdisaster"
|
||||||
|
|
||||||
#: src/help-dialogs.c:755 src/misc.c:219
|
#: src/help-dialogs.c:743 src/misc.c:219
|
||||||
msgid ""
|
msgid ""
|
||||||
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
||||||
"Copyright 2019-2021 The dvdisaster development team."
|
"Copyright 2019-2021 The dvdisaster development team."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:763
|
#: src/help-dialogs.c:751
|
||||||
msgid ""
|
msgid ""
|
||||||
"dvdisaster provides a margin of safety against data loss\n"
|
"dvdisaster provides a margin of safety against data loss\n"
|
||||||
"on optical media caused by aging or scratches.\n"
|
"on optical media caused by aging or scratches.\n"
|
||||||
@@ -918,7 +918,7 @@ msgstr ""
|
|||||||
"Ele cria dados de correção de erros que são usados para recuperar\n"
|
"Ele cria dados de correção de erros que são usados para recuperar\n"
|
||||||
"setores ilegíveis se o disco ficar danificado posteriormente.\n"
|
"setores ilegíveis se o disco ficar danificado posteriormente.\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:768
|
#: src/help-dialogs.c:756
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with <b>absolutely no warranty</b>.\n"
|
"This software comes with <b>absolutely no warranty</b>.\n"
|
||||||
"This is free software and you are welcome to redistribute it\n"
|
"This is free software and you are welcome to redistribute it\n"
|
||||||
@@ -930,13 +930,13 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
"Tradução para português por Pablo Almeida (pabloalmeidaff9@gmail.com)\n"
|
"Tradução para português por Pablo Almeida (pabloalmeidaff9@gmail.com)\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:773
|
#: src/help-dialogs.c:761
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"e-mail: support@dvdisaster.org"
|
"e-mail: support@dvdisaster.org"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:779
|
#: src/help-dialogs.c:767
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"This version is <b>not the original</b>. It has been patched\n"
|
"This version is <b>not the original</b>. It has been patched\n"
|
||||||
@@ -947,7 +947,7 @@ msgid ""
|
|||||||
"but submit bugreports against [GitHub] instead.\n"
|
"but submit bugreports against [GitHub] instead.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:787
|
#: src/help-dialogs.c:775
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
||||||
@@ -1481,6 +1481,30 @@ msgstr ""
|
|||||||
"Lista dos métodos disponíveis:\n"
|
"Lista dos métodos disponíveis:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
|
#: src/misc-gui.c:241
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"The error correction file is already present:\n"
|
||||||
|
"\n"
|
||||||
|
"%s\n"
|
||||||
|
"\n"
|
||||||
|
"Overwrite it?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/misc-gui.c:639
|
||||||
|
msgid "Do not ask again"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/misc-gui.c:660
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
#: src/misc.c:225
|
#: src/misc.c:225
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
||||||
@@ -1544,30 +1568,6 @@ msgstr ""
|
|||||||
msgid "Image successfully truncated"
|
msgid "Image successfully truncated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc-gui.c:241
|
|
||||||
#, c-format
|
|
||||||
msgid ""
|
|
||||||
"The error correction file is already present:\n"
|
|
||||||
"\n"
|
|
||||||
"%s\n"
|
|
||||||
"\n"
|
|
||||||
"Overwrite it?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/misc-gui.c:639
|
|
||||||
msgid "Do not ask again"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/misc-gui.c:660
|
|
||||||
#, 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 ""
|
|
||||||
|
|
||||||
#: src/preferences.c:454
|
#: src/preferences.c:454
|
||||||
msgid "Switched to the linear reading strategy."
|
msgid "Switched to the linear reading strategy."
|
||||||
msgstr "Mudado para a estratégia de leitura linear"
|
msgstr "Mudado para a estratégia de leitura linear"
|
||||||
@@ -2780,9 +2780,9 @@ msgid "button|Smart L-EC"
|
|||||||
msgstr "Smart L-EC"
|
msgstr "Smart L-EC"
|
||||||
|
|
||||||
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
||||||
#: src/raw-sector-cache.c:338 src/scsi-freebsd.c:133 src/scsi-freebsd.c:143
|
#: src/raw-sector-cache.c:338 src/scsi-darwin.c:218 src/scsi-freebsd.c:133
|
||||||
#: src/scsi-linux.c:117 src/scsi-linux.c:126 src/scsi-netbsd.c:128
|
#: src/scsi-freebsd.c:143 src/scsi-linux.c:117 src/scsi-linux.c:126
|
||||||
#: src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
#: src/scsi-netbsd.c:128 src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not open %s: %s"
|
msgid "Could not open %s: %s"
|
||||||
msgstr "Impossível abrir %s: %s"
|
msgstr "Impossível abrir %s: %s"
|
||||||
@@ -2826,6 +2826,36 @@ msgstr " [Criando novo arquivo de cache %s]\n"
|
|||||||
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
||||||
msgstr " [Anexados %d/%d setores ao arquivo de cache %s; LBA=%<PRId64>, ssize=%d, %d setores]\n"
|
msgstr " [Anexados %d/%d setores ao arquivo de cache %s; LBA=%<PRId64>, ssize=%d, %d setores]\n"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:84
|
||||||
|
msgid "Adaptive reading:"
|
||||||
|
msgstr "Leitura adaptiva:"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:112
|
||||||
|
msgid "Sectors processed"
|
||||||
|
msgstr "Setores processados"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
||||||
|
msgid "readable"
|
||||||
|
msgstr "legível"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:119
|
||||||
|
msgid "correctable"
|
||||||
|
msgstr "corrigível"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:123
|
||||||
|
msgid "missing"
|
||||||
|
msgstr "desaparecidos"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:133
|
||||||
|
#, c-format
|
||||||
|
msgid "Readable: %d.%d%% / %d.%d%% required"
|
||||||
|
msgstr "Legível: %d.%d%% / %d.%d%% necessários"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:140
|
||||||
|
#, c-format
|
||||||
|
msgid "Total recoverable: %d.%d%%"
|
||||||
|
msgstr "Total recuperável: %d.%d%%"
|
||||||
|
|
||||||
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -3161,35 +3191,44 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"%2d.%1d%% da imagem foi lido (%<PRId64> setores).\n"
|
"%2d.%1d%% da imagem foi lido (%<PRId64> setores).\n"
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:84
|
#: src/read-linear-window.c:102
|
||||||
msgid "Adaptive reading:"
|
|
||||||
msgstr "Leitura adaptiva:"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:112
|
|
||||||
msgid "Sectors processed"
|
|
||||||
msgstr "Setores processados"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
|
||||||
msgid "readable"
|
|
||||||
msgstr "legível"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:119
|
|
||||||
msgid "correctable"
|
|
||||||
msgstr "corrigível"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:123
|
|
||||||
msgid "missing"
|
|
||||||
msgstr "desaparecidos"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:133
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Readable: %d.%d%% / %d.%d%% required"
|
msgid "Current Speed: %d.%dx"
|
||||||
msgstr "Legível: %d.%d%% / %d.%d%% necessários"
|
msgstr "Velocidade atual: %d.%dx"
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:140
|
#: src/read-linear-window.c:109 src/read-linear.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Total recoverable: %d.%d%%"
|
msgid "Unreadable / skipped sectors: %<PRId64>"
|
||||||
msgstr "Total recuperável: %d.%d%%"
|
msgstr "Setores ilegíveis / pulados: %<PRId64>"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
||||||
|
msgid "Already present"
|
||||||
|
msgstr "Já presente"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
||||||
|
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
||||||
|
msgid "Sectors with CRC errors"
|
||||||
|
msgstr "Setores com erros de CRC"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:321
|
||||||
|
msgid "Medium state"
|
||||||
|
msgstr "Estado da mídia"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:329
|
||||||
|
msgid "Not touched this time"
|
||||||
|
msgstr "Não tocados dessa vez"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:336
|
||||||
|
msgid "Successfully read"
|
||||||
|
msgstr "Lidos com sucesso"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:343
|
||||||
|
msgid "Unreadable / skipped"
|
||||||
|
msgstr "Ilegíveis / pulados"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:454
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Velocidade"
|
||||||
|
|
||||||
#: src/read-linear.c:122
|
#: src/read-linear.c:122
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -3244,11 +3283,6 @@ msgstr "pronto.\n"
|
|||||||
msgid "Waiting %d seconds for drive to spin up...\n"
|
msgid "Waiting %d seconds for drive to spin up...\n"
|
||||||
msgstr "Aguardando %d segundos para que o drive gire...\n"
|
msgstr "Aguardando %d segundos para que o drive gire...\n"
|
||||||
|
|
||||||
#: src/read-linear.c:515 src/read-linear-window.c:109
|
|
||||||
#, c-format
|
|
||||||
msgid "Unreadable / skipped sectors: %<PRId64>"
|
|
||||||
msgstr "Setores ilegíveis / pulados: %<PRId64>"
|
|
||||||
|
|
||||||
#: src/read-linear.c:605
|
#: src/read-linear.c:605
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
||||||
@@ -3425,40 +3459,6 @@ msgid ""
|
|||||||
"Use the --dao option to disable image truncating.\n"
|
"Use the --dao option to disable image truncating.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/read-linear-window.c:102
|
|
||||||
#, c-format
|
|
||||||
msgid "Current Speed: %d.%dx"
|
|
||||||
msgstr "Velocidade atual: %d.%dx"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
|
||||||
msgid "Already present"
|
|
||||||
msgstr "Já presente"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
|
||||||
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
|
||||||
msgid "Sectors with CRC errors"
|
|
||||||
msgstr "Setores com erros de CRC"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:321
|
|
||||||
msgid "Medium state"
|
|
||||||
msgstr "Estado da mídia"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:329
|
|
||||||
msgid "Not touched this time"
|
|
||||||
msgstr "Não tocados dessa vez"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:336
|
|
||||||
msgid "Successfully read"
|
|
||||||
msgstr "Lidos com sucesso"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:343
|
|
||||||
msgid "Unreadable / skipped"
|
|
||||||
msgstr "Ilegíveis / pulados"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:454
|
|
||||||
msgid "Speed"
|
|
||||||
msgstr "Velocidade"
|
|
||||||
|
|
||||||
#: src/recover-raw.c:66
|
#: src/recover-raw.c:66
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64> dumped to %s\n"
|
msgid "Sector %<PRId64> dumped to %s\n"
|
||||||
@@ -5695,6 +5695,15 @@ msgstr ""
|
|||||||
msgid "<b>State:</b>"
|
msgid "<b>State:</b>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:183
|
||||||
|
msgid "No CD/DVD drives found."
|
||||||
|
msgstr "Nenhum drive de CD/DVD encontrado."
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:229
|
||||||
|
#, c-format
|
||||||
|
msgid "Could not open %s (%s)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
||||||
msgid ""
|
msgid ""
|
||||||
"Can not access /dev for devices\n"
|
"Can not access /dev for devices\n"
|
||||||
@@ -6116,15 +6125,19 @@ msgid ""
|
|||||||
"not found.\n"
|
"not found.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:114
|
#: src/show-manual.c:118
|
||||||
msgid "Could not create pipe before fork"
|
msgid "Could not create pipe before fork"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:122
|
#: src/show-manual.c:123 src/show-manual.c:128
|
||||||
|
msgid "Could not set pipe flags before fork"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/show-manual.c:136
|
||||||
msgid "Could not fork to start xdg-open"
|
msgid "Could not fork to start xdg-open"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:145
|
#: src/show-manual.c:159
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"execvp could not execute \"xdg-open\":\n"
|
"execvp could not execute \"xdg-open\":\n"
|
||||||
@@ -6987,9 +7000,6 @@ msgstr "<i>Novidades dessa versão:</i>"
|
|||||||
#~ "\n"
|
#~ "\n"
|
||||||
#~ "Darwin port (Mac OS X) por: Julian Einwag <julian@einwag.de>"
|
#~ "Darwin port (Mac OS X) por: Julian Einwag <julian@einwag.de>"
|
||||||
|
|
||||||
#~ msgid "No CD/DVD drives found."
|
|
||||||
#~ msgstr "Nenhum drive de CD/DVD encontrado."
|
|
||||||
|
|
||||||
#~ msgid "dvdisaster-%s log\n"
|
#~ msgid "dvdisaster-%s log\n"
|
||||||
#~ msgstr "dvdisaster-%s log\n"
|
#~ msgstr "dvdisaster-%s log\n"
|
||||||
|
|
||||||
|
|||||||
236
locale/ru.po
236
locale/ru.po
@@ -9,7 +9,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dvdisaster 0.70.4\n"
|
"Project-Id-Version: dvdisaster 0.70.4\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-10-09 17:07+0200\n"
|
"POT-Creation-Date: 2023-09-13 13:48+0200\n"
|
||||||
"PO-Revision-Date: 2009-07-23 08:11+0300\n"
|
"PO-Revision-Date: 2009-07-23 08:11+0300\n"
|
||||||
"Last-Translator: Igor Gorbounov <igor.gorbounov@gmail.com>\n"
|
"Last-Translator: Igor Gorbounov <igor.gorbounov@gmail.com>\n"
|
||||||
"Language-Team: Russian\n"
|
"Language-Team: Russian\n"
|
||||||
@@ -19,7 +19,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"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"
|
"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"
|
||||||
|
|
||||||
#: src/closure.c:296
|
#: src/closure.c:343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"# dvdisaster-%s configuration file\n"
|
"# dvdisaster-%s configuration file\n"
|
||||||
@@ -32,15 +32,15 @@ msgstr ""
|
|||||||
"# он автоматически перезаписывается при каждом запуске программы.\n"
|
"# он автоматически перезаписывается при каждом запуске программы.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/closure.c:564
|
#: src/closure.c:648
|
||||||
msgid "medium.iso"
|
msgid "medium.iso"
|
||||||
msgstr "medium.iso"
|
msgstr "medium.iso"
|
||||||
|
|
||||||
#: src/closure.c:565
|
#: src/closure.c:649
|
||||||
msgid "medium.ecc"
|
msgid "medium.ecc"
|
||||||
msgstr "medium.ecc"
|
msgstr "medium.ecc"
|
||||||
|
|
||||||
#: src/closure.c:566
|
#: src/closure.c:650
|
||||||
msgid "sector-"
|
msgid "sector-"
|
||||||
msgstr "сектор-"
|
msgstr "сектор-"
|
||||||
|
|
||||||
@@ -872,7 +872,7 @@ msgstr ""
|
|||||||
"<big>GNU General Public License</big>\n"
|
"<big>GNU General Public License</big>\n"
|
||||||
"<i>Лицензионные условия dvdisaster'а.</i>"
|
"<i>Лицензионные условия dvdisaster'а.</i>"
|
||||||
|
|
||||||
#: src/help-dialogs.c:515
|
#: src/help-dialogs.c:503
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -883,7 +883,7 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"отсутствует"
|
"отсутствует"
|
||||||
|
|
||||||
#: src/help-dialogs.c:525
|
#: src/help-dialogs.c:513
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -891,23 +891,23 @@ msgid ""
|
|||||||
"not accessible"
|
"not accessible"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:537
|
#: src/help-dialogs.c:525
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"<- Error: Text file truncated here"
|
"<- Error: Text file truncated here"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:736
|
#: src/help-dialogs.c:724
|
||||||
msgid "windowtitle|About dvdisaster"
|
msgid "windowtitle|About dvdisaster"
|
||||||
msgstr "О программе dvdisaster"
|
msgstr "О программе dvdisaster"
|
||||||
|
|
||||||
#: src/help-dialogs.c:755 src/misc.c:219
|
#: src/help-dialogs.c:743 src/misc.c:219
|
||||||
msgid ""
|
msgid ""
|
||||||
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
||||||
"Copyright 2019-2021 The dvdisaster development team."
|
"Copyright 2019-2021 The dvdisaster development team."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:763
|
#: src/help-dialogs.c:751
|
||||||
msgid ""
|
msgid ""
|
||||||
"dvdisaster provides a margin of safety against data loss\n"
|
"dvdisaster provides a margin of safety against data loss\n"
|
||||||
"on optical media caused by aging or scratches.\n"
|
"on optical media caused by aging or scratches.\n"
|
||||||
@@ -919,7 +919,7 @@ msgstr ""
|
|||||||
"Он создает данные для исправления ошибок, которые используются\n"
|
"Он создает данные для исправления ошибок, которые используются\n"
|
||||||
"для восстановления нечитаемых секторов, если диск впоследствии повреждается.\n"
|
"для восстановления нечитаемых секторов, если диск впоследствии повреждается.\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:768
|
#: src/help-dialogs.c:756
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with <b>absolutely no warranty</b>.\n"
|
"This software comes with <b>absolutely no warranty</b>.\n"
|
||||||
"This is free software and you are welcome to redistribute it\n"
|
"This is free software and you are welcome to redistribute it\n"
|
||||||
@@ -931,13 +931,13 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
"Русский перевод Игоря Горбунова <igor.gorbounov@gmail.com>\n"
|
"Русский перевод Игоря Горбунова <igor.gorbounov@gmail.com>\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:773
|
#: src/help-dialogs.c:761
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"e-mail: support@dvdisaster.org"
|
"e-mail: support@dvdisaster.org"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:779
|
#: src/help-dialogs.c:767
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"This version is <b>not the original</b>. It has been patched\n"
|
"This version is <b>not the original</b>. It has been patched\n"
|
||||||
@@ -948,7 +948,7 @@ msgid ""
|
|||||||
"but submit bugreports against [GitHub] instead.\n"
|
"but submit bugreports against [GitHub] instead.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:787
|
#: src/help-dialogs.c:775
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
||||||
@@ -1482,6 +1482,30 @@ msgstr ""
|
|||||||
"Список имеющихся методов:\n"
|
"Список имеющихся методов:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
|
#: src/misc-gui.c:241
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"The error correction file is already present:\n"
|
||||||
|
"\n"
|
||||||
|
"%s\n"
|
||||||
|
"\n"
|
||||||
|
"Overwrite it?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/misc-gui.c:639
|
||||||
|
msgid "Do not ask again"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/misc-gui.c:660
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
#: src/misc.c:225
|
#: src/misc.c:225
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
||||||
@@ -1545,30 +1569,6 @@ msgstr ""
|
|||||||
msgid "Image successfully truncated"
|
msgid "Image successfully truncated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc-gui.c:241
|
|
||||||
#, c-format
|
|
||||||
msgid ""
|
|
||||||
"The error correction file is already present:\n"
|
|
||||||
"\n"
|
|
||||||
"%s\n"
|
|
||||||
"\n"
|
|
||||||
"Overwrite it?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/misc-gui.c:639
|
|
||||||
msgid "Do not ask again"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/misc-gui.c:660
|
|
||||||
#, 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 ""
|
|
||||||
|
|
||||||
#: src/preferences.c:454
|
#: src/preferences.c:454
|
||||||
msgid "Switched to the linear reading strategy."
|
msgid "Switched to the linear reading strategy."
|
||||||
msgstr "Переход на стратегию линейного чтения."
|
msgstr "Переход на стратегию линейного чтения."
|
||||||
@@ -2784,9 +2784,9 @@ msgid "button|Smart L-EC"
|
|||||||
msgstr "Интеллектуальный L-EC"
|
msgstr "Интеллектуальный L-EC"
|
||||||
|
|
||||||
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
||||||
#: src/raw-sector-cache.c:338 src/scsi-freebsd.c:133 src/scsi-freebsd.c:143
|
#: src/raw-sector-cache.c:338 src/scsi-darwin.c:218 src/scsi-freebsd.c:133
|
||||||
#: src/scsi-linux.c:117 src/scsi-linux.c:126 src/scsi-netbsd.c:128
|
#: src/scsi-freebsd.c:143 src/scsi-linux.c:117 src/scsi-linux.c:126
|
||||||
#: src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
#: src/scsi-netbsd.c:128 src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not open %s: %s"
|
msgid "Could not open %s: %s"
|
||||||
msgstr "Не удалось открыть %s: %s"
|
msgstr "Не удалось открыть %s: %s"
|
||||||
@@ -2830,6 +2830,36 @@ msgstr " [Создание нового буферного файла %s]\n"
|
|||||||
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
||||||
msgstr " [Добавлено %d/%d секторов к буферному файлу %s; LBA=%<PRId64>, размер с.=%d, %d секторов]\n"
|
msgstr " [Добавлено %d/%d секторов к буферному файлу %s; LBA=%<PRId64>, размер с.=%d, %d секторов]\n"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:84
|
||||||
|
msgid "Adaptive reading:"
|
||||||
|
msgstr "Адаптивное чтение:"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:112
|
||||||
|
msgid "Sectors processed"
|
||||||
|
msgstr "Обработанные сектора"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
||||||
|
msgid "readable"
|
||||||
|
msgstr "можно прочитать"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:119
|
||||||
|
msgid "correctable"
|
||||||
|
msgstr "можно исправить"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:123
|
||||||
|
msgid "missing"
|
||||||
|
msgstr "отсутствует"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:133
|
||||||
|
#, c-format
|
||||||
|
msgid "Readable: %d.%d%% / %d.%d%% required"
|
||||||
|
msgstr "Можно прочитать: %d.%d%% / %d.%d%% требуется"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:140
|
||||||
|
#, c-format
|
||||||
|
msgid "Total recoverable: %d.%d%%"
|
||||||
|
msgstr "Всего можно восстановить: %d.%d%%"
|
||||||
|
|
||||||
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -3165,35 +3195,44 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"%2d.%1d%% образа прочитано (%<PRId64> секторов).\n"
|
"%2d.%1d%% образа прочитано (%<PRId64> секторов).\n"
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:84
|
#: src/read-linear-window.c:102
|
||||||
msgid "Adaptive reading:"
|
|
||||||
msgstr "Адаптивное чтение:"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:112
|
|
||||||
msgid "Sectors processed"
|
|
||||||
msgstr "Обработанные сектора"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
|
||||||
msgid "readable"
|
|
||||||
msgstr "можно прочитать"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:119
|
|
||||||
msgid "correctable"
|
|
||||||
msgstr "можно исправить"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:123
|
|
||||||
msgid "missing"
|
|
||||||
msgstr "отсутствует"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:133
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Readable: %d.%d%% / %d.%d%% required"
|
msgid "Current Speed: %d.%dx"
|
||||||
msgstr "Можно прочитать: %d.%d%% / %d.%d%% требуется"
|
msgstr "Текущая скорость: %d.%dx"
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:140
|
#: src/read-linear-window.c:109 src/read-linear.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Total recoverable: %d.%d%%"
|
msgid "Unreadable / skipped sectors: %<PRId64>"
|
||||||
msgstr "Всего можно восстановить: %d.%d%%"
|
msgstr "Нечитаемые / пропущенные сектора: %<PRId64>"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
||||||
|
msgid "Already present"
|
||||||
|
msgstr "Уже есть"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
||||||
|
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
||||||
|
msgid "Sectors with CRC errors"
|
||||||
|
msgstr "Сектора с CRC-ошибками"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:321
|
||||||
|
msgid "Medium state"
|
||||||
|
msgstr "Состояние носителя"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:329
|
||||||
|
msgid "Not touched this time"
|
||||||
|
msgstr "В этот раз не затронут"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:336
|
||||||
|
msgid "Successfully read"
|
||||||
|
msgstr "Успешно прочитано"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:343
|
||||||
|
msgid "Unreadable / skipped"
|
||||||
|
msgstr "Нечитаемый / пропущенный"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:454
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Скорость"
|
||||||
|
|
||||||
#: src/read-linear.c:122
|
#: src/read-linear.c:122
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -3248,11 +3287,6 @@ msgstr "готово.\n"
|
|||||||
msgid "Waiting %d seconds for drive to spin up...\n"
|
msgid "Waiting %d seconds for drive to spin up...\n"
|
||||||
msgstr "Задержка на %d секунд для раскручивания привода...\n"
|
msgstr "Задержка на %d секунд для раскручивания привода...\n"
|
||||||
|
|
||||||
#: src/read-linear.c:515 src/read-linear-window.c:109
|
|
||||||
#, c-format
|
|
||||||
msgid "Unreadable / skipped sectors: %<PRId64>"
|
|
||||||
msgstr "Нечитаемые / пропущенные сектора: %<PRId64>"
|
|
||||||
|
|
||||||
#: src/read-linear.c:605
|
#: src/read-linear.c:605
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
||||||
@@ -3432,40 +3466,6 @@ msgid ""
|
|||||||
"Use the --dao option to disable image truncating.\n"
|
"Use the --dao option to disable image truncating.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/read-linear-window.c:102
|
|
||||||
#, c-format
|
|
||||||
msgid "Current Speed: %d.%dx"
|
|
||||||
msgstr "Текущая скорость: %d.%dx"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
|
||||||
msgid "Already present"
|
|
||||||
msgstr "Уже есть"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
|
||||||
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
|
||||||
msgid "Sectors with CRC errors"
|
|
||||||
msgstr "Сектора с CRC-ошибками"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:321
|
|
||||||
msgid "Medium state"
|
|
||||||
msgstr "Состояние носителя"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:329
|
|
||||||
msgid "Not touched this time"
|
|
||||||
msgstr "В этот раз не затронут"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:336
|
|
||||||
msgid "Successfully read"
|
|
||||||
msgstr "Успешно прочитано"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:343
|
|
||||||
msgid "Unreadable / skipped"
|
|
||||||
msgstr "Нечитаемый / пропущенный"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:454
|
|
||||||
msgid "Speed"
|
|
||||||
msgstr "Скорость"
|
|
||||||
|
|
||||||
#: src/recover-raw.c:66
|
#: src/recover-raw.c:66
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64> dumped to %s\n"
|
msgid "Sector %<PRId64> dumped to %s\n"
|
||||||
@@ -5703,6 +5703,15 @@ msgstr ""
|
|||||||
msgid "<b>State:</b>"
|
msgid "<b>State:</b>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:183
|
||||||
|
msgid "No CD/DVD drives found."
|
||||||
|
msgstr "CD/DVD приводов не найдено."
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:229
|
||||||
|
#, c-format
|
||||||
|
msgid "Could not open %s (%s)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
||||||
msgid ""
|
msgid ""
|
||||||
"Can not access /dev for devices\n"
|
"Can not access /dev for devices\n"
|
||||||
@@ -6127,15 +6136,19 @@ msgid ""
|
|||||||
"not found.\n"
|
"not found.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:114
|
#: src/show-manual.c:118
|
||||||
msgid "Could not create pipe before fork"
|
msgid "Could not create pipe before fork"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:122
|
#: src/show-manual.c:123 src/show-manual.c:128
|
||||||
|
msgid "Could not set pipe flags before fork"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/show-manual.c:136
|
||||||
msgid "Could not fork to start xdg-open"
|
msgid "Could not fork to start xdg-open"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:145
|
#: src/show-manual.c:159
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"execvp could not execute \"xdg-open\":\n"
|
"execvp could not execute \"xdg-open\":\n"
|
||||||
@@ -7009,9 +7022,6 @@ msgstr "<i>Новое в этой версии:</i>"
|
|||||||
#~ "\n"
|
#~ "\n"
|
||||||
#~ "Порт для Darwin (Mac OS X): Julian Einwag <julian@einwag.de>"
|
#~ "Порт для Darwin (Mac OS X): Julian Einwag <julian@einwag.de>"
|
||||||
|
|
||||||
#~ msgid "No CD/DVD drives found."
|
|
||||||
#~ msgstr "CD/DVD приводов не найдено."
|
|
||||||
|
|
||||||
#~ msgid "dvdisaster-%s log\n"
|
#~ msgid "dvdisaster-%s log\n"
|
||||||
#~ msgstr "Журнал dvdisaster-%s\n"
|
#~ msgstr "Журнал dvdisaster-%s\n"
|
||||||
|
|
||||||
|
|||||||
236
locale/sv.po
236
locale/sv.po
@@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dvdisaster\n"
|
"Project-Id-Version: dvdisaster\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-10-09 17:07+0200\n"
|
"POT-Creation-Date: 2023-09-13 13:48+0200\n"
|
||||||
"PO-Revision-Date: 2006-06-14 23:48+0100\n"
|
"PO-Revision-Date: 2006-06-14 23:48+0100\n"
|
||||||
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
|
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
|
||||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: src/closure.c:296
|
#: src/closure.c:343
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"# dvdisaster-%s configuration file\n"
|
"# dvdisaster-%s configuration file\n"
|
||||||
@@ -30,15 +30,15 @@ msgstr ""
|
|||||||
"# som kommer att skrivas över varje gång dvdisaster körs.\n"
|
"# som kommer att skrivas över varje gång dvdisaster körs.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/closure.c:564
|
#: src/closure.c:648
|
||||||
msgid "medium.iso"
|
msgid "medium.iso"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/closure.c:565
|
#: src/closure.c:649
|
||||||
msgid "medium.ecc"
|
msgid "medium.ecc"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/closure.c:566
|
#: src/closure.c:650
|
||||||
msgid "sector-"
|
msgid "sector-"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -856,7 +856,7 @@ msgstr ""
|
|||||||
"<big>GNU General Public License</big>\n"
|
"<big>GNU General Public License</big>\n"
|
||||||
"<i>Licensvillkoren för dvdisaster.</i>"
|
"<i>Licensvillkoren för dvdisaster.</i>"
|
||||||
|
|
||||||
#: src/help-dialogs.c:515
|
#: src/help-dialogs.c:503
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -867,7 +867,7 @@ msgstr ""
|
|||||||
"%s\n"
|
"%s\n"
|
||||||
"inte tillgänglig"
|
"inte tillgänglig"
|
||||||
|
|
||||||
#: src/help-dialogs.c:525
|
#: src/help-dialogs.c:513
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File\n"
|
"File\n"
|
||||||
@@ -875,23 +875,23 @@ msgid ""
|
|||||||
"not accessible"
|
"not accessible"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:537
|
#: src/help-dialogs.c:525
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"<- Error: Text file truncated here"
|
"<- Error: Text file truncated here"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:736
|
#: src/help-dialogs.c:724
|
||||||
msgid "windowtitle|About dvdisaster"
|
msgid "windowtitle|About dvdisaster"
|
||||||
msgstr "Om dvdisaster"
|
msgstr "Om dvdisaster"
|
||||||
|
|
||||||
#: src/help-dialogs.c:755 src/misc.c:219
|
#: src/help-dialogs.c:743 src/misc.c:219
|
||||||
msgid ""
|
msgid ""
|
||||||
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
"Copyright 2004-2017 Carsten Gnoerlich.\n"
|
||||||
"Copyright 2019-2021 The dvdisaster development team."
|
"Copyright 2019-2021 The dvdisaster development team."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:763
|
#: src/help-dialogs.c:751
|
||||||
msgid ""
|
msgid ""
|
||||||
"dvdisaster provides a margin of safety against data loss\n"
|
"dvdisaster provides a margin of safety against data loss\n"
|
||||||
"on optical media caused by aging or scratches.\n"
|
"on optical media caused by aging or scratches.\n"
|
||||||
@@ -903,7 +903,7 @@ msgstr ""
|
|||||||
"Det skapar felkorrigeringsdata som kan användas för att\n"
|
"Det skapar felkorrigeringsdata som kan användas för att\n"
|
||||||
"återskapa oläsliga sektorer om skivan senare blir skadad.\n"
|
"återskapa oläsliga sektorer om skivan senare blir skadad.\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:768
|
#: src/help-dialogs.c:756
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with <b>absolutely no warranty</b>.\n"
|
"This software comes with <b>absolutely no warranty</b>.\n"
|
||||||
"This is free software and you are welcome to redistribute it\n"
|
"This is free software and you are welcome to redistribute it\n"
|
||||||
@@ -915,13 +915,13 @@ msgstr ""
|
|||||||
"\n"
|
"\n"
|
||||||
"Svensk översättning av Daniel Nylander (info@danielnylander.se)\n"
|
"Svensk översättning av Daniel Nylander (info@danielnylander.se)\n"
|
||||||
|
|
||||||
#: src/help-dialogs.c:773
|
#: src/help-dialogs.c:761
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"e-mail: support@dvdisaster.org"
|
"e-mail: support@dvdisaster.org"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:779
|
#: src/help-dialogs.c:767
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"This version is <b>not the original</b>. It has been patched\n"
|
"This version is <b>not the original</b>. It has been patched\n"
|
||||||
@@ -932,7 +932,7 @@ msgid ""
|
|||||||
"but submit bugreports against [GitHub] instead.\n"
|
"but submit bugreports against [GitHub] instead.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/help-dialogs.c:787
|
#: src/help-dialogs.c:775
|
||||||
msgid ""
|
msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
"NetBSD port: Sergey Svishchev <svs@ropnet.ru>"
|
||||||
@@ -1462,6 +1462,30 @@ msgstr ""
|
|||||||
"Lista på tillgängliga metoder:\n"
|
"Lista på tillgängliga metoder:\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
|
#: src/misc-gui.c:241
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"The error correction file is already present:\n"
|
||||||
|
"\n"
|
||||||
|
"%s\n"
|
||||||
|
"\n"
|
||||||
|
"Overwrite it?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/misc-gui.c:639
|
||||||
|
msgid "Do not ask again"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/misc-gui.c:660
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
#: src/misc.c:225
|
#: src/misc.c:225
|
||||||
msgid ""
|
msgid ""
|
||||||
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
"This software comes with ABSOLUTELY NO WARRANTY. This\n"
|
||||||
@@ -1523,30 +1547,6 @@ msgstr ""
|
|||||||
msgid "Image successfully truncated"
|
msgid "Image successfully truncated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc-gui.c:241
|
|
||||||
#, c-format
|
|
||||||
msgid ""
|
|
||||||
"The error correction file is already present:\n"
|
|
||||||
"\n"
|
|
||||||
"%s\n"
|
|
||||||
"\n"
|
|
||||||
"Overwrite it?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/misc-gui.c:639
|
|
||||||
msgid "Do not ask again"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/misc-gui.c:660
|
|
||||||
#, 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 ""
|
|
||||||
|
|
||||||
#: src/preferences.c:454
|
#: src/preferences.c:454
|
||||||
msgid "Switched to the linear reading strategy."
|
msgid "Switched to the linear reading strategy."
|
||||||
msgstr "Växlade till linjär lässtategi."
|
msgstr "Växlade till linjär lässtategi."
|
||||||
@@ -2607,9 +2607,9 @@ msgid "button|Smart L-EC"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
#: src/raw-sector-cache.c:37 src/raw-sector-cache.c:204
|
||||||
#: src/raw-sector-cache.c:338 src/scsi-freebsd.c:133 src/scsi-freebsd.c:143
|
#: src/raw-sector-cache.c:338 src/scsi-darwin.c:218 src/scsi-freebsd.c:133
|
||||||
#: src/scsi-linux.c:117 src/scsi-linux.c:126 src/scsi-netbsd.c:128
|
#: src/scsi-freebsd.c:143 src/scsi-linux.c:117 src/scsi-linux.c:126
|
||||||
#: src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
#: src/scsi-netbsd.c:128 src/scsi-netbsd.c:138 src/scsi-win32.c:256
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not open %s: %s"
|
msgid "Could not open %s: %s"
|
||||||
msgstr "Kunde inte öppna %s: %s"
|
msgstr "Kunde inte öppna %s: %s"
|
||||||
@@ -2653,6 +2653,36 @@ msgstr ""
|
|||||||
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
msgid " [Appended %d/%d sectors to cache file %s; LBA=%<PRId64>, ssize=%d, %d sectors]\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:84
|
||||||
|
msgid "Adaptive reading:"
|
||||||
|
msgstr "Adaptiv läsning:"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:112
|
||||||
|
msgid "Sectors processed"
|
||||||
|
msgstr "Sektorer behandlade"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
||||||
|
msgid "readable"
|
||||||
|
msgstr "läsbar"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:119
|
||||||
|
msgid "correctable"
|
||||||
|
msgstr "korrigerbar"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:123
|
||||||
|
msgid "missing"
|
||||||
|
msgstr "saknas"
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:133
|
||||||
|
#, c-format
|
||||||
|
msgid "Readable: %d.%d%% / %d.%d%% required"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/read-adaptive-window.c:140
|
||||||
|
#, c-format
|
||||||
|
msgid "Total recoverable: %d.%d%%"
|
||||||
|
msgstr "Totalt återhämtningsbara: %d.%d%%"
|
||||||
|
|
||||||
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
#: src/read-adaptive.c:57 src/rs01-create.c:1018
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -2978,35 +3008,44 @@ msgid ""
|
|||||||
"%2d.%1d%% of the image have been read (%<PRId64> sectors).\n"
|
"%2d.%1d%% of the image have been read (%<PRId64> sectors).\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:84
|
#: src/read-linear-window.c:102
|
||||||
msgid "Adaptive reading:"
|
|
||||||
msgstr "Adaptiv läsning:"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:112
|
|
||||||
msgid "Sectors processed"
|
|
||||||
msgstr "Sektorer behandlade"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:115 src/scsi-layer.c:1762
|
|
||||||
msgid "readable"
|
|
||||||
msgstr "läsbar"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:119
|
|
||||||
msgid "correctable"
|
|
||||||
msgstr "korrigerbar"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:123
|
|
||||||
msgid "missing"
|
|
||||||
msgstr "saknas"
|
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:133
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Readable: %d.%d%% / %d.%d%% required"
|
msgid "Current Speed: %d.%dx"
|
||||||
msgstr ""
|
msgstr "Aktuell hastighet: %d.%dx"
|
||||||
|
|
||||||
#: src/read-adaptive-window.c:140
|
#: src/read-linear-window.c:109 src/read-linear.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Total recoverable: %d.%d%%"
|
msgid "Unreadable / skipped sectors: %<PRId64>"
|
||||||
msgstr "Totalt återhämtningsbara: %d.%d%%"
|
msgstr "Oläsbara / överhoppade sektorer: %<PRId64>"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
||||||
|
msgid "Already present"
|
||||||
|
msgstr "Finns redan"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
||||||
|
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
||||||
|
msgid "Sectors with CRC errors"
|
||||||
|
msgstr "Sektorer med CRC-fel"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:321
|
||||||
|
msgid "Medium state"
|
||||||
|
msgstr "Mediastatus"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:329
|
||||||
|
msgid "Not touched this time"
|
||||||
|
msgstr "Rörs inte denna gång"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:336
|
||||||
|
msgid "Successfully read"
|
||||||
|
msgstr "Läsning lyckades"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:343
|
||||||
|
msgid "Unreadable / skipped"
|
||||||
|
msgstr "Oläsbar / överhoppad"
|
||||||
|
|
||||||
|
#: src/read-linear-window.c:454
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Hastighet"
|
||||||
|
|
||||||
#: src/read-linear.c:122
|
#: src/read-linear.c:122
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -3061,11 +3100,6 @@ msgstr "klar.\n"
|
|||||||
msgid "Waiting %d seconds for drive to spin up...\n"
|
msgid "Waiting %d seconds for drive to spin up...\n"
|
||||||
msgstr "Väntar %d sekunder på att enheten ska varva upp...\n"
|
msgstr "Väntar %d sekunder på att enheten ska varva upp...\n"
|
||||||
|
|
||||||
#: src/read-linear.c:515 src/read-linear-window.c:109
|
|
||||||
#, c-format
|
|
||||||
msgid "Unreadable / skipped sectors: %<PRId64>"
|
|
||||||
msgstr "Oläsbara / överhoppade sektorer: %<PRId64>"
|
|
||||||
|
|
||||||
#: src/read-linear.c:605
|
#: src/read-linear.c:605
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
msgid "Sector %<PRId64>: Speed increased to %4.1fx\n"
|
||||||
@@ -3238,40 +3272,6 @@ msgid ""
|
|||||||
"Use the --dao option to disable image truncating.\n"
|
"Use the --dao option to disable image truncating.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/read-linear-window.c:102
|
|
||||||
#, c-format
|
|
||||||
msgid "Current Speed: %d.%dx"
|
|
||||||
msgstr "Aktuell hastighet: %d.%dx"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:264 src/read-linear-window.c:333
|
|
||||||
msgid "Already present"
|
|
||||||
msgstr "Finns redan"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:298 src/read-linear-window.c:340
|
|
||||||
#: src/rs01-verify.c:130 src/rs02-verify.c:123 src/rs03-verify.c:133
|
|
||||||
msgid "Sectors with CRC errors"
|
|
||||||
msgstr "Sektorer med CRC-fel"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:321
|
|
||||||
msgid "Medium state"
|
|
||||||
msgstr "Mediastatus"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:329
|
|
||||||
msgid "Not touched this time"
|
|
||||||
msgstr "Rörs inte denna gång"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:336
|
|
||||||
msgid "Successfully read"
|
|
||||||
msgstr "Läsning lyckades"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:343
|
|
||||||
msgid "Unreadable / skipped"
|
|
||||||
msgstr "Oläsbar / överhoppad"
|
|
||||||
|
|
||||||
#: src/read-linear-window.c:454
|
|
||||||
msgid "Speed"
|
|
||||||
msgstr "Hastighet"
|
|
||||||
|
|
||||||
#: src/recover-raw.c:66
|
#: src/recover-raw.c:66
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Sector %<PRId64> dumped to %s\n"
|
msgid "Sector %<PRId64> dumped to %s\n"
|
||||||
@@ -5414,6 +5414,15 @@ msgstr ""
|
|||||||
msgid "<b>State:</b>"
|
msgid "<b>State:</b>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:183
|
||||||
|
msgid "No CD/DVD drives found."
|
||||||
|
msgstr "Inga cd/dvd-enheter hittades."
|
||||||
|
|
||||||
|
#: src/scsi-darwin.c:229
|
||||||
|
#, c-format
|
||||||
|
msgid "Could not open %s (%s)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
#: src/scsi-freebsd.c:49 src/scsi-linux.c:53
|
||||||
msgid ""
|
msgid ""
|
||||||
"Can not access /dev for devices\n"
|
"Can not access /dev for devices\n"
|
||||||
@@ -5823,15 +5832,19 @@ msgid ""
|
|||||||
"not found.\n"
|
"not found.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:114
|
#: src/show-manual.c:118
|
||||||
msgid "Could not create pipe before fork"
|
msgid "Could not create pipe before fork"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:122
|
#: src/show-manual.c:123 src/show-manual.c:128
|
||||||
|
msgid "Could not set pipe flags before fork"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/show-manual.c:136
|
||||||
msgid "Could not fork to start xdg-open"
|
msgid "Could not fork to start xdg-open"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/show-manual.c:145
|
#: src/show-manual.c:159
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"execvp could not execute \"xdg-open\":\n"
|
"execvp could not execute \"xdg-open\":\n"
|
||||||
@@ -6425,9 +6438,6 @@ msgstr ""
|
|||||||
#~ "Inga cd/dvd-enheter hittades i /dev.\n"
|
#~ "Inga cd/dvd-enheter hittades i /dev.\n"
|
||||||
#~ "Inga enheter kommer att vara förvalda.\n"
|
#~ "Inga enheter kommer att vara förvalda.\n"
|
||||||
|
|
||||||
#~ msgid "No CD/DVD drives found."
|
|
||||||
#~ msgstr "Inga cd/dvd-enheter hittades."
|
|
||||||
|
|
||||||
#~ msgid "dvdisaster-%s log\n"
|
#~ msgid "dvdisaster-%s log\n"
|
||||||
#~ msgstr "dvdisaster-%s logg\n"
|
#~ msgstr "dvdisaster-%s logg\n"
|
||||||
|
|
||||||
|
|||||||
26
macinst/Info.plist
Normal file
26
macinst/Info.plist
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key></key>
|
||||||
|
<string></string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>dvdisaster</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>dvdisaster</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.dvdisaster.dvdisaster</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>dvdisaster</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>0.79.10</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>CGCG</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string>© 2004-2009 Carsten Gnörlich et al</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
BIN
macinst/dvdisaster.icns
Normal file
BIN
macinst/dvdisaster.icns
Normal file
Binary file not shown.
@@ -19,9 +19,7 @@ fi
|
|||||||
# directory for temporary files; e.g. to keep them away from SSDs
|
# directory for temporary files; e.g. to keep them away from SSDs
|
||||||
TMPDIR=/dev/shm
|
TMPDIR=/dev/shm
|
||||||
if ! test -d $TMPDIR; then
|
if ! test -d $TMPDIR; then
|
||||||
echo "$TMPDIR does not exist."
|
TMPDIR=/var/tmp
|
||||||
echo "Please create it manually, or edit common.bash"
|
|
||||||
exit 0
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LOGDIR="/dev/shm"
|
LOGDIR="/dev/shm"
|
||||||
@@ -33,7 +31,14 @@ DIFFLOG="$LOGDIR/difflog.txt"
|
|||||||
NEWLOG="$LOGDIR/newlog.txt"
|
NEWLOG="$LOGDIR/newlog.txt"
|
||||||
TMPLOG="$LOGDIR/tmplog.txt"
|
TMPLOG="$LOGDIR/tmplog.txt"
|
||||||
|
|
||||||
|
UNAME="$(uname -s)"
|
||||||
|
|
||||||
|
if [ "$UNAME" = Darwin ]; then
|
||||||
|
MD5SUM="md5 -r"
|
||||||
|
else
|
||||||
MD5SUM=md5sum
|
MD5SUM=md5sum
|
||||||
|
fi
|
||||||
|
|
||||||
if ! $MD5SUM $RNDSEQ >/dev/null 2>&1; then
|
if ! $MD5SUM $RNDSEQ >/dev/null 2>&1; then
|
||||||
MD5SUM=../simple-md5sum
|
MD5SUM=../simple-md5sum
|
||||||
fi
|
fi
|
||||||
@@ -115,7 +120,7 @@ function file_exists()
|
|||||||
|
|
||||||
function try()
|
function try()
|
||||||
{ local doit=$(grep "${CODEC_PREFIX}_$2 " $CONFIGFILE)
|
{ local doit=$(grep "${CODEC_PREFIX}_$2 " $CONFIGFILE)
|
||||||
if echo "$OS" | grep -q Windows && test -e "$CONFIGFILE_WIN" && grep -q "${CODEC_PREFIX}_$2 " "$CONFIGFILE_WIN"; then
|
if [[ $OS =~ Windows ]] && test -e "$CONFIGFILE_WIN" && grep -q "${CODEC_PREFIX}_$2 " "$CONFIGFILE_WIN"; then
|
||||||
doit=$(grep "${CODEC_PREFIX}_$2 " "$CONFIGFILE_WIN")
|
doit=$(grep "${CODEC_PREFIX}_$2 " "$CONFIGFILE_WIN")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -221,7 +226,12 @@ function run_regtest()
|
|||||||
testeccopt="-e ${testecc}"
|
testeccopt="-e ${testecc}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
REFLOG=${DATABASE}/${CODEC_PREFIX}_${testsymbol}
|
REFLOG="${DATABASE}/${CODEC_PREFIX}_${testsymbol}"
|
||||||
|
if [ "$UNAME" = "Darwin" ] && [ -f "$REFLOG.darwin" ]; then
|
||||||
|
REFLOG="$REFLOG.darwin"
|
||||||
|
elif [[ $OS =~ Windows ]] && [ -f "$REFLOG.win" ]; then
|
||||||
|
REFLOG="$REFLOG.win"
|
||||||
|
fi
|
||||||
|
|
||||||
if test "$gui_mode" == "false"; then
|
if test "$gui_mode" == "false"; then
|
||||||
rm -f $NEWLOG
|
rm -f $NEWLOG
|
||||||
@@ -253,16 +263,11 @@ function run_regtest()
|
|||||||
filter=cat
|
filter=cat
|
||||||
echo "$options" | grep -qw SORTED && filter=sort
|
echo "$options" | grep -qw SORTED && filter=sort
|
||||||
|
|
||||||
# for Windows
|
|
||||||
if [[ $testsymbol =~ _no_device$ ]]; then
|
|
||||||
sed -i -re "s=device $NON_EXISTENT_DEVICE\.=/dev/sdz: No such file or directory=" $NEWLOG
|
|
||||||
fi
|
|
||||||
|
|
||||||
# for Windows, just remove any path we find:
|
# for Windows, just remove any path we find:
|
||||||
sed -i -re "s=[A-Z]:/[A-Za-z0-9_/-]+/==g" $NEWLOG
|
sed -i -re "s=[A-Z]:/[A-Za-z0-9_/-]+/==g" $NEWLOG
|
||||||
|
|
||||||
# remove all paths to get reproducible output:
|
# remove all paths to get reproducible output:
|
||||||
sed -i -re "s=$TMPDIR/*==g;s=$ISODIR/*==g" $NEWLOG
|
sed -i -re "s=$TMPDIR/*==g;s=$ISODIR/*==g;s=regtest/==g" $NEWLOG
|
||||||
|
|
||||||
# remote tmp path of github actions
|
# remote tmp path of github actions
|
||||||
sed -i -re "s=[-A-Za-z0-9_~]+/AppData/Local/Temp/==g" $NEWLOG
|
sed -i -re "s=[-A-Za-z0-9_~]+/AppData/Local/Temp/==g" $NEWLOG
|
||||||
|
|||||||
12
regtest/database/RS01_adaptive_no_device.darwin
Normal file
12
regtest/database/RS01_adaptive_no_device.darwin
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
ignore
|
||||||
|
ignore
|
||||||
|
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||||
|
is free software and you are welcome to redistribute it
|
||||||
|
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||||
|
See the file "COPYING" for further information.
|
||||||
|
|
||||||
|
*
|
||||||
|
* dvdisaster - can not continue:
|
||||||
|
*
|
||||||
|
Could not open /dev/sdz ().
|
||||||
|
|
||||||
12
regtest/database/RS01_adaptive_no_device.win
Normal file
12
regtest/database/RS01_adaptive_no_device.win
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
ignore
|
||||||
|
ignore
|
||||||
|
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||||
|
is free software and you are welcome to redistribute it
|
||||||
|
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||||
|
See the file "COPYING" for further information.
|
||||||
|
|
||||||
|
*
|
||||||
|
* dvdisaster - can not continue:
|
||||||
|
*
|
||||||
|
Could not open device V:.
|
||||||
|
|
||||||
12
regtest/database/RS01_adaptive_no_device_access.darwin
Normal file
12
regtest/database/RS01_adaptive_no_device_access.darwin
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
ignore
|
||||||
|
ignore
|
||||||
|
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||||
|
is free software and you are welcome to redistribute it
|
||||||
|
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||||
|
See the file "COPYING" for further information.
|
||||||
|
|
||||||
|
*
|
||||||
|
* dvdisaster - can not continue:
|
||||||
|
*
|
||||||
|
Could not open sdz ().
|
||||||
|
|
||||||
12
regtest/database/RS01_read_no_device.darwin
Normal file
12
regtest/database/RS01_read_no_device.darwin
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
ignore
|
||||||
|
ignore
|
||||||
|
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||||
|
is free software and you are welcome to redistribute it
|
||||||
|
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||||
|
See the file "COPYING" for further information.
|
||||||
|
|
||||||
|
*
|
||||||
|
* dvdisaster - can not continue:
|
||||||
|
*
|
||||||
|
Could not open /dev/sdz ().
|
||||||
|
|
||||||
12
regtest/database/RS01_read_no_device.win
Normal file
12
regtest/database/RS01_read_no_device.win
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
ignore
|
||||||
|
ignore
|
||||||
|
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||||
|
is free software and you are welcome to redistribute it
|
||||||
|
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||||
|
See the file "COPYING" for further information.
|
||||||
|
|
||||||
|
*
|
||||||
|
* dvdisaster - can not continue:
|
||||||
|
*
|
||||||
|
Could not open device V:.
|
||||||
|
|
||||||
12
regtest/database/RS01_read_no_device_access.darwin
Normal file
12
regtest/database/RS01_read_no_device_access.darwin
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
ignore
|
||||||
|
ignore
|
||||||
|
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||||
|
is free software and you are welcome to redistribute it
|
||||||
|
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||||
|
See the file "COPYING" for further information.
|
||||||
|
|
||||||
|
*
|
||||||
|
* dvdisaster - can not continue:
|
||||||
|
*
|
||||||
|
Could not open sdz ().
|
||||||
|
|
||||||
12
regtest/database/RS01_scan_no_device.darwin
Normal file
12
regtest/database/RS01_scan_no_device.darwin
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
ignore
|
||||||
|
ignore
|
||||||
|
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||||
|
is free software and you are welcome to redistribute it
|
||||||
|
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||||
|
See the file "COPYING" for further information.
|
||||||
|
|
||||||
|
*
|
||||||
|
* dvdisaster - can not continue:
|
||||||
|
*
|
||||||
|
Could not open /dev/sdz ().
|
||||||
|
|
||||||
12
regtest/database/RS01_scan_no_device.win
Normal file
12
regtest/database/RS01_scan_no_device.win
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
ignore
|
||||||
|
ignore
|
||||||
|
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||||
|
is free software and you are welcome to redistribute it
|
||||||
|
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||||
|
See the file "COPYING" for further information.
|
||||||
|
|
||||||
|
*
|
||||||
|
* dvdisaster - can not continue:
|
||||||
|
*
|
||||||
|
Could not open device V:.
|
||||||
|
|
||||||
12
regtest/database/RS01_scan_no_device_access.darwin
Normal file
12
regtest/database/RS01_scan_no_device_access.darwin
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
ignore
|
||||||
|
ignore
|
||||||
|
This software comes with ABSOLUTELY NO WARRANTY. This
|
||||||
|
is free software and you are welcome to redistribute it
|
||||||
|
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
||||||
|
See the file "COPYING" for further information.
|
||||||
|
|
||||||
|
*
|
||||||
|
* dvdisaster - can not continue:
|
||||||
|
*
|
||||||
|
Could not open sdz ().
|
||||||
|
|
||||||
@@ -1,522 +0,0 @@
|
|||||||
ca01afa400e2244fc4797cae542888d1
|
|
||||||
ignore
|
|
||||||
This software comes with ABSOLUTELY NO WARRANTY. This
|
|
||||||
is free software and you are welcome to redistribute it
|
|
||||||
under the conditions of the GNU GENERAL PUBLIC LICENSE.
|
|
||||||
See the file "COPYING" for further information.
|
|
||||||
# *** OpenImageFromDevice(sim-cd) ***
|
|
||||||
# InquireDevice returned: Simulated CD drive 1.00
|
|
||||||
|
|
||||||
Device: sim-cd, Simulated CD drive 1.00
|
|
||||||
# *** query_type(Simulated CD drive 1.00, 0) ***
|
|
||||||
# *** get_configuration(Simulated CD drive 1.00) ***
|
|
||||||
# 8 data len, 9 current
|
|
||||||
-> profile 9: CD-R
|
|
||||||
# trying READ DISC INFORMATION for size
|
|
||||||
# size returned is 32
|
|
||||||
# trying READ DISC INFORMATION for real info
|
|
||||||
0000: 00 20 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 . ...... ........
|
|
||||||
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
|
|
||||||
# status is 1e, disc type 0
|
|
||||||
#CD: starting media probe
|
|
||||||
#CD: querying size of READ TOC/PMA/ATIP (for TOC)
|
|
||||||
#CD: size returned is 12
|
|
||||||
#CD: querying real READ TOC/PMA/ATIP (for TOC)
|
|
||||||
0000: 00 0a 00 00 00 14 00 00 00 00 00 00 ........ ....
|
|
||||||
#CD: control is 0x14
|
|
||||||
#CD: querying size of READ TOC/PMA/ATIP (for full TOC)
|
|
||||||
# Warning: Realigning length from 26 to 24
|
|
||||||
#CD: size returned is 24
|
|
||||||
#CD: querying real READ TOC/PMA/ATIP (for full TOC)
|
|
||||||
0000: 00 18 00 01 00 00 00 a0 00 00 00 00 00 00 00 00 ........ ........
|
|
||||||
0010: 00 00 00 00 00 00 00 00 ........
|
|
||||||
#CD: 1 sessions
|
|
||||||
#CD: CD medium detected, type: CD-R mode 1
|
|
||||||
# query_type() returned.
|
|
||||||
# deciding reading strategy...
|
|
||||||
Using READ CD.
|
|
||||||
GetImageFingerprint(16): read & cached
|
|
||||||
|
|
||||||
ExamineUDF(Device: Simulated CD drive 1.00)
|
|
||||||
Examining the ISO file system...
|
|
||||||
Sector 16:
|
|
||||||
Volume descriptor type = 1
|
|
||||||
Volume descriptor version = 1
|
|
||||||
Standard identifier = CD001
|
|
||||||
-> primary volume descriptor:
|
|
||||||
System identifier : | |
|
|
||||||
Volume identifier : |RANDOM IMAGE |
|
|
||||||
Volume space size : 21000 sectors
|
|
||||||
Volume set size : 1
|
|
||||||
Volume sequence size : 1
|
|
||||||
Logical block size : 2048
|
|
||||||
Path table size : 10 bytes
|
|
||||||
L-Path table location : 19
|
|
||||||
Opt L-Path table location : 0
|
|
||||||
M-Path table location : 20
|
|
||||||
Opt M-Path table location : 0
|
|
||||||
Volume creation date/time : 16-07-2006 10:35:46.23
|
|
||||||
Volume modification d/t : 16-07-2006 10:35:46.23
|
|
||||||
Volume expiration d/t : 16-07-2106 10:35:46.23
|
|
||||||
Volume effective d/t : 16-07-2006 10:35:46.23
|
|
||||||
File structure version : 1
|
|
||||||
Sector 17:
|
|
||||||
Volume descriptor type = 2
|
|
||||||
Volume descriptor version = 1
|
|
||||||
Standard identifier = CD001
|
|
||||||
-> supplementary volume descriptor: *skipped*
|
|
||||||
Sector 18:
|
|
||||||
Volume descriptor type = 255
|
|
||||||
Volume descriptor version = 1
|
|
||||||
Standard identifier = CD001
|
|
||||||
-> volume descriptor set terminator;
|
|
||||||
end of ISO file system parsing.
|
|
||||||
Examining the UDF file system...
|
|
||||||
not yet implemented.
|
|
||||||
|
|
||||||
# *** read_capacity(Simulated CD drive 1.00) ***
|
|
||||||
-> 24989
|
|
||||||
ExamineECC() started
|
|
||||||
...trying RS01
|
|
||||||
...trying RS02
|
|
||||||
RS02Recognize: medium sim-cd
|
|
||||||
try_sector: trying sector 21000
|
|
||||||
try_sector: no cookie, skipping current modulo
|
|
||||||
try_sector: trying sector 20850
|
|
||||||
try_sector: no cookie, skipping current modulo
|
|
||||||
RS02Recognize: quick RS02 search, attempting up to 3 sector reads max
|
|
||||||
Medium rewriteable: FALSE
|
|
||||||
FindHeaderInMedium: Trying modulo 4611686018427387904
|
|
||||||
FindHeaderInMedium: Trying modulo 2305843009213693952
|
|
||||||
FindHeaderInMedium: Trying modulo 1152921504606846976
|
|
||||||
FindHeaderInMedium: Trying modulo 576460752303423488
|
|
||||||
FindHeaderInMedium: Trying modulo 288230376151711744
|
|
||||||
FindHeaderInMedium: Trying modulo 144115188075855872
|
|
||||||
FindHeaderInMedium: Trying modulo 72057594037927936
|
|
||||||
FindHeaderInMedium: Trying modulo 36028797018963968
|
|
||||||
FindHeaderInMedium: Trying modulo 18014398509481984
|
|
||||||
FindHeaderInMedium: Trying modulo 9007199254740992
|
|
||||||
FindHeaderInMedium: Trying modulo 4503599627370496
|
|
||||||
FindHeaderInMedium: Trying modulo 2251799813685248
|
|
||||||
FindHeaderInMedium: Trying modulo 1125899906842624
|
|
||||||
FindHeaderInMedium: Trying modulo 562949953421312
|
|
||||||
FindHeaderInMedium: Trying modulo 281474976710656
|
|
||||||
FindHeaderInMedium: Trying modulo 140737488355328
|
|
||||||
FindHeaderInMedium: Trying modulo 70368744177664
|
|
||||||
FindHeaderInMedium: Trying modulo 35184372088832
|
|
||||||
FindHeaderInMedium: Trying modulo 17592186044416
|
|
||||||
FindHeaderInMedium: Trying modulo 8796093022208
|
|
||||||
FindHeaderInMedium: Trying modulo 4398046511104
|
|
||||||
FindHeaderInMedium: Trying modulo 2199023255552
|
|
||||||
FindHeaderInMedium: Trying modulo 1099511627776
|
|
||||||
FindHeaderInMedium: Trying modulo 549755813888
|
|
||||||
FindHeaderInMedium: Trying modulo 274877906944
|
|
||||||
FindHeaderInMedium: Trying modulo 137438953472
|
|
||||||
FindHeaderInMedium: Trying modulo 68719476736
|
|
||||||
FindHeaderInMedium: Trying modulo 34359738368
|
|
||||||
FindHeaderInMedium: Trying modulo 17179869184
|
|
||||||
FindHeaderInMedium: Trying modulo 8589934592
|
|
||||||
FindHeaderInMedium: Trying modulo 4294967296
|
|
||||||
FindHeaderInMedium: Trying modulo 2147483648
|
|
||||||
FindHeaderInMedium: Trying modulo 1073741824
|
|
||||||
FindHeaderInMedium: Trying modulo 536870912
|
|
||||||
FindHeaderInMedium: Trying modulo 268435456
|
|
||||||
FindHeaderInMedium: Trying modulo 134217728
|
|
||||||
FindHeaderInMedium: Trying modulo 67108864
|
|
||||||
FindHeaderInMedium: Trying modulo 33554432
|
|
||||||
FindHeaderInMedium: Trying modulo 16777216
|
|
||||||
FindHeaderInMedium: Trying modulo 8388608
|
|
||||||
FindHeaderInMedium: Trying modulo 4194304
|
|
||||||
FindHeaderInMedium: Trying modulo 2097152
|
|
||||||
FindHeaderInMedium: Trying modulo 1048576
|
|
||||||
FindHeaderInMedium: Trying modulo 524288
|
|
||||||
FindHeaderInMedium: Trying modulo 262144
|
|
||||||
FindHeaderInMedium: Trying modulo 131072
|
|
||||||
FindHeaderInMedium: Trying modulo 65536
|
|
||||||
FindHeaderInMedium: Trying modulo 32768
|
|
||||||
FindHeaderInMedium: Trying modulo 16384
|
|
||||||
try_sector: trying sector 16384
|
|
||||||
try_sector: no cookie, skipping current modulo
|
|
||||||
FindHeaderInMedium: Trying modulo 8192
|
|
||||||
try_sector: trying sector 24576
|
|
||||||
try_sector: no cookie, skipping current modulo
|
|
||||||
FindHeaderInMedium: Trying modulo 4096
|
|
||||||
Sector 24576 cached; skipping modulo
|
|
||||||
FindHeaderInMedium: Trying modulo 2048
|
|
||||||
Sector 24576 cached; skipping modulo
|
|
||||||
FindHeaderInMedium: Trying modulo 1024
|
|
||||||
Sector 24576 cached; skipping modulo
|
|
||||||
FindHeaderInMedium: Trying modulo 512
|
|
||||||
Sector 24576 cached; skipping modulo
|
|
||||||
FindHeaderInMedium: Trying modulo 256
|
|
||||||
try_sector: trying sector 24832
|
|
||||||
try_sector: no cookie, skipping current modulo
|
|
||||||
...trying RS03
|
|
||||||
RS03RecognizeImage: medium sim-cd
|
|
||||||
FindRS03HeaderInImage: medium sim-cd
|
|
||||||
RS03RecognizeImage: No EH, entering exhaustive search
|
|
||||||
Warning: image size set to 25000 for debugging!
|
|
||||||
.. trying layer size 98
|
|
||||||
Scanning layers for signatures.
|
|
||||||
- layer slice 0
|
|
||||||
RS03: try number = 1, reading sector 8232
|
|
||||||
RS03: try number = 2, reading sector 8330
|
|
||||||
RS03: try number = 3, reading sector 8428
|
|
||||||
RS03: try number = 4, reading sector 8526
|
|
||||||
RS03: try number = 5, reading sector 8624
|
|
||||||
RS03: try number = 6, reading sector 8722
|
|
||||||
RS03: try number = 7, reading sector 8820
|
|
||||||
RS03: try number = 8, reading sector 8918
|
|
||||||
RS03: try number = 9, reading sector 9016
|
|
||||||
RS03: try number = 10, reading sector 9114
|
|
||||||
RS03: try number = 11, reading sector 9212
|
|
||||||
RS03: try number = 12, reading sector 9310
|
|
||||||
RS03: try number = 13, reading sector 9408
|
|
||||||
RS03: try number = 14, reading sector 9506
|
|
||||||
RS03: try number = 15, reading sector 9604
|
|
||||||
RS03: try number = 16, reading sector 9702
|
|
||||||
RS03: try number = 17, reading sector 9800
|
|
||||||
RS03: try number = 18, reading sector 9898
|
|
||||||
RS03: try number = 19, reading sector 9996
|
|
||||||
RS03: try number = 20, reading sector 10094
|
|
||||||
RS03: try number = 21, reading sector 10192
|
|
||||||
RS03: try number = 22, reading sector 10290
|
|
||||||
RS03: try number = 23, reading sector 10388
|
|
||||||
RS03: try number = 24, reading sector 10486
|
|
||||||
RS03: try number = 25, reading sector 10584
|
|
||||||
RS03: try number = 26, reading sector 10682
|
|
||||||
RS03: try number = 27, reading sector 10780
|
|
||||||
RS03: try number = 28, reading sector 10878
|
|
||||||
RS03: try number = 29, reading sector 10976
|
|
||||||
RS03: try number = 30, reading sector 11074
|
|
||||||
RS03: try number = 31, reading sector 11172
|
|
||||||
RS03: try number = 32, reading sector 11270
|
|
||||||
RS03: try number = 33, reading sector 11368
|
|
||||||
RS03: try number = 34, reading sector 11466
|
|
||||||
RS03: try number = 35, reading sector 11564
|
|
||||||
RS03: try number = 36, reading sector 11662
|
|
||||||
RS03: try number = 37, reading sector 11760
|
|
||||||
RS03: try number = 38, reading sector 11858
|
|
||||||
RS03: try number = 39, reading sector 11956
|
|
||||||
RS03: try number = 40, reading sector 12054
|
|
||||||
RS03: try number = 41, reading sector 12152
|
|
||||||
RS03: try number = 42, reading sector 12250
|
|
||||||
RS03: try number = 43, reading sector 12348
|
|
||||||
RS03: try number = 44, reading sector 12446
|
|
||||||
RS03: try number = 45, reading sector 12544
|
|
||||||
RS03: try number = 46, reading sector 12642
|
|
||||||
RS03: try number = 47, reading sector 12740
|
|
||||||
RS03: try number = 48, reading sector 12838
|
|
||||||
RS03: try number = 49, reading sector 12936
|
|
||||||
RS03: try number = 50, reading sector 13034
|
|
||||||
RS03: try number = 51, reading sector 13132
|
|
||||||
RS03: try number = 52, reading sector 13230
|
|
||||||
RS03: try number = 53, reading sector 13328
|
|
||||||
RS03: try number = 54, reading sector 13426
|
|
||||||
RS03: try number = 55, reading sector 13524
|
|
||||||
RS03: try number = 56, reading sector 13622
|
|
||||||
RS03: try number = 57, reading sector 13720
|
|
||||||
RS03: try number = 58, reading sector 13818
|
|
||||||
RS03: try number = 59, reading sector 13916
|
|
||||||
RS03: try number = 60, reading sector 14014
|
|
||||||
RS03: try number = 61, reading sector 14112
|
|
||||||
RS03: try number = 62, reading sector 14210
|
|
||||||
RS03: try number = 63, reading sector 14308
|
|
||||||
RS03: try number = 64, reading sector 14406
|
|
||||||
RS03: try number = 65, reading sector 14504
|
|
||||||
RS03: try number = 66, reading sector 14602
|
|
||||||
RS03: try number = 67, reading sector 14700
|
|
||||||
RS03: try number = 68, reading sector 14798
|
|
||||||
RS03: try number = 69, reading sector 14896
|
|
||||||
RS03: try number = 70, reading sector 14994
|
|
||||||
RS03: try number = 71, reading sector 15092
|
|
||||||
RS03: try number = 72, reading sector 15190
|
|
||||||
RS03: try number = 73, reading sector 15288
|
|
||||||
RS03: try number = 74, reading sector 15386
|
|
||||||
RS03: try number = 75, reading sector 15484
|
|
||||||
RS03: try number = 76, reading sector 15582
|
|
||||||
RS03: try number = 77, reading sector 15680
|
|
||||||
RS03: try number = 78, reading sector 15778
|
|
||||||
RS03: try number = 79, reading sector 15876
|
|
||||||
RS03: try number = 80, reading sector 15974
|
|
||||||
RS03: try number = 81, reading sector 16072
|
|
||||||
RS03: try number = 82, reading sector 16170
|
|
||||||
RS03: try number = 83, reading sector 16268
|
|
||||||
RS03: try number = 84, reading sector 16366
|
|
||||||
RS03: try number = 85, reading sector 16464
|
|
||||||
RS03: try number = 86, reading sector 16562
|
|
||||||
RS03: try number = 87, reading sector 16660
|
|
||||||
RS03: try number = 88, reading sector 16758
|
|
||||||
RS03: try number = 89, reading sector 16856
|
|
||||||
RS03: try number = 90, reading sector 16954
|
|
||||||
RS03: try number = 91, reading sector 17052
|
|
||||||
RS03: try number = 92, reading sector 17150
|
|
||||||
RS03: try number = 93, reading sector 17248
|
|
||||||
RS03: try number = 94, reading sector 17346
|
|
||||||
RS03: try number = 95, reading sector 17444
|
|
||||||
RS03: try number = 96, reading sector 17542
|
|
||||||
RS03: try number = 97, reading sector 17640
|
|
||||||
RS03: try number = 98, reading sector 17738
|
|
||||||
RS03: try number = 99, reading sector 17836
|
|
||||||
RS03: try number = 100, reading sector 17934
|
|
||||||
RS03: try number = 101, reading sector 18032
|
|
||||||
RS03: try number = 102, reading sector 18130
|
|
||||||
RS03: try number = 103, reading sector 18228
|
|
||||||
RS03: try number = 104, reading sector 18326
|
|
||||||
RS03: try number = 105, reading sector 18424
|
|
||||||
RS03: try number = 106, reading sector 18522
|
|
||||||
RS03: try number = 107, reading sector 18620
|
|
||||||
RS03: try number = 108, reading sector 18718
|
|
||||||
RS03: try number = 109, reading sector 18816
|
|
||||||
RS03: try number = 110, reading sector 18914
|
|
||||||
RS03: try number = 111, reading sector 19012
|
|
||||||
RS03: try number = 112, reading sector 19110
|
|
||||||
RS03: try number = 113, reading sector 19208
|
|
||||||
RS03: try number = 114, reading sector 19306
|
|
||||||
RS03: try number = 115, reading sector 19404
|
|
||||||
RS03: try number = 116, reading sector 19502
|
|
||||||
RS03: try number = 117, reading sector 19600
|
|
||||||
RS03: try number = 118, reading sector 19698
|
|
||||||
RS03: try number = 119, reading sector 19796
|
|
||||||
RS03: try number = 120, reading sector 19894
|
|
||||||
RS03: try number = 121, reading sector 19992
|
|
||||||
RS03: try number = 122, reading sector 20090
|
|
||||||
RS03: try number = 123, reading sector 20188
|
|
||||||
RS03: try number = 124, reading sector 20286
|
|
||||||
RS03: try number = 125, reading sector 20384
|
|
||||||
RS03: try number = 126, reading sector 20482
|
|
||||||
RS03: try number = 127, reading sector 20580
|
|
||||||
RS03: try number = 128, reading sector 20678
|
|
||||||
RS03: try number = 129, reading sector 20776
|
|
||||||
RS03: try number = 130, reading sector 20874
|
|
||||||
RS03: try number = 131, reading sector 20972
|
|
||||||
RS03: try number = 132, reading sector 21070
|
|
||||||
** Success: sector 21070, rediscovered format with 39 roots
|
|
||||||
...augmented image found
|
|
||||||
# Calling query_size()
|
|
||||||
# *** query_size(Simulated CD drive 1.00) ***
|
|
||||||
Medium size obtained from ECC header: 24990 sectors
|
|
||||||
# returned: 24990 sectors
|
|
||||||
Medium "Random Image": CD-R mode 1, 24990 sectors, Ecc, created 16-07-2006.
|
|
||||||
|
|
||||||
Creating new rs03i-tmp.iso image.
|
|
||||||
Reading CRC information from ecc data (RS03) ... Calculated layout for RS03 image:
|
|
||||||
data sectors = 21000
|
|
||||||
data padding = 68
|
|
||||||
layer size = 98
|
|
||||||
total sectors = 24990
|
|
||||||
medium capacity = 0
|
|
||||||
header position = 21000
|
|
||||||
first CRC sector = 21070
|
|
||||||
first ECC sector = 21168
|
|
||||||
ndata = 216
|
|
||||||
nroots = 39 (18.1%)
|
|
||||||
|
|
||||||
done.
|
|
||||||
* CRC error, sector: 21000
|
|
||||||
Current sector: 22032. This session: NewSectorsReadOK=22032, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22048. This session: NewSectorsReadOK=22048, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22064. This session: NewSectorsReadOK=22064, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22080. This session: NewSectorsReadOK=22080, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22096. This session: NewSectorsReadOK=22096, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22112. This session: NewSectorsReadOK=22112, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22128. This session: NewSectorsReadOK=22128, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22144. This session: NewSectorsReadOK=22144, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22160. This session: NewSectorsReadOK=22160, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22176. This session: NewSectorsReadOK=22176, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22192. This session: NewSectorsReadOK=22192, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22208. This session: NewSectorsReadOK=22208, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22224. This session: NewSectorsReadOK=22224, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22240. This session: NewSectorsReadOK=22240, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22256. This session: NewSectorsReadOK=22256, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22272. This session: NewSectorsReadOK=22272, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22288. This session: NewSectorsReadOK=22288, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22304. This session: NewSectorsReadOK=22304, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22320. This session: NewSectorsReadOK=22320, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22336. This session: NewSectorsReadOK=22336, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22352. This session: NewSectorsReadOK=22352, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22368. This session: NewSectorsReadOK=22368, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22384. This session: NewSectorsReadOK=22384, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22400. This session: NewSectorsReadOK=22400, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22416. This session: NewSectorsReadOK=22416, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22432. This session: NewSectorsReadOK=22432, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22448. This session: NewSectorsReadOK=22448, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22464. This session: NewSectorsReadOK=22464, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22480. This session: NewSectorsReadOK=22480, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22496. This session: NewSectorsReadOK=22496, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22512. This session: NewSectorsReadOK=22512, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22528. This session: NewSectorsReadOK=22528, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22544. This session: NewSectorsReadOK=22544, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22560. This session: NewSectorsReadOK=22560, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22576. This session: NewSectorsReadOK=22576, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22592. This session: NewSectorsReadOK=22592, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22608. This session: NewSectorsReadOK=22608, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22624. This session: NewSectorsReadOK=22624, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22640. This session: NewSectorsReadOK=22640, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22656. This session: NewSectorsReadOK=22656, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22672. This session: NewSectorsReadOK=22672, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22688. This session: NewSectorsReadOK=22688, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22704. This session: NewSectorsReadOK=22704, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22720. This session: NewSectorsReadOK=22720, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22736. This session: NewSectorsReadOK=22736, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22752. This session: NewSectorsReadOK=22752, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22768. This session: NewSectorsReadOK=22768, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22784. This session: NewSectorsReadOK=22784, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22800. This session: NewSectorsReadOK=22800, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22816. This session: NewSectorsReadOK=22816, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22832. This session: NewSectorsReadOK=22832, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22848. This session: NewSectorsReadOK=22848, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22864. This session: NewSectorsReadOK=22864, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22880. This session: NewSectorsReadOK=22880, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22896. This session: NewSectorsReadOK=22896, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22912. This session: NewSectorsReadOK=22912, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22928. This session: NewSectorsReadOK=22928, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22944. This session: NewSectorsReadOK=22944, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22960. This session: NewSectorsReadOK=22960, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22976. This session: NewSectorsReadOK=22976, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 22992. This session: NewSectorsReadOK=22992, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23008. This session: NewSectorsReadOK=23008, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23024. This session: NewSectorsReadOK=23024, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23040. This session: NewSectorsReadOK=23040, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23056. This session: NewSectorsReadOK=23056, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23072. This session: NewSectorsReadOK=23072, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23088. This session: NewSectorsReadOK=23088, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23104. This session: NewSectorsReadOK=23104, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23120. This session: NewSectorsReadOK=23120, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23136. This session: NewSectorsReadOK=23136, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23152. This session: NewSectorsReadOK=23152, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23168. This session: NewSectorsReadOK=23168, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23184. This session: NewSectorsReadOK=23184, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23200. This session: NewSectorsReadOK=23200, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23216. This session: NewSectorsReadOK=23216, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23232. This session: NewSectorsReadOK=23232, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23248. This session: NewSectorsReadOK=23248, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23264. This session: NewSectorsReadOK=23264, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23280. This session: NewSectorsReadOK=23280, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23296. This session: NewSectorsReadOK=23296, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23312. This session: NewSectorsReadOK=23312, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23328. This session: NewSectorsReadOK=23328, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23344. This session: NewSectorsReadOK=23344, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23360. This session: NewSectorsReadOK=23360, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23376. This session: NewSectorsReadOK=23376, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23392. This session: NewSectorsReadOK=23392, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23408. This session: NewSectorsReadOK=23408, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23424. This session: NewSectorsReadOK=23424, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23440. This session: NewSectorsReadOK=23440, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23456. This session: NewSectorsReadOK=23456, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23472. This session: NewSectorsReadOK=23472, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23488. This session: NewSectorsReadOK=23488, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23504. This session: NewSectorsReadOK=23504, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23520. This session: NewSectorsReadOK=23520, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23536. This session: NewSectorsReadOK=23536, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23552. This session: NewSectorsReadOK=23552, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23568. This session: NewSectorsReadOK=23568, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23584. This session: NewSectorsReadOK=23584, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23600. This session: NewSectorsReadOK=23600, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23616. This session: NewSectorsReadOK=23616, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23632. This session: NewSectorsReadOK=23632, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23648. This session: NewSectorsReadOK=23648, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23664. This session: NewSectorsReadOK=23664, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23680. This session: NewSectorsReadOK=23680, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23696. This session: NewSectorsReadOK=23696, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23712. This session: NewSectorsReadOK=23712, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23728. This session: NewSectorsReadOK=23728, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23744. This session: NewSectorsReadOK=23744, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23760. This session: NewSectorsReadOK=23760, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23776. This session: NewSectorsReadOK=23776, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23792. This session: NewSectorsReadOK=23792, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23808. This session: NewSectorsReadOK=23808, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23824. This session: NewSectorsReadOK=23824, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23840. This session: NewSectorsReadOK=23840, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23856. This session: NewSectorsReadOK=23856, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23872. This session: NewSectorsReadOK=23872, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23888. This session: NewSectorsReadOK=23888, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23904. This session: NewSectorsReadOK=23904, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23920. This session: NewSectorsReadOK=23920, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23936. This session: NewSectorsReadOK=23936, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23952. This session: NewSectorsReadOK=23952, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23968. This session: NewSectorsReadOK=23968, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 23984. This session: NewSectorsReadOK=23984, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24000. This session: NewSectorsReadOK=24000, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24016. This session: NewSectorsReadOK=24016, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24032. This session: NewSectorsReadOK=24032, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24048. This session: NewSectorsReadOK=24048, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24064. This session: NewSectorsReadOK=24064, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24080. This session: NewSectorsReadOK=24080, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24096. This session: NewSectorsReadOK=24096, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24112. This session: NewSectorsReadOK=24112, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24128. This session: NewSectorsReadOK=24128, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24144. This session: NewSectorsReadOK=24144, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24160. This session: NewSectorsReadOK=24160, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24176. This session: NewSectorsReadOK=24176, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24192. This session: NewSectorsReadOK=24192, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24208. This session: NewSectorsReadOK=24208, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24224. This session: NewSectorsReadOK=24224, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24240. This session: NewSectorsReadOK=24240, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24256. This session: NewSectorsReadOK=24256, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24272. This session: NewSectorsReadOK=24272, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24288. This session: NewSectorsReadOK=24288, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24304. This session: NewSectorsReadOK=24304, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24320. This session: NewSectorsReadOK=24320, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24336. This session: NewSectorsReadOK=24336, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24352. This session: NewSectorsReadOK=24352, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24368. This session: NewSectorsReadOK=24368, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24384. This session: NewSectorsReadOK=24384, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24400. This session: NewSectorsReadOK=24400, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24416. This session: NewSectorsReadOK=24416, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24432. This session: NewSectorsReadOK=24432, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24448. This session: NewSectorsReadOK=24448, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24464. This session: NewSectorsReadOK=24464, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24480. This session: NewSectorsReadOK=24480, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24496. This session: NewSectorsReadOK=24496, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24512. This session: NewSectorsReadOK=24512, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24528. This session: NewSectorsReadOK=24528, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24544. This session: NewSectorsReadOK=24544, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24560. This session: NewSectorsReadOK=24560, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24576. This session: NewSectorsReadOK=24576, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24592. This session: NewSectorsReadOK=24592, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24608. This session: NewSectorsReadOK=24608, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24624. This session: NewSectorsReadOK=24624, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24640. This session: NewSectorsReadOK=24640, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24656. This session: NewSectorsReadOK=24656, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24672. This session: NewSectorsReadOK=24672, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24688. This session: NewSectorsReadOK=24688, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24704. This session: NewSectorsReadOK=24704, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24720. This session: NewSectorsReadOK=24720, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24736. This session: NewSectorsReadOK=24736, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24752. This session: NewSectorsReadOK=24752, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24768. This session: NewSectorsReadOK=24768, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24784. This session: NewSectorsReadOK=24784, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24800. This session: NewSectorsReadOK=24800, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24816. This session: NewSectorsReadOK=24816, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24832. This session: NewSectorsReadOK=24832, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24848. This session: NewSectorsReadOK=24848, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24864. This session: NewSectorsReadOK=24864, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24880. This session: NewSectorsReadOK=24880, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24896. This session: NewSectorsReadOK=24896, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24912. This session: NewSectorsReadOK=24912, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24928. This session: NewSectorsReadOK=24928, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24944. This session: NewSectorsReadOK=24944, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24960. This session: NewSectorsReadOK=24960, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24976. This session: NewSectorsReadOK=24976, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24977. This session: NewSectorsReadOK=24977, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24978. This session: NewSectorsReadOK=24978, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24979. This session: NewSectorsReadOK=24979, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24980. This session: NewSectorsReadOK=24980, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24981. This session: NewSectorsReadOK=24981, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24982. This session: NewSectorsReadOK=24982, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24983. This session: NewSectorsReadOK=24983, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24984. This session: NewSectorsReadOK=24984, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24985. This session: NewSectorsReadOK=24985, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24986. This session: NewSectorsReadOK=24986, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24987. This session: NewSectorsReadOK=24987, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24988. This session: NewSectorsReadOK=24988, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24989. This session: NewSectorsReadOK=24989, ReadErrors=0, CRCErrors=1
|
|
||||||
Current sector: 24990. This session: NewSectorsReadOK=24990, ReadErrors=0, CRCErrors=1
|
|
||||||
|
|
||||||
1 CRC errors.
|
|
||||||
CrcBuf contents, image path none (medium):
|
|
||||||
crcSize: 24990, dataSectors: 21000, coveredSectors: 21070, allSectors: 24990
|
|
||||||
md5State: invalid
|
|
||||||
fp sector: 16; 15c0fd35a0cfa0f83b9ccbd8604c2592
|
|
||||||
missing crcs: 0
|
|
||||||
@@ -127,6 +127,15 @@ case "$cfg_uname" in
|
|||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
Darwin*) cfg_system=darwin
|
||||||
|
CFG_SYS_OPTIONS="-DSYS_DARWIN"
|
||||||
|
CFG_SYS_NAME="-DSYS_NAME=\\\"Darwin\\\""
|
||||||
|
CFG_EXE_SUFFIX=""
|
||||||
|
function add_linker_flags()
|
||||||
|
{ lflags_return="-L$1 -Wl,-rpath,$1 $2"
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
|
||||||
FreeBSD*) cfg_system=freebsd-std
|
FreeBSD*) cfg_system=freebsd-std
|
||||||
CFG_SYS_OPTIONS="-DSYS_FREEBSD"
|
CFG_SYS_OPTIONS="-DSYS_FREEBSD"
|
||||||
CFG_SYS_NAME="-DSYS_NAME=\\\"FreeBSD\\\""
|
CFG_SYS_NAME="-DSYS_NAME=\\\"FreeBSD\\\""
|
||||||
@@ -348,6 +357,42 @@ function REQUIRE_GMAKE()
|
|||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function REQUIRE_CLANG()
|
||||||
|
{
|
||||||
|
if test -n "$cfg_help_mode"; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n "Checking for clang: "
|
||||||
|
|
||||||
|
# Try $CC first
|
||||||
|
|
||||||
|
if test -n "$CC" && $CC -v >/dev/null 2>&1; then
|
||||||
|
if ($CC -v 2>&1 | grep "clang") > /dev/null 2>&1 ; then
|
||||||
|
CC=`type -P $CC`
|
||||||
|
echo "yes ($CC)"
|
||||||
|
echo "CC = $CC" >>Makefile.config
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Try clang binary
|
||||||
|
|
||||||
|
CC=clang
|
||||||
|
if test -n "$CC" && $CC -v >/dev/null 2>&1; then
|
||||||
|
if ($CC -v 2>&1 | grep "clang") > /dev/null 2>&1 ; then
|
||||||
|
CC=`type -P $CC`
|
||||||
|
echo "yes ($CC)"
|
||||||
|
echo "CC = $CC" >>Makefile.config
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "no"
|
||||||
|
echo "This package requires the Clang C compiler (clang)."
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
function REQUIRE_GCC()
|
function REQUIRE_GCC()
|
||||||
{
|
{
|
||||||
if test -n "$cfg_help_mode"; then
|
if test -n "$cfg_help_mode"; then
|
||||||
|
|||||||
@@ -58,6 +58,35 @@ static char* get_exe_path()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef SYS_DARWIN
|
||||||
|
#include <mach-o/dyld.h>
|
||||||
|
|
||||||
|
// Get the path of the current executable
|
||||||
|
static char* get_bin_path() {
|
||||||
|
char path[PATH_MAX];
|
||||||
|
uint32_t size = sizeof(path);
|
||||||
|
|
||||||
|
if (_NSGetExecutablePath(path, &size) == 0) {
|
||||||
|
char *lastSlash = strrchr(path, '/');
|
||||||
|
if (lastSlash) {
|
||||||
|
*lastSlash = '\0';
|
||||||
|
return strdup(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return strdup(".");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the given path is within an app bundle
|
||||||
|
int isWithinAppBundle(const char *filePath) {
|
||||||
|
// Check if "Contents/MacOS" exists in the path
|
||||||
|
if (strstr(filePath, ".app/Contents/MacOS") != NULL) {
|
||||||
|
return 1; // The binary is within an app bundle
|
||||||
|
}
|
||||||
|
return 0; // The binary is not within an app bundle
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WITH_GUI_YES
|
#ifdef WITH_GUI_YES
|
||||||
|
|
||||||
/***
|
/***
|
||||||
@@ -396,7 +425,7 @@ static void get_base_dirs()
|
|||||||
source directory is supposed to hold the most recent files,
|
source directory is supposed to hold the most recent files,
|
||||||
so try this first. */
|
so try this first. */
|
||||||
|
|
||||||
#if defined(WITH_EMBEDDED_SRC_PATH_YES) && !defined(SYS_MINGW)
|
#if defined(WITH_EMBEDDED_SRC_PATH_YES) && !defined(SYS_MINGW) && !defined(SYS_DARWIN)
|
||||||
if(DirStat(SRCDIR))
|
if(DirStat(SRCDIR))
|
||||||
{ Closure->binDir = g_strdup(SRCDIR);
|
{ Closure->binDir = g_strdup(SRCDIR);
|
||||||
Closure->docDir = g_strdup_printf("%s/documentation",SRCDIR);
|
Closure->docDir = g_strdup_printf("%s/documentation",SRCDIR);
|
||||||
@@ -405,6 +434,29 @@ static void get_base_dirs()
|
|||||||
}
|
}
|
||||||
#endif /* WITH_EMBEDDED_SRC_PATH_YES */
|
#endif /* WITH_EMBEDDED_SRC_PATH_YES */
|
||||||
|
|
||||||
|
#if defined(WITH_EMBEDDED_SRC_PATH_YES) && defined(SYS_DARWIN)
|
||||||
|
char *binPath = get_bin_path();
|
||||||
|
Closure->binDir = g_strdup_printf("%s/../Resources",binPath);
|
||||||
|
Closure->docDir = g_strdup_printf("%s/../Resources/documentation",binPath);
|
||||||
|
free(binPath);
|
||||||
|
goto find_dotfile;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// We may also be in an app bundle
|
||||||
|
#if defined(SYS_DARWIN)
|
||||||
|
// Obtain the path to the executable
|
||||||
|
const char *pathToExecutable = get_bin_path();
|
||||||
|
|
||||||
|
// Check if the executable is within an app bundle
|
||||||
|
if (isWithinAppBundle(pathToExecutable)) {
|
||||||
|
// Inside an app bundle, set directory paths accordingly
|
||||||
|
Closure->binDir = g_strdup_printf("%s/../Resources", pathToExecutable);
|
||||||
|
Closure->docDir = g_strdup_printf("%s/../Resources/documentation", pathToExecutable);
|
||||||
|
goto find_dotfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SYS_DARWIN */
|
||||||
|
|
||||||
/*** Otherwise try the installation directory.
|
/*** Otherwise try the installation directory.
|
||||||
On Unices this is a hardcoded directory. */
|
On Unices this is a hardcoded directory. */
|
||||||
|
|
||||||
|
|||||||
378
src/scsi-darwin.c
Normal file
378
src/scsi-darwin.c
Normal file
@@ -0,0 +1,378 @@
|
|||||||
|
/* dvdisaster: Additional error correction for optical media.
|
||||||
|
* Copyright (C) 2004-2011 Carsten Gnoerlich.
|
||||||
|
*
|
||||||
|
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
|
||||||
|
* Project homepage: http://www.dvdisaster.org
|
||||||
|
*
|
||||||
|
* This file is part of dvdisaster.
|
||||||
|
*
|
||||||
|
* dvdisaster is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* dvdisaster 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 dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Darwin support by Julian Einwag <julian@einwag.de>.
|
||||||
|
* This is still an early version.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "dvdisaster.h"
|
||||||
|
|
||||||
|
#include "scsi-layer.h"
|
||||||
|
#include "udf.h"
|
||||||
|
|
||||||
|
#ifdef SYS_DARWIN
|
||||||
|
#include <CoreFoundation/CoreFoundation.h>
|
||||||
|
#include <IOKit/IOKitLib.h>
|
||||||
|
#include <IOKit/storage/IOStorageDeviceCharacteristics.h>
|
||||||
|
#include <IOKit/IOBSD.h>
|
||||||
|
#include <IOKit/IOCFPlugIn.h>
|
||||||
|
#include <IOKit/usb/IOUSBLib.h>
|
||||||
|
#include <IOKit/usb/USBSpec.h>
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Unmount media before trying to access them.
|
||||||
|
* Added by Bernd Heller, <bdheller@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
|
||||||
|
static void unmountDVD(io_object_t scsiDevice)
|
||||||
|
{
|
||||||
|
CFStringRef bsdName = NULL;
|
||||||
|
|
||||||
|
bsdName = (CFStringRef) IORegistryEntrySearchCFProperty(scsiDevice,
|
||||||
|
kIOServicePlane,
|
||||||
|
CFSTR(kIOBSDNameKey),
|
||||||
|
kCFAllocatorDefault,
|
||||||
|
kIORegistryIterateRecursively);
|
||||||
|
if (bsdName != NULL) {
|
||||||
|
// unmount all partitions
|
||||||
|
char cmd[4096];
|
||||||
|
char bsdNameStr[100];
|
||||||
|
CFStringGetCString(bsdName, bsdNameStr, sizeof(bsdNameStr), kCFStringEncodingUTF8);
|
||||||
|
|
||||||
|
sprintf(cmd, "/usr/sbin/diskutil unmountDisk /dev/%s", bsdNameStr);
|
||||||
|
system(cmd);
|
||||||
|
|
||||||
|
CFRelease(bsdName);
|
||||||
|
} else {
|
||||||
|
// no media to unmount
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
char *getProductName(io_object_t device)
|
||||||
|
{
|
||||||
|
CFDictionaryRef devCharacteristics;
|
||||||
|
CFStringRef nameRef;
|
||||||
|
CFIndex length;
|
||||||
|
char *prodName;
|
||||||
|
|
||||||
|
devCharacteristics = IORegistryEntryCreateCFProperty(device, CFSTR(kIOPropertyDeviceCharacteristicsKey), kCFAllocatorDefault, 0);
|
||||||
|
|
||||||
|
if (CFDictionaryGetValueIfPresent(devCharacteristics, CFSTR("Product Name"), (const void **) &nameRef)) {
|
||||||
|
length = CFStringGetLength(nameRef)+1;
|
||||||
|
prodName = malloc(length);
|
||||||
|
CFStringGetCString(nameRef, prodName, length, 0);
|
||||||
|
CFRelease(nameRef);
|
||||||
|
return prodName;
|
||||||
|
} else
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
io_iterator_t getDVDIterator(char* ioClass)
|
||||||
|
{
|
||||||
|
io_iterator_t scsiObjectIterator = (io_iterator_t) NULL;
|
||||||
|
CFMutableDictionaryRef matchingDict = NULL;
|
||||||
|
IOReturn ioReturnValue = kIOReturnSuccess;
|
||||||
|
|
||||||
|
matchingDict = IOServiceMatching(ioClass);
|
||||||
|
if (matchingDict == (CFMutableDictionaryRef) NULL) {
|
||||||
|
return (io_iterator_t) NULL;
|
||||||
|
}
|
||||||
|
ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault, matchingDict, &scsiObjectIterator);
|
||||||
|
if (scsiObjectIterator == (io_iterator_t) NULL || (ioReturnValue != kIOReturnSuccess)) {
|
||||||
|
return (io_iterator_t) NULL;
|
||||||
|
}
|
||||||
|
return scsiObjectIterator;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
IOCFPlugInInterface **getPlugInInterface(io_object_t scsiDevice)
|
||||||
|
{
|
||||||
|
IOReturn ioReturnValue;
|
||||||
|
SInt32 score = 0;
|
||||||
|
IOCFPlugInInterface **plugInInterface = NULL;
|
||||||
|
|
||||||
|
ioReturnValue = IOCreatePlugInInterfaceForService(scsiDevice, kIOMMCDeviceUserClientTypeID, kIOCFPlugInInterfaceID,&plugInInterface, &score);
|
||||||
|
if (ioReturnValue != kIOReturnSuccess) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return plugInInterface;
|
||||||
|
}
|
||||||
|
|
||||||
|
MMCDeviceInterface** getMMCInterface(IOCFPlugInInterface** plugInInterface)
|
||||||
|
{
|
||||||
|
MMCDeviceInterface **mmcDeviceInterface = NULL;
|
||||||
|
HRESULT pluginResult;
|
||||||
|
pluginResult = (*plugInInterface)->QueryInterface(plugInInterface,
|
||||||
|
CFUUIDGetUUIDBytes(kIOMMCDeviceInterfaceID),
|
||||||
|
(LPVOID)&mmcDeviceInterface);
|
||||||
|
if (pluginResult != KERN_SUCCESS) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return mmcDeviceInterface;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *DefaultDevice()
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
io_iterator_t scsiObjectIterator = (io_iterator_t) NULL;
|
||||||
|
io_object_t scsiDevice;
|
||||||
|
char *deviceName, *prodName;
|
||||||
|
|
||||||
|
/* As a convenience, add the simulated drive first. */
|
||||||
|
|
||||||
|
InitSimulatedCD();
|
||||||
|
|
||||||
|
/* Now probe the physical drives. */
|
||||||
|
|
||||||
|
scsiObjectIterator = getDVDIterator("IOBDServices");
|
||||||
|
for (i = 1; (scsiDevice = (io_object_t) IOIteratorNext(scsiObjectIterator)) != (io_object_t) NULL; i++) {
|
||||||
|
deviceName = g_malloc0(80);
|
||||||
|
sprintf(deviceName,"IOBDServices/%d",i);
|
||||||
|
|
||||||
|
prodName = getProductName(scsiDevice);
|
||||||
|
g_ptr_array_add(Closure->deviceNodes, g_strdup(deviceName));
|
||||||
|
g_ptr_array_add(Closure->deviceNames, g_strdup(prodName));
|
||||||
|
g_free(deviceName);
|
||||||
|
}
|
||||||
|
IOObjectRelease(scsiObjectIterator);
|
||||||
|
scsiObjectIterator = getDVDIterator("IODVDServices");
|
||||||
|
for (i = 1; (scsiDevice = (io_object_t) IOIteratorNext(scsiObjectIterator)) != (io_object_t) NULL; i++) {
|
||||||
|
deviceName = g_malloc0(80);
|
||||||
|
sprintf(deviceName,"IODVDServices/%d",i);
|
||||||
|
|
||||||
|
prodName = getProductName(scsiDevice);
|
||||||
|
g_ptr_array_add(Closure->deviceNodes, g_strdup(deviceName));
|
||||||
|
g_ptr_array_add(Closure->deviceNames, g_strdup(prodName));
|
||||||
|
g_free(deviceName);
|
||||||
|
}
|
||||||
|
IOObjectRelease(scsiObjectIterator);
|
||||||
|
scsiObjectIterator = getDVDIterator("IOCompactDiscServices");
|
||||||
|
for (i = 1; (scsiDevice = IOIteratorNext(scsiObjectIterator)) != (io_object_t) NULL; i++) {
|
||||||
|
deviceName = g_malloc0(80);
|
||||||
|
sprintf(deviceName,"IOCompactDiscServices/%d",i);
|
||||||
|
g_ptr_array_add(Closure->deviceNodes, g_strdup(deviceName));
|
||||||
|
g_ptr_array_add(Closure->deviceNames, g_strdup(deviceName));
|
||||||
|
g_free(deviceName);
|
||||||
|
}
|
||||||
|
if(Closure->deviceNodes->len)
|
||||||
|
return g_strdup(g_ptr_array_index(Closure->deviceNodes, 0));
|
||||||
|
else { PrintLog(_("No CD/DVD drives found."));
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
DeviceHandle* OpenDevice(char *device)
|
||||||
|
{
|
||||||
|
DeviceHandle *dh;
|
||||||
|
io_iterator_t scsiObjectIterator;
|
||||||
|
io_object_t scsiDevice;
|
||||||
|
IOReturn ioReturnValue = kIOReturnSuccess;
|
||||||
|
int numericalId = 1, i;
|
||||||
|
char *realdevice = NULL, *tmp;
|
||||||
|
|
||||||
|
/* use a naming scheme identical to cdrtools */
|
||||||
|
realdevice = tmp = strdup(device);
|
||||||
|
tmp = strchr(tmp, '/');
|
||||||
|
if (tmp != NULL) {
|
||||||
|
*tmp++ = '\0';
|
||||||
|
numericalId = atoi(tmp);
|
||||||
|
}
|
||||||
|
dh = g_malloc0(sizeof(DeviceHandle));
|
||||||
|
dh->senseSize = sizeof(SCSI_Sense_Data);
|
||||||
|
|
||||||
|
if(!strcmp(device, "sim-cd"))
|
||||||
|
{ if(!Closure->simulateCD) /* can happen via resource file / last-device */
|
||||||
|
{ g_free(dh);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
dh->simImage = LargeOpen(Closure->simulateCD, O_RDONLY, IMG_PERMS);
|
||||||
|
if(!dh->simImage)
|
||||||
|
{ g_free(dh);
|
||||||
|
|
||||||
|
Stop(_("Could not open %s: %s"), Closure->simulateCD, strerror(errno));
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
dh->device = g_strdup(device);
|
||||||
|
return dh;
|
||||||
|
}
|
||||||
|
|
||||||
|
scsiObjectIterator = getDVDIterator(realdevice);
|
||||||
|
if (scsiObjectIterator == (io_iterator_t) NULL) {
|
||||||
|
g_free(dh);
|
||||||
|
Stop(_("Could not open %s (%s)."), device, realdevice);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
/* look up handle for the selected device */
|
||||||
|
for (i = 1; (scsiDevice = IOIteratorNext(scsiObjectIterator)) != (io_object_t) NULL; i++) {
|
||||||
|
if (i == numericalId) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
unmountDVD(scsiDevice);
|
||||||
|
|
||||||
|
dh->plugInInterface = getPlugInInterface(scsiDevice);
|
||||||
|
if (dh->plugInInterface == NULL) {
|
||||||
|
g_free(dh);
|
||||||
|
Stop("Could not get PlugInInterface.");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
dh->mmcDeviceInterface = getMMCInterface(dh->plugInInterface);
|
||||||
|
if (dh->mmcDeviceInterface == NULL) {
|
||||||
|
g_free(dh);
|
||||||
|
Stop("Could not get MMCDeviceInterface.");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
(dh->scsiTaskDeviceInterface) = (*dh->mmcDeviceInterface)->GetSCSITaskDeviceInterface(dh->mmcDeviceInterface);
|
||||||
|
if (dh->scsiTaskDeviceInterface == NULL) {
|
||||||
|
g_free(dh);
|
||||||
|
Stop("Could not get SCSITaskDeviceInterface.");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
ioReturnValue = (*dh->scsiTaskDeviceInterface)->ObtainExclusiveAccess(dh->scsiTaskDeviceInterface);
|
||||||
|
if (ioReturnValue != kIOReturnSuccess) {
|
||||||
|
Stop("Couldn't obtain exclusive access to drive.");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
dh->taskInterface = (*dh->scsiTaskDeviceInterface)->CreateSCSITask(dh->scsiTaskDeviceInterface);
|
||||||
|
if (dh->taskInterface == NULL) {
|
||||||
|
Stop("Could not create taskInterface.");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
(*dh->taskInterface)->SetTimeoutDuration(dh->taskInterface, 120*1000);
|
||||||
|
dh->device = g_strdup(device);
|
||||||
|
return dh;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CloseDevice(DeviceHandle *dh)
|
||||||
|
{
|
||||||
|
if(dh->simImage)
|
||||||
|
LargeClose(dh->simImage);
|
||||||
|
|
||||||
|
if(dh->canReadDefective)
|
||||||
|
SetRawMode(dh, MODE_PAGE_UNSET);
|
||||||
|
|
||||||
|
if(dh->rawBuffer)
|
||||||
|
FreeRawBuffer(dh->rawBuffer);
|
||||||
|
|
||||||
|
if (dh->taskInterface) {
|
||||||
|
(*dh->taskInterface)->Release(dh->taskInterface);
|
||||||
|
}
|
||||||
|
if (dh->scsiTaskDeviceInterface) {
|
||||||
|
(*dh->scsiTaskDeviceInterface)->ReleaseExclusiveAccess(dh->scsiTaskDeviceInterface);
|
||||||
|
(*dh->scsiTaskDeviceInterface)->Release(dh->scsiTaskDeviceInterface);
|
||||||
|
}
|
||||||
|
if (dh->mmcDeviceInterface) {
|
||||||
|
(*dh->mmcDeviceInterface)->Release(dh->mmcDeviceInterface);
|
||||||
|
}
|
||||||
|
if(dh->plugInInterface) {
|
||||||
|
IODestroyPlugInInterface(dh->plugInInterface);
|
||||||
|
}
|
||||||
|
if(dh->range) {
|
||||||
|
g_free(dh->range);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(dh->typeDescr)
|
||||||
|
g_free(dh->typeDescr);
|
||||||
|
if(dh->mediumDescr)
|
||||||
|
g_free(dh->mediumDescr);
|
||||||
|
if(dh->defects)
|
||||||
|
FreeBitmap(dh->defects);
|
||||||
|
|
||||||
|
g_free(dh);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int SendPacket(DeviceHandle *dh, unsigned char *cmd, int cdb_size, unsigned char *buf, int size, Sense *sense, int data_mode)
|
||||||
|
{
|
||||||
|
u_int32_t flags = 0;
|
||||||
|
SCSITaskInterface **taskInterface;
|
||||||
|
SCSITaskStatus taskStatus = kSCSITaskStatus_No_Status;
|
||||||
|
IOReturn ioReturnValue;
|
||||||
|
|
||||||
|
if(dh->simImage)
|
||||||
|
return SimulateSendPacket(dh, cmd, cdb_size, buf, size, sense, data_mode);
|
||||||
|
|
||||||
|
switch(data_mode) {
|
||||||
|
case DATA_READ:
|
||||||
|
flags = kSCSIDataTransfer_FromTargetToInitiator;
|
||||||
|
break;
|
||||||
|
case DATA_WRITE:
|
||||||
|
flags = kSCSIDataTransfer_FromInitiatorToTarget;
|
||||||
|
break;
|
||||||
|
case DATA_NONE:
|
||||||
|
flags = kSCSIDataTransfer_NoDataTransfer;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Stop("illegal data_mode: %d",data_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
taskInterface = dh->taskInterface;
|
||||||
|
if (flags == kSCSIDataTransfer_FromTargetToInitiator || flags == kSCSIDataTransfer_FromInitiatorToTarget) {
|
||||||
|
dh->range = (IOVirtualRange *) g_malloc(sizeof(IOVirtualRange));
|
||||||
|
dh->range->address = (IOVirtualAddress) buf;
|
||||||
|
dh->range->length = size;
|
||||||
|
}
|
||||||
|
ioReturnValue = (*taskInterface)->SetCommandDescriptorBlock(taskInterface, cmd, cdb_size);
|
||||||
|
if (ioReturnValue != kIOReturnSuccess) {
|
||||||
|
Stop("Couldn't set command descriptor block.");
|
||||||
|
}
|
||||||
|
if (flags == kSCSIDataTransfer_FromTargetToInitiator || flags == kSCSIDataTransfer_FromInitiatorToTarget) {
|
||||||
|
ioReturnValue = (*taskInterface)->SetScatterGatherEntries(taskInterface, dh->range, 1, size, flags);
|
||||||
|
if (ioReturnValue != kIOReturnSuccess) {
|
||||||
|
Stop("Couldn't set scatter-gather.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the timeout in the task
|
||||||
|
ioReturnValue = ( *taskInterface )->SetTimeoutDuration ( taskInterface, 5000 );
|
||||||
|
if ( ioReturnValue != kIOReturnSuccess ) {
|
||||||
|
Stop("Operation timed out.");;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ioReturnValue = (*taskInterface)->ExecuteTaskSync(taskInterface, (SCSI_Sense_Data*) sense, &taskStatus, NULL);
|
||||||
|
if (ioReturnValue != kIOReturnSuccess) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (taskStatus == kSCSITaskStatus_DeliveryFailure && cmd[0] == 0x00) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (taskStatus != kSCSITaskStatus_GOOD) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -37,6 +37,20 @@
|
|||||||
#include <camlib.h>
|
#include <camlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef SYS_DARWIN
|
||||||
|
#define REAL_VERSION VERSION
|
||||||
|
#undef VERSION
|
||||||
|
#include <CoreFoundation/CoreFoundation.h>
|
||||||
|
#include <IOKit/IOKitLib.h>
|
||||||
|
#include <IOKit/IOCFPlugIn.h>
|
||||||
|
#include <IOKit/scsi/SCSITaskLib.h>
|
||||||
|
#include <IOKit/storage/IODVDTypes.h>
|
||||||
|
#include <mach/mach.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#define VERSION REAL_VERSION
|
||||||
|
#endif
|
||||||
|
|
||||||
/***
|
/***
|
||||||
*** Global settings
|
*** Global settings
|
||||||
***/
|
***/
|
||||||
@@ -113,6 +127,12 @@ typedef struct _DeviceHandle
|
|||||||
union ccb *ccb;
|
union ccb *ccb;
|
||||||
#elif defined(SYS_MINGW)
|
#elif defined(SYS_MINGW)
|
||||||
HANDLE fd; /* Windows SPTI file handle for the device */
|
HANDLE fd; /* Windows SPTI file handle for the device */
|
||||||
|
#elif defined(SYS_DARWIN)
|
||||||
|
IOCFPlugInInterface **plugInInterface;
|
||||||
|
MMCDeviceInterface **mmcDeviceInterface;
|
||||||
|
SCSITaskDeviceInterface **scsiTaskDeviceInterface;
|
||||||
|
SCSITaskInterface **taskInterface;
|
||||||
|
IOVirtualRange *range;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
#include "shellapi.h"
|
#include "shellapi.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef SYS_MINGW
|
#if !defined(SYS_MINGW) && !defined(SYS_DARWIN)
|
||||||
static void send_errormsg(int fd, char *format, ...)
|
static void send_errormsg(int fd, char *format, ...)
|
||||||
{ va_list argp;
|
{ va_list argp;
|
||||||
char *msg;
|
char *msg;
|
||||||
@@ -63,7 +63,7 @@ void GuiShowURL(char *target)
|
|||||||
int hyperlink = 0;
|
int hyperlink = 0;
|
||||||
char *path;
|
char *path;
|
||||||
|
|
||||||
#ifndef SYS_MINGW
|
#if !defined(SYS_MINGW) && !defined(SYS_DARWIN)
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
char *msg;
|
char *msg;
|
||||||
int err_pipe[2]; /* child may send down err msgs to us here */
|
int err_pipe[2]; /* child may send down err msgs to us here */
|
||||||
@@ -105,15 +105,29 @@ void GuiShowURL(char *target)
|
|||||||
/* Okay, Billy wins big time here ;-) */
|
/* Okay, Billy wins big time here ;-) */
|
||||||
|
|
||||||
ShellExecute(NULL, "open", path, NULL, NULL, SW_SHOWNORMAL);
|
ShellExecute(NULL, "open", path, NULL, NULL, SW_SHOWNORMAL);
|
||||||
|
#elif defined(SYS_DARWIN)
|
||||||
|
char command[256];
|
||||||
|
snprintf(command, sizeof(command), "open \"%s\"", path);
|
||||||
|
system(command);
|
||||||
#else
|
#else
|
||||||
|
|
||||||
/* fork xdg-open */
|
/* fork xdg-open */
|
||||||
|
|
||||||
result = pipe2(err_pipe, O_CLOEXEC);
|
result = pipe(err_pipe);
|
||||||
if(result == -1)
|
if(result == -1)
|
||||||
{ GuiCreateMessage(_("Could not create pipe before fork"), GTK_MESSAGE_ERROR);
|
{ GuiCreateMessage(_("Could not create pipe before fork"), GTK_MESSAGE_ERROR);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
result = fcntl(err_pipe[0], F_SETFL, O_CLOEXEC);
|
||||||
|
if(result == -1)
|
||||||
|
{ GuiCreateMessage(_("Could not set pipe flags before fork"), GTK_MESSAGE_ERROR);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
result = fcntl(err_pipe[1], F_SETFL, O_CLOEXEC);
|
||||||
|
if(result == -1)
|
||||||
|
{ GuiCreateMessage(_("Could not set pipe flags before fork"), GTK_MESSAGE_ERROR);
|
||||||
|
return;
|
||||||
|
}
|
||||||
pid = fork();
|
pid = fork();
|
||||||
|
|
||||||
if(pid == -1)
|
if(pid == -1)
|
||||||
|
|||||||
Reference in New Issue
Block a user