summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ICM.TODO7
-rwxr-xr-xconfigure100
-rw-r--r--configure.in20
-rw-r--r--doc/sane-xsane-advanced-doc.html4
-rw-r--r--doc/sane-xsane-batch-scan-doc.html4
-rw-r--r--doc/sane-xsane-color-correction-doc.html4
-rw-r--r--doc/sane-xsane-color-management-doc.html253
-rw-r--r--doc/sane-xsane-copy-doc.html4
-rw-r--r--doc/sane-xsane-doc.html6
-rw-r--r--doc/sane-xsane-email-doc.html4
-rw-r--r--doc/sane-xsane-empty-doc.html6
-rw-r--r--doc/sane-xsane-fax-doc.html4
-rw-r--r--doc/sane-xsane-gimp-doc.html4
-rw-r--r--doc/sane-xsane-guide-doc.html4
-rw-r--r--doc/sane-xsane-histogram-doc.html7
-rw-r--r--doc/sane-xsane-medium-definition-doc.html4
-rw-r--r--doc/sane-xsane-multipage-doc.html4
-rw-r--r--doc/sane-xsane-preview-doc.html4
-rw-r--r--doc/sane-xsane-save-doc.html4
-rw-r--r--doc/sane-xsane-scan-options-doc.html5
-rw-r--r--doc/sane-xsane-setup-color-management-doc.html198
-rw-r--r--doc/sane-xsane-setup-copy-doc.html4
-rw-r--r--doc/sane-xsane-setup-display-doc.html4
-rw-r--r--doc/sane-xsane-setup-email-doc.html4
-rw-r--r--doc/sane-xsane-setup-enhancement-doc.html6
-rw-r--r--doc/sane-xsane-setup-fax-doc.html4
-rw-r--r--doc/sane-xsane-setup-filetype-doc.html4
-rw-r--r--doc/sane-xsane-setup-save-doc.html4
-rw-r--r--doc/sane-xsane-standard-doc.html4
-rw-r--r--doc/sane-xsane-viewer-doc.html4
-rw-r--r--doc/xsane-cms-function.jpgbin0 -> 3483 bytes
-rw-r--r--doc/xsane-color-management-main-window.jpgbin0 -> 28489 bytes
-rw-r--r--doc/xsane-enable-color-management.jpgbin0 -> 19072 bytes
-rw-r--r--doc/xsane-setup-color-management.jpgbin0 -> 57041 bytes
-rw-r--r--doc/xsane-setup-copy.jpgbin47557 -> 71150 bytes
-rw-r--r--doc/xsane-setup-display.jpgbin36430 -> 48509 bytes
-rw-r--r--doc/xsane-setup-email.jpgbin34748 -> 45869 bytes
-rw-r--r--doc/xsane-setup-enhancement.jpgbin36740 -> 46692 bytes
-rw-r--r--doc/xsane-setup-fax.jpgbin40439 -> 51648 bytes
-rw-r--r--doc/xsane-setup-filetype.jpgbin44064 -> 52790 bytes
-rw-r--r--doc/xsane-setup-ocr.jpgbin28882 -> 35888 bytes
-rw-r--r--doc/xsane-setup-save.jpgbin34461 -> 44576 bytes
-rw-r--r--include/config.h11
-rw-r--r--include/config.h.in3
-rw-r--r--intl/po2tbl.sed60
-rw-r--r--intl/po2tbl.sed.in102
-rw-r--r--po/ca.gmobin0 -> 57831 bytes
-rw-r--r--po/ca.po3352
-rw-r--r--po/cs.gmobin56989 -> 54581 bytes
-rw-r--r--po/cs.po511
-rw-r--r--po/da.gmobin55340 -> 52998 bytes
-rw-r--r--po/da.po508
-rw-r--r--po/de.gmobin56612 -> 61661 bytes
-rw-r--r--po/de.po405
-rw-r--r--po/de.po~3244
-rw-r--r--po/es.gmobin49704 -> 48288 bytes
-rw-r--r--po/es.po506
-rw-r--r--po/fr.gmobin48987 -> 47561 bytes
-rw-r--r--po/fr.po506
-rw-r--r--po/hu.gmobin56759 -> 54425 bytes
-rw-r--r--po/hu.po508
-rw-r--r--po/it.gmobin59505 -> 57023 bytes
-rw-r--r--po/it.po505
-rw-r--r--po/ja.gmobin51593 -> 50094 bytes
-rw-r--r--po/ja.po505
-rw-r--r--po/nl.gmobin53588 -> 51255 bytes
-rw-r--r--po/nl.po507
-rw-r--r--po/pl.gmobin56700 -> 54298 bytes
-rw-r--r--po/pl.po511
-rw-r--r--po/pt.gmobin48268 -> 46875 bytes
-rw-r--r--po/pt.po507
-rw-r--r--po/pt_BR.gmobin48284 -> 46891 bytes
-rw-r--r--po/pt_BR.po507
-rw-r--r--po/ro.gmobin49186 -> 47757 bytes
-rw-r--r--po/ro.po507
-rw-r--r--po/ru.gmobin75865 -> 72680 bytes
-rw-r--r--po/ru.po508
-rw-r--r--po/sk.gmobin49080 -> 47731 bytes
-rw-r--r--po/sk.po507
-rw-r--r--po/sl.gmobin55736 -> 53406 bytes
-rw-r--r--po/sl.po508
-rw-r--r--po/sr.gmobin35623 -> 34409 bytes
-rw-r--r--po/sr.po506
-rw-r--r--po/sv.gmobin44519 -> 43191 bytes
-rw-r--r--po/sv.po507
-rw-r--r--po/tr.gmobin55479 -> 52997 bytes
-rw-r--r--po/tr.po511
-rw-r--r--po/vi.gmobin50663 -> 49291 bytes
-rw-r--r--po/vi.po507
-rw-r--r--po/xsane.pot373
-rw-r--r--po/zh.gmobin25207 -> 24167 bytes
-rw-r--r--po/zh.po524
-rw-r--r--po/zh_CN.gmobin0 -> 27816 bytes
-rw-r--r--po/zh_CN.po3203
-rw-r--r--src/Makefile.in3
-rw-r--r--src/xsane-back-gtk.c616
-rw-r--r--src/xsane-back-gtk.h31
-rw-r--r--src/xsane-batch-scan.c24
-rw-r--r--src/xsane-batch-scan.h2
-rw-r--r--src/xsane-device-preferences.c26
-rw-r--r--src/xsane-device-preferences.h2
-rw-r--r--src/xsane-email-project.c91
-rw-r--r--src/xsane-email-project.h2
-rw-r--r--src/xsane-fax-project.c93
-rw-r--r--src/xsane-fax-project.h2
-rw-r--r--src/xsane-fixedtext.h2
-rw-r--r--src/xsane-front-gtk.c90
-rw-r--r--src/xsane-front-gtk.h8
-rw-r--r--src/xsane-gamma.c23
-rw-r--r--src/xsane-gamma.h2
-rw-r--r--src/xsane-gimp-1_0-compat.h2
-rw-r--r--src/xsane-gtk-1_x-compat.h4
-rw-r--r--src/xsane-icons.c38
-rw-r--r--src/xsane-icons.h3
-rw-r--r--src/xsane-multipage-project.c101
-rw-r--r--src/xsane-multipage-project.h2
-rw-r--r--src/xsane-preferences.c29
-rw-r--r--src/xsane-preferences.h21
-rw-r--r--src/xsane-preview.c266
-rw-r--r--src/xsane-preview.h11
-rw-r--r--src/xsane-rc-io.c28
-rw-r--r--src/xsane-rc-io.h4
-rw-r--r--src/xsane-save.c2482
-rw-r--r--src/xsane-save.c.orig5801
-rw-r--r--src/xsane-save.h40
-rw-r--r--src/xsane-scan.c64
-rw-r--r--src/xsane-scan.h2
-rw-r--r--src/xsane-setup.c715
-rw-r--r--src/xsane-setup.h2
-rw-r--r--src/xsane-text.h769
-rw-r--r--src/xsane-viewer.c1090
-rw-r--r--src/xsane-viewer.h19
-rw-r--r--src/xsane.c333
-rw-r--r--src/xsane.h95
-rw-r--r--src/xsaneopts.h2
-rw-r--r--xsane.ACCELKEYS27
-rw-r--r--xsane.BACKENDS42
-rw-r--r--xsane.BUGS7
-rw-r--r--xsane.CHANGES81
-rw-r--r--xsane.TODO8
-rw-r--r--xsane.spec2
141 files changed, 26456 insertions, 8258 deletions
diff --git a/ICM.TODO b/ICM.TODO
new file mode 100644
index 0000000..70b4c6d
--- /dev/null
+++ b/ICM.TODO
@@ -0,0 +1,7 @@
+- convert image to sRGB and other colorspaces while saving: email, multipage
+- append ICC/ICM profile to email, multipage
+- add CMS preview options to preview or xsane main window for preview image
+- add support for 16bits/sample PDF files
+- reduce to 8 bits/sample after color conversion for all image formats
+- add support for grayscale postscript files
+
diff --git a/configure b/configure
index ee646f7..88b872b 100755
--- a/configure
+++ b/configure
@@ -846,6 +846,7 @@ Optional Features:
--disable-jpeg do not include JPEG support
--disable-png do not include PNG support
--disable-tiff do not include TIFF support
+ --disable-lcms do not include LCMS support
--disable-nls do not use Native Language Support
--disable-sanetest Do not try to compile and run a test SANE program
--disable-gimptest do not try to compile and run a test GIMP program
@@ -1321,14 +1322,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# version code:
V_MAJOR=0
-V_MINOR=991
+V_MINOR=993
PACKAGE=xsane
BINPROGS="xsane"
# languages
-ALL_LINGUAS="cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv vi tr zh"
+ALL_LINGUAS="ca cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv vi tr zh zh_CN"
SANE_V_MAJOR=1
VERSION=${V_MAJOR}.${V_MINOR}
@@ -1433,6 +1434,18 @@ fi;
echo "$as_me:$LINENO: result: $USE_TIFF" >&5
echo "${ECHO_T}$USE_TIFF" >&6
+echo "$as_me:$LINENO: checking whether LCMS (color management) support is requested" >&5
+echo $ECHO_N "checking whether LCMS (color management) support is requested... $ECHO_C" >&6
+# Check whether --enable-lcms or --disable-lcms was given.
+if test "${enable_lcms+set}" = set; then
+ enableval="$enable_lcms"
+ USE_LCMS=$enableval
+else
+ USE_LCMS=yes
+fi;
+echo "$as_me:$LINENO: result: $USE_LCMS" >&5
+echo "${ECHO_T}$USE_LCMS" >&6
+
echo ""
echo "**************************************************************************"
echo ""
@@ -5790,6 +5803,83 @@ fi
fi
+if test "${USE_LCMS}" = "yes"; then
+
+echo "$as_me:$LINENO: checking for cmsOpenProfileFromFile in -llcms" >&5
+echo $ECHO_N "checking for cmsOpenProfileFromFile in -llcms... $ECHO_C" >&6
+if test "${ac_cv_lib_lcms_cmsOpenProfileFromFile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-llcms $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char cmsOpenProfileFromFile ();
+int
+main ()
+{
+cmsOpenProfileFromFile ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_lcms_cmsOpenProfileFromFile=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_lcms_cmsOpenProfileFromFile=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_lcms_cmsOpenProfileFromFile" >&5
+echo "${ECHO_T}$ac_cv_lib_lcms_cmsOpenProfileFromFile" >&6
+if test $ac_cv_lib_lcms_cmsOpenProfileFromFile = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBLCMS 1
+_ACEOF
+
+ LIBS="-llcms $LIBS"
+
+fi
+
+fi
+
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo "$as_me:$LINENO: checking for working alloca.h" >&5
@@ -12507,6 +12597,12 @@ else
echo "* - PNG support deactivated *"
fi
+if test "${ac_cv_lib_lcms_cmsOpenProfileFromFile}" = "yes"; then
+ echo "* - LCMS (color management) support activated *"
+else
+ echo "* - LCMS (color management) support deactivated *"
+fi
+
echo "* *"
echo "****************************************************************"
echo "* *"
diff --git a/configure.in b/configure.in
index f942795..622cc70 100644
--- a/configure.in
+++ b/configure.in
@@ -6,14 +6,14 @@ AC_CONFIG_HEADER(include/config.h)
# version code:
V_MAJOR=0
-V_MINOR=991
+V_MINOR=993
PACKAGE=xsane
BINPROGS="xsane"
# languages
-ALL_LINGUAS="cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv vi tr zh"
+ALL_LINGUAS="ca cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv vi tr zh zh_CN"
SANE_V_MAJOR=1
VERSION=${V_MAJOR}.${V_MINOR}
@@ -68,6 +68,12 @@ dnl Default is enabled TIFF
AC_ARG_ENABLE(tiff, [ --disable-tiff do not include TIFF support], USE_TIFF=$enableval, USE_TIFF=yes)
AC_MSG_RESULT($USE_TIFF)
+dnl Check for lcms support
+AC_MSG_CHECKING([whether LCMS (color management) support is requested])
+dnl Default is enabled LCMS
+AC_ARG_ENABLE(lcms, [ --disable-lcms do not include LCMS support], USE_LCMS=$enableval, USE_LCMS=yes)
+AC_MSG_RESULT($USE_LCMS)
+
echo ""
echo "**************************************************************************"
echo ""
@@ -123,6 +129,10 @@ if test "${USE_TIFF}" = "yes"; then
AC_CHECK_LIB(tiff, TIFFOpen)
fi
+if test "${USE_LCMS}" = "yes"; then
+ AC_CHECK_LIB(lcms, cmsOpenProfileFromFile)
+fi
+
dnl Checks for library functions.
AC_FUNC_ALLOCA
AC_FUNC_MMAP
@@ -284,6 +294,12 @@ else
echo "* - PNG support deactivated *"
fi
+if test "${ac_cv_lib_lcms_cmsOpenProfileFromFile}" = "yes"; then
+ echo "* - LCMS (color management) support activated *"
+else
+ echo "* - LCMS (color management) support deactivated *"
+fi
+
echo "* *"
echo "****************************************************************"
echo "* *"
diff --git a/doc/sane-xsane-advanced-doc.html b/doc/sane-xsane-advanced-doc.html
index 3d5d56e..9a48bdd 100644
--- a/doc/sane-xsane-advanced-doc.html
+++ b/doc/sane-xsane-advanced-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-batch-scan-doc.html b/doc/sane-xsane-batch-scan-doc.html
index eedd528..50490be 100644
--- a/doc/sane-xsane-batch-scan-doc.html
+++ b/doc/sane-xsane-batch-scan-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-color-correction-doc.html b/doc/sane-xsane-color-correction-doc.html
index dca9144..f5b7567 100644
--- a/doc/sane-xsane-color-correction-doc.html
+++ b/doc/sane-xsane-color-correction-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-color-management-doc.html b/doc/sane-xsane-color-management-doc.html
new file mode 100644
index 0000000..c18f61a
--- /dev/null
+++ b/doc/sane-xsane-color-management-doc.html
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.74 [en] (X11; U; Linux 2.2.18 i686) [Netscape]">
+ <meta name="Author" content="Oliver Rauch">
+ <meta name="Description" content="scan, photocopy and fax frontend for SANE">
+ <title>XSane - Color management</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+
+
+<table>
+<tr>
+<td width=200>
+<img SRC="xsane-logo.jpg" alt="XSane-logo" hspace=30 align=TOP>
+</td>
+<td>
+<blockquote>
+<h1><u><font color="#009900">Color management</font></u></h1>
+</blockquote>
+</td>
+</tr>
+</table>
+
+
+<hr WIDTH="100%">
+
+<table>
+<tr>
+<td valign=TOP width="200" bgcolor="#E0E0BA">
+<br>
+<a href="sane-xsane-doc.html">Index</a>
+<br>
+<br>
+<font color="#000000">XSane mode:</font>
+<img SRC="xsane-target.jpg" alt="xsane-target">
+<ul>
+<li><a href="sane-xsane-viewer-doc.html">Viewer mode</a></li>
+<li><a href="sane-xsane-save-doc.html">Save mode</a></li>
+<li><a href="sane-xsane-copy-doc.html">Copy mode</a></li>
+<li><a href="sane-xsane-multipage-doc.html">Multipage mode</a></li>
+<li><a href="sane-xsane-fax-doc.html">Fax mode</a></li>
+<li><a href="sane-xsane-email-doc.html">E-mail mode</a></li>
+<li><a href="sane-xsane-gimp-doc.html">Gimp plugin</a></li>
+</ul>
+<br>
+<a href="sane-xsane-scan-options-doc.html">Scan options</a>
+<br>
+<br>
+<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
+<br>
+<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
+<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
+<ul>
+<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#BRIGHTNESS">Brightness</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#CONTRAST">Contrast</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#THRESHOLD">Threshold</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#RGB_DEFAULT">RGB default</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#NEGATIVE">Negative</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#AUTOENHANCEMENT">Autoenhancement</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#ENHANCEMENT_DEFAULT">Default</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#RESTORE_ENHANCEMENT">Restore</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#STORE_ENHANCEMENT">Store</a></li>
+<li><a href="sane-xsane-histogram-doc.html">Histogram window</a></li>
+<li><a href="sane-xsane-preview-doc.html#PIPETTE_WHITE">Pipette functions</a></li>
+</ul>
+<br>
+<a href="sane-xsane-standard-doc.html">Standard options window</a>
+<br>
+<br>
+<a href="sane-xsane-advanced-doc.html">Advanced options window</a>
+<br>
+<br>
+<a href="sane-xsane-preview-doc.html">Preview:</a>
+<ul>
+<li><a href="sane-xsane-preview-doc.html#PIPETTE_WHITE">Pipette white</a></li>
+<li><a href="sane-xsane-preview-doc.html#PIPETTE_GRAY">Pipette gray</a></li>
+<li><a href="sane-xsane-preview-doc.html#PIPETTE_BLACK">Pipette black</a></li>
+<li><a href="sane-xsane-preview-doc.html#UNZOOM">Unzoom</a></li>
+<li><a href="sane-xsane-preview-doc.html#ZOOM_OUT">Zoom out</a></li>
+<li><a href="sane-xsane-preview-doc.html#ZOOM_IN">Zoom in</a></li>
+<li><a href="sane-xsane-preview-doc.html#UNDO_ZOOM">Undo zoom</a></li>
+<li><a href="sane-xsane-preview-doc.html#AUTOSELECT">Autoselect scanarea</a></li>
+<li><a href="sane-xsane-preview-doc.html#AUTORAISE">Autoraise scanarea</a></li>
+<li><a href="sane-xsane-preview-doc.html#SELECT_VISIBLE_AREA">Select visible area</a></li>
+<li><a href="sane-xsane-preview-doc.html#DELETE_PREVIEW_CACHE">Delete preview cache</a></li>
+<li><a href="sane-xsane-preview-doc.html#PRESET_AREA">Preset area</a></li>
+<li><a href="sane-xsane-preview-doc.html#ROTATION">Rotation</a></li>
+<li><a href="sane-xsane-preview-doc.html#ASPECT_RATIO">Aspect ratio</a></li>
+<li><a href="sane-xsane-preview-doc.html#RGB_VALUES">RGB values</a></li>
+<li><a href="sane-xsane-preview-doc.html#SELECT_SCAN_AREA">Select scanarea</a></li>
+<li><a href="sane-xsane-preview-doc.html#MOVE_SCAN_AREA">Move scanarea</a></li>
+</ul>
+<br>
+<a href="sane-xsane-batch-scan-doc.html">Batch scan:</a>
+<ul>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_EMPTY">Empty batch list</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_OPEN">Open batch list</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_SAVE">Save batch list</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_ADD">Add area to list</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_DELETE">Remove selection</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_RENAME">Rename selection</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_ROTATE">Rotate image</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_MIRROR">Mirror image</a></li>
+</ul>
+<br>
+<font color="#000000">Setup:</font>
+<ul>
+<li><a href="sane-xsane-setup-copy-doc.html">Copy setup</a></li>
+<li><a href="sane-xsane-setup-display-doc.html">Display setup</a></li>
+<li><a href="sane-xsane-setup-enhancement-doc.html">Enhancement setup</a></li>
+<li><a href="sane-xsane-setup-fax-doc.html">Fax setup</a></li>
+<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
+<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
+<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
+</ul>
+</td>
+
+
+
+<td VALIGN=TOP BGCOLOR="#FFFFFF">
+<br>
+<center><img SRC="xsane-color-management-main-window.jpg"
+ alt="XSane-main-window-with-color-management"></center>
+<br>
+<br>
+<blockquote>
+When you scan an image with color management disabled then you often get an image that does not look very good.
+The colors do not look natural, the contrast is bad, the image is too dark etc.
+
+The reason for this is that each device interprets a color e.g. represented by a red, green and blue value in
+its own way.
+<p>
+When you want a display or a printer to produce an image with the colors of a photo that you want to scan with a scanner
+then you need to tell your system how each device interprets colors. This is done with ICC/ICM profiles.
+When you have at least an ICC/ICM profile for your scanner and for your display then you can enable the color management of XSane.
+Please make sure that you filled out the
+<a href="sane-xsane-setup-color-management-doc.html">color management setup</a>
+correct before you enable it, otherwise you will get a lot of error messages.
+<br>
+<br>
+<br>
+<a NAME="ENABLE_CMS"></a><b>Enable color management:</b><br>
+&nbsp;&nbsp;
+<img SRC="xsane-enable-color-management.jpg" alt="enable-color-management">
+
+<blockquote>
+To enable the color management activate it in the <i>Preferences</i> menu.
+When you do this then the gamma, contrast and brightness options are disabled.
+</blockquote>
+
+<a NAME="CMS_FUNCTION"></a><b>Color management function:</b><br>
+&nbsp;&nbsp;
+<img SRC="xsane-cms-function.jpg" alt="cms-function">
+<blockquote>
+There are three different functions available when color management is enabled:
+<ul>
+ <li>
+ <a NAME="EMBED_ICM_PROFILE"></a><b>Embed scanner ICM profile</b>
+ <br>
+ The image is saved with the original image data, no color transformation is
+ done. The ICM profile is embedded to the image file. Programs that support
+ color management know how to correct the colors.
+ <br>
+ Advantages:
+ <ul>
+ <li>no loss of information</li>
+ </ul>
+ Disadvantages:
+ <ul>
+ <li>a lot of programs are not able to handle embedded profiles</li>
+ </ul>
+ Usage:
+ <ul>
+ <li>image archieve, image manipulation with all color corrections,
+ professional printing</li>
+ </ul>
+ <br>
+ When the selected file format does not support the embedded profiles then
+ the image is tranformed to sRGB.
+ <p>
+ </li>
+
+ <li>
+ <a NAME="CONVERT_TO_SRGB"></a><b>Convert to sRGB</b>
+ <br>
+ The image is converted to sRGB, no ICM profile is embedded.
+ <br>
+ Advantages:
+ <ul>
+ <li>all programs can handle the color corrected image</li>
+ </ul>
+ Disadvantages:
+ <ul>
+ <li>sRGB does not cover all visible colors</li>
+ <li>when you do any further color correction then you lose color
+ information that can result in visible color steps</li>
+ </ul>
+ Usage:
+ <ul>
+ <li>web publication, office documents, image manipulation only when no color
+ correction is done, home and office printing</li>
+ </ul>
+ <p>
+ </li>
+
+ <li>
+ <a NAME="CONVERT_TO_WORKING_COLOR_SPACE"></a><b>Convert to working color space</b>
+ <br>
+ The image is converted to the working color space you selected in the color
+ management setup. The ICM profile of the working color space is embedded
+ to the image file.
+ <br>
+ Advantages:
+ <ul>
+ <li>There are color spaces that do cover the visible colors better than sRGB
+ does</li>
+ </ul>
+ Disadvantages:
+ <ul>
+ <li>when you do any further color correction then you lose color
+ information that can result in visible color steps</li>
+ </ul>
+ Usage:
+ <ul>
+ <li>image archieve, image manipulation with (may be limited) color correction,
+ professional printing</li>
+ </ul>
+ <p>
+ </li>
+</ul>
+</blockquote>
+
+</blockquote>
+</td>
+</tr>
+</table>
+
+<hr WIDTH="100%">
+
+<blockquote>
+Author: <a href="mailto:Oliver.Rauch@xsane.org">Oliver Rauch</a>
+</blockquote>
+
+</body>
+</html>
+
diff --git a/doc/sane-xsane-copy-doc.html b/doc/sane-xsane-copy-doc.html
index 97b98e9..af79ee8 100644
--- a/doc/sane-xsane-copy-doc.html
+++ b/doc/sane-xsane-copy-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-doc.html b/doc/sane-xsane-doc.html
index dd9f481..89b5d46 100644
--- a/doc/sane-xsane-doc.html
+++ b/doc/sane-xsane-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -112,9 +115,10 @@
<li><a href="sane-xsane-setup-display-doc.html">Display setup</a></li>
<li><a href="sane-xsane-setup-enhancement-doc.html">Enhancement setup</a></li>
<li><a href="sane-xsane-setup-fax-doc.html">Fax setup</a></li>
-<li><a href="sane-xsane-setup-filetpye-doc.html">Filetype setup</a></li>
+<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-email-doc.html b/doc/sane-xsane-email-doc.html
index 2441548..ccbb0fd 100644
--- a/doc/sane-xsane-email-doc.html
+++ b/doc/sane-xsane-email-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-empty-doc.html b/doc/sane-xsane-empty-doc.html
index f651ba2..346c071 100644
--- a/doc/sane-xsane-empty-doc.html
+++ b/doc/sane-xsane-empty-doc.html
@@ -40,9 +40,14 @@
<li><a href="sane-xsane-gimp-doc.html">Gimp plugin</a></li>
</ul>
<br>
+<a href="sane-xsane-scan-options-doc.html">Scan options</a>
+<br>
+<br>
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
@@ -110,6 +115,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-fax-doc.html b/doc/sane-xsane-fax-doc.html
index b91b85f..09d61af 100644
--- a/doc/sane-xsane-fax-doc.html
+++ b/doc/sane-xsane-fax-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-gimp-doc.html b/doc/sane-xsane-gimp-doc.html
index babc3ac..aea7421 100644
--- a/doc/sane-xsane-gimp-doc.html
+++ b/doc/sane-xsane-gimp-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-guide-doc.html b/doc/sane-xsane-guide-doc.html
index 3f20c1c..cabc04c 100644
--- a/doc/sane-xsane-guide-doc.html
+++ b/doc/sane-xsane-guide-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-histogram-doc.html b/doc/sane-xsane-histogram-doc.html
index de0a333..556cd90 100644
--- a/doc/sane-xsane-histogram-doc.html
+++ b/doc/sane-xsane-histogram-doc.html
@@ -40,9 +40,15 @@
<li><a href="sane-xsane-gimp-doc.html">Gimp plugin</a></li>
</ul>
<br>
+<a href="sane-xsane-scan-options-doc.html">Scan options</a>
+<br>
+<br>
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
@@ -110,6 +116,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-medium-definition-doc.html b/doc/sane-xsane-medium-definition-doc.html
index 2938169..62bc49b 100644
--- a/doc/sane-xsane-medium-definition-doc.html
+++ b/doc/sane-xsane-medium-definition-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-multipage-doc.html b/doc/sane-xsane-multipage-doc.html
index 7cca205..774b597 100644
--- a/doc/sane-xsane-multipage-doc.html
+++ b/doc/sane-xsane-multipage-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-preview-doc.html b/doc/sane-xsane-preview-doc.html
index 17dea20..e258208 100644
--- a/doc/sane-xsane-preview-doc.html
+++ b/doc/sane-xsane-preview-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-save-doc.html b/doc/sane-xsane-save-doc.html
index 6673e25..661bb5e 100644
--- a/doc/sane-xsane-save-doc.html
+++ b/doc/sane-xsane-save-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-scan-options-doc.html b/doc/sane-xsane-scan-options-doc.html
index 5858870..a8415f8 100644
--- a/doc/sane-xsane-scan-options-doc.html
+++ b/doc/sane-xsane-scan-options-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
@@ -184,7 +188,6 @@ and a cursor key the resolution is changed in larger steps.
</blockquote>
</blockquote>
-</blockquote>
</td>
</tr>
</table>
diff --git a/doc/sane-xsane-setup-color-management-doc.html b/doc/sane-xsane-setup-color-management-doc.html
new file mode 100644
index 0000000..81549fc
--- /dev/null
+++ b/doc/sane-xsane-setup-color-management-doc.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Oliver Rauch">
+ <meta name="Description" content="scan, photocopy and fax frontend for SANE">
+ <title>XSane - Color management setup</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
+
+
+<table>
+<tr>
+<td width=200>
+<img SRC="xsane-logo.jpg" alt="XSane-logo" hspace=30 align=TOP>
+</td>
+<td>
+<blockquote>
+<h1><font color="#009900">Color management setup</font></h1>
+</blockquote>
+</td>
+</tr>
+</table>
+
+
+<hr WIDTH="100%">
+
+<table>
+<tr>
+<td valign=TOP width="200" bgcolor="#E0E0BA">
+<br>
+<a href="sane-xsane-doc.html">Index</a>
+<br>
+<br>
+<font color="#000000">XSane mode:</font>
+<img SRC="xsane-target.jpg" alt="xsane-target">
+<ul>
+<li><a href="sane-xsane-viewer-doc.html">Viewer mode</a></li>
+<li><a href="sane-xsane-save-doc.html">Save mode</a></li>
+<li><a href="sane-xsane-copy-doc.html">Copy mode</a></li>
+<li><a href="sane-xsane-multipage-doc.html">Multipage mode</a></li>
+<li><a href="sane-xsane-fax-doc.html">Fax mode</a></li>
+<li><a href="sane-xsane-email-doc.html">E-mail mode</a></li>
+<li><a href="sane-xsane-gimp-doc.html">Gimp plugin</a></li>
+</ul>
+<br>
+<a href="sane-xsane-scan-options-doc.html">Scan options</a>
+<br>
+<br>
+<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
+<br>
+<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
+<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
+<ul>
+<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#BRIGHTNESS">Brightness</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#CONTRAST">Contrast</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#THRESHOLD">Threshold</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#RGB_DEFAULT">RGB default</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#NEGATIVE">Negative</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#AUTOENHANCEMENT">Autoenhancement</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#ENHANCEMENT_DEFAULT">Default</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#RESTORE_ENHANCEMENT">Restore</a></li>
+<li><a href="sane-xsane-color-correction-doc.html#STORE_ENHANCEMENT">Store</a></li>
+<li><a href="sane-xsane-histogram-doc.html">Histogram window</a></li>
+<li><a href="sane-xsane-preview-doc.html#PIPETTE_WHITE">Pipette functions</a></li>
+</ul>
+<br>
+<a href="sane-xsane-standard-doc.html">Standard options window</a>
+<br>
+<br>
+<a href="sane-xsane-advanced-doc.html">Advanced options window</a>
+<br>
+<br>
+<a href="sane-xsane-preview-doc.html">Preview:</a>
+<ul>
+<li><a href="sane-xsane-preview-doc.html#PIPETTE_WHITE">Pipette white</a></li>
+<li><a href="sane-xsane-preview-doc.html#PIPETTE_GRAY">Pipette gray</a></li>
+<li><a href="sane-xsane-preview-doc.html#PIPETTE_BLACK">Pipette black</a></li>
+<li><a href="sane-xsane-preview-doc.html#UNZOOM">Unzoom</a></li>
+<li><a href="sane-xsane-preview-doc.html#ZOOM_OUT">Zoom out</a></li>
+<li><a href="sane-xsane-preview-doc.html#ZOOM_IN">Zoom in</a></li>
+<li><a href="sane-xsane-preview-doc.html#UNDO_ZOOM">Undo zoom</a></li>
+<li><a href="sane-xsane-preview-doc.html#AUTOSELECT">Autoselect scanarea</a></li>
+<li><a href="sane-xsane-preview-doc.html#AUTORAISE">Autoraise scanarea</a></li>
+<li><a href="sane-xsane-preview-doc.html#SELECT_VISIBLE_AREA">Select visible area</a></li>
+<li><a href="sane-xsane-preview-doc.html#DELETE_PREVIEW_CACHE">Delete preview cache</a></li>
+<li><a href="sane-xsane-preview-doc.html#PRESET_AREA">Preset area</a></li>
+<li><a href="sane-xsane-preview-doc.html#ROTATION">Rotation</a></li>
+<li><a href="sane-xsane-preview-doc.html#ASPECT_RATIO">Aspect ratio</a></li>
+<li><a href="sane-xsane-preview-doc.html#RGB_VALUES">RGB values</a></li>
+<li><a href="sane-xsane-preview-doc.html#SELECT_SCAN_AREA">Select scanarea</a></li>
+<li><a href="sane-xsane-preview-doc.html#MOVE_SCAN_AREA">Move scanarea</a></li>
+</ul>
+<br>
+<a href="sane-xsane-batch-scan-doc.html">Batch scan:</a>
+<ul>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_EMPTY">Empty batch list</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_OPEN">Open batch list</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_SAVE">Save batch list</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_ADD">Add area to list</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_DELETE">Remove selection</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_RENAME">Rename selection</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_ROTATE">Rotate image</a></li>
+<li><a href="sane-xsane-batch-scan-doc.html#BATCH_SCAN_MIRROR">Mirror image</a></li>
+</ul>
+<br>
+<font color="#000000">Setup:</font>
+<ul>
+<li><a href="sane-xsane-setup-copy-doc.html">Copy setup</a></li>
+<li><a href="sane-xsane-setup-display-doc.html">Display setup</a></li>
+<li><a href="sane-xsane-setup-enhancement-doc.html">Enhancement setup</a></li>
+<li><a href="sane-xsane-setup-fax-doc.html">Fax setup</a></li>
+<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
+<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
+<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
+</ul>
+</td>
+
+
+
+<td VALIGN=TOP BGCOLOR="#FFFFFF">
+<blockquote>
+<br>
+You open the setup window via the menu <i>preferences/setup</i> in the
+main window of xsane.
+<br>
+<br>
+<br>
+<center><p><br><img SRC="xsane-setup-color-management.jpg" alt="XSane-setup-color-management-window"></center>
+<br>
+<br>
+<br>
+<h4>Black point compensation:</h4>
+<blockquote>
+Do black point compensation when color transformation is done.
+</blockquote>
+<br>
+
+<h4>Rendering intent:</h4>
+<blockquote>
+Select rendering intent for preview and saving. This selection is also used as default
+for the viewer.
+</blockquote>
+<br>
+
+<h4>Scanner reflektive ICM profile:</h4>
+<blockquote>
+Select scanner color ICM profile. This is the most important profile because this is the one that is generally used.
+</blockquote>
+<br>
+
+<h4>Scanner reflektive gray ICM profile:</h4>
+<blockquote>
+Select scanner grayscale ICM profile.
+</blockquote>
+<br>
+
+<h4>Display ICM profile:</h4>
+<blockquote>
+Select display ICM profile. This profile is important for the preview and the viewer. When you do not have
+a profile for your display then you can select sRGB what should produce usable output.
+</blockquote>
+<br>
+
+<h4>Custom proofing ICM profile:</h4>
+<blockquote>
+When you want to do proofing for an output device that is not defined as printer in the printer setup
+then you can select the ICM profile of this device here.
+</blockquote>
+<br>
+
+<h4>Working color space ICM profile:</h4>
+<blockquote>
+When you want to work in a different color space than sRGB then you can select the ICM profile of your
+prefered color space.
+</blockquote>
+<br>
+
+
+</blockquote>
+</td>
+</tr>
+</table>
+
+<hr WIDTH="100%">
+
+<blockquote>
+Author: <a href="mailto:Oliver.Rauch@xsane.org">Oliver Rauch</a>
+</blockquote>
+
+</body>
+</html>
+
diff --git a/doc/sane-xsane-setup-copy-doc.html b/doc/sane-xsane-setup-copy-doc.html
index 2371a6f..9d5f1e1 100644
--- a/doc/sane-xsane-setup-copy-doc.html
+++ b/doc/sane-xsane-setup-copy-doc.html
@@ -50,6 +50,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -114,6 +117,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-setup-display-doc.html b/doc/sane-xsane-setup-display-doc.html
index 2d07e40..154b876 100644
--- a/doc/sane-xsane-setup-display-doc.html
+++ b/doc/sane-xsane-setup-display-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-setup-email-doc.html b/doc/sane-xsane-setup-email-doc.html
index e74cfc5..da6e080 100644
--- a/doc/sane-xsane-setup-email-doc.html
+++ b/doc/sane-xsane-setup-email-doc.html
@@ -50,6 +50,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -114,6 +117,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-setup-enhancement-doc.html b/doc/sane-xsane-setup-enhancement-doc.html
index c363dab..2309dec 100644
--- a/doc/sane-xsane-setup-enhancement-doc.html
+++ b/doc/sane-xsane-setup-enhancement-doc.html
@@ -50,6 +50,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -114,6 +117,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
@@ -200,6 +204,7 @@ main window).
The name should be something like <b><i>Gray</i></b>.
</blockquote>
+</blockquote>
</td>
</tr>
</table>
@@ -209,7 +214,6 @@ The name should be something like <b><i>Gray</i></b>.
<blockquote>
Author: <a href="mailto:Oliver.Rauch@xsane.org">Oliver Rauch</a>
</blockquote>
-</blockquote>
</body>
</html>
diff --git a/doc/sane-xsane-setup-fax-doc.html b/doc/sane-xsane-setup-fax-doc.html
index bd2bb00..eb3e96d 100644
--- a/doc/sane-xsane-setup-fax-doc.html
+++ b/doc/sane-xsane-setup-fax-doc.html
@@ -50,6 +50,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -114,6 +117,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-setup-filetype-doc.html b/doc/sane-xsane-setup-filetype-doc.html
index 76bc981..d14abe1 100644
--- a/doc/sane-xsane-setup-filetype-doc.html
+++ b/doc/sane-xsane-setup-filetype-doc.html
@@ -50,6 +50,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -114,6 +117,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-setup-save-doc.html b/doc/sane-xsane-setup-save-doc.html
index 20b7a36..88c4096 100644
--- a/doc/sane-xsane-setup-save-doc.html
+++ b/doc/sane-xsane-setup-save-doc.html
@@ -50,6 +50,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -114,6 +117,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-standard-doc.html b/doc/sane-xsane-standard-doc.html
index fa66c9c..326a748 100644
--- a/doc/sane-xsane-standard-doc.html
+++ b/doc/sane-xsane-standard-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/sane-xsane-viewer-doc.html b/doc/sane-xsane-viewer-doc.html
index 1b222cf..0a02ad6 100644
--- a/doc/sane-xsane-viewer-doc.html
+++ b/doc/sane-xsane-viewer-doc.html
@@ -51,6 +51,9 @@
<a href="sane-xsane-medium-definition-doc.html">Medium selection</a>
<br>
<br>
+<a href="sane-xsane-color-management-doc.html">Color management</a>
+<br>
+<br>
<a href="sane-xsane-color-correction-doc.html">Color correction:</a>
<ul>
<li><a href="sane-xsane-color-correction-doc.html#GAMMA">Gamma correction</a></li>
@@ -115,6 +118,7 @@
<li><a href="sane-xsane-setup-filetype-doc.html">Filetype setup</a></li>
<li><a href="sane-xsane-setup-email-doc.html">E-mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</td>
diff --git a/doc/xsane-cms-function.jpg b/doc/xsane-cms-function.jpg
new file mode 100644
index 0000000..82fac05
--- /dev/null
+++ b/doc/xsane-cms-function.jpg
Binary files differ
diff --git a/doc/xsane-color-management-main-window.jpg b/doc/xsane-color-management-main-window.jpg
new file mode 100644
index 0000000..8decc7c
--- /dev/null
+++ b/doc/xsane-color-management-main-window.jpg
Binary files differ
diff --git a/doc/xsane-enable-color-management.jpg b/doc/xsane-enable-color-management.jpg
new file mode 100644
index 0000000..cebd521
--- /dev/null
+++ b/doc/xsane-enable-color-management.jpg
Binary files differ
diff --git a/doc/xsane-setup-color-management.jpg b/doc/xsane-setup-color-management.jpg
new file mode 100644
index 0000000..01757a9
--- /dev/null
+++ b/doc/xsane-setup-color-management.jpg
Binary files differ
diff --git a/doc/xsane-setup-copy.jpg b/doc/xsane-setup-copy.jpg
index c097868..28e551a 100644
--- a/doc/xsane-setup-copy.jpg
+++ b/doc/xsane-setup-copy.jpg
Binary files differ
diff --git a/doc/xsane-setup-display.jpg b/doc/xsane-setup-display.jpg
index ae372f6..cc0199f 100644
--- a/doc/xsane-setup-display.jpg
+++ b/doc/xsane-setup-display.jpg
Binary files differ
diff --git a/doc/xsane-setup-email.jpg b/doc/xsane-setup-email.jpg
index dbc876f..1a5515b 100644
--- a/doc/xsane-setup-email.jpg
+++ b/doc/xsane-setup-email.jpg
Binary files differ
diff --git a/doc/xsane-setup-enhancement.jpg b/doc/xsane-setup-enhancement.jpg
index ade9c2f..5819b49 100644
--- a/doc/xsane-setup-enhancement.jpg
+++ b/doc/xsane-setup-enhancement.jpg
Binary files differ
diff --git a/doc/xsane-setup-fax.jpg b/doc/xsane-setup-fax.jpg
index 984f629..ea2dfa5 100644
--- a/doc/xsane-setup-fax.jpg
+++ b/doc/xsane-setup-fax.jpg
Binary files differ
diff --git a/doc/xsane-setup-filetype.jpg b/doc/xsane-setup-filetype.jpg
index c5bf70e..cdc8de6 100644
--- a/doc/xsane-setup-filetype.jpg
+++ b/doc/xsane-setup-filetype.jpg
Binary files differ
diff --git a/doc/xsane-setup-ocr.jpg b/doc/xsane-setup-ocr.jpg
index df64bcc..ff20752 100644
--- a/doc/xsane-setup-ocr.jpg
+++ b/doc/xsane-setup-ocr.jpg
Binary files differ
diff --git a/doc/xsane-setup-save.jpg b/doc/xsane-setup-save.jpg
index a9dcf4b..69470c6 100644
--- a/doc/xsane-setup-save.jpg
+++ b/doc/xsane-setup-save.jpg
Binary files differ
diff --git a/include/config.h b/include/config.h
index 43f2485..a5f9313 100644
--- a/include/config.h
+++ b/include/config.h
@@ -99,10 +99,10 @@
#define PACKAGE "xsane"
/* Define to the version of the distribution. */
-#define VERSION "0.991"
+#define VERSION "0.993"
/* The concatenation of the strings PACKAGE, "-", and VERSION. */
-#define XSANE_PACKAGE_VERSION "xsane-0.991"
+#define XSANE_PACKAGE_VERSION "xsane-0.993"
/* Define if you have the __argz_count function. */
#define HAVE___ARGZ_COUNT 1
@@ -274,10 +274,10 @@
#define HAVE_ANY_GIMP 1
/* Define if you have GIMP-2.0 installed. */
-/* #undef HAVE_GIMP_2 */
+#define HAVE_GIMP_2 1
/* Define if you have the GIMPfeatures header file. */
-#define HAVE_LIBGIMP_GIMPFEATURES_H 1
+/* #undef HAVE_LIBGIMP_GIMPFEATURES_H */
/* Define if you have libjpeg. */
#define HAVE_LIBJPEG 1
@@ -291,6 +291,9 @@
/* Define if you have libtiff. */
#define HAVE_LIBTIFF 1
+/* Define if you have liblcms. */
+#define HAVE_LIBLCMS 1
+
#ifndef HAVE_STRNCASECMP
/* OS/2 needs this */
# define strncasecmp(a, b, c) strnicmp(a, b, c)
diff --git a/include/config.h.in b/include/config.h.in
index e056158..ecc9637 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -290,6 +290,9 @@
/* Define if you have libtiff. */
#undef HAVE_LIBTIFF
+/* Define if you have liblcms. */
+#undef HAVE_LIBLCMS
+
#ifndef HAVE_STRNCASECMP
/* OS/2 needs this */
# define strncasecmp(a, b, c) strnicmp(a, b, c)
diff --git a/intl/po2tbl.sed b/intl/po2tbl.sed
index e69de29..93c0435 100644
--- a/intl/po2tbl.sed
+++ b/intl/po2tbl.sed
@@ -0,0 +1,60 @@
+1 {
+ i\
+/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\
+\
+#if HAVE_CONFIG_H\
+# include <config.h>\
+#endif\
+\
+#include "libgettext.h"\
+\
+const struct _msg_ent _msg_tbl[] = {
+ h
+ s/.*/0/
+ x
+}
+/^msgid/ {
+ s/msgid[ ]*\(".*"\)/ {\1/
+ tb
+ :b
+ N
+ s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/
+ ta
+ s/\(.*\)\n.*/\1/
+ bc
+ :a
+ s/\(.*\)\(\n.*\)/\1\\\2/
+ P
+ s/.*\n\(.*\)/\1/
+ tb
+ :c
+ x
+ td
+ :d
+ s/9\(_*\)$/_\1/
+ td
+ s/^\(_*\)$/0\1/
+ s/8\(_*\)$/9\1/
+ s/7\(_*\)$/8\1/
+ s/6\(_*\)$/7\1/
+ s/5\(_*\)$/6\1/
+ s/4\(_*\)$/5\1/
+ s/3\(_*\)$/4\1/
+ s/2\(_*\)$/3\1/
+ s/1\(_*\)$/2\1/
+ s/0\(_*\)$/1\1/
+ s/_/0/g
+ x
+ G
+ s/\(.*\)\n\([0-9]*\)/\1, \2},/
+ s/\(.*\)"$/\1/
+ p
+}
+$ {
+ i\
+};\
+
+ g
+ s/0*\(.*\)/int _msg_tbl_length = \1;/p
+}
+d
diff --git a/intl/po2tbl.sed.in b/intl/po2tbl.sed.in
new file mode 100644
index 0000000..b3bcca4
--- /dev/null
+++ b/intl/po2tbl.sed.in
@@ -0,0 +1,102 @@
+# po2tbl.sed - Convert Uniforum style .po file to lookup table for catgets
+# Copyright (C) 1995 Free Software Foundation, Inc.
+# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+1 {
+ i\
+/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\
+\
+#if HAVE_CONFIG_H\
+# include <config.h>\
+#endif\
+\
+#include "libgettext.h"\
+\
+const struct _msg_ent _msg_tbl[] = {
+ h
+ s/.*/0/
+ x
+}
+#
+# Write msgid entries in C array form.
+#
+/^msgid/ {
+ s/msgid[ ]*\(".*"\)/ {\1/
+ tb
+# Append the next line
+ :b
+ N
+# Look whether second part is continuation line.
+ s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/
+# Yes, then branch.
+ ta
+# Because we assume that the input file correctly formed the line
+# just read cannot be again be a msgid line. So it's safe to ignore
+# it.
+ s/\(.*\)\n.*/\1/
+ bc
+# We found a continuation line. But before printing insert '\'.
+ :a
+ s/\(.*\)\(\n.*\)/\1\\\2/
+ P
+# We cannot use D here.
+ s/.*\n\(.*\)/\1/
+# Some buggy seds do not clear the `successful substitution since last ``t'''
+# flag on `N', so we do a `t' here to clear it.
+ tb
+# Not reached
+ :c
+ x
+# The following nice solution is by
+# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
+ td
+# Increment a decimal number in pattern space.
+# First hide trailing `9' digits.
+ :d
+ s/9\(_*\)$/_\1/
+ td
+# Assure at least one digit is available.
+ s/^\(_*\)$/0\1/
+# Increment the last digit.
+ s/8\(_*\)$/9\1/
+ s/7\(_*\)$/8\1/
+ s/6\(_*\)$/7\1/
+ s/5\(_*\)$/6\1/
+ s/4\(_*\)$/5\1/
+ s/3\(_*\)$/4\1/
+ s/2\(_*\)$/3\1/
+ s/1\(_*\)$/2\1/
+ s/0\(_*\)$/1\1/
+# Convert the hidden `9' digits to `0's.
+ s/_/0/g
+ x
+ G
+ s/\(.*\)\n\([0-9]*\)/\1, \2},/
+ s/\(.*\)"$/\1/
+ p
+}
+#
+# Last line.
+#
+$ {
+ i\
+};\
+
+ g
+ s/0*\(.*\)/int _msg_tbl_length = \1;/p
+}
+d
diff --git a/po/ca.gmo b/po/ca.gmo
new file mode 100644
index 0000000..e52c693
--- /dev/null
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
new file mode 100644
index 0000000..d01ac9a
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,3352 @@
+# Catalan translation for XSane.
+# Copyright (C) 2006 Free Software Foundation, Inc.
+# RaĆ¼l Cambeiro <raulcambeiro@ambtu.bcn.es>, 2006, XSane 0.991
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: XSane 0.991\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"PO-Revision-Date: 2006-03-02 03:35+0100\n"
+"Last-Translator: RaĆ¼l Cambeiro <raulcambeiro@ambtu.bcn.es>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Please translate this to the correct directory name (eg. german=>de)
+#. XSANE_LANGUAGE_DIR
+msgid "language_dir"
+msgstr "ca"
+
+#. XSANE_COPYRIGHT_SIGN
+msgid "(c)"
+msgstr "Ā©"
+
+#. can be translated with \251
+#. FILENAME_PREFIX_CLONE_OF
+msgid "clone-of-"
+msgstr "clon-de-"
+
+#. WINDOW_ABOUT_XSANE
+msgid "About"
+msgstr "Quant a"
+
+#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
+msgid "About translation"
+msgstr "Quant a la traducciĆ³"
+
+#. WINDOW_AUTHORIZE
+msgid "authorization"
+msgstr "AutoritzaciĆ³"
+
+#. WINDOW_GPL
+msgid "GPL - the license"
+msgstr "LlicĆØncia GPL"
+
+#. WINDOW_EULA
+msgid "End User License Agreement"
+msgstr "Contracte de llicĆØncia per a l'usuari final"
+
+#. WINDOW_INFO
+msgid "info"
+msgstr "InformaciĆ³"
+
+#. WINDOW_LOAD_BATCH_LIST
+msgid "load batch list"
+msgstr "Carrega un lot d'escaneig"
+
+#. WINDOW_SAVE_BATCH_LIST
+msgid "save batch list"
+msgstr "Desa el lot d'escaneig"
+
+#. WINDOW_BATCH_SCAN
+msgid "batch scan"
+msgstr "Escaneig per lots"
+
+#. WINDOW_BATCH_RENAME
+msgid "rename batch area"
+msgstr "Reanomena l'element del lot"
+
+#. WINDOW_FAX_PROJECT
+msgid "fax project"
+msgstr "Projecte de fax"
+
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "IntroduĆÆu el nom del projecte de fax"
+
+#. WINDOW_FAX_RENAME
+msgid "rename fax page"
+msgstr "Reanomena la pĆ gina de fax"
+
+#. WINDOW_FAX_INSERT
+msgid "insert ps-file into fax"
+msgstr "Inseriu un fitxer PS al fax"
+
+#. WINDOW_EMAIL_PROJECT
+msgid "E-mail project"
+msgstr "Projecte de correu electrĆ²nic"
+
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "IntroduĆÆu el nom del projecte de correu electrĆ²nic"
+
+#. WINDOW_EMAIL_RENAME
+msgid "rename e-mail image"
+msgstr "Reanomena la imatge del correu"
+
+#. WINDOW_EMAIL_INSERT
+msgid "insert file into e-mail"
+msgstr "Inseriu un fitxer al correu"
+
+#. WINDOW_MULTIPAGE_PROJECT
+msgid "multipage project"
+msgstr "Projecte multipĆ gina"
+
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Projecte multipĆ gina"
+
+#. WINDOW_PRESET_AREA_RENAME
+msgid "rename preset area"
+msgstr "Reanomena l'Ć rea prefixada"
+
+#. WINDOW_PRESET_AREA_ADD
+msgid "add preset area"
+msgstr "Afegeix una Ć rea prefixada"
+
+#. WINDOW_MEDIUM_RENAME
+msgid "rename medium"
+msgstr "Reanomena el mitjĆ "
+
+#. WINDOW_MEDIUM_ADD
+msgid "add new medium"
+msgstr "Afegeix un nou mitjĆ "
+
+#. WINDOW_SETUP
+msgid "setup"
+msgstr "ConfiguraciĆ³"
+
+#. WINDOW_HISTOGRAM
+msgid "Histogram"
+msgstr "Histograma"
+
+#. WINDOW_GAMMA
+msgid "Gamma curve"
+msgstr "Corba gamma"
+
+#. WINDOW_STANDARD_OPTIONS
+msgid "Standard options"
+msgstr "Opcions bĆ siques"
+
+#. WINDOW_ADVANCED_OPTIONS
+msgid "Advanced options"
+msgstr "Opcions avanƧades"
+
+#. WINDOW_DEVICE_SELECTION
+msgid "device selection"
+msgstr "SelecciĆ³ de dispositiu"
+
+#. WINDOW_PREVIEW
+msgid "Preview"
+msgstr "PrevisualitzaciĆ³"
+
+#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
+msgid "Viewer"
+msgstr "Visualitzador"
+
+#. WINDOW_VIEWER_OUTPUT_FILENAME
+msgid "Viewer: select output filename"
+msgstr "Visualitzador: Seleccioneu el nom del fitxer de sortida"
+
+#. WINDOW_OCR_OUTPUT_FILENAME
+msgid "Select output filename for OCR text file"
+msgstr "Seleccioneu el nom del fitxer de text OCR"
+
+#. WINDOW_OUTPUT_FILENAME
+msgid "select output filename"
+msgstr "Seleccioneu el nom del fitxer de sortida"
+
+#. WINDOW_SAVE_SETTINGS
+msgid "save device settings"
+msgstr "Desa la configuraciĆ³ del dispositiu"
+
+#. WINDOW_LOAD_SETTINGS
+msgid "load device settings"
+msgstr "Carrega la configuraciĆ³ del dispositiu"
+
+#. WINDOW_CHANGE_WORKING_DIR
+msgid "change working directory"
+msgstr "Canvia el directori de treball"
+
+#. WINDOW_TMP_PATH
+msgid "select temporary directory"
+msgstr "Selecciona el directori temporal"
+
+#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
+msgid "Scale image"
+msgstr "Escala la imatge"
+
+#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
+msgid "Despeckle image"
+msgstr "Elimina els esquitxos de la imatge"
+
+#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
+msgid "Blur image"
+msgstr "Difumina la imatge"
+
+#. WINDOW_STORE_MEDIUM
+msgid "Store medium definition"
+msgstr "Emmagatzema la definiciĆ³ del mitjĆ "
+
+#. WINDOW_NO_DEVICES
+msgid "No devices available"
+msgstr "No hi ha dispositius disponibles"
+
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Elimina la impressora"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Elimina la impressora"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "Seleccioneu el nom del fitxer de sortida"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Elimina la impressora"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Elimina la impressora"
+
+#. MENU_FILE
+msgid "File"
+msgstr "Fitxer"
+
+#. MENU_PREFERENCES
+msgid "Preferences"
+msgstr "PreferĆØncies"
+
+#. MENU_VIEW
+msgid "View"
+msgstr "Visualitza"
+
+#. MENU_WINDOW
+msgid "Window"
+msgstr "Finestra"
+
+#. MENU_HELP
+#. BUTTON_HELP
+msgid "Help"
+msgstr "Ajuda"
+
+#. MENU_EDIT
+msgid "Edit"
+msgstr "Edita"
+
+#. MENU_FILTERS
+msgid "Filters"
+msgstr "Filtres"
+
+#. MENU_GEOMETRY
+msgid "Geometry"
+msgstr "Geometria"
+
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
+#. MENU_ITEM_ABOUT_XSANE
+msgid "About XSane"
+msgstr "Quant a l'XSane"
+
+#. MENU_ITEM_INFO
+msgid "Info"
+msgstr "InformaciĆ³"
+
+#. MENU_ITEM_QUIT
+msgid "Quit"
+msgstr "Surt"
+
+#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
+msgid "Save image"
+msgstr "Desa la imatge"
+
+#. MENU_ITEM_OCR
+msgid "OCR - save as text"
+msgstr "OCR: Desa com a text"
+
+#. MENU_ITEM_CLONE
+msgid "Clone"
+msgstr "Clona"
+
+#. MENU_ITEM_SCALE
+msgid "Scale"
+msgstr "Escala"
+
+#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
+msgid "Close"
+msgstr "Tanca"
+
+#. MENU_ITEM_UNDO
+msgid "Undo"
+msgstr "DesfƩs"
+
+#. MENU_ITEM_DESPECKLE
+msgid "Despeckle"
+msgstr "Elimina els esquitxos"
+
+#. MENU_ITEM_BLUR
+msgid "Blur"
+msgstr "Difumina"
+
+#. MENU_ITEM_ROTATE90
+msgid "Rotate 90"
+msgstr "Rota 90Āŗ"
+
+#. MENU_ITEM_ROTATE180
+msgid "Rotate 180"
+msgstr "Rota 180Āŗ"
+
+#. MENU_ITEM_ROTATE270
+msgid "Rotate 270"
+msgstr "Rota 270Āŗ"
+
+#. MENU_ITEM_MIRROR_X
+msgid "Mirror |"
+msgstr "Mirall |"
+
+#. MENU_ITEM_MIRROR_Y
+msgid "Mirror -"
+msgstr "Mirall -"
+
+#. FRAME_RAW_IMAGE
+msgid "Raw image"
+msgstr "Imatge en cru"
+
+#. FRAME_ENHANCED_IMAGE
+msgid "Enhanced image"
+msgstr "Imatge millorada"
+
+#. BUTTON_SCAN
+msgid "Scan"
+msgstr "Escaneja"
+
+#. BUTTON_OK
+msgid "Ok"
+msgstr "D'acord"
+
+#. BUTTON_ACCEPT
+msgid "Accept"
+msgstr "Accepta"
+
+#. BUTTON_NOT_ACCEPT
+msgid "Not accept"
+msgstr "No acceptis"
+
+#. BUTTON_APPLY
+msgid "Apply"
+msgstr "Aplica"
+
+#. BUTTON_CANCEL
+msgid "Cancel"
+msgstr "CancelĀ·la"
+
+#. BUTTON_REDUCE
+msgid "Reduce"
+msgstr "Redueix"
+
+#. BUTTON_CONT_AT_OWN_RISK
+msgid "Continue at your own risk"
+msgstr "Continueu al vostre risc"
+
+#. BUTTON_BROWSE
+msgid "Browse"
+msgstr "Navega"
+
+#. BUTTON_OVERWRITE
+msgid "Overwrite"
+msgstr "Sobreescriu"
+
+#. BUTTON_BATCH_LIST_SCAN
+msgid "Scan batch list"
+msgstr "Escaneja el lot d'escaneig"
+
+#. BUTTON_BATCH_AREA_SCAN
+msgid "Scan selected area"
+msgstr "Escaneja l'Ć rea seleccionada"
+
+#. BUTTON_PAGE_DELETE
+msgid "Delete page"
+msgstr "Elimina la pĆ gina"
+
+#. BUTTON_PAGE_SHOW
+msgid "Show page"
+msgstr "Mostra la pĆ gina"
+
+#. BUTTON_PAGE_RENAME
+msgid "Rename page"
+msgstr "Reanomena la pĆ gina"
+
+#. BUTTON_IMAGE_DELETE
+msgid "Delete image"
+msgstr "Elimina la imatge"
+
+#. BUTTON_IMAGE_SHOW
+msgid "Show image"
+msgstr "Mostra la imatge"
+
+#. BUTTON_IMAGE_EDIT
+msgid "Edit image"
+msgstr "Edita la imatge"
+
+#. BUTTON_IMAGE_RENAME
+msgid "Rename image"
+msgstr "Reanomena la imatge"
+
+#. BUTTON_FILE_INSERT
+msgid "Insert file"
+msgstr "Insereix un fitxer"
+
+#. BUTTON_CREATE_PROJECT
+msgid "Create project"
+msgstr "Crea un projecte"
+
+#. BUTTON_SEND_PROJECT
+msgid "Send project"
+msgstr "Envia el projecte"
+
+#. BUTTON_SAVE_MULTIPAGE
+msgid "Save multipage file"
+msgstr "Desa el fitxer multipĆ gina"
+
+#. BUTTON_DELETE_PROJECT
+msgid "Delete project"
+msgstr "Elimina el projecte"
+
+#. BUTTON_ADD_PRINTER
+msgid "Add printer"
+msgstr "Afegeix una impressora"
+
+#. BUTTON_DELETE_PRINTER
+msgid "Delete printer"
+msgstr "Elimina la impressora"
+
+#. BUTTON_PREVIEW_ACQUIRE
+msgid "Acquire preview"
+msgstr "Adquireix una previsualitzaciĆ³"
+
+#. BUTTON_PREVIEW_CANCEL
+msgid "Cancel preview"
+msgstr "CancelĀ·la la previsualitzaciĆ³"
+
+#. BUTTON_DISCARD_IMAGE
+msgid "Discard image"
+msgstr "Descarta la imatge"
+
+#. BUTTON_DISCARD_ALL_IMAGES
+msgid "Discard all images"
+msgstr "Descarta totes les imatges"
+
+#. BUTTON_DO_NOT_CLOSE
+msgid "Do not close"
+msgstr "No tanquis"
+
+#. BUTTON_SCALE_BIND
+msgid "Bind scale"
+msgstr "Fixa l'escala"
+
+#. RADIO_BUTTON_FINE_MODE
+msgid "Fine mode"
+msgstr "Mode detallat"
+
+#. RADIO_BUTTON_HTML_EMAIL
+msgid "HTML e-mail"
+msgstr "Correu HTML"
+
+#. RADIO_BUTTON_SAVE_DEVPREFS_AT_EXIT
+msgid "Save device preferences at exit"
+msgstr "Desa la configuraciĆ³ del dispositiu en sortir"
+
+#. RADIO_BUTTON_OVERWRITE_WARNING
+msgid "Overwrite warning"
+msgstr "Avisa en sobreescriure"
+
+#. RADIO_BUTTON_SKIP_EXISTING_NRS
+msgid "Skip existing filenames"
+msgstr "Omet els noms de fitxer existents"
+
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
+msgid "Save postscript zlib compressed (ps level 3)"
+msgstr "Desa en PostScript comprimit amb zlib (PS nivell 3)"
+
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
+msgid "Save PDF zlib compressed"
+msgstr "Desa en PDF comprimit amb zlib"
+
+#. RADIO_BUTTON_SAVE_PNM16_AS_ASCII
+msgid "Save 16bit pnm in ascii format"
+msgstr "Desa en format ASCII els PNM de 16 bits"
+
+#. RADIO_BUTTON_REDUCE_16BIT_TO_8BIT
+msgid "Reduce 16 bit image to 8 bit"
+msgstr "Redueix les imatges de 16 bits a 8 bits"
+
+#. RADIO_BUTTON_WINDOW_FIXED
+msgid "Main window size fixed"
+msgstr "Finestra principal de mida fixa"
+
+#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
+#, fuzzy
+msgid "Disable GIMP preview gamma"
+msgstr "Inhabilita la previsualitzaciĆ³ de gamma d'El Gimp"
+
+#. RADIO_BUTTON_PRIVATE_COLORMAP
+msgid "Use private colormap"
+msgstr "Usa un mapa de colors personal"
+
+#. RADIO_BUTTON_AUTOENHANCE_GAMMA
+msgid "Autoenhance gamma"
+msgstr "Millora la gamma automĆ ticament"
+
+#. RADIO_BUTTON_PRESELECT_SCANAREA
+msgid "Preselect scanarea"
+msgstr "Preselecciona l'Ć rea d'escaneig"
+
+#. RADIO_BUTTON_AUTOCORRECT_COLORS
+msgid "Autocorrect colors"
+msgstr "Corregeix els colors automĆ ticament"
+
+#. RADIO_BUTTON_OCR_USE_GUI_PIPE
+msgid "Use GUI progress pipe"
+msgstr "Usa el conducte de progrƩs de la interfƭcie grƠfica"
+
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
+#. TEXT_SCANNING_DEVICES
+msgid "scanning for devices"
+msgstr "S'estan cercant els dispositius"
+
+#. TEXT_AVAILABLE_DEVICES
+msgid "Available devices:"
+msgstr "Dispositius disponibles:"
+
+#. TEXT_XSANE_OPTIONS
+msgid "XSane options"
+msgstr "Opcions de l'XSane"
+
+#. TEXT_FILETYPE
+msgid "Type"
+msgstr "Tipus"
+
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Tots els colors"
+
+#. TEXT_SCANNER_BACKEND
+msgid "Scanner and backend:"
+msgstr "EscĆ ner i controlador:"
+
+#. TEXT_VENDOR
+msgid "Vendor:"
+msgstr "ProveĆÆdor:"
+
+#. TEXT_MODEL
+msgid "Model:"
+msgstr "Model:"
+
+#. TEXT_TYPE
+msgid "Type:"
+msgstr "Tipus:"
+
+#. TEXT_DEVICE
+msgid "Device:"
+msgstr "Dispositiu:"
+
+#. TEXT_LOADED_BACKEND
+msgid "Loaded backend:"
+msgstr "Controlador carregat:"
+
+#. TEXT_SANE_VERSION
+msgid "Sane version:"
+msgstr "VersiĆ³ del Sane:"
+
+#. TEXT_RECENT_VALUES
+msgid "Recent values:"
+msgstr "Valors recents:"
+
+#. TEXT_GAMMA_CORR_BY
+msgid "Gamma correction by:"
+msgstr "CorrecciĆ³ de gamma per:"
+
+#. TEXT_SCANNER
+msgid "scanner"
+msgstr "EscĆ ner"
+
+#. TEXT_SOFTWARE_XSANE
+msgid "software (XSane)"
+msgstr "Programari (XSane)"
+
+#. TEXT_NONE
+msgid "none"
+msgstr "Cap"
+
+#. TEXT_GAMMA_INPUT_DEPTH
+msgid "Gamma input depth:"
+msgstr "Profunditat de la gamma d'entrada:"
+
+#. TEXT_GAMMA_OUTPUT_DEPTH
+msgid "Gamma output depth:"
+msgstr "Profunditat de la gamma de sortida:"
+
+#. TEXT_SCANNER_OUTPUT_DEPTH
+msgid "Scanner output depth:"
+msgstr "Profunditat de sortida de l'escĆ ner:"
+
+#. TEXT_OUTPUT_FORMATS
+msgid "XSane output formats:"
+msgstr "Formats de sortida de l'XSane:"
+
+#. TEXT_8BIT_FORMATS
+msgid "8 bit output formats:"
+msgstr "Formats de sortida de 8 bits:"
+
+#. TEXT_16BIT_FORMATS
+msgid "16 bit output formats:"
+msgstr "Formats de sortida de 16 bits:"
+
+#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
+msgid ""
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
+msgstr ""
+"La profunditat de 16 bits per color no Ć©s permesa per a aquest format de "
+"sortida.\n"
+"Voleu reduir la profunditat de color a 8 bits?"
+
+#. TEXT_AUTHORIZATION_REQ
+msgid "Authorization required for"
+msgstr "AutoritzaciĆ³ requerida per a"
+
+#. TEXT_AUTHORIZATION_SECURE
+msgid "Password transmission is secure"
+msgstr "La transmissiĆ³ de la contrasenya Ć©s segura"
+
+#. TEXT_AUTHORIZATION_INSECURE
+msgid "Backend requests plain-text password"
+msgstr "El controlador demana la contrasenya en text"
+
+#. TEXT_USERNAME
+msgid "Username :"
+msgstr "Nom d'usuari:"
+
+#. TEXT_PASSWORD
+msgid "Password :"
+msgstr "Contrasenya:"
+
+#. TEXT_INVALID_PARAMS
+msgid "Invalid parameters."
+msgstr "ParĆ metres invĆ lids."
+
+#. TEXT_VERSION
+msgid "version:"
+msgstr "VersiĆ³:"
+
+#. TEXT_PACKAGE
+msgid "package"
+msgstr "Paquet:"
+
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Tots els colors"
+
+#. TEXT_WITH_GIMP_SUPPORT
+msgid "with GIMP support"
+msgstr "Funciona amb El Gimp"
+
+#. TEXT_WITHOUT_GIMP_SUPPORT
+msgid "without GIMP support"
+msgstr "No funciona amb El Gimp"
+
+#. TEXT_GTK_VERSION
+msgid "compiled with GTK-"
+msgstr "Compilat amb GTK-"
+
+#. TEXT_GIMP_VERSION
+msgid "compiled with GIMP-"
+msgstr "compilat amb El Gimp-"
+
+#. TEXT_UNKNOWN
+msgid "unknown"
+msgstr "desconegut"
+
+#. TEXT_EULA
+msgid ""
+"XSane is distributed under the terms of the GNU General Public License\n"
+"as published by the Free Software Foundation; either version 2 of the\n"
+"License, or (at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but\n"
+"WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+"Should the program prove defective, you assume the cost of all\n"
+"necessary servicing, repair or correction. To use this program you\n"
+"have to read, understand and accept the following\n"
+"\"NO WARRANTY\" agreement.\n"
+msgstr ""
+"L'XSane es distribueix sota els termes de la LlicĆØncia PĆŗblica General de "
+"GNU\n"
+"tal com l'ha publicada la Free Software Foundation, ja sigui la versiĆ³ 2\n"
+"de la LlicĆØncia o, si ho preferiu, qualsevol versiĆ³ posterior.\n"
+"\n"
+"Aquest programa es distribueix amb l'esperanƧa que serĆ  Ćŗtil, perĆ²\n"
+"SENSE CAP GARANTIA, ni tan sols les garanties implĆ­cites de\n"
+"COMERCIABILITAT o d'ADEQUACIƓ A UN PROPƒSIT PARTICULAR.\n"
+"Si el programa tinguƩs algun error, assumireu el cost de totes les "
+"revisions,\n"
+"reparacions o correccions necessĆ ries. Per a usar aquest programa,\n"
+"heu de llegir, entendre i acceptar el segĆ¼ent acord de \"NO GARANTIA\".\n"
+
+#. TEXT_GPL
+msgid ""
+"XSane is distributed under the terms of the GNU General Public License\n"
+"as published by the Free Software Foundation; either version 2 of the\n"
+"License, or (at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but\n"
+"WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+"L'XSane es distribueix sota els termes de la LlicĆØncia PĆŗblica General de "
+"GNU\n"
+"tal com l'ha publicada la Free Software Foundation, ja sigui la versiĆ³ 2\n"
+"de la LlicĆØncia o, si ho preferiu, qualsevol versiĆ³ posterior.\n"
+"\n"
+"Aquest programa es distribueix amb l'esperanƧa que serĆ  Ćŗtil, perĆ²\n"
+"SENSE CAP GARANTIA, ni tan sols les garanties implĆ­cites\n"
+"de COMERCIABILITAT o d'ADEQUACIƓ A UN PROPƒSIT PARTICULAR.\n"
+
+#. TEXT_EMAIL_ADR
+msgid "E-mail:"
+msgstr "AdreƧa electrĆ²nica:"
+
+#. TEXT_HOMEPAGE
+msgid "Homepage:"
+msgstr "PĆ gina d'inici:"
+
+#. TEXT_FILE
+msgid "File:"
+msgstr "Fitxer:"
+
+#. TEXT_TRANSLATION
+msgid "Translation:"
+msgstr "TraducciĆ³:"
+
+#. Please translate this to something like
+#. translation to YOUR LANGUAGE\n
+#. by YOUR NAME\n
+#. E-mail: your.name@yourdomain.com\n
+#. TEXT_TRANSLATION_INFO
+msgid ""
+"untranslated original english text\n"
+"by Oliver Rauch\n"
+"E-mail: Oliver.Rauch@rauch-domain.de\n"
+msgstr ""
+"TraducciĆ³ al catalĆ \n"
+"de RaĆ¼l Cambeiro\n"
+"raulcambeiro@ambtu.bcn.es\n"
+
+#. TEXT_INFO_BOX
+msgid "0x0: 0KB"
+msgstr "0x0: 0 KB"
+
+#. TEXT_ADF_PAGES_SCANNED
+msgid "Scanned pages: "
+msgstr "PĆ gines escanejades:"
+
+#. TEXT_EMAIL_TEXT
+msgid "E-mail text:"
+msgstr "Text del missatge:"
+
+#. TEXT_ATTACHMENTS
+msgid "Attachments:"
+msgstr "Adjuncions:"
+
+#. TEXT_EMAIL_STATUS
+msgid "Project status:"
+msgstr "Estat del projecte:"
+
+#. TEXT_EMAIL_FILETYPE
+msgid "E-mail image filetype:"
+msgstr "Tipus de fitxer de la imatge de correu electrĆ²nic:"
+
+#. TEXT_PAGES
+msgid "Pages:"
+msgstr "PĆ gines:"
+
+#. TEXT_MULTIPAGE_FILETYPE
+msgid "Multipage document filetype:"
+msgstr "Tipus de fitxer del document multipĆ gina:"
+
+#. TEXT_MEDIUM_DEFINITION_NAME
+msgid "Medium Name:"
+msgstr "Nom del mitjĆ :"
+
+#. TEXT_VIEWER_IMAGE_INFO
+#, fuzzy, c-format
+msgid ""
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
+msgstr ""
+"Mida %d x %d pĆ­xels, %d bits/color, %d colors, %1.0f ppp x %1.0f ppp, %1.1f %"
+"s"
+
+#. TEXT_DESPECKLE_RADIUS
+msgid "Despeckle radius:"
+msgstr "Radi de l'eliminaciĆ³ d'esquitxos:"
+
+#. TEXT_BLUR_RADIUS
+msgid "Blur radius:"
+msgstr "Radi de difuminaciĆ³:"
+
+#. TEXT_BATCH_AREA_DEFAULT_NAME
+msgid "(no name)"
+msgstr "(sense nom)"
+
+#. TEXT_BATCH_LIST_AREANAME
+msgid "Area name:"
+msgstr "Nom de l'Ć rea:"
+
+#. TEXT_BATCH_LIST_SCANMODE
+msgid "Scanmode:"
+msgstr "Mode d'escaneig:"
+
+#. TEXT_BATCH_LIST_GEOMETRY_TL
+msgid "Top left:"
+msgstr "Superior esquerre:"
+
+#. TEXT_BATCH_LIST_GEOMETRY_SIZE
+msgid "Size:"
+msgstr "Mida:"
+
+#. TEXT_BATCH_LIST_RESOLUTION
+msgid "Resolution:"
+msgstr "ResoluciĆ³:"
+
+#. TEXT_BATCH_LIST_BIT_DEPTH
+msgid "Bit depth:"
+msgstr "Profunditat de color:"
+
+#. TEXT_BATCH_LIST_BY_GUI
+msgid "as selected"
+msgstr "com s'ha seleccionat"
+
+#. TEXT_SETUP_PRINTER_SEL
+msgid "Printer selection:"
+msgstr "SelecciĆ³ d'impressora:"
+
+#. TEXT_SETUP_PRINTER_NAME
+msgid "Name:"
+msgstr "Nom:"
+
+#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
+msgid "Command:"
+msgstr "Ordre:"
+
+#. TEXT_SETUP_COPY_NR_OPT
+msgid "Copy number option:"
+msgstr "OpciĆ³ del nombre de cĆ²pies:"
+
+#. TEXT_SETUP_PRINTER_LINEART_RES
+msgid "Lineart resolution (dpi):"
+msgstr "ResoluciĆ³ en mode lĆ­nia (ppp):"
+
+#. TEXT_SETUP_PRINTER_GRAYSCALE_RES
+msgid "Grayscale resolution (dpi):"
+msgstr "ResoluciĆ³ en escala de grisos (ppp):"
+
+#. TEXT_SETUP_PRINTER_COLOR_RES
+msgid "Color resolution (dpi):"
+msgstr "ResoluciĆ³ en color (ppp):"
+
+#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
+msgid "Width"
+msgstr "Amplada"
+
+#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
+msgid "Height"
+msgstr "AlƧƠria"
+
+#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
+msgid "Left offset"
+msgstr "Marge esquerre"
+
+#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
+msgid "Bottom offset"
+msgstr "Marge inferior"
+
+#. TEXT_SETUP_PRINTER_GAMMA
+msgid "Printer gamma value:"
+msgstr "Valor gamma de la impressora:"
+
+#. TEXT_SETUP_PRINTER_GAMMA_RED
+msgid "Printer gamma red:"
+msgstr "Gamma per al vermell de la impressora:"
+
+#. TEXT_SETUP_PRINTER_GAMMA_GREEN
+msgid "Printer gamma green:"
+msgstr "Gamma per al verd de la impressora:"
+
+#. TEXT_SETUP_PRINTER_GAMMA_BLUE
+msgid "Printer gamma blue:"
+msgstr "Gamma per al blau de la impressora:"
+
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Elimina la impressora"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Elimina la impressora"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image (ps level 3) for printing"
+msgstr ""
+"Crea una imatge PostScript comprimida amb zlib (PS nivell 3) per a imprimir"
+
+#. TEXT_SETUP_TMP_PATH
+msgid "Temporary directory"
+msgstr "Directori temporal"
+
+#. TEXT_SETUP_IMAGE_PERMISSION
+msgid "Image-file permissions"
+msgstr "Permisos del fitxer d'imatge"
+
+#. TEXT_SETUP_DIR_PERMISSION
+msgid "Directory permissions"
+msgstr "Permisos del directori"
+
+#. TEXT_SETUP_JPEG_QUALITY
+msgid "JPEG image quality"
+msgstr "Qualitat d'imatge JPEG"
+
+#. TEXT_SETUP_PNG_COMPRESSION
+msgid "PNG image compression"
+msgstr "CompressiĆ³ d'imatge PNG"
+
+#. TEXT_SETUP_FILENAME_COUNTER_LEN
+msgid "Filename counter length"
+msgstr "Llargada del comptador per a noms de fitxer consecutius"
+
+#. TEXT_SETUP_TIFF_ZIP_COMPRESSION
+msgid "TIFF zip compression rate"
+msgstr "Taxa de compressiĆ³ zip per als TIFF"
+
+#. TEXT_SETUP_TIFF_COMPRESSION_16
+msgid "TIFF 16 bit image compression"
+msgstr "CompressiĆ³ de les imatges TIFF de 16 bits"
+
+#. TEXT_SETUP_TIFF_COMPRESSION_8
+msgid "TIFF 8 bit image compression"
+msgstr "CompressiĆ³ de les imatges TIFF de 8 bits"
+
+#. TEXT_SETUP_TIFF_COMPRESSION_1
+msgid "TIFF lineart image compression"
+msgstr "CompressiĆ³ de les imatges TIFF en mode linia (binari)"
+
+#. TEXT_SETUP_SHOW_RANGE_MODE
+msgid "Show range as:"
+msgstr "Presenta els intervals amb:"
+
+#. TEXT_SETUP_PREVIEW_OVERSAMPLING
+msgid "Preview oversampling:"
+msgstr "Sobremostreig de la previsualitzaciĆ³:"
+
+#. TEXT_SETUP_PREVIEW_GAMMA
+msgid "Preview gamma:"
+msgstr "Gamma de la previsualitzaciĆ³:"
+
+#. TEXT_SETUP_PREVIEW_GAMMA_RED
+msgid "Preview gamma red:"
+msgstr "Gamma del vermell de la previsualitzaciĆ³:"
+
+#. TEXT_SETUP_PREVIEW_GAMMA_GREEN
+msgid "Preview gamma green:"
+msgstr "Gamma del verd de la previsualitzaciĆ³:"
+
+#. TEXT_SETUP_PREVIEW_GAMMA_BLUE
+msgid "Preview gamma blue:"
+msgstr "Gamma del blau de la previsualitzaciĆ³:"
+
+#. TEXT_SETUP_LINEART_MODE
+msgid "Threshold option:"
+msgstr "OpciĆ³ de llindar:"
+
+#. TEXT_SETUP_PREVIEW_PIPETTE_RANGE
+msgid "Preview pipette range"
+msgstr "Marge de la pipeta de la previsualitzaciĆ³"
+
+#. TEXT_SETUP_THRESHOLD_MIN
+msgid "Threshold minimum:"
+msgstr "Llindar inferior:"
+
+#. TEXT_SETUP_THRESHOLD_MAX
+msgid "Threshold maximum:"
+msgstr "Llindar superior:"
+
+#. TEXT_SETUP_THRESHOLD_MUL
+msgid "Threshold multiplier:"
+msgstr "Multiplicador del llindar:"
+
+#. TEXT_SETUP_THRESHOLD_OFF
+msgid "Threshold offset:"
+msgstr "DesplaƧament del llindar:"
+
+#. TEXT_SETUP_GRAYSCALE_SCANMODE
+msgid "Name of grayscale scanmode:"
+msgstr "Nom del mode d'escaneig en escala de grisos:"
+
+#. TEXT_SETUP_HELPFILE_VIEWER
+msgid "Helpfile viewer (HTML):"
+msgstr "Visualitzador de l'ajuda (HTML):"
+
+#. TEXT_SETUP_FAX_RECEIVER_OPTION
+msgid "Receiver option:"
+msgstr "OpciĆ³ per al receptor:"
+
+#. TEXT_SETUP_FAX_POSTSCRIPT_OPT
+msgid "Postscriptfile option:"
+msgstr "OpciĆ³ per a fitxers PostScript:"
+
+#. TEXT_SETUP_FAX_NORMAL_MODE_OPT
+msgid "Normal mode option:"
+msgstr "OpciĆ³ per al mode normal:"
+
+#. TEXT_SETUP_FAX_FINE_MODE_OPT
+msgid "Fine mode option:"
+msgstr "OpciĆ³ per al mode detallat:"
+
+#. TEXT_SETUP_FAX_PROGRAM_DEFAULTS
+msgid "Set program defaults for:"
+msgstr "Estableix els valors per defecte per a:"
+
+#. TEXT_SETUP_FAX_VIEWER
+msgid "Viewer (Postscript):"
+msgstr "Visualitzador (PostScript)"
+
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image (ps level 3) for fax"
+msgstr ""
+"Crea una imatge PostScript comprimida amb zlib (PS nivell 3) per als faxos"
+
+#. TEXT_SETUP_SMTP_SERVER
+msgid "SMTP server:"
+msgstr "Servidor SMTP:"
+
+#. TEXT_SETUP_SMTP_PORT
+msgid "SMTP port:"
+msgstr "Port SMTP:"
+
+#. TEXT_SETUP_EMAIL_FROM
+msgid "From:"
+msgstr "De:"
+
+#. TEXT_SETUP_EMAIL_REPLY_TO
+msgid "Reply to:"
+msgstr "Respon a:"
+
+#. TEXT_SETUP_EMAIL_AUTHENTICATION
+msgid "E-mail authentication"
+msgstr "AutenticaciĆ³ de correu"
+
+#. TEXT_SETUP_EMAIL_AUTH_USER
+msgid "User:"
+msgstr "Usuari:"
+
+#. TEXT_SETUP_EMAIL_AUTH_PASS
+msgid "Password:"
+msgstr "Contrasenya:"
+
+#. TEXT_SETUP_POP3_SERVER
+msgid "POP3 server:"
+msgstr "Servidor POP3:"
+
+#. TEXT_SETUP_POP3_PORT
+msgid "POP3 port:"
+msgstr "Port POP3:"
+
+#. TEXT_SETUP_OCR_COMMAND
+msgid "OCR Command:"
+msgstr "Ordre OCR:"
+
+#. TEXT_SETUP_OCR_INPUTFILE_OPT
+msgid "Inputfile option:"
+msgstr "OpciĆ³ per al fitxer d'entrada:"
+
+#. TEXT_SETUP_OCR_OUTPUTFILE_OPT
+msgid "Outputfile option:"
+msgstr "OpciĆ³ per al fitxer de sortida:"
+
+#. TEXT_SETUP_OCR_USE_GUI_PIPE_OPT
+msgid "Use GUI progress pipe:"
+msgstr "Usa el conducte de progrƩs de la interfƭcie grƠfica:"
+
+#. TEXT_SETUP_OCR_OUTFD_OPT
+msgid "GUI output-fd option:"
+msgstr "OpciĆ³ per al descriptor de fitxer de sortida de la interfĆ­cie:"
+
+#. TEXT_SETUP_OCR_PROGRESS_KEYWORD
+msgid "Progress keyword:"
+msgstr "Paraula clau de progrƩs:"
+
+#. TEXT_SETUP_PERMISSION_USER
+msgid "user"
+msgstr "Usuari"
+
+#. TEXT_SETUP_PERMISSION_GROUP
+msgid "group"
+msgstr "Grup"
+
+#. TEXT_SETUP_PERMISSION_ALL
+msgid "all"
+msgstr "Tothom"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Elimina la impressora"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Elimina la impressora"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Elimina la impressora"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
+msgid "new media"
+msgstr "Nou suport"
+
+#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
+msgid "Save"
+msgstr "Desament"
+
+#. NOTEBOOK_FILETYPE_OPTIONS
+msgid "Filetype"
+msgstr "Tipus de fitxer"
+
+#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
+msgid "Copy"
+msgstr "CĆ²pia"
+
+#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
+msgid "Fax"
+msgstr "Fax"
+
+#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
+msgid "E-mail"
+msgstr "Correu electrĆ²nic"
+
+#. NOTEBOOK_OCR_OPTIONS
+msgid "OCR"
+msgstr "OCR"
+
+#. NOTEBOOK_DISPLAY_OPTIONS
+msgid "Display"
+msgstr "Pantalla"
+
+#. NOTEBOOK_ENHANCE_OPTIONS
+msgid "Enhancement"
+msgstr "RealƧament"
+
+#. MENU_ITEM_MULTIPAGE
+msgid "Multipage"
+msgstr "MultipĆ gina"
+
+#. MENU_ITEM_SHOW_TOOLTIPS
+msgid "Show tooltips"
+msgstr "Mostra els indicadors de funciĆ³"
+
+#. MENU_ITEM_SHOW_PREVIEW
+msgid "Show preview"
+msgstr "Mostra la previsualitzaciĆ³"
+
+#. MENU_ITEM_SHOW_HISTOGRAM
+msgid "Show histogram"
+msgstr "Mostra l'histograma"
+
+#. MENU_ITEM_SHOW_GAMMA
+msgid "Show gamma curve"
+msgstr "Mostra la corba gamma"
+
+#. MENU_ITEM_SHOW_BATCH_SCAN
+msgid "Show batch scan"
+msgstr "Mostra l'escaneig per lots"
+
+#. MENU_ITEM_SHOW_STANDARDOPTIONS
+msgid "Show standard options"
+msgstr "Mostra les opcions bĆ siques"
+
+#. MENU_ITEM_SHOW_ADVANCEDOPTIONS
+msgid "Show advanced options"
+msgstr "Mostra les opcions avanƧades"
+
+#. MENU_ITEM_SETUP
+msgid "Setup"
+msgstr "ConfiguraciĆ³"
+
+#. MENU_ITEM_LENGTH_UNIT
+msgid "Length unit"
+msgstr "Unitats de longitud"
+
+#. SUBMENU_ITEM_LENGTH_MILLIMETERS
+msgid "millimeters"
+msgstr "MilĀ·lĆ­metres"
+
+#. SUBMENU_ITEM_LENGTH_CENTIMETERS
+msgid "centimeters"
+msgstr "CentĆ­metres"
+
+#. SUBMENU_ITEM_LENGTH_INCHES
+msgid "inches"
+msgstr "Polzades"
+
+#. MENU_ITEM_UPDATE_POLICY
+msgid "Update policy"
+msgstr "PolĆ­tica d'actualitzaciĆ³"
+
+#. SUBMENU_ITEM_POLICY_CONTINUOUS
+msgid "continuous"
+msgstr "ContĆ­nua"
+
+#. SUBMENU_ITEM_POLICY_DISCONTINU
+msgid "discontinuous"
+msgstr "DiscontĆ­nua"
+
+#. SUBMENU_ITEM_POLICY_DELAYED
+msgid "delayed"
+msgstr "Endarrerida"
+
+#. MENU_ITEM_SHOW_RESOLUTIONLIST
+msgid "Show resolution list"
+msgstr "Mostra la llista de resolucions"
+
+#. MENU_ITEM_PAGE_ROTATE
+msgid "Rotate postscript"
+msgstr "Rota el PostScript"
+
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Tots els colors"
+
+#. MENU_ITEM_EDIT_MEDIUM_DEF
+msgid "Edit medium definition"
+msgstr "Edita la definiciĆ³ del mitjĆ "
+
+#. MENU_ITEM_SAVE_DEVICE_SETTINGS
+msgid "Save device settings"
+msgstr "Desa la configuraciĆ³ del dispositiu"
+
+#. MENU_ITEM_LOAD_DEVICE_SETTINGS
+msgid "Load device settings"
+msgstr "Carrega una configuraciĆ³ de dispositiu"
+
+#. MENU_ITEM_CHANGE_WORKING_DIR
+msgid "Change directory"
+msgstr "Canvia el directori"
+
+#. MENU_ITEM_XSANE_EULA
+msgid "Show EULA"
+msgstr "Mostra l'acord de llicĆØncia"
+
+#. MENU_ITEM_XSANE_GPL
+msgid "Show license (GPL)"
+msgstr "Mostra la llicĆØncia (GPL)"
+
+#. MENU_ITEM_XSANE_DOC
+msgid "XSane doc"
+msgstr "DocumentaciĆ³ de l'XSane"
+
+#. MENU_ITEM_BACKEND_DOC
+msgid "Backend doc"
+msgstr "DocumentaciĆ³ del controlador"
+
+#. MENU_ITEM_AVAILABLE_BACKENDS
+msgid "Available backends"
+msgstr "Controladors disponibles"
+
+#. MENU_ITEM_SCANTIPS
+msgid "Scantips"
+msgstr "Consells per a escanejar"
+
+#. MENU_ITEM_PROBLEMS
+msgid "Problems?"
+msgstr "Problemes?"
+
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Afegeix una impressora"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Afegeix una impressora"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Afegeix una impressora"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Afegeix una impressora"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "AutoritzaciĆ³"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "escriptura"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Redueix"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Difumina"
+
+#. MENU_ITEM_COUNTER_LEN_INACTIVE
+msgid "inactive"
+msgstr "inactiu"
+
+#. MENU_ITEM_TIFF_COMP_NONE
+msgid "no compression"
+msgstr "Sense compressiĆ³"
+
+#. MENU_ITEM_TIFF_COMP_CCITTRLE
+msgid "CCITT 1D Huffman compression"
+msgstr "CompressiĆ³ CCITT 1D Huffman"
+
+#. MENU_ITEM_TIFF_COMP_CCITFAX3
+msgid "CCITT Group 3 Fax compression"
+msgstr "CompressiĆ³ CCITT Fax Grup 3"
+
+#. MENU_ITEM_TIFF_COMP_CCITFAX4
+msgid "CCITT Group 4 Fax compression"
+msgstr "CompressiĆ³ CCITT Fax Grup 4"
+
+#. MENU_ITEM_TIFF_COMP_JPEG
+msgid "JPEG DCT compression"
+msgstr "CompressiĆ³ JPEG DCT"
+
+#. MENU_ITEM_TIFF_COMP_PACKBITS
+msgid "pack bits"
+msgstr "Empaqueta els bits"
+
+#. MENU_ITEM_TIFF_COMP_DEFLATE
+msgid "deflate"
+msgstr "Desinfla"
+
+#. MENU_ITEM_RANGE_SCALE
+msgid "Slider (Scale)"
+msgstr "Lliscador (escala)"
+
+#. MENU_ITEM_RANGE_SCROLLBAR
+msgid "Slider (Scrollbar)"
+msgstr "Lliscador (barra de desplaƧament)"
+
+#. MENU_ITEM_RANGE_SPINBUTTON
+msgid "Spinbutton"
+msgstr "BotĆ³ giratori"
+
+#. MENU_ITEM_RANGE_SCALE_SPIN
+msgid "Scale and Spinbutton"
+msgstr "Escala i botĆ³ giratori"
+
+#. MENU_ITEM_RANGE_SCROLL_SPIN
+msgid "Scrollbar and Spinbutton"
+msgstr "Barra de desplaƧament i botĆ³ giratori"
+
+#. MENU_ITEM_LINEART_MODE_STANDARD
+msgid "Standard options window (lineart)"
+msgstr "Finestra d'opcions bĆ siques (mode lĆ­nia)"
+
+#. MENU_ITEM_LINEART_MODE_XSANE
+msgid "XSane main window (lineart)"
+msgstr "Finestra principal de l'XSane (mode lĆ­nia)"
+
+#. MENU_ITEM_LINEART_MODE_GRAY
+msgid "XSane main window (grayscale->lineart)"
+msgstr "Finestra principal de l'XSane (escala de grisos a mode lĆ­nia)"
+
+#. MENU_ITEM_SELECTION_NONE
+msgid "(none)"
+msgstr "(cap)"
+
+#. MENU_ITEM_FILETYPE_BY_EXT
+msgid "by ext"
+msgstr "Per extensiĆ³"
+
+#. MENU_ITEM_PRESET_AREA_ADD_SEL
+msgid "Add selection to list"
+msgstr "Afegeix la selecciĆ³ a la llista"
+
+#. MENU_ITEM_MEDIUM_ADD
+msgid "Add medium definition"
+msgstr "Afegeix una definiciĆ³ de mitjĆ "
+
+#. MENU_ITEM_RENAME
+msgid "Rename item"
+msgstr "Reanomena l'element"
+
+#. MENU_ITEM_DELETE
+msgid "Delete item"
+msgstr "Elimina l'element"
+
+#. MENU_ITEM_MOVE_UP
+msgid "Move item up"
+msgstr "Puja l'element"
+
+#. MENU_ITEM_MOVE_DWN
+msgid "Move item down"
+msgstr "Baixa l'element"
+
+#. MENU_ITEM_AUTH_NONE
+msgid "no authentication"
+msgstr "Sense autenticaciĆ³"
+
+#. MENU_ITEM_AUTH_POP3
+msgid "POP3 before SMTP"
+msgstr "POP3 abans d'SMTP"
+
+#. MENU_ITEM_AUTH_ASMTP_PLAIN
+msgid "ASMTP Plain"
+msgstr "ASMTP senzill"
+
+#. MENU_ITEM_AUTH_ASMTP_LOGIN
+msgid "ASMTP Login"
+msgstr "ASMTP amb identificaciĆ³"
+
+#. MENU_ITEM_AUTH_ASMTP_CRAM_MD5
+msgid "ASMTP CRAM-MD5"
+msgstr "ASMTP CRAM-MD5"
+
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Elimina la impressora"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Corregeix els colors automĆ ticament"
+
+#. PROGRESS_SCANNING
+msgid "Scanning"
+msgstr "S'estĆ  escanejant"
+
+#. PROGRESS_RECEIVING_FRAME_DATA
+#, c-format
+msgid "Receiving %s data"
+msgstr "S'estan rebent dades %s"
+
+#. PROGRESS_PAGE
+msgid "page"
+msgstr "pĆ gina"
+
+#. PROGRESS_TRANSFERING_DATA
+msgid "Transfering image"
+msgstr "S'estĆ  transferint la imatge"
+
+#. PROGRESS_ROTATING_DATA
+msgid "Rotating image"
+msgstr "S'estĆ  rotant la imatge"
+
+#. PROGRESS_MIRRORING_DATA
+msgid "Mirroring image"
+msgstr "S'estĆ  reflectint la imatge"
+
+#. PROGRESS_PACKING_DATA
+msgid "Packing image"
+msgstr "S'estĆ  empaquetant la imatge"
+
+#. PROGRESS_CONVERTING_DATA
+msgid "Converting image"
+msgstr "S'estĆ  convertint la imatge"
+
+#. PROGRESS_SAVING_DATA
+msgid "Saving image"
+msgstr "S'estĆ  desant la imatge"
+
+#. PROGRESS_CLONING_DATA
+msgid "Cloning image"
+msgstr "S'estĆ  clonant la imatge"
+
+#. PROGRESS_SCALING_DATA
+msgid "Scaling image"
+msgstr "S'estĆ  escalant la imatge"
+
+#. PROGRESS_DESPECKLING_DATA
+msgid "Despeckling image"
+msgstr "S'estan eliminant els esquitxos de la imatge"
+
+#. PROGRESS_BLURING_DATA
+msgid "Bluring image"
+msgstr "S'estĆ  difuminant la imatge"
+
+#. PROGRESS_OCR
+msgid "OCR in progress"
+msgstr "OCR en progrƩs"
+
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Corregeix els colors automĆ ticament"
+
+#. DESC_SCAN_START
+msgid "Start scan <Ctrl-Enter>"
+msgstr "Inicia l'escaneig <Ctrl-Retorn>"
+
+#. DESC_SCAN_CANCEL
+msgid "Cancel scan <ESC>"
+msgstr "CancelĀ·la l'escaneig <Esc>"
+
+#. DESC_PREVIEW_ACQUIRE
+msgid "Acquire preview scan <Alt-p>"
+msgstr "Adquireix un escaneig de previsualitzaciĆ³ <Alt-p>"
+
+#. DESC_PREVIEW_CANCEL
+msgid "Cancel preview scan <Alt-ESC>"
+msgstr "CancelĀ·la l'escaneig de previsualitzaciĆ³ <Alt-Esc>"
+
+#. DESC_XSANE_MODE
+msgid ""
+"viewer-<Ctrl-v>, save-<Ctrl-s>, photocopy-<Ctrl-c>, multipage-<Ctrl-m>, fax-"
+"<Ctrl-f> or e-mail-<Ctrl-e>"
+msgstr ""
+"Visualitzador <Ctrl-v>, Desament <Ctrl-s>, FotocĆ²pia <Ctrl-c>, MultipĆ gina "
+"<Ctrl-m>, Fax <Ctrl-f> o Correu electrĆ²nic <Ctrl-e>"
+
+#. DESC_XSANE_MEDIUM
+msgid ""
+"Select source medium type.\n"
+"To rename, reorder or delete an entry use context menu (right mouse "
+"button).\n"
+"To create a medium enable the option edit medium definition in preferences "
+"menu."
+msgstr ""
+"Seleccioneu el tipus de mitjĆ  d'origen.\n"
+"Per a reanomenar, reordenar o eliminar una entrada empreu el menĆŗ contextual "
+"(botĆ³ dret del ratolĆ­).\n"
+"Per a crear un mitjĆ , habiliteu l'opciĆ³ \"Edita la definiciĆ³ del mitjĆ \" al "
+"menĆŗ PreferĆØncies."
+
+#. DESC_FILENAME_COUNTER_STEP
+msgid "Value that is added to filenamecounter after scan"
+msgstr ""
+"Valor que s'afegeix al comptador dels noms de fitxers consecutius desprƩs "
+"d'escanejar"
+
+#. DESC_BROWSE_FILENAME
+msgid "Browse for image filename"
+msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#. DESC_FILENAME
+msgid "Filename for scanned image"
+msgstr "Nom de fitxer per a la imatge escanejada"
+
+#. DESC_FILETYPE
+msgid ""
+"Type of image format, the suitable filename extension is automatically added "
+"to the filename"
+msgstr ""
+"Tipus de format d'imatge; l'extensiĆ³ de tipus de fitxer apropiada s'afegirĆ  "
+"automĆ ticament al nom del fitxer"
+
+#. DESC_FAXPROJECT
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Navega per a trobar el directoi temporal"
+
+#. DESC_FAXPAGENAME
+msgid "Enter new name for faxpage"
+msgstr "IntroduĆÆu un nou nom per a la pĆ gina de fax"
+
+#. DESC_FAXRECEIVER
+msgid "Enter receiver phone number or address"
+msgstr "IntroduĆÆu el nĆŗmero de telĆØfon o l'adreƧa del receptor"
+
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Navega per a trobar el directoi temporal"
+
+#. DESC_EMAIL_PROJECT
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "Navega per a trobar el directoi temporal"
+
+#. DESC_EMAIL_IMAGENAME
+msgid "Enter new name for e-mail image"
+msgstr "IntroduĆÆu un nou nom per a la imatge de correu electrĆ²nic"
+
+#. DESC_EMAIL_RECEIVER
+msgid "Enter e-mail address"
+msgstr "IntroduĆÆu una adreƧa electrĆ²nica"
+
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Navega per a trobar el directoi temporal"
+
+#. DESC_EMAIL_SUBJECT
+msgid "Enter subject of e-mail"
+msgstr "IntroduĆÆu l'assumpte del missatge"
+
+#. DESC_EMAIL_FILETYPE
+msgid "Select filetype for image attachments"
+msgstr "Seleccioneu el tipus de fitxer per a les imatges adjuntes"
+
+#. DESC_MULTIPAGE_PROJECT
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "Navega per a trobar el directoi temporal"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Navega per a trobar el directoi temporal"
+
+#. DESC_MULTIPAGE_FILETYPE
+msgid "Select filetype for multipage file"
+msgstr "Seleccioneu el tipus del fitxer multipĆ gina"
+
+#. DESC_PRESET_AREA_RENAME
+msgid "Enter new name for preset area"
+msgstr "IntroduĆÆu un nou nom per a l'Ć rea prefixada"
+
+#. DESC_PRESET_AREA_ADD
+msgid "Enter name for new preset area"
+msgstr "IntroduĆÆu el nom de la nova Ć rea prefixada"
+
+#. DESC_MEDIUM_RENAME
+msgid "Enter new name for medium definition"
+msgstr "IntroduĆÆu un nou nom per a la definiciĆ³ del mitjĆ "
+
+#. DESC_MEDIUM_ADD
+msgid "Enter name for new medium definition"
+msgstr "IntroduĆÆu el nom de la nova definiciĆ³ de mitjĆ "
+
+#. DESC_PRINTER_SELECT
+msgid "Select printerdefinition <Shift-F1/F2/...>"
+msgstr "Seleccioneu la definiciĆ³ d'impressora <Maj-F1/F2/...>"
+
+#. DESC_RESOLUTION
+msgid "Set scan resolution"
+msgstr "Especifiqueu la resoluciĆ³ de l'escaneig"
+
+#. DESC_RESOLUTION_X
+msgid "Set scan resolution for x direction"
+msgstr "Especifiqueu la resoluciĆ³ horitzontal de l'escaneig"
+
+#. DESC_RESOLUTION_Y
+msgid "Set scan resolution for y direction"
+msgstr "Especifiqueu la resoluciĆ³ vertical de l'escaneig"
+
+#. DESC_ZOOM
+msgid "Set zoomfactor"
+msgstr "Especifiqueu el factor d'ampliaciĆ³"
+
+#. DESC_ZOOM_X
+msgid "Set zoomfactor for x direction"
+msgstr "Especifiqueu el factor d'ampliaciĆ³ horitzontal"
+
+#. DESC_ZOOM_Y
+msgid "Set zoomfactor for y direction"
+msgstr "Especifiqueu el factor d'ampliaciĆ³ vertical"
+
+#. DESC_COPY_NUMBER
+msgid "Set number of copies"
+msgstr "Especifiqueu el nombre de cĆ²pies"
+
+#. DESC_NEGATIVE
+msgid "Negative: Invert colors for scanning negatives <Ctrl-n>"
+msgstr "Negatiu: inverteix els colors per a escanejar negatius <Ctrl-n>"
+
+#. DESC_GAMMA
+msgid "Set gamma value"
+msgstr "Especifiqueu el valor de correcciĆ³ gamma"
+
+#. DESC_GAMMA_R
+msgid "Set gamma value for red component"
+msgstr "Especifiqueu el valor de gamma de la component vermella"
+
+#. DESC_GAMMA_G
+msgid "Set gamma value for green component"
+msgstr "Especifiqueu el valor de gamma de la component verda"
+
+#. DESC_GAMMA_B
+msgid "Set gamma value for blue component"
+msgstr "Especifiqueu el valor de gamma de la component blava"
+
+#. DESC_BRIGHTNESS
+msgid "Set brightness"
+msgstr "Especifiqueu la lluminositat"
+
+#. DESC_BRIGHTNESS_R
+msgid "Set brightness for red component"
+msgstr "Especifiqueu la lluminositat de la component vermella"
+
+#. DESC_BRIGHTNESS_G
+msgid "Set brightness for green component"
+msgstr "Especifiqueu la lluminositat de la component verda"
+
+#. DESC_BRIGHTNESS_B
+msgid "Set brightness for blue component"
+msgstr "Especifiqueu la lluminositat de la component blava"
+
+#. DESC_CONTRAST
+msgid "Set contrast"
+msgstr "Especifiqueu el contrast"
+
+#. DESC_CONTRAST_R
+msgid "Set contrast for red component"
+msgstr "Especifiqueu el contrast de la component vermella"
+
+#. DESC_CONTRAST_G
+msgid "Set contrast for green component"
+msgstr "Especifiqueu el contrast de la component verda"
+
+#. DESC_CONTRAST_B
+msgid "Set contrast for blue component"
+msgstr "Especifiqueu el contrast de la component blava"
+
+#. DESC_THRESHOLD
+msgid "Set threshold"
+msgstr "Especifiqueu el llindar"
+
+#. DESC_RGB_DEFAULT
+msgid ""
+"RGB default: Set enhancement values for red, green and blue to default "
+"values <Ctrl-b>:\n"
+" gamma = 1.0\n"
+" brightness = 0\n"
+" contrast = 0"
+msgstr ""
+"RGB predeterminat: estableix el realƧament de vermell, verd i blau als "
+"valors per defecte <Ctrl-b>:\n"
+" Gamma = 1,0\n"
+" Lluminositat = 0\n"
+" Contrast = 0"
+
+#. DESC_ENH_AUTO
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
+msgstr "Ajusta automĆ ticament la gamma, la lluminositat i el contrast <Ctrl-e>"
+
+#. DESC_ENH_DEFAULT
+msgid ""
+"Set default enhancement values <Ctrl-0>:\n"
+"gamma = 1.0\n"
+"brightness = 0\n"
+"contrast = 0"
+msgstr ""
+"Estableix els valors de realƧament per defecte <Ctrl-0>:\n"
+" Gamma = 1,0\n"
+" Lluminositat = 0\n"
+" Contrast = 0"
+
+#. DESC_ENH_RESTORE
+msgid "Restore enhancement values from preferences <Ctrl-r>"
+msgstr "Recupera els valors de realƧament de les preferĆØncies <Ctrl-r>"
+
+#. DESC_ENH_STORE
+msgid "Store active enhancement values to preferences <Ctrl-+>"
+msgstr ""
+"Emmagatzema a les preferĆØncies els valors de realƧament actius <Ctrl-+>"
+
+#. DESC_HIST_INTENSITY
+msgid "Show histogram of intensity/gray <Alt-i>"
+msgstr "Mostra l'histograma d'intensitat o de grisos <Alt-i>"
+
+#. DESC_HIST_RED
+msgid "Show histogram of red component <Alt-r>"
+msgstr "Mostra l'histograma de la component vermella <Alt-r>"
+
+#. DESC_HIST_GREEN
+msgid "Show histogram of green component <Alt-g>"
+msgstr "Mostra l'histograma de la component verda <Alt-g>"
+
+#. DESC_HIST_BLUE
+msgid "Show histogram of blue component <Alt-b>"
+msgstr "Mostra l'histograma de la component blava <Alt-b>"
+
+#. DESC_HIST_PIXEL
+msgid "Display mode: show histogram with lines instead of pixels <Alt-m>"
+msgstr ""
+"Mode de presentaciĆ³: mostra l'histograma amb lĆ­nies en comptes d'Ć rees <Alt-"
+"m>"
+
+#. DESC_HIST_LOG
+msgid "Show logarithm of pixelcount <Alt-l>"
+msgstr "Mostra el logaritme de la quantitat de pĆ­xels (eix vertical) <Alt-l>"
+
+#. DESC_PRINTER_SETUP
+msgid "Select definition to change"
+msgstr "Seleccioneu la definiciĆ³ que voleu canviar"
+
+#. DESC_PRINTER_NAME
+msgid "Define a name for the selection of this definition"
+msgstr "Definiu un nom per a la selecciĆ³ d'aquesta definiciĆ³"
+
+#. DESC_PRINTER_COMMAND
+msgid "Enter command to be executed in copy mode (e.g. \"lpr\")"
+msgstr "IntroduĆÆu l'ordre que s'executarĆ  en mode de cĆ²pia (p.ex.: \"lpr\")"
+
+#. DESC_COPY_NUMBER_OPTION
+msgid "Enter option for copy numbers"
+msgstr "IntroduĆÆu l'opciĆ³ per al nombre de cĆ²pies"
+
+#. DESC_PRINTER_LINEART_RESOLUTION
+msgid ""
+"Resolution with which lineart images are printed and saved in postscript"
+msgstr ""
+"ResoluciĆ³ a la qual s'imprimeixen i es desen en PostScript les imatges en "
+"blanc i negre (mode lĆ­nia)"
+
+#. DESC_PRINTER_GRAYSCALE_RESOLUTION
+msgid ""
+"Resolution with which grayscale images are printed and saved in postscript"
+msgstr ""
+"ResoluciĆ³ a la qual s'imprimeixen i es desen en PostScript les imatges en "
+"escala de grisos"
+
+#. DESC_PRINTER_COLOR_RESOLUTION
+msgid "Resolution with which color images are printed and saved in postscript"
+msgstr ""
+"ResoluciĆ³ a la qual s'imprimeixen i es desen en PostScript les imatges en "
+"color"
+
+#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
+msgid "Width of printable area"
+msgstr "Amplada de l'Ć rea imprimible"
+
+#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
+msgid "Height of printable area"
+msgstr "AlƧƠria de l'Ơrea imprimible"
+
+#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
+msgid "Left offset from the edge of the paper to the printable area"
+msgstr "DistĆ ncia entre el marge esquerre del paper i l'Ć rea imprimible"
+
+#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
+msgid "Bottom offset from the edge of the paper to the printable area"
+msgstr "DistĆ ncia entre el marge inferior del paper i l'Ć rea imprimible"
+
+#. DESC_PRINTER_GAMMA
+msgid "Additional gamma value for photocopy"
+msgstr "Valor gamma addicional per a les fotocĆ²pies"
+
+#. DESC_PRINTER_GAMMA_RED
+msgid "Additional gamma value for red component for photocopy"
+msgstr "Valor gamma addicional de la component vermella per a les fotocĆ²pies"
+
+#. DESC_PRINTER_GAMMA_GREEN
+msgid "Additional gamma value for green component for photocopy"
+msgstr "Valor gamma addicional de la component verda per a les fotocĆ²pies"
+
+#. DESC_PRINTER_GAMMA_BLUE
+msgid "Additional gamma value for blue component for photocopy"
+msgstr "Valor gamma addicional de la component blava per a les fotocĆ²pies"
+
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+#, fuzzy
+msgid ""
+"Create zlib compressed postscript image for printer (flatedecode).\n"
+"The printer has to understand postscript level 3!"
+msgstr ""
+"Crea una imatge PostScript comprimida amb zlib per a la impressora "
+"(compressiĆ³ FlatDecode).\n"
+"Cal que la impressora permeti l'Ćŗs de PostScript nivell 3."
+
+#. DESC_TMP_PATH
+msgid "Path to temp directory"
+msgstr "CamĆ­ al directori temporal"
+
+#. DESC_BUTTON_TMP_PATH_BROWSE
+msgid "Browse for temporary directory"
+msgstr "Navega per a trobar el directoi temporal"
+
+#. DESC_JPEG_QUALITY
+msgid ""
+"Quality in percent if image is saved as jpeg or tiff with jpeg compression"
+msgstr ""
+"Qualitat, en percentatge, si deseu la imatge en JPEG o en TIFF amb "
+"compressiĆ³ JPEG"
+
+#. DESC_PNG_COMPRESSION
+msgid "Compression if image is saved as png"
+msgstr "CompressiĆ³ si deseu la imatge en format PNG"
+
+#. DESC_FILENAME_COUNTER_LEN
+msgid "Minimum length of counter in filename"
+msgstr ""
+"Nombre mĆ­nim de xifres per al comptador en els noms de fitxers consecutius"
+
+#. DESC_TIFF_ZIP_COMPRESSION
+msgid "Compression rate for zip compressed tiff (deflate)"
+msgstr "Grau de compressiĆ³ per als TIFF comprimits amb zip (algoritme Deflate)"
+
+#. DESC_TIFF_COMPRESSION_16
+msgid "Compression type if 16 bit image is saved as tiff"
+msgstr "Tipus de compressiĆ³ si deseu en TIFF una imatge de 16 bits"
+
+#. DESC_TIFF_COMPRESSION_8
+msgid "Compression type if 8 bit image is saved as tiff"
+msgstr "Tipus de compressiĆ³ si deseu en TIFF una imatge de 8 bits"
+
+#. DESC_TIFF_COMPRESSION_1
+msgid "Compression type if lineart image is saved as tiff"
+msgstr ""
+"Tipus de compressiĆ³ si deseu en TIFF una imatge amb profunditat binĆ ria "
+"(mode lĆ­nia)"
+
+#. DESC_SAVE_DEVPREFS_AT_EXIT
+msgid "Save device dependant preferences in default file at exit of xsane"
+msgstr ""
+"En sortir de l'XSane, desa les preferĆØncies que depenen del dispositiu en el "
+"fitxer per defecte"
+
+#. DESC_OVERWRITE_WARNING
+msgid "Warn before overwriting an existing file"
+msgstr "Avisa abans de sobreescriure un fitxer existent"
+
+#. DESC_SKIP_EXISTING
+msgid ""
+"If filename counter is automatically increased, used numbers are skipped"
+msgstr ""
+"Si el comptador en el nom de fitxer s'incrementa automĆ ticament, s'ometen "
+"els nĆŗmeros ja usats"
+
+#. DESC_SAVE_PS_FLATEDECODED
+#, fuzzy
+msgid ""
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
+msgstr ""
+"Comprimeix les imatges PostScript amb l'algoritme FlatDecode de zlib. Per a "
+"poder imprimir un fitxer d'aquest tipus, la impressora ha d'entendre el "
+"format PostScript nivell 3"
+
+#. DESC_SAVE_PDF_FLATEDECODED
+#, fuzzy
+msgid "compress PDF image with zlib algorithm (flatedecode)."
+msgstr "Comprimeix les imatges PDF amb l'algoritme FlatDecode de zlib"
+
+#. DESC_SAVE_PNM16_AS_ASCII
+msgid ""
+"When a 16 bit image shall be saved in pnm format then use ascii format "
+"instead of binary format. The binary format is a new format that is not "
+"supported by all programs. The ascii format is supported by more programs "
+"but it produces really huge files!!!"
+msgstr ""
+"Quan hagueu de desar una imatge de 16 bits en format PNM, empreu el format "
+"ASCII en comptes del binari. El format PNM binari Ć©s un format nou que no "
+"accepten tots els programes. El format PNM ASCII es pot fer servir amb mƩs "
+"programes, perĆ² produeix fitxers molt grans."
+
+#. DESC_REDUCE_16BIT_TO_8BIT
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
+msgstr ""
+"Si l'escĆ ner envia la imatge amb 16 bits per color, desa-la amb 8 bits per "
+"color"
+
+#. DESC_PSFILE_WIDTH
+msgid "Width of paper for postscript files"
+msgstr "Amplada del paper per als fitxers PostScript"
+
+#. DESC_PSFILE_HEIGHT
+msgid "Height of paper for postscript files"
+msgstr "AlƧƠria del paper per als fitxers PostScript"
+
+#. DESC_PSFILE_LEFTOFFSET
+msgid ""
+"Left offset from the edge of the paper to the usable area for postscript "
+"files"
+msgstr ""
+"DistĆ ncia entre el marge esquerre del paper i l'Ć rea usable, per als fitxers "
+"PostScript"
+
+#. DESC_PSFILE_BOTTOMOFFSET
+msgid ""
+"Bottom offset from the edge of the paper to the usable area for postscript "
+"files"
+msgstr ""
+"DistĆ ncia entre el marge inferior del paper i l'Ć rea usable, per als fitxers "
+"PostScript"
+
+#. DESC_MAIN_WINDOW_FIXED
+msgid "Use fixed main window size or scrolled, resizable main window"
+msgstr ""
+"Usa una finestra principal de mida fixa o bƩ una de redimensionable, amb "
+"barra de desplaƧament"
+
+#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
+msgstr ""
+"Inhabilita la previsualitzaciĆ³ de la correcciĆ³ gamma quan l'XSane funciona "
+"com a connector d'El Gimp"
+
+#. DESC_PREVIEW_COLORMAP
+msgid "Use an own colormap for preview if display depth is 8 bpp"
+msgstr ""
+"Usa un mapa de colors propi per a la previsualitzaciĆ³ si la profunditat de "
+"la pantalla Ć©s de 8 bpp"
+
+#. DESC_SHOW_RANGE_MODE
+msgid "Select how a range is displayed"
+msgstr "Seleccioneu com es mostren els intervals de valors"
+
+#. DESC_PREVIEW_OVERSAMPLING
+msgid "Value with that the calculated preview resolution is multiplied"
+msgstr ""
+"Valor amb quĆØ es multiplica la resoluciĆ³ de previsualitzaciĆ³ calculada "
+"prĆØviament"
+
+#. DESC_PREVIEW_GAMMA
+msgid "Set gamma correction value for preview image"
+msgstr ""
+"Especifiqueu el valor de correcciĆ³ gamma per a la imatge de previsualitzaciĆ³"
+
+#. DESC_PREVIEW_GAMMA_RED
+msgid "Set gamma correction value for red component of preview image"
+msgstr ""
+"Especifiqueu el valor de correcciĆ³ gamma de la component vermella per a la "
+"imatge de previsualitzaciĆ³"
+
+#. DESC_PREVIEW_GAMMA_GREEN
+msgid "Set gamma correction value for green component of preview image"
+msgstr ""
+"Especifiqueu el valor de correcciĆ³ gamma de la component verda per a la "
+"imatge de previsualitzaciĆ³"
+
+#. DESC_PREVIEW_GAMMA_BLUE
+msgid "Set gamma correction value for blue component of preview image"
+msgstr ""
+"Especifiqueu el valor de correcciĆ³ gamma de la component blava per a la "
+"imatge de previsualitzaciĆ³"
+
+#. DESC_LINEART_MODE
+msgid "Define the way XSane shall handle the threshold option"
+msgstr "Definiu la manera en quĆØ l'XSane ha de gestionar l'opciĆ³ de llindar"
+
+#. DESC_GRAYSCALE_SCANMODE
+msgid ""
+"Select grayscale scanmode. This scanmode is used for lineart preview scan "
+"when transformation from grayscale to lineart is enabled"
+msgstr ""
+"Selecciona el mode d'escaneig en escala de grisos. Aquest mode es fa sevir "
+"per a la previsualitzaciĆ³ d'imatges en blanc i negre quan la transformaciĆ³ "
+"d'escala de grisos a mode lĆ­nia estĆ  habilitada"
+
+#. DESC_PREVIEW_THRESHOLD_MIN
+#, no-c-format
+msgid "The scanner's minimum threshold level in %"
+msgstr "El llindar inferior de l'escĆ ner en percentatge"
+
+#. DESC_PREVIEW_THRESHOLD_MAX
+#, no-c-format
+msgid "The scanner's maximum threshold level in %"
+msgstr "El llindar superior de l'escĆ ner en percentatge"
+
+#. DESC_PREVIEW_THRESHOLD_MUL
+msgid ""
+"Multiplier to make XSane threshold range and scanner threshold range the same"
+msgstr ""
+"Multiplicador per a igualar els llindars de l'XSane amb els de l'escĆ ner"
+
+#. DESC_PREVIEW_THRESHOLD_OFF
+msgid ""
+"Offset to make XSane threshold range and scanner threshold range the same"
+msgstr ""
+"DesplaƧament per a igualar els llindars de l'XSane amb els de l'escƠner"
+
+#. DESC_ADF_PAGES_MAX
+msgid "Number of pages to scan"
+msgstr "Nombre de pĆ gines a escanejar"
+
+#. DESC_PREVIEW_PIPETTE_RANGE
+msgid "dimension of square that is used to average color for pipette function"
+msgstr ""
+"DimensiĆ³ del quadrat que s'usa amb la pipeta per a fer la mitjana del color"
+
+#. DESC_DOC_VIEWER
+msgid ""
+"Enter command to be executed to display helpfiles, must be a html-viewer!"
+msgstr ""
+"IntroduĆÆu l'ordre a executar per a mostrar els fitxers d'ajuda. Ha de ser un "
+"visualitzador d'HTML."
+
+#. DESC_AUTOENHANCE_GAMMA
+msgid "Change gamma value when autoenhancement button is pressed"
+msgstr "Canvia el valor de la gamma en prĆ©mer el botĆ³ de realƧament automĆ tic"
+
+#. DESC_PRESELECT_SCANAREA
+msgid "Select scanarea after preview scan has finished"
+msgstr "Selecciona l'Ć rea d'escaneig quan l'escaneig de previsualitzaciĆ³ acabi"
+
+#. DESC_AUTOCORRECT_COLORS
+msgid "Do color correction after preview scan has finished"
+msgstr "Corregeix el color quan l'escaneig de previsualitzaciĆ³ acabi"
+
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Selecciona l'Ć rea d'escaneig quan l'escaneig de previsualitzaciĆ³ acabi"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
+#. DESC_FAX_COMMAND
+msgid "Enter command to be executed in fax mode"
+msgstr "IntroduĆÆu l'ordre que s'executarĆ  en mode fax"
+
+#. DESC_FAX_RECEIVER_OPT
+msgid "Enter option to specify receiver"
+msgstr "IntroduĆÆu l'opciĆ³ per a especificar el receptor"
+
+#. DESC_FAX_POSTSCRIPT_OPT
+msgid "Enter option to specify postscript files following"
+msgstr ""
+"IntroduĆÆu l'opciĆ³ per a especificar els fitxers PostScript a continuaciĆ³"
+
+#. DESC_FAX_NORMAL_OPT
+msgid "Enter option to specify normal mode (low resolution)"
+msgstr "IntroduĆÆu l'opciĆ³ per a especificar el mode normal (baixa resoluciĆ³)"
+
+#. DESC_FAX_FINE_OPT
+msgid "Enter option to specify fine mode (high resolution)"
+msgstr "IntroduĆÆu l'opciĆ³ per a especificar el mode detallat (alta resoluciĆ³)"
+
+#. DESC_FAX_VIEWER
+msgid "Enter command to be executed to view a fax"
+msgstr "IntroduĆÆu l'ordre a executar per a veure un fax"
+
+#. DESC_FAX_FINE_MODE
+msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
+msgstr ""
+"Envia el fax amb resoluciĆ³ vertical alta (196 lpi per comptes de 98 lpi)"
+
+#. DESC_FAX_PS_FLATEDECODED
+#, fuzzy
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
+msgstr ""
+"Crea imatges PostScript comprimides amb zlib per als faxos (algoritme "
+"FlatDecode)"
+
+#. DESC_SMTP_SERVER
+msgid "IP Address or Domain name of SMTP server"
+msgstr "AdreƧa IP o nom de domini del servidor SMTP"
+
+#. DESC_SMTP_PORT
+msgid "port to connect to SMTP server"
+msgstr "Port per a connectar al servidor SMTP"
+
+#. DESC_EMAIL_FROM
+msgid "enter your e-mail address"
+msgstr "IntroduĆÆu la vostra adreƧa electrĆ²nica"
+
+#. DESC_EMAIL_REPLY_TO
+msgid "enter e-mail address for replied e-mails"
+msgstr "IntroduĆÆu l'adreƧa electrĆ²nica a on voleu que us responguin"
+
+#. DESC_EMAIL_AUTHENTICATION
+msgid "Type of authentication before sending e-mail"
+msgstr "Tipus d'autenticaciĆ³ abans d'enviar el correu"
+
+#. DESC_EMAIL_AUTH_USER
+msgid "user name for e-mail server"
+msgstr "Nom d'usuari per al servidor de correu"
+
+#. DESC_EMAIL_AUTH_PASS
+msgid "password for e-mail server"
+msgstr "Contrasenya per al servidor de correu"
+
+#. DESC_POP3_SERVER
+msgid "IP Address or Domain name of POP3 server"
+msgstr "AdreƧa IP o nom de domini del servidor POP3"
+
+#. DESC_POP3_PORT
+msgid "port to connect to POP3 server"
+msgstr "Port per a connectar al servidor POP3"
+
+#. DESC_HTML_EMAIL
+msgid "E-mail is sent in html mode, place image with: <IMAGE>"
+msgstr "El missatge s'enviarĆ  en HTML; podeu incorporar-hi imatges amb <IMAGE>"
+
+#. DESC_OCR_COMMAND
+msgid "Enter command to start ocr program"
+msgstr "IntroduĆÆu l'ordre per a iniciar el programa d'OCR"
+
+#. DESC_OCR_INPUTFILE_OPT
+msgid "Enter option of the ocr program to define input file"
+msgstr "IntroduĆÆu l'opciĆ³ del programa d'OCR per a definir el fitxer d'entrada"
+
+#. DESC_OCR_OUTPUTFILE_OPT
+msgid "Enter option of the ocr program to define output file"
+msgstr ""
+"IntroduĆÆu l'opciĆ³ del programa d'OCR per a definir el fitxer de sortida"
+
+#. DESC_OCR_USE_GUI_PIPE_OPT
+msgid "Define if the ocr program supports gui progress pipe"
+msgstr ""
+"Especifiqueu si el programa d'OCR permet l'Ćŗs d'un conducte de progrĆ©s a la "
+"interfĆ­cie grĆ fica"
+
+#. DESC_OCR_OUTFD_OPT
+msgid ""
+"Enter option of the ocr program to define output filedescripor in GUI mode"
+msgstr ""
+"IntroduĆÆu l'opciĆ³ del programa d'OCR per a definir el descriptor del fitxer "
+"de sortida en mode grĆ fic"
+
+#. DESC_OCR_PROGRESS_KEYWORD
+msgid "Define Keyword that is used to mark progress information"
+msgstr ""
+"Especifiqueu la paraula clau que s'usa per a marcar la informaciĆ³ de progrĆ©s"
+
+#. DESC_PERMISSION_READ
+msgid "read"
+msgstr "lectura"
+
+#. DESC_PERMISSION_WRITE
+msgid "write"
+msgstr "escriptura"
+
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "Usuari"
+
+#. DESC_ADD_BATCH
+msgid "Add selection for batch scan"
+msgstr "Afegeix la selecciĆ³ al lot d'escaneig"
+
+#. DESC_PIPETTE_WHITE
+msgid "Pick white point"
+msgstr "Tria un punt blanc"
+
+#. DESC_PIPETTE_GRAY
+msgid "Pick gray point"
+msgstr "Tria un punt gris"
+
+#. DESC_PIPETTE_BLACK
+msgid "Pick black point"
+msgstr "Tria un punt negre"
+
+#. DESC_ZOOM_FULL
+msgid "Use full scanarea"
+msgstr "Usa tota l'Ć rea d'escaneig"
+
+#. DESC_ZOOM_OUT
+#, no-c-format
+msgid "Zoom 20% out"
+msgstr "Redueix l'ampliaciĆ³ un 20%"
+
+#. DESC_ZOOM_IN
+msgid "Click at position to zoom to"
+msgstr "Feu clic a la posiciĆ³ on vulgueu ampliar"
+
+#. DESC_ZOOM_AREA
+msgid "Zoom into selected area"
+msgstr "Amplia l'Ć rea seleccionada"
+
+#. DESC_ZOOM_UNDO
+msgid "Undo last zoom"
+msgstr "DesfĆ©s l'Ćŗltima ampliaciĆ³"
+
+#. DESC_FULL_PREVIEW_AREA
+msgid "Select visible area"
+msgstr "Seleccioneu l'Ć rea visible"
+
+#. DESC_AUTOSELECT_SCANAREA
+msgid "Autoselect scanarea"
+msgstr "Selecciona automĆ ticament l'Ć rea d'escaneig"
+
+#. DESC_AUTORAISE_SCANAREA
+msgid "Autoraise scanarea"
+msgstr "Posa davant automĆ ticament l'Ć rea d'escaneig"
+
+#. DESC_DELETE_IMAGES
+msgid "Delete preview image cache"
+msgstr "Buida la memĆ²ria cau de la imatge de previsualitzaciĆ³"
+
+#. DESC_PRESET_AREA
+msgid ""
+"Preset area:\n"
+"To add new area or edit an existing area use contect menu (right mouse "
+"button)."
+msgstr ""
+"ƀrea prefixada:\n"
+"Per a afegir una Ć rea nova o editar-ne una d'existent, useu el menĆŗ "
+"contextual (botĆ³ dret del ratolĆ­)"
+
+#. DESC_ROTATION
+msgid "Rotate preview and scan"
+msgstr "Rota la previsualitzaciĆ³ i l'escaneig"
+
+#. DESC_RATIO
+msgid "Aspect ratio of selection"
+msgstr "RelaciĆ³ d'aspecte de la selecciĆ³"
+
+#. DESC_PAPER_ORIENTATION
+msgid "Define image position for printing"
+msgstr "Especifiqueu la posiciĆ³ de la imatge per a la impressiĆ³"
+
+#. DESC_VIEWER_OCR
+msgid "Optical Character Recognition"
+msgstr "Reconeixement ƒptic de CarƠcters (OCR)"
+
+#. DESC_VIEWER_UNDO
+msgid "Undo last change"
+msgstr "DesfĆ©s l'Ćŗltim canvi"
+
+#. DESC_VIEWER_CLONE
+msgid "Clone image"
+msgstr "Clona la imatge"
+
+#. DESC_ROTATE90
+msgid "Rotate image 90 degree"
+msgstr "Rota la imatge 90 graus"
+
+#. DESC_ROTATE180
+msgid "Rotate image 180 degree"
+msgstr "Rota la imatge 180 graus"
+
+#. DESC_ROTATE270
+msgid "Rotate image 270 degree"
+msgstr "Rota la imatge 270 graus"
+
+#. DESC_MIRROR_X
+msgid "Mirror image at vertical axis"
+msgstr "Reflecteix la imatge en l'eix vertical"
+
+#. DESC_MIRROR_Y
+msgid "Mirror image at horizontal axis"
+msgstr "Reflecteix la imatge en l'eix horitzontal"
+
+#. DESC_VIEWER_ZOOM
+msgid "Zoom image"
+msgstr "Amplia la imatge"
+
+#. DESC_STORE_MEDIUM
+msgid "Store medium"
+msgstr "Emmagatzema el mitjĆ "
+
+#. DESC_DELETE_MEDIUM
+msgid "Delete active medium"
+msgstr "Elimina el mitjĆ  actiu"
+
+#. DESC_SCALE_FACTOR
+msgid "Scale factor"
+msgstr "Factor d'escala"
+
+#. DESC_X_SCALE_FACTOR
+msgid "X-Scale factor"
+msgstr "Factor d'escala en X"
+
+#. DESC_Y_SCALE_FACTOR
+msgid "Y-Scale factor"
+msgstr "Factor d'escala en Y"
+
+#. DESC_SCALE_WIDTH
+msgid "Scale image to width [in pixel]"
+msgstr "Escala la imatge a l'amplada especificada (en pĆ­xels)"
+
+#. DESC_SCALE_HEIGHT
+msgid "Scale image to height [in pixel]"
+msgstr "Escala la imatge a l'alƧƠria especificada (en pƭxels)"
+
+#. DESC_BATCH_LIST_EMPTY
+msgid "Empty batch list"
+msgstr "Buida el lot d'escaneig"
+
+#. DESC_BATCH_LIST_SAVE
+msgid "Save batch list"
+msgstr "Desa el lot d'escaneig"
+
+#. DESC_BATCH_LIST_LOAD
+msgid "Load batch list"
+msgstr "Carrega un lot d'escaneig"
+
+#. DESC_BATCH_RENAME
+msgid "Rename area"
+msgstr "Reanomena l'Ć rea"
+
+#. DESC_BATCH_ADD
+msgid "Add selected preview area to batch list"
+msgstr "Afegeix l'Ć rea seleccionada de la previsualitzaciĆ³ al lot d'escaneig"
+
+#. DESC_BATCH_DEL
+msgid "Delete selected area from batch list"
+msgstr "Elimina l'Ć rea seleccionada del lot d'escaneig"
+
+#. DESC_AUTOMATIC
+msgid "Turns on automatic mode"
+msgstr "Activa el mode automĆ tic"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#. ERR_HOME_DIR
+msgid "Failed to determine home directory:"
+msgstr "No s'ha pogut determinar el directori d'usuari:"
+
+#. ERR_CHANGE_WORKING_DIR
+msgid "Failed to change working directory to"
+msgstr "No s'ha pogut canviar el directori de treball a"
+
+#. ERR_FILENAME_TOO_LONG
+msgid "Filename too long"
+msgstr "Nom de fitxer massa llarg"
+
+#. ERR_CREATE_TEMP_FILE
+msgid ""
+"Could not create temporary file.\n"
+"Open Menue Preferences->Setup Tab Save and\n"
+"select a temporary directory where you have\n"
+"write permissions."
+msgstr ""
+"No s'ha pogut crear el fitxer temporal.\n"
+"Obriu el menĆŗ PreferĆØncies -> ConfiguraciĆ³, pestanya Desament\n"
+"i seleccioneu un directori temporal en el qual tingueu permisos."
+
+#. ERR_SET_OPTION
+msgid "Failed to set value of option"
+msgstr "No s'ha pogut establir el valor de l'opciĆ³"
+
+#. ERR_GET_OPTION
+msgid "Failed to obtain value of option"
+msgstr "No s'ha pogut obtenir el valor de l'opciĆ³"
+
+#. ERR_OPTION_COUNT
+msgid "Error obtaining option count"
+msgstr "S'ha produĆÆt un error en obtenir el comptador d'opcions"
+
+#. ERR_DEVICE_OPEN_FAILED
+msgid "Failed to open device"
+msgstr "No s'ha pogut obrir el dispositiu"
+
+#. ERR_NO_DEVICES
+msgid "no devices available"
+msgstr "No hi ha cap dispositiu disponible"
+
+#. ERR_DURING_READ
+msgid "Error during read:"
+msgstr "S'ha produĆÆt un error en llegir:"
+
+#. ERR_DURING_SAVE
+msgid "Error during save:"
+msgstr "S'ha produĆÆt un error en desar:"
+
+#. ERR_BAD_DEPTH
+msgid "Can't handle depth"
+msgstr "No es pot gestionar aquesta profunditat"
+
+#. ERR_UNKNOWN_SAVING_FORMAT
+msgid "Unknown file format for saving"
+msgstr "Format de fitxer desconegut per a desar"
+
+#. ERR_OPEN_FAILED
+msgid "Failed to open"
+msgstr "No s'ha pogut obrir"
+
+#. ERR_CREATE_SECURE_FILE
+msgid "Could not create secure file (may be a link does exist):"
+msgstr "No s'ha pogut crear un fitxer segur (potser hi ha un enllaƧ):"
+
+#. ERR_FAILED_PRINTER_PIPE
+msgid "Failed to open pipe for executing printercommand"
+msgstr "No s'ha pogut obrir el conducte per a executar l'ordre d'impressiĆ³"
+
+#. ERR_FAILED_EXEC_PRINTER_CMD
+msgid "Failed to execute printercommand:"
+msgstr "No s'ha pogut executar l'ordre d'impressiĆ³:"
+
+#. ERR_FAILED_START_SCANNER
+msgid "Failed to start scanner:"
+msgstr "No s'ha pogut inicialitzar l'escĆ ner:"
+
+#. ERR_FAILED_GET_PARAMS
+msgid "Failed to get parameters:"
+msgstr "No s'ha pogut obtenir els parĆ metres:"
+
+#. ERR_NO_OUTPUT_FORMAT
+msgid "No output format given"
+msgstr "No heu proporcionat cap format de sortida"
+
+#. ERR_NO_MEM
+msgid "out of memory"
+msgstr "Sense memĆ²ria"
+
+#. ERR_TOO_MUCH_DATA
+msgid "Backend sends more image data than it defined in parameters"
+msgstr ""
+"El controlador envia mƩs dades d'imatge de les que estan definides a la "
+"configuraciĆ³"
+
+#. ERR_LIBTIFF
+msgid "LIBTIFF reports error"
+msgstr "LIBTIFF informa d'un error"
+
+#. ERR_LIBPNG
+msgid "LIBPNG reports error"
+msgstr "LIBPNG informa d'un error"
+
+#. ERR_LIBJPEG
+msgid "LIBJPEG reports error"
+msgstr "LIBJPEG informa d'un error"
+
+#. ERR_ZLIB
+msgid "ZLIB error or memory allocation problem"
+msgstr ""
+"S'ha produĆÆt un error de la ZLIB o bĆ© un problema d'assignaciĆ³ de memĆ²ria"
+
+#. ERR_UNKNOWN_TYPE
+msgid "unknown type"
+msgstr "Tipus desconegut"
+
+#. ERR_UNKNOWN_CONSTRAINT_TYPE
+msgid "unknown constraint type"
+msgstr "Tipus de restricciĆ³ desconegut"
+
+#. ERR_OPTION_NAME_NULL
+msgid "Option has empty name (NULL)."
+msgstr "L'opciĆ³ tĆ© el nom buit (NULL)."
+
+#. ERR_BACKEND_BUG
+msgid "This is a backend bug. Please inform the author of the backend!"
+msgstr ""
+"AixĆ² Ć©s un problema del controlador. Si us plau, informeu l'autor d'aquest "
+"controlador."
+
+#. ERR_FAILED_EXEC_DOC_VIEWER
+msgid "Failed to execute documentation viewer:"
+msgstr "No s'ha pogut executar el visualitzador de documentaciĆ³:"
+
+#. ERR_FAILED_EXEC_FAX_VIEWER
+msgid "Failed to execute fax viewer:"
+msgstr "No s'ha pogut executar el visualitzador de fax:"
+
+#. ERR_FAILED_EXEC_FAX_CMD
+msgid "Failed to execute fax command:"
+msgstr "No s'ha pogut executar l'ordre de fax:"
+
+#. ERR_FAILED_EXEC_OCR_CMD
+msgid "Failed to execute ocr command:"
+msgstr "No s'ha pogut executar l'ordre d'OCR:"
+
+#. ERR_BAD_FRAME_FORMAT
+msgid "bad frame format"
+msgstr "Format del quadre inadequat"
+
+#. ERR_FAILED_SET_RESOLUTION
+msgid "unable to set resolution"
+msgstr "No s'ha pogut establir la resoluciĆ³"
+
+#. ERR_PASSWORD_FILE_INSECURE
+#, c-format
+msgid "Password file (%s) is insecure, use permission x00\n"
+msgstr "El fitxer de contrasenyes (%s) no Ć©s segur; useu els permisos x00\n"
+
+#. ERR_ERROR
+msgid "error"
+msgstr "S'ha produĆÆt un error"
+
+#. ERR_MAJOR_VERSION_NR_CONFLICT
+msgid "Sane major version number mismatch!"
+msgstr "La versiĆ³ del Sane no Ć©s compatible."
+
+#. ERR_XSANE_MAJOR_VERSION
+msgid "XSane major version ="
+msgstr "VersiĆ³ de l'XSane:"
+
+#. ERR_BACKEND_MAJOR_VERSION
+msgid "backend major version ="
+msgstr "VersiĆ³ del controlador:"
+
+#. ERR_PROGRAM_ABORTED
+msgid "*** PROGRAM ABORTED ***"
+msgstr "*** S'HA AVORTAT EL PROGRAMA ***"
+
+#. ERR_FAILED_ALLOCATE_IMAGE
+msgid "Failed to allocate image memory:"
+msgstr "No s'ha pogut assignar memĆ²ria per a la imatge:"
+
+#. ERR_PREVIEW_BAD_DEPTH
+msgid "Preview cannot handle bit depth"
+msgstr "La previsualitzaciĆ³ no pot gestionar aquesta profunditat"
+
+#. ERR_GIMP_SUPPORT_MISSING
+msgid "GIMP support missing"
+msgstr "Manca el connector per a El Gimp"
+
+#. ERR_CREATE_FAX_PROJECT
+msgid "Could not create faxproject"
+msgstr "No s'ha pogut crear el projecte de fax"
+
+#. WARN_COUNTER_UNDERRUN
+msgid "Filename counter underrun"
+msgstr "Desbordament inferior del comptador dels noms de fitxers consecutius"
+
+#. WARN_NO_VALUE_CONSTRAINT
+msgid "warning: option has no value constraint"
+msgstr "AvĆ­s: aquesta opciĆ³ no tĆ© cap restricciĆ³ en els valors"
+
+#. WARN_XSANE_AS_ROOT
+msgid ""
+"You try to run XSane as ROOT, that really is DANGEROUS!\n"
+"\n"
+"Do not send any bug reports when you\n"
+"have any problem while running XSane as root:\n"
+"YOU ARE ALONE!"
+msgstr ""
+"Esteu provant d'executar l'XSane com a usuari root. AixĆ² Ć©s MOLT PERILLƓS.\n"
+"\n"
+"No envieu cap informe d'errors si, mentre executeu l'XSane com a root,\n"
+"us trobeu cap probema:\n"
+"ƉS RESPONSABILITAT VOSTRA."
+
+#. ERR_HEADER_ERROR
+msgid "Error"
+msgstr "Error"
+
+#. ERR_HEADER_WARNING
+msgid "Warning"
+msgstr "AvĆ­s"
+
+#. ERR_HEADER_INFO
+msgid "Information"
+msgstr "InformaciĆ³"
+
+#. ERR_HEADER_CHILD_PROCESS_ERROR
+msgid "Child process error"
+msgstr "Error en el procƩs fill"
+
+#. ERR_FAILED_CREATE_FILE
+msgid "Failed to create file:"
+msgstr "No s'ha pogut crear el fitxer:"
+
+#. ERR_LOAD_DEVICE_SETTINGS
+msgid "Error while loading device settings:"
+msgstr "S'ha produĆÆt un error en carregar la configuraciĆ³ del dispositiu:"
+
+#. ERR_NO_DRC_FILE
+msgid "is not a device-rc-file !!!"
+msgstr "no Ć©s un fitxer de dispositiu."
+
+#. ERR_NETSCAPE_EXECUTE_FAIL
+msgid "Failed to execute netscape!"
+msgstr "No s'ha pogut executar el Netscape."
+
+#. ERR_SENDFAX_RECEIVER_MISSING
+msgid "Send fax: no receiver defined"
+msgstr "Enviament de fax: no s'ha definit cap receptor"
+
+#. ERR_CREATED_FOR_DEVICE
+msgid "has been created for device"
+msgstr "s'ha creat per al dispositiu"
+
+#. ERR_USED_FOR_DEVICE
+msgid "you want to use it for device"
+msgstr "voleu usar-ho per al dispositiu"
+
+#. ERR_MAY_CAUSE_PROBLEMS
+msgid "this may cause problems!"
+msgstr "aixĆ² pot provocar problemes"
+
+#. WARN_UNSAVED_IMAGES
+#, c-format
+msgid "There are %d unsaved images"
+msgstr "Hi ha %d imatges sense desar"
+
+#. WARN_FILE_EXISTS
+#, c-format
+msgid "File %s already exists"
+msgstr "El fitxer %s ja existeix"
+
+#. ERR_FILE_NOT_EXISTS
+#, c-format
+msgid "File %s does not exist"
+msgstr "El fitxer %s no existeix"
+
+#. ERR_FILE_NOT_POSTSCRIPT
+#, c-format
+msgid "File %s is not a postscript file"
+msgstr "El fitxer %s no Ć©s un fitxer PostScript"
+
+#. ERR_UNSUPPORTED_OUTPUT_FORMAT
+#, c-format
+msgid "Unsupported %d-bit output format: %s"
+msgstr "Format de sortida de %d bits no permƩs: %s"
+
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "S'ha produĆÆt un error en desar:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "No s'ha pogut obrir"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Elimina la impressora"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Elimina la impressora"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "No s'ha pogut crear el projecte de fax"
+
+#. WARN_VIEWER_IMAGE_NOT_SAVED
+msgid "viewer image is not saved"
+msgstr "La imatge del visualitzador no s'ha desat"
+
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "PĆ gines:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Desa el lot d'escaneig"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Desa la configuraciĆ³ del dispositiu en sortir"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "PreferĆØncies"
+
+#. TEXT_USAGE
+msgid "Usage:"
+msgstr "Sintaxi:"
+
+#. TEXT_USAGE_OPTIONS
+msgid "[OPTION]... [DEVICE]"
+msgstr "[OPCIƓ]... [DISPOSITIU]"
+
+#. TEXT_HELP
+msgid ""
+"Start up graphical user interface to access SANE (Scanner Access Now Easy) "
+"devices.\n"
+"\n"
+"The format of [DEVICE] is backendname:devicefile (e.g. umax:/dev/scanner).\n"
+"[OPTION]... can be a combination of the following items:\n"
+" -h, --help display this help message and exit\n"
+" -v, --version print version information\n"
+" -l, --license print license information\n"
+"\n"
+" -d, --device-settings file load device settings from file (without \".drc"
+"\")\n"
+"\n"
+" -V, --viewer start with viewer-mode active (default)\n"
+" -s, --save start with save-mode active\n"
+" -c, --copy start with copy-mode active\n"
+" -m, --multipage start with multipage-mode active\n"
+" -f, --fax start with fax-mode active\n"
+" -e, --email start with e-mail-mode active\n"
+" -n, --no-mode-selection disable menu for XSane mode selection\n"
+"\n"
+" -F, --Fixed fixed main window size (overwrite preferences "
+"value)\n"
+" -R, --Resizeable resizable, scrolled main window (overwrite "
+"preferences value)\n"
+"\n"
+" -p, --print-filenames print image filenames created by XSane\n"
+" -N, --force-filename name force filename and disable user filename "
+"selection\n"
+"\n"
+" --display X11-display redirect output to X11-display\n"
+" --no-xshm do not use shared memory images\n"
+" --sync request a synchronous connection with the X11 "
+"server"
+msgstr ""
+"Inicia la interfĆ­cie grĆ fica d'usuari per a accedir als dispositius SANE "
+"(Scanner Access Now Easy).\n"
+"\n"
+"El format de [DISPOSITIU] Ć©s nomdelcontrolador:fitxerdedispositiu (p.ex.: "
+"umax:/dev/scanner).\n"
+"[OPCIƓ]... pot ser una combinaciĆ³ dels segĆ¼ents elements:\n"
+" -h, --help mostra aquest missatge d'ajuda i surt\n"
+" -v, --version imprimeix informaciĆ³ de la versiĆ³\n"
+" -l, --license imprimeix informaciĆ³ de la llicĆØncia\n"
+"\n"
+" -d, --device-settings file carrega una configuraciĆ³ de dispositiu d'un "
+"fitxer (sense \".drc\")\n"
+"\n"
+" -V, --viewer inicia amb el mode de visualitzaciĆ³ actiu "
+"(predeterminat)\n"
+" -s, --save inicia amb el mode de desament actiu\n"
+" -c, --copy inicia amb el mode de cĆ²pia actiu\n"
+" -m, --multipage inicia amb el mode de multipĆ gina actiu\n"
+" -f, --fax inicia amb el mode de fax actiu\n"
+" -e, --email inicia amb el mode de correu electrĆ²nic actiu\n"
+" -n, --no-mode-selection inhabilita el menĆŗ per a la selecciĆ³ de mode "
+"de l'XSane\n"
+"\n"
+" -F, --Fixed finestra principal de mida fixa (sobreescriu "
+"el valor de les preferĆØncies)\n"
+" -R, --Resizeable finestra principal redimensionable i amb barra "
+"de desplaƧament (sobreescriu el valor de les preferĆØncies)\n"
+"\n"
+" -p, --print-filenames imprimeix els noms de fitxer d'imatge creats "
+"per l'XSane\n"
+" -N, --force-filename name forƧa un nom de fitxer i inhabilita la "
+"selecciĆ³ de nom de fitxer per a l'usuari\n"
+"\n"
+" --display X11-display redirecciona la sortida a la pantalla X11\n"
+" --no-xshm no usis imatges de memĆ²ria compartida\n"
+" --sync demana una connexiĆ³ sĆ­ncrona amb el servidor "
+"X11"
+
+#. strings for gimp plugin
+#. XSANE_GIMP_INSTALL_BLURB
+msgid "Front-end to the SANE interface"
+msgstr "Frontal grĆ fic per a la interfĆ­cie SANE"
+
+#. XSANE_GIMP_INSTALL_HELP
+msgid ""
+"This function provides access to scanners and other image acquisition "
+"devices through the SANE (Scanner Access Now Easy) interface."
+msgstr ""
+"Aquesta funciĆ³ proporciona accĆ©s a escĆ ners i altres dispositius "
+"d'adquisiciĆ³ d'imatge mitjanƧant la interfĆ­cie SANE (Scanner Access Now "
+"Easy: AccƩs a escƠners fet facil)."
+
+#. Menu path must not be translated, this is done by the gimp. Only translate the text behind the last "/"
+#. XSANE_GIMP_MENU_DIALOG
+msgid "<Toolbox>/File/Acquire/XSane: Device dialog..."
+msgstr "<Toolbox>/File/Acquire/XSane: DiĆ leg de dispositiu..."
+
+#. XSANE_GIMP_MENU
+msgid "<Toolbox>/File/Acquire/XSane: "
+msgstr "<Toolbox>/File/Acquire/XSane: "
+
+#. XSANE_GIMP_MENU_DIALOG_OLD
+msgid "<Toolbox>/Xtns/XSane/Device dialog..."
+msgstr "<Toolbox>/Xtns/XSane/DiĆ leg de dispositiu..."
+
+#. XSANE_GIMP_MENU_OLD
+msgid "<Toolbox>/Xtns/XSane/"
+msgstr "<Toolbox>/Xtns/XSane/"
+
+#. HELP_NO_DEVICES
+msgid ""
+"Possible reasons:\n"
+"1) There really is no device that is supported by SANE\n"
+"2) Supported devices are busy\n"
+"3) The permissions for the device file do not allow you to use it - try as "
+"root\n"
+"4) The backend is not loaded by SANE (man sane-dll)\n"
+"5) The backend is not configured correct (man sane-\"backendname\")\n"
+"6) Possibly there is more than one SANE version installed"
+msgstr ""
+"Possibles motius:\n"
+"1) Realment no hi ha cap dispositiu reconegut pel SANE\n"
+"2) Els dispositius reconeguts estan ocupats\n"
+"3) Els permisos del fitxer de dispositiu no permeten que l'useu. Proveu com "
+"a root\n"
+"4) El SANE no ha carregat el controlador (man sane-dll)\n"
+"5) El controlador no s'ha configurat correctament (man sane-"
+"\"nomdelcontrolador\")\n"
+"6) Probablement hi hagi mĆ©s d'una versiĆ³ del SANE instalĀ·lada"
+
+#. strings that are used in structures, so it is not allowed to use _()/gettext() here
+#. gettext_noop does mark these texts but does not change the string
+#. MENU_ITEM_SURFACE_FULL_SIZE
+msgid "full size"
+msgstr "Mida completa"
+
+#. MENU_ITEM_SURFACE_DIN_A3P
+msgid "DIN A3 port."
+msgstr "DIN A3 vertical"
+
+#. MENU_ITEM_SURFACE_DIN_A3L
+msgid "DIN A3 land."
+msgstr "DIN A3 horitzontal"
+
+#. MENU_ITEM_SURFACE_DIN_A4P
+msgid "DIN A4 port."
+msgstr "DIN A4 vertical"
+
+#. MENU_ITEM_SURFACE_DIN_A4L
+msgid "DIN A4 land."
+msgstr "DIN A4 horitzontal"
+
+#. MENU_ITEM_SURFACE_DIN_A5P
+msgid "DIN A5 port."
+msgstr "DIN A5 vertical"
+
+#. MENU_ITEM_SURFACE_DIN_A5L
+msgid "DIN A5 land."
+msgstr "DIN A5 horitzontal"
+
+#. MENU_ITEM_SURFACE_13cmx18cm
+msgid "13cm x 18cm"
+msgstr "13 cm x 18 cm"
+
+#. MENU_ITEM_SURFACE_18cmx13cm
+msgid "18cm x 13cm"
+msgstr "18 cm x 13 cm"
+
+#. MENU_ITEM_SURFACE_10cmx15cm
+msgid "10cm x 15cm"
+msgstr "10 cm x 15 cm"
+
+#. MENU_ITEM_SURFACE_15cmx10cm
+msgid "15cm x 10cm"
+msgstr "15 cm x 10 cm"
+
+#. MENU_ITEM_SURFACE_9cmx13cm
+msgid "9cm x 13cm"
+msgstr "9 cm x 13 cm"
+
+#. MENU_ITEM_SURFACE_13cmx9cm
+msgid "13cm x 9cm"
+msgstr "13 cm x 9 cm"
+
+#. MENU_ITEM_SURFACE_legal_P
+msgid "legal port."
+msgstr "Legal vertical"
+
+#. MENU_ITEM_SURFACE_legal_L
+msgid "legal land."
+msgstr "Legal horitzontal"
+
+#. MENU_ITEM_SURFACE_letter_P
+msgid "letter port."
+msgstr "Carta vertical"
+
+#. MENU_ITEM_SURFACE_letter_L
+msgid "letter land."
+msgstr "Carta horitzontal"
+
+#. MENU_ITEM_MEDIUM_FULL_COLOR_RANGE
+msgid "Full color range"
+msgstr "Tots els colors"
+
+#. MENU_ITEM_MEDIUM_SLIDE
+msgid "Slide"
+msgstr "Diapositiva"
+
+#. MENU_ITEM_MEDIUM_STANDARD_NEG
+msgid "Standard negative"
+msgstr "Negatiu estĆ ndard"
+
+#. MENU_ITEM_MEDIUM_AGFA_NEG
+msgid "Agfa negative"
+msgstr "Negatiu Agfa"
+
+#. MENU_ITEM_MEDIUM_AGFA_NEG_XRG200_4
+msgid "Agfa negative XRG 200-4"
+msgstr "Negatiu Agfa XRG 200-4"
+
+#. MENU_ITEM_MEDIUM_AGFA_NEG_HDC_100
+msgid "Agfa negative HDC 100"
+msgstr "Negatiu Agfa HDC 100"
+
+#. MENU_ITEM_MEDIUM_FUJI_NEG
+msgid "Fuji negative"
+msgstr "Negatiu Fuji"
+
+#. MENU_ITEM_MEDIUM_KODAK_NEG
+msgid "Kodak negative"
+msgstr "Negatiu Kodak"
+
+#. MENU_ITEM_MEDIUM_KONICA_NEG
+msgid "Konica negative"
+msgstr "Negatiu Konica"
+
+#. MENU_ITEM_MEDIUM_KONICA_NEG_VX_100
+msgid "Konica negative VX 100"
+msgstr "Negatiu Konica VX 100"
+
+#. MENU_ITEM_MEDIUM_ROSSMANN_NEG_HR_100
+msgid "Rossmann negative HR 100"
+msgstr "Negatiu Rossmann HR 100"
+
+#. TEXT_PROJECT_STATUS_NOT_CREATED
+msgid "Project not created"
+msgstr "No s'ha creat cap projecte"
+
+#. TEXT_PROJECT_STATUS_CREATED
+msgid "Project created"
+msgstr "S'ha creat el projecte"
+
+#. TEXT_PROJECT_STATUS_CHANGED
+msgid "Project changed"
+msgstr "S'ha modificat el projecte"
+
+#. TEXT_PROJECT_STATUS_ERR_READ_PROJECT
+msgid "Error reading project"
+msgstr "S'ha produĆÆt un error en llegir el projecte"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVING_ERROR
+msgid "Error saving file"
+msgstr "S'ha produĆÆt un error en desar el fitxer"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVING
+msgid "Saving file"
+msgstr "S'estĆ  desant el fitxer"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVING_ABORTED
+msgid "Aborted saving file"
+msgstr "S'ha avortat el desament del fitxer"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVED
+msgid "File has been saved"
+msgstr "S'ha desat el fitxer"
+
+#. TEXT_EMAIL_STATUS_POP3_CONNECTION_FAILED
+msgid "POP3 connection failed"
+msgstr "Ha fallat la connexiĆ³ POP3"
+
+#. TEXT_EMAIL_STATUS_POP3_LOGIN_FAILED
+msgid "POP3 login failed"
+msgstr "Ha fallat la identificaciĆ³ POP3"
+
+#. TEXT_EMAIL_STATUS_ASMTP_AUTH_FAILED
+msgid "ASMTP authentication failed"
+msgstr "Ha fallat l'autenticaciĆ³ ASMTP"
+
+#. TEXT_EMAIL_STATUS_SMTP_CONNECTION_FAILED
+msgid "SMTP connection failed"
+msgstr "Ha fallat la connexiĆ³ SMTP"
+
+#. TEXT_EMAIL_STATUS_SMTP_ERR_FROM
+msgid "From entry not accepted"
+msgstr "No s'ha acceptat el camp \"De:\""
+
+#. TEXT_EMAIL_STATUS_SMTP_ERR_RCPT
+msgid "Receiver entry not accepted"
+msgstr "No s'ha acceptat el camp del receptor"
+
+#. TEXT_EMAIL_STATUS_SMTP_ERR_DATA
+msgid "E-mail data not accepted"
+msgstr "No s'ha acceptat el cos del missatge"
+
+#. TEXT_EMAIL_STATUS_SENDING
+msgid "Sending e-mail"
+msgstr "S'estĆ  enviant el missatge"
+
+#. TEXT_EMAIL_STATUS_SENT
+msgid "E-mail has been sent"
+msgstr "S'ha enviat el missatge"
+
+#. TEXT_FAX_STATUS_QUEUEING_FAX
+msgid "Queueing Fax"
+msgstr "S'estĆ  posant el fax a la cua"
+
+#. TEXT_FAX_STATUS_FAX_QUEUED
+msgid "Fax is queued"
+msgstr "El fax Ć©s a la cua"
+
+#. Sane backend messages
+msgid "flatbed scanner"
+msgstr "EscĆ ner de sobretaula"
+
+msgid "frame grabber"
+msgstr "Capturador de quadres"
+
+msgid "handheld scanner"
+msgstr "EscĆ ner manual"
+
+msgid "still camera"
+msgstr "CĆ mera fotogrĆ fica"
+
+msgid "video camera"
+msgstr "CĆ mera de vĆ­deo"
+
+msgid "virtual device"
+msgstr "Dispositiu virtual"
+
+msgid "Success"
+msgstr "OperaciĆ³ completada amb ĆØxit"
+
+msgid "Operation not supported"
+msgstr "OperaciĆ³ no permesa"
+
+msgid "Operation was cancelled"
+msgstr "S'ha cancelĀ·lat l'operaciĆ³"
+
+msgid "Device busy"
+msgstr "Dispositiu ocupat"
+
+msgid "Invalid argument"
+msgstr "Argument invĆ ild"
+
+msgid "End of file reached"
+msgstr "S'ha arribat al final del fitxer"
+
+msgid "Document feeder jammed"
+msgstr "L'alimentador de documents s'ha encallat"
+
+msgid "Document feeder out of documents"
+msgstr "L'alimentador de documents Ć©s buit"
+
+msgid "Scanner cover is open"
+msgstr "La tapa de l'escĆ ner Ć©s oberta"
+
+msgid "Error during device I/O"
+msgstr "S'ha produĆÆt un error d'E/S en el dispositiu"
+
+msgid "Out of memory"
+msgstr "Sense memĆ²ria"
+
+msgid "Access to resource has been denied"
+msgstr "S'ha denegat l'accƩs al recurs"
+
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Elimina la impressora"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Elimina la impressora"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Elimina la impressora"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Elimina la impressora"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Elimina la impressora"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Elimina la impressora"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Navegueu per a trobar el nom de fitxer de la imatge"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "El Gimp no pot gestionar una profunditat de %d bits/color"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Elimina la impressora"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Elimina la impressora"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "IntroduĆÆu el nom del projecte de fax"
+
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "IntroduĆÆu el nom del projecte de correu electrĆ²nic"
+
+#~ msgid "Enter name of multipage project"
+#~ msgstr "IntroduĆÆu el nom del projecte de multipĆ gina"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "El Gimp no permet l'Ćŗs de 16 bits per color.\n"
+#~ "Voleu reduir la profunditat a 8 bits per color?"
diff --git a/po/cs.gmo b/po/cs.gmo
index c95e343..760b8ea 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index f2f6a8f..b402dda 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -5,7 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.99\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2005-12-31 16:09+0100\n"
"Last-Translator: Stanislav Brabec <utx@penguin.cz>\n"
"Language-Team: Czech <cs@li.org>\n"
@@ -32,6 +33,7 @@ msgid "About"
msgstr "O programu"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "O překladu"
@@ -71,6 +73,11 @@ msgstr "přejmenovat dĆ”vkovou oblast"
msgid "fax project"
msgstr "faxovĆ½ projekt"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "ZadƔnƭ jmƩna faxovƩho projektu"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "přejmenovat faxovou strĆ”nku"
@@ -83,6 +90,11 @@ msgstr "zadat ps-soubor pro fax"
msgid "E-mail project"
msgstr "PoÅ”tovnĆ­ projekt"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Zadejte jmĆ©no poÅ”tovnĆ­ho projektu"
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr "přejmenovat obrĆ”zek do poÅ”ty"
@@ -95,6 +107,11 @@ msgstr "vložit soubor do poŔty"
msgid "multipage project"
msgstr "vĆ­cestrĆ”nkovĆ½ projekt"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "vĆ­cestrĆ”nkovĆ½ projekt"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "přejmenovat předvolenou oblast"
@@ -140,6 +157,7 @@ msgid "Preview"
msgstr "NƔhled"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "ProhlĆ­Å¾eč"
@@ -172,14 +190,17 @@ msgid "select temporary directory"
msgstr "vĆ½běr pomocnĆ©ho adresĆ”Å™e"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Změna velikosti obrĆ”zku"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Vyčistit obrĆ”zek"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Rozostřit obrĆ”zek"
@@ -191,6 +212,35 @@ msgstr "Uložit definici mĆ©dia"
msgid "No devices available"
msgstr "Nejsou k dispozici Å¾Ć”dnĆ” zaÅ™Ć­zenĆ­"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Odebrat tiskƔrnu"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Odebrat tiskƔrnu"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "vĆ½běr jmĆ©na vĆ½stupnĆ­ho souboru"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Odebrat tiskƔrnu"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Odebrat tiskƔrnu"
+
#. MENU_FILE
msgid "File"
msgstr "Soubor"
@@ -208,6 +258,7 @@ msgid "Window"
msgstr "Okno"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "NĆ”pověda"
@@ -223,6 +274,11 @@ msgstr "Filtry"
msgid "Geometry"
msgstr "Geometrie"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "O XSane"
@@ -236,6 +292,7 @@ msgid "Quit"
msgstr "Konec"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "ZƔpis obrƔzku"
@@ -252,6 +309,7 @@ msgid "Scale"
msgstr "Změna velikosti"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "ZavÅ™Ć­t"
@@ -443,11 +501,11 @@ msgstr "VarovĆ”nĆ­ o přepsĆ”nĆ­"
msgid "Skip existing filenames"
msgstr "Přeskočit existujĆ­cĆ­ jmĆ©na souborÅÆ"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr "Zapsat zlib komprimovanĆ½ postscript (ps level 3)"
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr "Zapsat zlib komprimovanĆ½ PDF"
@@ -464,7 +522,8 @@ msgid "Main window size fixed"
msgstr "PevnĆ” velikost hlavnĆ­ho okna"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "ZakƔzat pro gimp gama nƔhledu"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -487,6 +546,11 @@ msgstr "AutomatickĆ” korekce barev"
msgid "Use GUI progress pipe"
msgstr "PouÅ¾Ć­t GUI rouru prÅÆběhu"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "prochĆ”zejĆ­ se zaÅ™Ć­zenĆ­"
@@ -503,6 +567,12 @@ msgstr "Předvolby XSane"
msgid "Type"
msgstr "Typ"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "PlnĆ½ rozsah barev"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Skener a ovladač:"
@@ -575,18 +645,11 @@ msgstr "8bitovĆ© vĆ½stupnĆ­ formĆ”ty:"
msgid "16 bit output formats:"
msgstr "16bitovĆ© vĆ½stupnĆ­ formĆ”ty:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"GIMP nepodporuje hloubku 16 bitÅÆ/barvu.\n"
-"Chcete redukovat hloubku na 8 bitÅÆ/barvu?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"Tento vĆ½stupnĆ­ formĆ”t nepodporuje hloubku 16 bitÅÆ/barvu.\n"
"Chcete redukovat hloubku na 8 bitÅÆ/barvu?<"
@@ -623,6 +686,11 @@ msgstr "verze:"
msgid "package"
msgstr "balĆ­k"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "PlnĆ½ rozsah barev"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "s podporou programu GIMP"
@@ -754,9 +822,10 @@ msgid "Medium Name:"
msgstr "NƔzev mƩdia:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Velikost v pixelech: %d Ɨ %d, bitÅÆ/barvu: %d, barev: %d, %1.0f dpi Ɨ %1.0f "
"dpi, %1.1f %s"
@@ -810,6 +879,7 @@ msgid "Name:"
msgstr "JmƩno:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "PÅ™Ć­kaz:"
@@ -830,18 +900,22 @@ msgid "Color resolution (dpi):"
msgstr "RozliÅ”enĆ­ v barvě (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Å Ć­Å™ka"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "VĆ½Å”ka"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "LevĆ½ posun"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "SpodnĆ­ posun"
@@ -861,7 +935,17 @@ msgstr "ZelenƔ gama tiskƔrny:"
msgid "Printer gamma blue:"
msgstr "ModrƔ gama tiskƔrny:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Odebrat tiskƔrnu"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Odebrat tiskƔrnu"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Vytvořit zlib komprimovanĆ½ postscript (ps level 3) pro tisk"
@@ -985,7 +1069,7 @@ msgstr "Nastavit implicitnĆ­ program pro:"
msgid "Viewer (Postscript):"
msgstr "ProhlĆ­Å¾eč (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr "Vytvořit zlib komprimovanĆ½ postscript (ps level 3) pro fax"
@@ -1061,10 +1145,45 @@ msgstr "skupina"
msgid "all"
msgstr "vŔichni"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Odebrat tiskƔrnu"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Odebrat tiskƔrnu"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Odebrat tiskƔrnu"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Vyhledat jmƩno souboru"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "novƩ mƩdium"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "ZƔpis"
@@ -1073,14 +1192,17 @@ msgid "Filetype"
msgstr "Typ souboru"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "KopƭrovƔnƭ"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "FaxovƔnƭ"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr "E-mail"
@@ -1172,6 +1294,12 @@ msgstr "Zobrazovat seznam rozliÅ”enĆ­"
msgid "Rotate postscript"
msgstr "Rotovat postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "PlnĆ½ rozsah barev"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Upravit definici mƩdia"
@@ -1216,6 +1344,86 @@ msgstr "SkenovacĆ­ tipy"
msgid "Problems?"
msgstr "ProblƩmy?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Přidat tiskĆ”rnu"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Přidat tiskĆ”rnu"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Přidat tiskĆ”rnu"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Přidat tiskĆ”rnu"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "autorizace"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "zƔpis"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Redukovat"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "RozostřenĆ­"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "neaktivnĆ­"
@@ -1332,6 +1540,20 @@ msgstr "ASMTP přihlĆ”Å”enĆ­"
msgid "ASMTP CRAM-MD5"
msgstr "ASMTP CRAM-MD5"
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Odebrat tiskƔrnu"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "AutomatickĆ” korekce barev"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Skenuje se"
@@ -1389,6 +1611,11 @@ msgstr "ObrĆ”zek se rozostřuje"
msgid "OCR in progress"
msgstr "ProbĆ­hĆ” OCR"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "AutomatickĆ” korekce barev"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "ZahƔjit skenovƔnƭ <Ctrl-Vstup>"
@@ -1446,8 +1673,9 @@ msgstr ""
"Typ formĆ”tu obrĆ”zku, vhodnĆ” koncovka je ke jmĆ©nu souboru doplněnĆ” automaticky"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "ZadƔnƭ jmƩna faxovƩho projektu"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Vyhledat pomocnĆ½ adresĆ”Å™"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1457,9 +1685,15 @@ msgstr "ZadƔnƭ jmƩna faxovƩ strany"
msgid "Enter receiver phone number or address"
msgstr "ZadĆ”nĆ­ telefonnĆ­ho čƭsla nebo adresy pÅ™Ć­jemce"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Vyhledat pomocnĆ½ adresĆ”Å™"
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
-msgstr "Zadejte jmĆ©no poÅ”tovnĆ­ho projektu"
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "Vyhledat pomocnĆ½ adresĆ”Å™"
#. DESC_EMAIL_IMAGENAME
msgid "Enter new name for e-mail image"
@@ -1469,6 +1703,11 @@ msgstr "Zadejte novĆ© jmĆ©no obrĆ”zku do poÅ”ty"
msgid "Enter e-mail address"
msgstr "Zadejte e-mailovou adresu"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Vyhledat pomocnĆ½ adresĆ”Å™"
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr "Zadejte předmět zprĆ”vy"
@@ -1478,8 +1717,14 @@ msgid "Select filetype for image attachments"
msgstr "Zvolte typ souboru pro obrĆ”zkovĆ© pÅ™Ć­lohy"
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
-msgstr "Zadejte jmƩno vƭcestrƔnkovƩho projektu"
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "Vyhledat pomocnĆ½ adresĆ”Å™"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Vyhledat pomocnĆ½ adresĆ”Å™"
#. DESC_MULTIPAGE_FILETYPE
msgid "Select filetype for multipage file"
@@ -1604,7 +1849,8 @@ msgstr ""
" kontrast = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "AutomatickƩ nastavenƭ gamy, jasu a kontrastu <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1688,18 +1934,22 @@ msgstr ""
"postscriptu"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Å Ć­Å™ka tisknutelnĆ© plochy"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "VĆ½Å”ka tisknutelnĆ© plochy"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Posun od levƩho okraje papƭru do tisknutelnƩ plochy"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Posun od spodnƭho okraje papƭru do tisknutelnƩ plochy"
@@ -1719,9 +1969,18 @@ msgstr "DodatečnĆ” gama hodnota pro zelenou komponentu pro kopĆ­rovĆ”nĆ­"
msgid "Additional gamma value for blue component for photocopy"
msgstr "DodatečnĆ” gama hodnota pro modrou komponentu pro kopĆ­rovĆ”nĆ­"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
"Vytvořit zlib komprimovanĆ½ postscript obrĆ”zek pro tisk (flat dekĆ³dovĆ”nĆ­).\n"
@@ -1781,16 +2040,18 @@ msgid ""
msgstr ""
"Je-li čƭtač souborÅÆ automaticky zvětÅ”ovĆ”n, použitĆ” čƭsla jsou přeskočena"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
"komprimovat postscript obrĆ”zek algoritmem zlib (flat dekĆ³dovĆ”nĆ­). Chcete-li "
"takovĆ½ obrĆ”zek tisknout, tiskĆ”rna musĆ­ podporovat postscript level 3"
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+#, fuzzy
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr "komprimovat PDF obrĆ”zek algoritmem zlib (flat dekĆ³dovĆ”nĆ­)."
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1806,7 +2067,9 @@ msgstr ""
"soubory!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"PoÅ”le-li skener obrĆ”zek sĀ 16Ā bity/barvu, zapsat obrĆ”zek vĀ 8Ā bitech/barvu"
@@ -1840,7 +2103,8 @@ msgstr ""
"velikostĆ­"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "ZakĆ”zat gama nĆ”hledu, bÄ›Å¾Ć­-li XSane jako gimp modul"
#. DESC_PREVIEW_COLORMAP
@@ -1906,7 +2170,7 @@ msgstr "Posun, kterĆ½ nastavĆ­ shodnĆ½ rozsah prahÅÆ XSane a rozsah prahÅÆ skene
#. DESC_ADF_PAGES_MAX
msgid "Number of pages to scan"
-msgstr "Počest strĆ”nek k oskenovĆ”nĆ­"
+msgstr "Počet strĆ”nek k oskenovĆ”nĆ­"
#. DESC_PREVIEW_PIPETTE_RANGE
msgid "dimension of square that is used to average color for pipette function"
@@ -1931,6 +2195,15 @@ msgstr "Po naskenovƔnƭ nƔhledu vybere skenovacƭ oblast"
msgid "Do color correction after preview scan has finished"
msgstr "Po naskenovƔnƭ nƔhledu provede barevnou korekci"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Po naskenovƔnƭ nƔhledu vybere skenovacƭ oblast"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "NastavenĆ­ pÅ™Ć­kazu provĆ”děnĆ©ho ve faxovĆ©m režimu"
@@ -1960,8 +2233,9 @@ msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr ""
"UžitĆ­ vysokĆ©ho svislĆ©ho rozliÅ”enĆ­ při odesĆ­lĆ”nĆ­ faxu (196Ā dpi namĆ­sto 98Ā dpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+#, fuzzy
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr "Vytvořit zlib komprimovanĆ½ postscript pro fax (flat dekĆ³dovĆ”nĆ­)"
#. DESC_SMTP_SERVER
@@ -2038,9 +2312,10 @@ msgstr "čtenƭ"
msgid "write"
msgstr "zƔpis"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "spuÅ”těnĆ­"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "uživatel"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2209,6 +2484,36 @@ msgstr "Přidat vybranou oblast ze seznamu dĆ”vek"
msgid "Turns on automatic mode"
msgstr "Zapne automatickĆ½ režim"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Vyhledat jmƩno souboru"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Vyhledat jmƩno souboru"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Vyhledat jmƩno souboru"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Vyhledat jmƩno souboru"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Vyhledat jmƩno souboru"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Vyhledat jmƩno souboru"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Selhalo určenĆ­ domovskĆ©ho adresĆ”Å™e:"
@@ -2261,11 +2566,6 @@ msgstr "Chyba během zĆ”pisu:"
msgid "Can't handle depth"
msgstr "Nelze zpracovat hloubku"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP nepodporuje hloubku %d bitÅÆ/barvu"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "NeznĆ”mĆ½ formĆ”t souboru pro zĆ”pis"
@@ -2498,10 +2798,68 @@ msgstr "Soubor %s nenĆ­ postscriptovĆ½ soubor"
msgid "Unsupported %d-bit output format: %s"
msgstr "NepodporovanĆ© %dbitovĆ© vĆ½stupnĆ­ formĆ”ty: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Chyba během zĆ”pisu:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "OtevřenĆ­ selhalo"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Odebrat tiskƔrnu"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Vyhledat jmƩno souboru"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Odebrat tiskƔrnu"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Nelze vytvořit dočasnĆ½ soubor"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "obrĆ”zek zĀ prohlĆ­Å¾eče nenĆ­ zapsĆ”n"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "ObrƔzek"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Zapsat seznam dƔvek"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Při skončenĆ­ zapsat předvolby zaÅ™Ć­zenĆ­"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "NastavenĆ­"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "UžitĆ­:"
@@ -2876,8 +3234,64 @@ msgstr "Nedostatek paměti"
msgid "Access to resource has been denied"
msgstr "PÅ™Ć­stup ke zdroji byl odmĆ­tnut"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Nelze vytvořit dočasnĆ½ soubor"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Odebrat tiskƔrnu"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Odebrat tiskƔrnu"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Odebrat tiskƔrnu"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Odebrat tiskƔrnu"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Odebrat tiskƔrnu"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Odebrat tiskƔrnu"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Vyhledat jmƩno souboru"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Vyhledat jmƩno souboru"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP nepodporuje hloubku %d bitÅÆ/barvu"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Odebrat tiskƔrnu"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Odebrat tiskƔrnu"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "ZadƔnƭ jmƩna faxovƩho projektu"
+
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Zadejte jmĆ©no poÅ”tovnĆ­ho projektu"
+
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Zadejte jmƩno vƭcestrƔnkovƩho projektu"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "GIMP nepodporuje hloubku 16 bitÅÆ/barvu.\n"
+#~ "Chcete redukovat hloubku na 8 bitÅÆ/barvu?"
#~ msgid "Could not create temporary preview files"
#~ msgstr "Nelze vytvořit pracovnĆ­ nĆ”hledovĆ© soubory"
@@ -2940,9 +3354,6 @@ msgstr "PÅ™Ć­stup ke zdroji byl odmĆ­tnut"
#~ msgid "Multipage saving aborted"
#~ msgstr "PoÅ”tovnĆ­ projekt byl vytvořen"
-#~ msgid "Image"
-#~ msgstr "ObrƔzek"
-
#~ msgid "Viewer (png):"
#~ msgstr "ProhlĆ­Å¾eč (png):"
diff --git a/po/da.gmo b/po/da.gmo
index 79ae18a..a7aa714 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index f96fde0..a6543e1 100644
--- a/po/da.po
+++ b/po/da.po
@@ -6,7 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.99\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2005-12-31 04:36+0100\n"
"Last-Translator: Mogens Jaeger <mogensjaeger@get2net.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"
@@ -34,6 +35,7 @@ msgid "About"
msgstr "Om"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Om oversƦttelse"
@@ -73,6 +75,11 @@ msgstr "omdĆøb batchomrĆ„de"
msgid "fax project"
msgstr "fax projekt"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Angiv navn pƄ fax projekt"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "omdĆøb fax side"
@@ -85,6 +92,11 @@ msgstr "indsƦt ps-fil i fax"
msgid "E-mail project"
msgstr "E-post projekt"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Angiv navn pƄ e-post projekt"
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr "omdĆøb e-post billede"
@@ -97,6 +109,11 @@ msgstr "indsƦt fil i e-post"
msgid "multipage project"
msgstr "flerside projekt"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "flerside projekt"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "omdĆøb forvalgt omrĆ„de"
@@ -142,6 +159,7 @@ msgid "Preview"
msgstr "ForhƄndsvisning"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Viser"
@@ -174,14 +192,17 @@ msgid "select temporary directory"
msgstr "vƦlg midlertidigt bibliotek"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "SkalƩr billede"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Fjern kornstĆøj fra billede"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "SlĆør billede"
@@ -193,6 +214,35 @@ msgstr "Gem medie definition"
msgid "No devices available"
msgstr "Ingen enheder til rƄdighed"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Slet printer"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Slet printer"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "vƦlg uddatafilnavn"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Slet printer"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Slet printer"
+
#. MENU_FILE
msgid "File"
msgstr "Fil"
@@ -210,6 +260,7 @@ msgid "Window"
msgstr "Vindue"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "HjƦlp"
@@ -225,6 +276,11 @@ msgstr "Filtre"
msgid "Geometry"
msgstr "Geometri"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Om XSane"
@@ -238,6 +294,7 @@ msgid "Quit"
msgstr "Afslut"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Gem billede"
@@ -254,6 +311,7 @@ msgid "Scale"
msgstr "SkalƩr"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Luk"
@@ -445,11 +503,11 @@ msgstr "Overskriv advarsel"
msgid "Skip existing filenames"
msgstr "Drop eksisterende filnavne"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr "Gem postscript zlib-komprimeret (ps level 3)"
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr "Gem PDF zlib-komprimeret"
@@ -466,7 +524,8 @@ msgid "Main window size fixed"
msgstr "Hoved-vinduesstĆørrelse er fast"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "DeaktivƩr GIMP forhƄndsvisnings gamma"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -489,6 +548,11 @@ msgstr "AutooptimƩr farver"
msgid "Use GUI progress pipe"
msgstr "Brug GUI fremskridtsrĆør"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "Skanner efter enheder"
@@ -505,6 +569,12 @@ msgstr "XSane indstillinger"
msgid "Type"
msgstr "Type"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Fuldt farveomrƄde"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Skanner og bagende:"
@@ -577,18 +647,11 @@ msgstr "8 bit uddataformater:"
msgid "16 bit output formats:"
msgstr "16 bit uddataformater:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"GIMP understĆøtter ikke 16 bit/farve.\n"
-"Ƙnsker du at reducere til 8 bit/farve?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"16 bit/farve er ikke understĆøttet for dette uddataformat.\n"
"Ƙnsker du at reducere til 8 bit/farve?"
@@ -625,6 +688,11 @@ msgstr "version:"
msgid "package"
msgstr "pakke"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Fuldt farveomrƄde"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "med GIMP understĆøttelse"
@@ -757,9 +825,10 @@ msgid "Medium Name:"
msgstr "Medienavn:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"StĆørrelse %d x %d pixel, %d bit/farve, %d farver, %1.0f dpi x %1.0f dpi, %"
"1.1f %s"
@@ -813,6 +882,7 @@ msgid "Name:"
msgstr "Navn:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Kommando:"
@@ -833,18 +903,22 @@ msgid "Color resolution (dpi):"
msgstr "Farve oplĆøsning (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Bredde"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "HĆøjde"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Venstre margen"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Bund margen"
@@ -864,7 +938,17 @@ msgstr "Printers gammavƦrdi i grĆøn:"
msgid "Printer gamma blue:"
msgstr "Printers gammavƦrdi i blƄ:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Slet printer"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Slet printer"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Dan zlib-komprimeret postscript-billede (ps level 3) til udskrivning"
@@ -988,7 +1072,7 @@ msgstr "SƦt program standardvƦrdier for:"
msgid "Viewer (Postscript):"
msgstr "Viser (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr "Dan zlib-komprimeret postscript-billede (ps level 3) til fax"
@@ -1064,10 +1148,45 @@ msgstr "gruppe"
msgid "all"
msgstr "alle"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Slet printer"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Slet printer"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Slet printer"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "SĆøg efter billed filnavn"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "nyt medie"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Gem"
@@ -1076,14 +1195,17 @@ msgid "Filetype"
msgstr "Filtype"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Kopi"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Fax"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr "E-post"
@@ -1175,6 +1297,12 @@ msgstr "Vis liste med oplĆøsninger"
msgid "Rotate postscript"
msgstr "RotƩr postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Fuldt farveomrƄde"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Ret mediedefinition"
@@ -1219,6 +1347,86 @@ msgstr "Skannertips"
msgid "Problems?"
msgstr "Problemer?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "TilfĆøj printer"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "TilfĆøj printer"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "TilfĆøj printer"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "TilfĆøj printer"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "autorisation"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "skriv"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "ReducƩr"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "SlĆør"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "Ikke aktiv"
@@ -1335,6 +1543,20 @@ msgstr "ASMTP logind"
msgid "ASMTP CRAM-MD5"
msgstr "ASMTP CRAM-MD5"
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Slet printer"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "AutooptimƩr farver"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Skanning"
@@ -1392,6 +1614,11 @@ msgstr "SlĆører billede"
msgid "OCR in progress"
msgstr "Tekstgenkendelse"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "AutooptimƩr farver"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Start skanning <Ctrl Enter>"
@@ -1451,8 +1678,9 @@ msgstr ""
"filnavnet."
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Angiv navn pƄ fax projekt"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Find sti til midlertidigt bibliotek"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1462,9 +1690,15 @@ msgstr "Angiv nyt navn for fax side"
msgid "Enter receiver phone number or address"
msgstr "Angiv modtager telefonnummer eller adresse"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Find sti til midlertidigt bibliotek"
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
-msgstr "Angiv navn pƄ e-post projekt"
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "Find sti til midlertidigt bibliotek"
#. DESC_EMAIL_IMAGENAME
msgid "Enter new name for e-mail image"
@@ -1474,6 +1708,11 @@ msgstr "Angiv nyt navn pƄ e-post billede"
msgid "Enter e-mail address"
msgstr "Angiv e-post adresse"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Find sti til midlertidigt bibliotek"
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr "Angiv subjekt for e-post"
@@ -1483,8 +1722,14 @@ msgid "Select filetype for image attachments"
msgstr "VƦlg filtype for billed vedhƦftninger"
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
-msgstr "Angiv navn pƄ flerside projekt"
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "Find sti til midlertidigt bibliotek"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Find sti til midlertidigt bibliotek"
#. DESC_MULTIPAGE_FILETYPE
msgid "Select filetype for multipage file"
@@ -1609,7 +1854,8 @@ msgstr ""
" kontrast = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Autojuster gamma, lyshed og kontrast <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1690,18 +1936,22 @@ msgid "Resolution with which color images are printed and saved in postscript"
msgstr "OplĆøsning for printning og gemning i postscript for farve billeder"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Bredde af printbart omrƄde"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "HĆøjde af printbart omrĆ„de"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Venstre margen fra kant af papir, til det printbare omrƄde"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Bund margen fra kant af papir, til det printbare omrƄde"
@@ -1721,9 +1971,18 @@ msgstr "Supplerende gammavƦrdi for fotokopiering, grĆøn farvedel"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Supplerende gammavƦrdi for fotokopiering, blƄ farvedel"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
"Dan zlib-komprimeret postscript billede til printer (flatdecode).\n"
@@ -1781,16 +2040,18 @@ msgid ""
"If filename counter is automatically increased, used numbers are skipped"
msgstr "Hvis filnavntƦller Ćøges automatisk, bliver brugte numre forbigĆ„et"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
"komprimƩr postscript-billede med zlib-algoritme (flatdecode). NƄr en fil af "
"denne type skal udskrives, skal printeren kunne forstƄ postscript level 3"
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+#, fuzzy
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr "komprimƩr PDF-billede med zlib-algoritme (flatdecode)."
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1806,7 +2067,9 @@ msgstr ""
"programmer, men det producerer ret store filer!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Hvis skanner sender billede med 16 bit/farve gemmes billedet med 8 bit/farve"
@@ -1837,7 +2100,8 @@ msgstr ""
"hovedvinduesstĆørrelse"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "Deaktiver forhĆ„ndsvisningsgamma, nĆ„r XSane kĆører som et GIMP plugin"
#. DESC_PREVIEW_COLORMAP
@@ -1935,6 +2199,15 @@ msgstr "VƦlg skanomrĆ„de, nĆ„r forhĆ„ndsvisning er gennemfĆørt"
msgid "Do color correction after preview scan has finished"
msgstr "UdfĆør farvekorrektion, nĆ„r forhĆ„ndsvisning er gennemfĆørt"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "VƦlg skanomrĆ„de, nĆ„r forhĆ„ndsvisning er gennemfĆørt"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Komando der skal udfĆøres i fax tilstand"
@@ -1964,8 +2237,9 @@ msgstr "Komando der skal udfĆøres, for at vise en fax"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "Send fax med hĆøj lodret oplĆøsning (196 lpi i stedet for 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+#, fuzzy
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr "Dan zlib-komprimeret postscript billede til fax (flatdecode)"
#. DESC_SMTP_SERVER
@@ -2045,9 +2319,10 @@ msgstr "lƦs"
msgid "write"
msgstr "skriv"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "udfĆør"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "bruger"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2216,6 +2491,36 @@ msgstr "Slet valgt forhƄndsvisningsomrƄde fra batchliste"
msgid "Turns on automatic mode"
msgstr "TƦnder for automatisk tilstand"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "SĆøg efter billed filnavn"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "SĆøg efter billed filnavn"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "SĆøg efter billed filnavn"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "SĆøg efter billed filnavn"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "SĆøg efter billed filnavn"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "SĆøg efter billed filnavn"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Kunne ikke bestemme hjem-bibliotek:"
@@ -2268,11 +2573,6 @@ msgstr "Fejl under skrivning:"
msgid "Can't handle depth"
msgstr "Ikke understĆøttet bit-dybde"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP understĆøtter ikke %d bit/farve dybde"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Ukendt filformat til gemning"
@@ -2504,10 +2804,68 @@ msgstr "Fil %s er ikke en postscript fil"
msgid "Unsupported %d-bit output format: %s"
msgstr "Ikke understĆøttet %d-bit uddataformat: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Fejl under skrivning:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Kunne ikke Ć„bne"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Slet printer"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "SĆøg efter billed filnavn"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Slet printer"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Kunne ikke skabe midlertidig fil"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "viser-billede er ikke gemt"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Sider:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Gem batchliste"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Gem enhedsindstillinger ved afslutning"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "Indstillinger"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Brug:"
@@ -2879,11 +3237,61 @@ msgstr "Ikke mere ram"
msgid "Access to resource has been denied"
msgstr "Adgang til ressource nƦgtet"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Kunne ikke skabe midlertidig fil"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Slet printer"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Slet printer"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Slet printer"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Slet printer"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Slet printer"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Slet printer"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "SĆøg efter billed filnavn"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "SĆøg efter billed filnavn"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP understĆøtter ikke %d bit/farve dybde"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Slet printer"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Slet printer"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Angiv navn pƄ fax projekt"
+
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Angiv navn pƄ e-post projekt"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "Kunne ikke danne midlertidig forhƄndsvisningsfiler"
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Angiv navn pƄ flerside projekt"
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "Kunne ikke danne filnavne til forhƄndsvisningsfiler"
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "GIMP understĆøtter ikke 16 bit/farve.\n"
+#~ "Ƙnsker du at reducere til 8 bit/farve?"
diff --git a/po/de.gmo b/po/de.gmo
index 0eaec78..dc045f7 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 97820fe..ab36370 100644
--- a/po/de.po
+++ b/po/de.po
@@ -5,7 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.99\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2000-01-21 15:51+01:00\n"
"Last-Translator: Oliver Rauch <Oliver.Rauch@rauch-domain.de>\n"
"Language-Team: German <de@li.org>\n"
@@ -32,6 +33,7 @@ msgid "About"
msgstr "Ɯber"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Ɯber Ɯbersetzung"
@@ -71,6 +73,10 @@ msgstr "Stapelscan Bereich umbenennen"
msgid "fax project"
msgstr "Faxprojekt"
+#. WINDOW_FAX_PROJECT_BROWSE
+msgid "browse for fax project"
+msgstr "Nach Faxprojekt suchen"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "Faxseite umbenennen"
@@ -83,6 +89,10 @@ msgstr "ps-Datei einfĆ¼gen in Fax"
msgid "E-mail project"
msgstr "E-Mail Projekt"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+msgid "browse for email project"
+msgstr "Nach E-Mailprojekt suchen"
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr "E-Mail Bild umbenennen"
@@ -95,6 +105,10 @@ msgstr "Bild in E-Mail einfĆ¼gen"
msgid "multipage project"
msgstr "Mehrseiten-Projekt"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+msgid "browse for multipage project"
+msgstr "Nach Mehrseiten-Projekt suchen"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "Bereichsvoreinstellung umbenennen"
@@ -140,6 +154,7 @@ msgid "Preview"
msgstr "Vorschau"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Betrachter"
@@ -172,14 +187,17 @@ msgid "select temporary directory"
msgstr "temporƤres Verzeichnis auswƤhlen"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Bild skalieren"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Flecken entfernen"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Bild weichzeichnen"
@@ -191,6 +209,30 @@ msgstr "Mediumdefinition speichern"
msgid "No devices available"
msgstr "Keine GerƤte erreichbar"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+msgid "select scanner default color ICM-profile"
+msgstr "standard Farb-ICM-Profil fĆ¼r Scanner auswƤhlen"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+msgid "select scanner default gray ICM-profile"
+msgstr "standard Graustufen-ICM-Profil fĆ¼r Scanner auswƤhlen"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr "ICM-Profil fĆ¼r Bildschirm auswƤhlen"
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+msgid "select custom proofing ICM-profile"
+msgstr "Benutzerdefiniertes Proofing ICM Profil auswƤhlen"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+msgid "select working color space ICM-profile"
+msgstr "ICM-Profil fĆ¼r Arbeitsfarbraum auswƤhlen"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+msgid "select printer ICM-profile"
+msgstr "ICM Profil fĆ¼r Drucker auswƤhlen"
+
#. MENU_FILE
msgid "File"
msgstr "Datei"
@@ -208,6 +250,7 @@ msgid "Window"
msgstr "Fenster"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Hilfe"
@@ -223,6 +266,11 @@ msgstr "Filter"
msgid "Geometry"
msgstr "Geometrie"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr "Farbmanagement"
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Ɯber XSane"
@@ -236,6 +284,7 @@ msgid "Quit"
msgstr "Beenden"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Bild speichern"
@@ -252,6 +301,7 @@ msgid "Scale"
msgstr "Skalieren"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "SchlieƟen"
@@ -443,11 +493,11 @@ msgstr "Ɯberschreibwarnung"
msgid "Skip existing filenames"
msgstr "Existierende Dateinamen Ć¼berspringen"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr "Speichere Postscript zlib-komprimiert (ps level 3)"
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr "Speichere PDF zlib-komprimiert"
@@ -464,8 +514,8 @@ msgid "Main window size fixed"
msgstr "Feste HauptfenstergrĆ¶ĆŸe"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
-msgstr "Vorschau-Gamma fĆ¼r Gimp deaktivieren"
+msgid "Disable GIMP preview gamma"
+msgstr "Vorschau-Gamma fĆ¼r GIMP deaktivieren"
#. RADIO_BUTTON_PRIVATE_COLORMAP
msgid "Use private colormap"
@@ -487,6 +537,11 @@ msgstr "Automatische Farbkorrektur"
msgid "Use GUI progress pipe"
msgstr "Benutze GUI Fortschritts Pipe"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr "Schwarzpunkt kompensieren"
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "Suche nach GerƤten"
@@ -503,6 +558,11 @@ msgstr "XSane Optionen"
msgid "Type"
msgstr "Typ"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+msgid "Color management function"
+msgstr "Farbmanagement-Funktion"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Scanner und Backends"
@@ -575,21 +635,13 @@ msgstr "8 Bit Ausgabeformate:"
msgid "16 bit output formats:"
msgstr "16 Bit Ausgabeformate:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp unterstĆ¼tzt die Bittiefe 16Bits/Farbe nicht.\n"
-"Mƶchten Sie die Bittiefe auf 8 Bits/Farbe reduzieren?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
-"Die Bittiefe 16Bits/Farbe wird von diesem Ausgabeformat nicht unterstĆ¼tzt.\n"
-"Mƶchten Sie die Bittiefe auf 8 Bits/Farbe reduzieren?"
+"Die Bittiefe 16Bits/Kanal wird von diesem Ausgabeformat nicht unterstĆ¼tzt.\n"
+"Mƶchten Sie die Bittiefe auf 8 Bits/Kanal reduzieren?"
#. TEXT_AUTHORIZATION_REQ
msgid "Authorization required for"
@@ -623,6 +675,10 @@ msgstr "Version:"
msgid "package"
msgstr "Paket"
+#. TEXT_WITH_CMS_FUNCTION
+msgid "with color management function"
+msgstr "mit Farbmanagement-Funktion"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "mit GIMP-UnterstĆ¼tzung"
@@ -756,11 +812,11 @@ msgid "Medium Name:"
msgstr "Medium Name:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
-"GrĆ¶ĆŸe %d x %d Punkte, %d Bit/Farbe, %d Farben, %1.0f dpi x %1.0f dpi, %1.1f %"
+"GrĆ¶ĆŸe %d x %d Punkte, %d Bit/Kanal, %d KanƤle, %1.0f dpi x %1.0f dpi, %1.1f %"
"s"
#. TEXT_DESPECKLE_RADIUS
@@ -812,6 +868,7 @@ msgid "Name:"
msgstr "Name:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Befehl:"
@@ -832,18 +889,22 @@ msgid "Color resolution (dpi):"
msgstr "Farb-Auflƶsung (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Breite"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Hƶhe"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Linker Rand"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Unterer Rand"
@@ -863,7 +924,15 @@ msgstr "Drucker Gammawert grĆ¼n:"
msgid "Printer gamma blue:"
msgstr "Drucker Gammawert blau:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Scanner/Quell-ICM-Profil als CSA einbinden"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+msgid "Embed printer ICM profile as CRD"
+msgstr "ICM Profil fĆ¼r Drucker als CRD einbinden"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Erzeuge zlib-komprimiertes Posctscript Bild (ps level 3) zum Drucken"
@@ -987,7 +1056,7 @@ msgstr "Setze Standardwerte fĆ¼r folgendes Programm"
msgid "Viewer (Postscript):"
msgstr "Betrachter (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr "Erzeuge zlib-komprimiertes Postscript-Bild (ps level 3) zum Faxen"
@@ -1063,10 +1132,41 @@ msgstr "Gruppe"
msgid "all"
msgstr "Alle"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+msgid "Scanner default color ICM-profile"
+msgstr "Standard Scanner Farb-ICM-Profil"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+msgid "Scanner default gray ICM-profile"
+msgstr "Standard Scanner Graustufen ICM-Profil"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr "Bildschirm ICM-Profil"
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+msgid "Custom proofing ICM-profile"
+msgstr "Benutzerdefiniertes Proofing ICM-Profil"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+msgid "Working color space ICM-profile"
+msgstr "Arbeitsfarbraum ICM-Profil"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr "Drucker ICM-Profil"
+
msgid "new media"
msgstr "neues Medium"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Speichern"
@@ -1075,14 +1175,17 @@ msgid "Filetype"
msgstr "Dateityp"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Fotokopie"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Fax"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr "E-Mail"
@@ -1174,6 +1277,11 @@ msgstr "Zeige Auflƶsungsliste"
msgid "Rotate postscript"
msgstr "Drehe Postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+msgid "Enable color management"
+msgstr "aktiviere Farbmanagement"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Mediumdefinition Ƥndern"
@@ -1218,6 +1326,78 @@ msgstr "Scantipps"
msgid "Problems?"
msgstr "Probleme?"
+#. MENU_ITEM_CMS_PROOFING
+msgid "Proofing"
+msgstr "Proofing"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr "keine Nachbildung (Bildschirm)"
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+msgid "Proof printer"
+msgstr "Nachbildung Drucker"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr "Nachbildung Benutzerdefinierte Ausgabe"
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+msgid "Rendering intent"
+msgstr ""
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+msgid "Proofing rendering intent"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr "Wahrnehmungsorientiert"
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr "Relativ farbmetrisch"
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr "Absolut farbmetrisch"
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+msgid "Saturation"
+msgstr "SƤttigung"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr "Gamut prĆ¼fen"
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr "Gamut Alarmfarbe"
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr "Schwarz"
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr "Grau"
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+msgid "White"
+msgstr "Weiss"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+msgid "Red"
+msgstr "Rot"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr "GrĆ¼n"
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+msgid "Blue"
+msgstr "Blau"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "nicht aktiv"
@@ -1334,6 +1514,18 @@ msgstr "ASMTP Login"
msgid "ASMTP CRAM-MD5"
msgstr "ASMTP CRAM-MD5"
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+msgid "Embed scanner ICM profile"
+msgstr "Scanner ICM-Profil einbinden"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr "Nach sRGB konvertieren"
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+msgid "Convert to working color space"
+msgstr "In Arbeitsfarbraum konvertieren"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Scanne"
@@ -1391,6 +1583,10 @@ msgstr "Bild weichzeichnen"
msgid "OCR in progress"
msgstr "Texterkennung"
+#. PROGRESS_ICM_CONVERSION
+msgid "converting colors"
+msgstr "konvertiere Farben"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Scan starten <Ctrl-Enter>"
@@ -1450,8 +1646,8 @@ msgstr ""
"Dateinamen angehƤngt"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Name des Faxprojekts"
+msgid "Enter fax project directory name"
+msgstr "Faxprojekt-Verzeichnis Namen eingeben"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1461,9 +1657,13 @@ msgstr "Name der Faxseite eingeben"
msgid "Enter receiver phone number or address"
msgstr "Telefonnummer des EmpfƤngers eingeben"
+#. DESC_FAX_PROJECT_BROWSE
+msgid "Browse for fax project directory"
+msgstr "Nach Faxprojekt-Verzeichnis suchen"
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
-msgstr "Name des E-Mailprojekts"
+msgid "Enter e-mail project directory name"
+msgstr "Email-Projekt-Verzeichnis Namen eingeben"
#. DESC_EMAIL_IMAGENAME
msgid "Enter new name for e-mail image"
@@ -1473,6 +1673,10 @@ msgstr "neuen Name fĆ¼r E-Mail Bild eingeben"
msgid "Enter e-mail address"
msgstr "E-Mail Adresse eingeben"
+#. DESC_EMAIL_PROJECT_BROWSE
+msgid "Browse for email project directory"
+msgstr "Nach Email-Projekt-Verzeichnis suchen"
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr "Betreff der E-Mail eingeben"
@@ -1482,8 +1686,12 @@ msgid "Select filetype for image attachments"
msgstr "Dateityp fĆ¼r E-Mailanhang auswƤhlen"
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
-msgstr "Name des mehrseitigen Projekts eingeben"
+msgid "Enter multipage project directory name"
+msgstr "Mehrseiten-Projekt-Verzeichnis Namen eingeben"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+msgid "Browse for multipage project directory"
+msgstr "Nach Mehrseiten-Projekt-Verzeichnis suchen"
#. DESC_MULTIPAGE_FILETYPE
msgid "Select filetype for multipage file"
@@ -1608,8 +1816,8 @@ msgstr ""
"Kontrast = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
-msgstr "Automatische Einstellung von Gamma, Helligkeit und Kontrast <Ctrl-e>"
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
+msgstr "Automatische Einstellung von Gamma, Helligkeit und Kontrast <Ctrl-a>"
#. DESC_ENH_DEFAULT
msgid ""
@@ -1693,18 +1901,22 @@ msgstr ""
"werden"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Breite des druckbaren Bereichs"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Hƶhe des druckbaren Bereichs"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Abstand vom linken Papierrand zum Beginn des druckbaren Bereichs"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Abstand vom unteren Papierrand zum Beginn des druckbaren Bereichs"
@@ -1724,9 +1936,17 @@ msgstr "ZusƤtzlicher Gammawert fĆ¼r grĆ¼ne Komponente beim Fotokopieren"
msgid "Additional gamma value for blue component for photocopy"
msgstr "ZusƤtzlicher Gammawert fĆ¼r blaue Komponente beim Fotokopieren"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr "Erzeugt eine Postscriptdatei die das ICM-Profil des Scammers enthƤlt"
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr "Erzeugt eine Postscriptdatei die das ICM-Profil des Druckers enthƤlt"
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
"Erzeuge zlib-komprimiertes Postscript Bild zum Drucken (flatdecode).\n"
@@ -1789,17 +2009,17 @@ msgstr ""
"Wenn der DateinamenzƤhler automatisch erhƶht wird, werden benutzte "
"Dateinummern Ć¼bersprungen"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-"komprimiere Postscript Bild mit zlib Algorithmus (flatdecode). Wenn die "
+"komprimiere Postscript Bild mit zlib Algorithmus (flatedecode). Wenn die "
"Datei gedruckt werden soll muss der Drucker Postscript level 3 verstehen"
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
-msgstr "komprimiere PDF Bild mit zlib Algorithmus (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
+msgstr "komprimiere PDF Bild mit zlib Algorithmus (flatedecode)."
#. DESC_SAVE_PNM16_AS_ASCII
msgid ""
@@ -1814,10 +2034,11 @@ msgstr ""
"aber die Dateien werden sehr groƟ!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
-"Wenn der Scanner das Bild mit 16 Bits/Farbe liefert wird das Bild mit 8 Bits/"
-"Farbe gespeichert"
+"Wenn der Scanner das Bild mit 16 Bits/Kanal liefert wird das Bild mit 8 Bits/"
+"Kanal gespeichert"
#. DESC_PSFILE_WIDTH
msgid "Width of paper for postscript files"
@@ -1848,7 +2069,7 @@ msgid "Use fixed main window size or scrolled, resizable main window"
msgstr "Verwende feste oder verƤnderbare HauptfenstergrĆ¶ĆŸe"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "Preview Gamma deaktivieren wenn XSane als Gimp-Plugin gestartet wird"
#. DESC_PREVIEW_COLORMAP
@@ -1949,6 +2170,14 @@ msgstr "Scanbereich nach Vorschauscan automatisch auswƤhlen"
msgid "Do color correction after preview scan has finished"
msgstr "Farbkorrektur nach Vorschauscan ausfĆ¼hren"
+#. DESC_RENDERING_INTENT
+msgid "Select rendering intent for preview and saving"
+msgstr "Rendering Intent fĆ¼r Vorschau und zum Speichern auswƤhlen"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr "Scharzpunkt-Kompensation bei Farbtransformation anwenden"
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Befehl, der zum Senden eines Faxprojekts ausgefĆ¼hrt werden soll"
@@ -1980,9 +2209,9 @@ msgstr ""
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "Sende Fax mit hoher vertikaler Auflƶsung (196 lpi anstatt 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
-msgstr ""
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
+msgstr "Erzeuge zlib-komprimiertes Postscript-Bild (ps level 3) zum Faxen"
#. DESC_SMTP_SERVER
msgid "IP Address or Domain name of SMTP server"
@@ -2062,9 +2291,9 @@ msgstr "lesen"
msgid "write"
msgstr "schreiben"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "ausfĆ¼hren"
+#. DESC_PERMISSION_SEARCH
+msgid "search"
+msgstr "durchsuchen"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2233,6 +2462,30 @@ msgstr "AusgewƤhlten Bereich aus Stapelliste lƶschen"
msgid "Turns on automatic mode"
msgstr "Schaltet automatische Einstellung ein"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Suche nach standard Scanner Farb-ICM-Profil"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Suche nach standard Scanner Graustufen-ICM-Profil"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+msgid "Browse for display ICM-profile"
+msgstr "Suche nach Bildschirm ICM-Profil"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+msgid "Browse for printer ICM-profile"
+msgstr "Suche nach Durcker ICM-Profil"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Suche nach Benutzerdefiniertem Proofing ICM-Profil"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+msgid "Browse for working color space ICM-profile"
+msgstr "Suche nach ICM-Profil fĆ¼r den Arbeitsfarbraum"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Konnte Heimatverzeichnis nicht bestimmen"
@@ -2289,11 +2542,6 @@ msgstr "Fehler beim Speichern:"
msgid "Can't handle depth"
msgstr "Nicht unterstĆ¼tzte Bittiefe"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP unterstĆ¼tzt Bittiefe %d Bits/Farbe nicht"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Unbekanntes Ausgabedateiformat"
@@ -2529,10 +2777,58 @@ msgstr "Datei %s is keine Postscript-Datei"
msgid "Unsupported %d-bit output format: %s"
msgstr "Nicht unterstĆ¼tztes %d-bit Ausgabeformat: %s"
+#. ERR_CMS_CONVERSION
+msgid "Error during CMS conversion:"
+msgstr "Fehler bei Farbkonvertierung:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+msgid "Could not open"
+msgstr "Fehler beim Ɩffnen von"
+
+#. CMS_SCANNER_ICM
+msgid "scanner ICM profile"
+msgstr "Scanner ICM-Profil"
+
+#. CMS_DISPLAY_ICM
+msgid "display ICM profile"
+msgstr "Bildschirm ICM-Profil"
+
+#. CMS_PROOF_ICM
+msgid "proofing ICM profile"
+msgstr "Proofing ICM-Profil"
+
+#. ERR_CMS_CREATE_TRANSFORM
+msgid "Could not create transform"
+msgstr "Konnte Transformation nicht erstellen"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "Betrachter-Bild ist nicht gespeichert"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr "Alle Dateien"
+
+#. FILE_FILTER_IMAGES
+msgid "Images"
+msgstr "Bilder"
+
+#. FILE_FILTER_XBL
+msgid "XSane batch list"
+msgstr "Stapellisten"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr "ICC/ICM Profile"
+
+#. FILE_FILTER_DRC
+msgid "XSane device preferences"
+msgstr "GerƤteeinstellungen"
+
+#. FILE_FILTER_RC
+msgid "XSane preferences"
+msgstr "Einstellungen"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Gebrauch:"
@@ -2900,3 +3196,4 @@ msgstr "Kein Speicher"
msgid "Access to resource has been denied"
msgstr "Zugang zum GerƤt wurde verweigert"
+
diff --git a/po/de.po~ b/po/de.po~
new file mode 100644
index 0000000..5071eb4
--- /dev/null
+++ b/po/de.po~
@@ -0,0 +1,3244 @@
+# German translation for XSane.
+# Copyright (C) 1999-2002 Oliver Rauch
+# Oliver Rauch <Oliver.Rauch@rauch-domain.de>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: XSANE 0.99\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"PO-Revision-Date: 2000-01-21 15:51+01:00\n"
+"Last-Translator: Oliver Rauch <Oliver.Rauch@rauch-domain.de>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Please translate this to the correct directory name (eg. german=>de)
+#. XSANE_LANGUAGE_DIR
+msgid "language_dir"
+msgstr "de"
+
+#. XSANE_COPYRIGHT_SIGN
+msgid "(c)"
+msgstr "Ā©"
+
+#. can be translated with \251
+#. FILENAME_PREFIX_CLONE_OF
+msgid "clone-of-"
+msgstr "Duplikat-von-"
+
+#. WINDOW_ABOUT_XSANE
+msgid "About"
+msgstr "Ɯber"
+
+#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
+msgid "About translation"
+msgstr "Ɯber Ɯbersetzung"
+
+#. WINDOW_AUTHORIZE
+msgid "authorization"
+msgstr "Autorisation"
+
+#. WINDOW_GPL
+msgid "GPL - the license"
+msgstr "GPL - die Lizenz"
+
+#. WINDOW_EULA
+msgid "End User License Agreement"
+msgstr "Endbenutzervereinbarung (EULA)"
+
+#. WINDOW_INFO
+msgid "info"
+msgstr "Informationen"
+
+#. WINDOW_LOAD_BATCH_LIST
+msgid "load batch list"
+msgstr "Stapelliste laden"
+
+#. WINDOW_SAVE_BATCH_LIST
+msgid "save batch list"
+msgstr "Stapelliste speichern"
+
+#. WINDOW_BATCH_SCAN
+msgid "batch scan"
+msgstr "Stapel Scan"
+
+#. WINDOW_BATCH_RENAME
+msgid "rename batch area"
+msgstr "Stapelscan Bereich umbenennen"
+
+#. WINDOW_FAX_PROJECT
+msgid "fax project"
+msgstr "Faxprojekt"
+
+#. WINDOW_FAX_PROJECT_BROWSE
+msgid "browse for fax project"
+msgstr "Nach Faxprojekt suchen"
+
+#. WINDOW_FAX_RENAME
+msgid "rename fax page"
+msgstr "Faxseite umbenennen"
+
+#. WINDOW_FAX_INSERT
+msgid "insert ps-file into fax"
+msgstr "ps-Datei einfĆ¼gen in Fax"
+
+#. WINDOW_EMAIL_PROJECT
+msgid "E-mail project"
+msgstr "E-Mail Projekt"
+
+#. WINDOW_EMAIL_PROJECT_BROWSE
+msgid "browse for email project"
+msgstr "Nach E-Mailprojekt suchen"
+
+#. WINDOW_EMAIL_RENAME
+msgid "rename e-mail image"
+msgstr "E-Mail Bild umbenennen"
+
+#. WINDOW_EMAIL_INSERT
+msgid "insert file into e-mail"
+msgstr "Bild in E-Mail einfĆ¼gen"
+
+#. WINDOW_MULTIPAGE_PROJECT
+msgid "multipage project"
+msgstr "Mehrseiten-Projekt"
+
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+msgid "browse for multipage project"
+msgstr "Nach Mehrseiten-Projekt suchen"
+
+#. WINDOW_PRESET_AREA_RENAME
+msgid "rename preset area"
+msgstr "Bereichsvoreinstellung umbenennen"
+
+#. WINDOW_PRESET_AREA_ADD
+msgid "add preset area"
+msgstr "Bereichsvoreinstellung hinzufĆ¼gen"
+
+#. WINDOW_MEDIUM_RENAME
+msgid "rename medium"
+msgstr "Medium umbenennen"
+
+#. WINDOW_MEDIUM_ADD
+msgid "add new medium"
+msgstr "Medium hinzufĆ¼gen"
+
+#. WINDOW_SETUP
+msgid "setup"
+msgstr "Konfiguration"
+
+#. WINDOW_HISTOGRAM
+msgid "Histogram"
+msgstr "Histogramm"
+
+#. WINDOW_GAMMA
+msgid "Gamma curve"
+msgstr "Gamma Kurve"
+
+#. WINDOW_STANDARD_OPTIONS
+msgid "Standard options"
+msgstr "Standard Optionen"
+
+#. WINDOW_ADVANCED_OPTIONS
+msgid "Advanced options"
+msgstr "Erweiterte Optionen"
+
+#. WINDOW_DEVICE_SELECTION
+msgid "device selection"
+msgstr "GerƤteauswahl"
+
+#. WINDOW_PREVIEW
+msgid "Preview"
+msgstr "Vorschau"
+
+#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
+msgid "Viewer"
+msgstr "Betrachter"
+
+#. WINDOW_VIEWER_OUTPUT_FILENAME
+msgid "Viewer: select output filename"
+msgstr "Betrachter: Ausgabedatei auswƤhlen"
+
+#. WINDOW_OCR_OUTPUT_FILENAME
+msgid "Select output filename for OCR text file"
+msgstr "Dateinamen fĆ¼r OCR Text auswƤhlen"
+
+#. WINDOW_OUTPUT_FILENAME
+msgid "select output filename"
+msgstr "Ausgabedatei auswƤhlen"
+
+#. WINDOW_SAVE_SETTINGS
+msgid "save device settings"
+msgstr "Speichere GerƤteeinstellungen"
+
+#. WINDOW_LOAD_SETTINGS
+msgid "load device settings"
+msgstr "Lade GerƤteeinstellungen"
+
+#. WINDOW_CHANGE_WORKING_DIR
+msgid "change working directory"
+msgstr "Arbeitsverzeichnis wechseln"
+
+#. WINDOW_TMP_PATH
+msgid "select temporary directory"
+msgstr "temporƤres Verzeichnis auswƤhlen"
+
+#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
+msgid "Scale image"
+msgstr "Bild skalieren"
+
+#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
+msgid "Despeckle image"
+msgstr "Flecken entfernen"
+
+#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
+msgid "Blur image"
+msgstr "Bild weichzeichnen"
+
+#. WINDOW_STORE_MEDIUM
+msgid "Store medium definition"
+msgstr "Mediumdefinition speichern"
+
+#. WINDOW_NO_DEVICES
+msgid "No devices available"
+msgstr "Keine GerƤte erreichbar"
+
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "reflektives ICM-Profil fĆ¼r Scanner auswƤhlen"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "reflektives Graustufen ICM-Profil fĆ¼r Scanner auswƤhlen"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr "ICM-Profil fĆ¼r Bildschirm auswƤhlen"
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+msgid "select custom proofing ICM-profile"
+msgstr "Benutzerdefiniertes Proofing ICM Profil auswƤhlen"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+msgid "select working color space ICM-profile"
+msgstr "ICM-Profil fĆ¼r Arbeitsfarbraum auswƤhlen"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+msgid "select printer ICM-profile"
+msgstr "ICM Profil fĆ¼r Drucker auswƤhlen"
+
+#. MENU_FILE
+msgid "File"
+msgstr "Datei"
+
+#. MENU_PREFERENCES
+msgid "Preferences"
+msgstr "Einstellungen"
+
+#. MENU_VIEW
+msgid "View"
+msgstr "Ansicht"
+
+#. MENU_WINDOW
+msgid "Window"
+msgstr "Fenster"
+
+#. MENU_HELP
+#. BUTTON_HELP
+msgid "Help"
+msgstr "Hilfe"
+
+#. MENU_EDIT
+msgid "Edit"
+msgstr "Bearbeiten"
+
+#. MENU_FILTERS
+msgid "Filters"
+msgstr "Filter"
+
+#. MENU_GEOMETRY
+msgid "Geometry"
+msgstr "Geometrie"
+
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr "Farbmanagement"
+
+#. MENU_ITEM_ABOUT_XSANE
+msgid "About XSane"
+msgstr "Ɯber XSane"
+
+#. MENU_ITEM_INFO
+msgid "Info"
+msgstr "Informationen"
+
+#. MENU_ITEM_QUIT
+msgid "Quit"
+msgstr "Beenden"
+
+#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
+msgid "Save image"
+msgstr "Bild speichern"
+
+#. MENU_ITEM_OCR
+msgid "OCR - save as text"
+msgstr "OCR - als Text speichern"
+
+#. MENU_ITEM_CLONE
+msgid "Clone"
+msgstr "Klonen"
+
+#. MENU_ITEM_SCALE
+msgid "Scale"
+msgstr "Skalieren"
+
+#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
+msgid "Close"
+msgstr "SchlieƟen"
+
+#. MENU_ITEM_UNDO
+msgid "Undo"
+msgstr "RĆ¼ckgƤngig"
+
+#. MENU_ITEM_DESPECKLE
+msgid "Despeckle"
+msgstr "Entflecken"
+
+#. MENU_ITEM_BLUR
+msgid "Blur"
+msgstr "Weichzeichnen"
+
+#. MENU_ITEM_ROTATE90
+msgid "Rotate 90"
+msgstr "Drehen 90Ā°"
+
+#. MENU_ITEM_ROTATE180
+msgid "Rotate 180"
+msgstr "Drehen 180Ā°"
+
+#. MENU_ITEM_ROTATE270
+msgid "Rotate 270"
+msgstr "Drehen 270Ā°"
+
+#. MENU_ITEM_MIRROR_X
+msgid "Mirror |"
+msgstr "Spiegeln |"
+
+#. MENU_ITEM_MIRROR_Y
+msgid "Mirror -"
+msgstr "Spiegeln -"
+
+#. FRAME_RAW_IMAGE
+msgid "Raw image"
+msgstr "Rohbild"
+
+#. FRAME_ENHANCED_IMAGE
+msgid "Enhanced image"
+msgstr "Verbessertes Bild"
+
+#. BUTTON_SCAN
+msgid "Scan"
+msgstr "Scannen"
+
+#. BUTTON_OK
+msgid "Ok"
+msgstr "OK"
+
+#. BUTTON_ACCEPT
+msgid "Accept"
+msgstr "Akzeptieren"
+
+#. BUTTON_NOT_ACCEPT
+msgid "Not accept"
+msgstr "Nicht akzeptieren"
+
+#. BUTTON_APPLY
+msgid "Apply"
+msgstr "Anwenden"
+
+#. BUTTON_CANCEL
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#. BUTTON_REDUCE
+msgid "Reduce"
+msgstr "Reduzieren"
+
+#. BUTTON_CONT_AT_OWN_RISK
+msgid "Continue at your own risk"
+msgstr "Auf eigenes Risiko fortfahren"
+
+#. BUTTON_BROWSE
+msgid "Browse"
+msgstr "Durchsuchen"
+
+#. BUTTON_OVERWRITE
+msgid "Overwrite"
+msgstr "Ɯberschreiben"
+
+#. BUTTON_BATCH_LIST_SCAN
+msgid "Scan batch list"
+msgstr "Stapelliste scannen"
+
+#. BUTTON_BATCH_AREA_SCAN
+msgid "Scan selected area"
+msgstr "Auswahl scannen"
+
+#. BUTTON_PAGE_DELETE
+msgid "Delete page"
+msgstr "Seite lƶschen"
+
+#. BUTTON_PAGE_SHOW
+msgid "Show page"
+msgstr "Seite anzeigen"
+
+#. BUTTON_PAGE_RENAME
+msgid "Rename page"
+msgstr "Seite umbenennen"
+
+#. BUTTON_IMAGE_DELETE
+msgid "Delete image"
+msgstr "Bild lƶschen"
+
+#. BUTTON_IMAGE_SHOW
+msgid "Show image"
+msgstr "Bild anzeigen"
+
+#. BUTTON_IMAGE_EDIT
+msgid "Edit image"
+msgstr "Bild Ƥndern"
+
+#. BUTTON_IMAGE_RENAME
+msgid "Rename image"
+msgstr "Bild umbenennen"
+
+#. BUTTON_FILE_INSERT
+msgid "Insert file"
+msgstr "Datei einfĆ¼gen"
+
+#. BUTTON_CREATE_PROJECT
+msgid "Create project"
+msgstr "Projekt erstellen"
+
+#. BUTTON_SEND_PROJECT
+msgid "Send project"
+msgstr "Projekt senden"
+
+#. BUTTON_SAVE_MULTIPAGE
+msgid "Save multipage file"
+msgstr "Mehrseitige Datei speichern"
+
+#. BUTTON_DELETE_PROJECT
+msgid "Delete project"
+msgstr "Projekt lƶschen"
+
+#. BUTTON_ADD_PRINTER
+msgid "Add printer"
+msgstr "Drucker hinzufĆ¼gen"
+
+#. BUTTON_DELETE_PRINTER
+msgid "Delete printer"
+msgstr "Drucker lƶschen"
+
+#. BUTTON_PREVIEW_ACQUIRE
+msgid "Acquire preview"
+msgstr "Vorschauscan"
+
+#. BUTTON_PREVIEW_CANCEL
+msgid "Cancel preview"
+msgstr "Vorschauscan abbrechen"
+
+#. BUTTON_DISCARD_IMAGE
+msgid "Discard image"
+msgstr "Bild verwerfen"
+
+#. BUTTON_DISCARD_ALL_IMAGES
+msgid "Discard all images"
+msgstr "alle Bilder verwerfen"
+
+#. BUTTON_DO_NOT_CLOSE
+msgid "Do not close"
+msgstr "nicht schlieƟen"
+
+#. BUTTON_SCALE_BIND
+msgid "Bind scale"
+msgstr "Verbinde Skalierung"
+
+#. RADIO_BUTTON_FINE_MODE
+msgid "Fine mode"
+msgstr "Fein-Modus"
+
+#. RADIO_BUTTON_HTML_EMAIL
+msgid "HTML e-mail"
+msgstr "HTML E-Mail"
+
+#. RADIO_BUTTON_SAVE_DEVPREFS_AT_EXIT
+msgid "Save device preferences at exit"
+msgstr "GerƤteeinstellungen beim Verlassen speichern"
+
+#. RADIO_BUTTON_OVERWRITE_WARNING
+msgid "Overwrite warning"
+msgstr "Ɯberschreibwarnung"
+
+#. RADIO_BUTTON_SKIP_EXISTING_NRS
+msgid "Skip existing filenames"
+msgstr "Existierende Dateinamen Ć¼berspringen"
+
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
+msgid "Save postscript zlib compressed (ps level 3)"
+msgstr "Speichere Postscript zlib-komprimiert (ps level 3)"
+
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
+msgid "Save PDF zlib compressed"
+msgstr "Speichere PDF zlib-komprimiert"
+
+#. RADIO_BUTTON_SAVE_PNM16_AS_ASCII
+msgid "Save 16bit pnm in ascii format"
+msgstr "Speichere 16bit pnm im ASCII-Format"
+
+#. RADIO_BUTTON_REDUCE_16BIT_TO_8BIT
+msgid "Reduce 16 bit image to 8 bit"
+msgstr "Reduziere 16 Bit Bild auf 8 Bit"
+
+#. RADIO_BUTTON_WINDOW_FIXED
+msgid "Main window size fixed"
+msgstr "Feste HauptfenstergrĆ¶ĆŸe"
+
+#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
+msgid "Disable GIMP preview gamma"
+msgstr "Vorschau-Gamma fĆ¼r GIMP deaktivieren"
+
+#. RADIO_BUTTON_PRIVATE_COLORMAP
+msgid "Use private colormap"
+msgstr "Benutze eigene Farbpalette"
+
+#. RADIO_BUTTON_AUTOENHANCE_GAMMA
+msgid "Autoenhance gamma"
+msgstr "Automatische Gammakorrektur"
+
+#. RADIO_BUTTON_PRESELECT_SCANAREA
+msgid "Preselect scanarea"
+msgstr "Scanbereich automatisch wƤhlen"
+
+#. RADIO_BUTTON_AUTOCORRECT_COLORS
+msgid "Autocorrect colors"
+msgstr "Automatische Farbkorrektur"
+
+#. RADIO_BUTTON_OCR_USE_GUI_PIPE
+msgid "Use GUI progress pipe"
+msgstr "Benutze GUI Fortschritts Pipe"
+
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr "Schwarzpunkt kompensieren"
+
+#. TEXT_SCANNING_DEVICES
+msgid "scanning for devices"
+msgstr "Suche nach GerƤten"
+
+#. TEXT_AVAILABLE_DEVICES
+msgid "Available devices:"
+msgstr "Erreichbare GerƤte:"
+
+#. TEXT_XSANE_OPTIONS
+msgid "XSane options"
+msgstr "XSane Optionen"
+
+#. TEXT_FILETYPE
+msgid "Type"
+msgstr "Typ"
+
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+msgid "Color management function"
+msgstr "Farbmanagement-Funktion"
+
+#. TEXT_SCANNER_BACKEND
+msgid "Scanner and backend:"
+msgstr "Scanner und Backends"
+
+#. TEXT_VENDOR
+msgid "Vendor:"
+msgstr "Hersteller:"
+
+#. TEXT_MODEL
+msgid "Model:"
+msgstr "Modell:"
+
+#. TEXT_TYPE
+msgid "Type:"
+msgstr "Typ:"
+
+#. TEXT_DEVICE
+msgid "Device:"
+msgstr "GerƤt:"
+
+#. TEXT_LOADED_BACKEND
+msgid "Loaded backend:"
+msgstr "Geladenes Backend:"
+
+#. TEXT_SANE_VERSION
+msgid "Sane version:"
+msgstr "sane Version:"
+
+#. TEXT_RECENT_VALUES
+msgid "Recent values:"
+msgstr "Aktuelle Werte:"
+
+#. TEXT_GAMMA_CORR_BY
+msgid "Gamma correction by:"
+msgstr "Gammakorrektur durch:"
+
+#. TEXT_SCANNER
+msgid "scanner"
+msgstr "Scanner"
+
+#. TEXT_SOFTWARE_XSANE
+msgid "software (XSane)"
+msgstr "Software (XSane)"
+
+#. TEXT_NONE
+msgid "none"
+msgstr "keine"
+
+#. TEXT_GAMMA_INPUT_DEPTH
+msgid "Gamma input depth:"
+msgstr "Bittiefe Gammaeingabe:"
+
+#. TEXT_GAMMA_OUTPUT_DEPTH
+msgid "Gamma output depth:"
+msgstr "Bittiefe Gammaausgabe:"
+
+#. TEXT_SCANNER_OUTPUT_DEPTH
+msgid "Scanner output depth:"
+msgstr "Bittiefe Scannerausgabe:"
+
+#. TEXT_OUTPUT_FORMATS
+msgid "XSane output formats:"
+msgstr "XSane Ausgabeformate:"
+
+#. TEXT_8BIT_FORMATS
+msgid "8 bit output formats:"
+msgstr "8 Bit Ausgabeformate:"
+
+#. TEXT_16BIT_FORMATS
+msgid "16 bit output formats:"
+msgstr "16 Bit Ausgabeformate:"
+
+#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
+msgid ""
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
+msgstr ""
+"Die Bittiefe 16Bits/Farbe wird von diesem Ausgabeformat nicht unterstĆ¼tzt.\n"
+"Mƶchten Sie die Bittiefe auf 8 Bits/Farbe reduzieren?"
+
+#. TEXT_AUTHORIZATION_REQ
+msgid "Authorization required for"
+msgstr "Autorisation benƶtigt fĆ¼r"
+
+#. TEXT_AUTHORIZATION_SECURE
+msgid "Password transmission is secure"
+msgstr "PasswortĆ¼bertragung ist sicher"
+
+#. TEXT_AUTHORIZATION_INSECURE
+msgid "Backend requests plain-text password"
+msgstr "Backend erbittet unverschlĆ¼sseltes Passwort"
+
+#. TEXT_USERNAME
+msgid "Username :"
+msgstr "Benutzername:"
+
+#. TEXT_PASSWORD
+msgid "Password :"
+msgstr "Passwort:"
+
+#. TEXT_INVALID_PARAMS
+msgid "Invalid parameters."
+msgstr "UngĆ¼ltige Parameter"
+
+#. TEXT_VERSION
+msgid "version:"
+msgstr "Version:"
+
+#. TEXT_PACKAGE
+msgid "package"
+msgstr "Paket"
+
+#. TEXT_WITH_CMS_FUNCTION
+msgid "with color management function"
+msgstr "mit Farbmanagement-Funktion"
+
+#. TEXT_WITH_GIMP_SUPPORT
+msgid "with GIMP support"
+msgstr "mit GIMP-UnterstĆ¼tzung"
+
+#. TEXT_WITHOUT_GIMP_SUPPORT
+msgid "without GIMP support"
+msgstr "ohne GIMP-UnterstĆ¼tzung"
+
+#. TEXT_GTK_VERSION
+msgid "compiled with GTK-"
+msgstr "Ć¼bersetzt mit GTK-"
+
+#. TEXT_GIMP_VERSION
+msgid "compiled with GIMP-"
+msgstr "Ć¼bersetzt mit GIMP-"
+
+#. TEXT_UNKNOWN
+msgid "unknown"
+msgstr "unbekannt"
+
+#. TEXT_EULA
+msgid ""
+"XSane is distributed under the terms of the GNU General Public License\n"
+"as published by the Free Software Foundation; either version 2 of the\n"
+"License, or (at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but\n"
+"WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+"Should the program prove defective, you assume the cost of all\n"
+"necessary servicing, repair or correction. To use this program you\n"
+"have to read, understand and accept the following\n"
+"\"NO WARRANTY\" agreement.\n"
+msgstr ""
+"XSane wird unter den Bedingungen der GNU General Public Licence, wie\n"
+"von der Free Software Foundation verƶffentlicht, herausgegeben, entweder\n"
+"Version 2 der Lizenz, oder (wenn Sie wĆ¼nschen) jeder spƤteren Version.\n"
+"\n"
+"Die Verƶffentlichung dieses Programms erfolgt in der Hoffnung, dass es\n"
+"Ihnen von Nutzen sein wird, aber OHNE JEDE GEWƄHRLEISTUNG\n"
+"- sogar ohne die implizite GewƤhrleistung der MARKTREIFE oder der\n"
+"EIGNUNG FƜR EINEN BESTIMMTEN ZWECK. Sollte das Programm einen\n"
+"Schaden verursachen, dann tragen Sie - der Benutzer - die Kosten\n"
+"fĆ¼r alle notwendigen Dienstleistungen, Reparaturen oder Korrekturen.\n"
+"Um dieses Programm zu benutzen, haben Sie die folgende Vereinbarung\n"
+"Ć¼ber den HaftungsausschluƟ zu lesen, zu verstehen und zu akzeptieren.\n"
+
+#. TEXT_GPL
+msgid ""
+"XSane is distributed under the terms of the GNU General Public License\n"
+"as published by the Free Software Foundation; either version 2 of the\n"
+"License, or (at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but\n"
+"WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+"XSane wird unter den Bedingungen der GNU General Public Licence, wie\n"
+"von der Free Software Foundation verƶffentlicht, herausgegeben, entweder\n"
+"Version 2 der Lizenz, oder (wenn Sie wĆ¼nschen) jeder spƤteren Version.\n"
+"\n"
+"Die Verƶffentlichung dieses Programms erfolgt in der Hoffnung, dass es\n"
+"Ihnen von Nutzen sein wird, aber OHNE JEDE GEWƄHRLEISTUNG\n"
+"- sogar ohne die implizite GewƤhrleistung der MARKTREIFE oder der\n"
+"EIGNUNG FƜR EINEN BESTIMMTEN ZWECK.\n"
+
+#. TEXT_EMAIL_ADR
+msgid "E-mail:"
+msgstr "E-Mail:"
+
+#. TEXT_HOMEPAGE
+msgid "Homepage:"
+msgstr "Homepage:"
+
+#. TEXT_FILE
+msgid "File:"
+msgstr "Datei:"
+
+#. TEXT_TRANSLATION
+msgid "Translation:"
+msgstr "Ɯbersetzung:"
+
+#. Please translate this to something like
+#. translation to YOUR LANGUAGE\n
+#. by YOUR NAME\n
+#. E-mail: your.name@yourdomain.com\n
+#. TEXT_TRANSLATION_INFO
+msgid ""
+"untranslated original english text\n"
+"by Oliver Rauch\n"
+"E-mail: Oliver.Rauch@rauch-domain.de\n"
+msgstr ""
+"Ɯbersetzung ins Deutsche\n"
+"von Oliver Rauch\n"
+"E-Mail: Oliver.Rauch@rauch-domain.de\n"
+
+#. TEXT_INFO_BOX
+msgid "0x0: 0KB"
+msgstr "0x0: 0KB"
+
+#. TEXT_ADF_PAGES_SCANNED
+msgid "Scanned pages: "
+msgstr "gescannte Seiten: "
+
+#. TEXT_EMAIL_TEXT
+msgid "E-mail text:"
+msgstr "E-Mail Text:"
+
+#. TEXT_ATTACHMENTS
+msgid "Attachments:"
+msgstr "Anhang:"
+
+#. TEXT_EMAIL_STATUS
+msgid "Project status:"
+msgstr "Projekt Status:"
+
+#. TEXT_EMAIL_FILETYPE
+msgid "E-mail image filetype:"
+msgstr "Dateityp fĆ¼r E-Mail:"
+
+#. TEXT_PAGES
+msgid "Pages:"
+msgstr "Seiten:"
+
+#. TEXT_MULTIPAGE_FILETYPE
+msgid "Multipage document filetype:"
+msgstr "Dateityp mehrseitiges Dokument:"
+
+#. TEXT_MEDIUM_DEFINITION_NAME
+msgid "Medium Name:"
+msgstr "Medium Name:"
+
+#. TEXT_VIEWER_IMAGE_INFO
+#, fuzzy, c-format
+msgid ""
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
+msgstr ""
+"GrĆ¶ĆŸe %d x %d Punkte, %d Bit/Farbe, %d Farben, %1.0f dpi x %1.0f dpi, %1.1f %"
+"s"
+
+#. TEXT_DESPECKLE_RADIUS
+msgid "Despeckle radius:"
+msgstr "Entflecken Radius:"
+
+#. TEXT_BLUR_RADIUS
+msgid "Blur radius:"
+msgstr "Weichzeichnen Radius:"
+
+#. TEXT_BATCH_AREA_DEFAULT_NAME
+msgid "(no name)"
+msgstr "(kein Name)"
+
+#. TEXT_BATCH_LIST_AREANAME
+msgid "Area name:"
+msgstr "Bereichsname:"
+
+#. TEXT_BATCH_LIST_SCANMODE
+msgid "Scanmode:"
+msgstr "Scanmodus:"
+
+#. TEXT_BATCH_LIST_GEOMETRY_TL
+msgid "Top left:"
+msgstr "Oben links:"
+
+#. TEXT_BATCH_LIST_GEOMETRY_SIZE
+msgid "Size:"
+msgstr "GrĆ¶ĆŸe:"
+
+#. TEXT_BATCH_LIST_RESOLUTION
+msgid "Resolution:"
+msgstr "Auflƶsung:"
+
+#. TEXT_BATCH_LIST_BIT_DEPTH
+msgid "Bit depth:"
+msgstr "Bittiefe:"
+
+#. TEXT_BATCH_LIST_BY_GUI
+msgid "as selected"
+msgstr "wie ausgewƤhlt"
+
+#. TEXT_SETUP_PRINTER_SEL
+msgid "Printer selection:"
+msgstr "Druckerauswahl:"
+
+#. TEXT_SETUP_PRINTER_NAME
+msgid "Name:"
+msgstr "Name:"
+
+#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
+msgid "Command:"
+msgstr "Befehl:"
+
+#. TEXT_SETUP_COPY_NR_OPT
+msgid "Copy number option:"
+msgstr "Option for Anzahl der Kopien:"
+
+#. TEXT_SETUP_PRINTER_LINEART_RES
+msgid "Lineart resolution (dpi):"
+msgstr "Lineart Auflƶsung (dpi):"
+
+#. TEXT_SETUP_PRINTER_GRAYSCALE_RES
+msgid "Grayscale resolution (dpi):"
+msgstr "Graustufen Auflƶsung (dpi):"
+
+#. TEXT_SETUP_PRINTER_COLOR_RES
+msgid "Color resolution (dpi):"
+msgstr "Farb-Auflƶsung (dpi):"
+
+#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
+msgid "Width"
+msgstr "Breite"
+
+#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
+msgid "Height"
+msgstr "Hƶhe"
+
+#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
+msgid "Left offset"
+msgstr "Linker Rand"
+
+#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
+msgid "Bottom offset"
+msgstr "Unterer Rand"
+
+#. TEXT_SETUP_PRINTER_GAMMA
+msgid "Printer gamma value:"
+msgstr "Drucker Gammawert:"
+
+#. TEXT_SETUP_PRINTER_GAMMA_RED
+msgid "Printer gamma red:"
+msgstr "Drucker Gammawert rot:"
+
+#. TEXT_SETUP_PRINTER_GAMMA_GREEN
+msgid "Printer gamma green:"
+msgstr "Drucker Gammawert grĆ¼n:"
+
+#. TEXT_SETUP_PRINTER_GAMMA_BLUE
+msgid "Printer gamma blue:"
+msgstr "Drucker Gammawert blau:"
+
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Scanner/Quell-ICM-Profil als CSA einbinden"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+msgid "Embed printer ICM profile as CRD"
+msgstr "ICM Profil fĆ¼r Drucker als CRD einbinden"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image (ps level 3) for printing"
+msgstr "Erzeuge zlib-komprimiertes Posctscript Bild (ps level 3) zum Drucken"
+
+#. TEXT_SETUP_TMP_PATH
+msgid "Temporary directory"
+msgstr "TemporƤres Verzeichnis"
+
+#. TEXT_SETUP_IMAGE_PERMISSION
+msgid "Image-file permissions"
+msgstr "Bilddatei-Rechte"
+
+#. TEXT_SETUP_DIR_PERMISSION
+msgid "Directory permissions"
+msgstr "Verzeichnisrechte"
+
+#. TEXT_SETUP_JPEG_QUALITY
+msgid "JPEG image quality"
+msgstr "JPEG BildqualitƤt"
+
+#. TEXT_SETUP_PNG_COMPRESSION
+msgid "PNG image compression"
+msgstr "PNG Bildkompression"
+
+#. TEXT_SETUP_FILENAME_COUNTER_LEN
+msgid "Filename counter length"
+msgstr "DateinamenzƤhler LƤnge"
+
+#. TEXT_SETUP_TIFF_ZIP_COMPRESSION
+msgid "TIFF zip compression rate"
+msgstr "TIFF zip Kompressionsrate"
+
+#. TEXT_SETUP_TIFF_COMPRESSION_16
+msgid "TIFF 16 bit image compression"
+msgstr "TIFF 16 bit Bildkompression"
+
+#. TEXT_SETUP_TIFF_COMPRESSION_8
+msgid "TIFF 8 bit image compression"
+msgstr "TIFF 8 bit Bildkompression"
+
+#. TEXT_SETUP_TIFF_COMPRESSION_1
+msgid "TIFF lineart image compression"
+msgstr "TIFF lineart Bildkompression"
+
+#. TEXT_SETUP_SHOW_RANGE_MODE
+msgid "Show range as:"
+msgstr "Zeige Bereich als:"
+
+#. TEXT_SETUP_PREVIEW_OVERSAMPLING
+msgid "Preview oversampling:"
+msgstr "Vorschau Oversampling:"
+
+#. TEXT_SETUP_PREVIEW_GAMMA
+msgid "Preview gamma:"
+msgstr "Vorschau Gamma:"
+
+#. TEXT_SETUP_PREVIEW_GAMMA_RED
+msgid "Preview gamma red:"
+msgstr "Vorschau Gamma rot:"
+
+#. TEXT_SETUP_PREVIEW_GAMMA_GREEN
+msgid "Preview gamma green:"
+msgstr "Vorschau Gamma grĆ¼n:"
+
+#. TEXT_SETUP_PREVIEW_GAMMA_BLUE
+msgid "Preview gamma blue:"
+msgstr "Vorschau Gamma blau:"
+
+#. TEXT_SETUP_LINEART_MODE
+msgid "Threshold option:"
+msgstr "Schwellwert Option:"
+
+#. TEXT_SETUP_PREVIEW_PIPETTE_RANGE
+msgid "Preview pipette range"
+msgstr "Vorschau Bereich Pipette"
+
+#. TEXT_SETUP_THRESHOLD_MIN
+msgid "Threshold minimum:"
+msgstr "Schwellwert Minimum:"
+
+#. TEXT_SETUP_THRESHOLD_MAX
+msgid "Threshold maximum:"
+msgstr "Schwellwert Maximum:"
+
+#. TEXT_SETUP_THRESHOLD_MUL
+msgid "Threshold multiplier:"
+msgstr "Schwellwert Multiplikator:"
+
+#. TEXT_SETUP_THRESHOLD_OFF
+msgid "Threshold offset:"
+msgstr "Schwellwert Verschiebung:"
+
+#. TEXT_SETUP_GRAYSCALE_SCANMODE
+msgid "Name of grayscale scanmode:"
+msgstr "Name des Scanodus \"Graustufen\":"
+
+#. TEXT_SETUP_HELPFILE_VIEWER
+msgid "Helpfile viewer (HTML):"
+msgstr "Hilfedatei Betrachter (HTML):"
+
+#. TEXT_SETUP_FAX_RECEIVER_OPTION
+msgid "Receiver option:"
+msgstr "Option fĆ¼r EmpfƤngernummer"
+
+#. TEXT_SETUP_FAX_POSTSCRIPT_OPT
+msgid "Postscriptfile option:"
+msgstr "Option fĆ¼r Postscriptdatei:"
+
+#. TEXT_SETUP_FAX_NORMAL_MODE_OPT
+msgid "Normal mode option:"
+msgstr "Option fĆ¼r Normalmodus:"
+
+#. TEXT_SETUP_FAX_FINE_MODE_OPT
+msgid "Fine mode option:"
+msgstr "Option fĆ¼r Feinmodus:"
+
+#. TEXT_SETUP_FAX_PROGRAM_DEFAULTS
+msgid "Set program defaults for:"
+msgstr "Setze Standardwerte fĆ¼r folgendes Programm"
+
+#. TEXT_SETUP_FAX_VIEWER
+msgid "Viewer (Postscript):"
+msgstr "Betrachter (Postscript):"
+
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image (ps level 3) for fax"
+msgstr "Erzeuge zlib-komprimiertes Postscript-Bild (ps level 3) zum Faxen"
+
+#. TEXT_SETUP_SMTP_SERVER
+msgid "SMTP server:"
+msgstr "SMTP Server:"
+
+#. TEXT_SETUP_SMTP_PORT
+msgid "SMTP port:"
+msgstr "SMTP Port:"
+
+#. TEXT_SETUP_EMAIL_FROM
+msgid "From:"
+msgstr "Von:"
+
+#. TEXT_SETUP_EMAIL_REPLY_TO
+msgid "Reply to:"
+msgstr "Antwort an:"
+
+#. TEXT_SETUP_EMAIL_AUTHENTICATION
+msgid "E-mail authentication"
+msgstr "E-Mail Authentifizierung"
+
+#. TEXT_SETUP_EMAIL_AUTH_USER
+msgid "User:"
+msgstr "Benutzer:"
+
+#. TEXT_SETUP_EMAIL_AUTH_PASS
+msgid "Password:"
+msgstr "Passwort:"
+
+#. TEXT_SETUP_POP3_SERVER
+msgid "POP3 server:"
+msgstr "POP3-Server:"
+
+#. TEXT_SETUP_POP3_PORT
+msgid "POP3 port:"
+msgstr "POP3-Port:"
+
+#. TEXT_SETUP_OCR_COMMAND
+msgid "OCR Command:"
+msgstr "OCR Befehl:"
+
+#. TEXT_SETUP_OCR_INPUTFILE_OPT
+msgid "Inputfile option:"
+msgstr "Option fĆ¼r Eingabedatei:"
+
+#. TEXT_SETUP_OCR_OUTPUTFILE_OPT
+msgid "Outputfile option:"
+msgstr "Option fĆ¼r Ausgabedatei:"
+
+#. TEXT_SETUP_OCR_USE_GUI_PIPE_OPT
+msgid "Use GUI progress pipe:"
+msgstr "Benutze GUI Fortschritts-Pipe"
+
+#. TEXT_SETUP_OCR_OUTFD_OPT
+msgid "GUI output-fd option:"
+msgstr "GUI Ausgabe-fd Option:"
+
+#. TEXT_SETUP_OCR_PROGRESS_KEYWORD
+msgid "Progress keyword:"
+msgstr "Fortschritts-Schluesselwort:"
+
+#. TEXT_SETUP_PERMISSION_USER
+msgid "user"
+msgstr "Benutzer"
+
+#. TEXT_SETUP_PERMISSION_GROUP
+msgid "group"
+msgstr "Gruppe"
+
+#. TEXT_SETUP_PERMISSION_ALL
+msgid "all"
+msgstr "Alle"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Scanner reflektives Graustufen ICM-Profil"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Scanner reflektives Graustufen ICM-Profil"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr "Bildschirm ICM-Profil"
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+msgid "Custom proofing ICM-profile"
+msgstr "Benutzerdefiniertes Proofing ICM-Profil"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+msgid "Working color space ICM-profile"
+msgstr "Arbeitsfarbraum ICM-Profil"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr "Drucker ICM-Profil"
+
+msgid "new media"
+msgstr "neues Medium"
+
+#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
+msgid "Save"
+msgstr "Speichern"
+
+#. NOTEBOOK_FILETYPE_OPTIONS
+msgid "Filetype"
+msgstr "Dateityp"
+
+#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
+msgid "Copy"
+msgstr "Fotokopie"
+
+#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
+msgid "Fax"
+msgstr "Fax"
+
+#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
+msgid "E-mail"
+msgstr "E-Mail"
+
+#. NOTEBOOK_OCR_OPTIONS
+msgid "OCR"
+msgstr "Texterkennung"
+
+#. NOTEBOOK_DISPLAY_OPTIONS
+msgid "Display"
+msgstr "Darstellung"
+
+#. NOTEBOOK_ENHANCE_OPTIONS
+msgid "Enhancement"
+msgstr "Verbesserungen"
+
+#. MENU_ITEM_MULTIPAGE
+msgid "Multipage"
+msgstr "Mehrseitig"
+
+#. MENU_ITEM_SHOW_TOOLTIPS
+msgid "Show tooltips"
+msgstr "Zeige Tipps"
+
+#. MENU_ITEM_SHOW_PREVIEW
+msgid "Show preview"
+msgstr "Zeige Vorschau"
+
+#. MENU_ITEM_SHOW_HISTOGRAM
+msgid "Show histogram"
+msgstr "Zeige Histogramm"
+
+#. MENU_ITEM_SHOW_GAMMA
+msgid "Show gamma curve"
+msgstr "Zeige Gammakurve"
+
+#. MENU_ITEM_SHOW_BATCH_SCAN
+msgid "Show batch scan"
+msgstr "Zeige Stapelliste"
+
+#. MENU_ITEM_SHOW_STANDARDOPTIONS
+msgid "Show standard options"
+msgstr "Zeige Standardoptionen"
+
+#. MENU_ITEM_SHOW_ADVANCEDOPTIONS
+msgid "Show advanced options"
+msgstr "Zeige erweiterte Optionen"
+
+#. MENU_ITEM_SETUP
+msgid "Setup"
+msgstr "Konfiguration"
+
+#. MENU_ITEM_LENGTH_UNIT
+msgid "Length unit"
+msgstr "LƤngeneinheit"
+
+#. SUBMENU_ITEM_LENGTH_MILLIMETERS
+msgid "millimeters"
+msgstr "Millimeter"
+
+#. SUBMENU_ITEM_LENGTH_CENTIMETERS
+msgid "centimeters"
+msgstr "Zentimeter"
+
+#. SUBMENU_ITEM_LENGTH_INCHES
+msgid "inches"
+msgstr "Zoll"
+
+#. MENU_ITEM_UPDATE_POLICY
+msgid "Update policy"
+msgstr "Aktualisierung"
+
+#. SUBMENU_ITEM_POLICY_CONTINUOUS
+msgid "continuous"
+msgstr "kontinuierlich"
+
+#. SUBMENU_ITEM_POLICY_DISCONTINU
+msgid "discontinuous"
+msgstr "diskontinuierlich"
+
+#. SUBMENU_ITEM_POLICY_DELAYED
+msgid "delayed"
+msgstr "verzƶgert"
+
+#. MENU_ITEM_SHOW_RESOLUTIONLIST
+msgid "Show resolution list"
+msgstr "Zeige Auflƶsungsliste"
+
+#. MENU_ITEM_PAGE_ROTATE
+msgid "Rotate postscript"
+msgstr "Drehe Postscript"
+
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+msgid "Enable color management"
+msgstr "aktiviere Farbmanagement"
+
+#. MENU_ITEM_EDIT_MEDIUM_DEF
+msgid "Edit medium definition"
+msgstr "Mediumdefinition Ƥndern"
+
+#. MENU_ITEM_SAVE_DEVICE_SETTINGS
+msgid "Save device settings"
+msgstr "Speichere GerƤteeinstellungen"
+
+#. MENU_ITEM_LOAD_DEVICE_SETTINGS
+msgid "Load device settings"
+msgstr "Lade GerƤteeinstellungen"
+
+#. MENU_ITEM_CHANGE_WORKING_DIR
+msgid "Change directory"
+msgstr "Arbeitsverzeichnis Ƥndern"
+
+#. MENU_ITEM_XSANE_EULA
+msgid "Show EULA"
+msgstr "Zeige Endbenutzervereinbarung"
+
+#. MENU_ITEM_XSANE_GPL
+msgid "Show license (GPL)"
+msgstr "Zeige Lizenz (GPL)"
+
+#. MENU_ITEM_XSANE_DOC
+msgid "XSane doc"
+msgstr "XSane Anleitung"
+
+#. MENU_ITEM_BACKEND_DOC
+msgid "Backend doc"
+msgstr "Backend Anleitung"
+
+#. MENU_ITEM_AVAILABLE_BACKENDS
+msgid "Available backends"
+msgstr "Erreichbare Backends"
+
+#. MENU_ITEM_SCANTIPS
+msgid "Scantips"
+msgstr "Scantipps"
+
+#. MENU_ITEM_PROBLEMS
+msgid "Problems?"
+msgstr "Probleme?"
+
+#. MENU_ITEM_CMS_PROOFING
+msgid "Proofing"
+msgstr "Proofing"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr "keine Nachbildung (Bildschirm)"
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+msgid "Proof printer"
+msgstr "Nachbildung Drucker"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr "Nachbildung Benutzerdefinierte Ausgabe"
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+msgid "Rendering intent"
+msgstr ""
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+msgid "Proofing rendering intent"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr "Wahrnehmungsorientiert"
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr "Relativ farbmetrisch"
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr "Absolut farbmetrisch"
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+msgid "Saturation"
+msgstr "SƤttigung"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr "Gamut prĆ¼fen"
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr "Gamut Alarmfarbe"
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr "Schwarz"
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr "Grau"
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+msgid "White"
+msgstr "Weiss"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+msgid "Red"
+msgstr "Rot"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr "GrĆ¼n"
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+msgid "Blue"
+msgstr "Blau"
+
+#. MENU_ITEM_COUNTER_LEN_INACTIVE
+msgid "inactive"
+msgstr "nicht aktiv"
+
+#. MENU_ITEM_TIFF_COMP_NONE
+msgid "no compression"
+msgstr "keine Kompression"
+
+#. MENU_ITEM_TIFF_COMP_CCITTRLE
+msgid "CCITT 1D Huffman compression"
+msgstr "CCITT 1D Huffman Kompression"
+
+#. MENU_ITEM_TIFF_COMP_CCITFAX3
+msgid "CCITT Group 3 Fax compression"
+msgstr "CCITT Gruppe 3 Fax Kompression"
+
+#. MENU_ITEM_TIFF_COMP_CCITFAX4
+msgid "CCITT Group 4 Fax compression"
+msgstr "CCITT Gruppe 4 Fax Kompression"
+
+#. MENU_ITEM_TIFF_COMP_JPEG
+msgid "JPEG DCT compression"
+msgstr "JPEG DCT Kompression"
+
+#. MENU_ITEM_TIFF_COMP_PACKBITS
+msgid "pack bits"
+msgstr "gepackte Bits"
+
+#. MENU_ITEM_TIFF_COMP_DEFLATE
+msgid "deflate"
+msgstr "komprimiert"
+
+#. MENU_ITEM_RANGE_SCALE
+msgid "Slider (Scale)"
+msgstr "Schieber (Scale)"
+
+#. MENU_ITEM_RANGE_SCROLLBAR
+msgid "Slider (Scrollbar)"
+msgstr "Schieber (Scrollbalken)"
+
+#. MENU_ITEM_RANGE_SPINBUTTON
+msgid "Spinbutton"
+msgstr "Drehknopf"
+
+#. MENU_ITEM_RANGE_SCALE_SPIN
+msgid "Scale and Spinbutton"
+msgstr "Scale und Drehknopf"
+
+#. MENU_ITEM_RANGE_SCROLL_SPIN
+msgid "Scrollbar and Spinbutton"
+msgstr "Scrollbalken und Drehknopf"
+
+#. MENU_ITEM_LINEART_MODE_STANDARD
+msgid "Standard options window (lineart)"
+msgstr "Standard Optionen Fenster (b/w)"
+
+#. MENU_ITEM_LINEART_MODE_XSANE
+msgid "XSane main window (lineart)"
+msgstr "XSane Hauptfenster (b/w)"
+
+#. MENU_ITEM_LINEART_MODE_GRAY
+msgid "XSane main window (grayscale->lineart)"
+msgstr "XSane Hauptfenster (grau->b/w)"
+
+#. MENU_ITEM_SELECTION_NONE
+msgid "(none)"
+msgstr "(nichts)"
+
+#. MENU_ITEM_FILETYPE_BY_EXT
+msgid "by ext"
+msgstr "nach Erw"
+
+#. MENU_ITEM_PRESET_AREA_ADD_SEL
+msgid "Add selection to list"
+msgstr "Auswahl zur Liste hinzufĆ¼gen"
+
+#. MENU_ITEM_MEDIUM_ADD
+msgid "Add medium definition"
+msgstr "Mediumdefinition hinzufĆ¼gen"
+
+#. MENU_ITEM_RENAME
+msgid "Rename item"
+msgstr "Eintrag umbenennen"
+
+#. MENU_ITEM_DELETE
+msgid "Delete item"
+msgstr "Eintrag lƶschen"
+
+#. MENU_ITEM_MOVE_UP
+msgid "Move item up"
+msgstr "Eintrag nach oben schieben"
+
+#. MENU_ITEM_MOVE_DWN
+msgid "Move item down"
+msgstr "Eintrag nach unten schieben"
+
+#. MENU_ITEM_AUTH_NONE
+msgid "no authentication"
+msgstr "keine Authentifizierung"
+
+#. MENU_ITEM_AUTH_POP3
+msgid "POP3 before SMTP"
+msgstr "POP3 bevor SMTP"
+
+#. MENU_ITEM_AUTH_ASMTP_PLAIN
+msgid "ASMTP Plain"
+msgstr "ASMTP Plain"
+
+#. MENU_ITEM_AUTH_ASMTP_LOGIN
+msgid "ASMTP Login"
+msgstr "ASMTP Login"
+
+#. MENU_ITEM_AUTH_ASMTP_CRAM_MD5
+msgid "ASMTP CRAM-MD5"
+msgstr "ASMTP CRAM-MD5"
+
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+msgid "Embed scanner ICM profile"
+msgstr "Scanner ICM-Profil einbinden"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr "Nach sRGB konvertieren"
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+msgid "Convert to working color space"
+msgstr "In Arbeitsfarbraum konvertieren"
+
+#. PROGRESS_SCANNING
+msgid "Scanning"
+msgstr "Scanne"
+
+#. PROGRESS_RECEIVING_FRAME_DATA
+#, c-format
+msgid "Receiving %s data"
+msgstr "Empfange %s Daten"
+
+#. PROGRESS_PAGE
+msgid "page"
+msgstr "Seite"
+
+#. PROGRESS_TRANSFERING_DATA
+msgid "Transfering image"
+msgstr "Bild Ć¼bertragen"
+
+#. PROGRESS_ROTATING_DATA
+msgid "Rotating image"
+msgstr "Bild drehen"
+
+#. PROGRESS_MIRRORING_DATA
+msgid "Mirroring image"
+msgstr "Bild spiegeln"
+
+#. PROGRESS_PACKING_DATA
+msgid "Packing image"
+msgstr "Bild packen"
+
+#. PROGRESS_CONVERTING_DATA
+msgid "Converting image"
+msgstr "Bild konvertieren"
+
+#. PROGRESS_SAVING_DATA
+msgid "Saving image"
+msgstr "Bild speichern"
+
+#. PROGRESS_CLONING_DATA
+msgid "Cloning image"
+msgstr "Bild clonen"
+
+#. PROGRESS_SCALING_DATA
+msgid "Scaling image"
+msgstr "Bild skalieren"
+
+#. PROGRESS_DESPECKLING_DATA
+msgid "Despeckling image"
+msgstr "Flecken entfernen"
+
+#. PROGRESS_BLURING_DATA
+msgid "Bluring image"
+msgstr "Bild weichzeichnen"
+
+#. PROGRESS_OCR
+msgid "OCR in progress"
+msgstr "Texterkennung"
+
+#. PROGRESS_ICM_CONVERSION
+msgid "converting colors"
+msgstr "konvertiere Farben"
+
+#. DESC_SCAN_START
+msgid "Start scan <Ctrl-Enter>"
+msgstr "Scan starten <Ctrl-Enter>"
+
+#. DESC_SCAN_CANCEL
+msgid "Cancel scan <ESC>"
+msgstr "Scan abbrechen <ESC>"
+
+#. DESC_PREVIEW_ACQUIRE
+msgid "Acquire preview scan <Alt-p>"
+msgstr "Vorschauscan <Alt-p>"
+
+#. DESC_PREVIEW_CANCEL
+msgid "Cancel preview scan <Alt-ESC>"
+msgstr "Vorschauscan abbrechen <Alt-ESC>"
+
+#. DESC_XSANE_MODE
+msgid ""
+"viewer-<Ctrl-v>, save-<Ctrl-s>, photocopy-<Ctrl-c>, multipage-<Ctrl-m>, fax-"
+"<Ctrl-f> or e-mail-<Ctrl-e>"
+msgstr ""
+"Betrachter-<Strg-v>, speichern-<Strg-s> kopieren-<Strg-c>, Mehrseiten-<Strg-"
+"m>, Fax-<Strg-f> oder E-Mail-<Ctrl-e>"
+
+#. DESC_XSANE_MEDIUM
+msgid ""
+"Select source medium type.\n"
+"To rename, reorder or delete an entry use context menu (right mouse "
+"button).\n"
+"To create a medium enable the option edit medium definition in preferences "
+"menu."
+msgstr ""
+"Quellmedium auswƤhlen.\n"
+"Zum Umbenennen, Umsortieren oder Lƶschen eines Eintrags das KontextmenĆ¼ "
+"benutzen (rechter Mausknopf).\n"
+"Um ein neues Medium zu erzeugen, Option Medium Ƥndern im EinstellungsmenĆ¼ "
+"aktivieren."
+
+#. DESC_FILENAME_COUNTER_STEP
+msgid "Value that is added to filenamecounter after scan"
+msgstr "Wert, der nach einem Scan zum DateinamenzƤhler addiert wird"
+
+#. DESC_BROWSE_FILENAME
+msgid "Browse for image filename"
+msgstr "Suche nach Bild-Dateinamen"
+
+#. DESC_FILENAME
+msgid "Filename for scanned image"
+msgstr "Dateiname fĆ¼r gescanntes Bild"
+
+#. DESC_FILETYPE
+msgid ""
+"Type of image format, the suitable filename extension is automatically added "
+"to the filename"
+msgstr ""
+"Dateiformat, die passende Dateinamen-Erweiterung wird automatisch an den "
+"Dateinamen angehƤngt"
+
+#. DESC_FAXPROJECT
+msgid "Enter fax project directory name"
+msgstr "Faxprojekt-Verzeichnis Namen eingeben"
+
+#. DESC_FAXPAGENAME
+msgid "Enter new name for faxpage"
+msgstr "Name der Faxseite eingeben"
+
+#. DESC_FAXRECEIVER
+msgid "Enter receiver phone number or address"
+msgstr "Telefonnummer des EmpfƤngers eingeben"
+
+#. DESC_FAX_PROJECT_BROWSE
+msgid "Browse for fax project directory"
+msgstr "Nach Faxprojekt-Verzeichnis suchen"
+
+#. DESC_EMAIL_PROJECT
+msgid "Enter e-mail project directory name"
+msgstr "Email-Projekt-Verzeichnis Namen eingeben"
+
+#. DESC_EMAIL_IMAGENAME
+msgid "Enter new name for e-mail image"
+msgstr "neuen Name fĆ¼r E-Mail Bild eingeben"
+
+#. DESC_EMAIL_RECEIVER
+msgid "Enter e-mail address"
+msgstr "E-Mail Adresse eingeben"
+
+#. DESC_EMAIL_PROJECT_BROWSE
+msgid "Browse for email project directory"
+msgstr "Nach Email-Projekt-Verzeichnis suchen"
+
+#. DESC_EMAIL_SUBJECT
+msgid "Enter subject of e-mail"
+msgstr "Betreff der E-Mail eingeben"
+
+#. DESC_EMAIL_FILETYPE
+msgid "Select filetype for image attachments"
+msgstr "Dateityp fĆ¼r E-Mailanhang auswƤhlen"
+
+#. DESC_MULTIPAGE_PROJECT
+msgid "Enter multipage project directory name"
+msgstr "Mehrseiten-Projekt-Verzeichnis Namen eingeben"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+msgid "Browse for multipage project directory"
+msgstr "Nach Mehrseiten-Projekt-Verzeichnis suchen"
+
+#. DESC_MULTIPAGE_FILETYPE
+msgid "Select filetype for multipage file"
+msgstr "Dateityp fĆ¼r mehrseitiges Projekt auswƤhlen"
+
+#. DESC_PRESET_AREA_RENAME
+msgid "Enter new name for preset area"
+msgstr "Name der Gebietsvoreinstellung eingeben"
+
+#. DESC_PRESET_AREA_ADD
+msgid "Enter name for new preset area"
+msgstr "Namen fĆ¼r Gebietsvoreinstellung eingeben"
+
+#. DESC_MEDIUM_RENAME
+msgid "Enter new name for medium definition"
+msgstr "Namen fĆ¼r Mediendefinition eingeben"
+
+#. DESC_MEDIUM_ADD
+msgid "Enter name for new medium definition"
+msgstr "Namen fĆ¼r Mediendefinition eingeben"
+
+#. DESC_PRINTER_SELECT
+msgid "Select printerdefinition <Shift-F1/F2/...>"
+msgstr "WƤhle Druckerdefinition <Shift-F1/F2/...>"
+
+#. DESC_RESOLUTION
+msgid "Set scan resolution"
+msgstr "Bestimmt die Scanauflƶsung"
+
+#. DESC_RESOLUTION_X
+msgid "Set scan resolution for x direction"
+msgstr "Bestimmt die Scanauflƶsung in X-Richtung"
+
+#. DESC_RESOLUTION_Y
+msgid "Set scan resolution for y direction"
+msgstr "Bestimmt die Scanauflƶsung in Y-Richtung"
+
+#. DESC_ZOOM
+msgid "Set zoomfactor"
+msgstr "Bestimmt den VergrĆ¶ĆŸerungsfaktor"
+
+#. DESC_ZOOM_X
+msgid "Set zoomfactor for x direction"
+msgstr "Bestimmt den VergrĆ¶ĆŸerungsfaktor in X-Richtung"
+
+#. DESC_ZOOM_Y
+msgid "Set zoomfactor for y direction"
+msgstr "Bestimmt den VergrĆ¶ĆŸerungsfaktor in Y-Richtung"
+
+#. DESC_COPY_NUMBER
+msgid "Set number of copies"
+msgstr "Bestimmt die Anzahl der Kopien"
+
+#. DESC_NEGATIVE
+msgid "Negative: Invert colors for scanning negatives <Ctrl-n>"
+msgstr "Negativ: Invertiere Farben, zum Scannen von Negativen <Ctrl-n>"
+
+#. DESC_GAMMA
+msgid "Set gamma value"
+msgstr "Bestimmt Gammawert"
+
+#. DESC_GAMMA_R
+msgid "Set gamma value for red component"
+msgstr "Bestimmt Gammawert fĆ¼r rote Komponente"
+
+#. DESC_GAMMA_G
+msgid "Set gamma value for green component"
+msgstr "Bestimmt Gammawert fĆ¼r grĆ¼ne Komponente"
+
+#. DESC_GAMMA_B
+msgid "Set gamma value for blue component"
+msgstr "Bestimmt Gammawert fĆ¼r blaue Komponente"
+
+#. DESC_BRIGHTNESS
+msgid "Set brightness"
+msgstr "Bestimmt Helligkeit"
+
+#. DESC_BRIGHTNESS_R
+msgid "Set brightness for red component"
+msgstr "Bestimmt Helligkeit fĆ¼r rote Komponente"
+
+#. DESC_BRIGHTNESS_G
+msgid "Set brightness for green component"
+msgstr "Bestimmt Helligkeit fĆ¼r grĆ¼ne Komponente"
+
+#. DESC_BRIGHTNESS_B
+msgid "Set brightness for blue component"
+msgstr "Bestimmt Helligkeit fĆ¼r blaue Komponente"
+
+#. DESC_CONTRAST
+msgid "Set contrast"
+msgstr "Bestimmt Kontrast"
+
+#. DESC_CONTRAST_R
+msgid "Set contrast for red component"
+msgstr "Bestimmt Kontrast fĆ¼r rote Komponente"
+
+#. DESC_CONTRAST_G
+msgid "Set contrast for green component"
+msgstr "Bestimmt Kontrast fĆ¼r grĆ¼ne Komponente"
+
+#. DESC_CONTRAST_B
+msgid "Set contrast for blue component"
+msgstr "Bestimmt Kontrast fĆ¼r blaue Komponente"
+
+#. DESC_THRESHOLD
+msgid "Set threshold"
+msgstr "Schwellwert setzen"
+
+#. DESC_RGB_DEFAULT
+msgid ""
+"RGB default: Set enhancement values for red, green and blue to default "
+"values <Ctrl-b>:\n"
+" gamma = 1.0\n"
+" brightness = 0\n"
+" contrast = 0"
+msgstr ""
+"RGB Standard: Setzt Farbverbesserungswerte fĆ¼r rot, grĆ¼n und blau auf "
+"Standardwerte <Ctrl-b>:\n"
+"Gamma = 1.0\n"
+"Helligkeit = 0\n"
+"Kontrast = 0"
+
+#. DESC_ENH_AUTO
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
+msgstr "Automatische Einstellung von Gamma, Helligkeit und Kontrast <Ctrl-a>"
+
+#. DESC_ENH_DEFAULT
+msgid ""
+"Set default enhancement values <Ctrl-0>:\n"
+"gamma = 1.0\n"
+"brightness = 0\n"
+"contrast = 0"
+msgstr ""
+"Setze Standardwerte fĆ¼r Farbverbesserung <Ctrl-0>:\n"
+"Gamma = 1.0\n"
+"Helligkeit = 0\n"
+"Kontrast = 0"
+
+#. DESC_ENH_RESTORE
+msgid "Restore enhancement values from preferences <Ctrl-r>"
+msgstr "Lade Farbverbesserungswerte aus Einstellungen <Ctrl-r>"
+
+#. DESC_ENH_STORE
+msgid "Store active enhancement values to preferences <Ctrl-+>"
+msgstr "Speichere Farbverbesserungswerte in Einstellungen <Ctrl-m>"
+
+#. DESC_HIST_INTENSITY
+msgid "Show histogram of intensity/gray <Alt-i>"
+msgstr "Zeige Histogramm fĆ¼r IntensitƤt/grau <Alt-i>"
+
+#. DESC_HIST_RED
+msgid "Show histogram of red component <Alt-r>"
+msgstr "Zeige Histogramm fĆ¼r rote Komponente <Alt-r>"
+
+#. DESC_HIST_GREEN
+msgid "Show histogram of green component <Alt-g>"
+msgstr "Zeige Histogramm fĆ¼r grĆ¼ne Komponente <Alt-g>"
+
+#. DESC_HIST_BLUE
+msgid "Show histogram of blue component <Alt-b>"
+msgstr "Zeige Histogramm fĆ¼r blaue Komponente <Alt-b>"
+
+#. DESC_HIST_PIXEL
+msgid "Display mode: show histogram with lines instead of pixels <Alt-m>"
+msgstr "Zeichne Histogramm mit Linien anstatt mit Punkten <Alt-m>"
+
+#. DESC_HIST_LOG
+msgid "Show logarithm of pixelcount <Alt-l>"
+msgstr "Benutze Logarithmus der Pixelzahlen <Alt-l>"
+
+#. DESC_PRINTER_SETUP
+msgid "Select definition to change"
+msgstr "Auswahl der zu Ƥndernden Definition"
+
+#. DESC_PRINTER_NAME
+msgid "Define a name for the selection of this definition"
+msgstr "Namen der Definition"
+
+#. DESC_PRINTER_COMMAND
+msgid "Enter command to be executed in copy mode (e.g. \"lpr\")"
+msgstr ""
+"Befehl der im Kopiermodus zum Drucken ausgefĆ¼hrt werden soll (z.B. \"lpr\")"
+
+#. DESC_COPY_NUMBER_OPTION
+msgid "Enter option for copy numbers"
+msgstr "Option, mit der die Anzahl der Kopien angegeben wird"
+
+#. DESC_PRINTER_LINEART_RESOLUTION
+msgid ""
+"Resolution with which lineart images are printed and saved in postscript"
+msgstr ""
+"Auflƶsung, mit der Lineart-Bilder gedruckt und im Postscriptformat "
+"gespeichert werden"
+
+#. DESC_PRINTER_GRAYSCALE_RESOLUTION
+msgid ""
+"Resolution with which grayscale images are printed and saved in postscript"
+msgstr ""
+"Auflƶsung, mit der Graustufen-Bilder gedruckt und im Postscriptformat "
+"gespeichert werden"
+
+#. DESC_PRINTER_COLOR_RESOLUTION
+msgid "Resolution with which color images are printed and saved in postscript"
+msgstr ""
+"Auflƶsung, mit der Farb-Bilder gedruckt und im Postscriptformat gespeichert "
+"werden"
+
+#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
+msgid "Width of printable area"
+msgstr "Breite des druckbaren Bereichs"
+
+#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
+msgid "Height of printable area"
+msgstr "Hƶhe des druckbaren Bereichs"
+
+#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
+msgid "Left offset from the edge of the paper to the printable area"
+msgstr "Abstand vom linken Papierrand zum Beginn des druckbaren Bereichs"
+
+#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
+msgid "Bottom offset from the edge of the paper to the printable area"
+msgstr "Abstand vom unteren Papierrand zum Beginn des druckbaren Bereichs"
+
+#. DESC_PRINTER_GAMMA
+msgid "Additional gamma value for photocopy"
+msgstr "ZusƤtzlicher Gammawert beim Fotokopieren"
+
+#. DESC_PRINTER_GAMMA_RED
+msgid "Additional gamma value for red component for photocopy"
+msgstr "ZusƤtzlicher Gammawert fĆ¼r rote Komponente beim Fotokopieren"
+
+#. DESC_PRINTER_GAMMA_GREEN
+msgid "Additional gamma value for green component for photocopy"
+msgstr "ZusƤtzlicher Gammawert fĆ¼r grĆ¼ne Komponente beim Fotokopieren"
+
+#. DESC_PRINTER_GAMMA_BLUE
+msgid "Additional gamma value for blue component for photocopy"
+msgstr "ZusƤtzlicher Gammawert fĆ¼r blaue Komponente beim Fotokopieren"
+
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr "Erzeugt eine Postscriptdatei die das ICM-Profil des Scammers enthƤlt"
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr "Erzeugt eine Postscriptdatei die das ICM-Profil des Druckers enthƤlt"
+
+#. DESC_PRINTER_PS_FLATEDECODED
+msgid ""
+"Create zlib compressed postscript image for printer (flatedecode).\n"
+"The printer has to understand postscript level 3!"
+msgstr ""
+"Erzeuge zlib-komprimiertes Postscript Bild zum Drucken (flatdecode).\n"
+"Der Drucker muss Postscript level 3 verstehen!"
+
+#. DESC_TMP_PATH
+msgid "Path to temp directory"
+msgstr "Pfad zum temporƤren Verzeichnis"
+
+#. DESC_BUTTON_TMP_PATH_BROWSE
+msgid "Browse for temporary directory"
+msgstr "Nach temporƤrem Verzeichnis suchen"
+
+#. DESC_JPEG_QUALITY
+msgid ""
+"Quality in percent if image is saved as jpeg or tiff with jpeg compression"
+msgstr ""
+"QualitƤt in Prozent wenn Bild als JPEG oder als TIFF mit JPEG-Kompression "
+"gespeichert wird"
+
+#. DESC_PNG_COMPRESSION
+msgid "Compression if image is saved as png"
+msgstr "Kompression wenn Bild im PNG-Format gespeichert wird"
+
+#. DESC_FILENAME_COUNTER_LEN
+msgid "Minimum length of counter in filename"
+msgstr "Minimale LƤnge des ZƤhlers im Dateinamen"
+
+#. DESC_TIFF_ZIP_COMPRESSION
+msgid "Compression rate for zip compressed tiff (deflate)"
+msgstr ""
+"ZIP-Kompressionsrate wenn Bild im komprimierten TIFF-Format gespeichert wird"
+
+#. DESC_TIFF_COMPRESSION_16
+msgid "Compression type if 16 bit image is saved as tiff"
+msgstr "Kompression wenn 16 bit Bild im TIFF-Format gespeichert wird"
+
+#. DESC_TIFF_COMPRESSION_8
+msgid "Compression type if 8 bit image is saved as tiff"
+msgstr "Kompression wenn 8 bit Bild im TIFF-Format gespeichert wird"
+
+#. DESC_TIFF_COMPRESSION_1
+msgid "Compression type if lineart image is saved as tiff"
+msgstr "Kompression wenn lineart Bild im TIFF-Format gespeichert wird"
+
+#. DESC_SAVE_DEVPREFS_AT_EXIT
+msgid "Save device dependant preferences in default file at exit of xsane"
+msgstr ""
+"GerƤteabhƤngige Einstellungen werden in der Default-Datei beim Beenden von "
+"xsane gespeichert"
+
+#. DESC_OVERWRITE_WARNING
+msgid "Warn before overwriting an existing file"
+msgstr "Warne vorm Ɯberschreiben existierender Dateien"
+
+#. DESC_SKIP_EXISTING
+msgid ""
+"If filename counter is automatically increased, used numbers are skipped"
+msgstr ""
+"Wenn der DateinamenzƤhler automatisch erhƶht wird, werden benutzte "
+"Dateinummern Ć¼bersprungen"
+
+#. DESC_SAVE_PS_FLATEDECODED
+msgid ""
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
+msgstr ""
+"komprimiere Postscript Bild mit zlib Algorithmus (flatedecode). Wenn die "
+"Datei gedruckt werden soll muss der Drucker Postscript level 3 verstehen"
+
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
+msgstr "komprimiere PDF Bild mit zlib Algorithmus (flatedecode)."
+
+#. DESC_SAVE_PNM16_AS_ASCII
+msgid ""
+"When a 16 bit image shall be saved in pnm format then use ascii format "
+"instead of binary format. The binary format is a new format that is not "
+"supported by all programs. The ascii format is supported by more programs "
+"but it produces really huge files!!!"
+msgstr ""
+"Speicher 16 Bit PNM-Bilder im ASCII Format anstatt im BinƤr Format. Das "
+"BinƤr Format ist ein neues Format, das nicht von allen Programmen "
+"unterstĆ¼tzt wird. Das ASCII Format wird von mehr Programmen unterstĆ¼tzt, "
+"aber die Dateien werden sehr groƟ!!!"
+
+#. DESC_REDUCE_16BIT_TO_8BIT
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
+msgstr ""
+"Wenn der Scanner das Bild mit 16 Bits/Farbe liefert wird das Bild mit 8 Bits/"
+"Farbe gespeichert"
+
+#. DESC_PSFILE_WIDTH
+msgid "Width of paper for postscript files"
+msgstr "Breite des druckbaren Bereichs fĆ¼r Postscript"
+
+#. DESC_PSFILE_HEIGHT
+msgid "Height of paper for postscript files"
+msgstr "Hƶhe des druckbaren Bereichs fĆ¼r Postscript"
+
+#. DESC_PSFILE_LEFTOFFSET
+msgid ""
+"Left offset from the edge of the paper to the usable area for postscript "
+"files"
+msgstr ""
+"Abstand vom linken Papierrand zum Beginn des druckbaren Bereichs fĆ¼r "
+"Postsciptdateien"
+
+#. DESC_PSFILE_BOTTOMOFFSET
+msgid ""
+"Bottom offset from the edge of the paper to the usable area for postscript "
+"files"
+msgstr ""
+"Abstand vom unteren Papierrand zum Beginn des druckbaren Bereichs fĆ¼r "
+"Postsciptdateien"
+
+#. DESC_MAIN_WINDOW_FIXED
+msgid "Use fixed main window size or scrolled, resizable main window"
+msgstr "Verwende feste oder verƤnderbare HauptfenstergrĆ¶ĆŸe"
+
+#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
+msgstr "Preview Gamma deaktivieren wenn XSane als Gimp-Plugin gestartet wird"
+
+#. DESC_PREVIEW_COLORMAP
+msgid "Use an own colormap for preview if display depth is 8 bpp"
+msgstr ""
+"Benutze eigene Farbpalette fĆ¼r Vorschaubild, wenn die Bildschirmfarbtiefe 8 "
+"Bit betrƤgt"
+
+#. DESC_SHOW_RANGE_MODE
+msgid "Select how a range is displayed"
+msgstr "Bestimmen Sie, wie die Auswahle eines Bereichs dargestellt wird"
+
+#. DESC_PREVIEW_OVERSAMPLING
+msgid "Value with that the calculated preview resolution is multiplied"
+msgstr "Wert, mit dem die berechnete Vorschauauflƶsung multipliziert wird"
+
+#. DESC_PREVIEW_GAMMA
+msgid "Set gamma correction value for preview image"
+msgstr "Bestimme Gammwert fĆ¼r Vorschaubild"
+
+#. DESC_PREVIEW_GAMMA_RED
+msgid "Set gamma correction value for red component of preview image"
+msgstr "Bestimme Gammwert der roten Komponente fĆ¼r Vorschaubild"
+
+#. DESC_PREVIEW_GAMMA_GREEN
+msgid "Set gamma correction value for green component of preview image"
+msgstr "Bestimme Gammwert der grĆ¼nen Komponente fĆ¼r Vorschaubild"
+
+#. DESC_PREVIEW_GAMMA_BLUE
+msgid "Set gamma correction value for blue component of preview image"
+msgstr "Bestimme Gammwert der blauen Komponente fĆ¼r Vorschaubild"
+
+#. DESC_LINEART_MODE
+msgid "Define the way XSane shall handle the threshold option"
+msgstr "Definiert die Art, wie XSane die Schwellwert-Option behandeln soll"
+
+#. DESC_GRAYSCALE_SCANMODE
+msgid ""
+"Select grayscale scanmode. This scanmode is used for lineart preview scan "
+"when transformation from grayscale to lineart is enabled"
+msgstr ""
+"Name des Graustufen-Scanmodus auswƤhlen. Dieser Scanmodus wird beim Schwarz-"
+"WeiƟ Vorschauscan verwendet, wenn Umwandlung von Graustufen in Schwarz/WeiƟ "
+"aktiviert ist."
+
+#. DESC_PREVIEW_THRESHOLD_MIN
+#, no-c-format
+msgid "The scanner's minimum threshold level in %"
+msgstr "Minimaler Schwellwert des Scanners in %"
+
+#. DESC_PREVIEW_THRESHOLD_MAX
+#, no-c-format
+msgid "The scanner's maximum threshold level in %"
+msgstr "Maximaler Schwellwert des Scanners in %"
+
+#. DESC_PREVIEW_THRESHOLD_MUL
+msgid ""
+"Multiplier to make XSane threshold range and scanner threshold range the same"
+msgstr ""
+"Multiplikator um XSane's Schwellwertbereich und den Schwellwertbereich des "
+"Scanners aufeinander abzustimmen"
+
+#. DESC_PREVIEW_THRESHOLD_OFF
+msgid ""
+"Offset to make XSane threshold range and scanner threshold range the same"
+msgstr ""
+"Schwellwertverschiebung um XSane's Schwellwertbereich und den "
+"Schwellwertbereich des Scanners aufeinander abzustimmen"
+
+#. DESC_ADF_PAGES_MAX
+msgid "Number of pages to scan"
+msgstr "Anzahl der zu scannenden Seiten"
+
+#. DESC_PREVIEW_PIPETTE_RANGE
+msgid "dimension of square that is used to average color for pipette function"
+msgstr ""
+"GrĆ¶ĆŸe des Quadrats, das zum Mitteln der Farbe fĆ¼r die Pipette Funktion "
+"benutzt wird"
+
+#. DESC_DOC_VIEWER
+msgid ""
+"Enter command to be executed to display helpfiles, must be a html-viewer!"
+msgstr ""
+"Befehl, der ausgefĆ¼hrt werden soll, um Hilfedateien anzuzeigen, muƟ ein HTML-"
+"Betrachter sein!"
+
+#. DESC_AUTOENHANCE_GAMMA
+msgid "Change gamma value when autoenhancement button is pressed"
+msgstr ""
+"Gamma Wert wird angepasst wenn Knopf fĆ¼r automatische Verbesserung gedrĆ¼ckt "
+"wird"
+
+#. DESC_PRESELECT_SCANAREA
+msgid "Select scanarea after preview scan has finished"
+msgstr "Scanbereich nach Vorschauscan automatisch auswƤhlen"
+
+#. DESC_AUTOCORRECT_COLORS
+msgid "Do color correction after preview scan has finished"
+msgstr "Farbkorrektur nach Vorschauscan ausfĆ¼hren"
+
+#. DESC_RENDERING_INTENT
+msgid "Select rendering intent for preview and saving"
+msgstr "Rendering Intent fĆ¼r Vorschau und zum Speichern auswƤhlen"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr "Scharzpunkt-Kompensation bei Farbtransformation anwenden"
+
+#. DESC_FAX_COMMAND
+msgid "Enter command to be executed in fax mode"
+msgstr "Befehl, der zum Senden eines Faxprojekts ausgefĆ¼hrt werden soll"
+
+#. DESC_FAX_RECEIVER_OPT
+msgid "Enter option to specify receiver"
+msgstr "Option, mit der die EmpfƤngertelefonnummer angegeben wird"
+
+#. DESC_FAX_POSTSCRIPT_OPT
+msgid "Enter option to specify postscript files following"
+msgstr ""
+"Option, mit der angegeben wird, dass der Dateiname einer Postscriptdatei "
+"folgt"
+
+#. DESC_FAX_NORMAL_OPT
+msgid "Enter option to specify normal mode (low resolution)"
+msgstr "Option, mit der die vertikale Auflƶsung auf 98 lpi gestellt wird"
+
+#. DESC_FAX_FINE_OPT
+msgid "Enter option to specify fine mode (high resolution)"
+msgstr "Option, mit der die vertikale Auflƶsung auf 196 lpi gestellt wird"
+
+#. DESC_FAX_VIEWER
+msgid "Enter command to be executed to view a fax"
+msgstr ""
+"Befehl, der ausgefĆ¼hrt werden soll, um Faxseiten(Postscript) anzuzeigen"
+
+#. DESC_FAX_FINE_MODE
+msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
+msgstr "Sende Fax mit hoher vertikaler Auflƶsung (196 lpi anstatt 98 lpi)"
+
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
+msgstr "Erzeuge zlib-komprimiertes Postscript-Bild (ps level 3) zum Faxen"
+
+#. DESC_SMTP_SERVER
+msgid "IP Address or Domain name of SMTP server"
+msgstr "IP Adresse oder Domain Name des SMTP Servers"
+
+#. DESC_SMTP_PORT
+msgid "port to connect to SMTP server"
+msgstr "Port, auf dem zum SMTP Server verbunden werden soll"
+
+#. DESC_EMAIL_FROM
+msgid "enter your e-mail address"
+msgstr "Geben Sie Ihre E-Mail Adresse ein"
+
+#. DESC_EMAIL_REPLY_TO
+msgid "enter e-mail address for replied e-mails"
+msgstr "Geben Sie die E-Mail Adresse fĆ¼r Antworten auf diese E-Mail ein"
+
+#. DESC_EMAIL_AUTHENTICATION
+msgid "Type of authentication before sending e-mail"
+msgstr "Art der Authentifizierung bevor E-Mail gesendet wird"
+
+#. DESC_EMAIL_AUTH_USER
+msgid "user name for e-mail server"
+msgstr "Benutername fĆ¼r den E-Mail-Server"
+
+#. DESC_EMAIL_AUTH_PASS
+msgid "password for e-mail server"
+msgstr "Passwort fĆ¼r den E-Mail-Server"
+
+#. DESC_POP3_SERVER
+msgid "IP Address or Domain name of POP3 server"
+msgstr "IP Adresse oder Domain Name des POP3-Servers"
+
+#. DESC_POP3_PORT
+msgid "port to connect to POP3 server"
+msgstr "Port, auf dem zum POP3-Server verbunden werden soll"
+
+#. DESC_HTML_EMAIL
+msgid "E-mail is sent in html mode, place image with: <IMAGE>"
+msgstr "E-Mail wird im hmtl Modus gesandt, Bild platzieren mit: <IMAGE>"
+
+#. DESC_OCR_COMMAND
+msgid "Enter command to start ocr program"
+msgstr "OCR Befehl eingeben"
+
+#. DESC_OCR_INPUTFILE_OPT
+msgid "Enter option of the ocr program to define input file"
+msgstr "Eingabe-Datei-Option fĆ¼r OCR Programm eingeben"
+
+#. DESC_OCR_OUTPUTFILE_OPT
+msgid "Enter option of the ocr program to define output file"
+msgstr "Ausgabe-Datei-Option fĆ¼r OCR Programm eingeben"
+
+#. DESC_OCR_USE_GUI_PIPE_OPT
+msgid "Define if the ocr program supports gui progress pipe"
+msgstr ""
+"Definieren Sie, ob das OCR Programm eine GUI-Fortschritts-Pipe unterstĆ¼tzt"
+
+#. DESC_OCR_OUTFD_OPT
+msgid ""
+"Enter option of the ocr program to define output filedescripor in GUI mode"
+msgstr ""
+"Geben Sie die Option des OCR Programms ein, mit der der Ausgabefildeskriptor "
+"im GUI Mode Ć¼bergeben wird"
+
+#. DESC_OCR_PROGRESS_KEYWORD
+msgid "Define Keyword that is used to mark progress information"
+msgstr ""
+"Definieren Sie das SchlĆ¼sselwort, das benutzt wird, um Fortschritssangaben "
+"zu kennzeichenen"
+
+#. DESC_PERMISSION_READ
+msgid "read"
+msgstr "lesen"
+
+#. DESC_PERMISSION_WRITE
+msgid "write"
+msgstr "schreiben"
+
+#. DESC_PERMISSION_SEARCH
+msgid "search"
+msgstr "durchsuchen"
+
+#. DESC_ADD_BATCH
+msgid "Add selection for batch scan"
+msgstr "Auswahl zur Stapelliste hinzufĆ¼gen"
+
+#. DESC_PIPETTE_WHITE
+msgid "Pick white point"
+msgstr "WƤhle weiƟen Punkt"
+
+#. DESC_PIPETTE_GRAY
+msgid "Pick gray point"
+msgstr "WƤhle grauen Punkt"
+
+#. DESC_PIPETTE_BLACK
+msgid "Pick black point"
+msgstr "WƤhle schwarzen Punkt"
+
+#. DESC_ZOOM_FULL
+msgid "Use full scanarea"
+msgstr "Zoomt auf kompletten Scanbereich"
+
+#. DESC_ZOOM_OUT
+#, no-c-format
+msgid "Zoom 20% out"
+msgstr "Zoomt um 20% heraus"
+
+#. DESC_ZOOM_IN
+msgid "Click at position to zoom to"
+msgstr "In gewĆ¼nschten Bereich zum Zoomen klicken"
+
+#. DESC_ZOOM_AREA
+msgid "Zoom into selected area"
+msgstr "Zoomt in den gewƤhlten Bereich hinein"
+
+#. DESC_ZOOM_UNDO
+msgid "Undo last zoom"
+msgstr "letzten Zoom rĆ¼ckgƤngig machen"
+
+#. DESC_FULL_PREVIEW_AREA
+msgid "Select visible area"
+msgstr "Sichtbaren Bereich auswƤhlen"
+
+#. DESC_AUTOSELECT_SCANAREA
+msgid "Autoselect scanarea"
+msgstr "Scanbereich automatisch wƤhlen"
+
+#. DESC_AUTORAISE_SCANAREA
+msgid "Autoraise scanarea"
+msgstr "Scanbereich automatisch aufziehen"
+
+#. DESC_DELETE_IMAGES
+msgid "Delete preview image cache"
+msgstr "Vorschau Speicher lƶschen"
+
+#. DESC_PRESET_AREA
+msgid ""
+"Preset area:\n"
+"To add new area or edit an existing area use contect menu (right mouse "
+"button)."
+msgstr ""
+"Bereichsvoreinstellung:\n"
+"Um einen neuen Bereich hinzuzufĆ¼gen oder existierende Voreinstellungen zu "
+"Ƥndern verwenden Sie das KontextmenĆ¼ (rechter Mausknopf)."
+
+#. DESC_ROTATION
+msgid "Rotate preview and scan"
+msgstr "Drehe Vorschau und Scan"
+
+#. DESC_RATIO
+msgid "Aspect ratio of selection"
+msgstr "SeitenverhƤltnis der Auswahl"
+
+#. DESC_PAPER_ORIENTATION
+msgid "Define image position for printing"
+msgstr "Bildposition beim Drucken definieren"
+
+#. DESC_VIEWER_OCR
+msgid "Optical Character Recognition"
+msgstr "Optische Zeichenerkennung (OCR)"
+
+#. DESC_VIEWER_UNDO
+msgid "Undo last change"
+msgstr "Letzte Ƅnderung rĆ¼ckgƤngig machen"
+
+#. DESC_VIEWER_CLONE
+msgid "Clone image"
+msgstr "Bild clonen"
+
+#. DESC_ROTATE90
+msgid "Rotate image 90 degree"
+msgstr "Drehe Bild um 90 Grad"
+
+#. DESC_ROTATE180
+msgid "Rotate image 180 degree"
+msgstr "Drehe Bild um 180 Grad"
+
+#. DESC_ROTATE270
+msgid "Rotate image 270 degree"
+msgstr "Drehe Bild um 270 Grad"
+
+#. DESC_MIRROR_X
+msgid "Mirror image at vertical axis"
+msgstr "Bild an vertikaler Achse spiegeln"
+
+#. DESC_MIRROR_Y
+msgid "Mirror image at horizontal axis"
+msgstr "Bild an horizontaler Achse spiegeln"
+
+#. DESC_VIEWER_ZOOM
+msgid "Zoom image"
+msgstr "Bild zoomen"
+
+#. DESC_STORE_MEDIUM
+msgid "Store medium"
+msgstr "Medium speichern"
+
+#. DESC_DELETE_MEDIUM
+msgid "Delete active medium"
+msgstr "Medium lƶschen"
+
+#. DESC_SCALE_FACTOR
+msgid "Scale factor"
+msgstr "VergrĆ¶ĆŸerungsfaktor"
+
+#. DESC_X_SCALE_FACTOR
+msgid "X-Scale factor"
+msgstr "VergrĆ¶ĆŸerungsfaktor X"
+
+#. DESC_Y_SCALE_FACTOR
+msgid "Y-Scale factor"
+msgstr "VergrĆ¶ĆŸerungsfaktor Y"
+
+#. DESC_SCALE_WIDTH
+msgid "Scale image to width [in pixel]"
+msgstr "Bild auf Breite [in Pixeln] skalieren"
+
+#. DESC_SCALE_HEIGHT
+msgid "Scale image to height [in pixel]"
+msgstr "Bild auf Hƶhe [in Pixeln] skalieren"
+
+#. DESC_BATCH_LIST_EMPTY
+msgid "Empty batch list"
+msgstr "Stapelliste leeren"
+
+#. DESC_BATCH_LIST_SAVE
+msgid "Save batch list"
+msgstr "Stapelliste speichern"
+
+#. DESC_BATCH_LIST_LOAD
+msgid "Load batch list"
+msgstr "Stapelliste laden"
+
+#. DESC_BATCH_RENAME
+msgid "Rename area"
+msgstr "Bereich umbenennen"
+
+#. DESC_BATCH_ADD
+msgid "Add selected preview area to batch list"
+msgstr "Vorschau-Auswahl zur Stapelliste hinzufĆ¼gen"
+
+#. DESC_BATCH_DEL
+msgid "Delete selected area from batch list"
+msgstr "AusgewƤhlten Bereich aus Stapelliste lƶschen"
+
+#. DESC_AUTOMATIC
+msgid "Turns on automatic mode"
+msgstr "Schaltet automatische Einstellung ein"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Suche nach Scanner reflektivem ICM-Profil"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Suche nach Scanner reflektivem Graustufen ICM-Profil"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+msgid "Browse for display ICM-profile"
+msgstr "Suche nach Bildschirm ICM-Profil"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+msgid "Browse for printer ICM-profile"
+msgstr "Suche nach Durcker ICM-Profil"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Suche nach Benutzerdefiniertem Proofing ICM-Profil"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+msgid "Browse for working color space ICM-profile"
+msgstr "Suche nach ICM-Profil fĆ¼r den Arbeitsfarbraum"
+
+#. ERR_HOME_DIR
+msgid "Failed to determine home directory:"
+msgstr "Konnte Heimatverzeichnis nicht bestimmen"
+
+#. ERR_CHANGE_WORKING_DIR
+msgid "Failed to change working directory to"
+msgstr "Konnte Verzeichnis nicht wechseln"
+
+#. ERR_FILENAME_TOO_LONG
+msgid "Filename too long"
+msgstr "Dateiname zu lang"
+
+#. ERR_CREATE_TEMP_FILE
+msgid ""
+"Could not create temporary file.\n"
+"Open Menue Preferences->Setup Tab Save and\n"
+"select a temporary directory where you have\n"
+"write permissions."
+msgstr ""
+"Konnte temporƤre Datei nicht erzeugen.\n"
+"WƤhlen Sie unter MenĆ¼ Einstellungen->Konfiguration\n"
+"Bereich Speichern ein temporƤres Verzeichnis aus,\n"
+"in dem Sie Schreibrechte besitzen."
+
+#. ERR_SET_OPTION
+msgid "Failed to set value of option"
+msgstr "Fehler beim Ƅndern der Option"
+
+#. ERR_GET_OPTION
+msgid "Failed to obtain value of option"
+msgstr "Fehler beim Lesen der Option"
+
+#. ERR_OPTION_COUNT
+msgid "Error obtaining option count"
+msgstr "Konnte Anzahl der Optionen nicht bestimmen"
+
+#. ERR_DEVICE_OPEN_FAILED
+msgid "Failed to open device"
+msgstr "Fehler beim Ɩffnen des GerƤts"
+
+#. ERR_NO_DEVICES
+msgid "no devices available"
+msgstr "Keine GerƤte erreichbar"
+
+#. ERR_DURING_READ
+msgid "Error during read:"
+msgstr "Fehler beim Lesen:"
+
+#. ERR_DURING_SAVE
+msgid "Error during save:"
+msgstr "Fehler beim Speichern:"
+
+#. ERR_BAD_DEPTH
+msgid "Can't handle depth"
+msgstr "Nicht unterstĆ¼tzte Bittiefe"
+
+#. ERR_UNKNOWN_SAVING_FORMAT
+msgid "Unknown file format for saving"
+msgstr "Unbekanntes Ausgabedateiformat"
+
+#. ERR_OPEN_FAILED
+msgid "Failed to open"
+msgstr "Fehler beim Ɩffnen von"
+
+#. ERR_CREATE_SECURE_FILE
+msgid "Could not create secure file (may be a link does exist):"
+msgstr ""
+"Konnte keine sichere Datei erzeugen (mƶglicherweise existiert ein Link):"
+
+#. ERR_FAILED_PRINTER_PIPE
+msgid "Failed to open pipe for executing printercommand"
+msgstr "Konnte Pipe fĆ¼r Druckbefehl nicht ƶffnen"
+
+#. ERR_FAILED_EXEC_PRINTER_CMD
+msgid "Failed to execute printercommand:"
+msgstr "Konnte Druckbefehl nicht ausfĆ¼hren"
+
+#. ERR_FAILED_START_SCANNER
+msgid "Failed to start scanner:"
+msgstr "Konnte Scanner nicht starten"
+
+#. ERR_FAILED_GET_PARAMS
+msgid "Failed to get parameters:"
+msgstr "Konnte Parameter nicht lesen"
+
+#. ERR_NO_OUTPUT_FORMAT
+msgid "No output format given"
+msgstr "Kein Ausgabedateiformat angegeben"
+
+#. ERR_NO_MEM
+msgid "out of memory"
+msgstr "Kein Speicher"
+
+#. ERR_TOO_MUCH_DATA
+msgid "Backend sends more image data than it defined in parameters"
+msgstr "Backend sendet mehr Bilddaten als es in Parametern definiert hat"
+
+#. ERR_LIBTIFF
+msgid "LIBTIFF reports error"
+msgstr "LIBTIFF meldet Fehler"
+
+#. ERR_LIBPNG
+msgid "LIBPNG reports error"
+msgstr "LIBPNG meldet Fehler"
+
+#. ERR_LIBJPEG
+msgid "LIBJPEG reports error"
+msgstr "LIBJPEG meldet Fehler"
+
+#. ERR_ZLIB
+msgid "ZLIB error or memory allocation problem"
+msgstr "ZLIB Fehler oder zu wenig Speicher"
+
+#. ERR_UNKNOWN_TYPE
+msgid "unknown type"
+msgstr "unbekannter Typ"
+
+#. ERR_UNKNOWN_CONSTRAINT_TYPE
+msgid "unknown constraint type"
+msgstr "unbekannter verpflichtender Typ"
+
+#. ERR_OPTION_NAME_NULL
+msgid "Option has empty name (NULL)."
+msgstr "Option hat leeren Namen (NULL)."
+
+#. ERR_BACKEND_BUG
+msgid "This is a backend bug. Please inform the author of the backend!"
+msgstr ""
+"Das ist ein Backend-Fehler. Bitte informieren Sie den Autor des Backends!"
+
+#. ERR_FAILED_EXEC_DOC_VIEWER
+msgid "Failed to execute documentation viewer:"
+msgstr "Konnte Hilfedateibetrachter nicht ausfĆ¼hren:"
+
+#. ERR_FAILED_EXEC_FAX_VIEWER
+msgid "Failed to execute fax viewer:"
+msgstr "Konnte Faxbetrachter nicht ausfĆ¼hren:"
+
+#. ERR_FAILED_EXEC_FAX_CMD
+msgid "Failed to execute fax command:"
+msgstr "Konnte Faxbefehl nicht ausfĆ¼hren:"
+
+#. ERR_FAILED_EXEC_OCR_CMD
+msgid "Failed to execute ocr command:"
+msgstr "Konnte OCR-Befehl nicht ausfĆ¼hren:"
+
+#. ERR_BAD_FRAME_FORMAT
+msgid "bad frame format"
+msgstr "unerwartetes FRAME-Format"
+
+#. ERR_FAILED_SET_RESOLUTION
+msgid "unable to set resolution"
+msgstr "konnte Auflƶsung nicht definieren"
+
+#. ERR_PASSWORD_FILE_INSECURE
+#, c-format
+msgid "Password file (%s) is insecure, use permission x00\n"
+msgstr "Passwortdatei (%s) ist unsicher, benutze Rechte x00\n"
+
+#. ERR_ERROR
+msgid "error"
+msgstr "Fehler"
+
+#. ERR_MAJOR_VERSION_NR_CONFLICT
+msgid "Sane major version number mismatch!"
+msgstr "Sane Hauptversionsnummern-Konflikt!"
+
+#. ERR_XSANE_MAJOR_VERSION
+msgid "XSane major version ="
+msgstr "XSane Hauptversionsnummer ="
+
+#. ERR_BACKEND_MAJOR_VERSION
+msgid "backend major version ="
+msgstr "backend Hauptversionsnummer ="
+
+#. ERR_PROGRAM_ABORTED
+msgid "*** PROGRAM ABORTED ***"
+msgstr "*** PROGRAMM ABGEBROCHEN ***"
+
+#. ERR_FAILED_ALLOCATE_IMAGE
+msgid "Failed to allocate image memory:"
+msgstr "Konnte Bildspeicher nicht allozieren:"
+
+#. ERR_PREVIEW_BAD_DEPTH
+msgid "Preview cannot handle bit depth"
+msgstr "Vorschau kann Bittiefe nicht handhaben:"
+
+#. ERR_GIMP_SUPPORT_MISSING
+msgid "GIMP support missing"
+msgstr "GIMP UnterstĆ¼tzung fehlt"
+
+#. ERR_CREATE_FAX_PROJECT
+msgid "Could not create faxproject"
+msgstr "Konnte Faxprojekt nicht erstellen"
+
+#. WARN_COUNTER_UNDERRUN
+msgid "Filename counter underrun"
+msgstr "DateinamenzƤhler Unterlauf"
+
+#. WARN_NO_VALUE_CONSTRAINT
+msgid "warning: option has no value constraint"
+msgstr "Warnung: Option hat keinen vorgeschriebenen Wert"
+
+#. WARN_XSANE_AS_ROOT
+msgid ""
+"You try to run XSane as ROOT, that really is DANGEROUS!\n"
+"\n"
+"Do not send any bug reports when you\n"
+"have any problem while running XSane as root:\n"
+"YOU ARE ALONE!"
+msgstr ""
+"Sie versuchen XSane als ROOT auszufĆ¼hren,\n"
+"das ist wirklich GEFƄHRLICH!\n"
+"\n"
+"Senden Sie keine Fehlermeldungen wenn Sie Probleme\n"
+"haben wƤhrend Sie xsane als root ausfĆ¼hren:\n"
+"Sie sind alleine!"
+
+#. ERR_HEADER_ERROR
+msgid "Error"
+msgstr "Fehler"
+
+#. ERR_HEADER_WARNING
+msgid "Warning"
+msgstr "Warnung"
+
+#. ERR_HEADER_INFO
+msgid "Information"
+msgstr "Information"
+
+#. ERR_HEADER_CHILD_PROCESS_ERROR
+msgid "Child process error"
+msgstr "Kindprozess-Fehler"
+
+#. ERR_FAILED_CREATE_FILE
+msgid "Failed to create file:"
+msgstr "Fehler beim Erstellen der Datei:"
+
+#. ERR_LOAD_DEVICE_SETTINGS
+msgid "Error while loading device settings:"
+msgstr "Fehler beim Laden der GerƤteeinstellungen"
+
+#. ERR_NO_DRC_FILE
+msgid "is not a device-rc-file !!!"
+msgstr "ist keine GerƤteeinstellungs-Datei !!!"
+
+#. ERR_NETSCAPE_EXECUTE_FAIL
+msgid "Failed to execute netscape!"
+msgstr "Konnte Netscape nicht aufrufen"
+
+#. ERR_SENDFAX_RECEIVER_MISSING
+msgid "Send fax: no receiver defined"
+msgstr "Fax senden: kein EmpfƤnger angegeben"
+
+#. ERR_CREATED_FOR_DEVICE
+msgid "has been created for device"
+msgstr "wurde erstellt fĆ¼r das GerƤt"
+
+#. ERR_USED_FOR_DEVICE
+msgid "you want to use it for device"
+msgstr "wird benutzt fĆ¼r das GerƤt"
+
+#. ERR_MAY_CAUSE_PROBLEMS
+msgid "this may cause problems!"
+msgstr "das kann zu Problemen fĆ¼hren!"
+
+#. WARN_UNSAVED_IMAGES
+#, c-format
+msgid "There are %d unsaved images"
+msgstr "Es gibt %d nicht gespeicherte Bilder"
+
+#. WARN_FILE_EXISTS
+#, c-format
+msgid "File %s already exists"
+msgstr "Datei %s existiert bereits"
+
+#. ERR_FILE_NOT_EXISTS
+#, c-format
+msgid "File %s does not exist"
+msgstr "Datei %s existiert nicht"
+
+#. ERR_FILE_NOT_POSTSCRIPT
+#, c-format
+msgid "File %s is not a postscript file"
+msgstr "Datei %s is keine Postscript-Datei"
+
+#. ERR_UNSUPPORTED_OUTPUT_FORMAT
+#, c-format
+msgid "Unsupported %d-bit output format: %s"
+msgstr "Nicht unterstĆ¼tztes %d-bit Ausgabeformat: %s"
+
+#. ERR_CMS_CONVERSION
+msgid "Error during CMS conversion:"
+msgstr "Fehler bei Farbkonvertierung:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+msgid "Could not open"
+msgstr "Fehler beim Ɩffnen von"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Scanner ICM-Profil einbinden"
+
+#. CMS_DISPLAY_ICM
+msgid "display ICM profile"
+msgstr "Bildschirm ICM-Profil"
+
+#. CMS_PROOF_ICM
+msgid "proofing ICM profile"
+msgstr "Proofing ICM-Profil"
+
+#. ERR_CMS_CREATE_TRANSFORM
+msgid "Could not create transform"
+msgstr "Konnte Transformation nicht erstellen"
+
+#. WARN_VIEWER_IMAGE_NOT_SAVED
+msgid "viewer image is not saved"
+msgstr "Betrachter-Bild ist nicht gespeichert"
+
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr "Alle Dateien"
+
+#. FILE_FILTER_IMAGES
+msgid "Images"
+msgstr "Bilder"
+
+#. FILE_FILTER_XBL
+msgid "XSane batch list"
+msgstr "Stapellisten"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr "ICC/ICM Profile"
+
+#. FILE_FILTER_DRC
+msgid "XSane device preferences"
+msgstr "GerƤteeinstellungen"
+
+#. FILE_FILTER_RC
+msgid "XSane preferences"
+msgstr "Einstellungen"
+
+#. TEXT_USAGE
+msgid "Usage:"
+msgstr "Gebrauch:"
+
+#. TEXT_USAGE_OPTIONS
+msgid "[OPTION]... [DEVICE]"
+msgstr "[OPTION]... [GERƄT]"
+
+#. TEXT_HELP
+msgid ""
+"Start up graphical user interface to access SANE (Scanner Access Now Easy) "
+"devices.\n"
+"\n"
+"The format of [DEVICE] is backendname:devicefile (e.g. umax:/dev/scanner).\n"
+"[OPTION]... can be a combination of the following items:\n"
+" -h, --help display this help message and exit\n"
+" -v, --version print version information\n"
+" -l, --license print license information\n"
+"\n"
+" -d, --device-settings file load device settings from file (without \".drc"
+"\")\n"
+"\n"
+" -V, --viewer start with viewer-mode active (default)\n"
+" -s, --save start with save-mode active\n"
+" -c, --copy start with copy-mode active\n"
+" -m, --multipage start with multipage-mode active\n"
+" -f, --fax start with fax-mode active\n"
+" -e, --email start with e-mail-mode active\n"
+" -n, --no-mode-selection disable menu for XSane mode selection\n"
+"\n"
+" -F, --Fixed fixed main window size (overwrite preferences "
+"value)\n"
+" -R, --Resizeable resizable, scrolled main window (overwrite "
+"preferences value)\n"
+"\n"
+" -p, --print-filenames print image filenames created by XSane\n"
+" -N, --force-filename name force filename and disable user filename "
+"selection\n"
+"\n"
+" --display X11-display redirect output to X11-display\n"
+" --no-xshm do not use shared memory images\n"
+" --sync request a synchronous connection with the X11 "
+"server"
+msgstr ""
+"Startet graphisches Benutzerinterface fĆ¼r SANE (Scanner Access Now Easy)\n"
+"\n"
+"Das Format von [GERƄT] ist Backendname:GerƤtedatei (z.B. umax:/dev/scanner)\n"
+"[OPTION]... kann eine Kombination aus den folgenden Elementen sein:\n"
+" -h, --help zeigt diesen Hilfetext\n"
+" -v, --version gibt Versionsinformationen aus\n"
+" -l, --license gibt Lizenzinformationen aus\n"
+"\n"
+" -d, --device-settings datei lƤdt GerƤteeinstellungen von datei\n"
+"\n"
+" -V, --viewer starte im Betrachtermodus (default)\n"
+" -s, --save starte im Speichernmodus\n"
+" -c, --copy starte im Kopiermodus\n"
+" -m, --multipage starte im Mehrseitenmodus\n"
+" -f, --fax starte im Faxmodus\n"
+" -e, --email starte im E-Mailmodus\n"
+" -n, --no-mode-selection deaktiviere Modusauswahl\n"
+"\n"
+" -F, --Fixed HauptfenstergrĆ¶ĆŸe ist fest\n"
+" -R, --Resizeable HauptfenstergrĆ¶ĆŸe ist verƤnderbar\n"
+"\n"
+" -p, --print-filenames gibt Dateinamen erzeugter Bilder aus\n"
+" -N, --force-filename name benutze name als Dateinamen,\n"
+" deaktiviere Auswahl fĆ¼r Dateinamen\n"
+"\n"
+" --display X11-display lenkt X-Ausgabe auf X11-Display um\n"
+" --no-xshm keine shared memory Bilder benutzen\n"
+" --sync fordert synchrone Verbindung zum X-Server an"
+
+#. strings for gimp plugin
+#. XSANE_GIMP_INSTALL_BLURB
+msgid "Front-end to the SANE interface"
+msgstr "Frontend zum SANE-Interface"
+
+#. XSANE_GIMP_INSTALL_HELP
+msgid ""
+"This function provides access to scanners and other image acquisition "
+"devices through the SANE (Scanner Access Now Easy) interface."
+msgstr ""
+"Diese Funktion gibt Zugang zu Scannern und anderen bilderzeugenden GerƤten "
+"durch das SANE (Scanner Access Now Easy) Interface"
+
+#. Menu path must not be translated, this is done by the gimp. Only translate the text behind the last "/"
+#. XSANE_GIMP_MENU_DIALOG
+msgid "<Toolbox>/File/Acquire/XSane: Device dialog..."
+msgstr "<Toolbox>/File/Acquire/XSane: GerƤteauswahl"
+
+#. XSANE_GIMP_MENU
+msgid "<Toolbox>/File/Acquire/XSane: "
+msgstr "<Toolbox>/File/Acquire/XSane: "
+
+#. XSANE_GIMP_MENU_DIALOG_OLD
+msgid "<Toolbox>/Xtns/XSane/Device dialog..."
+msgstr "<Toolbox>/Xtns/XSane/GerƤteauswahl"
+
+#. XSANE_GIMP_MENU_OLD
+msgid "<Toolbox>/Xtns/XSane/"
+msgstr "<Toolbox>/Xtns/XSane/"
+
+#. HELP_NO_DEVICES
+msgid ""
+"Possible reasons:\n"
+"1) There really is no device that is supported by SANE\n"
+"2) Supported devices are busy\n"
+"3) The permissions for the device file do not allow you to use it - try as "
+"root\n"
+"4) The backend is not loaded by SANE (man sane-dll)\n"
+"5) The backend is not configured correct (man sane-\"backendname\")\n"
+"6) Possibly there is more than one SANE version installed"
+msgstr ""
+"Mƶgliche GrĆ¼nde:\n"
+"1) Es ist wirklich kein von SANE unterstĆ¼tzes GerƤt vorhanden\n"
+"2) UnterstĆ¼tzte GerƤte sind belegt\n"
+"3) Die Rechte fĆ¼r die GerƤtedatei erlauben Ihnen keinen Zugriff - Versuchen "
+"Sie es als root\n"
+"4) Das Backend wurde von SANE nicht geladen (man sane-dll)\n"
+"5) Das Backend wurde nicht richtig konfiguriert (man sane-\"backendname\")\n"
+"6) Mƶglicherweise sind mehrere SANE Versionen installiert"
+
+#. strings that are used in structures, so it is not allowed to use _()/gettext() here
+#. gettext_noop does mark these texts but does not change the string
+#. MENU_ITEM_SURFACE_FULL_SIZE
+msgid "full size"
+msgstr "volle GrĆ¶ĆŸe"
+
+#. MENU_ITEM_SURFACE_DIN_A3P
+msgid "DIN A3 port."
+msgstr "DIN A3 hoch"
+
+#. MENU_ITEM_SURFACE_DIN_A3L
+msgid "DIN A3 land."
+msgstr "DIN A3 quer"
+
+#. MENU_ITEM_SURFACE_DIN_A4P
+msgid "DIN A4 port."
+msgstr "DIN A4 hoch"
+
+#. MENU_ITEM_SURFACE_DIN_A4L
+msgid "DIN A4 land."
+msgstr "DIN A4 quer"
+
+#. MENU_ITEM_SURFACE_DIN_A5P
+msgid "DIN A5 port."
+msgstr "DIN A5 hoch"
+
+#. MENU_ITEM_SURFACE_DIN_A5L
+msgid "DIN A5 land."
+msgstr "DIN A5 quer"
+
+#. MENU_ITEM_SURFACE_13cmx18cm
+msgid "13cm x 18cm"
+msgstr "13cm x 18cm"
+
+#. MENU_ITEM_SURFACE_18cmx13cm
+msgid "18cm x 13cm"
+msgstr "18cm x 13cm"
+
+#. MENU_ITEM_SURFACE_10cmx15cm
+msgid "10cm x 15cm"
+msgstr "10cm x 15cm"
+
+#. MENU_ITEM_SURFACE_15cmx10cm
+msgid "15cm x 10cm"
+msgstr "15cm x 10cm"
+
+#. MENU_ITEM_SURFACE_9cmx13cm
+msgid "9cm x 13cm"
+msgstr "9cm x 13cm"
+
+#. MENU_ITEM_SURFACE_13cmx9cm
+msgid "13cm x 9cm"
+msgstr "13cm x 9cm"
+
+#. MENU_ITEM_SURFACE_legal_P
+msgid "legal port."
+msgstr "legal hoch"
+
+#. MENU_ITEM_SURFACE_legal_L
+msgid "legal land."
+msgstr "legal quer"
+
+#. MENU_ITEM_SURFACE_letter_P
+msgid "letter port."
+msgstr "letter hoch"
+
+#. MENU_ITEM_SURFACE_letter_L
+msgid "letter land."
+msgstr "letter quer"
+
+#. MENU_ITEM_MEDIUM_FULL_COLOR_RANGE
+msgid "Full color range"
+msgstr "Voller Farbumfang"
+
+#. MENU_ITEM_MEDIUM_SLIDE
+msgid "Slide"
+msgstr "Dia"
+
+#. MENU_ITEM_MEDIUM_STANDARD_NEG
+msgid "Standard negative"
+msgstr "Standard Negativ"
+
+#. MENU_ITEM_MEDIUM_AGFA_NEG
+msgid "Agfa negative"
+msgstr "Agfa Negativ"
+
+#. MENU_ITEM_MEDIUM_AGFA_NEG_XRG200_4
+msgid "Agfa negative XRG 200-4"
+msgstr "Agfa Negativ XRG 200-4"
+
+#. MENU_ITEM_MEDIUM_AGFA_NEG_HDC_100
+msgid "Agfa negative HDC 100"
+msgstr "Agfa Negativ HDC 100"
+
+#. MENU_ITEM_MEDIUM_FUJI_NEG
+msgid "Fuji negative"
+msgstr "Fuji Negativ"
+
+#. MENU_ITEM_MEDIUM_KODAK_NEG
+msgid "Kodak negative"
+msgstr "Kodak Negativ"
+
+#. MENU_ITEM_MEDIUM_KONICA_NEG
+msgid "Konica negative"
+msgstr "Konica Negativ"
+
+#. MENU_ITEM_MEDIUM_KONICA_NEG_VX_100
+msgid "Konica negative VX 100"
+msgstr "Konica Negativ VX 100"
+
+#. MENU_ITEM_MEDIUM_ROSSMANN_NEG_HR_100
+msgid "Rossmann negative HR 100"
+msgstr "Rossmann Negativ HR 100"
+
+#. TEXT_PROJECT_STATUS_NOT_CREATED
+msgid "Project not created"
+msgstr "Projekt nicht erstellt"
+
+#. TEXT_PROJECT_STATUS_CREATED
+msgid "Project created"
+msgstr "Projekt erstellt"
+
+#. TEXT_PROJECT_STATUS_CHANGED
+msgid "Project changed"
+msgstr "Projekt geƤndert"
+
+#. TEXT_PROJECT_STATUS_ERR_READ_PROJECT
+msgid "Error reading project"
+msgstr "Fehler beim Lesen des Projekts"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVING_ERROR
+msgid "Error saving file"
+msgstr "Fehler beim Speichern"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVING
+msgid "Saving file"
+msgstr "Datei wird gespeichert"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVING_ABORTED
+msgid "Aborted saving file"
+msgstr "Datei speichern abgebrochen"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVED
+msgid "File has been saved"
+msgstr "Datei wurde gespeichert"
+
+#. TEXT_EMAIL_STATUS_POP3_CONNECTION_FAILED
+msgid "POP3 connection failed"
+msgstr "POP3-Verbindung fehlgeschlagen"
+
+#. TEXT_EMAIL_STATUS_POP3_LOGIN_FAILED
+msgid "POP3 login failed"
+msgstr "POP3-Login fehlgeschlagen"
+
+#. TEXT_EMAIL_STATUS_ASMTP_AUTH_FAILED
+msgid "ASMTP authentication failed"
+msgstr "ASMTP Authentifizierung fehlgeschlagen"
+
+#. TEXT_EMAIL_STATUS_SMTP_CONNECTION_FAILED
+msgid "SMTP connection failed"
+msgstr "SMTP Verbindung fehlgeschlagen"
+
+#. TEXT_EMAIL_STATUS_SMTP_ERR_FROM
+msgid "From entry not accepted"
+msgstr "Absender Eintrag nicht akzeptiert"
+
+#. TEXT_EMAIL_STATUS_SMTP_ERR_RCPT
+msgid "Receiver entry not accepted"
+msgstr "EmpfƤnger Eintrag nicht akzeptiert"
+
+#. TEXT_EMAIL_STATUS_SMTP_ERR_DATA
+msgid "E-mail data not accepted"
+msgstr "E-Mail Daten nicht akzeptiert"
+
+#. TEXT_EMAIL_STATUS_SENDING
+msgid "Sending e-mail"
+msgstr "E-Mail wird gesendet"
+
+#. TEXT_EMAIL_STATUS_SENT
+msgid "E-mail has been sent"
+msgstr "E-Mail wurde gesendet"
+
+#. TEXT_FAX_STATUS_QUEUEING_FAX
+msgid "Queueing Fax"
+msgstr "Fax zum Senden einreihen"
+
+#. TEXT_FAX_STATUS_FAX_QUEUED
+msgid "Fax is queued"
+msgstr "Fax ist zum Senden eingereiht"
+
+#. Sane backend messages
+msgid "flatbed scanner"
+msgstr "Flachbettscanner"
+
+msgid "frame grabber"
+msgstr "Framegrabber"
+
+msgid "handheld scanner"
+msgstr "Handscanner"
+
+msgid "still camera"
+msgstr "Fotokamera"
+
+msgid "video camera"
+msgstr "Videokamera"
+
+msgid "virtual device"
+msgstr "virtuelles GerƤt"
+
+msgid "Success"
+msgstr "Erfolg"
+
+msgid "Operation not supported"
+msgstr "Operation nicht unterstĆ¼tzt"
+
+msgid "Operation was cancelled"
+msgstr "Operation abgebrochen"
+
+msgid "Device busy"
+msgstr "GerƤt besetzt"
+
+msgid "Invalid argument"
+msgstr "UngĆ¼ltiges Argument"
+
+msgid "End of file reached"
+msgstr "Dateiende erreicht"
+
+msgid "Document feeder jammed"
+msgstr "Dokumenteneinzug blockiert"
+
+msgid "Document feeder out of documents"
+msgstr "Dokumenteneinzug ohne Papier"
+
+msgid "Scanner cover is open"
+msgstr "Scannerdeckel ist offen"
+
+msgid "Error during device I/O"
+msgstr "Fehler wƤhrend GerƤte I/O"
+
+msgid "Out of memory"
+msgstr "Kein Speicher"
+
+msgid "Access to resource has been denied"
+msgstr "Zugang zum GerƤt wurde verweigert"
+
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Durchsicht-ICM-Profil fĆ¼r Scanner auswƤhlen"
+
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Durchsicht Graustufen ICM-Profil fĆ¼r Scanner auswƤhlen"
+
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Scanner reflektives ICM-Profil"
+
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Scanner reflektives Graustufen ICM-Profil"
+
+#~ msgid "Scanner transmissive ICM-profile"
+#~ msgstr "Scanner Durchsicht ICM-Profil"
+
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Scanner Durchsicht Graustufen ICM-Profil"
+
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Scanner reflektives ICM-Profil"
+
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Suche nach Scanner Durchsicht-ICM-Profil"
+
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Suche nach Scanner Durchsicht Graustufen ICM-Profil"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP unterstĆ¼tzt Bittiefe %d Bits/Farbe nicht"
+
+#~ msgid "scanner transmissive ICM profile"
+#~ msgstr "Scanner Durchsicht-ICM-Profil"
+
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Scanner reflektives ICM-Profil"
diff --git a/po/es.gmo b/po/es.gmo
index 721476c..442ae5a 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index ee2997b..7271165 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2004-08-22 19:15GMT\n"
"Last-Translator: Gustavo D. Vranjes <gvranjes@SoftHome.net>\n"
"Language-Team: Castellano <es@li.org>\n"
@@ -35,6 +36,7 @@ msgid "About"
msgstr "Acerca..."
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Acerca de la traducciĆ³n..."
@@ -74,6 +76,11 @@ msgstr "renombrar area de proceso por lotes"
msgid "fax project"
msgstr "proyecto de fax"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Ingresar nombre del proyecto de fax"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "renombrar pƔgina de fax"
@@ -87,6 +94,11 @@ msgstr "insertar archivo-ps dentro de fax"
msgid "E-mail project"
msgstr "proyecto de correo electrĆ³nico"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Ingresar nombre del proyecto de correo electrĆ³nico"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -102,6 +114,11 @@ msgstr "insertar archivo dentro de correo electrĆ³nico"
msgid "multipage project"
msgstr "Borrar proyecto"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Borrar proyecto"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "renombrar area de preset"
@@ -147,6 +164,7 @@ msgid "Preview"
msgstr "Vista previa"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Visor interno"
@@ -179,14 +197,17 @@ msgid "select temporary directory"
msgstr "seleccionar directorio temporal"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Redimensionar imagen"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Desparasitar imagen"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Desenfocar imagen"
@@ -198,6 +219,35 @@ msgstr "Guardar definiciĆ³n de medio"
msgid "No devices available"
msgstr "No hay dispositivos obtenibles"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Borrar impresora"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Borrar impresora"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "seleccionar archivo de salida"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Borrar impresora"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Borrar impresora"
+
#. MENU_FILE
msgid "File"
msgstr "Archivo"
@@ -215,6 +265,7 @@ msgid "Window"
msgstr "Ventana"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Ayuda"
@@ -230,6 +281,11 @@ msgstr "Filtros"
msgid "Geometry"
msgstr "GeometrĆ­a"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Acerca de XSane..."
@@ -243,6 +299,7 @@ msgid "Quit"
msgstr "Salir"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Guardar imagen"
@@ -259,6 +316,7 @@ msgid "Scale"
msgstr "Redimensionar"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Cerrar"
@@ -452,11 +510,11 @@ msgstr "Advertencia de sobreescritura"
msgid "Skip existing filenames"
msgstr "Omitir nombres de archivos existentes"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -473,7 +531,8 @@ msgid "Main window size fixed"
msgstr "TamaƱo de ventana principal fijo"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Deshabilitar vista previa de gamma de gimp"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -496,6 +555,11 @@ msgstr "Autocorregir colores"
msgid "Use GUI progress pipe"
msgstr "Usar progreso de tuberĆ­a GUI "
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "Escaneando dispositivos"
@@ -512,6 +576,12 @@ msgstr "Opciones de XSane"
msgid "Type"
msgstr "Tipo"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Rango de color completo"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "EscƔner y backend:"
@@ -584,18 +654,11 @@ msgstr "Formatos de salida de 8 bits:"
msgid "16 bit output formats:"
msgstr "Formatos de salida de 16 bits:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp no soporta profundidad de 16 bits/color.\n"
-"ĀæQuire reducir la profundidad a 8 bits/color?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"La profundidad de 16 bits/color no estĆ” soportada en Ć©ste formato de "
"salida.\n"
@@ -633,6 +696,11 @@ msgstr "versiĆ³n:"
msgid "package"
msgstr "paquete"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Rango de color completo"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "Con soporte de GIMP"
@@ -771,9 +839,10 @@ msgid "Medium Name:"
msgstr "Nombre del medio:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"TamaƱo %d x %d pixel, %d bit/color, %d colores, %1.0f dpi x %1.0f ppp, %1.1f "
"%s"
@@ -827,6 +896,7 @@ msgid "Name:"
msgstr "Nombre:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Comando:"
@@ -847,18 +917,22 @@ msgid "Color resolution (dpi):"
msgstr "ResoluciĆ³n de color (ppp):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Anchura"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Altura"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Desplazamiento a izquierda"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Desplazamiento hacia abajo"
@@ -878,7 +952,17 @@ msgstr "Gamma verde de impresora:"
msgid "Printer gamma blue:"
msgstr "Gamma azul de impresora:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Borrar impresora"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Borrar impresora"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1003,7 +1087,7 @@ msgstr "Establecer por defecto para:"
msgid "Viewer (Postscript):"
msgstr "Visor (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1082,10 +1166,45 @@ msgstr "grupo"
msgid "all"
msgstr "todo"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Borrar impresora"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Borrar impresora"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Borrar impresora"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Explorar nombre de archivo de imagen"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "medio nuevo"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Guarda imagen"
@@ -1095,14 +1214,17 @@ msgid "Filetype"
msgstr "Archivo"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Copia a impresora"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Fax"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "Correo electrĆ³nico"
@@ -1195,6 +1317,12 @@ msgstr "Mostrar lista de resoluciones"
msgid "Rotate postscript"
msgstr "Rotar postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Rango de color completo"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Editar definiciĆ³n de medio"
@@ -1239,6 +1367,86 @@ msgstr "Tips de escaneo"
msgid "Problems?"
msgstr "ĀæProblemas?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "AƱadir impresora"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "AƱadir impresora"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "AƱadir impresora"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "AƱadir impresora"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "autorizaciĆ³n"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "escribir"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Reducir"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Desenfoque"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "inactivo"
@@ -1357,6 +1565,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Borrar impresora"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Autocorregir colores"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Escaneando"
@@ -1415,6 +1637,11 @@ msgstr "Desenfocando imagen"
msgid "OCR in progress"
msgstr "OCR en progreso"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Autocorregir colores"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Comenzar escaneo <Ctrl-Enter>"
@@ -1476,8 +1703,9 @@ msgstr ""
"automƔticamente al nombre de archivo"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Ingresar nombre del proyecto de fax"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Explorar para directorio temporal"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1487,10 +1715,15 @@ msgstr "Ingrese nuevo nombre para la pƔgina de fax"
msgid "Enter receiver phone number or address"
msgstr "Ingrese nĆŗmero de telĆ©fono del receptor Ć³ direcciĆ³n"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Explorar para directorio temporal"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "Ingresar nombre del proyecto de correo electrĆ³nico"
+msgid "Enter e-mail project directory name"
+msgstr "Explorar para directorio temporal"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1502,6 +1735,11 @@ msgstr "Ingresar nuevo nombre para la imagen de correo electrĆ³nico"
msgid "Enter e-mail address"
msgstr "Ingresar direcciĆ³n de correo electrĆ³nico"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Explorar para directorio temporal"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1513,8 +1751,13 @@ msgstr "Seleccionar tipo de archivo para imagen adjunta"
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "Ingresar nombre del proyecto de correo electrĆ³nico"
+msgid "Enter multipage project directory name"
+msgstr "Explorar para directorio temporal"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Explorar para directorio temporal"
#. DESC_MULTIPAGE_FILETYPE
#, fuzzy
@@ -1640,7 +1883,8 @@ msgstr ""
"contraste = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Autoajustar gamma, brillo y contraste <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1725,19 +1969,23 @@ msgstr ""
"postscript"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Anchura de area imprimible"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Altura de area imprimible"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr ""
"Deplazamiento a la izquierda desde el borde del papel al Ɣrea imprimible"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Deplazamiento hacia abajo desde el borde del papel al Ɣrea imprimible"
@@ -1757,9 +2005,17 @@ msgstr "Valor de gamma adicional del valor verde para fotocopia"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Valor de gamma adicional del valor azul para fotocopia"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1820,14 +2076,14 @@ msgstr ""
"Si el contador de nombre archivo se incrementa automĆ”ticamente, los nĆŗmeros "
"presentes son salteados"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1844,7 +2100,9 @@ msgstr ""
"enormes!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Si el escƔner envƭa imƔgenes de 16 bits/color guardar imƔgenes con 8 bits/"
"color"
@@ -1879,7 +2137,8 @@ msgstr ""
"Usar tamaƱo de ventana principal fijo Ć³ uno de tamaƱo variable con scroll"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr ""
"Deshabilitar el gamma de previsualizaciĆ³n cuando XSane funciona como una "
"extensiĆ³n de GIMP"
@@ -1988,6 +2247,16 @@ msgid "Do color correction after preview scan has finished"
msgstr ""
"Hacer correcciĆ³n de color despuĆ©s de que la previsualizaciĆ³n ha concluĆ­do"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr ""
+"Seleccionar Ć”rea de escaneo despuĆ©s de que la previsualizaciĆ³n ha concluĆ­do"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Ingresar comando a ser ejecutado en modo de fax"
@@ -2016,8 +2285,8 @@ msgstr "Ingresar comando a ser ejecutado para ver un fax"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "Enviar fax con resoluciĆ³n vertical alta (196 lpp en vez de 98 lpp)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2105,9 +2374,10 @@ msgstr "leer"
msgid "write"
msgstr "escribir"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "ejecutar"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "usuario"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2276,6 +2546,36 @@ msgstr "Borrar area seleccionada de la lista de proceso por lotes"
msgid "Turns on automatic mode"
msgstr "Enciende modo automƔtico"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Explorar nombre de archivo de imagen"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Explorar nombre de archivo de imagen"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Explorar nombre de archivo de imagen"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Explorar nombre de archivo de imagen"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Explorar nombre de archivo de imagen"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Explorar nombre de archivo de imagen"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "FallĆ³ al determinar el directorio home:"
@@ -2328,11 +2628,6 @@ msgstr "Error durante guardado:"
msgid "Can't handle depth"
msgstr "No puede manejar la profundidad"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP no puede manejar la profundidad de %d bits/color"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Formato de archivo desconocido para guardar"
@@ -2566,10 +2861,68 @@ msgstr "El archivo %s no es un archivo postscript"
msgid "Unsupported %d-bit output format: %s"
msgstr "Formato de salida de %d-bit no soportado: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Error durante guardado:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "FallĆ³ al abrir"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Borrar impresora"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Explorar nombre de archivo de imagen"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Borrar impresora"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "No se puede crear archivos temporales"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "La imagen del visor no se guardĆ³"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Imagen"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Guardar lista de proceso por lotes"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Guardar preferencias de dispositivo al salir"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "Preferencias"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Uso:"
@@ -2960,8 +3313,66 @@ msgstr "Sin memoria"
msgid "Access to resource has been denied"
msgstr "Acceso al recurso fue prohibido"
-#~ msgid "Could not create temporary file"
-#~ msgstr "No se puede crear archivos temporales"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Borrar impresora"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Borrar impresora"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Borrar impresora"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Borrar impresora"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Borrar impresora"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Borrar impresora"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Explorar nombre de archivo de imagen"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Explorar nombre de archivo de imagen"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP no puede manejar la profundidad de %d bits/color"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Borrar impresora"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Borrar impresora"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Ingresar nombre del proyecto de fax"
+
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Ingresar nombre del proyecto de correo electrĆ³nico"
+
+#, fuzzy
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Ingresar nombre del proyecto de correo electrĆ³nico"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp no soporta profundidad de 16 bits/color.\n"
+#~ "ĀæQuire reducir la profundidad a 8 bits/color?"
#~ msgid "Could not create temporary preview files"
#~ msgstr "No se puede crear archivos temporales de previsualizaciĆ³n"
@@ -3030,9 +3441,6 @@ msgstr "Acceso al recurso fue prohibido"
#~ msgid "Multipage saving aborted"
#~ msgstr "Proyecto de correo electrĆ³nico creado"
-#~ msgid "Image"
-#~ msgstr "Imagen"
-
#~ msgid "Viewer (png):"
#~ msgstr "Visor (png):"
diff --git a/po/fr.gmo b/po/fr.gmo
index c81ecee..9731c9a 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 043e34b..a6b46bb 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -5,7 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2000-02-09 21:00+01:00\n"
"Last-Translator: Laurent Grawet <laurent.grawet@ibelgique.com>\n"
"Language-Team: French <fr@li.org>\n"
@@ -32,6 +33,7 @@ msgid "About"
msgstr "A propos"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Concernant la traduction"
@@ -71,6 +73,11 @@ msgstr "Renommer l'aire de numƩrisation"
msgid "fax project"
msgstr "Projet fax"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Entrez le nom du projet fax"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "Renommer la page de fax"
@@ -84,6 +91,11 @@ msgstr "Importer un fichier ps dans un fax"
msgid "E-mail project"
msgstr "Projet e-mail"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Entrez le nom du projet e-mail"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -99,6 +111,11 @@ msgstr "InsƩrer un fichier dans le message"
msgid "multipage project"
msgstr "Effacer un projet"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Effacer un projet"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "Renommer l'aire de prƩsƩlection"
@@ -144,6 +161,7 @@ msgid "Preview"
msgstr "AperƧu"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Visionneuse"
@@ -176,14 +194,17 @@ msgid "select temporary directory"
msgstr "Choisissez un rƩpertoire temporaire"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Redimensionner l'image"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "DĆ©parasiter l'image"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Adoucir l'image"
@@ -195,6 +216,35 @@ msgstr "Enregister la dƩfinition du support"
msgid "No devices available"
msgstr "Aucun pƩriphƩrique disponible"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Enlever une imprimante"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Enlever une imprimante"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "Choisissez le nom du fichier de sortie"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Enlever une imprimante"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Enlever une imprimante"
+
#. MENU_FILE
msgid "File"
msgstr "Fichier"
@@ -212,6 +262,7 @@ msgid "Window"
msgstr "FenĆŖtre"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Aide"
@@ -227,6 +278,11 @@ msgstr "Filtres"
msgid "Geometry"
msgstr "GƩomƩtrie"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "A propos de XSane"
@@ -240,6 +296,7 @@ msgid "Quit"
msgstr "Quitter"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Sauver l'image"
@@ -256,6 +313,7 @@ msgid "Scale"
msgstr "Redimensioner"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Fermer"
@@ -449,11 +507,11 @@ msgstr "Avertissement en cas d'Ć©crasement"
msgid "Skip existing filenames"
msgstr "Sauter les noms de fichiers existants"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -470,7 +528,8 @@ msgid "Main window size fixed"
msgstr "Taille de la fenĆŖtre principale fixe"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "DƩsactive l'aperƧu gamma de Gimp"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -493,6 +552,11 @@ msgstr "Correction automatique des couleurs"
msgid "Use GUI progress pipe"
msgstr "Utilise le \"pipe\" de progression GUI"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "Recherche de pƩriphƩriques..."
@@ -509,6 +573,12 @@ msgstr "Options de XSane"
msgid "Type"
msgstr "Type"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Pleine Ć©chelle couleur"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Scanner et backend:"
@@ -581,18 +651,11 @@ msgstr "Formats de sortie 8 bits:"
msgid "16 bit output formats:"
msgstr "Formats de sortie 16 bits:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp ne supporte pas la dƩfinition 16 bits/couleur.\n"
-"Voulez-vous rƩduire la dƩfinition Ơ 8 bits/couleur ?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"La dƩfinition 16 bits/couleur n'est pas supportƩe par ce format de sortie.\n"
"Voulez-vous rƩduire la dƩfinition Ơ 8 bits/couleur ?"
@@ -629,6 +692,11 @@ msgstr "version"
msgid "package"
msgstr "paquetage"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Pleine Ć©chelle couleur"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "avec support GIMP"
@@ -767,9 +835,10 @@ msgid "Medium Name:"
msgstr "Nom du support:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Taille %d x %d points, %d bit/couleur, %d couleurs, %1.0f dpi x %1.0f dpi, %"
"1.1f %s"
@@ -823,6 +892,7 @@ msgid "Name:"
msgstr "Nom:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Commande:"
@@ -843,18 +913,22 @@ msgid "Color resolution (dpi):"
msgstr "RĆ©solution en mode couleur (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Largeur"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Longueur"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Marge gauche"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Marge infƩrieure"
@@ -874,7 +948,17 @@ msgstr "Gamma vert de l'imprimante:"
msgid "Printer gamma blue:"
msgstr "Gamma bleu de l'imprimante:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Enlever une imprimante"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Enlever une imprimante"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -999,7 +1083,7 @@ msgstr "Options par dƩfaut pour:"
msgid "Viewer (Postscript):"
msgstr "Visionneuse (PostScript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1078,10 +1162,45 @@ msgstr "groupe"
msgid "all"
msgstr "tous"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Enlever une imprimante"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Enlever une imprimante"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Enlever une imprimante"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Parcourir pour un nom d'image"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "nouveau support"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Enregistrer"
@@ -1091,14 +1210,17 @@ msgid "Filetype"
msgstr "Fichier"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Copier"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Faxer"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "e-mail"
@@ -1191,6 +1313,12 @@ msgstr "Afficher la liste des rƩsolutions"
msgid "Rotate postscript"
msgstr "Rotation PostScript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Pleine Ć©chelle couleur"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Editer la dƩfinition du support"
@@ -1235,6 +1363,86 @@ msgstr "Conseils de numƩrisation"
msgid "Problems?"
msgstr "ProblĆØmes?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Ajouter une imprimante"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Ajouter une imprimante"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Ajouter une imprimante"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Ajouter une imprimante"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "Autorisation"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "Ć©criture"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "RĆ©duire"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Flou"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "inactif"
@@ -1353,6 +1561,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Enlever une imprimante"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Correction automatique des couleurs"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "NumƩrisation..."
@@ -1411,6 +1633,11 @@ msgstr "Flou de l'image..."
msgid "OCR in progress"
msgstr "OCR en cours..."
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Correction automatique des couleurs"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "NumƩriser <Ctrl-Enter>"
@@ -1471,8 +1698,9 @@ msgstr ""
"automatiquement ajoutƩe"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Entrez le nom du projet fax"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Parcourir pour un rƩpertoire temporaire"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1482,10 +1710,15 @@ msgstr "Entrez le nouveau nom pour la page de fax"
msgid "Enter receiver phone number or address"
msgstr "Entrez le numƩro de tƩl. ou l'adresse du destinataire"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Parcourir pour un rƩpertoire temporaire"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "Entrez le nom du projet e-mail"
+msgid "Enter e-mail project directory name"
+msgstr "Parcourir pour un rƩpertoire temporaire"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1497,6 +1730,11 @@ msgstr "Entrez le nouveau nom pour l'image du message"
msgid "Enter e-mail address"
msgstr "Entrez l'adresse e-mail"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Parcourir pour un rƩpertoire temporaire"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1508,8 +1746,13 @@ msgstr "SĆ©lectionnez le type de fichier pour les attachements"
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "Entrez le nom du projet e-mail"
+msgid "Enter multipage project directory name"
+msgstr "Parcourir pour un rƩpertoire temporaire"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Parcourir pour un rƩpertoire temporaire"
#. DESC_MULTIPAGE_FILETYPE
#, fuzzy
@@ -1636,7 +1879,8 @@ msgstr ""
" contraste = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Ajuste automatiquement gamma, luminositƩ et contraste <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1720,18 +1964,22 @@ msgstr ""
"imprimƩes en PostScript"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Largeur de la zone imprimable"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Longueur de la zone imprimable"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Marge entre le bord gauche du papier et l'aire imprimable"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Marge entre le bord infƩrieur du papier et l'aire imprimable en mm"
@@ -1751,9 +1999,17 @@ msgstr "Gamma additionnel pour la composante verte pour la photocopie"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Gamma additionnel pour la composante bleue pour la photocopie"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1814,14 +2070,14 @@ msgstr ""
"Si un compteur de noms de fichiers est utilisƩ, les nombres dƩjƠ utilisƩs "
"sont ƩvitƩs"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1837,7 +2093,9 @@ msgstr ""
"supportĆ© par plus de programmes mais produit de trĆØs gros fichiers !!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Si le scanner envoie une image en 16 bits/couleur, sauver l'image en 8 bits/"
"couleur"
@@ -1873,7 +2131,8 @@ msgstr ""
"principale redimensionable"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "DƩsactive l'aperƧu gamma quand XSane fonctionne comme un plugin Gimp"
#. DESC_PREVIEW_COLORMAP
@@ -1977,6 +2236,16 @@ msgstr ""
msgid "Do color correction after preview scan has finished"
msgstr "Corrige les couleurs une fois la prƩvisualisation terminƩe"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr ""
+"SƩlectionne l'aire de numƩrisation une fois la prƩvisualisation terminƩe"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Entrez la commande Ơ exƩcuter en mode fax"
@@ -2007,8 +2276,8 @@ msgstr ""
"Envoie un fax avec une rƩsolution verticale ƩlevƩe (196 lpi Ơ la place de 98 "
"lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2093,9 +2362,10 @@ msgstr "lecture"
msgid "write"
msgstr "Ć©criture"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "exƩcution"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "utilisateur"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2264,6 +2534,36 @@ msgstr "Supprime l'aire sƩlectionnƩe de la liste"
msgid "Turns on automatic mode"
msgstr "Actionne le mode automatique"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Parcourir pour un nom d'image"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Parcourir pour un nom d'image"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Parcourir pour un nom d'image"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Parcourir pour un nom d'image"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Parcourir pour un nom d'image"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Parcourir pour un nom d'image"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Impossible de dƩterminer le rƩpertoire personnel:"
@@ -2316,11 +2616,6 @@ msgstr "Erreur pendant la sauvegarde"
msgid "Can't handle depth"
msgstr "Ne supporte pas le mode"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP ne supporte pas la profondeur %d bits/color"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Format de sauvegarde inconnu"
@@ -2555,10 +2850,68 @@ msgstr "Le fichier %s n'est pas un fichier PostScript"
msgid "Unsupported %d-bit output format: %s"
msgstr "Format de sortie %d-bit non supportƩ: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Erreur pendant la sauvegarde"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Echec de l'ouverture"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Enlever une imprimante"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Parcourir pour un nom d'image"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Enlever une imprimante"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Ne peut crƩer de fichier temporaire"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "L'image de la visionneuse n'est pas sauvegardƩe"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Image"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Sauve la liste"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Sauver les paramĆØtres du pĆ©riphĆ©rique en quittant"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "PrƩfƩrences"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Usage:"
@@ -2948,8 +3301,66 @@ msgstr "DƩpassement de mƩmoire"
msgid "Access to resource has been denied"
msgstr "AccĆØs Ć  la ressource refusĆ©"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Ne peut crƩer de fichier temporaire"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Enlever une imprimante"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Enlever une imprimante"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Enlever une imprimante"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Enlever une imprimante"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Enlever une imprimante"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Enlever une imprimante"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Parcourir pour un nom d'image"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Parcourir pour un nom d'image"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP ne supporte pas la profondeur %d bits/color"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Enlever une imprimante"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Enlever une imprimante"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Entrez le nom du projet fax"
+
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Entrez le nom du projet e-mail"
+
+#, fuzzy
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Entrez le nom du projet e-mail"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp ne supporte pas la dƩfinition 16 bits/couleur.\n"
+#~ "Voulez-vous rƩduire la dƩfinition Ơ 8 bits/couleur ?"
#~ msgid "Could not create temporary preview files"
#~ msgstr "Ne peut pas crƩer de fichiers temporaires de prƩvisualisation"
@@ -3019,9 +3430,6 @@ msgstr "AccĆØs Ć  la ressource refusĆ©"
#~ msgid "Multipage saving aborted"
#~ msgstr "Projet d'e-mail crƩƩ"
-#~ msgid "Image"
-#~ msgstr "Image"
-
#~ msgid "Viewer (png):"
#~ msgstr "Visionneuse (png):"
diff --git a/po/hu.gmo b/po/hu.gmo
index 15d2d77..2e4f737 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 9cb952c..6b6bf7c 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -5,7 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: hu\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2005-12-31 10:34+0100\n"
"Last-Translator: Aron Novak <aaron@szentimre.hu>\n"
"Language-Team: Hungarian\n"
@@ -33,6 +34,7 @@ msgid "About"
msgstr "NĆ©vjegy"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "FordƭtƔs nƩvjegye"
@@ -72,6 +74,11 @@ msgstr "kƶtegelt terĆ¼let Ć”tnevezĆ©se"
msgid "fax project"
msgstr "faxterv"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Add meg a terv nevƩt"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "faxoldal ƔtnevezƩse"
@@ -84,6 +91,11 @@ msgstr "ps fĆ”jl beszĆŗrĆ”sa a faxba"
msgid "E-mail project"
msgstr "levƩlterv"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Add meg a levƩlterv nevƩt"
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr "email - kƩp ƔtnevezƩse"
@@ -96,6 +108,11 @@ msgstr "fĆ”jl beszĆŗrĆ”sa levĆ©lbe"
msgid "multipage project"
msgstr "tƶbb oldalas terv"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "tƶbb oldalas terv"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "kijelƶlƩs tƶrlƩse"
@@ -141,6 +158,7 @@ msgid "Preview"
msgstr "ElőnĆ©zet"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "MutatƔs"
@@ -173,14 +191,17 @@ msgid "select temporary directory"
msgstr "ideiglenes kƶnyvtƔr megadƔsa"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "KƩp ƔtmƩretezƩse"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "SzemcsƩzettsƩg csƶkkentƩse"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "KƩp elmosƔsa"
@@ -192,6 +213,35 @@ msgstr "KƶzƩpmeghatƔrozƔs tƔrolƔsa"
msgid "No devices available"
msgstr "Nincs elĆ©rhető eszkƶz"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "kimeneti fƔjlnƩv megadƔsa"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
#. MENU_FILE
msgid "File"
msgstr "FƔjl"
@@ -209,6 +259,7 @@ msgid "Window"
msgstr "Ablak"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "SĆŗgĆ³"
@@ -224,6 +275,11 @@ msgstr "Szűrők"
msgid "Geometry"
msgstr "ƁtalakƭtƔs"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Az XSane nƩvjegye"
@@ -237,6 +293,7 @@ msgid "Quit"
msgstr "KilƩpƩs"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "KƩp mentƩse"
@@ -253,6 +310,7 @@ msgid "Scale"
msgstr "ƁtmƩretezƩs"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "BezƔrƔs"
@@ -444,11 +502,11 @@ msgstr "FigyelmeztetĆ©s felĆ¼lĆ­rĆ”skor"
msgid "Skip existing filenames"
msgstr "LĆ©tező fĆ”jlnevek kihagyĆ”sa"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr "MentƩs postscript zlib tƶmƶrƭtettben (ps level 3)"
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr "MentƩs PDF-ben, zlibbel tƶmƶrƭtve"
@@ -465,7 +523,8 @@ msgid "Main window size fixed"
msgstr "A főablak rƶgzĆ­tett mĆ©retű"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "A gimp előnĆ©zeti gamma tiltĆ”sa"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -488,6 +547,11 @@ msgstr "Szƭnek automatikus javƭtƔsa"
msgid "Use GUI progress pipe"
msgstr "A GUI folyamatjelző hasznĆ”lata"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "eszkƶzƶk keresƩse"
@@ -504,6 +568,12 @@ msgstr "XSane beƔllƭtƔsok"
msgid "Type"
msgstr "TĆ­pus"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Teljes szƭnmƩlysƩg"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "LapolvasĆ³ Ć©s backend:"
@@ -576,18 +646,11 @@ msgstr "8 bites kimeneti formƔtumok:"
msgid "16 bit output formats:"
msgstr "16 bites kimeneti formƔtumok:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"A Gimp nem tƔmogatja a 16 bites szƭnmƩlysƩget.\n"
-"SzeretnƩd csƶkkenteni 8 bitesre?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"A 16 bites szĆ­nmĆ©lysĆ©g nem tĆ”mogatott ehhez a formĆ”tumhozCsƶkkentsĆ¼k 8 "
"bitesre?"
@@ -624,6 +687,11 @@ msgstr "vƔltozat:"
msgid "package"
msgstr "csomag"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Teljes szƭnmƩlysƩg"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "GIMP tƔmogatƔssal"
@@ -753,9 +821,10 @@ msgid "Medium Name:"
msgstr "KƶzƩp neve:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"MƩret %d x %d kƩppont, %d bit/szƭn, %d szƭn, %1.0f dpi x %1.0f dpi, %1.1f %s"
@@ -808,6 +877,7 @@ msgid "Name:"
msgstr "NĆ©v:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Parancs:"
@@ -828,18 +898,22 @@ msgid "Color resolution (dpi):"
msgstr "Szƭnes felbontƔs (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "SzƩlessƩg"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "MagassƔg"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Jobb eltolƔs"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Lenti eltolƔs"
@@ -859,7 +933,17 @@ msgstr "NyomtatĆ³ zƶld gammĆ”ja:"
msgid "Printer gamma blue:"
msgstr "NyomtatĆ³ kĆ©k gammĆ”ja:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Zlibbel tƶmƶrƭtett postscript lƩtrehozƔsa nyomtatƔshoz (ps level 3)"
@@ -983,7 +1067,7 @@ msgstr "AlapƩrtelmezett beƔllƭtƔsok ehhez:"
msgid "Viewer (Postscript):"
msgstr "NĆ©zőke (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr "Zlibbel tƶmƶrƭtett postscript lƩtrehozƔsa faxhoz (ps level 3)"
@@ -1059,10 +1143,45 @@ msgstr "csoport"
msgid "all"
msgstr "mindenki mƔs"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "KƩp fƔjlnevƩnek bƶngƩszƩse"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "Ćŗj mĆ©dia"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "MentƩs"
@@ -1071,14 +1190,17 @@ msgid "Filetype"
msgstr "FƔjl tƭpusa"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "MƔsolƔs"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "FaxolƔs"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr "Email"
@@ -1170,6 +1292,12 @@ msgstr "FelbontƔsok mutatƔsa"
msgid "Rotate postscript"
msgstr "Postscript forgatƔsa"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Teljes szƭnmƩlysƩg"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "RƩszletes hangolƔs"
@@ -1214,6 +1342,86 @@ msgstr "BeolvasƔsi tanƔcsok"
msgid "Problems?"
msgstr "Elakadt?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "NyomtatĆ³ hozzĆ”adĆ”sa"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "NyomtatĆ³ hozzĆ”adĆ”sa"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "NyomtatĆ³ hozzĆ”adĆ”sa"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "NyomtatĆ³ hozzĆ”adĆ”sa"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "engedƩlyezƩs"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "ƭrƔs"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Csƶkkent"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "ElmosƔs"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "inaktĆ­v"
@@ -1330,6 +1538,20 @@ msgstr "ASMTP bejelentkezƩs"
msgid "ASMTP CRAM-MD5"
msgstr "ASMTP CRAM-MD5"
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Szƭnek automatikus javƭtƔsa"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "BeolvasƔs"
@@ -1387,6 +1609,11 @@ msgstr "KƩp elmosƔsa"
msgid "OCR in progress"
msgstr "SzƶvegfelismerƩs folyamatban"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Szƭnek automatikus javƭtƔsa"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "BeolvasƔs indƭtƔsa <Ctrl-Enter>"
@@ -1446,8 +1673,9 @@ msgstr ""
"fƔjlnƩvhez"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Add meg a terv nevƩt"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "TallĆ³zĆ”s az ideiglenes kƶnyvtĆ”rhoz"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1457,9 +1685,15 @@ msgstr "Adj Ćŗj nevet a faxoldalnak"
msgid "Enter receiver phone number or address"
msgstr "Add meg a fogadĆ³ telefonjĆ”t vagy cĆ­mĆ©t"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "TallĆ³zĆ”s az ideiglenes kƶnyvtĆ”rhoz"
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
-msgstr "Add meg a levƩlterv nevƩt"
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "TallĆ³zĆ”s az ideiglenes kƶnyvtĆ”rhoz"
#. DESC_EMAIL_IMAGENAME
msgid "Enter new name for e-mail image"
@@ -1469,6 +1703,11 @@ msgstr "Adj Ćŗj nevet a kĆ©pnek"
msgid "Enter e-mail address"
msgstr "Add meg az emailcĆ­met"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "TallĆ³zĆ”s az ideiglenes kƶnyvtĆ”rhoz"
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr "Add meg a levƩl tƔrgyƔt"
@@ -1478,8 +1717,14 @@ msgid "Select filetype for image attachments"
msgstr "VƔlassz fƔjltƭpust a csatolmƔnyhoz"
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
-msgstr "Add meg a tƶbboldalas levƩlterv nevƩt"
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "TallĆ³zĆ”s az ideiglenes kƶnyvtĆ”rhoz"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "TallĆ³zĆ”s az ideiglenes kƶnyvtĆ”rhoz"
#. DESC_MULTIPAGE_FILETYPE
msgid "Select filetype for multipage file"
@@ -1604,7 +1849,8 @@ msgstr ""
" kontraszt = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "A gamma, vilĆ”gossĆ”g Ć©s kontraszt ƶnműkƶdő Ć”llĆ­tĆ”sa <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1685,18 +1931,22 @@ msgstr ""
"A szƭnes kƩpek ekkora felbontƔsban lesznek nyomtatva Ʃs postscriptbe mentve"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "A nyomtathatĆ³ terĆ¼let szĆ©lessĆ©ge"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "A nyomtathatĆ³ terĆ¼let magassĆ”ga"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "A papĆ­r jobb szĆ©lĆ©től ekkora tĆ”volsĆ”gra van a nyomtathatĆ³ terĆ¼let"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "A papĆ­r alsĆ³ szĆ©lĆ©től ekkora tĆ”volsĆ”gra van a nyomtathatĆ³ terĆ¼let"
@@ -1716,9 +1966,18 @@ msgstr "Plusz zƶld gamma Ć©rtĆ©k a fotĆ³mĆ”solĆ”shoz"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Plusz kĆ©k gamma Ć©rtĆ©k a fotĆ³mĆ”solĆ”shoz"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
"Zlibbel tƶmƶrĆ­tett postscript lĆ©trehozĆ”sa nyomtatĆ³nak (flatcode).\n"
@@ -1779,16 +2038,18 @@ msgstr ""
"Ha a fĆ”jlnĆ©vszĆ”mlĆ”lĆ³ ƶnműkƶdően nƶvelt, akkor a mĆ”r hasznĆ”lt szĆ”mokat hagyja "
"ki"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
"postscript kƩp tƶmƶrƭtƩse zlibbel (flatcode). Ha egy ilyen fƔljt akarsz "
"kinyomtatni, a nyomtatĆ³ postscript 3 megfelelő kell legyen."
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+#, fuzzy
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr "PDF tƶmƶrƭtƩse zlibbel (flatdecode)"
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1803,7 +2064,9 @@ msgstr ""
"formĆ”tumot tƶbb program tĆ”mogatja, de azok Ć³riĆ”sifĆ”jlok lesznek!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr "Ha a lapolvasĆ³ 12 bites kĆ©pet kĆ¼dl, akkor 8 bitesbe mentse el"
#. DESC_PSFILE_WIDTH
@@ -1832,7 +2095,8 @@ msgid "Use fixed main window size or scrolled, resizable main window"
msgstr "RƶgzĆ­tett vagy gƶrgethető/Ć”tmĆ©retezhető főablak hasznĆ”lata"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "ElőnĆ©zeti gamma tiltĆ”sa, amikor az XSane a gimpen belĆ¼l fut"
#. DESC_PREVIEW_COLORMAP
@@ -1925,6 +2189,15 @@ msgstr "VĆ”lasszuk ki a beolvasĆ”si terĆ¼letet miutĆ”n elkĆ©szĆ¼lt az előnĆ©zet
msgid "Do color correction after preview scan has finished"
msgstr "KĆ©szĆ­tsen szĆ­nkorrekciĆ³t az előnĆ©zet elkĆ©szĆ¼lte utĆ”n"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "VĆ”lasszuk ki a beolvasĆ”si terĆ¼letet miutĆ”n elkĆ©szĆ¼lt az előnĆ©zet"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Adjuk meg a fax-parancsot"
@@ -1953,8 +2226,9 @@ msgstr "Adjuk meg a fax-nĆ©zőke parancsĆ”t"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "KĆ¼ldje a faxot nagyobb x-irĆ”nyĆŗ felbontĆ”ssal(196 lpi a 98 lpi helyett)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+#, fuzzy
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr "Zlibbel tƶmƶrƭtett postscript kƩp lƩtrehozƔsa faxhoz (flatdecode)"
#. DESC_SMTP_SERVER
@@ -2032,9 +2306,10 @@ msgstr "olvasƔs"
msgid "write"
msgstr "ƭrƔs"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "vƩgrehajtƔs"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "felhasznĆ”lĆ³"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2202,6 +2477,36 @@ msgstr "Kijelƶlt terĆ¼let tƶrlĆ©se a kƶtegelt listĆ”bĆ³l"
msgid "Turns on automatic mode"
msgstr "ƖnmĆ¼kƶdő mĆ³d bekapcsolĆ”sa"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "KƩp fƔjlnevƩnek bƶngƩszƩse"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "KƩp fƔjlnevƩnek bƶngƩszƩse"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "KƩp fƔjlnevƩnek bƶngƩszƩse"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "KƩp fƔjlnevƩnek bƶngƩszƩse"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "KƩp fƔjlnevƩnek bƶngƩszƩse"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "KƩp fƔjlnevƩnek bƶngƩszƩse"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Sikertelen a home kƶnyvtƔr megtalƔlƔsa:"
@@ -2254,11 +2559,6 @@ msgstr "Hiba mentƩs alatt:"
msgid "Can't handle depth"
msgstr "Nem lehet kezelni ezt a mƩlysƩget"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "A GIMP nem tudja kezelni a %d szƭnmƩlysƩget"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Ismeretlen fƔjlformƔtum mentƩshez"
@@ -2491,10 +2791,68 @@ msgstr "A %s nem postscript fƔjl"
msgid "Unsupported %d-bit output format: %s"
msgstr "Nem tĆ”mogatott %d-bites kimeneti mĆ³d: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Hiba mentƩs alatt:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Sikertelen megnyitƔs"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "KƩp fƔjlnevƩnek bƶngƩszƩse"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Nem lehet lƩtrehozni az ideiglenes fƔjlt"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "MegjelenƭtƩs kƩpe nincs mentve"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Oldalak:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Kƶtegelt lista mentƩse"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "EszkƶzbeƔllƭtƔsok mentƩse kilƩpƩskor"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "TulajdonsƔgok"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "HasznƔlat:"
@@ -2866,11 +3224,61 @@ msgstr "Elfogyott a memĆ³ria"
msgid "Access to resource has been denied"
msgstr "A hozzĆ”fĆ©rĆ©s az erőforrĆ”shoz megtagadva"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Nem lehet lƩtrehozni az ideiglenes fƔjlt"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "KƩp fƔjlnevƩnek bƶngƩszƩse"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "KƩp fƔjlnevƩnek bƶngƩszƩse"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "A GIMP nem tudja kezelni a %d szƭnmƩlysƩget"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "NyomtatĆ³ tƶrlĆ©se"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Add meg a terv nevƩt"
+
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Add meg a levƩlterv nevƩt"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "Ideiglenes előnĆ©zeti fĆ”jlok lĆ©trehozĆ”sa meghiĆŗsult"
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Add meg a tƶbboldalas levƩlterv nevƩt"
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "Nem lehetett fĆ”jlnevet adni az előnĆ©zeti fĆ”jloknak"
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "A Gimp nem tƔmogatja a 16 bites szƭnmƩlysƩget.\n"
+#~ "SzeretnƩd csƶkkenteni 8 bitesre?"
diff --git a/po/it.gmo b/po/it.gmo
index 176a352..a8fa024 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index ebb24c1..575f0ed 100644
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: xsane-0.99_it\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2006-01-09 21:47+0100\n"
"Last-Translator: Kostantino <ciclope10ATalice.it>\n"
"Language-Team: Italiano <tp@lists.linux.it>\n"
@@ -35,6 +36,7 @@ msgid "About"
msgstr "Informazioni"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Informazioni sulla traduzione"
@@ -74,6 +76,11 @@ msgstr "Rinomina area batch"
msgid "fax project"
msgstr "Progetto fax"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Inserisci nome del progetto fax"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "Rinomina pagina fax"
@@ -86,6 +93,11 @@ msgstr "Inserisci file PS nel fax"
msgid "E-mail project"
msgstr "Progetto e-mail"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Inserisci nome del progetto e-mail"
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr "Rinomina l'immagine e-mail"
@@ -98,6 +110,11 @@ msgstr "Inserisci un file nell'e-mail"
msgid "multipage project"
msgstr "Progetto multipagina"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Progetto multipagina"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "Rinomina area predefinita"
@@ -143,6 +160,7 @@ msgid "Preview"
msgstr "Anteprima"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Visualizzatore"
@@ -175,14 +193,17 @@ msgid "select temporary directory"
msgstr "Seleziona cartella temporanea"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Ridimensiona l'immagine"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Applica filtro mediano"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Sfoca l'immagine"
@@ -194,6 +215,35 @@ msgstr "Salva la definizione del supporto"
msgid "No devices available"
msgstr "Non ĆØ disponibile alcun dispositivo"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Cancella stampante"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Cancella stampante"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "Seleziona il nome del file prodotto"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Cancella stampante"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Cancella stampante"
+
#. MENU_FILE
msgid "File"
msgstr "File "
@@ -211,6 +261,7 @@ msgid "Window"
msgstr "Finestra"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Aiuto"
@@ -226,6 +277,11 @@ msgstr "Filtri"
msgid "Geometry"
msgstr "Geometria"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Informazioni su XSane"
@@ -239,6 +295,7 @@ msgid "Quit"
msgstr "Esci"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Salva immagine"
@@ -255,6 +312,7 @@ msgid "Scale"
msgstr "Ridimensiona"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Chiudi"
@@ -446,11 +504,11 @@ msgstr "Avvisa prima di sovrascrivere"
msgid "Skip existing filenames"
msgstr "Salta i nomi dei file esistenti"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr "Salva come postscript compresso zlib (ps di livello 3)"
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr "Salva come PDF compresso zlib"
@@ -467,7 +525,8 @@ msgid "Main window size fixed"
msgstr "Finestra principale di dimensioni fisse"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Disabilita la gamma sull'anteprima di GIMP"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -490,6 +549,11 @@ msgstr "Correzione automatica dei colori"
msgid "Use GUI progress pipe"
msgstr "Utilizza la pipe di avanzamento della GUI"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "Sto cercando i dispositivi..."
@@ -506,6 +570,12 @@ msgstr "Opzioni di XSane"
msgid "Type"
msgstr "Tipo"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Tutto l'intervallo del colore"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Scanner e backend:"
@@ -578,18 +648,11 @@ msgstr "Formati d'uscita a 8 bit:"
msgid "16 bit output formats:"
msgstr "Formati d'uscita a 16 bit:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"GIMP non supporta la profonditĆ  di 16 bit/colore.\n"
-"Vuoi ridurla a 8 bit/colore?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"La profonditĆ  di 16 bit/colore non ĆØ supportata per questo formato.\n"
"Vuoi ridurla a 8 bit/colore?"
@@ -626,6 +689,11 @@ msgstr "versione:"
msgid "package"
msgstr "pacchetto"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Tutto l'intervallo del colore"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "con supporto GIMP"
@@ -757,9 +825,10 @@ msgid "Medium Name:"
msgstr "Nome supporto:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Dimensione %d x %d pixel, %d bit/colore, %d colori, %1.0f dpi x %1.0f dpi, %"
"1.1f %s"
@@ -813,6 +882,7 @@ msgid "Name:"
msgstr "Nome:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Comando:"
@@ -833,18 +903,22 @@ msgid "Color resolution (dpi):"
msgstr "Risoluzione del colore (DPI):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Larghezza"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Altezza"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Margine sinistro"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Margine inferiore"
@@ -864,7 +938,17 @@ msgstr "Verde della gamma della stampante:"
msgid "Printer gamma blue:"
msgstr "Blu della gamma della stampante:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Cancella stampante"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Cancella stampante"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
"Per la stampa crea immagine postscript compressa zlib (PS di livello 3) "
@@ -989,7 +1073,7 @@ msgstr "Imposta valori predefiniti per:"
msgid "Viewer (Postscript):"
msgstr "Visualizzatore (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr "Per il fax crea immagine postscript compressa zlib (PS livello 3)"
@@ -1065,10 +1149,45 @@ msgstr "gruppo"
msgid "all"
msgstr "tutti"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Cancella stampante"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Cancella stampante"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Cancella stampante"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Sfoglia per nome immagine"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "nuovo supporto"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Salva"
@@ -1077,14 +1196,17 @@ msgid "Filetype"
msgstr "Tipo file"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Copia"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Fax "
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr "E-mail"
@@ -1176,6 +1298,12 @@ msgstr "Visualizza l'elenco delle risoluzioni"
msgid "Rotate postscript"
msgstr "Ruota Postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Tutto l'intervallo del colore"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Salva definizione supporto"
@@ -1220,6 +1348,86 @@ msgstr "Consigli sulla scansione"
msgid "Problems?"
msgstr "Problemi?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Aggiungi stampante"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Aggiungi stampante"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Aggiungi stampante"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Aggiungi stampante"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "Autorizzazione"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "scrivi"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Riduci"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Sfoca"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "inattivo"
@@ -1336,6 +1544,20 @@ msgstr "Login ASMTP"
msgid "ASMTP CRAM-MD5"
msgstr "ASMTP CRAM-MD5"
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Cancella stampante"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Correzione automatica dei colori"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Acquisizione"
@@ -1393,6 +1615,11 @@ msgstr "Sfoca immagine"
msgid "OCR in progress"
msgstr "OCR in corso"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Correzione automatica dei colori"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Avvia scansione <Ctrl-Enter>"
@@ -1452,8 +1679,9 @@ msgstr ""
"automaticamente"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Inserisci nome del progetto fax"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Cerca cartella temporanea"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1463,9 +1691,15 @@ msgstr "Inserisci nuovo nome per la pagina del fax"
msgid "Enter receiver phone number or address"
msgstr "Inserisci numero telefonico o indirizzo del ricevente"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Cerca cartella temporanea"
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
-msgstr "Inserisci nome del progetto e-mail"
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "Cerca cartella temporanea"
#. DESC_EMAIL_IMAGENAME
msgid "Enter new name for e-mail image"
@@ -1475,6 +1709,11 @@ msgstr "Inserisci nuovo nome per l'immagine e-mail"
msgid "Enter e-mail address"
msgstr "Inserisci indirizzo di posta elettronica"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Cerca cartella temporanea"
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr "Inserisci argomento dell'e-mail"
@@ -1484,8 +1723,14 @@ msgid "Select filetype for image attachments"
msgstr "Seleziona il tipo di file per le immagini allegate"
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
-msgstr "Inserisci nome del progetto multipagina"
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "Cerca cartella temporanea"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Cerca cartella temporanea"
#. DESC_MULTIPAGE_FILETYPE
msgid "Select filetype for multipage file"
@@ -1610,7 +1855,8 @@ msgstr ""
" contrasto = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr ""
"Calibrazione automatica della gamma, della luminositĆ  e del contrasto <Ctrl-"
"e>"
@@ -1698,18 +1944,22 @@ msgstr ""
"formato Postscript"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Larghezza area stampa"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Altezza area stampa"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Margine sinistro dal bordo del foglio all'area di stampa"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Margine inferiore dal bordo pagina all'area di stampa"
@@ -1729,9 +1979,18 @@ msgstr "Valore aggiuntivo della gamma per la componente verde per la fotocopia"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Valore aggiuntivo della gamma per la componente blu per la fotocopia"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
"Crea immagine postscript compressa zlib per la stampa (decodifica flat).\n"
@@ -1794,17 +2053,19 @@ msgstr ""
"I numeri giĆ  usati vengono saltati se il contatore del nome file viene "
"incrementato automaticamente"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
"comprimi immagine postscript con un algoritmo zlib (decodifica flat). La tua "
"stampante deve comprendere il linguaggio postscript di livello 3 quando vuoi "
"stampare un simile file."
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+#, fuzzy
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr "comprimi immagine PDF con algoritmo zlib (decodifica flat)."
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1820,7 +2081,9 @@ msgstr ""
"programmi ma produce file giganteschi!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Salva l'immagine a 8 bit/colore se lo scanner invia immagini a 16 bit/colore"
@@ -1855,7 +2118,8 @@ msgstr ""
"scorribile o ridimensionabile"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr ""
"Disabilita l'anteprima della gamma quando XSane ĆØ eseguito come un plugin di "
"GIMP"
@@ -1964,6 +2228,15 @@ msgstr "Seleziona l'area di scansione dopo l'acquisizione dell'anteprima"
msgid "Do color correction after preview scan has finished"
msgstr "Applica la correzione dei colori dopo l'acquisizione dell'anteprima"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Seleziona l'area di scansione dopo l'acquisizione dell'anteprima"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Inserisci il comando da eseguire in modalitĆ  fax"
@@ -1996,8 +2269,9 @@ msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr ""
"Invia il fax con un'alta risoluzione verticale (196 lpi invece di 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+#, fuzzy
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr "Crea immagine postscript compressa zlib per il fax (decodifica flat)"
#. DESC_SMTP_SERVER
@@ -2079,9 +2353,10 @@ msgstr "leggi"
msgid "write"
msgstr "scrivi"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "esegui"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "utente"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2250,6 +2525,36 @@ msgstr "Togli l'area selezionata dalla lista batch"
msgid "Turns on automatic mode"
msgstr "Attiva modalitĆ  automatica"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Sfoglia per nome immagine"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Sfoglia per nome immagine"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Sfoglia per nome immagine"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Sfoglia per nome immagine"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Sfoglia per nome immagine"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Sfoglia per nome immagine"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Non ĆØ possibile determinare la cartella home:"
@@ -2306,11 +2611,6 @@ msgstr "Si ĆØ verificato un errore durante il salvataggio:"
msgid "Can't handle depth"
msgstr "Non ĆØ possibile gestire la profonditĆ "
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP non puĆ² gestire una profonditĆ  di %d bit/colore"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Il formato del file per il salvataggio ĆØ sconosciuto"
@@ -2545,10 +2845,68 @@ msgstr "Il file %s non ĆØ di tipo Postscript"
msgid "Unsupported %d-bit output format: %s"
msgstr "Il formato d'uscita a %d bit non ĆØ supportato: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Si ĆØ verificato un errore durante il salvataggio:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Impossibile aprire il file"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Cancella stampante"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Sfoglia per nome immagine"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Cancella stampante"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Non ĆØ possibile creare il progetto fax"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "l'immagine del visualizzatore non ĆØ stata salvata"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Pagine:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Salva lista batch"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Salva le impostazioni del dispositivo all'uscita"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "Preferenze"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Utilizzo:"
@@ -2929,3 +3287,62 @@ msgstr "La memoria ĆØ esaurita"
msgid "Access to resource has been denied"
msgstr "L'accesso alla risorsa ĆØ negato"
+
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Cancella stampante"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Cancella stampante"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Cancella stampante"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Cancella stampante"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Cancella stampante"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Cancella stampante"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Sfoglia per nome immagine"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Sfoglia per nome immagine"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP non puĆ² gestire una profonditĆ  di %d bit/colore"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Cancella stampante"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Cancella stampante"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Inserisci nome del progetto fax"
+
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Inserisci nome del progetto e-mail"
+
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Inserisci nome del progetto multipagina"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "GIMP non supporta la profonditĆ  di 16 bit/colore.\n"
+#~ "Vuoi ridurla a 8 bit/colore?"
diff --git a/po/ja.gmo b/po/ja.gmo
index 3a4dd0b..4679c2d 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index e2d7130..379e205 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -5,7 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2004-08-28 12:48+900\n"
"Last-Translator: Kimizuka Tomokazu <sgtom@pluto.dti.ne.jp>\n"
"Language-Team: Japanese\n"
@@ -32,6 +33,7 @@ msgid "About"
msgstr "XSane恫恤恄恦"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "ēæ»čØ³ć«ć¤ć„ć¦"
@@ -71,6 +73,11 @@ msgstr "ćƒćƒƒćƒé ˜åŸŸć‚’ćƒŖćƒćƒ¼ćƒ "
msgid "fax project"
msgstr "FAX惗惭ć‚ø悧ć‚Æ惈"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "FAX惗惭ć‚ø悧ć‚Æćƒˆåć‚’å…„åŠ›"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "FAXćƒšćƒ¼ć‚ø悒ćƒŖćƒćƒ¼ćƒ "
@@ -84,6 +91,11 @@ msgstr "PSćƒ•ć‚”ć‚¤ćƒ«ć‚’FAX恫ęŒæå…„"
msgid "E-mail project"
msgstr "ćƒ”ćƒ¼ćƒ«ćƒ—ćƒ­ć‚ø悧ć‚Æ惈"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "ćƒ”ćƒ¼ćƒ«ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆåć‚’å…„åŠ›"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -99,6 +111,11 @@ msgstr "ćƒ•ć‚”ć‚¤ćƒ«ć‚’ćƒ”ćƒ¼ćƒ«ć«ęŒæå…„"
msgid "multipage project"
msgstr "惗惭ć‚ø悧ć‚Æćƒˆå‰Šé™¤"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "惗惭ć‚ø悧ć‚Æćƒˆå‰Šé™¤"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "惗ćƒŖć‚»ćƒƒćƒˆé ˜åŸŸć‚’ćƒŖćƒćƒ¼ćƒ "
@@ -144,6 +161,7 @@ msgid "Preview"
msgstr "ćƒ—ćƒ¬ćƒ“ćƒ„ćƒ¼"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "ćƒ“ćƒ„ćƒ¼ćƒÆ"
@@ -176,14 +194,17 @@ msgid "select temporary directory"
msgstr "äø€ę™‚ćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖ悒éøꊞ"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "ē”»åƒć®ę‹”大ēø®å°"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "ē”»åƒć®ć—ćæå–ć‚Š"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "ē”»åƒć‚’ć«ć˜ć¾ć›ć‚‹"
@@ -195,6 +216,35 @@ msgstr "åŖ’ä½“ć®å®šē¾©ć‚’äæå­˜"
msgid "No devices available"
msgstr "ćƒ‡ćƒć‚¤ć‚¹ćŒä½æćˆć¾ć›ć‚“"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "å‡ŗåŠ›ćƒ•ć‚”ć‚¤ćƒ«åć‚’éøꊞ"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
#. MENU_FILE
msgid "File"
msgstr "ćƒ•ć‚”ć‚¤ćƒ«"
@@ -212,6 +262,7 @@ msgid "Window"
msgstr "ć‚¦ć‚£ćƒ³ćƒ‰ć‚¦"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "ćƒ˜ćƒ«ćƒ—"
@@ -227,6 +278,11 @@ msgstr "ćƒ•ć‚£ćƒ«ć‚æ"
msgid "Geometry"
msgstr "ć‚øć‚Ŗ惔惈ćƒŖ"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "XSane恫恤恄恦"
@@ -240,6 +296,7 @@ msgid "Quit"
msgstr "ēµ‚äŗ†"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "ć‚¤ćƒ”ćƒ¼ć‚ø悒äæå­˜"
@@ -256,6 +313,7 @@ msgid "Scale"
msgstr "倍ēŽ‡"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "閉恘悋"
@@ -449,11 +507,11 @@ msgstr "äøŠę›øćć®č­¦å‘Š"
msgid "Skip existing filenames"
msgstr "ē¾åœØć®ćƒ•ć‚”ć‚¤ćƒ«åć‚’ć‚¹ć‚­ćƒƒćƒ—"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -470,7 +528,8 @@ msgid "Main window size fixed"
msgstr "ćƒ”ć‚¤ćƒ³ć‚¦ć‚£ćƒ³ćƒ‰ć‚¦ć®ć‚µć‚¤ć‚ŗ悒å›ŗ定"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "GIMPć®ć‚¬ćƒ³ćƒžćƒ—ćƒ¬ćƒ“ćƒ„ćƒ¼ć‚’ē„”効化"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -493,6 +552,11 @@ msgstr "č‰²å½©ć®č‡Ŗå‹•č£œę­£"
msgid "Use GUI progress pipe"
msgstr "GUIćƒ—ćƒ­ć‚°ćƒ¬ć‚¹ćƒ‘ć‚¤ćƒ—ć‚’ä½æē”Ø"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "ćƒ‡ćƒć‚¤ć‚¹ć‚’ć‚¹ć‚­ćƒ£ćƒ³ć—ć¦ć„ć¾ć™"
@@ -509,6 +573,12 @@ msgstr "XSane恮ć‚Ŗćƒ—ć‚·ćƒ§ćƒ³"
msgid "Type"
msgstr "ć‚æ悤惗"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "ćƒ•ćƒ«ć‚«ćƒ©ćƒ¼ćƒ¬ćƒ³ć‚ø"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "ć‚¹ć‚­ćƒ£ćƒŠćØ惐惃ć‚Æć‚Øćƒ³ćƒ‰ļ¼š"
@@ -581,18 +651,11 @@ msgstr "8惓惃惈å‡ŗåŠ›ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆļ¼š"
msgid "16 bit output formats:"
msgstr "16惓惃惈å‡ŗåŠ›ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆļ¼š"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"GIMPćÆ16ćƒ“ćƒƒćƒˆć‚«ćƒ©ćƒ¼ć‚’ć‚µćƒćƒ¼ćƒˆć—ć¦ć„ć¾ć›ć‚“ć€‚\n"
-"8ćƒ“ćƒƒćƒˆć‚«ćƒ©ćƒ¼ć«ęø›č‰²ć—ć¾ć™ć‹?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"恓恮å‡ŗåŠ›ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆćÆ16ćƒ“ćƒƒćƒˆć‚«ćƒ©ćƒ¼ć‚’ć‚µćƒćƒ¼ćƒˆć—ć¦ć„ć¾ć›ć‚“ć€‚\n"
"8ćƒ“ćƒƒćƒˆć‚«ćƒ©ćƒ¼ć«ęø›č‰²ć—ć¾ć™ć‹?"
@@ -629,6 +692,11 @@ msgstr "ćƒćƒ¼ć‚øćƒ§ćƒ³"
msgid "package"
msgstr "ćƒ‘ćƒƒć‚±ćƒ¼ć‚ø"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "ćƒ•ćƒ«ć‚«ćƒ©ćƒ¼ćƒ¬ćƒ³ć‚ø"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "GIMPć‚µćƒćƒ¼ćƒˆć‚ć‚Š"
@@ -766,9 +834,10 @@ msgid "Medium Name:"
msgstr "触åŖ’名ļ¼š"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr "%d x %dē”»ē“ , %d惓惃惈/č‰², %dč‰², %1.0f dpi x %1.0f dpi, %1.1f %s"
#. TEXT_DESPECKLE_RADIUS
@@ -820,6 +889,7 @@ msgid "Name:"
msgstr "名前ļ¼š"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "ć‚³ćƒžćƒ³ćƒ‰ļ¼š"
@@ -840,18 +910,22 @@ msgid "Color resolution (dpi):"
msgstr "č‰²č§£åƒåŗ¦(dpi)ļ¼š"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "幅"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "é«˜ć•"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "å·¦ć‚Ŗćƒ•ć‚»ćƒƒćƒˆ"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "äø‹ć‚Ŗćƒ•ć‚»ćƒƒćƒˆ"
@@ -871,7 +945,17 @@ msgstr "惗ćƒŖćƒ³ć‚æć‚¬ćƒ³ćƒž ē·‘ļ¼š"
msgid "Printer gamma blue:"
msgstr "惗ćƒŖćƒ³ć‚æć‚¬ćƒ³ćƒž 青ļ¼š"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -996,7 +1080,7 @@ msgstr "ćƒ—ćƒ­ć‚°ćƒ©ćƒ ć®åˆęœŸå€¤ć‚’čح定ļ¼š"
msgid "Viewer (Postscript):"
msgstr "ćƒ“ćƒ„ćƒ¼ćƒÆ(PostScript)ļ¼š"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1075,10 +1159,45 @@ msgstr "ć‚°ćƒ«ćƒ¼ćƒ—"
msgid "all"
msgstr "ć™ć¹ć¦"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "ē”»åƒćƒ•ć‚”ć‚¤ćƒ«åć‚’ćƒ–ćƒ©ć‚¦ć‚ŗ"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "ꖰ恗恄åŖ’体"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "äæå­˜"
@@ -1088,14 +1207,17 @@ msgid "Filetype"
msgstr "ćƒ•ć‚”ć‚¤ćƒ«"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "ć‚³ćƒ”ćƒ¼"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "FAX"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "ćƒ”ćƒ¼ćƒ«"
@@ -1188,6 +1310,12 @@ msgstr "č§£åƒåŗ¦ćƒŖć‚¹ćƒˆć‚’č”Øē¤ŗ"
msgid "Rotate postscript"
msgstr "PostScriptć‚’å›žč»¢"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "ćƒ•ćƒ«ć‚«ćƒ©ćƒ¼ćƒ¬ćƒ³ć‚ø"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "åŖ’ä½“ć®å®šē¾©ć‚’ē·Ø集"
@@ -1232,6 +1360,86 @@ msgstr "ć‚¹ć‚­ćƒ£ćƒ³ć«é–¢ć™ć‚‹Tips"
msgid "Problems?"
msgstr "ä½•ć‹å•é”Œ?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "惗ćƒŖćƒ³ć‚æčæ½åŠ "
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "惗ćƒŖćƒ³ć‚æčæ½åŠ "
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "惗ćƒŖćƒ³ć‚æčæ½åŠ "
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "惗ćƒŖćƒ³ć‚æčæ½åŠ "
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "ć‚¢ć‚Æć‚»ć‚¹ęة限"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "ę›øč¾¼ćæ"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "ēø®å°"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "恫恘ćæ"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "éžę“»ę€§"
@@ -1350,6 +1558,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "č‰²å½©ć®č‡Ŗå‹•č£œę­£"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "ć‚¹ć‚­ćƒ£ćƒ³ć—ć¦ć„ć¾ć™"
@@ -1408,6 +1630,11 @@ msgstr "ē”»åƒć‚’ć«ć˜ć¾ć›äø­"
msgid "OCR in progress"
msgstr "OCRé€²č”Œäø­"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "č‰²å½©ć®č‡Ŗå‹•č£œę­£"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "ć‚¹ć‚­ćƒ£ćƒ³é–‹å§‹ <Ctrl-Enter>"
@@ -1466,8 +1693,9 @@ msgid ""
msgstr "ē”»åƒćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆć‚æć‚¤ćƒ—ćƒ•ć‚”ć‚¤ćƒ«åć«č‡Ŗå‹•ć§ć¤ćé©åˆ‡ćŖę‹”å¼µå­"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "FAX惗惭ć‚ø悧ć‚Æćƒˆåć‚’å…„åŠ›"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "äø€ę™‚ćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖć®å‚ē…§"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1477,10 +1705,15 @@ msgstr "FAXćƒšćƒ¼ć‚øć«ć¤ć‘ć‚‹ćƒ•ć‚”ć‚¤ćƒ«åć‚’å…„åŠ›"
msgid "Enter receiver phone number or address"
msgstr "FAX受äæ”ę©Ÿć®é›»č©±ē•Ŗå·ć‹ć‚¢ćƒ‰ćƒ¬ć‚¹ć‚’å…„åŠ›"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "äø€ę™‚ćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖć®å‚ē…§"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "ćƒ”ćƒ¼ćƒ«ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆåć‚’å…„åŠ›"
+msgid "Enter e-mail project directory name"
+msgstr "äø€ę™‚ćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖć®å‚ē…§"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1492,6 +1725,11 @@ msgstr "ę–°č¦ćƒ”ćƒ¼ćƒ«ć‚¤ćƒ”ćƒ¼ć‚øć®ćƒ•ć‚”ć‚¤ćƒ«åć‚’å…„åŠ›"
msgid "Enter e-mail address"
msgstr "ćƒ”ćƒ¼ćƒ«ć‚¢ćƒ‰ćƒ¬ć‚¹ć‚’å…„åŠ›"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "äø€ę™‚ćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖć®å‚ē…§"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1503,8 +1741,13 @@ msgstr "ē”»åƒę·»ä»˜ę™‚ć®ćƒ•ć‚”ć‚¤ćƒ«ć‚æ悤惗悒éøꊞ"
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "ćƒ”ćƒ¼ćƒ«ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆåć‚’å…„åŠ›"
+msgid "Enter multipage project directory name"
+msgstr "äø€ę™‚ćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖć®å‚ē…§"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "äø€ę™‚ćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖć®å‚ē…§"
#. DESC_MULTIPAGE_FILETYPE
#, fuzzy
@@ -1629,7 +1872,8 @@ msgstr ""
"ć‚³ćƒ³ćƒˆćƒ©ć‚¹ćƒˆ = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr ""
"éøęŠžć•ć‚ŒćŸć‚¹ć‚­ćƒ£ćƒ³é ˜åŸŸć«åæœć˜ć¦ć€ć‚¬ćƒ³ćƒžå€¤ć€ę˜Žåŗ¦ć€ć‚³ćƒ³ćƒˆćƒ©ć‚¹ćƒˆć‚’č‡Ŗ動čŖæę•“ <Ctrl-"
"e>"
@@ -1709,18 +1953,22 @@ msgid "Resolution with which color images are printed and saved in postscript"
msgstr "ć‚«ćƒ©ćƒ¼ē”»åƒć®č§£åƒåŗ¦ćÆPostScriptć§å°åˆ·ćƒ»äæå­˜ć•ć‚Œć¾ć™"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "印刷åÆčƒ½é ˜åŸŸå¹…"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "印刷åÆčƒ½é ˜åŸŸé«˜ć•"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "印刷åÆčƒ½é ˜åŸŸć®ē”Øē“™ē«Æć‹ć‚‰ć®å·¦ć‚Ŗćƒ•ć‚»ćƒƒćƒˆ"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "印刷åÆčƒ½é ˜åŸŸć®ē”Øē“™ē«Æ恋悉恮äø‹ć‚Ŗćƒ•ć‚»ćƒƒćƒˆ"
@@ -1740,9 +1988,17 @@ msgstr "ē„¼ćå¢—恗ćø恮ē·‘ęˆåˆ†čæ½åŠ ć‚¬ćƒ³ćƒžå€¤"
msgid "Additional gamma value for blue component for photocopy"
msgstr "ē„¼ćå¢—恗ćøć®é’ęˆåˆ†čæ½åŠ ć‚¬ćƒ³ćƒžå€¤"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1798,14 +2054,14 @@ msgid ""
"If filename counter is automatically increased, used numbers are skipped"
msgstr "ćƒ•ć‚”ć‚¤ćƒ«åć®ć‚«ć‚¦ćƒ³ć‚æ恌č‡Ŗ動ēš„ć«å¢—åŠ ć™ć‚‹éš›ć€ä½æē”Øęøˆćæ恮ē•Ŗ号ćÆćØć°ć•ć‚Œć¾ć™"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1821,7 +2077,9 @@ msgstr ""
"ć‚°ćƒ©ćƒ ć§ć‚µćƒćƒ¼ćƒˆć•ć‚Œć¦ć„ć¾ć™ćŒć€ćŸć„ćø悓å·Ø大ćŖćƒ•ć‚”ć‚¤ćƒ«ć‚’ä½œć‚Šć¾ć™ć€‚"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr "ē”»åƒćŒ16ćƒ“ćƒƒćƒˆć‚«ćƒ©ćƒ¼ć§ć‚¹ć‚­ćƒ£ćƒŠć‹ć‚‰é€ć‚‰ć‚ŒćŸć‚‰ć€8惓惃惈恧äæå­˜"
#. DESC_PSFILE_WIDTH
@@ -1849,7 +2107,8 @@ msgid "Use fixed main window size or scrolled, resizable main window"
msgstr "ćƒ”ć‚¤ćƒ³ć‚¦ć‚£ćƒ³ćƒ‰ć‚¦ć«å›ŗå®šć‚µć‚¤ć‚ŗ悒ä½æć†ć‹ć€ć‚¹ć‚Æćƒ­ćƒ¼ćƒ«ćƒ»ćƒŖ悵悤ć‚ŗåÆčƒ½ć«ć™ć‚‹"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "XSane恌GIMPćƒ—ćƒ©ć‚°ć‚¤ćƒ³ćØć—ć¦å‹•ä½œć™ć‚‹ę™‚ćÆć€ć‚¬ćƒ³ćƒžćƒ—ćƒ¬ćƒ“ćƒ„ćƒ¼ć‚’ć‚Ŗćƒ•ć«ć™ć‚‹"
#. DESC_PREVIEW_COLORMAP
@@ -1935,6 +2194,15 @@ msgstr "ćƒ—ćƒ¬ćƒ“ćƒ„ćƒ¼ć‚¹ć‚­ćƒ£ćƒ³ēµ‚äŗ†å¾Œć®ć‚¹ć‚­ćƒ£ćƒ³é ˜åŸŸć‚’éøꊞ"
msgid "Do color correction after preview scan has finished"
msgstr "ćƒ—ćƒ¬ćƒ“ćƒ„ćƒ¼ć‚¹ć‚­ćƒ£ćƒ³ēµ‚äŗ†å¾Œć«č‰²å½©č£œę­£ć‚’č”Œć†"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "ćƒ—ćƒ¬ćƒ“ćƒ„ćƒ¼ć‚¹ć‚­ćƒ£ćƒ³ēµ‚äŗ†å¾Œć®ć‚¹ć‚­ćƒ£ćƒ³é ˜åŸŸć‚’éøꊞ"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "FAXćƒ¢ćƒ¼ćƒ‰ć§å®Ÿč”Œć•ć‚Œć‚‹ć‚³ćƒžćƒ³ćƒ‰ć‚’å…„åŠ›"
@@ -1963,8 +2231,8 @@ msgstr "FAX参ē…§ć®ćŸć‚ć®å®Ÿč”Œć‚³ćƒžćƒ³ćƒ‰ć‚’å…„力"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "垂ē›“é«˜č§£åƒåŗ¦ļ¼ˆ98lpić«ä»£ćˆć¦196lpi恧ļ¼‰ćƒ¢ćƒ¼ćƒ‰ć§FAX送äæ”"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2048,9 +2316,10 @@ msgstr "čŖ­č¾¼ćæ"
msgid "write"
msgstr "ę›øč¾¼ćæ"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "å®Ÿč”Œ"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "ćƒ¦ćƒ¼ć‚¶ćƒ¼"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2219,6 +2488,36 @@ msgstr "éøęŠžé ˜åŸŸć‚’ćƒćƒƒćƒćƒŖć‚¹ćƒˆć‹ć‚‰å‰Šé™¤"
msgid "Turns on automatic mode"
msgstr "č‡Ŗå‹•ćƒ¢ćƒ¼ćƒ‰ć«åˆ‡ę›æ恈"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "ē”»åƒćƒ•ć‚”ć‚¤ćƒ«åć‚’ćƒ–ćƒ©ć‚¦ć‚ŗ"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "ē”»åƒćƒ•ć‚”ć‚¤ćƒ«åć‚’ćƒ–ćƒ©ć‚¦ć‚ŗ"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "ē”»åƒćƒ•ć‚”ć‚¤ćƒ«åć‚’ćƒ–ćƒ©ć‚¦ć‚ŗ"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "ē”»åƒćƒ•ć‚”ć‚¤ćƒ«åć‚’ćƒ–ćƒ©ć‚¦ć‚ŗ"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "ē”»åƒćƒ•ć‚”ć‚¤ćƒ«åć‚’ćƒ–ćƒ©ć‚¦ć‚ŗ"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "ē”»åƒćƒ•ć‚”ć‚¤ćƒ«åć‚’ćƒ–ćƒ©ć‚¦ć‚ŗ"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "ćƒ›ćƒ¼ćƒ ćƒ‡ć‚£ćƒ¬ć‚Æ惈ćƒŖ恮ē¢ŗå®šć«å¤±ę•—ć—ć¾ć—ćŸļ¼š"
@@ -2271,11 +2570,6 @@ msgstr "äæå­˜ć‚Øćƒ©ćƒ¼ć§ć™ļ¼š"
msgid "Can't handle depth"
msgstr "ę·±åŗ¦ćŒå–å¾—ć§ćć¾ć›ć‚“"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP恌%dćƒ“ćƒƒćƒˆć‚«ćƒ©ćƒ¼ć‚’å–å¾—ć§ćć¾ć›ć‚“"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "ęœŖēŸ„恮äæå­˜ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆć§ć™"
@@ -2509,10 +2803,68 @@ msgstr "ćƒ•ć‚”ć‚¤ćƒ« %s ćÆPostScriptćƒ•ć‚”ć‚¤ćƒ«ć§ćÆć‚ć‚Šć¾ć›ć‚“"
msgid "Unsupported %d-bit output format: %s"
msgstr "%dćƒ“ćƒƒćƒˆć§ć‚µćƒćƒ¼ćƒˆć•ć‚Œć¦ć„ćŖ恄å‡ŗåŠ›ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆć§ć™ļ¼š %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "äæå­˜ć‚Øćƒ©ćƒ¼ć§ć™ļ¼š"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "é–‹ć‘ć¾ć›ć‚“"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "ē”»åƒćƒ•ć‚”ć‚¤ćƒ«åć‚’ćƒ–ćƒ©ć‚¦ć‚ŗ"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "äø€ę™‚ćƒ•ć‚”ć‚¤ćƒ«ć‚’ä½œć‚Œć¾ć›ć‚“"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "ćƒ“ćƒ„ćƒ¼ćƒÆ恮ē”»åƒćŒäæå­˜ć•ć‚Œć¦ć„ć¾ć›ć‚“"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "ē”»åƒ"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "惐惃惁ćƒŖć‚¹ćƒˆć‚’äæå­˜"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "ēµ‚äŗ†ę™‚ć«ćƒ‡ćƒć‚¤ć‚¹čØ­å®šć‚’äæå­˜"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "čح定"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "ę›ø式ļ¼š"
@@ -2898,8 +3250,66 @@ msgstr "ć‚Ŗćƒ¼ćƒćƒ¼ćƒ•ćƒ­ćƒ¼"
msgid "Access to resource has been denied"
msgstr "ćƒŖć‚½ćƒ¼ć‚¹ćøć®ć‚¢ć‚Æć‚»ć‚¹ćŒę‹’å¦ć•ć‚Œć¾ć—ćŸ"
-#~ msgid "Could not create temporary file"
-#~ msgstr "äø€ę™‚ćƒ•ć‚”ć‚¤ćƒ«ć‚’ä½œć‚Œć¾ć›ć‚“"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "ē”»åƒćƒ•ć‚”ć‚¤ćƒ«åć‚’ćƒ–ćƒ©ć‚¦ć‚ŗ"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "ē”»åƒćƒ•ć‚”ć‚¤ćƒ«åć‚’ćƒ–ćƒ©ć‚¦ć‚ŗ"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP恌%dćƒ“ćƒƒćƒˆć‚«ćƒ©ćƒ¼ć‚’å–å¾—ć§ćć¾ć›ć‚“"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "惗ćƒŖćƒ³ć‚æ削除"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "FAX惗惭ć‚ø悧ć‚Æćƒˆåć‚’å…„åŠ›"
+
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "ćƒ”ćƒ¼ćƒ«ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆåć‚’å…„åŠ›"
+
+#, fuzzy
+#~ msgid "Enter name of multipage project"
+#~ msgstr "ćƒ”ćƒ¼ćƒ«ćƒ—ćƒ­ć‚ø悧ć‚Æćƒˆåć‚’å…„åŠ›"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "GIMPćÆ16ćƒ“ćƒƒćƒˆć‚«ćƒ©ćƒ¼ć‚’ć‚µćƒćƒ¼ćƒˆć—ć¦ć„ć¾ć›ć‚“ć€‚\n"
+#~ "8ćƒ“ćƒƒćƒˆć‚«ćƒ©ćƒ¼ć«ęø›č‰²ć—ć¾ć™ć‹?"
#~ msgid "Could not create temporary preview files"
#~ msgstr "äø€ę™‚ćƒ—ćƒ¬ćƒ“ćƒ„ćƒ¼ćƒ•ć‚”ć‚¤ćƒ«ć‚’ä½œć‚Œć¾ć›ć‚“"
@@ -2966,9 +3376,6 @@ msgstr "ćƒŖć‚½ćƒ¼ć‚¹ćøć®ć‚¢ć‚Æć‚»ć‚¹ćŒę‹’å¦ć•ć‚Œć¾ć—ćŸ"
#~ msgid "Multipage saving aborted"
#~ msgstr "ćƒ”ćƒ¼ćƒ«ćƒ—ćƒ­ć‚ø悧ć‚ÆćƒˆćŒä½œęˆć•ć‚Œć¾ć—ćŸ"
-#~ msgid "Image"
-#~ msgstr "ē”»åƒ"
-
#~ msgid "Viewer (png):"
#~ msgstr "ćƒ“ćƒ„ćƒ¼ćƒÆ(PNG)ļ¼š"
diff --git a/po/nl.gmo b/po/nl.gmo
index 28ea8f8..58e04f8 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 071b06d..332e550 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,14 +7,14 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2005-12-22 09:00+0100\n"
"Last-Translator: Wim Sinke <rietenmeubel@xs4all.nl>\n"
"Language-Team: Dutch <nl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Report-Msgid-Bugs-To: \n"
#. Please translate this to the correct directory name (eg. german=>de)
#. XSANE_LANGUAGE_DIR
@@ -35,6 +35,7 @@ msgid "About"
msgstr "Over"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Over de vertaling"
@@ -75,6 +76,11 @@ msgstr "batchgebied hernoemen"
msgid "fax project"
msgstr "faxproject"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "De naam van het faxproject"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "faxpagina hernoemen"
@@ -87,6 +93,11 @@ msgstr "ps-bestand in fax voegen"
msgid "E-mail project"
msgstr "E-mailproject"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "De naam van het e-mail project"
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr "e-mail afbeelding hernoemen"
@@ -99,6 +110,11 @@ msgstr "voeg afbeelding in e-mail"
msgid "multipage project"
msgstr "meerdere pagina's project"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "meerdere pagina's project"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "scangebied hernoemen"
@@ -144,6 +160,7 @@ msgid "Preview"
msgstr "Voorvertoning"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Bekijken"
@@ -176,14 +193,17 @@ msgid "select temporary directory"
msgstr "selecteer tijdelijke map"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Schaal afbeelding"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Spikkels wegwerken"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Afbeelding vervagen"
@@ -195,6 +215,35 @@ msgstr "Bewaar mediumdefinitie"
msgid "No devices available"
msgstr "Geen apparaten vrij"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Printer verwijderen"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Printer verwijderen"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "kies uitvoernaam"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Printer verwijderen"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Printer verwijderen"
+
#. MENU_FILE
msgid "File"
msgstr "Bestand"
@@ -212,6 +261,7 @@ msgid "Window"
msgstr "Venster"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Help"
@@ -227,6 +277,11 @@ msgstr "Filters"
msgid "Geometry"
msgstr "Geometrie"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Over XSane"
@@ -240,6 +295,7 @@ msgid "Quit"
msgstr "Afsluiten"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Bewaar afbeelding"
@@ -256,6 +312,7 @@ msgid "Scale"
msgstr "Schaal"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Sluiten"
@@ -448,11 +505,11 @@ msgstr "Waarschuwing bij overschrijving"
msgid "Skip existing filenames"
msgstr "Bestaande bestandnamen overslaan"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr "Opslaan als zlib gecomprimeerd PostScript (level 3)"
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr "Opslaan als PDF zlib gecomprimeerd"
@@ -469,7 +526,8 @@ msgid "Main window size fixed"
msgstr "Vaste hoofdvenstergrootte"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Preview gamma voor Gimp deactiveren"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -492,6 +550,11 @@ msgstr "Automatisch kleuren verbeteren"
msgid "Use GUI progress pipe"
msgstr "Gebruik GUI progressie pipe"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "Zoeken naar apparaten"
@@ -508,6 +571,12 @@ msgstr "XSane opties"
msgid "Type"
msgstr "Type"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Volledig kleuren bereik"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Scanner en backend:"
@@ -580,18 +649,11 @@ msgstr "8 bits uitvoerformaten:"
msgid "16 bit output formats:"
msgstr "16 bits uitvoerformaten:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp kan geen 16 bits kleurdiepte aan.\n"
-"Wil je de diepte reduceren naar 8 bits?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"Dit uitvoerformaat kan geen 16 bits kleurdiepte aan.\n"
"Wil je de diepte reduceren naar 8 bits?"
@@ -628,6 +690,11 @@ msgstr "versie:"
msgid "package"
msgstr "pakket"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Volledig kleuren bereik"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "met GIMP ondersteuning"
@@ -764,9 +831,10 @@ msgid "Medium Name:"
msgstr "Naam medium:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Grootte %d x %d pixels, %d bit/kleur, %d kleuren, %1.0f dpi x %1.0f dpi, %"
"1.1f %s"
@@ -820,6 +888,7 @@ msgid "Name:"
msgstr "Naam:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Commando:"
@@ -840,18 +909,22 @@ msgid "Color resolution (dpi):"
msgstr "Kleur resolutie (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Breedte"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Hoogte"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Linker rand"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Onderrand"
@@ -871,7 +944,17 @@ msgstr "Printer gammawaarde groen:"
msgid "Printer gamma blue:"
msgstr "Printer gammawaarde blauw:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Printer verwijderen"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Printer verwijderen"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Maak zlib gecomprimeerd PostScript (level 3) plaatje voor printen"
@@ -995,7 +1078,7 @@ msgstr "Geef programma standaardwaarden:"
msgid "Viewer (Postscript):"
msgstr "Bekijkprogramma (PostScript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr "Maak zlib gecomprimeerd PostScript (level 3) plaatje voor fax"
@@ -1074,10 +1157,45 @@ msgstr "groep"
msgid "all"
msgstr "allemaal"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Printer verwijderen"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Printer verwijderen"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Printer verwijderen"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Kies een bestandsnaam"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "nieuwe media"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Opslaan"
@@ -1086,14 +1204,17 @@ msgid "Filetype"
msgstr "Bestandssoort"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Kopiƫren"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Faxen"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr "E-mail"
@@ -1186,6 +1307,12 @@ msgstr "Laat resolutie lijst zien"
msgid "Rotate postscript"
msgstr "Draai PostScript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Volledig kleuren bereik"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Verander mediumdefinitie"
@@ -1230,6 +1357,86 @@ msgstr "Scantips"
msgid "Problems?"
msgstr "Problemen?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Printer toevoegen"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Printer toevoegen"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Printer toevoegen"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Printer toevoegen"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "authorizatie"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "schrijven"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Reduceren"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Vervagen"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "inactief"
@@ -1347,6 +1554,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Printer verwijderen"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Automatisch kleuren verbeteren"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Aan het scannen"
@@ -1404,6 +1625,11 @@ msgstr "Afbeelding vervagen"
msgid "OCR in progress"
msgstr "Tekstherkenning is bezig"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Automatisch kleuren verbeteren"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Start scannen <Ctrl-Enter>"
@@ -1463,8 +1689,9 @@ msgstr ""
"bestandsnaam"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "De naam van het faxproject"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Bekijk de tijdelijke map"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1474,9 +1701,15 @@ msgstr "Geef de naam van de faxpagina"
msgid "Enter receiver phone number or address"
msgstr "Geef telefoonnummer of adres van de ontvanger"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Bekijk de tijdelijke map"
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
-msgstr "De naam van het e-mail project"
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "Bekijk de tijdelijke map"
#. DESC_EMAIL_IMAGENAME
msgid "Enter new name for e-mail image"
@@ -1486,6 +1719,11 @@ msgstr "De nieuwe naam van de e-mail afbeelding"
msgid "Enter e-mail address"
msgstr "E-mail adres"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Bekijk de tijdelijke map"
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr "E-mail onderwerp"
@@ -1495,8 +1733,14 @@ msgid "Select filetype for image attachments"
msgstr "Selecteer het type van de afbeeldingen"
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
-msgstr "De naam van het meerdere pagina's project"
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "Bekijk de tijdelijke map"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Bekijk de tijdelijke map"
#. DESC_MULTIPAGE_FILETYPE
msgid "Select filetype for multipage file"
@@ -1621,7 +1865,8 @@ msgstr ""
" contrast = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Automatische aanpassing van gamma, helderheid en contrast <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1699,18 +1944,22 @@ msgid "Resolution with which color images are printed and saved in postscript"
msgstr "Printresolutie voor PostScript kleurenafbeeldingen"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Printbreedte"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Printhoogte"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Afstand van rand to printbare gebied"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Afstand van rand to printbare gebied"
@@ -1730,9 +1979,18 @@ msgstr "Extra gammacorrectie voor groen voor fotokopie"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Extra gammacorrectie voor blauw voor fotokopie"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
"Maak zlib gecomprimeerd PostScript plaatje voor de printer (flatdecode).\n"
@@ -1793,16 +2051,18 @@ msgstr ""
"Gebruikte numbers worden overgeslagen als de bestandsteller automatisch "
"verhoogd wordt"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
"Comprimeer het PostScript plaatje met zlib algoritme (flatdecode). Als je "
"dit bestand wilt printen moet je printer PostScript level 3 begrijpen"
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+#, fuzzy
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr "Comprimeer PDF plaatje met zlib algoritme (flatdecode)."
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1818,7 +2078,9 @@ msgstr ""
"grote bestanden op!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr "16-bits kleuren worden bewaard met 8-bits"
#. DESC_PSFILE_WIDTH
@@ -1846,7 +2108,8 @@ msgid "Use fixed main window size or scrolled, resizable main window"
msgstr "Gebruik vaste grootte voor hoofdvenster of gebruik scrollbars"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "Schakel preview gamma uit als XSane als Gimp plugin gebruikt wordt"
#. DESC_PREVIEW_COLORMAP
@@ -1938,6 +2201,15 @@ msgstr "Kies scangebied nadat preview klaar is"
msgid "Do color correction after preview scan has finished"
msgstr "Verbeter de kleuren nadat preview klaar is"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Kies scangebied nadat preview klaar is"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Geef commando dat in fax-mode uitgevoerd moet worden"
@@ -1966,8 +2238,9 @@ msgstr "Commando om fax te bekijken"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "Verstuur hoge resolutie fax (196 lpi inplaats van 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+#, fuzzy
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr "Maak zlib gecomprimeerd PostScript plaatje voor fax (flatdecode)"
#. DESC_SMTP_SERVER
@@ -2048,9 +2321,10 @@ msgstr "lezen"
msgid "write"
msgstr "schrijven"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "uitvoeren"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "gebruiker"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2219,6 +2493,36 @@ msgstr "Verwijder geselecteerde gebied van de batch lijst"
msgid "Turns on automatic mode"
msgstr "Activeer de automatische mode"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Kies een bestandsnaam"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Kies een bestandsnaam"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Kies een bestandsnaam"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Kies een bestandsnaam"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Kies een bestandsnaam"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Kies een bestandsnaam"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Kon hoofdmap niet vinden:"
@@ -2271,11 +2575,6 @@ msgstr "Fout tijdens bewaren:"
msgid "Can't handle depth"
msgstr "Kan diepte niet aan"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP kan niet met %d bits per kleur overweg"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Onbekend bestandstype tijdens bewaren"
@@ -2511,10 +2810,68 @@ msgstr "%s is geen PostScript bestand"
msgid "Unsupported %d-bit output format: %s"
msgstr "Geen ondersteuning van %d-bits kleuren in het %s formaat"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Fout tijdens bewaren:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Kon niet openen"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Printer verwijderen"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Kies een bestandsnaam"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Printer verwijderen"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Kon geen tijdelijk bestand maken"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "Afbeelding is niet bewaard"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Pagina's:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Bewaar batch lijst"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Apparaatinstellingen bewaren bij verlaten"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "Instellingen"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Gebruik:"
@@ -2888,8 +3245,64 @@ msgstr "Geheugen vol"
msgid "Access to resource has been denied"
msgstr "Geen toegang tot apparaat"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Kon geen tijdelijk bestand maken"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Printer verwijderen"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Printer verwijderen"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Printer verwijderen"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Printer verwijderen"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Printer verwijderen"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Printer verwijderen"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Kies een bestandsnaam"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Kies een bestandsnaam"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP kan niet met %d bits per kleur overweg"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Printer verwijderen"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Printer verwijderen"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "De naam van het faxproject"
+
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "De naam van het e-mail project"
+
+#~ msgid "Enter name of multipage project"
+#~ msgstr "De naam van het meerdere pagina's project"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp kan geen 16 bits kleurdiepte aan.\n"
+#~ "Wil je de diepte reduceren naar 8 bits?"
#~ msgid "Could not create temporary preview files"
#~ msgstr "Kon geen tijdelijke preview bestanden maken"
diff --git a/po/pl.gmo b/po/pl.gmo
index 1fbebfd..0c7f9c3 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 63f3dc6..2b7e01c 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: pl\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2005-12-22 01:26+0100\n"
"Last-Translator: Jerzy Szczudlowski <jerzy@jedwab.net.pl>\n"
"Language-Team: polski <pl@li.org>\n"
@@ -37,6 +38,7 @@ msgid "About"
msgstr "O programie"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "O tłumaczeniu"
@@ -76,6 +78,11 @@ msgstr "zmień nazwę zakresu wsadowego"
msgid "fax project"
msgstr "wyślij obrazek faksem"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "WprowadÅŗ nazwę projektu dla faksu"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "zmień nazwę strony faksu"
@@ -88,6 +95,11 @@ msgstr "wstaw plik postscriptowy do faksu"
msgid "E-mail project"
msgstr "wyślij projekt listem elektronicznym"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "WprowadÅŗ nazwę projektu pocztowego"
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr "zmień nazwę obrazka w liście"
@@ -100,6 +112,11 @@ msgstr "wstaw plik do listu"
msgid "multipage project"
msgstr "projekt wielostronicowy"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "projekt wielostronicowy"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "zmień nazwę ustawionego obszaru"
@@ -145,6 +162,7 @@ msgid "Preview"
msgstr "Podgląd"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Przeglądarka"
@@ -177,14 +195,17 @@ msgid "select temporary directory"
msgstr "wybierz katalog tymczasowy"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Przeskaluj obraz"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Odplamkuj obrazek"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Rozmyj obrazek"
@@ -196,6 +217,35 @@ msgstr "Zapisz ustawienia materiału"
msgid "No devices available"
msgstr "Brak dostępnych urządzeń"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Usuń drukarkę"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Usuń drukarkę"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "wybierz plik wyjściowy"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Usuń drukarkę"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Usuń drukarkę"
+
#. MENU_FILE
msgid "File"
msgstr "Plik"
@@ -213,6 +263,7 @@ msgid "Window"
msgstr "Okno"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Pomoc"
@@ -228,6 +279,11 @@ msgstr "Filtry"
msgid "Geometry"
msgstr "Geometria"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "O XSane"
@@ -241,6 +297,7 @@ msgid "Quit"
msgstr "Zakończ"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Zapisz obraz"
@@ -257,6 +314,7 @@ msgid "Scale"
msgstr "Skaluj"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Zamknij"
@@ -448,11 +506,11 @@ msgstr "Ostrzeżenie przed nadpisaniem"
msgid "Skip existing filenames"
msgstr "Pomiń istniejące nazwy plikĆ³w"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr "Zapis Postscriptu kompresowanego zlib (poziom PS 3)"
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr "Zapis PDF skompresowanego zlib"
@@ -469,7 +527,8 @@ msgid "Main window size fixed"
msgstr "Stały rozmiar gÅ‚Ć³wnego okna"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Wyłącz gamma przy podglądzie w Gimpie"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -492,6 +551,11 @@ msgstr "Samoczynnie koryguj kolory"
msgid "Use GUI progress pipe"
msgstr "Używaj graficznego paska postępu"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "szukam podłączonych urządzeń"
@@ -508,6 +572,12 @@ msgstr "Opcje XSane"
msgid "Type"
msgstr "Typ"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "pełny zakres"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Skaner i sterownik:"
@@ -580,18 +650,11 @@ msgstr "formaty wyjściowe 8-bitowe:"
msgid "16 bit output formats:"
msgstr "formaty wyjściowe 16-bitowe:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp nie wspiera 16-bitowej głębi kolorĆ³w.\n"
-"Czy chcesz zmniejszyć głębię do 8-bitĆ³w?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"16-bitowa głębia kolorĆ³w nie jest obsługiwana w tym formacie\n"
"wyjściowym. Czy chcesz zmniejszyć głębię do 8-bitĆ³w?"
@@ -628,6 +691,11 @@ msgstr "wersja"
msgid "package"
msgstr "paczka"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "pełny zakres"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "z obsługą GIMPa."
@@ -762,9 +830,10 @@ msgid "Medium Name:"
msgstr "Nazwa nośnika:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Rozmiar %d x %d pikseli, %d bit/kolor, %d kolorĆ³w, %1.0f dpi x %1.0f dpi, %"
"1.1f %s"
@@ -818,6 +887,7 @@ msgid "Name:"
msgstr "Nazwa:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Polecenie:"
@@ -838,18 +908,22 @@ msgid "Color resolution (dpi):"
msgstr "Rozdzielczość w kolorze (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Szerokość"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Wysokość"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Lewy margines"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Dolny margines"
@@ -869,7 +943,17 @@ msgstr "Gamma drukarki - zielony:"
msgid "Printer gamma blue:"
msgstr "Gamma drukarki - niebieski:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Usuń drukarkę"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Usuń drukarkę"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "StwĆ³rz obraz Postscript skompresowany zlib (poziom PS 3) do druku"
@@ -993,7 +1077,7 @@ msgstr "Ustaw domyślne wartości dla programu:"
msgid "Viewer (Postscript):"
msgstr "Przeglądarka (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr "StwĆ³rz obraz Postscript skompresowany zlib (poziom PS 3) dla faksu"
@@ -1072,10 +1156,45 @@ msgstr "grupa"
msgid "all"
msgstr "wszyscy"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Usuń drukarkę"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Usuń drukarkę"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Usuń drukarkę"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Przeglądaj w poszukiwaniu nazwy pliku obrazka"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "nowy nośnik"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Zapis"
@@ -1084,14 +1203,17 @@ msgid "Filetype"
msgstr "Rodzaj pliku"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Kopia"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Faks"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr "Poczta elektroniczna"
@@ -1183,6 +1305,12 @@ msgstr "Pokaż listę rozdzielczości"
msgid "Rotate postscript"
msgstr "ObrĆ³Ä‡ Postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "pełny zakres"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Edytuj definicję nośnika"
@@ -1227,6 +1355,86 @@ msgstr "Jak skanować"
msgid "Problems?"
msgstr "Problemy?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Dodaj drukarkę"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Dodaj drukarkę"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Dodaj drukarkę"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Dodaj drukarkę"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "autoryzacja"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "zapis"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Zredukuj"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Rozmyj"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "nieaktywny"
@@ -1344,6 +1552,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Usuń drukarkę"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Samoczynnie koryguj kolory"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Skanowanie"
@@ -1401,6 +1623,11 @@ msgstr "Rozmywanie obrazka..."
msgid "OCR in progress"
msgstr "Rozpoznawanie tekstu w toku..."
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Samoczynnie koryguj kolory"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Rozpocznij skanowanie <Ctrl-Enter>"
@@ -1460,8 +1687,9 @@ msgstr ""
"automatycznie"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "WprowadÅŗ nazwę projektu dla faksu"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Przeglądaj katalog tymczasowy"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1471,9 +1699,15 @@ msgstr "WprowadÅŗ nową nazwę dla strony faksu"
msgid "Enter receiver phone number or address"
msgstr "WprowadÅŗ nr telefonu odbiorcy lub adres"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Przeglądaj katalog tymczasowy"
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
-msgstr "WprowadÅŗ nazwę projektu pocztowego"
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "Przeglądaj katalog tymczasowy"
#. DESC_EMAIL_IMAGENAME
msgid "Enter new name for e-mail image"
@@ -1483,6 +1717,11 @@ msgstr "WprowadÅŗ nową nazwę dla wysyłanego obrazka"
msgid "Enter e-mail address"
msgstr "WprowadÅŗ adres poczty elektronicznej (email)"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Przeglądaj katalog tymczasowy"
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr "WprowadÅŗ temat listu"
@@ -1492,8 +1731,14 @@ msgid "Select filetype for image attachments"
msgstr "Wybierz rodzaj pliku dla załącznika"
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
-msgstr "WprowadÅŗ nazwę wielostronicowego projektu pocztowego"
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "Przeglądaj katalog tymczasowy"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Przeglądaj katalog tymczasowy"
#. DESC_MULTIPAGE_FILETYPE
msgid "Select filetype for multipage file"
@@ -1618,7 +1863,8 @@ msgstr ""
" kontrast = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Automatycznie ustaw parametr gamma, jasność i kontrast <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1703,18 +1949,22 @@ msgstr ""
"Postscripcie"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Szerokość obszaru drukowalnego"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Wysokość obszaru drukowalnego"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Lewy margines od krawędzi papieru do obszaru wydruku"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Dolny margines od krawędzi papieru do obszaru wydruku"
@@ -1734,9 +1984,18 @@ msgstr "Dodatkowy parametr gamma dla zielonej składowej kopii"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Dodatkowy parametr gamma dla niebieskiej składowej kopii"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
"StwĆ³rz obraz Postscript skompresowany zlib (flatdecode).\n"
@@ -1797,16 +2056,18 @@ msgstr ""
"Jeśli licznik w nazwie pliku jest automatycznie zwiększany, to już użyte "
"numery są pomijane"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
"kompresuje obraz Postscript algorytmem zlib (flatdecode). Jeżeli chcesz "
"wydrukować taki plik, drukarka musi rozumieć Postscript poziomu 3!"
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+#, fuzzy
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr "kompresuje obraz PDF alborytmem zlib (flatdecode)."
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1822,7 +2083,9 @@ msgstr ""
"ilość programĆ³w, lecz może dawać naprawdę olbrzymie pliki!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Jeśli skaner wysyła obrazek z 16-stoma bitami na kolor zapisz obrazek z 8-ma "
"bitami"
@@ -1856,7 +2119,8 @@ msgid "Use fixed main window size or scrolled, resizable main window"
msgstr "Stały lub obieralny rozmiar okna gÅ‚Ć³wnego"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "Wyłącz gamma podglądu, gdy XSane działa jako wtyczka Gimpa"
#. DESC_PREVIEW_COLORMAP
@@ -1952,6 +2216,15 @@ msgstr "Wybierz obszar skanowania po pobraniu podglądu"
msgid "Do color correction after preview scan has finished"
msgstr "Zastosuj korekcję kolorĆ³w po pobraniu podglądu"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Wybierz obszar skanowania po pobraniu podglądu"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "WprowadÅŗ polecenie, ktĆ³re zostanie wykonane w trybie wysyłania faksu"
@@ -1981,8 +2254,9 @@ msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr ""
"Wyślij faks o wysokiej rozdzielczości pionowej (196 lpi zamiast 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+#, fuzzy
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
"Tworzy skompresowany algorytmem zlib (flatdecode) obraz Postscript dla faksu"
@@ -2065,9 +2339,10 @@ msgstr "odczyt"
msgid "write"
msgstr "zapis"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "wykonywanie"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "użytkownik"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2236,6 +2511,36 @@ msgstr "Usuń zaznaczony obszar z listy wsadowej"
msgid "Turns on automatic mode"
msgstr "Włącza tryb automatyczny"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Przeglądaj w poszukiwaniu nazwy pliku obrazka"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Przeglądaj w poszukiwaniu nazwy pliku obrazka"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Przeglądaj w poszukiwaniu nazwy pliku obrazka"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Przeglądaj w poszukiwaniu nazwy pliku obrazka"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Przeglądaj w poszukiwaniu nazwy pliku obrazka"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Przeglądaj w poszukiwaniu nazwy pliku obrazka"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Ustalenie katalogu domowego nie powiodło się:"
@@ -2288,11 +2593,6 @@ msgstr "Błąd podczas zapisu:"
msgid "Can't handle depth"
msgstr "Nie jest obsługiwana głębokość"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "Gimp nie obsługuje głębokości %d bitĆ³w/kolor"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Nieznany format pliku do zapisu"
@@ -2529,10 +2829,68 @@ msgstr "%s nie jest plikiem postscriptowym"
msgid "Unsupported %d-bit output format: %s"
msgstr "Nieobsługiwany %d-bitowy format wyjściowy: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Błąd podczas zapisu:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Otwarcie nie powiodło się"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Usuń drukarkę"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Przeglądaj w poszukiwaniu nazwy pliku obrazka"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Usuń drukarkę"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Nie powiodło się utworzenie pliku tymczasowego"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "Obrazek nie został zapisany"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Strony:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Zapisz listę wsadową"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Zapisz ustawienia urządzenia przy wyjściu"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "Preferencje"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Użycie:"
@@ -2909,24 +3267,61 @@ msgstr "Brak wolnej pamięci"
msgid "Access to resource has been denied"
msgstr "Brak dostępu do zasobu"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Nie powiodło się utworzenie pliku tymczasowego"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Usuń drukarkę"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Usuń drukarkę"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Usuń drukarkę"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Usuń drukarkę"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Usuń drukarkę"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Usuń drukarkę"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Przeglądaj w poszukiwaniu nazwy pliku obrazka"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "Nie można utworzyć tymczasowych plikĆ³w podglądu"
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Przeglądaj w poszukiwaniu nazwy pliku obrazka"
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "Nie można nadać nazw plikom podglądu"
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "Gimp nie obsługuje głębokości %d bitĆ³w/kolor"
#, fuzzy
-#~ msgid "POP3 authentication"
-#~ msgstr "Uwierzytelnianie POP3"
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Usuń drukarkę"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Usuń drukarkę"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "WprowadÅŗ nazwę projektu dla faksu"
-#~ msgid "XSane mode"
-#~ msgstr "Tryb XSane"
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "WprowadÅŗ nazwę projektu pocztowego"
-#~ msgid "POP3 user:"
-#~ msgstr "Użytkownik POP3:"
+#~ msgid "Enter name of multipage project"
+#~ msgstr "WprowadÅŗ nazwę wielostronicowego projektu pocztowego"
-#~ msgid "POP3 password:"
-#~ msgstr "Hasło POP3:"
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp nie wspiera 16-bitowej głębi kolorĆ³w.\n"
+#~ "Czy chcesz zmniejszyć głębię do 8-bitĆ³w?"
diff --git a/po/pt.gmo b/po/pt.gmo
index 86b35cc..fef2009 100644
--- a/po/pt.gmo
+++ b/po/pt.gmo
Binary files differ
diff --git a/po/pt.po b/po/pt.po
index 6a0e448..bafafca 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -5,7 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2004-10-08 22:00+3\n"
"Last-Translator: Yujo Rodrigues <yujo@comp.ufu.br>\n"
"Language-Team: Portuguese <pt@li.org>\n"
@@ -32,6 +33,7 @@ msgid "About"
msgstr "Sobre"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Sobre a traduĆ§Ć£o"
@@ -71,6 +73,11 @@ msgstr "renomeia area de lote"
msgid "fax project"
msgstr "projeto de fax"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Digite o nome do projeto de fax"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "renomeia pƔgina de fax"
@@ -84,6 +91,11 @@ msgstr "insere arquivo-ps em um fax"
msgid "E-mail project"
msgstr "projeto de e-mail"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Digite o nome do projeto de correio"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -99,6 +111,11 @@ msgstr "insere arquivo no correio"
msgid "multipage project"
msgstr "Apagar projeto"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Apagar projeto"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "renomeia area predefinida"
@@ -144,6 +161,7 @@ msgid "Preview"
msgstr "PrĆ©-VisualizaĆ§Ć£o"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Visualizador"
@@ -176,14 +194,17 @@ msgid "select temporary directory"
msgstr "seleciona o diretĆ³rio temporĆ”rio"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Escala da imagem"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "DesembaraƧa imagem"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "EmbaƧa imagem"
@@ -195,6 +216,35 @@ msgstr "Armazena definiĆ§Ć£o da mĆ­dia"
msgid "No devices available"
msgstr "Nenhum dispositivo disponĆ­vel"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Excluir impressora"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Excluir impressora"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "selecione arquivo de saĆ­da"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Excluir impressora"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Excluir impressora"
+
#. MENU_FILE
msgid "File"
msgstr "Arquivo"
@@ -212,6 +262,7 @@ msgid "Window"
msgstr "Janela"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Ajuda"
@@ -227,6 +278,11 @@ msgstr "Filtros"
msgid "Geometry"
msgstr "Geometria"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Sobre XSane"
@@ -240,6 +296,7 @@ msgid "Quit"
msgstr "Sair"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Salvar imagem"
@@ -256,6 +313,7 @@ msgid "Scale"
msgstr "Escala"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Fechar"
@@ -449,11 +507,11 @@ msgstr "Aviso ao Sobregravar"
msgid "Skip existing filenames"
msgstr "Pular arquivos existentes"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -470,7 +528,8 @@ msgid "Main window size fixed"
msgstr "Tamanho da janela principal fixado"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Desabilita prƩvia gama do gimp"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -493,6 +552,11 @@ msgstr "Corrigir cores"
msgid "Use GUI progress pipe"
msgstr "Usar barra grƔfica de progresso"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "procurando por dispositivos"
@@ -509,6 +573,12 @@ msgstr "OpƧƵes do XSane"
msgid "Type"
msgstr "Tipo"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Todas as cores"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Scaner e driver:"
@@ -581,18 +651,11 @@ msgstr "Formatos de saĆ­da de 8 bits:"
msgid "16 bit output formats:"
msgstr "Formatos de saĆ­da de 16 bits:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp nĆ£o suporta profundidade de cores de 16 bits.\n"
-"VocĆŖ quer reduzir a profundidade para cores de 8 bits?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"Profundidade de cores de 16 bits nĆ£o sĆ£o suportadas para este formato de "
"saĆ­da.\n"
@@ -630,6 +693,11 @@ msgstr "versao:"
msgid "package"
msgstr "pacote"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Todas as cores"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "com suporte GIMP"
@@ -767,9 +835,10 @@ msgid "Medium Name:"
msgstr "Nome da mĆ­dia:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Tamanho %d x %d pontos, cores de %d bits, %d cores, %1.0f ppp x %1.0f ppp, %"
"1.1f %s"
@@ -823,6 +892,7 @@ msgid "Name:"
msgstr "Nome:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Comando:"
@@ -843,18 +913,22 @@ msgid "Color resolution (dpi):"
msgstr "ResoluĆ§Ć£o de cores (ppp):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Largura:"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Altura:"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Deslocamento esquerdo"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Deslocamento inferior"
@@ -874,7 +948,17 @@ msgstr "Verde gama da Impressora:"
msgid "Printer gamma blue:"
msgstr "Azul gama da Impressora:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Excluir impressora"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Excluir impressora"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -999,7 +1083,7 @@ msgstr "Configura os padrƵes do programa para:"
msgid "Viewer (Postscript):"
msgstr "Visualizador (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1078,10 +1162,45 @@ msgstr "grupo"
msgid "all"
msgstr "tudo"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Excluir impressora"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Excluir impressora"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Excluir impressora"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "nova mĆ­dia"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Salvar"
@@ -1091,14 +1210,17 @@ msgid "Filetype"
msgstr "Arquivo"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Copiar"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr ""
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "E-mail"
@@ -1191,6 +1313,12 @@ msgstr "Mostrar lista de resoluĆ§Ć£o"
msgid "Rotate postscript"
msgstr "Rotacionar postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Todas as cores"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Edita definiĆ§Ć£o da mĆ­dia"
@@ -1235,6 +1363,86 @@ msgstr "Dicas de digitalizaĆ§Ć£o"
msgid "Problems?"
msgstr "Problemas?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Incluir impressora"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Incluir impressora"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Incluir impressora"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Incluir impressora"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "autorizaĆ§Ć£o"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "gravar"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Reduzir"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "EmbaƧar"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "inativo"
@@ -1353,6 +1561,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Excluir impressora"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Corrigir cores"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Digitalizando"
@@ -1411,6 +1633,11 @@ msgstr "EmbanƧando imagem"
msgid "OCR in progress"
msgstr "OCR em progresso"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Corrigir cores"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Inicia digitalizaĆ§Ć£o <Ctrl-ENTER>"
@@ -1471,8 +1698,9 @@ msgstr ""
"acrescentada ao nome do arquivo"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Digite o nome do projeto de fax"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1482,10 +1710,15 @@ msgstr "Digite o nome para a pƔgina de fax"
msgid "Enter receiver phone number or address"
msgstr "Digite nĆŗmero de telefone ou endereƧo do destinatĆ”rio"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "Digite o nome do projeto de correio"
+msgid "Enter e-mail project directory name"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1497,6 +1730,11 @@ msgstr "Digite o novo nome para a imagem de correio"
msgid "Enter e-mail address"
msgstr "Digite o endereƧo de e-mail"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1508,8 +1746,13 @@ msgstr "Selecione o tipoe de arquivo para anexos de imagem"
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "Digite o nome do projeto de correio"
+msgid "Enter multipage project directory name"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
#. DESC_MULTIPAGE_FILETYPE
#, fuzzy
@@ -1635,7 +1878,8 @@ msgstr ""
" contraste = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Ajusta automaticamente gama, brilho e constraste <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1718,18 +1962,22 @@ msgstr ""
"ResoluĆ§Ć£o com a qual imagens coloridas sĆ£o impressas e salvadas em postscript"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Largura da Ɣrea imprimƭvel"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Altura da Ɣrea imprimƭvel"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Deslocamento esquerdo do canto do papel atƩ a Ɣrea imprimƭvel"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Deslocamento inferior do canto do papel atƩ a Ɣrea imprimƭvel"
@@ -1749,9 +1997,17 @@ msgstr "Valor gama adicional para o componente verde para fotocĆ³pia"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Valor gama adicional para o componente azul para fotocĆ³pia"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1812,14 +2068,14 @@ msgstr ""
"Se o contador do nome de arquivo Ć© auto-incrementado, nĆŗmeros usados sĆ£o "
"pulados"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1835,7 +2091,9 @@ msgstr ""
"programas mas ele produz arquivos realmente imensos!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Se o scaner envia imagem com 16 bits de cores salva imagem com 8 bits de "
"cores"
@@ -1871,7 +2129,8 @@ msgstr ""
"redimensionƔvel"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "Desabilita prƩvia gama quando XSane roda como plugin do gimp"
#. DESC_PREVIEW_COLORMAP
@@ -1974,6 +2233,16 @@ msgid "Do color correction after preview scan has finished"
msgstr ""
"Faz uma correĆ§Ć£o de cores depois da prĆ©-visualizaĆ§Ć£o ter sido concluĆ­da"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr ""
+"Seleciona Ć”rea de digitalizaĆ§Ć£o apĆ³s a prĆ©-visualizaĆ§Ć£o ter sido concluĆ­da"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Entra comando a ser executado no modo fax"
@@ -2002,8 +2271,8 @@ msgstr "Entra comando para ser executado para visualizar um fax"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "Envia fax com resoluĆ§Ć£o vertical alta (196 lpp ao invĆ©s de 98 lpp)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2088,9 +2357,10 @@ msgstr "ler"
msgid "write"
msgstr "gravar"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "executar"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "usuƔrio"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2259,6 +2529,36 @@ msgstr "Apaga Ɣrea selecionada da lista de lote"
msgid "Turns on automatic mode"
msgstr "Ativa o modo automƔtico"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Falha ao determinar o diretĆ³rio home:"
@@ -2311,11 +2611,6 @@ msgstr "Erro durante gravaĆ§Ć£o:"
msgid "Can't handle depth"
msgstr "NĆ£o Ć© possĆ­vel usar profundidade"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP nĆ£o pode usar profundidade de cores de %d"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Formato de gravaĆ§Ć£o desconhecido"
@@ -2549,10 +2844,68 @@ msgstr "Arquivo %s nĆ£o Ć© um arquivo postscript"
msgid "Unsupported %d-bit output format: %s"
msgstr "Formato de saĆ­da de %d-bit nĆ£o suportado: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Erro durante gravaĆ§Ć£o:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Falha ao abrir"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Excluir impressora"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Excluir impressora"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "NĆ£o foi possĆ­vel criar arquivo temporĆ”rio"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "visualizador de imagem nĆ£o estĆ” salvado"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Imagem"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Salva lista de lote"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Salvar preferĆŖncias do dispositivo na saĆ­da"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "PreferĆŖncias"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Uso:"
@@ -2941,15 +3294,66 @@ msgstr "Sem memĆ³ria"
msgid "Access to resource has been denied"
msgstr "Acesso ao recurso foi proibido"
-#~ msgid "Could not create temporary file"
-#~ msgstr "NĆ£o foi possĆ­vel criar arquivo temporĆ”rio"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Excluir impressora"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "NĆ£o foi possĆ­vel criar arquivos de prĆ©-visualizaĆ§Ć£o temporĆ”rios"
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Navegar por arquivos de imagem"
-#~ msgid "Could not create filenames for preview files"
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Navegar por arquivos de imagem"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP nĆ£o pode usar profundidade de cores de %d"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Excluir impressora"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Digite o nome do projeto de fax"
+
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Digite o nome do projeto de correio"
+
+#, fuzzy
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Digite o nome do projeto de correio"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
#~ msgstr ""
-#~ "NĆ£o foi possĆ­vel criar nomes de arquivos para arquivos de prĆ©-visualizaĆ§Ć£o"
+#~ "Gimp nĆ£o suporta profundidade de cores de 16 bits.\n"
+#~ "VocĆŖ quer reduzir a profundidade para cores de 8 bits?"
#, fuzzy
#~ msgid "POP3 authentication"
@@ -3011,9 +3415,6 @@ msgstr "Acesso ao recurso foi proibido"
#~ msgid "Multipage saving aborted"
#~ msgstr "Projeto de correio criado"
-#~ msgid "Image"
-#~ msgstr "Imagem"
-
#~ msgid "Viewer (png):"
#~ msgstr "Visualizador (png):"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 3579543..3ddc0fb 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index c2956a9..fc55403 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -5,7 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2004-10-08 22:00+3\n"
"Last-Translator: Yujo Rodrigues <yujo@comp.ufu.br>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
@@ -32,6 +33,7 @@ msgid "About"
msgstr "Sobre"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Sobre a traduĆ§Ć£o"
@@ -71,6 +73,11 @@ msgstr "renomeia area de lote"
msgid "fax project"
msgstr "projeto de fax"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Digite o nome do projeto de fax"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "renomeia pƔgina de fax"
@@ -84,6 +91,11 @@ msgstr "insere arquivo-ps em um fax"
msgid "E-mail project"
msgstr "projeto de e-mail"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Digite o nome do projeto de correio"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -99,6 +111,11 @@ msgstr "insere arquivo no correio"
msgid "multipage project"
msgstr "Apagar projeto"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Apagar projeto"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "renomeia area predefinida"
@@ -144,6 +161,7 @@ msgid "Preview"
msgstr "PrĆ©-VisualizaĆ§Ć£o"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Visualizador"
@@ -176,14 +194,17 @@ msgid "select temporary directory"
msgstr "seleciona o diretĆ³rio temporĆ”rio"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Escala da imagem"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "DesembaraƧa imagem"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "EmbaƧa imagem"
@@ -195,6 +216,35 @@ msgstr "Armazena definiĆ§Ć£o da mĆ­dia"
msgid "No devices available"
msgstr "Nenhum dispositivo disponĆ­vel"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Excluir impressora"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Excluir impressora"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "selecione arquivo de saĆ­da"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Excluir impressora"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Excluir impressora"
+
#. MENU_FILE
msgid "File"
msgstr "Arquivo"
@@ -212,6 +262,7 @@ msgid "Window"
msgstr "Janela"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Ajuda"
@@ -227,6 +278,11 @@ msgstr "Filtros"
msgid "Geometry"
msgstr "Geometria"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Sobre XSane"
@@ -240,6 +296,7 @@ msgid "Quit"
msgstr "Sair"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Salvar imagem"
@@ -256,6 +313,7 @@ msgid "Scale"
msgstr "Escala"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Fechar"
@@ -449,11 +507,11 @@ msgstr "Aviso ao Sobregravar"
msgid "Skip existing filenames"
msgstr "Pular arquivos existentes"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -470,7 +528,8 @@ msgid "Main window size fixed"
msgstr "Tamanho da janela principal fixado"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Desabilita prƩvia gama do gimp"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -493,6 +552,11 @@ msgstr "Corrigir cores"
msgid "Use GUI progress pipe"
msgstr "Usar barra grƔfica de progresso"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "procurando por dispositivos"
@@ -509,6 +573,12 @@ msgstr "OpƧƵes do XSane"
msgid "Type"
msgstr "Tipo"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Todas as cores"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Scaner e driver:"
@@ -581,18 +651,11 @@ msgstr "Formatos de saĆ­da de 8 bits:"
msgid "16 bit output formats:"
msgstr "Formatos de saĆ­da de 16 bits:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp nĆ£o suporta profundidade de cores de 16 bits.\n"
-"VocĆŖ quer reduzir a profundidade para cores de 8 bits?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"Profundidade de cores de 16 bits nĆ£o sĆ£o suportadas para este formato de "
"saĆ­da.\n"
@@ -630,6 +693,11 @@ msgstr "versao:"
msgid "package"
msgstr "pacote"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Todas as cores"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "com suporte GIMP"
@@ -767,9 +835,10 @@ msgid "Medium Name:"
msgstr "Nome da mĆ­dia:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Tamanho %d x %d pontos, cores de %d bits, %d cores, %1.0f ppp x %1.0f ppp, %"
"1.1f %s"
@@ -823,6 +892,7 @@ msgid "Name:"
msgstr "Nome:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Comando:"
@@ -843,18 +913,22 @@ msgid "Color resolution (dpi):"
msgstr "ResoluĆ§Ć£o de cores (ppp):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Largura:"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Altura:"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Deslocamento esquerdo"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Deslocamento inferior"
@@ -874,7 +948,17 @@ msgstr "Verde gama da Impressora:"
msgid "Printer gamma blue:"
msgstr "Azul gama da Impressora:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Excluir impressora"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Excluir impressora"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -999,7 +1083,7 @@ msgstr "Configura os padrƵes do programa para:"
msgid "Viewer (Postscript):"
msgstr "Visualizador (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1078,10 +1162,45 @@ msgstr "grupo"
msgid "all"
msgstr "tudo"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Excluir impressora"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Excluir impressora"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Excluir impressora"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "nova mĆ­dia"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Salvar"
@@ -1091,14 +1210,17 @@ msgid "Filetype"
msgstr "Arquivo"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Copiar"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr ""
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "E-mail"
@@ -1191,6 +1313,12 @@ msgstr "Mostrar lista de resoluĆ§Ć£o"
msgid "Rotate postscript"
msgstr "Rotacionar postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Todas as cores"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Edita definiĆ§Ć£o da mĆ­dia"
@@ -1235,6 +1363,86 @@ msgstr "Dicas de digitalizaĆ§Ć£o"
msgid "Problems?"
msgstr "Problemas?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Incluir impressora"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Incluir impressora"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Incluir impressora"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Incluir impressora"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "autorizaĆ§Ć£o"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "gravar"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Reduzir"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "EmbaƧar"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "inativo"
@@ -1353,6 +1561,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Excluir impressora"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Corrigir cores"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Digitalizando"
@@ -1411,6 +1633,11 @@ msgstr "EmbanƧando imagem"
msgid "OCR in progress"
msgstr "OCR em progresso"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Corrigir cores"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Inicia digitalizaĆ§Ć£o <Ctrl-ENTER>"
@@ -1471,8 +1698,9 @@ msgstr ""
"acrescentada ao nome do arquivo"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Digite o nome do projeto de fax"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1482,10 +1710,15 @@ msgstr "Digite o nome para a pƔgina de fax"
msgid "Enter receiver phone number or address"
msgstr "Digite nĆŗmero de telefone ou endereƧo do destinatĆ”rio"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "Digite o nome do projeto de correio"
+msgid "Enter e-mail project directory name"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1497,6 +1730,11 @@ msgstr "Digite o novo nome para a imagem de correio"
msgid "Enter e-mail address"
msgstr "Digite o endereƧo de e-mail"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1508,8 +1746,13 @@ msgstr "Selecione o tipoe de arquivo para anexos de imagem"
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "Digite o nome do projeto de correio"
+msgid "Enter multipage project directory name"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Procurar pelo diretĆ³rio temporĆ”rio"
#. DESC_MULTIPAGE_FILETYPE
#, fuzzy
@@ -1635,7 +1878,8 @@ msgstr ""
" contraste = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Ajusta automaticamente gama, brilho e constraste <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1718,18 +1962,22 @@ msgstr ""
"ResoluĆ§Ć£o com a qual imagens coloridas sĆ£o impressas e salvadas em postscript"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Largura da Ɣrea imprimƭvel"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Altura da Ɣrea imprimƭvel"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Deslocamento esquerdo do canto do papel atƩ a Ɣrea imprimƭvel"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Deslocamento inferior do canto do papel atƩ a Ɣrea imprimƭvel"
@@ -1749,9 +1997,17 @@ msgstr "Valor gama adicional para o componente verde para fotocĆ³pia"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Valor gama adicional para o componente azul para fotocĆ³pia"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1812,14 +2068,14 @@ msgstr ""
"Se o contador do nome de arquivo Ć© auto-incrementado, nĆŗmeros usados sĆ£o "
"pulados"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1835,7 +2091,9 @@ msgstr ""
"programas mas ele produz arquivos realmente imensos!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Se o scaner envia imagem com 16 bits de cores salva imagem com 8 bits de "
"cores"
@@ -1871,7 +2129,8 @@ msgstr ""
"redimensionƔvel"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "Desabilita prƩvia gama quando XSane roda como plugin do gimp"
#. DESC_PREVIEW_COLORMAP
@@ -1974,6 +2233,16 @@ msgid "Do color correction after preview scan has finished"
msgstr ""
"Faz uma correĆ§Ć£o de cores depois da prĆ©-visualizaĆ§Ć£o ter sido concluĆ­da"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr ""
+"Seleciona Ć”rea de digitalizaĆ§Ć£o apĆ³s a prĆ©-visualizaĆ§Ć£o ter sido concluĆ­da"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Entra comando a ser executado no modo fax"
@@ -2002,8 +2271,8 @@ msgstr "Entra comando para ser executado para visualizar um fax"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "Envia fax com resoluĆ§Ć£o vertical alta (196 lpp ao invĆ©s de 98 lpp)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2088,9 +2357,10 @@ msgstr "ler"
msgid "write"
msgstr "gravar"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "executar"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "usuƔrio"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2259,6 +2529,36 @@ msgstr "Apaga Ɣrea selecionada da lista de lote"
msgid "Turns on automatic mode"
msgstr "Ativa o modo automƔtico"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Navegar por arquivos de imagem"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Falha ao determinar o diretĆ³rio home:"
@@ -2311,11 +2611,6 @@ msgstr "Erro durante gravaĆ§Ć£o:"
msgid "Can't handle depth"
msgstr "NĆ£o Ć© possĆ­vel usar profundidade"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP nĆ£o pode usar profundidade de cores de %d"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Formato de gravaĆ§Ć£o desconhecido"
@@ -2549,10 +2844,68 @@ msgstr "Arquivo %s nĆ£o Ć© um arquivo postscript"
msgid "Unsupported %d-bit output format: %s"
msgstr "Formato de saĆ­da de %d-bit nĆ£o suportado: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Erro durante gravaĆ§Ć£o:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Falha ao abrir"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Excluir impressora"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Navegar por arquivos de imagem"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Excluir impressora"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "NĆ£o foi possĆ­vel criar arquivo temporĆ”rio"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "visualizador de imagem nĆ£o estĆ” salvado"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Imagem"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Salva lista de lote"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Salvar preferĆŖncias do dispositivo na saĆ­da"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "PreferĆŖncias"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Uso:"
@@ -2941,15 +3294,66 @@ msgstr "Sem memĆ³ria"
msgid "Access to resource has been denied"
msgstr "Acesso ao recurso foi proibido"
-#~ msgid "Could not create temporary file"
-#~ msgstr "NĆ£o foi possĆ­vel criar arquivo temporĆ”rio"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Excluir impressora"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "NĆ£o foi possĆ­vel criar arquivos de prĆ©-visualizaĆ§Ć£o temporĆ”rios"
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Navegar por arquivos de imagem"
-#~ msgid "Could not create filenames for preview files"
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Navegar por arquivos de imagem"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP nĆ£o pode usar profundidade de cores de %d"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Excluir impressora"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Excluir impressora"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Digite o nome do projeto de fax"
+
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Digite o nome do projeto de correio"
+
+#, fuzzy
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Digite o nome do projeto de correio"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
#~ msgstr ""
-#~ "NĆ£o foi possĆ­vel criar nomes de arquivos para arquivos de prĆ©-visualizaĆ§Ć£o"
+#~ "Gimp nĆ£o suporta profundidade de cores de 16 bits.\n"
+#~ "VocĆŖ quer reduzir a profundidade para cores de 8 bits?"
#, fuzzy
#~ msgid "POP3 authentication"
@@ -3011,9 +3415,6 @@ msgstr "Acesso ao recurso foi proibido"
#~ msgid "Multipage saving aborted"
#~ msgstr "Projeto de correio criado"
-#~ msgid "Image"
-#~ msgstr "Imagem"
-
#~ msgid "Viewer (png):"
#~ msgstr "Visualizador (png):"
diff --git a/po/ro.gmo b/po/ro.gmo
index c9cb1d0..2963a7c 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 8fd7476..f2599ba 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -6,7 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2004-08-27 19:55+0300\n"
"Last-Translator: \n"
"Language-Team: <C@li.org>\n"
@@ -34,6 +35,7 @@ msgid "About"
msgstr "Despre"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Despre traducere"
@@ -73,6 +75,11 @@ msgstr "Redenumeşte zone predefinite pt. loturi"
msgid "fax project"
msgstr "Proiect fax"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Introduceţi numele proiectului fax"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "Redenumeşte pagina de fax"
@@ -86,6 +93,11 @@ msgstr "Introduce fişier ps Ć®n fax"
msgid "E-mail project"
msgstr "Trimite proiect prin email"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Introduceţi numele proiectului mail"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -101,6 +113,11 @@ msgstr "Introduce fişier Ć®n email"
msgid "multipage project"
msgstr "Şterge proiect"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Şterge proiect"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "Redenumeşte zone predefinite"
@@ -146,6 +163,7 @@ msgid "Preview"
msgstr "Previzualizare"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Vizualizare"
@@ -178,14 +196,17 @@ msgid "select temporary directory"
msgstr "Selectează directorul temporar"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Scalează imaginea"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Scoate petele din imagine"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Face imaginea neclară"
@@ -197,6 +218,35 @@ msgstr "Stocare definiţie mediu"
msgid "No devices available"
msgstr "Nu există dispozitive disponibile"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Şterge imprimantă"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Şterge imprimantă"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "Selectează nume fişier ieşire"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Şterge imprimantă"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Şterge imprimantă"
+
#. MENU_FILE
msgid "File"
msgstr "Fişier"
@@ -214,6 +264,7 @@ msgid "Window"
msgstr "Fereastră"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Ajutor"
@@ -229,6 +280,11 @@ msgstr "Filtre"
msgid "Geometry"
msgstr "Geometrie"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Despre Xsane"
@@ -242,6 +298,7 @@ msgid "Quit"
msgstr "Ieşire"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Salvează imaginea"
@@ -258,6 +315,7 @@ msgid "Scale"
msgstr "Scalează"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Ǝnchide"
@@ -451,11 +509,11 @@ msgstr "Avertizare la suprascriere"
msgid "Skip existing filenames"
msgstr "Salt peste fişierele existente"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -472,7 +530,8 @@ msgid "Main window size fixed"
msgstr "Mărime fixă pentru dimensiunea ferestrei principale"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Dezactivează previzualizare gamma Ʈn Gimp"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -495,6 +554,11 @@ msgstr "Corecţie automată culori"
msgid "Use GUI progress pipe"
msgstr "Foloseşte pipe GUI pt. evoluţie"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "Caut dispozitivele"
@@ -511,6 +575,12 @@ msgstr "Opţiuni XSane"
msgid "Type"
msgstr "Tip"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Toată gama de culori"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Scanner şi backend:"
@@ -583,18 +653,11 @@ msgstr "Formate de ieşire pe 8 biţi:"
msgid "16 bit output formats:"
msgstr "Formate de ieşire pe 16 biţi:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp nu susÅ£ine adĆ¢ncimi de 16 biÅ£i/culoare.\n"
-"DoriÅ£i să reduceÅ£i adĆ¢ncimea la 8 biÅ£i/culoare?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"Acest format de ieşire nu susÅ£ine adĆ¢ncimi de 16 biÅ£i/culoare.\n"
"DoriÅ£i să reduceÅ£i adĆ¢ncimea la 8 biÅ£i/culoare?"
@@ -631,6 +694,11 @@ msgstr "Versiune: "
msgid "package"
msgstr "Pachet"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Toată gama de culori"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "Cu susţinere GIMP"
@@ -770,9 +838,10 @@ msgid "Medium Name:"
msgstr "Nume mediu:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Mărime %d x %d pixeli, %d biţi/culoare, %d culori, %1.0f dpi x %1.0f dpi, %"
"1.1f %s"
@@ -826,6 +895,7 @@ msgid "Name:"
msgstr "Nume:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Comandă:"
@@ -846,18 +916,22 @@ msgid "Color resolution (dpi):"
msgstr "Rezoluţie color (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Lăţime"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "ƎnălÅ£ime"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Decalaj stĆ¢nga"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Decalaj jos"
@@ -877,7 +951,17 @@ msgstr "Gamma - componentă verde - pt. imprimantă"
msgid "Printer gamma blue:"
msgstr "Gamma - componentă albastru - pt. imprimantă"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Şterge imprimantă"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Şterge imprimantă"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1002,7 +1086,7 @@ msgstr "Setează valori implicite Ʈn program pt.:"
msgid "Viewer (Postscript):"
msgstr "Vizualizator (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1081,10 +1165,45 @@ msgstr "grup"
msgid "all"
msgstr "toţi"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Şterge imprimantă"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Şterge imprimantă"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Şterge imprimantă"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Navighează la numele fişierului de imagine"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "mediu nou"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Salvare"
@@ -1094,14 +1213,17 @@ msgid "Filetype"
msgstr "Fişier"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Copiere"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Fax"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "Poşta electronică"
@@ -1194,6 +1316,12 @@ msgstr "Arată lista rezoluţiilor"
msgid "Rotate postscript"
msgstr "Roteşte postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Toată gama de culori"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Editare definiţie mediu"
@@ -1238,6 +1366,86 @@ msgstr "Ponturi pt. scanare"
msgid "Problems?"
msgstr "Probleme?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Adaugă imprimantă"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Adaugă imprimantă"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Adaugă imprimantă"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Adaugă imprimantă"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "Autorizare"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "scriere"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Reduce"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Difuzie"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "inactiv"
@@ -1356,6 +1564,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Şterge imprimantă"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Corecţie automată culori"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Scanare..."
@@ -1414,6 +1636,11 @@ msgstr "Fac imaginea neclară"
msgid "OCR in progress"
msgstr "Recunoaştere optică de caractere Ć®n evoluÅ£ie"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Corecţie automată culori"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Porneşte scanarea<Ctrl-Enter>"
@@ -1474,8 +1701,9 @@ msgstr ""
"numele fişierului"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Introduceţi numele proiectului fax"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Navighează la directorul temporar"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1485,10 +1713,15 @@ msgstr "Introduceţi numele paginii de fax"
msgid "Enter receiver phone number or address"
msgstr "Introduceţi numărul de telefon sau adresa destinatarului"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Navighează la directorul temporar"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "Introduceţi numele proiectului mail"
+msgid "Enter e-mail project directory name"
+msgstr "Navighează la directorul temporar"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1500,6 +1733,11 @@ msgstr "Introduceţi numele imaginii pt. mail"
msgid "Enter e-mail address"
msgstr "Introduceţi adresa de email"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Navighează la directorul temporar"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1511,8 +1749,13 @@ msgstr "Selectaţi tipul fişierelor pentru ataşamentele imagine"
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "Introduceţi numele proiectului mail"
+msgid "Enter multipage project directory name"
+msgstr "Navighează la directorul temporar"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Navighează la directorul temporar"
#. DESC_MULTIPAGE_FILETYPE
#, fuzzy
@@ -1638,7 +1881,8 @@ msgstr ""
" contrast = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Ajustare automată pt. gamma, strălucire, contrast <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1721,18 +1965,22 @@ msgstr ""
"RezoluÅ£ia la care imaginile color sunt tipărite şi salvate Ć®n postscript"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Lăţime zonă tipăribilă"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "ƎnălÅ£ime zonă tipăribilă"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Decalaj stĆ¢nga de la marginea hĆ¢rtiei la zona tipăribilă"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Decalaj de jos de la marginea hĆ¢rtiei la zona tipăribilă"
@@ -1752,9 +2000,17 @@ msgstr "Valoare gamma adiţională componentă verde pt. fotocopie"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Valoare gamma adiţională componentă albastru pt. fotocopie"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1815,14 +2071,14 @@ msgstr ""
"Numerele folosite deja sunt sărite la incrementarea automată a contorului "
"numelui de fişier"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1838,7 +2094,9 @@ msgstr ""
"produce fişiere foarte mari!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Salvează o imagine cu 8 biţi/culoare dacă scannerul trimite imagini cu 16 "
"biţi/culoare"
@@ -1874,7 +2132,8 @@ msgstr ""
"redimensionabilă cu defilare"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr ""
"Dezactivează previzualizarea gamma cĆ¢nd XSane rulează ca extensie la Gimp"
@@ -1978,6 +2237,15 @@ msgstr "Selectează zona de scanare după terminarea scanării pt. previzualizar
msgid "Do color correction after preview scan has finished"
msgstr "Corectează culorile după terminarea scanării pt. previzualizare"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Selectează zona de scanare după terminarea scanării pt. previzualizare"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "IntroduceÅ£i comanda ce va fi executată Ć®n modul fax"
@@ -2007,8 +2275,8 @@ msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr ""
"Trimite un fax cu rezoluÅ£ie verticală ridicată (196 lpi Ć®n loc de 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2094,9 +2362,10 @@ msgstr "citire"
msgid "write"
msgstr "scriere"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "execuţie"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "utilizator"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2265,6 +2534,36 @@ msgstr "Şterge zona selectată din lista cu loturi"
msgid "Turns on automatic mode"
msgstr "Activează modul automat"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Navighează la numele fişierului de imagine"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Navighează la numele fişierului de imagine"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Navighează la numele fişierului de imagine"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Navighează la numele fişierului de imagine"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Navighează la numele fişierului de imagine"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Navighează la numele fişierului de imagine"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Nu am putut determina directorul acasă"
@@ -2317,11 +2616,6 @@ msgstr "Eroare la salvare:"
msgid "Can't handle depth"
msgstr "Nu pot manipula adĆ¢ncimea"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "Gimp nu poate manipula adĆ¢ncimea de %d biÅ£i/culoare"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Format de salvare necunoscut"
@@ -2555,10 +2849,68 @@ msgstr "Fişierul %s nu este un fişier postscript"
msgid "Unsupported %d-bit output format: %s"
msgstr "Formatul de ieşire: %s pe %d biţi nu este susţinut"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Eroare la salvare:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Nu am putut deschide"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Şterge imprimantă"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Navighează la numele fişierului de imagine"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Şterge imprimantă"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Nu am putut crea fişierul temporar"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "imaginea vizualizată nu este salvată"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Imagine"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Salvează lista loturi"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Salvează preferinţele dispozitivului la ieşire"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "Preferinţe"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Utilizare:"
@@ -2944,14 +3296,66 @@ msgstr "Nu am memorie suficientă."
msgid "Access to resource has been denied"
msgstr "Accesul la resursă a fost respins"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Nu am putut crea fişierul temporar"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Şterge imprimantă"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Şterge imprimantă"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "Nu am putut crea fişierele temporare de previzualizare"
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Şterge imprimantă"
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "Nu am putut crea nume de fişiere pt. previzualizare"
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Şterge imprimantă"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Şterge imprimantă"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Şterge imprimantă"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Navighează la numele fişierului de imagine"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Navighează la numele fişierului de imagine"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "Gimp nu poate manipula adĆ¢ncimea de %d biÅ£i/culoare"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Şterge imprimantă"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Şterge imprimantă"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Introduceţi numele proiectului fax"
+
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Introduceţi numele proiectului mail"
+
+#, fuzzy
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Introduceţi numele proiectului mail"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp nu susÅ£ine adĆ¢ncimi de 16 biÅ£i/culoare.\n"
+#~ "DoriÅ£i să reduceÅ£i adĆ¢ncimea la 8 biÅ£i/culoare?"
#, fuzzy
#~ msgid "POP3 authentication"
@@ -3012,9 +3416,6 @@ msgstr "Accesul la resursă a fost respins"
#~ msgid "Multipage saving aborted"
#~ msgstr "Proiectul mail a fost creat"
-#~ msgid "Image"
-#~ msgstr "Imagine"
-
#~ msgid "Viewer (png):"
#~ msgstr "Vizualizator (png):"
diff --git a/po/ru.gmo b/po/ru.gmo
index 8238e46..b72f280 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index a4486c8..266ef52 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,7 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.99\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2005-12-31 15:46+0300\n"
"Last-Translator: Vitaly Lipatov <lav@etersoft.ru>\n"
"Language-Team: Russian <ru@li.org>\n"
@@ -36,6 +37,7 @@ msgid "About"
msgstr "Šž ŠæрŠ¾Š³Ń€Š°Š¼Š¼Šµ"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Šž Š»Š¾ŠŗŠ°Š»ŠøŠ·Š°Ń†ŠøŠø"
@@ -75,6 +77,11 @@ msgstr "ŠæŠµŃ€ŠµŠøŠ¼ŠµŠ½Š¾Š²Š°Ń‚ŃŒ Š¾Š±Š»Š°ŃŃ‚ŃŒ"
msgid "fax project"
msgstr "ŠæŠ¾Š“Š³Š¾Ń‚Š¾Š²ŠŗŠ° фŠ°ŠŗсŠ°"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ фŠ°ŠŗсŠøŠ¼ŠøŠ»ŃŒŠ½Š¾Š³Š¾ ŠæŠ¾ŃŠ»Š°Š½Šøя"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "ŠæŠµŃ€ŠµŠøŠ¼ŠµŠ½Š¾Š²Š°Š½ŠøŠµ фŠ°ŠŗсŠøŠ¼ŠøŠ»ŃŒŠ½Š¾Š¹ стрŠ°Š½Šøцы"
@@ -87,6 +94,11 @@ msgstr "Š“Š¾Š±Š°Š²Š»ŠµŠ½ŠøŠµ PS-фŠ°Š¹Š»Š° Š² фŠ°ŠŗсŠøŠ¼ŠøŠ»ŃŒŠ½Š¾Šµ ŠæŠ¾ŃŠ»Š
msgid "E-mail project"
msgstr "Š­Š»ŠµŠŗтрŠ¾Š½Š½Š¾Šµ ŠæŠøсьŠ¼Š¾"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ ŠæŠ¾Ń‡Ń‚Š¾Š²Š¾Š³Š¾ сŠ¾Š¾Š±Ń‰ŠµŠ½Šøя"
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr "ŠæŠµŃ€ŠµŠøŠ¼ŠµŠ½Š¾Š²Š°Ń‚ŃŒ ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ Š² ŠæŠøсьŠ¼Šµ"
@@ -99,6 +111,11 @@ msgstr "Š“Š¾Š±Š°Š²Šøть фŠ°Š¹Š» Š² ŠæŠøсьŠ¼Š¾"
msgid "multipage project"
msgstr "Š¼Š½Š¾Š³Š¾ŃŃ‚Ń€Š°Š½ŠøчŠ½Ń‹Š¹ ŠæрŠ¾ŠµŠŗт"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Š¼Š½Š¾Š³Š¾ŃŃ‚Ń€Š°Š½ŠøчŠ½Ń‹Š¹ ŠæрŠ¾ŠµŠŗт"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "ŠæŠµŃ€ŠµŠøŠ¼ŠµŠ½Š¾Š²Š°Š½ŠøŠµ Š¾Š±Š»Š°ŃŃ‚Šø"
@@ -144,6 +161,7 @@ msgid "Preview"
msgstr "ŠŸŃ€ŠµŠ“Š²Š°Ń€ŠøтŠµŠ»ŃŒŠ½Š¾Šµ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½ŠøŠµ"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "ŠŸŃ€Š¾ŃŠ¼Š¾Ń‚Ń€"
@@ -176,14 +194,17 @@ msgid "select temporary directory"
msgstr "ŠøŠ·Š¼ŠµŠ½Šøть ŠŗŠ°Ń‚Š°Š»Š¾Š³ Š“Š»Ń Š²Ń€ŠµŠ¼ŠµŠ½Š½Ń‹Ń… фŠ°Š¹Š»Š¾Š²"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "ŠœŠ°ŃŃˆŃ‚Š°Š±ŠøрŠ¾Š²Š°Š½ŠøŠµ ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Š£Š±Ń€Š°Ń‚ŃŒ рŠ°ŃŃ‚Ń€ с ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Š Š°Š·Š¼Ń‹Ń‚ŃŒ ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ"
@@ -195,6 +216,35 @@ msgstr "Š—Š°ŠæŠøсŠ°Ń‚ŃŒ Š¾ŠæрŠµŠ“ŠµŠ»ŠµŠ½ŠøŠµ Š½Š¾ŃŠøтŠµŠ»Ń"
msgid "No devices available"
msgstr "Š”Š¾ŃŃ‚ŃƒŠæŠ½Ń‹Šµ устрŠ¾Š¹ŃŃ‚Š²Š° Š¾Ń‚ŃŃƒŃ‚ŃŃ‚Š²ŃƒŃŽŃ‚"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "Š²Ń‹Š±ŠµŃ€ŠøтŠµ Š½Š°Š·Š²Š°Š½ŠøŠµ Š²Ń‹Ń…Š¾Š“Š½Š¾Š³Š¾ фŠ°Š¹Š»Š°"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
#. MENU_FILE
msgid "File"
msgstr "Š¤Š°Š¹Š»"
@@ -212,6 +262,7 @@ msgid "Window"
msgstr "ŠžŠŗŠ½Š°"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Š”ŠæрŠ°Š²ŠŗŠ°"
@@ -227,6 +278,11 @@ msgstr "Š¤ŠøŠ»ŃŒŃ‚ры"
msgid "Geometry"
msgstr "Š˜Š·Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Šž ŠæрŠ¾Š³Ń€Š°Š¼Š¼Šµ XSane"
@@ -240,6 +296,7 @@ msgid "Quit"
msgstr "Š’Ń‹Š¹Ń‚Šø"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Š”Š¾Ń…Ń€Š°Š½Šøть ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ"
@@ -256,6 +313,7 @@ msgid "Scale"
msgstr "Š˜Š·Š¼ŠµŠ½Šøть рŠ°Š·Š¼ŠµŃ€"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Š—Š°Šŗрыть"
@@ -447,11 +505,11 @@ msgstr "ŠŸŃ€ŠµŠ“уŠæрŠµŠ¶Š“Š°Ń‚ŃŒ ŠæрŠø ŠæŠµŃ€ŠµŠ·Š°ŠæŠøсŠø"
msgid "Skip existing filenames"
msgstr "ŠŸŃ€Š¾ŠæусŠŗŠ°Ń‚ŃŒ сущŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠøŠµ"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr "Š”Š¾Ń…Ń€Š°Š½ŃŃ‚ŃŒ Postscript (level 3) сŠ¶Š°Ń‚Ń‹Š¼ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ zlib"
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr "Š”Š¾Ń…Ń€Š°Š½ŃŃ‚ŃŒ PDF сŠ¶Š°Ń‚Ń‹Š¼ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ zlib"
@@ -468,7 +526,8 @@ msgid "Main window size fixed"
msgstr "ŠŠµ ŠæŠ¾Š·Š²Š¾Š»ŃŃ‚ŃŒ Š¼ŠµŠ½ŃŃ‚ŃŒ рŠ°Š·Š¼ŠµŃ€ Š³Š»Š°Š²Š½Š¾Š³Š¾ Š¾ŠŗŠ½Š°"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "ŠžŃ‚ŠŗŠ»ŃŽŃ‡Šøть Š³Š°Š¼Š¼Š°-ŠŗŠ¾Ń€Ń€ŠµŠŗцŠøю Š² ŠæрŠµŠ“Š²Š°Ń€ŠøтŠµŠ»ŃŒŠ½Š¾Š¼ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½ŠøŠø Š“Š»Ń GIMP"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -491,6 +550,11 @@ msgstr "ŠŠ²Ń‚Š¾ŠŗŠ¾Ń€Ń€ŠµŠŗцŠøя цŠ²ŠµŃ‚Š°"
msgid "Use GUI progress pipe"
msgstr "Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ ŠŗŠ°Š½Š°Š» GUI"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "ŠŸŠ¾ŠøсŠŗ устрŠ¾Š¹ŃŃ‚Š²"
@@ -507,6 +571,12 @@ msgstr "ŠžŠ±Ń‰ŠøŠµ ŠæŠ°Ń€Š°Š¼ŠµŃ‚ры"
msgid "Type"
msgstr "Š¤Š¾Ń€Š¼Š°Ń‚"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "ŠŸŠ¾Š»Š½Š°Ń ŠæŠ°Š»ŠøтрŠ° цŠ²ŠµŃ‚Š¾Š²"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Š£ŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š¾ Šø Š“рŠ°Š¹Š²ŠµŃ€:"
@@ -579,18 +649,11 @@ msgstr "8-Š±ŠøтŠ½Ń‹Šµ Š²Ń‹Ń…Š¾Š“Š½Ń‹Šµ фŠ¾Ń€Š¼Š°Ń‚Ń‹:"
msgid "16 bit output formats:"
msgstr "16-Š±ŠøтŠ½Ń‹Šµ Š²Ń‹Ń…Š¾Š“Š½Ń‹Šµ фŠ¾Ń€Š¼Š°Ń‚Ń‹:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"GIMP Š½Šµ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ Š³Š»ŃƒŠ±ŠøŠ½Ńƒ цŠ²ŠµŃ‚Š° Š² 16 Š±Šøт.\n"
-"Š£Š¼ŠµŠ½ŃŒŃˆŠøть Š³Š»ŃƒŠ±ŠøŠ½Ńƒ Š“Š¾ 8 Š±Šøт Š½Š° цŠ²ŠµŃ‚?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"Š”Š°Š½Š½Ń‹Š¹ фŠ¾Ń€Š¼Š°Ń‚ фŠ°Š¹Š»Š° Š½Šµ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ Š³Š»ŃƒŠ±ŠøŠ½Ńƒ цŠ²ŠµŃ‚Š° Š² 16 Š±Šøт.\n"
"Š£Š¼ŠµŠ½ŃŒŃˆŠøть Š³Š»ŃƒŠ±ŠøŠ½Ńƒ Š“Š¾ 8 Š±Šøт Š½Š° цŠ²ŠµŃ‚?"
@@ -627,6 +690,11 @@ msgstr "Š²ŠµŃ€ŃŠøŠø:"
msgid "package"
msgstr "ŠæŠ°ŠŗŠµŃ‚"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "ŠŸŠ¾Š»Š½Š°Ń ŠæŠ°Š»ŠøтрŠ° цŠ²ŠµŃ‚Š¾Š²"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "с ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠŗŠ¾Š¹ GIMP"
@@ -759,9 +827,10 @@ msgid "Medium Name:"
msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ Š½Š¾ŃŠøтŠµŠ»Ń: "
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Š Š°Š·Š¼ŠµŃ€ %d Š½Š° %d тŠ¾Ń‡ŠµŠŗ, %d Š±Šøт/цŠ²ŠµŃ‚, %d цŠ²ŠµŃ‚Š¾Š², %1.0f dpi x %1.0f dpi, %1.1f %"
"s"
@@ -815,6 +884,7 @@ msgid "Name:"
msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "ŠšŠ¾Š¼Š°Š½Š“Š°:"
@@ -835,18 +905,22 @@ msgid "Color resolution (dpi):"
msgstr "Š Š°Š·Ń€ŠµŃˆŠµŠ½ŠøŠµ Š“Š»Ń цŠ²ŠµŃ‚Š½Š¾Š³Š¾ ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "ŠØŠøрŠøŠ½Š°"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Š’ысŠ¾Ń‚Š°"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "ŠžŃ‚ŃŃ‚ŃƒŠæ сŠ»ŠµŠ²Š°"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "ŠžŃ‚ŃŃ‚ŃƒŠæ сŠ½ŠøŠ·Ńƒ"
@@ -866,7 +940,17 @@ msgstr "Š—Š½Š°Ń‡ŠµŠ½ŠøŠµ Š·ŠµŠ»Ń‘Š½Š¾Š³Š¾ ŠŗŠ¾Š¼ŠæŠ¾Š½ŠµŠ½Ń‚Š° Š³Š°Š¼Š¼Ń‹ Š“Š»Ń
msgid "Printer gamma blue:"
msgstr "Š—Š½Š°Ń‡ŠµŠ½ŠøŠµ сŠøŠ½ŠµŠ³Š¾ ŠŗŠ¾Š¼ŠæŠ¾Š½ŠµŠ½Ń‚Š° Š³Š°Š¼Š¼Ń‹ Š“Š»Ń ŠæрŠøŠ½Ń‚ŠµŃ€Š°:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Š”Š¾Š·Š“Š°Ń‚ŃŒ Postscript (level 3) Š“Š»Ń ŠæŠµŃ‡Š°Ń‚Šø, сŠ¶Š°Ń‚Ń‹Š¹ zlib"
@@ -990,7 +1074,7 @@ msgstr "Š£ŃŃ‚Š°Š½Š¾Š²Šøть уŠ¼Š¾Š»Ń‡Š°Š½Šøя Š“Š»Ń:"
msgid "Viewer (Postscript):"
msgstr "ŠŸŃ€Š¾Š³Ń€Š°Š¼Š¼Š° ŠæрŠ¾ŃŠ¼Š¾Ń‚Ń€Š° PostScript-фŠ°Š¹Š»Š¾Š²:"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr "Š”Š¾Š·Š“Š°Ń‚ŃŒ Postscript (level 3), сŠ¶Š°Ń‚Ń‹Š¹ zlip, Š“Š»Ń Š¾Ń‚ŠæрŠ°Š²ŠŗŠø ŠæŠ¾ фŠ°Šŗсу"
@@ -1066,10 +1150,45 @@ msgstr "Š³Ń€ŃƒŠæŠæŠ°"
msgid "all"
msgstr "ŠæрŠ¾Ń‡ŠøŠµ"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "Š½Š¾Š²Ń‹Š¹ Š½Š¾ŃŠøтŠµŠ»ŃŒ"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Š¤Š°Š¹Š»"
@@ -1078,14 +1197,17 @@ msgid "Filetype"
msgstr "Š¢ŠøŠæ фŠ°Š¹Š»Š°"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "ŠšŠ¾ŠæŠøрŠ¾Š²Š°Š½ŠøŠµ"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Š¤Š°Šŗс"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr "Š­Š». ŠæŠ¾Ń‡Ń‚Š°"
@@ -1177,6 +1299,12 @@ msgstr "ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ сŠæŠøсŠ¾Šŗ рŠ°Š·Ń€ŠµŃˆŠµŠ½ŠøŠ¹ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½Š
msgid "Rotate postscript"
msgstr "ŠŸŠ¾Š²ŠµŃ€Š½ŃƒŃ‚ŃŒ PostScript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "ŠŸŠ¾Š»Š½Š°Ń ŠæŠ°Š»ŠøтрŠ° цŠ²ŠµŃ‚Š¾Š²"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Š˜Š·Š¼ŠµŠ½ŃŃ‚ŃŒ Š¾ŠæрŠµŠ“ŠµŠ»ŠµŠ½Šøя Š½Š¾ŃŠøтŠµŠ»ŠµŠ¹"
@@ -1221,6 +1349,86 @@ msgstr "ŠŸŠ¾Š“сŠŗŠ°Š·ŠŗŠø ŠæŠ¾ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½Šøю"
msgid "Problems?"
msgstr "ŠŸŃ€Š¾Š±Š»ŠµŠ¼Ń‹?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Š”Š¾Š±Š°Š²Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Š”Š¾Š±Š°Š²Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Š”Š¾Š±Š°Š²Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Š”Š¾Š±Š°Š²Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "Š°Š²Ń‚Š¾Ń€ŠøŠ·Š°Ń†Šøя"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "Š·Š°ŠæŠøсь"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Š£Š¼ŠµŠ½ŃŒŃˆŠøть"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Š Š°Š·Š¼Ń‹Ń‚ŃŒ"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "Š½Šµ Š°ŠŗтŠøŠ²Š½Š¾"
@@ -1337,6 +1545,20 @@ msgstr "Š£Ń‡Ń‘Ń‚Š½Š°Ń Š·Š°ŠæŠøсь ASMTP"
msgid "ASMTP CRAM-MD5"
msgstr "ASMTP CRAM-MD5"
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "ŠŠ²Ń‚Š¾ŠŗŠ¾Ń€Ń€ŠµŠŗцŠøя цŠ²ŠµŃ‚Š°"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Š”ŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½ŠøŠµ"
@@ -1394,6 +1616,11 @@ msgstr "Š Š°Š·Š¼Ń‹Ń‚ŠøŠµ ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
msgid "OCR in progress"
msgstr "Š Š°ŃŠæŠ¾Š·Š½Š°Š²Š°Š½ŠøŠµ тŠµŠŗстŠ°"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "ŠŠ²Ń‚Š¾ŠŗŠ¾Ń€Ń€ŠµŠŗцŠøя цŠ²ŠµŃ‚Š°"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "ŠŠ°Ń‡Š°Ń‚ŃŒ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½ŠøŠµ <Ctrl-Enter>"
@@ -1455,8 +1682,9 @@ msgstr ""
"Š½Š°Š·Š²Š°Š½Šøю фŠ°Š¹Š»Š°"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ фŠ°ŠŗсŠøŠ¼ŠøŠ»ŃŒŠ½Š¾Š³Š¾ ŠæŠ¾ŃŠ»Š°Š½Šøя"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Š£ŠŗŠ°Š·Š°Ń‚ŃŒ Š²Ń€ŠµŠ¼ŠµŠ½Š½Ń‹Š¹ ŠŗŠ°Ń‚Š°Š»Š¾Š³"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1466,9 +1694,15 @@ msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ фŠ°ŠŗсŠøŠ¼ŠøŠ»ŃŒŠ½Š¾Š¹ стрŠ°Š½Šøцы"
msgid "Enter receiver phone number or address"
msgstr "ŠŠ¾Š¼ŠµŃ€ тŠµŠ»ŠµŃ„Š¾Š½Š° ŠøŠ»Šø Š°Š“рŠµŃ Š“Š»Ń Š¾Ń‚ŠæрŠ°Š²ŠŗŠø"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Š£ŠŗŠ°Š·Š°Ń‚ŃŒ Š²Ń€ŠµŠ¼ŠµŠ½Š½Ń‹Š¹ ŠŗŠ°Ń‚Š°Š»Š¾Š³"
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
-msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ ŠæŠ¾Ń‡Ń‚Š¾Š²Š¾Š³Š¾ сŠ¾Š¾Š±Ń‰ŠµŠ½Šøя"
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "Š£ŠŗŠ°Š·Š°Ń‚ŃŒ Š²Ń€ŠµŠ¼ŠµŠ½Š½Ń‹Š¹ ŠŗŠ°Ń‚Š°Š»Š¾Š³"
#. DESC_EMAIL_IMAGENAME
msgid "Enter new name for e-mail image"
@@ -1478,6 +1712,11 @@ msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° Š“Š»Ń Š¾Ń‚ŠæрŠ°Š²Š»ŃŠµŠ¼Š¾Š³Š¾ ŠøŠ·Š¾Š±Ń€
msgid "Enter e-mail address"
msgstr "ŠŠ“рŠµŃ эŠ»ŠµŠŗтрŠ¾Š½Š½Š¾Š¹ ŠæŠ¾Ń‡Ń‚Ń‹"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Š£ŠŗŠ°Š·Š°Ń‚ŃŒ Š²Ń€ŠµŠ¼ŠµŠ½Š½Ń‹Š¹ ŠŗŠ°Ń‚Š°Š»Š¾Š³"
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr "Š¢ŠµŠ¼Š° ŠæŠøсьŠ¼Š°"
@@ -1487,8 +1726,14 @@ msgid "Select filetype for image attachments"
msgstr "Š’Ń‹Š±ŠµŃ€ŠøтŠµ фŠ¾Ń€Š¼Š°Ń‚ фŠ°Š¹Š»Š° Š“Š»Ń Š²Š»Š¾Š¶ŠµŠ½Šøя ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
-msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ Š¼Š½Š¾Š³Š¾ŃŃ‚Ń€Š°Š½ŠøчŠ½Š¾Š³Š¾ ŠæŠ¾Ń‡Ń‚Š¾Š²Š¾Š³Š¾ сŠ¾Š¾Š±Ń‰ŠµŠ½Šøя"
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "Š£ŠŗŠ°Š·Š°Ń‚ŃŒ Š²Ń€ŠµŠ¼ŠµŠ½Š½Ń‹Š¹ ŠŗŠ°Ń‚Š°Š»Š¾Š³"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Š£ŠŗŠ°Š·Š°Ń‚ŃŒ Š²Ń€ŠµŠ¼ŠµŠ½Š½Ń‹Š¹ ŠŗŠ°Ń‚Š°Š»Š¾Š³"
#. DESC_MULTIPAGE_FILETYPE
msgid "Select filetype for multipage file"
@@ -1613,7 +1858,8 @@ msgstr ""
"ŠŗŠ¾Š½Ń‚Ń€Š°ŃŃ‚Š½Š¾ŃŃ‚ŃŒ = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "ŠŠ²Ń‚Š¾ŠæŠ¾Š“Š±Š¾Ń€ Š·Š½Š°Ń‡ŠµŠ½ŠøŠ¹ Š³Š°Š¼Š¼Ń‹, ярŠŗŠ¾ŃŃ‚Šø Šø ŠŗŠ¾Š½Ń‚Ń€Š°ŃŃ‚Š½Š¾ŃŃ‚Šø <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1697,18 +1943,22 @@ msgstr ""
"PostScript"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "ŠØŠøрŠøŠ½Š° ŠæŠµŃ‡Š°Ń‚Š°ŠµŠ¼Š¾Š¹ Š¾Š±Š»Š°ŃŃ‚Šø"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Š’ысŠ¾Ń‚Š° ŠæŠµŃ‡Š°Ń‚Š°ŠµŠ¼Š¾Š¹ Š¾Š±Š»Š°ŃŃ‚Šø"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "ŠžŃ‚ŃŃ‚ŃƒŠæ сŠ»ŠµŠ²Š° Š¾Ń‚ уŠ³Š»Š° Š±ŃƒŠ¼Š°Š³Šø Š“Š¾ ŠæŠµŃ‡Š°Ń‚Š°ŠµŠ¼Š¾Š¹ Š¾Š±Š»Š°ŃŃ‚Šø"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "ŠžŃ‚ŃŃ‚ŃƒŠæ сŠ½ŠøŠ·Ńƒ Š¾Ń‚ уŠ³Š»Š° Š±ŃƒŠ¼Š°Š³Šø Š“Š¾ ŠæŠµŃ‡Š°Ń‚Š°ŠµŠ¼Š¾Š¹ Š¾Š±Š»Š°ŃŃ‚Šø"
@@ -1728,9 +1978,18 @@ msgstr "Š”Š¾ŠæŠ¾Š»Š½ŠøтŠµŠ»ŃŒŠ½Š¾Šµ Š·Š½Š°Ń‡ŠµŠ½ŠøŠµ Š·ŠµŠ»Ń‘Š½Š¾Š³Š¾ ŠŗŠ¾Š¼ŠæŠ
msgid "Additional gamma value for blue component for photocopy"
msgstr "Š”Š¾ŠæŠ¾Š»Š½ŠøтŠµŠ»ŃŒŠ½Š¾Šµ Š·Š½Š°Ń‡ŠµŠ½ŠøŠµ сŠøŠ½ŠµŠ³Š¾ ŠŗŠ¾Š¼ŠæŠ¾Š½ŠµŠ½Ń‚Š° Š³Š°Š¼Š¼Ń‹ ŠæрŠø ŠŗŠ¾ŠæŠøрŠ¾Š²Š°Š½ŠøŠø"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
"Š”Š¾Š·Š“Š°Ń‘Š¼ сŠ¶Š°Ń‚Š¾Šµ с ŠæŠ¾Š¼Š¾Ń‰ŃŒŃŽ zlib Postscript-ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ Š“Š»Ń ŠæрŠøŠ½Ń‚ŠµŃ€Š° "
@@ -1790,17 +2049,19 @@ msgstr ""
"ŠŸŃ€Šø ŠøсŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŠø счётчŠøŠŗŠ° Š² Š½Š°Š·Š²Š°Š½ŠøŠø фŠ°Š¹Š»Š° уŠ¶Šµ ŠøсŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½Š½Ń‹Šµ Š½Š¾Š¼ŠµŃ€Š° "
"ŠæрŠ¾ŠæусŠŗŠ°ŃŽŃ‚ся"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
"сŠ¶ŠøŠ¼Š°ŠµŃ‚ ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ postscript ŠæŠ¾ Š°Š»Š³Š¾Ń€ŠøтŠ¼Ńƒ zlib (flatdecode). Š•ŃŠ»Šø Š²Ń‹ "
"Š·Š°Ń…Š¾Ń‚ŠøтŠµ рŠ°ŃŠæŠµŃ‡Š°Ń‚Š°Ń‚ŃŒ тŠ°ŠŗŠ¾Š¹ фŠ°Š¹Š», Š²Š°Š¼ ŠæŠ¾Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ся ŠæрŠøŠ½Ń‚ŠµŃ€, ŠæŠ¾Š½ŠøŠ¼Š°ŃŽŃ‰ŠøŠ¹ "
"postscript level 3"
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+#, fuzzy
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr "сŠ¶ŠøŠ¼Š°ŠµŃ‚ ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ PDF ŠæŠ¾ Š°Š»Š³Š¾Ń€ŠøтŠ¼Ńƒ zlib (flatdecode)."
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1816,7 +2077,9 @@ msgstr ""
"ŠæрŠ¾Š³Ń€Š°Š¼Š¼Š°Š¼Šø, Š½Š¾ Š·Š°Š½ŠøŠ¼Š°ŠµŃ‚ Š·Š½Š°Ń‡ŠøтŠµŠ»ŃŒŠ½Š¾ Š±Š¾Š»ŃŒŃˆŠµ Š¼ŠµŃŃ‚Š° Š½Š° Š“ŠøсŠŗŠµ!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr "ŠŸŃ€Šø сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½ŠøŠø с Š³Š»ŃƒŠ±ŠøŠ½Š¾Š¹ цŠ²ŠµŃ‚Š° 16 Š±Šøт уŠ¼ŠµŠ½ŃŒŃˆŠ°Ń‚ŃŒ цŠ²ŠµŃ‚Š½Š¾ŃŃ‚ŃŒ Š“Š¾ 8 Š±Šøт"
#. DESC_PSFILE_WIDTH
@@ -1844,7 +2107,8 @@ msgid "Use fixed main window size or scrolled, resizable main window"
msgstr "Š Š°Š·Š¼ŠµŃ€Ń‹ Š³Š»Š°Š²Š½Š¾Š³Š¾ Š¾ŠŗŠ½Š° фŠøŠŗсŠøрŠ¾Š²Š°Š½Ń‹ ŠøŠ»Šø ŠøŠ·Š¼ŠµŠ½ŃŠµŠ¼Ń‹"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr ""
"ŠžŃ‚ŠŗŠ»ŃŽŃ‡Š°Ń‚ŃŒ Š³Š°Š¼Š¼Š°-ŠŗŠ¾Ń€Ń€ŠµŠŗцŠøю Š“Š»Ń ŠæрŠµŠ“Š²Š°Ń€ŠøтŠµŠ»ŃŒŠ½Š¾Š³Š¾ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½Šøя ŠæрŠøŠ²Ń‹Š·Š¾Š²Šµ XSane "
"ŠŗŠ°Šŗ Š¼Š¾Š“уŠ»Ń GIMP"
@@ -1950,6 +2214,16 @@ msgid "Do color correction after preview scan has finished"
msgstr ""
"Š’Ń‹ŠæŠ¾Š»Š½ŃŃ‚ŃŒ цŠ²ŠµŃ‚Š¾Š²ŃƒŃŽ ŠŗŠ¾Ń€Ń€ŠµŠŗцŠøю ŠæŠ¾ŃŠ»Šµ Š·Š°Š²ŠµŃ€ŃˆŠµŠ½Šøя ŠæрŠµŠ“Š²Š°Ń€ŠøтŠµŠ»ŃŒŠ½Š¾Š³Š¾ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½Šøя"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr ""
+"Š’Ń‹Š“ŠµŠ»ŃŃ‚ŃŒ Š¾Š±Š»Š°ŃŃ‚ŃŒ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½Šøя ŠæŠ¾ŃŠ»Šµ Š·Š°Š²ŠµŃ€ŃˆŠµŠ½Šøя ŠæрŠµŠ“Š²Š°Ń€ŠøтŠµŠ»ŃŒŠ½Š¾Š³Š¾ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½Šøя"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "ŠšŠ¾Š¼Š°Š½Š“Š° Š“Š»Ń Š²Ń‹ŠæŠ¾Š»Š½ŠµŠ½Šøя Š² рŠµŠ¶ŠøŠ¼Šµ фŠ°ŠŗсŠ°"
@@ -1979,8 +2253,9 @@ msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr ""
"ŠžŃ‚сыŠ»Š°Ń‚ŃŒ фŠ°Šŗс с Š²Ń‹ŃŠ¾ŠŗŠøŠ¼ Š²ŠµŃ€Ń‚ŠøŠŗŠ°Š»ŃŒŠ½Ń‹Š¼ рŠ°Š·Ń€ŠµŃˆŠµŠ½ŠøŠµŠ¼ (196 lpi Š²Š¼ŠµŃŃ‚Š¾ 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+#, fuzzy
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr "Š”Š¾Š·Š“Š°Ń‘Ń‚ сŠ¶Š°Ń‚Š¾Šµ zlib ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ postscript Š“Š»Ń фŠ°ŠŗсŠ° (flatdecode)"
#. DESC_SMTP_SERVER
@@ -2063,9 +2338,10 @@ msgstr "чтŠµŠ½ŠøŠµ"
msgid "write"
msgstr "Š·Š°ŠæŠøсь"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "Š²Ń‹ŠæŠ¾Š»Š½ŠµŠ½ŠøŠµ"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "Š²Š»Š°Š“ŠµŠ»ŠµŃ†"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2234,6 +2510,36 @@ msgstr "Š£Š“Š°Š»Šøть Š²Ń‹Š“ŠµŠ»ŠµŠ½ŠøŠµ ŠøŠ· ŠæŠ°ŠŗŠµŃ‚Š°"
msgid "Turns on automatic mode"
msgstr "Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ Š°Š²Ń‚Š¾Š¼Š°Ń‚ŠøчŠµŃŠŗŠøŠ¹ рŠµŠ¶ŠøŠ¼"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "ŠŠµŠ²Š¾Š·Š¼Š¾Š¶Š½Š¾ Š¾ŠæрŠµŠ“ŠµŠ»Šøть Š“Š¾Š¼Š°ŃˆŠ½ŠøŠ¹ ŠŗŠ°Ń‚Š°Š»Š¾Š³:"
@@ -2286,11 +2592,6 @@ msgstr "ŠžŃˆŠøŠ±ŠŗŠ° Š²Š¾ Š²Ń€ŠµŠ¼Ń сŠ¾Ń…Ń€Š°Š½ŠµŠ½Šøя:"
msgid "Can't handle depth"
msgstr "ŠŠµŠ²Š¾Š·Š¼Š¾Š¶Š½Š¾ Š¾ŠæрŠµŠ“ŠµŠ»Šøть Š³Š»ŃƒŠ±ŠøŠ½Ńƒ цŠ²ŠµŃ‚Š°"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP Š½Šµ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ Š³Š»ŃƒŠ±ŠøŠ½Ńƒ цŠ²ŠµŃ‚Š° Š² %d Š±Šøт Š½Š° цŠ²ŠµŃ‚"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "ŠŠµŠøŠ·Š²ŠµŃŃ‚Š½Ń‹Š¹ фŠ¾Ń€Š¼Š°Ń‚ фŠ°Š¹Š»Š° Š“Š»Ń Š·Š°ŠæŠøсŠø"
@@ -2523,10 +2824,68 @@ msgstr "Š¤Š°Š¹Š» %s Š½Šµ яŠ²Š»ŃŠµŃ‚ся фŠ°Š¹Š»Š¾Š¼ PostScript"
msgid "Unsupported %d-bit output format: %s"
msgstr "ŠŠµŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŠ¼Š°Ń Š³Š»ŃƒŠ±ŠøŠ½Š° цŠ²ŠµŃ‚Š° Š² %d Š“Š»Ń фŠ¾Ń€Š¼Š°Ń‚Š°: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "ŠžŃˆŠøŠ±ŠŗŠ° Š²Š¾ Š²Ń€ŠµŠ¼Ń сŠ¾Ń…Ń€Š°Š½ŠµŠ½Šøя:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "ŠŠµŠ²Š¾Š·Š¼Š¾Š¶Š½Š¾ Š¾Ń‚Šŗрыть"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "ŠŠµŠ²Š¾Š·Š¼Š¾Š¶Š½Š¾ сŠ¾Š·Š“Š°Ń‚ŃŒ Š²Ń€ŠµŠ¼ŠµŠ½Š½Ń‹Š¹ фŠ°Š¹Š»"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "ŠŸŃ€Š¾ŃŠ¼Š°Ń‚Ń€ŠøŠ²Š°ŠµŠ¼Š¾Šµ ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ Š½Šµ сŠ¾Ń…Ń€Š°Š½ŠµŠ½Š¾"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Š”трŠ°Š½Šøц:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Š”Š¾Ń…Ń€Š°Š½Šøть ŠæŠ°ŠŗŠµŃ‚"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Š”Š¾Ń…Ń€Š°Š½ŃŃ‚ŃŒ ŠæŠ°Ń€Š°Š¼ŠµŃ‚ры устрŠ¾Š¹ŃŃ‚Š²Š° ŠæрŠø Š²Ń‹Ń…Š¾Š“Šµ"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "ŠŸŠ°Ń€Š°Š¼ŠµŃ‚ры"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Š˜ŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŠµ:"
@@ -2901,12 +3260,61 @@ msgstr "ŠŠµ хŠ²Š°Ń‚Š°ŠµŃ‚ ŠæŠ°Š¼ŃŃ‚Šø"
msgid "Access to resource has been denied"
msgstr "Š”Š¾ŃŃ‚ŃƒŠæ Šŗ рŠµŃŃƒŃ€ŃŃƒ Š·Š°ŠæрŠµŃ‰Ń‘Š½"
-#~ msgid "Could not create temporary file"
-#~ msgstr "ŠŠµŠ²Š¾Š·Š¼Š¾Š¶Š½Š¾ сŠ¾Š·Š“Š°Ń‚ŃŒ Š²Ń€ŠµŠ¼ŠµŠ½Š½Ń‹Š¹ фŠ°Š¹Š»"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° ŠøŠ·Š¾Š±Ń€Š°Š¶ŠµŠ½Šøя"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP Š½Šµ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ Š³Š»ŃƒŠ±ŠøŠ½Ńƒ цŠ²ŠµŃ‚Š° Š² %d Š±Šøт Š½Š° цŠ²ŠµŃ‚"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Š£Š“Š°Š»Šøть Š¾ŠæŠøсŠ°Š½ŠøŠµ ŠæрŠøŠ½Ń‚ŠµŃ€Š°"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ фŠ°ŠŗсŠøŠ¼ŠøŠ»ŃŒŠ½Š¾Š³Š¾ ŠæŠ¾ŃŠ»Š°Š½Šøя"
+
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ ŠæŠ¾Ń‡Ń‚Š¾Š²Š¾Š³Š¾ сŠ¾Š¾Š±Ń‰ŠµŠ½Šøя"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "ŠŠµŠ²Š¾Š·Š¼Š¾Š¶Š½Š¾ сŠ¾Š·Š“Š°Ń‚ŃŒ Š²Ń€ŠµŠ¼ŠµŠ½Š½Ń‹Š¹ фŠ°Š¹Š» Š“Š»Ń ŠæрŠµŠ“Š²Š°Ń€ŠøтŠµŠ»ŃŒŠ½Š¾Š³Š¾ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½Šøя"
+#~ msgid "Enter name of multipage project"
+#~ msgstr "ŠŠ°Š·Š²Š°Š½ŠøŠµ Š¼Š½Š¾Š³Š¾ŃŃ‚Ń€Š°Š½ŠøчŠ½Š¾Š³Š¾ ŠæŠ¾Ń‡Ń‚Š¾Š²Š¾Š³Š¾ сŠ¾Š¾Š±Ń‰ŠµŠ½Šøя"
-#~ msgid "Could not create filenames for preview files"
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
#~ msgstr ""
-#~ "ŠŠµŠ²Š¾Š·Š¼Š¾Š¶Š½Š¾ сŠ³ŠµŠ½ŠµŃ€ŠøрŠ¾Š²Š°Ń‚ŃŒ Š½Š°Š·Š²Š°Š½ŠøŠµ фŠ°Š¹Š»Š° Š“Š»Ń ŠæрŠµŠ“Š²Š°Ń€ŠøтŠµŠ»ŃŒŠ½Š¾Š³Š¾ сŠŗŠ°Š½ŠøрŠ¾Š²Š°Š½Šøя"
+#~ "GIMP Š½Šµ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ Š³Š»ŃƒŠ±ŠøŠ½Ńƒ цŠ²ŠµŃ‚Š° Š² 16 Š±Šøт.\n"
+#~ "Š£Š¼ŠµŠ½ŃŒŃˆŠøть Š³Š»ŃƒŠ±ŠøŠ½Ńƒ Š“Š¾ 8 Š±Šøт Š½Š° цŠ²ŠµŃ‚?"
diff --git a/po/sk.gmo b/po/sk.gmo
index 74a4d0d..23600b1 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index e171c31..240f768 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: xsane\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2005-11-01 18:58+0100\n"
"Last-Translator: \n"
"Language-Team: <sk@li.org>\n"
@@ -36,6 +37,7 @@ msgid "About"
msgstr "O programe"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "O preklade"
@@ -75,6 +77,11 @@ msgstr "premenovaÅ„ dĆ”vkovĆŗ oblasÅ„"
msgid "fax project"
msgstr "faxovĆ½ projekt"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Vložte nĆ”zov faxovĆ©ho projektu"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "premenovaÅ„ faxovĆŗ strĆ”nku"
@@ -88,6 +95,11 @@ msgstr "vložiÅ„ ps-sĆŗbor do faxu"
msgid "E-mail project"
msgstr "poÅ”tovĆ½ projekt"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Vložte nĆ”zov poÅ”tovĆ©ho projektu"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -103,6 +115,11 @@ msgstr "vložiÅ„ obrĆ”zok do poÅ”ty"
msgid "multipage project"
msgstr "Zmazań projekt"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Zmazań projekt"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "premenovaÅ„ predvolanĆ” oblasÅ„"
@@ -148,6 +165,7 @@ msgid "Preview"
msgstr "NĆ”hľad"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Prehliadač"
@@ -180,14 +198,17 @@ msgid "select temporary directory"
msgstr "vybraÅ„ dočasnĆ½ priečinok"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Zmena veľkosti obrĆ”zku"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "VyčistiÅ„ obrĆ”zok"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "RozmazaÅ„ obrĆ”zok"
@@ -199,6 +220,35 @@ msgstr "UložiÅ„ definĆ­ciu mĆ©dia"
msgid "No devices available"
msgstr "Nie je dostupnĆ© žiadne zariadenie"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "zvoľte nĆ”zov pre vĆ½stupnĆ½ sĆŗbor"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "ZmazaÅ„ tlačiareň"
+
#. MENU_FILE
msgid "File"
msgstr "SĆŗbor"
@@ -216,6 +266,7 @@ msgid "Window"
msgstr "Okno"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "PomocnĆ­k"
@@ -231,6 +282,11 @@ msgstr "Filtre"
msgid "Geometry"
msgstr "Geometria"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "O XSane"
@@ -244,6 +300,7 @@ msgid "Quit"
msgstr "Koniec"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "UložiÅ„ obrĆ”zok"
@@ -260,6 +317,7 @@ msgid "Scale"
msgstr "Zmena veľkosti"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Zavrień"
@@ -453,11 +511,11 @@ msgstr "Varovanie o prepĆ­sanĆ­"
msgid "Skip existing filenames"
msgstr "PreskočiÅ„ existujĆŗce nĆ”zvy sĆŗborov"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -474,7 +532,8 @@ msgid "Main window size fixed"
msgstr "PevnĆ” veľkosÅ„ hlavnĆ©ho okna"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "ZakĆ”zaÅ„ pre gimp gama nĆ”hľad"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -497,6 +556,11 @@ msgstr "AutomatickĆ” korekcia farieb"
msgid "Use GUI progress pipe"
msgstr "PoužiÅ„ GUI rĆŗru postupu"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "hľadĆ”m zariadenia"
@@ -513,6 +577,12 @@ msgstr "Nastavenia XSane"
msgid "Type"
msgstr "Typ"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "CelofarebnĆ½ rozsah"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Skener a ovlĆ”dač:"
@@ -585,18 +655,11 @@ msgstr "8 bitovĆ© vĆ½stupnĆ© formĆ”ty:"
msgid "16 bit output formats:"
msgstr "16 bitovĆ© vĆ½stupnĆ© formĆ”ty:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"GIMP nepodporuje hÄŗbku 16 bitov/farba.\n"
-"Prajete si redukciu hÄŗbky na 8 bitov/farba?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"16 bitov na farbu nie je podporovanĆ½ch v tomto vĆ½stupnom formĆ”t.\n"
"Prajete si redukciu hÄŗbky na 8 bitov/farbu?"
@@ -633,6 +696,11 @@ msgstr "verzia:"
msgid "package"
msgstr "balĆ­k"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "CelofarebnĆ½ rozsah"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "s podporou GIMPu"
@@ -771,9 +839,10 @@ msgid "Medium Name:"
msgstr "NƔzov mƩdia:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"VeľkosÅ„ v bodoch: %d Ɨ %d, bitov/farbu: %d, farieb: %d, %1.0f dpi Ɨ %1.0f "
"dpi, %1.1f %s"
@@ -827,6 +896,7 @@ msgid "Name:"
msgstr "NƔzov:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "PrĆ­kaz:"
@@ -847,18 +917,22 @@ msgid "Color resolution (dpi):"
msgstr "FarebnĆ© rozlĆ­Å”enie (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Å Ć­rka"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "VĆ½Å”ka"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Posun zľava"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Posun zdola"
@@ -878,7 +952,17 @@ msgstr "ZelenĆ” gama tlačiarne:"
msgid "Printer gamma blue:"
msgstr "ModrĆ” gama tlačiarne:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1003,7 +1087,7 @@ msgstr "Å tandardnĆ© nastavenia programu pre:"
msgid "Viewer (Postscript):"
msgstr "Prehliadač (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1082,10 +1166,45 @@ msgstr "skupina"
msgid "all"
msgstr "vŔetko"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "VyhľadaÅ„ nĆ”zov sĆŗboru"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "novƩ mƩdium"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Ukladanie"
@@ -1095,14 +1214,17 @@ msgid "Filetype"
msgstr "SĆŗbor"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "KopĆ­rovanie"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Fax"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "Email"
@@ -1195,6 +1317,12 @@ msgstr "ZobraziÅ„ zoznam rozlĆ­Å”enĆ­"
msgid "Rotate postscript"
msgstr "Otočenie postscriptu"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "CelofarebnĆ½ rozsah"
+
# MENU_ITEM_EDIT_MEDIUM_DEF
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
@@ -1240,6 +1368,86 @@ msgstr "Tipy pre skenovanie"
msgid "Problems?"
msgstr "ProblƩmy?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Pridaj tlačiareň"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Pridaj tlačiareň"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Pridaj tlačiareň"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Pridaj tlačiareň"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "autorizƔcia"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "zƔpis"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Redukovań"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Rozostriń"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "neaktĆ­vny"
@@ -1359,6 +1567,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "AutomatickĆ” korekcia farieb"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Skenovanie"
@@ -1417,6 +1639,11 @@ msgstr "Rozostrovanie obrƔzka"
msgid "OCR in progress"
msgstr "VykonƔva sa OCR"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "AutomatickĆ” korekcia farieb"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Začań skenovanie <Ctrl-Enter>"
@@ -1476,8 +1703,9 @@ msgstr ""
"Typ formĆ”tu obrĆ”zku; vhodnĆ” koncovka je automaticky pridanĆ” k nĆ”zvu sĆŗboru."
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Vložte nĆ”zov faxovĆ©ho projektu"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "VyhľadaÅ„ pomocnĆ½ priečinok"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1487,10 +1715,15 @@ msgstr "Vložte novĆ½ nĆ”zov pre faxovĆŗ strĆ”nku"
msgid "Enter receiver phone number or address"
msgstr "Vložte telefĆ³nne čƭslo alebo adresu prĆ­jemcu"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "VyhľadaÅ„ pomocnĆ½ priečinok"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "Vložte nĆ”zov poÅ”tovĆ©ho projektu"
+msgid "Enter e-mail project directory name"
+msgstr "VyhľadaÅ„ pomocnĆ½ priečinok"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1502,6 +1735,11 @@ msgstr "Vložte novĆ½ nĆ”zov pre poÅ”tovĆ½ obrĆ”zok"
msgid "Enter e-mail address"
msgstr "Vložte emailovĆŗ adresu"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "VyhľadaÅ„ pomocnĆ½ priečinok"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1513,8 +1751,13 @@ msgstr "Vyberte si typ sĆŗboru pre obrĆ”zkovĆ© prĆ­lohy k e-mailom"
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "Vložte nĆ”zov poÅ”tovĆ©ho projektu"
+msgid "Enter multipage project directory name"
+msgstr "VyhľadaÅ„ pomocnĆ½ priečinok"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "VyhľadaÅ„ pomocnĆ½ priečinok"
#. DESC_MULTIPAGE_FILETYPE
#, fuzzy
@@ -1645,7 +1888,8 @@ msgstr ""
# DESC_ENH_AUTO
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "AutomatickƩ nastavenie gamy, jasu a kontrastu <Ctrl-e>"
# DESC_ENH_DEFAULT
@@ -1731,18 +1975,22 @@ msgstr ""
"RozlĆ­Å”enie, v ktorom budĆŗ farebnĆ© obrĆ”zky tlačenĆ© a uloženĆ© do postscriptu"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Å Ć­rka tlačiteľnej oblasti"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "VĆ½Å”ka tlačiteľnej oblasti"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Posun od ľavĆ©ho okraja papiera po tlačiteľnĆŗ oblasÅ„"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Posun od dolnĆ©ho okraja papiera po tlačiteľnĆŗ oblasÅ„"
@@ -1762,9 +2010,17 @@ msgstr "DodatočnĆ” gama hodnota pre zelenĆ½ komponent fotokĆ³pie"
msgid "Additional gamma value for blue component for photocopy"
msgstr "DodatočnĆ” gama hodnota pre modrĆ½ komponent fotokĆ³pie"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1824,14 +2080,14 @@ msgid ""
msgstr ""
"Ak počƭtadlo sĆŗborov automaticky zvĆ¤ÄÅ”ovanĆ½, použitĆ© čƭsla sĆŗ preskočenĆ©"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1847,7 +2103,9 @@ msgstr ""
"počtom programov, ale vytvĆ”ra skutočne veľkĆ© sĆŗbory!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Ak skener poÅ”le farebnĆ½ 16 bitovĆ½ obrĆ”zok, zapĆ­saÅ„ obrĆ”zok v bitoch/farbu"
@@ -1880,7 +2138,8 @@ msgstr ""
"veľkosńou"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "ZakĆ”zaÅ„ gama nĆ”hľad, keď je XSane spustenĆ© ako GIMP modul"
#. DESC_PREVIEW_COLORMAP
@@ -1975,6 +2234,15 @@ msgstr "Nastavenie skenovanej oblasti po dokončenĆ­ nĆ”hľadu"
msgid "Do color correction after preview scan has finished"
msgstr "Vykonanie farebnej korekcie po dokončenĆ­ nĆ”hľadu"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Nastavenie skenovanej oblasti po dokončenĆ­ nĆ”hľadu"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Nastavenie prĆ­kazu spĆŗŔńanĆ©ho vo faxovom režime"
@@ -2003,8 +2271,8 @@ msgstr "Nastavenie prĆ­kazu k zobrazeniu faxu"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "PoslaÅ„ fax s vysokĆ½m zvislĆ½m rozlĆ­Å”enĆ­m (196 lpi namiesto 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2088,9 +2356,10 @@ msgstr "čƭtanie"
msgid "write"
msgstr "zƔpis"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "spustenie"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "pouÅ¾Ć­vateľ"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2263,6 +2532,36 @@ msgstr "ZmazaÅ„ zvolenĆŗ oblasÅ„ z dĆ”vkovĆ©ho zoznamu"
msgid "Turns on automatic mode"
msgstr "Zapne automatickĆ½ režim"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "VyhľadaÅ„ nĆ”zov sĆŗboru"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "VyhľadaÅ„ nĆ”zov sĆŗboru"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "VyhľadaÅ„ nĆ”zov sĆŗboru"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "VyhľadaÅ„ nĆ”zov sĆŗboru"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "VyhľadaÅ„ nĆ”zov sĆŗboru"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "VyhľadaÅ„ nĆ”zov sĆŗboru"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Nepodarilo sa určiÅ„ domovskĆ½ priečinok:"
@@ -2315,11 +2614,6 @@ msgstr "Chyba počas ukladania:"
msgid "Can't handle depth"
msgstr "Nie je možnĆ© spracovaÅ„ hÄŗbku"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP nemĆ“Å¾e spracovaÅ„ hÄŗbku %d bitov/farbu"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "NeznĆ”my formĆ”t sĆŗboru pre ukladanie"
@@ -2553,10 +2847,68 @@ msgstr "SĆŗbor %s nie je postscriptovĆ½ sĆŗbor"
msgid "Unsupported %d-bit output format: %s"
msgstr "NepodporovanĆ½ %d-bitovĆ½ vĆ½stupnĆ½ formĆ”t: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Chyba počas ukladania:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Zlyhalo otvƔranie"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "VyhľadaÅ„ nĆ”zov sĆŗboru"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "ZmazaÅ„ tlačiareň"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Nie je možnĆ© vytvoriÅ„ dočasnĆ½ sĆŗbor"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "obrĆ”zok z prehliadača nie je uloženĆ½"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "ObrƔzok"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "UložiÅ„ dĆ”vkovĆ½ zoznam"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "UložiÅ„ nastavenie zariadenia pri ukončenĆ­"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "Nastavenia"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Použitie:"
@@ -2943,14 +3295,66 @@ msgstr "Mimo pamƤte"
msgid "Access to resource has been denied"
msgstr "PrĆ­stup k zdroju bol odmietnutĆ½"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Nie je možnĆ© vytvoriÅ„ dočasnĆ½ sĆŗbor"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "ZmazaÅ„ tlačiareň"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "ZmazaÅ„ tlačiareň"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "Nie je možnĆ© vytvoriÅ„ dočasnĆ© sĆŗbory pre nĆ”hľad"
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "ZmazaÅ„ tlačiareň"
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "Nie je možnĆ© vytvoriÅ„ nĆ”zvy sĆŗborov pre nĆ”hľad"
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "ZmazaÅ„ tlačiareň"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "ZmazaÅ„ tlačiareň"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "ZmazaÅ„ tlačiareň"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "VyhľadaÅ„ nĆ”zov sĆŗboru"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "VyhľadaÅ„ nĆ”zov sĆŗboru"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP nemĆ“Å¾e spracovaÅ„ hÄŗbku %d bitov/farbu"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "ZmazaÅ„ tlačiareň"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "ZmazaÅ„ tlačiareň"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Vložte nĆ”zov faxovĆ©ho projektu"
+
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Vložte nĆ”zov poÅ”tovĆ©ho projektu"
+
+#, fuzzy
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Vložte nĆ”zov poÅ”tovĆ©ho projektu"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "GIMP nepodporuje hÄŗbku 16 bitov/farba.\n"
+#~ "Prajete si redukciu hÄŗbky na 8 bitov/farba?"
#, fuzzy
#~ msgid "POP3 authentication"
@@ -3012,9 +3416,6 @@ msgstr "PrĆ­stup k zdroju bol odmietnutĆ½"
#~ msgid "Multipage saving aborted"
#~ msgstr "E-mailovĆ½ projekt vytvorenĆ½"
-#~ msgid "Image"
-#~ msgstr "ObrƔzok"
-
#~ msgid "Viewer (png):"
#~ msgstr "Prehliadač (png):"
diff --git a/po/sl.gmo b/po/sl.gmo
index f676a52..e668583 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index f4c3629..2875b8c 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,8 @@
msgid ""
msgstr ""
"Project-Id-Version: xsane\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2006-01-02 17:48+0100\n"
"Last-Translator: DuŔan Vejnovič <dusan@vejnovic.com>\n"
"Language-Team: slovenŔčina <sl@li.org>\n"
@@ -36,6 +37,7 @@ msgid "About"
msgstr "O programu"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "O prevodu"
@@ -75,6 +77,11 @@ msgstr "preimenuj paketno področje"
msgid "fax project"
msgstr "faks projekt"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Vnesite ime projekta za faks"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "preimenuj stran s faksom"
@@ -87,6 +94,11 @@ msgstr "vstavi ps-datoteko v faks"
msgid "E-mail project"
msgstr "E-poŔtni projekt"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Vnesite ime projekta za e-poŔto"
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr "preimenuj e-poŔtno sliko"
@@ -99,6 +111,11 @@ msgstr "vstavi datoteko v e-poŔto"
msgid "multipage project"
msgstr "večstranski projekt"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "večstranski projekt"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "preimenuj prednastavljeno območje"
@@ -144,6 +161,7 @@ msgid "Preview"
msgstr "Predogled"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Pregledovalnik"
@@ -176,14 +194,17 @@ msgid "select temporary directory"
msgstr "izberi začasni imenik"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Skaliraj sliko"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Odstrani packe iz slike"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Zamegli sliko"
@@ -195,6 +216,35 @@ msgstr "Shrani izbiro medija"
msgid "No devices available"
msgstr "Na voljo ni nobene naprave"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Odstrani tiskalnik"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Odstrani tiskalnik"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "izberi ime izhodne datoteke"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Odstrani tiskalnik"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Odstrani tiskalnik"
+
#. MENU_FILE
msgid "File"
msgstr "Datoteka"
@@ -212,6 +262,7 @@ msgid "Window"
msgstr "Okno"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Pomoč"
@@ -227,6 +278,11 @@ msgstr "Filtri"
msgid "Geometry"
msgstr "Goemetrija"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "O programu XSane"
@@ -240,6 +296,7 @@ msgid "Quit"
msgstr "Izhod"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Shrani slika"
@@ -256,6 +313,7 @@ msgid "Scale"
msgstr "Skaliraj"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Zapri"
@@ -447,11 +505,11 @@ msgstr "PrepiŔi opozorilo"
msgid "Skip existing filenames"
msgstr "Preskoči obstoječa imena datotek"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr "Shrani postscript stisnjen z zlib (ps stopnja 3)"
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr "Shrani PDF stisnjen z zlib"
@@ -468,7 +526,8 @@ msgid "Main window size fixed"
msgstr "Fiksiraj velikost glavnega okna"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Onemogoči faktor gama pri predogledu v gimpu"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -491,6 +550,11 @@ msgstr "Avtomatska korekcija barv"
msgid "Use GUI progress pipe"
msgstr "Uporabi GUI cevovod napredka"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "iskanje naprav"
@@ -507,6 +571,12 @@ msgstr "Izbire XSane"
msgid "Type"
msgstr "Tip"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Celotno barvno območje"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Skener in program ozadju:"
@@ -579,18 +649,11 @@ msgstr "8-bitni izhodni formati:"
msgid "16 bit output formats:"
msgstr "16-bitni izhodni formati:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp ne podpira 16 bitno barvno globino.<br>Ali želite zmanjŔati barvno "
-"globino na 8 bitov?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"16 bitna barvna globina ni podprta za ta izhodni format.<br>Ali želite "
"zmanjŔati barvno globino na 8 bitov?"
@@ -627,6 +690,11 @@ msgstr "različica:"
msgid "package"
msgstr "paket"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Celotno barvno območje"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "s podporo za GIMP"
@@ -757,9 +825,10 @@ msgid "Medium Name:"
msgstr "Ime mdeija:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Velikost %d x %d pikslov, %d bitov/barvo, %d barv, %1.0f dpi x %1.0f dpi, %"
"1.1f %s"
@@ -813,6 +882,7 @@ msgid "Name:"
msgstr "Ime:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Ukaz:"
@@ -833,18 +903,22 @@ msgid "Color resolution (dpi):"
msgstr "Barvna ločljivost (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Å irina"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "ViŔina"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Levi odmik"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Odmik spodaj"
@@ -864,7 +938,17 @@ msgstr "Gama zelena za tiskalnik:"
msgid "Printer gamma blue:"
msgstr "Gama modra za tiskalnik:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Odstrani tiskalnik"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Odstrani tiskalnik"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Ustvari stisnjeno postscriptno sliko z zlib (ps stopnja 3) za tiskanje"
@@ -988,7 +1072,7 @@ msgstr "Nastavi privzete nastavitve programa za:"
msgid "Viewer (Postscript):"
msgstr "Ogledovalnik (postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr "Ustvari stisnjeno postscriptno sliko z zlib (ps stopnja 3) za faks"
@@ -1064,10 +1148,45 @@ msgstr "skupina"
msgid "all"
msgstr "vsi"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Odstrani tiskalnik"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Odstrani tiskalnik"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Odstrani tiskalnik"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "IŔči slike po imenih datotek"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "novi medij"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Shrani"
@@ -1076,14 +1195,17 @@ msgid "Filetype"
msgstr "Tip datoteke"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Kopiraj"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Faks"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr "E-poŔta:"
@@ -1175,6 +1297,12 @@ msgstr "Prikaži seznam ločljivosti"
msgid "Rotate postscript"
msgstr "Rotiraj postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Celotno barvno območje"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Uredi izbire za medij"
@@ -1219,6 +1347,86 @@ msgstr "Namigi za skeniranje"
msgid "Problems?"
msgstr "Težave?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Dodaj tiskalnik"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Dodaj tiskalnik"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Dodaj tiskalnik"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Dodaj tiskalnik"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "avtorizacija"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "zapiŔi"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "ZmanjŔaj"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Zamegli"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "nedejaven"
@@ -1335,6 +1543,20 @@ msgstr "ASMTP prijava"
msgid "ASMTP CRAM-MD5"
msgstr "ASMTP CRAM-MD5"
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Odstrani tiskalnik"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Avtomatska korekcija barv"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Skeniram"
@@ -1392,6 +1614,11 @@ msgstr "Zamegli sliko"
msgid "OCR in progress"
msgstr "OCR napredek"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Avtomatska korekcija barv"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Začni skeniranje <Ctrl-Enter>"
@@ -1451,8 +1678,9 @@ msgstr ""
"končnico"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Vnesite ime projekta za faks"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Prebrskaj začasni imenik"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1462,9 +1690,15 @@ msgstr "Vnesite novo ime za stran s faksom"
msgid "Enter receiver phone number or address"
msgstr "Vnesite telefonsko Ŕtevilko ali naslov prejemnika"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Prebrskaj začasni imenik"
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
-msgstr "Vnesite ime projekta za e-poŔto"
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "Prebrskaj začasni imenik"
#. DESC_EMAIL_IMAGENAME
msgid "Enter new name for e-mail image"
@@ -1474,6 +1708,11 @@ msgstr "Vnesite novo ime za sliko e-poŔte"
msgid "Enter e-mail address"
msgstr "Vnesite naslov e-poŔte"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Prebrskaj začasni imenik"
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr "Vnesite zadevo e-poŔte"
@@ -1483,8 +1722,14 @@ msgid "Select filetype for image attachments"
msgstr "Izberite tip datoteke za priponko slike"
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
-msgstr "Vnesite ime večstranskega projekta"
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "Prebrskaj začasni imenik"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Prebrskaj začasni imenik"
#. DESC_MULTIPAGE_FILETYPE
msgid "Select filetype for multipage file"
@@ -1609,7 +1854,8 @@ msgstr ""
" kontrast = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Samonastavi vrednost gama, svetlost in kontrasta <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1688,18 +1934,22 @@ msgid "Resolution with which color images are printed and saved in postscript"
msgstr "Ločljivost, v kateri natisnemo in shranimo barvne slike v postskriptu"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Širina območja za tiskanje"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "ViŔina območja za tiskanje"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Razdalja od levega roba papirja do območja za tiskanje"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Razdalja od spodnjega roba papirja do območja za tiskanje"
@@ -1719,9 +1969,18 @@ msgstr "Dodatna vrednost gama za zeleno komponento pri fotokopiranju"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Dodatna vrednost gama za modro komponento pri fotokopiranju"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
"Ustvari stisnjeno postscriptno sliko z zlib za tiskalnik.\n"
@@ -1781,16 +2040,18 @@ msgstr ""
"Če je Å”tevec imena datoteke samodejno povečan, se uporabljene Å”tevilke "
"preskočijo"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
"stiskanje postscriptne slike z zlib algoritmom. Če želite tiskati takÅ”no "
"datoteko, mora vaÅ” tiskalnik razumeti postscript stopnjo 3"
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+#, fuzzy
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr "stiskanje PDFslike z zlib algoritmom."
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1806,7 +2067,9 @@ msgstr ""
"zelo velika datoteka!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr "Če skener poÅ”ilja sliko z 16 bitov/barvo, shrani sliko z 8 bitov/barvo"
#. DESC_PSFILE_WIDTH
@@ -1836,7 +2099,8 @@ msgid "Use fixed main window size or scrolled, resizable main window"
msgstr "Uporabi glavno okno s stalno ali spremenljivo velikostjo."
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "Onemogoči predogled gama, ko X Sane teče kot vstavek za gimp"
#. DESC_PREVIEW_COLORMAP
@@ -1931,6 +2195,15 @@ msgstr "Izberi področje skeniranja, potem ko je predogled skeniranja zaključen
msgid "Do color correction after preview scan has finished"
msgstr "Izvedi korekcijo barv, potem ko je predogled skeniranja zaključen"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Izberi področje skeniranja, potem ko je predogled skeniranja zaključen"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Podajte ukaz, ki naj bo izveden v faks načinu"
@@ -1959,8 +2232,9 @@ msgstr "Podajte ukaz, ki naj bo izveden za prikaz faksa"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "PoŔlji faks z visoko vertikalno ločljivostjo (196 lpi namesto 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+#, fuzzy
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr "Ustvari stisnjeno postscriptno sliko z zlib za faks"
#. DESC_SMTP_SERVER
@@ -2037,9 +2311,10 @@ msgstr "preberi"
msgid "write"
msgstr "zapiŔi"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "izvedi"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "uporabnik"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2208,6 +2483,36 @@ msgstr "IzbriŔi izbrani predogled iz paketnega seznama"
msgid "Turns on automatic mode"
msgstr "Vključi avtomatski način"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "IŔči slike po imenih datotek"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "IŔči slike po imenih datotek"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "IŔči slike po imenih datotek"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "IŔči slike po imenih datotek"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "IŔči slike po imenih datotek"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "IŔči slike po imenih datotek"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Napaka pri določitvi domačega imenika:"
@@ -2260,11 +2565,6 @@ msgstr "Napaka pri shranjevanju:"
msgid "Can't handle depth"
msgstr "Napaka pri ravnanju z globino"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP ne more ravnati z globino %d bitov/barvo"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Neznan datotečni format za shranjevanje"
@@ -2497,10 +2797,68 @@ msgstr "Datoteka %s ni postscript datoteka"
msgid "Unsupported %d-bit output format: %s"
msgstr "Nepodprti %d-bitni izhodni format zapisa: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Napaka pri shranjevanju:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Napaka pri odpiranju"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Odstrani tiskalnik"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "IŔči slike po imenih datotek"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Odstrani tiskalnik"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Ne morem ustvariti začasno datoteko"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "slika predogleda ni shranjena"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Strani:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Shrani paketni seznam"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Shrani nastavitve naprave ob izhodu"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "Nastavitve"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Uporaba:"
@@ -2874,11 +3232,61 @@ msgstr "Zmanjkalo je pomnilnika"
msgid "Access to resource has been denied"
msgstr "Dostop do vira je bil zavrnjen"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Ne morem ustvariti začasno datoteko"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Odstrani tiskalnik"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Odstrani tiskalnik"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Odstrani tiskalnik"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Odstrani tiskalnik"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Odstrani tiskalnik"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Odstrani tiskalnik"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "IŔči slike po imenih datotek"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "IŔči slike po imenih datotek"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP ne more ravnati z globino %d bitov/barvo"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Odstrani tiskalnik"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Odstrani tiskalnik"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Vnesite ime projekta za faks"
+
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Vnesite ime projekta za e-poŔto"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "Ne morem ustvariti začasnih datotek predogleda"
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Vnesite ime večstranskega projekta"
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "Ne morem ustvariti imen datotek za datoteke predogledov"
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp ne podpira 16 bitno barvno globino.<br>Ali želite zmanjŔati barvno "
+#~ "globino na 8 bitov?"
diff --git a/po/sr.gmo b/po/sr.gmo
index 7686b4e..5344ce9 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index ac3e4b1..c44a9de 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -6,7 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.76\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2002-01-17 00:47GMT\n"
"Last-Translator: Rusmir DuŔko <drusmir@gmx.ch>\n"
"Language-Team: srpski <sr@li.org>\n"
@@ -34,6 +35,7 @@ msgid "About"
msgstr "O programu"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "O prevodu"
@@ -74,6 +76,11 @@ msgstr "IzbriŔi stranu"
msgid "fax project"
msgstr "Faks"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Unesi ime projekta za faks"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "preimenuj stranu sa faksom"
@@ -87,6 +94,11 @@ msgstr "unesi ps-fajl u faks"
msgid "E-mail project"
msgstr "e-poŔta"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Unesi ime projekta za E-poŔtu"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -102,6 +114,11 @@ msgstr "unesi sliku u e-poŔtu"
msgid "multipage project"
msgstr "IzbriŔi projekat"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "IzbriŔi projekat"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "preimenuj prepodeŔavanja"
@@ -150,6 +167,7 @@ msgid "Preview"
msgstr "Pregled"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Prikazivač"
@@ -182,14 +200,17 @@ msgid "select temporary directory"
msgstr "Izaberi privremeni direktorijum"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Skaliraj sliku"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Odstrani fleke"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Zamagli sliku"
@@ -203,6 +224,35 @@ msgstr "Preimenuj definiciju"
msgid "No devices available"
msgstr "Nijedan uređaj nije dostupan"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Odstrani Ŕtampač"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Odstrani Ŕtampač"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "Odredi izlazni naziv fajla"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Odstrani Ŕtampač"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Odstrani Ŕtampač"
+
#. MENU_FILE
msgid "File"
msgstr "Fajl"
@@ -220,6 +270,7 @@ msgid "Window"
msgstr ""
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Pomoć"
@@ -235,6 +286,11 @@ msgstr "Filteri"
msgid "Geometry"
msgstr ""
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "O programu XSane"
@@ -248,6 +304,7 @@ msgid "Quit"
msgstr "Izlaz"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Zapamti sliku"
@@ -264,6 +321,7 @@ msgid "Scale"
msgstr "Promeni veličinu"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Zatvori"
@@ -465,11 +523,11 @@ msgstr "PrepiŔi upozorenje"
msgid "Skip existing filenames"
msgstr "Preskoči postojeće nazive fajli"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -486,7 +544,8 @@ msgid "Main window size fixed"
msgstr "Veličina glavnog prozora je postavljena"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Onemogući gama pri pregledu u gimpu"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -509,6 +568,11 @@ msgstr "Autokorektura boja"
msgid "Use GUI progress pipe"
msgstr ""
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "Skeniranje uređaja"
@@ -525,6 +589,12 @@ msgstr "XSane opcije"
msgid "Type"
msgstr "Vrsta"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "pun opseg"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Skener i backend"
@@ -597,18 +667,11 @@ msgstr "8-bitni izlazni formati:"
msgid "16 bit output formats:"
msgstr "16-bitni izlazni formati:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp ne podržava dubinu 16 bit-a u boji.\n"
-"Da li želite da smanjite dubinu na 8 bit-a u boji?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"Dubina 16 bit-a u boji nije podržana za ovaj format.\n"
"Da li želite da smanjite dubinu na 8 bit-a u boji?"
@@ -645,6 +708,11 @@ msgstr "Verzija:"
msgid "package"
msgstr "paket"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "pun opseg"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "sa podrŔkom GIMP-a"
@@ -762,9 +830,10 @@ msgid "Medium Name:"
msgstr ""
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Veličina %d x %d piksxel, %d bit/boji, %d boja, %1.0f dpi x %1.0f dpi, %1.1f "
"%s"
@@ -825,6 +894,7 @@ msgid "Name:"
msgstr "Ime:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Komanda:"
@@ -845,18 +915,22 @@ msgid "Color resolution (dpi):"
msgstr "Rezolucija u boji (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Å irina"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Visina"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Leva ivica"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Donja ivica"
@@ -876,7 +950,17 @@ msgstr "Vrednost gama zelene boje za Ŕtampač:"
msgid "Printer gamma blue:"
msgstr "Vrednost gama plave boje za Ŕtampač:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Odstrani Ŕtampač"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Odstrani Ŕtampač"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1002,7 +1086,7 @@ msgstr ""
msgid "Viewer (Postscript):"
msgstr "Prikazivač (postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1082,10 +1166,45 @@ msgstr "grupa"
msgid "all"
msgstr "svi"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Odstrani Ŕtampač"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Odstrani Ŕtampač"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Odstrani Ŕtampač"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Traži slike po nazivima fajla"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr ""
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Sačuvaj"
@@ -1095,14 +1214,17 @@ msgid "Filetype"
msgstr "Fajl"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Kopiraj"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Faks"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "E-poŔta:"
@@ -1196,6 +1318,12 @@ msgstr "Prikaži listu rezolucija"
msgid "Rotate postscript"
msgstr "Rotiraj postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "pun opseg"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
#, fuzzy
msgid "Edit medium definition"
@@ -1241,6 +1369,86 @@ msgstr "Saveti za skeniranje"
msgid "Problems?"
msgstr "Problemi?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Dodaj Ŕtampač"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Dodaj Ŕtampač"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Dodaj Ŕtampač"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Dodaj Ŕtampač"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "autorizacija"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "pisati"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Smanji"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "zamagli"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "neaktivno"
@@ -1365,6 +1573,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Odstrani Ŕtampač"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Autokorektura boja"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Skeniranje"
@@ -1423,6 +1645,11 @@ msgstr "Zamagljavam sliku"
msgid "OCR in progress"
msgstr ""
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Autokorektura boja"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Startaj skeniranje <Ctrl-Enter>"
@@ -1474,8 +1701,9 @@ msgstr ""
"Način zapisa; odgovarajući nastavak se automatski dodaje na naziv fajla"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Unesi ime projekta za faks"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Pretraži privremeni direktorijum"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1485,10 +1713,15 @@ msgstr "Unesi novo ime za stranu sa faksom"
msgid "Enter receiver phone number or address"
msgstr "Unesi telefonski broj ili adresu prijemnika"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Pretraži privremeni direktorijum"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "Unesi ime projekta za E-poŔtu"
+msgid "Enter e-mail project directory name"
+msgstr "Pretraži privremeni direktorijum"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1500,6 +1733,11 @@ msgstr "Unesi novo ime za sliku u E-poŔti"
msgid "Enter e-mail address"
msgstr "Unesi email adresu"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Pretraži privremeni direktorijum"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1511,8 +1749,13 @@ msgstr ""
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "Unesi ime projekta za E-poŔtu"
+msgid "Enter multipage project directory name"
+msgstr "Pretraži privremeni direktorijum"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Pretraži privremeni direktorijum"
#. DESC_MULTIPAGE_FILETYPE
#, fuzzy
@@ -1644,7 +1887,7 @@ msgstr ""
#. DESC_ENH_AUTO
#, fuzzy
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "AutopodeŔavanje vrednosti gama, osvetljenja i kontrasta <Shift-e>"
#. DESC_ENH_DEFAULT
@@ -1725,18 +1968,22 @@ msgid "Resolution with which color images are printed and saved in postscript"
msgstr "Rezolucija, u kojoj se slike u boji Ŕtampaju i pamte u postscriptu"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Širina povrŔine za Ŕtampanje"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Visina povrŔine za Ŕtampanje"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Razmak od levog ruba papira do početka povrŔine za Ŕtampanje"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Razmak od donjeg ruba papira do početka povrŔine za Ŕtampanje"
@@ -1756,9 +2003,17 @@ msgstr "Dodatna vrednost gama za zelenu boju pri fotokopiranju"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Dodatna vrednost gama za plavu boju pri fotokopiranju"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1819,14 +2074,14 @@ msgstr ""
"Ako je brojač naziva fajle automatski povećan, postojeći brojevi se "
"automatski preskaču"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1838,7 +2093,9 @@ msgid ""
msgstr ""
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Ako skener Ŕalje sliku sa 16 bit-a u boji pamti sliku sa 8 bit-a u boji"
@@ -1867,7 +2124,8 @@ msgid "Use fixed main window size or scrolled, resizable main window"
msgstr "Upotrebi fiksiranu ili promenljivu glavnu stranu"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "Onemogući pregled gama, ako se Xsane upotrebljava kao uložak za Gimp"
#. DESC_PREVIEW_COLORMAP
@@ -1957,6 +2215,15 @@ msgstr "Izaberi povrŔinu za skeniranje posle zavrŔetka pregleda"
msgid "Do color correction after preview scan has finished"
msgstr "Uradi korekciju boje posle zavrŔetka pregleda"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Izaberi povrŔinu za skeniranje posle zavrŔetka pregleda"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Dajte komandu koja je potrebna za slanje faksa"
@@ -1985,8 +2252,8 @@ msgstr "Komanda za prikazivanje faksa"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "Å alji faks u visokoj rezoluciji po osi y (196 lpi umesto 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2069,9 +2336,10 @@ msgstr "čitati"
msgid "write"
msgstr "pisati"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "izvesti"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "korisnik"
#. DESC_ADD_BATCH
#, fuzzy
@@ -2248,6 +2516,36 @@ msgstr ""
msgid "Turns on automatic mode"
msgstr ""
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Traži slike po nazivima fajla"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Traži slike po nazivima fajla"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Traži slike po nazivima fajla"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Traži slike po nazivima fajla"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Traži slike po nazivima fajla"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Traži slike po nazivima fajla"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Neuspelo učitavanje korisničkog direktorijuma:"
@@ -2300,11 +2598,6 @@ msgstr "GreÅ”ka pri pamćenju:"
msgid "Can't handle depth"
msgstr "Nepodržana dubina bita"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP ne može podržati dubinu od %d bit-a u boji"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Nepoznat naziv fajla za pamćenje"
@@ -2540,10 +2833,68 @@ msgstr "Fajl %s nije postcript"
msgid "Unsupported %d-bit output format: %s"
msgstr "Nepodržani %d- bitni izlazni format %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "GreÅ”ka pri pamćenju:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "GreŔka pri otvaranju"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Odstrani Ŕtampač"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Traži slike po nazivima fajla"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Odstrani Ŕtampač"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Ne mogu da napravim privremeni fajl"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "Slika prikazivača nije zapamćena"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Slika"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Saveti za skeniranje"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Zapamti podeÅ”avanja uređaja pri izlazu"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "PodeŔavanja"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Upotreba:"
@@ -2925,14 +3276,66 @@ msgstr "Nedostatak memorije"
msgid "Access to resource has been denied"
msgstr "Dostup do resursa nije dozvoljen"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Ne mogu da napravim privremeni fajl"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Odstrani Ŕtampač"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Odstrani Ŕtampač"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Odstrani Ŕtampač"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "Ne mogu da napravim privremeni fajl za pregled"
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Odstrani Ŕtampač"
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "Ne mogu da napravim naziv fajla za fajlove za pregled"
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Odstrani Ŕtampač"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Odstrani Ŕtampač"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Traži slike po nazivima fajla"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Traži slike po nazivima fajla"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP ne može podržati dubinu od %d bit-a u boji"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Odstrani Ŕtampač"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Odstrani Ŕtampač"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Unesi ime projekta za faks"
+
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Unesi ime projekta za E-poŔtu"
+
+#, fuzzy
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Unesi ime projekta za E-poŔtu"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp ne podržava dubinu 16 bit-a u boji.\n"
+#~ "Da li želite da smanjite dubinu na 8 bit-a u boji?"
#, fuzzy
#~ msgid "POP3 authentication"
@@ -2994,9 +3397,6 @@ msgstr "Dostup do resursa nije dozvoljen"
#~ msgid "Multipage saving aborted"
#~ msgstr "čitati"
-#~ msgid "Image"
-#~ msgstr "Slika"
-
#~ msgid "Viewer (png):"
#~ msgstr "Prikazivač (png):"
diff --git a/po/sv.gmo b/po/sv.gmo
index 6e28084..eaef125 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index bdb2c50..45cc9b0 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -5,7 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.92\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2003-08-03 14:12+01:00\n"
"Last-Translator: Johan Bengtsson <jb@goteborg.bostream.se>\n"
"Language-Team: LANGUAGE <sv@li.org>\n"
@@ -32,6 +33,7 @@ msgid "About"
msgstr "Om"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Om ƶversƤttningen"
@@ -71,6 +73,11 @@ msgstr "byt namn pƄ massinlƤsningsomrƄde"
msgid "fax project"
msgstr "faxprojekt"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Skriv in namn fƶr faxprojekt"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "byt namn pƄ faxsida"
@@ -84,6 +91,11 @@ msgstr "infoga ps-fil i fax"
msgid "E-mail project"
msgstr "brevprojekt"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Skriv in namn fƶr brevprojekt"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -99,6 +111,11 @@ msgstr "infoga fil i brev"
msgid "multipage project"
msgstr "Ta bort projekt"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Ta bort projekt"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "byt namn pƄ det fƶrinstƤllda omrƄdet"
@@ -147,6 +164,7 @@ msgid "Preview"
msgstr "Fƶrhandsgranskning"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Visare"
@@ -179,14 +197,17 @@ msgid "select temporary directory"
msgstr "vƤlj temporƤr katalog"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Skala bild"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Damma av bild"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Sudda till bild"
@@ -198,6 +219,35 @@ msgstr "Lagra mediedefinition"
msgid "No devices available"
msgstr "Inga enheter tillgƤngliga"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Ta bort skrivare"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Ta bort skrivare"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "till filnamn"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Ta bort skrivare"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Ta bort skrivare"
+
#. MENU_FILE
msgid "File"
msgstr "Arkiv"
@@ -215,6 +265,7 @@ msgid "Window"
msgstr ""
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "HjƤlp"
@@ -230,6 +281,11 @@ msgstr "Filter"
msgid "Geometry"
msgstr ""
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Om XSane"
@@ -243,6 +299,7 @@ msgid "Quit"
msgstr "Avsluta"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Spara bild"
@@ -259,6 +316,7 @@ msgid "Scale"
msgstr "Skala"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "StƤng"
@@ -457,11 +515,11 @@ msgstr "Ɩverskriftsvarning"
msgid "Skip existing filenames"
msgstr "Hoppa ƶver existerande filnamn"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -478,7 +536,8 @@ msgid "Main window size fixed"
msgstr "Fixerad storlek pƄ huvudfƶnster"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Koppla bort fƶrhandsgranskningsgamma"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -501,6 +560,11 @@ msgstr "Autokorrigera fƤrger"
msgid "Use GUI progress pipe"
msgstr "AnvƤnd GUI statuslinje"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "Letar efter enheter..."
@@ -517,6 +581,12 @@ msgstr "XSane-instƤllningar"
msgid "Type"
msgstr "Typ"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Fullt fƤrgomfƄng"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "BildlƤsare och drivrutin:"
@@ -589,18 +659,11 @@ msgstr "8 bits utmatningsformat:"
msgid "16 bit output formats:"
msgstr "16 bits utmatningsformat:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp stƶder inte 16 bits fƤrgdjup. \n"
-"Vill du reducera till 8 bits fƤrgdjup?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"16 bits fƤrgdjup stƶds inte fƶr detta utmatnings format.\n"
"Vill du reducera till 8 bits fƤrgdjup?"
@@ -637,6 +700,11 @@ msgstr "version:"
msgid "package"
msgstr "paket"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Fullt fƤrgomfƄng"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "med GIMP-support"
@@ -772,9 +840,10 @@ msgid "Medium Name:"
msgstr "Namn pƄ medium:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Storlek %d x %d pixlar, %d bit/fƤrg, %d fƤrger, %1.0f dpi x %1.0f dpi, %1.1f "
"%s"
@@ -828,6 +897,7 @@ msgid "Name:"
msgstr "Namn:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Kommando:"
@@ -848,18 +918,22 @@ msgid "Color resolution (dpi):"
msgstr "Upplƶsning i fƤrglƤge (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Bredd"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Hƶjd"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "VƤnster marginal"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Marginal frƄn botten"
@@ -879,7 +953,17 @@ msgstr "Skrivargamma grƶn:"
msgid "Printer gamma blue:"
msgstr "Skrivargamma blƄ:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Ta bort skrivare"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Ta bort skrivare"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1004,7 +1088,7 @@ msgstr "SƤtt standardinstƤllningar fƶr:"
msgid "Viewer (Postscript):"
msgstr "Visare (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1083,10 +1167,45 @@ msgstr "grupp"
msgid "all"
msgstr "alla"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Ta bort skrivare"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Ta bort skrivare"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Ta bort skrivare"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "BlƤddra efter filnamn"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr ""
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Spara"
@@ -1096,14 +1215,17 @@ msgid "Filetype"
msgstr "Arkiv"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Kopiera"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Faxa"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "Epost"
@@ -1196,6 +1318,12 @@ msgstr "Visa upplƶsningslista"
msgid "Rotate postscript"
msgstr "Rotera postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Fullt fƤrgomfƄng"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Ƅndra mediedefinition"
@@ -1240,6 +1368,86 @@ msgstr "BildinlƤsningstips"
msgid "Problems?"
msgstr "Problem?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "LƤgg till skrivare"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "LƤgg till skrivare"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "LƤgg till skrivare"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "LƤgg till skrivare"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "auktorisering"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "skriv"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Reducera"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Sudda till"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "inaktiv"
@@ -1363,6 +1571,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Ta bort skrivare"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Autokorrigera fƤrger"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "LƤser in"
@@ -1421,6 +1643,11 @@ msgstr "Sudda till bild"
msgid "OCR in progress"
msgstr "OCR pƄgƄr"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Autokorrigera fƤrger"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Starta inlƤsning <Ctrl-Enter>"
@@ -1475,8 +1702,9 @@ msgstr ""
"Typ av bildformat, den passande filƤndelsen lƤggs automatiskt till filnamnet"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Skriv in namn fƶr faxprojekt"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "BlƤddra efter temporƤr katalog"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1486,10 +1714,15 @@ msgstr "Skriv in nytt namn fƶr faxsida"
msgid "Enter receiver phone number or address"
msgstr "Skriv in mottagarens telefonnummer eller adress"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "BlƤddra efter temporƤr katalog"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "Skriv in namn fƶr brevprojekt"
+msgid "Enter e-mail project directory name"
+msgstr "BlƤddra efter temporƤr katalog"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1501,6 +1734,11 @@ msgstr "Skriv in nytt namn fƶr brevbild"
msgid "Enter e-mail address"
msgstr "Skriv in epost adress"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "BlƤddra efter temporƤr katalog"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1512,8 +1750,13 @@ msgstr ""
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "Skriv in namn fƶr brevprojekt"
+msgid "Enter multipage project directory name"
+msgstr "BlƤddra efter temporƤr katalog"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "BlƤddra efter temporƤr katalog"
#. DESC_MULTIPAGE_FILETYPE
#, fuzzy
@@ -1641,7 +1884,8 @@ msgstr ""
" kontrast = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Autojustera gamma, ljus och kontrast <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1721,19 +1965,23 @@ msgid "Resolution with which color images are printed and saved in postscript"
msgstr "Upplƶsning med vilken fƤrgbilder skrivs ut och sparas i postscript"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Utskriftsbara omrƄdets bredd"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Utskriftsbara omrƄdets hƶjd"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr ""
"Marginal frƄn den vƤnstra sidan av pappret till det utskrivbara omrƄdet"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Marginal frƄn botten av pappret till det utskrivbara omrƄdet"
@@ -1753,9 +2001,17 @@ msgstr "Extra gammavƤrde fƶr den grƶna komponeneten vid fotokopiering"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Extra gammavƤrde fƶr den blƄa komponeneten vid fotokopiering"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1812,14 +2068,14 @@ msgid ""
msgstr ""
"Om filnamnsrƤknaren automatiskt uppdateras, sƄ hoppas anvƤnda nummer ƶver"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1835,7 +2091,9 @@ msgstr ""
"producerar vƤldigt stora filer!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr "Spara bild med 8/bits fƤrg om bildlƤsare skickar bild med 16 bits/fƤrg"
#. DESC_PSFILE_WIDTH
@@ -1869,7 +2127,8 @@ msgstr ""
"variabel storlek"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr ""
"Koppla bort fƶrhandsgranskningsgamma nƤr XSane kƶrs som gimp insticksprogram"
@@ -1971,6 +2230,15 @@ msgstr "VƤlj inlƤsningsomrƄde efter fƶrhandsgranskningen Ƥr klar"
msgid "Do color correction after preview scan has finished"
msgstr "Gƶr fƤrgkorrigering efter fƶrhansgranskingen Ƥr klar"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "VƤlj inlƤsningsomrƄde efter fƶrhandsgranskningen Ƥr klar"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Kommando som skall kƶras i fax lƤge"
@@ -1999,8 +2267,8 @@ msgstr "Kommando som kƶrs fƶr att visa ett fax"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "Skicka fax med hƶg vertikal upplƶsning (196 lpi istƤllet fƶr 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2082,9 +2350,10 @@ msgstr "lƤs"
msgid "write"
msgstr "skriv"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "exekvera"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "anvƤndare"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2251,6 +2520,36 @@ msgstr "Ta bort det makerade omrƄdet frƄm massinlƤsningslistan"
msgid "Turns on automatic mode"
msgstr "Aktiverar automatlƤge"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "BlƤddra efter filnamn"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "BlƤddra efter filnamn"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "BlƤddra efter filnamn"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "BlƤddra efter filnamn"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "BlƤddra efter filnamn"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "BlƤddra efter filnamn"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Kunde inte hitta hemkatalogen:"
@@ -2303,11 +2602,6 @@ msgstr "Fel under spararande:"
msgid "Can't handle depth"
msgstr "Kan inte hantera bilddjup"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP kan inte hantera bilddjup med %d bits/fƤrg"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Kan inte spara i det hƤr filformatet"
@@ -2541,10 +2835,68 @@ msgstr "Fil %s Ƥr inte en postskriptfil"
msgid "Unsupported %d-bit output format: %s"
msgstr "%d-bit utmatningsformat som inte stƶds: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Fel under spararande:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "Kunde inte ƶppna"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Ta bort skrivare"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "BlƤddra efter filnamn"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Ta bort skrivare"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "Kunde inte skapa temporƤr fil"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "visarbild sparas inte"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Bild"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Spara massinlƤsningslista"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Spara instƤllningar nƤr programmet avslutas"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "InstƤllningar"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "AnvƤndning:"
@@ -2928,14 +3280,66 @@ msgstr "Slut pƄ minne"
msgid "Access to resource has been denied"
msgstr "TillgƄng till resurs nekas"
-#~ msgid "Could not create temporary file"
-#~ msgstr "Kunde inte skapa temporƤr fil"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Ta bort skrivare"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Ta bort skrivare"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Ta bort skrivare"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "Kunde inte skapa temporƤr fƶrhandsgranskningsfil"
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Ta bort skrivare"
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "Kunde inte skapa filnamn fƶr fƶrhandsgranskningsfiler"
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Ta bort skrivare"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Ta bort skrivare"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "BlƤddra efter filnamn"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "BlƤddra efter filnamn"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP kan inte hantera bilddjup med %d bits/fƤrg"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Ta bort skrivare"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Ta bort skrivare"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "Skriv in namn fƶr faxprojekt"
+
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Skriv in namn fƶr brevprojekt"
+
+#, fuzzy
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Skriv in namn fƶr brevprojekt"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp stƶder inte 16 bits fƤrgdjup. \n"
+#~ "Vill du reducera till 8 bits fƤrgdjup?"
#, fuzzy
#~ msgid "POP3 authentication"
@@ -2997,9 +3401,6 @@ msgstr "TillgƄng till resurs nekas"
#~ msgid "Multipage saving aborted"
#~ msgstr "lƤs"
-#~ msgid "Image"
-#~ msgstr "Bild"
-
#~ msgid "Viewer (png):"
#~ msgstr "Visare (png):"
diff --git a/po/tr.gmo b/po/tr.gmo
index 0b5d922..06111d8 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 3c9d7e1..af0dd87 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: xsane_tr\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2005-12-22 10:01+0100\n"
"Last-Translator: Togan Muftuoglu <toganm@yahoo.com>\n"
"Language-Team: Turkish <kde-i18n-tr@kde.org>\n"
@@ -35,6 +36,7 @@ msgid "About"
msgstr "Hakkında"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "TercĆ¼me hakkında"
@@ -74,6 +76,11 @@ msgstr "Alanı yeniden isimlendir"
msgid "fax project"
msgstr "fax projesi"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "faks projesinin adını girin"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "fax sayfasını yeniden isimlendir"
@@ -86,6 +93,11 @@ msgstr "ps-dosyasını faxa yerleştirin"
msgid "E-mail project"
msgstr "E-posta projesi"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "E-Posta projesinin adını girin "
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr "E-posta resmini yeniden isimlendir"
@@ -98,6 +110,11 @@ msgstr "dosyayı E-postaya yerleştirin"
msgid "multipage project"
msgstr "Ƈok sayfalı proje"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "Ƈok sayfalı proje"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "Ɩnceden belirlenmiş alanı yeniden isimlendir"
@@ -143,6 +160,7 @@ msgid "Preview"
msgstr "Ɩnizleme"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "Gƶsterici"
@@ -175,14 +193,17 @@ msgid "select temporary directory"
msgstr "geƧici dizini seƧin"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "Resmi ƶlĆ§Ć¼lendir"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "Resmi beneksizleştir"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "Resmi bulanıklaştır"
@@ -194,6 +215,35 @@ msgstr "Ortam tanımını sakla"
msgid "No devices available"
msgstr "HiƧbir aygıt mevcut değil"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "Yazıcı sil"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "Yazıcı sil"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "Ƨıktı dosya adını seƧiniz"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "Yazıcı sil"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "Yazıcı sil"
+
#. MENU_FILE
msgid "File"
msgstr "Dosya"
@@ -211,6 +261,7 @@ msgid "Window"
msgstr "Pencere"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Yardım"
@@ -226,6 +277,11 @@ msgstr "Filtreler"
msgid "Geometry"
msgstr "Geometri"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Xsane hakkında"
@@ -239,6 +295,7 @@ msgid "Quit"
msgstr "Ƈık"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "Resmi kaydet"
@@ -255,6 +312,7 @@ msgid "Scale"
msgstr "Boyutlandırma"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "Kapat"
@@ -446,11 +504,11 @@ msgstr "Ɯzerine yazma uyarısı"
msgid "Skip existing filenames"
msgstr "Varolan dosya isimlerini atla"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr "Postscript dosyayı zlib sıkıştırmalı kaydet (ps 3 seviyesinde)"
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr "PDF dosyayı zlib sıkıştırmalı kaydet"
@@ -467,7 +525,8 @@ msgid "Main window size fixed"
msgstr "Ana pencere boyutu sabitlendi"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "Gimp ƶnizleme gamması pasif kılındı"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -490,6 +549,11 @@ msgstr "Renkleri otomatik dĆ¼zelt"
msgid "Use GUI progress pipe"
msgstr "GUI ilerleme Ƨubuğunu kullan"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "aygıtları arıyor"
@@ -506,6 +570,12 @@ msgstr "Xsane seƧenekleri"
msgid "Type"
msgstr "Tip"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "TĆ¼m renk aralığı"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "Tarayıcı ve sĆ¼rĆ¼cĆ¼:"
@@ -578,18 +648,11 @@ msgstr "8 bit Ƨıktı formatları:"
msgid "16 bit output formats:"
msgstr "16 bit formatları:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp 16 bit/renk derinliğini desteklemiyor.\n"
-"Derinliği 8bit/renk haline getirmek istermisiniz ?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"Bu Ƨıktı formatı iƧin 16 bit/renk derinliği desteklenmiyor\n"
"Derinliği 8 bit/renk olarak değiştirmek istermisiniz ?"
@@ -626,6 +689,11 @@ msgstr "sĆ¼rĆ¼m:"
msgid "package"
msgstr "paket"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "TĆ¼m renk aralığı"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "GIMP desteği ile"
@@ -757,9 +825,10 @@ msgid "Medium Name:"
msgstr "Ortam ismi"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"Boyut %d x %d piksel, %d bit/color, %d renkler, %1.0f dpi x %1.0f dpi, %1.1f "
"%s"
@@ -813,6 +882,7 @@ msgid "Name:"
msgstr "Adı:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Komut:"
@@ -833,18 +903,22 @@ msgid "Color resolution (dpi):"
msgstr "Renkli ƧƶzĆ¼nĆ¼rlĆ¼k (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "En "
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "YĆ¼kseklik"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Sol boşluk "
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Alt boşluk "
@@ -864,7 +938,17 @@ msgstr "Yazıcı mavi gamma:"
msgid "Printer gamma blue:"
msgstr "Yazıcı mavi gamma:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "Yazıcı sil"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "Yazıcı sil"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
"Yazdırmak iƧin zlib sıkıştırılmış postscript (ps 3. seviye) resim yarat "
@@ -989,7 +1073,7 @@ msgstr "Program ƶntanımlılarını belirle:"
msgid "Viewer (Postscript):"
msgstr "Ä°zleyici (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr "Faks iƧin zlib sıkıştırılmış postscript (ps 3. seviye) resim yarat "
@@ -1068,10 +1152,45 @@ msgstr "grup"
msgid "all"
msgstr "hepsi"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "Yazıcı sil"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "Yazıcı sil"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "Yazıcı sil"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "resim dosyası ara"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "Yeni medya"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "Kaydet"
@@ -1080,14 +1199,17 @@ msgid "Filetype"
msgstr "Dosya tipi"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Kopyala"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Fax"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr "E-posta"
@@ -1179,6 +1301,12 @@ msgstr "ƇƶzĆ¼nĆ¼rlĆ¼k listesini gƶster"
msgid "Rotate postscript"
msgstr "Postscripti dƶndĆ¼r"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "TĆ¼m renk aralığı"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "Ortam tanımını dĆ¼zelt"
@@ -1223,6 +1351,86 @@ msgstr "Tarama ipuƧları"
msgid "Problems?"
msgstr "Problemler ?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "Yazıcı ekle"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "Yazıcı ekle"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "Yazıcı ekle"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "Yazıcı ekle"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "Otorizasyon"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "yazma"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Azalt"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "Bulanıklaştırma"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "pasif"
@@ -1340,6 +1548,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "Yazıcı sil"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Renkleri otomatik dĆ¼zelt"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "tarıyor"
@@ -1397,6 +1619,11 @@ msgstr "Resmi bulanıklaştır"
msgid "OCR in progress"
msgstr "OCR Ƨalışmakta"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Renkleri otomatik dĆ¼zelt"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "Taramayı başlat <Ctrl-Enter>"
@@ -1456,8 +1683,9 @@ msgstr ""
"eklenir"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "faks projesinin adını girin"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "GeƧici dizine gƶz at"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1467,9 +1695,15 @@ msgstr "Faks sayfası iƧin ad girin"
msgid "Enter receiver phone number or address"
msgstr "Alıcının telefon numrasını veya adresini girin"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "GeƧici dizine gƶz at"
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
-msgstr "E-Posta projesinin adını girin "
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "GeƧici dizine gƶz at"
#. DESC_EMAIL_IMAGENAME
msgid "Enter new name for e-mail image"
@@ -1479,6 +1713,11 @@ msgstr "E-Posta resmi iƧin yeni isim girin"
msgid "Enter e-mail address"
msgstr "E-posta adresi girin "
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "GeƧici dizine gƶz at"
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr "E-Posta konusu girin "
@@ -1488,8 +1727,14 @@ msgid "Select filetype for image attachments"
msgstr "Resim ekleri iƧin dosya tipini seƧin"
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
-msgstr "Ƈoklu sayfa projesinin adını girin"
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "GeƧici dizine gƶz at"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "GeƧici dizine gƶz at"
#. DESC_MULTIPAGE_FILETYPE
msgid "Select filetype for multipage file"
@@ -1614,7 +1859,8 @@ msgstr ""
" kontrast =0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr ""
"SeƧilen alana bağlı olarak gamma, ışık ve kontrastı otomatik ayarla<Ctrl-e>"
@@ -1696,18 +1942,22 @@ msgstr ""
"Renkli resimlerin yazdırılması ve postscript de saklanması iƧin ƧƶzĆ¼nĆ¼rlĆ¼k"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Basılacak alanın genişliği"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Basılacak alanın yĆ¼ksekliği"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Kağıdın sol boşluğundan basılacak alan "
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Kağıdın alt boşluğundan basılacak alan "
@@ -1727,9 +1977,18 @@ msgstr "Fotokopi iƧin yeşil bileşenin ilave gamma değeri"
msgid "Additional gamma value for blue component for photocopy"
msgstr "Fotokopi iƧin mavi bileşenin ilave gamma değeri"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
"Yazıcı iƧin zlib sıkıştırılmış postscript gƶrĆ¼ntĆ¼ yarat (flatdecode)\n"
@@ -1789,17 +2048,19 @@ msgstr ""
"Eğer dosya adı sayacı otomatik olarak artırılıyorsa, kullanılan rakamlar "
"atlanır"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
+#, fuzzy
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
"Zlib algoritması ile sıkıştırılmış postscript gƶrĆ¼ntĆ¼ yarat (flatdecode) "
"Eğer bƶyle bir dosyayı Ƨıktı olarak almak istiyorsanız yazıcı postscript 3 "
"dilini anlamalı "
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+#, fuzzy
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr "PDF dosyayı zlib algoritması ile sıkıştır (indirge)"
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1815,7 +2076,9 @@ msgstr ""
"tarafından kullanılmasına karşın oldukƧa bĆ¼yĆ¼k dosyalar Ć¼retir."
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
"Eğer tarayıcı resmi 16 bit/renk olarak yollarsa, resmi 8 bit/renk olarak "
"sakla"
@@ -1847,7 +2110,8 @@ msgstr ""
"kullan"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "Xsane gimp plugini olarak Ƨalıştırılırsa ƶnizleme gammasını iptal et"
#. DESC_PREVIEW_COLORMAP
@@ -1941,6 +2205,15 @@ msgstr "Ɩnizleme taraması tamamlandıktan sonra tarama aranını seƧ"
msgid "Do color correction after preview scan has finished"
msgstr "Ɩnizleme taraması bittikten sonra renk dĆ¼zeltmesini yap"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Ɩnizleme taraması tamamlandıktan sonra tarama aranını seƧ"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Faks modunda Ƨalıştırılacak komutu yazın"
@@ -1969,8 +2242,9 @@ msgstr "Faksı gƶrmek iƧin Ƨalıştırılacak komutu yazın"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "Faksı yĆ¼ksek dikey ƧƶzĆ¼nĆ¼rlĆ¼kle (98 lpi yerine 196 lpi ile)gƶnder"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+#, fuzzy
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr "Faks iƧin zlib sıkıştırlmış postscript gƶrĆ¼ntĆ¼ yarat (flatdecode)"
#. DESC_SMTP_SERVER
@@ -2052,9 +2326,10 @@ msgstr "okuma"
msgid "write"
msgstr "yazma"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "Ƨalıştırma"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "kullanıcı"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2223,6 +2498,36 @@ msgstr "SeƧilen ƶnizleme alanını listeden sil"
msgid "Turns on automatic mode"
msgstr "Otomatik modu ethin kılar"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "resim dosyası ara"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "resim dosyası ara"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "resim dosyası ara"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "resim dosyası ara"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "resim dosyası ara"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "resim dosyası ara"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "Ev dizinini belirlemede hata:"
@@ -2275,11 +2580,6 @@ msgstr "Saklama esnasında hata"
msgid "Can't handle depth"
msgstr "Derinliği kullanamaz"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP %d bit /renk derinliği kullanamaz"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "Saklamak iƧin bilinmeyen format"
@@ -2514,10 +2814,68 @@ msgstr "Dosya %s postscript dosyası değil"
msgid "Unsupported %d-bit output format: %s"
msgstr "Desteklenmeyen %d-bit Ƨıktı formatı:%s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Saklama esnasında hata"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "AƧmada hata"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "Yazıcı sil"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "resim dosyası ara"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "Yazıcı sil"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "GeƧici dosya yaratılamadı"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "İzleme resmi saklanamadı"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "Sayfalar:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Tarama listesini sakla"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "Aygıt tercihlerini sakla ve Ƨık"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "Ayarlar"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "Kullanım:"
@@ -2890,24 +3248,61 @@ msgstr "Yetersiz hafıza"
msgid "Access to resource has been denied"
msgstr "Kaynağa erişim reddedildi"
-#~ msgid "Could not create temporary file"
-#~ msgstr "GeƧici dosya yaratılamadı"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "Yazıcı sil"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "Yazıcı sil"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "Yazıcı sil"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "Yazıcı sil"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "Yazıcı sil"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "Yazıcı sil"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "resim dosyası ara"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "GeƧici ƶnizleme dosyaları yaratılamadı"
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "resim dosyası ara"
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "Ɩnizleme dosyaları iƧin dosya isimleri yaratılamadı"
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP %d bit /renk derinliği kullanamaz"
#, fuzzy
-#~ msgid "POP3 authentication"
-#~ msgstr "POP3 otorizasyon"
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "Yazıcı sil"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "Yazıcı sil"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "faks projesinin adını girin"
-#~ msgid "XSane mode"
-#~ msgstr "Xsane modu"
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "E-Posta projesinin adını girin "
-#~ msgid "POP3 user:"
-#~ msgstr "POP3 kullanıcı:"
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Ƈoklu sayfa projesinin adını girin"
-#~ msgid "POP3 password:"
-#~ msgstr "POP3 Şifre:"
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp 16 bit/renk derinliğini desteklemiyor.\n"
+#~ "Derinliği 8bit/renk haline getirmek istermisiniz ?"
diff --git a/po/vi.gmo b/po/vi.gmo
index 148cb56..ae254b1 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 69b4456..51cbea8 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -4,7 +4,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2004-08-26 23:33+0700\n"
"Last-Translator: Trinh Minh Thanh <tmthanh@yahoo.com>\n"
"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
@@ -37,6 +38,7 @@ msgid "About"
msgstr "Giį»›i thiį»‡u"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "Giį»›i thiį»‡u dį»‹ch thuįŗ­t"
@@ -76,6 +78,11 @@ msgstr "đį»•i tĆŖn vĆ¹ng batch"
msgid "fax project"
msgstr "dį»± Ć”n fax"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "Nhįŗ­p tĆŖn cho dį»± Ć”n Fax"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "đį»•i tĆŖn trang fax"
@@ -89,6 +96,11 @@ msgstr "chĆØn tįŗ­p tin ps vĆ o fax"
msgid "E-mail project"
msgstr "dį»± Ć”n thĘ°"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "Nhįŗ­p tĆŖn dį»± Ć”n thĘ°"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -104,6 +116,11 @@ msgstr "chĆØn tįŗ­p tin vĆ o thĘ°"
msgid "multipage project"
msgstr "XĆ³a dį»± Ć”n"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "XĆ³a dį»± Ć”n"
+
# WINDOW_PRESET_AREA_RENAME
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
@@ -153,6 +170,7 @@ msgid "Preview"
msgstr "Xem trĘ°į»›c"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "TrƬnh xem"
@@ -185,14 +203,17 @@ msgid "select temporary directory"
msgstr "chį»n thĘ° mį»„c tįŗ”m thį»i"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "CĆ¢n chį»‰nh įŗ£nh"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr "XĆ³a vįŗæt đį»‘m įŗ£nh"
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "LĆ m mį» įŗ£nh"
@@ -204,6 +225,35 @@ msgstr "LĘ°u trį»Æ đį»‹nh nghÄ©a phĘ°Ę”ng tiį»‡n"
msgid "No devices available"
msgstr "Hiį»‡n khĆ“ng cĆ³ thiįŗæt bį»‹"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "XĆ³a mĆ”y in"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "XĆ³a mĆ”y in"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "chį»n tĆŖn tįŗ­p tin đįŗ§u ra"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "XĆ³a mĆ”y in"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "XĆ³a mĆ”y in"
+
#. MENU_FILE
msgid "File"
msgstr "Tį»‡p"
@@ -222,6 +272,7 @@ msgid "Window"
msgstr "Cį»­a sį»•"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "Trį»£ giĆŗp"
@@ -239,6 +290,11 @@ msgstr "TrƬnh lį»c"
msgid "Geometry"
msgstr "HƬnh hį»c"
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "Giį»›i thiį»‡u XSane"
@@ -252,6 +308,7 @@ msgid "Quit"
msgstr "ThoƔt"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "LĘ°u įŗ£nh"
@@ -268,6 +325,7 @@ msgid "Scale"
msgstr "CĆ¢n chį»‰nh"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "ÄĆ³ng"
@@ -468,11 +526,11 @@ msgstr "Cįŗ£nh bĆ”o viį»‡c ghi đĆØ"
msgid "Skip existing filenames"
msgstr "Nhįŗ£y qua cĆ”c tĆŖn tįŗ­p tin hiį»‡n cĆ³"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -489,7 +547,8 @@ msgid "Main window size fixed"
msgstr "KĆ­ch cį»” cį»­a sį»• chĆ­nh khĆ“ng đį»•i"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "TįŗÆt gamma xem trĘ°į»›c cį»§a GIMP"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -512,6 +571,11 @@ msgstr "Tį»± đį»™ng hiį»‡u chį»‰nh mĆ u"
msgid "Use GUI progress pipe"
msgstr "DĆ¹ng pipe tiįŗæn trƬnh đį»“ hį»a"
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "đang rĆ  tƬm thiįŗæt bį»‹"
@@ -528,6 +592,12 @@ msgstr "TĆ¹y chį»n XSane"
msgid "Type"
msgstr "Loįŗ”i"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "Dįŗ£i mĆ u đįŗ§y đį»§"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "MƔy quƩt vƠ backend:"
@@ -600,18 +670,11 @@ msgstr "Đį»‹nh dįŗ”ng đįŗ§u ra 8 bit:"
msgid "16 bit output formats:"
msgstr "Đį»‹nh dįŗ”ng đįŗ§u ra 16 bit:"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp khĆ“ng hį»— trį»£ đį»™ sĆ¢u mĆ u 16 bit.\n"
-"CĆ³ muį»‘n hįŗ” xuį»‘ng 8 bit khĆ“ng ?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"KhĆ“ng hį»— trį»£ đį»™ sĆ¢u mĆ u 16 bit cho đį»‹nh dįŗ”ng đįŗ§u ra nĆ y.\n"
"CĆ³ muį»‘n hįŗ” xuį»‘ng 8 bit khĆ“ng ?"
@@ -648,6 +711,11 @@ msgstr "phiĆŖn bįŗ£n:"
msgid "package"
msgstr "gĆ³i tin"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "Dįŗ£i mĆ u đįŗ§y đį»§"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "cĆ³ hį»— trį»£ cį»§a GIMP"
@@ -784,9 +852,10 @@ msgid "Medium Name:"
msgstr "TĆŖn phĘ°Ę”ng tiį»‡n:"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"KĆ­ch cį»” %d x %d pixel, %d bit/mĆ u, %d mĆ u, %1.0f dpi x %1.0f dpi, %1.1f %s"
@@ -839,6 +908,7 @@ msgid "Name:"
msgstr "TĆŖn:"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "Lį»‡nh:"
@@ -859,18 +929,22 @@ msgid "Color resolution (dpi):"
msgstr "Đį»™ phĆ¢n giįŗ£i mĆ u (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "Rį»™ng"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "Cao"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "Offset trƔi"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "Offset đƔy"
@@ -890,7 +964,17 @@ msgstr "Xanh lĆ” cĆ¢y gamma mĆ”y in:"
msgid "Printer gamma blue:"
msgstr "Xanh da trį»i gamma mĆ”y in:"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "XĆ³a mĆ”y in"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "XĆ³a mĆ”y in"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1015,7 +1099,7 @@ msgstr "Đįŗ·t mįŗ·c đį»‹nh chĘ°Ę”ng trƬnh cho:"
msgid "Viewer (Postscript):"
msgstr "TrƬnh xem (Postscript):"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1094,10 +1178,45 @@ msgstr "nhĆ³m"
msgid "all"
msgstr "toĆ n bį»™"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "XĆ³a mĆ”y in"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "XĆ³a mĆ”y in"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "XĆ³a mĆ”y in"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "Duyį»‡t tĆŖn tįŗ­p tin įŗ£nh"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr "phĘ°Ę”ng tiį»‡n mį»›i"
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "LĘ°u"
@@ -1107,14 +1226,17 @@ msgid "Filetype"
msgstr "Tį»‡p"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "Sao chƩp"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "Fax"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "Email"
@@ -1207,6 +1329,12 @@ msgstr "Hiį»ƒn thį»‹ danh sĆ”ch đį»™ phĆ¢n giįŗ£i"
msgid "Rotate postscript"
msgstr "Xoay postscript"
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "Dįŗ£i mĆ u đįŗ§y đį»§"
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr "BiĆŖn soįŗ”n đį»‹nh nghÄ©a phĘ°Ę”ng tiį»‡n"
@@ -1251,6 +1379,86 @@ msgstr "Mįŗ¹o quĆ©t"
msgid "Problems?"
msgstr "Trį»„c trįŗ·c?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "ThĆŖm mĆ”y in"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "ThĆŖm mĆ”y in"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "ThĆŖm mĆ”y in"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "ThĆŖm mĆ”y in"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "Chįŗ„p thuįŗ­n giįŗ„y phĆ©p"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "ghi"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "Giįŗ£m"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "LĆ m mį»"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "bįŗ„t hoįŗ”t"
@@ -1374,6 +1582,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "XĆ³a mĆ”y in"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "Tį»± đį»™ng hiį»‡u chį»‰nh mĆ u"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "Đang quƩt"
@@ -1432,6 +1654,11 @@ msgstr "Đang lĆ m mį» įŗ£nh"
msgid "OCR in progress"
msgstr "Đang chįŗ”y OCR"
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "Tį»± đį»™ng hiį»‡u chį»‰nh mĆ u"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "BįŗÆt đįŗ§u quĆ©t <Ctrl-Enter>"
@@ -1492,8 +1719,9 @@ msgstr ""
"vĆ o tĆŖn tįŗ­p tin"
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "Nhįŗ­p tĆŖn cho dį»± Ć”n Fax"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "Duyį»‡t tƬm thĘ° mį»„c tįŗ”m"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1503,10 +1731,15 @@ msgstr "Nhįŗ­p tĆŖn mį»›i cho trang Fax"
msgid "Enter receiver phone number or address"
msgstr "Nhįŗ­p sį»‘ điį»‡n thoįŗ”i hay đį»‹a chį»‰ ngĘ°į»i nhįŗ­n"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "Duyį»‡t tƬm thĘ° mį»„c tįŗ”m"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "Nhįŗ­p tĆŖn dį»± Ć”n thĘ°"
+msgid "Enter e-mail project directory name"
+msgstr "Duyį»‡t tƬm thĘ° mį»„c tįŗ”m"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1518,6 +1751,11 @@ msgstr "Nhįŗ­p tĆŖn mį»›i cho įŗ£nh trong thĘ°"
msgid "Enter e-mail address"
msgstr "Nhįŗ­p đį»‹a chį»‰ thĘ°"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "Duyį»‡t tƬm thĘ° mį»„c tįŗ”m"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1530,8 +1768,13 @@ msgstr "Chį»n loįŗ”i tįŗ­p tin cho įŗ£nh đƭnh kĆØm"
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "Nhįŗ­p tĆŖn dį»± Ć”n thĘ°"
+msgid "Enter multipage project directory name"
+msgstr "Duyį»‡t tƬm thĘ° mį»„c tįŗ”m"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "Duyį»‡t tƬm thĘ° mį»„c tįŗ”m"
# DESC_MAIL_FILETYPE
#. DESC_MULTIPAGE_FILETYPE
@@ -1661,7 +1904,8 @@ msgstr ""
" đį»™ tĘ°Ę”ng phįŗ£n = 0"
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "Tį»± đį»™ng hiį»‡u chį»‰nh gamma, đį»™ sĆ”ng vĆ  đį»™ tĘ°Ę”ng phįŗ£n <Ctrl-e>"
#. DESC_ENH_DEFAULT
@@ -1739,18 +1983,22 @@ msgid "Resolution with which color images are printed and saved in postscript"
msgstr "Đį»™ phĆ¢n giįŗ£i đį»ƒ in vĆ  lĘ°u įŗ£nh mĆ u theo dįŗ”ng postscript"
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "Chiį»u rį»™ng vĆ¹ng in đʰį»£c"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "Chiį»u cao vĆ¹ng in đʰį»£c"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "Offset trĆ”i tį»« mĆ©p giįŗ„y đįŗæn vĆ¹ng in đʰį»£c"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "Offset Ä‘Ć”y tį»« mĆ©p giįŗ„y đįŗæn vĆ¹ng in đʰį»£c"
@@ -1770,9 +2018,17 @@ msgstr "GiĆ” trį»‹ gamma thĆŖm cho thĆ nh phįŗ§n mĆ u xanh lĆ” cĆ¢y cho photocop
msgid "Additional gamma value for blue component for photocopy"
msgstr "GiĆ” trį»‹ gamma thĆŖm cho thĆ nh phįŗ§n mĆ u xanh da trį»i cho photocopy"
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1830,14 +2086,14 @@ msgid ""
"If filename counter is automatically increased, used numbers are skipped"
msgstr "Nįŗæu bį»™ đįŗæm tĆŖn tįŗ­p tin đʰį»£c tăng tį»± đį»™ng, bį» qua cĆ”c sį»‘ Ä‘Ć£ dĆ¹ng"
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1853,7 +2109,9 @@ msgstr ""
"lįŗ”i tįŗ”o cĆ”c tįŗ­p tin įŗ£nh lį»›n !!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+#, fuzzy
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr "Nįŗæu mĆ”y quĆ©t gį»­i įŗ£nh 16 bit/mĆ u thƬ lĘ°u thĆ nh 8 bit/mĆ u"
#. DESC_PSFILE_WIDTH
@@ -1882,7 +2140,8 @@ msgstr ""
"DĆ¹ng cį»” cį»­a sį»• chĆ­nh cį»‘ đį»‹nh hoįŗ·c cį»­a sį»• chĆ­nh cuį»™n đʰį»£c vĆ  cĆ³ thį»ƒ đį»•i cį»”"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "TįŗÆt Xem trĘ°į»›c gamma khi chįŗ”y XSane lĆ m plugin cį»§a GIMP"
#. DESC_PREVIEW_COLORMAP
@@ -1974,6 +2233,15 @@ msgstr "Chį»n vĆ¹ng quĆ©t sau khi kįŗæt thĆŗc viį»‡c quĆ©t xem trĘ°į»›c"
msgid "Do color correction after preview scan has finished"
msgstr "Hiį»‡u chį»‰nh mĆ u sau khi kįŗæt thĆŗc viį»‡c quĆ©t xem trĘ°į»›c"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "Chį»n vĆ¹ng quĆ©t sau khi kįŗæt thĆŗc viį»‡c quĆ©t xem trĘ°į»›c"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "Nhįŗ­p lį»‡nh thį»±c thi trong chįŗæ đį»™ Fax"
@@ -2002,8 +2270,8 @@ msgstr "Nhįŗ­p lį»‡nh thį»±c thi đį»ƒ xem Fax"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr "Gį»­i Fax cĆ³ đį»™ phĆ¢n giįŗ£i dį»c cao (196 lpi thay vƬ 98 lpi)"
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2088,9 +2356,10 @@ msgstr "đį»c"
msgid "write"
msgstr "ghi"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "thį»±c thi"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "ngĘ°į»i dĆ¹ng"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2263,6 +2532,36 @@ msgstr "XĆ³a vĆ¹ng đʰį»£c chį»n khį»i danh sĆ”ch batch"
msgid "Turns on automatic mode"
msgstr "Bįŗ­t chįŗæ đį»™ tį»± đį»™ng"
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "Duyį»‡t tĆŖn tįŗ­p tin įŗ£nh"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "Duyį»‡t tĆŖn tįŗ­p tin įŗ£nh"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "Duyį»‡t tĆŖn tįŗ­p tin įŗ£nh"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "Duyį»‡t tĆŖn tįŗ­p tin įŗ£nh"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "Duyį»‡t tĆŖn tįŗ­p tin įŗ£nh"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "Duyį»‡t tĆŖn tįŗ­p tin įŗ£nh"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "KhĆ“ng xĆ”c đį»‹nh đʰį»£c thĘ° mį»„c home:"
@@ -2315,11 +2614,6 @@ msgstr "Lį»—i khi lĘ°u:"
msgid "Can't handle depth"
msgstr "KhĆ“ng thį»ƒ xį»­ lĆ½ đį»™ sĆ¢u"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMP khĆ“ng thį»ƒ xį»­ lĆ½ đį»™ sĆ¢u %d bit/mĆ u"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "KhĆ“ng xĆ”c đį»‹nh đʰį»£c đį»‹nh dįŗ”ng tįŗ­p tin đį»ƒ lĘ°u"
@@ -2554,10 +2848,68 @@ msgstr "Tįŗ­p tin %s khĆ“ng phįŗ£i dįŗ”ng postscript"
msgid "Unsupported %d-bit output format: %s"
msgstr "KhĆ“ng hį»— trį»£ đį»‹nh dįŗ”ng đįŗ§u ra %d-bit: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "Lį»—i khi lĘ°u:"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "KhĆ“ng mį»Ÿ đʰį»£c"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "XĆ³a mĆ”y in"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "Duyį»‡t tĆŖn tįŗ­p tin įŗ£nh"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "XĆ³a mĆ”y in"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "KhĆ“ng tįŗ”o đʰį»£c tįŗ­p tin tįŗ”m thį»i"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "įŗ¢nh į»Ÿ trƬnh xem khĆ“ng đʰį»£c lĘ°u"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "įŗ¢nh"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "Lʰu danh sƔch batch"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "LĘ°u cĆ”c sį»Ÿ thĆ­ch thiįŗæt bį»‹ vĆ  thoĆ”t ra"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "Sį»Ÿ thĆ­ch"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "CĆ”ch dĆ¹ng:"
@@ -2960,18 +3312,66 @@ msgstr "Hįŗæt bį»™ nhį»›"
msgid "Access to resource has been denied"
msgstr "Truy cįŗ­p đįŗæn nguį»“n bį»‹ tį»« chį»‘i"
-#~ msgid "Could not create temporary file"
-#~ msgstr "KhĆ“ng tįŗ”o đʰį»£c tįŗ­p tin tįŗ”m thį»i"
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "XĆ³a mĆ”y in"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "XĆ³a mĆ”y in"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "XĆ³a mĆ”y in"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "XĆ³a mĆ”y in"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "XĆ³a mĆ”y in"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "XĆ³a mĆ”y in"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "Duyį»‡t tĆŖn tįŗ­p tin įŗ£nh"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "Duyį»‡t tĆŖn tįŗ­p tin įŗ£nh"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMP khĆ“ng thį»ƒ xį»­ lĆ½ đį»™ sĆ¢u %d bit/mĆ u"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "XĆ³a mĆ”y in"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "XĆ³a mĆ”y in"
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "KhĆ“ng thį»ƒ tįŗ”o tįŗ­p tin xem trĘ°į»›c tįŗ”m thį»i"
+#~ msgid "Enter name of fax project"
+#~ msgstr "Nhįŗ­p tĆŖn cho dį»± Ć”n Fax"
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "KhĆ“ng thį»ƒ tįŗ”o tĆŖn cho tįŗ­p tin xem trĘ°į»›c"
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "Nhįŗ­p tĆŖn dį»± Ć”n thĘ°"
#, fuzzy
-#~ msgid "POP3 authentication"
-#~ msgstr "Chį»©ng thį»±c POP3"
+#~ msgid "Enter name of multipage project"
+#~ msgstr "Nhįŗ­p tĆŖn dį»± Ć”n thĘ°"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp khĆ“ng hį»— trį»£ đį»™ sĆ¢u mĆ u 16 bit.\n"
+#~ "CĆ³ muį»‘n hįŗ” xuį»‘ng 8 bit khĆ“ng ?"
#~ msgid "XSane mode"
#~ msgstr "Chįŗæ đį»™ XSane"
@@ -3036,9 +3436,6 @@ msgstr "Truy cįŗ­p đįŗæn nguį»“n bį»‹ tį»« chį»‘i"
#~ msgid "Multipage saving aborted"
#~ msgstr "Mail project đʰį»£c tįŗ”o"
-#~ msgid "Image"
-#~ msgstr "įŗ¢nh"
-
#~ msgid "Viewer (png):"
#~ msgstr "TrƬnh xem (png):"
diff --git a/po/xsane.pot b/po/xsane.pot
index 323832f..f7a2823 100644
--- a/po/xsane.pot
+++ b/po/xsane.pot
@@ -7,7 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -34,6 +35,7 @@ msgid "About"
msgstr ""
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr ""
@@ -73,6 +75,10 @@ msgstr ""
msgid "fax project"
msgstr ""
+#. WINDOW_FAX_PROJECT_BROWSE
+msgid "browse for fax project"
+msgstr ""
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr ""
@@ -85,6 +91,10 @@ msgstr ""
msgid "E-mail project"
msgstr ""
+#. WINDOW_EMAIL_PROJECT_BROWSE
+msgid "browse for email project"
+msgstr ""
+
#. WINDOW_EMAIL_RENAME
msgid "rename e-mail image"
msgstr ""
@@ -97,6 +107,10 @@ msgstr ""
msgid "multipage project"
msgstr ""
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+msgid "browse for multipage project"
+msgstr ""
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr ""
@@ -142,6 +156,7 @@ msgid "Preview"
msgstr ""
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr ""
@@ -174,14 +189,17 @@ msgid "select temporary directory"
msgstr ""
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr ""
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr ""
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr ""
@@ -193,6 +211,30 @@ msgstr ""
msgid "No devices available"
msgstr ""
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+msgid "select scanner default color ICM-profile"
+msgstr ""
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+msgid "select scanner default gray ICM-profile"
+msgstr ""
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+msgid "select custom proofing ICM-profile"
+msgstr ""
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+msgid "select working color space ICM-profile"
+msgstr ""
+
+#. WINDOW_PRINTER_ICM_PROFILE
+msgid "select printer ICM-profile"
+msgstr ""
+
#. MENU_FILE
msgid "File"
msgstr ""
@@ -210,6 +252,7 @@ msgid "Window"
msgstr ""
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr ""
@@ -225,6 +268,11 @@ msgstr ""
msgid "Geometry"
msgstr ""
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr ""
@@ -238,6 +286,7 @@ msgid "Quit"
msgstr ""
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr ""
@@ -254,6 +303,7 @@ msgid "Scale"
msgstr ""
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr ""
@@ -445,11 +495,11 @@ msgstr ""
msgid "Skip existing filenames"
msgstr ""
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -466,7 +516,7 @@ msgid "Main window size fixed"
msgstr ""
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+msgid "Disable GIMP preview gamma"
msgstr ""
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -489,6 +539,11 @@ msgstr ""
msgid "Use GUI progress pipe"
msgstr ""
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr ""
@@ -505,6 +560,11 @@ msgstr ""
msgid "Type"
msgstr ""
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+msgid "Color management function"
+msgstr ""
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr ""
@@ -577,16 +637,10 @@ msgstr ""
msgid "16 bit output formats:"
msgstr ""
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-
#. TEXT_REDUCE_16BIT_TO_8BIT
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
#. TEXT_AUTHORIZATION_REQ
@@ -621,6 +675,10 @@ msgstr ""
msgid "package"
msgstr ""
+#. TEXT_WITH_CMS_FUNCTION
+msgid "with color management function"
+msgstr ""
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr ""
@@ -733,7 +791,8 @@ msgstr ""
#. TEXT_VIEWER_IMAGE_INFO
#, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
#. TEXT_DESPECKLE_RADIUS
@@ -785,6 +844,7 @@ msgid "Name:"
msgstr ""
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr ""
@@ -805,18 +865,22 @@ msgid "Color resolution (dpi):"
msgstr ""
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr ""
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr ""
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr ""
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr ""
@@ -836,7 +900,15 @@ msgstr ""
msgid "Printer gamma blue:"
msgstr ""
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+msgid "Embed scanner ICM profile as CSA"
+msgstr ""
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+msgid "Embed printer ICM profile as CRD"
+msgstr ""
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -960,7 +1032,7 @@ msgstr ""
msgid "Viewer (Postscript):"
msgstr ""
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1036,10 +1108,41 @@ msgstr ""
msgid "all"
msgstr ""
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+msgid "Scanner default color ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+msgid "Scanner default gray ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+msgid "Custom proofing ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+msgid "Working color space ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr ""
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr ""
@@ -1048,14 +1151,17 @@ msgid "Filetype"
msgstr ""
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr ""
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr ""
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
msgid "E-mail"
msgstr ""
@@ -1147,6 +1253,11 @@ msgstr ""
msgid "Rotate postscript"
msgstr ""
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+msgid "Enable color management"
+msgstr ""
+
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
msgstr ""
@@ -1191,6 +1302,78 @@ msgstr ""
msgid "Problems?"
msgstr ""
+#. MENU_ITEM_CMS_PROOFING
+msgid "Proofing"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+msgid "Proof printer"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+msgid "Rendering intent"
+msgstr ""
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+msgid "Proofing rendering intent"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+msgid "Saturation"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+msgid "White"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+msgid "Red"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+msgid "Blue"
+msgstr ""
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr ""
@@ -1307,6 +1490,18 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+msgid "Embed scanner ICM profile"
+msgstr ""
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+msgid "Convert to working color space"
+msgstr ""
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr ""
@@ -1364,6 +1559,10 @@ msgstr ""
msgid "OCR in progress"
msgstr ""
+#. PROGRESS_ICM_CONVERSION
+msgid "converting colors"
+msgstr ""
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr ""
@@ -1414,7 +1613,7 @@ msgid ""
msgstr ""
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
+msgid "Enter fax project directory name"
msgstr ""
#. DESC_FAXPAGENAME
@@ -1425,8 +1624,12 @@ msgstr ""
msgid "Enter receiver phone number or address"
msgstr ""
+#. DESC_FAX_PROJECT_BROWSE
+msgid "Browse for fax project directory"
+msgstr ""
+
#. DESC_EMAIL_PROJECT
-msgid "Enter name of e-mail project"
+msgid "Enter e-mail project directory name"
msgstr ""
#. DESC_EMAIL_IMAGENAME
@@ -1437,6 +1640,10 @@ msgstr ""
msgid "Enter e-mail address"
msgstr ""
+#. DESC_EMAIL_PROJECT_BROWSE
+msgid "Browse for email project directory"
+msgstr ""
+
#. DESC_EMAIL_SUBJECT
msgid "Enter subject of e-mail"
msgstr ""
@@ -1446,7 +1653,11 @@ msgid "Select filetype for image attachments"
msgstr ""
#. DESC_MULTIPAGE_PROJECT
-msgid "Enter name of multipage project"
+msgid "Enter multipage project directory name"
+msgstr ""
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+msgid "Browse for multipage project directory"
msgstr ""
#. DESC_MULTIPAGE_FILETYPE
@@ -1567,7 +1778,7 @@ msgid ""
msgstr ""
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr ""
#. DESC_ENH_DEFAULT
@@ -1641,18 +1852,22 @@ msgid "Resolution with which color images are printed and saved in postscript"
msgstr ""
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr ""
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr ""
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr ""
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr ""
@@ -1672,9 +1887,17 @@ msgstr ""
msgid "Additional gamma value for blue component for photocopy"
msgstr ""
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1728,14 +1951,14 @@ msgid ""
"If filename counter is automatically increased, used numbers are skipped"
msgstr ""
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1747,7 +1970,8 @@ msgid ""
msgstr ""
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
#. DESC_PSFILE_WIDTH
@@ -1775,7 +1999,7 @@ msgid "Use fixed main window size or scrolled, resizable main window"
msgstr ""
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr ""
#. DESC_PREVIEW_COLORMAP
@@ -1861,6 +2085,14 @@ msgstr ""
msgid "Do color correction after preview scan has finished"
msgstr ""
+#. DESC_RENDERING_INTENT
+msgid "Select rendering intent for preview and saving"
+msgstr ""
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr ""
@@ -1889,8 +2121,8 @@ msgstr ""
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr ""
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -1966,8 +2198,8 @@ msgstr ""
msgid "write"
msgstr ""
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
+#. DESC_PERMISSION_SEARCH
+msgid "search"
msgstr ""
#. DESC_ADD_BATCH
@@ -2134,6 +2366,30 @@ msgstr ""
msgid "Turns on automatic mode"
msgstr ""
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+msgid "Browse for scanner default color ICM-profile"
+msgstr ""
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+msgid "Browse for scanner default gray ICM-profile"
+msgstr ""
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+msgid "Browse for display ICM-profile"
+msgstr ""
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+msgid "Browse for printer ICM-profile"
+msgstr ""
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+msgid "Browse for custom proofing ICM-profile"
+msgstr ""
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+msgid "Browse for working color space ICM-profile"
+msgstr ""
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr ""
@@ -2186,11 +2442,6 @@ msgstr ""
msgid "Can't handle depth"
msgstr ""
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr ""
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr ""
@@ -2418,10 +2669,58 @@ msgstr ""
msgid "Unsupported %d-bit output format: %s"
msgstr ""
+#. ERR_CMS_CONVERSION
+msgid "Error during CMS conversion:"
+msgstr ""
+
+#. ERR_CMS_OPEN_ICM_FILE
+msgid "Could not open"
+msgstr ""
+
+#. CMS_SCANNER_ICM
+msgid "scanner ICM profile"
+msgstr ""
+
+#. CMS_DISPLAY_ICM
+msgid "display ICM profile"
+msgstr ""
+
+#. CMS_PROOF_ICM
+msgid "proofing ICM profile"
+msgstr ""
+
+#. ERR_CMS_CREATE_TRANSFORM
+msgid "Could not create transform"
+msgstr ""
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr ""
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+msgid "Images"
+msgstr ""
+
+#. FILE_FILTER_XBL
+msgid "XSane batch list"
+msgstr ""
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+msgid "XSane device preferences"
+msgstr ""
+
+#. FILE_FILTER_RC
+msgid "XSane preferences"
+msgstr ""
+
#. TEXT_USAGE
msgid "Usage:"
msgstr ""
diff --git a/po/zh.gmo b/po/zh.gmo
index 609730e..f7f565a 100644
--- a/po/zh.gmo
+++ b/po/zh.gmo
Binary files differ
diff --git a/po/zh.po b/po/zh.po
index 071cf0a..cbc1cee 100644
--- a/po/zh.po
+++ b/po/zh.po
@@ -5,7 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
-"POT-Creation-Date: 2006-01-07 00:26+0100\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
"PO-Revision-Date: 2003-03-27 12:00+0100\n"
"Last-Translator: Wang leolarrel <leolarrel@yahoo.com.tw>\n"
"Language-Team: zh_TW<zh_TW@li.org>\n"
@@ -32,6 +33,7 @@ msgid "About"
msgstr "꜉關"
#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
msgid "About translation"
msgstr "é—œę–¼ēæ»č­Æ"
@@ -71,6 +73,11 @@ msgstr "ę›“åę‰¹ę¬”å€"
msgid "fax project"
msgstr "傳ēœŸå°ˆę”ˆ"
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "č¼ø兄傳ēœŸå°ˆę”ˆēš„名ēر"
+
#. WINDOW_FAX_RENAME
msgid "rename fax page"
msgstr "ę›“åå‚³ēœŸå°ˆę”ˆ"
@@ -84,6 +91,11 @@ msgstr "ę’å…„psęŖ”ę”ˆåˆ°å‚³ēœŸ"
msgid "E-mail project"
msgstr "é›»å­éƒµä»¶å°ˆę”ˆ"
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "č¼øå…„éƒµä»¶å°ˆę”ˆēš„名ēر"
+
#. WINDOW_EMAIL_RENAME
#, fuzzy
msgid "rename e-mail image"
@@ -99,6 +111,11 @@ msgstr "ę’å…„ęŖ”ę”ˆåˆ°é›»å­éƒµä»¶"
msgid "multipage project"
msgstr "åˆŖé™¤å°ˆę”ˆ"
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "åˆŖé™¤å°ˆę”ˆ"
+
#. WINDOW_PRESET_AREA_RENAME
msgid "rename preset area"
msgstr "ę›“åé čح區"
@@ -146,6 +163,7 @@ msgid "Preview"
msgstr "é č¦½"
#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
msgid "Viewer"
msgstr "ęŖ¢č¦–å™Ø"
@@ -178,14 +196,17 @@ msgid "select temporary directory"
msgstr "éøę“‡ęš«å­˜ē›®éŒ„"
#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
msgid "Scale image"
msgstr "čŖæę•“å½±åƒ"
#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
msgid "Despeckle image"
msgstr ""
#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
msgid "Blur image"
msgstr "ęØ”ē³Šå½±åƒ"
@@ -197,6 +218,35 @@ msgstr "儲存ē’°å¢ƒčح定"
msgid "No devices available"
msgstr "ę²’ęœ‰č£ē½®åÆ仄ä½æē”Ø"
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "éø꓇č¼øå‡ŗęŖ”名"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
#. MENU_FILE
msgid "File"
msgstr "ęŖ”ę”ˆ"
@@ -214,6 +264,7 @@ msgid "Window"
msgstr "視ēŖ—"
#. MENU_HELP
+#. BUTTON_HELP
msgid "Help"
msgstr "幫助"
@@ -229,6 +280,11 @@ msgstr "過ęæ¾å™Ø"
msgid "Geometry"
msgstr ""
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
#. MENU_ITEM_ABOUT_XSANE
msgid "About XSane"
msgstr "꜉關Xsane"
@@ -242,6 +298,7 @@ msgid "Quit"
msgstr "離開"
#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
msgid "Save image"
msgstr "儲存影像"
@@ -258,6 +315,7 @@ msgid "Scale"
msgstr "čŖæę•“"
#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
msgid "Close"
msgstr "關閉"
@@ -456,11 +514,11 @@ msgstr "覆åÆ«č­¦å‘Š"
msgid "Skip existing filenames"
msgstr "ēœē•„已存åœØēš„ęŖ”ę”ˆ"
-#. RADIO_BUTTON_SAVE_PS_FLATDECODED
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
msgid "Save postscript zlib compressed (ps level 3)"
msgstr ""
-#. RADIO_BUTTON_SAVE_PDF_FLATDECODED
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
msgid "Save PDF zlib compressed"
msgstr ""
@@ -477,7 +535,8 @@ msgid "Main window size fixed"
msgstr "äø»č¦–ēŖ—大小å›ŗ定"
#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable gimp preview gamma"
+#, fuzzy
+msgid "Disable GIMP preview gamma"
msgstr "å–ę¶ˆgimpé č¦½gamma"
#. RADIO_BUTTON_PRIVATE_COLORMAP
@@ -500,6 +559,11 @@ msgstr "č‡Ŗ動äæ®ę­£é”č‰²"
msgid "Use GUI progress pipe"
msgstr ""
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
#. TEXT_SCANNING_DEVICES
msgid "scanning for devices"
msgstr "č£ē½®ęŽƒęäø­"
@@ -516,6 +580,12 @@ msgstr "XSane éø項"
msgid "Type"
msgstr "åž‹ę…‹"
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "å…Øč‰²ēƄ圍"
+
#. TEXT_SCANNER_BACKEND
msgid "Scanner and backend:"
msgstr "ꎃꏏå™Ø和後ē«Æ驅動ē؋式:"
@@ -588,18 +658,11 @@ msgstr "8位元č¼øå‡ŗę ¼å¼"
msgid "16 bit output formats:"
msgstr "16位元č¼øå‡ŗę ¼å¼"
-#. TEXT_GIMP_REDUCE_16BIT_TO_8BIT
-msgid ""
-"Gimp does not support depth 16 bits/color.\n"
-"Do you want to reduce the depth to 8 bits/color?"
-msgstr ""
-"Gimp äøę”Æę“ 16位元/č‰²å½© ę·±åŗ¦\n"
-"ä½ ęƒ³č¦ē°”åŒ–ęˆ8 位元/č‰²å½© ę·±åŗ¦å—Ž?"
-
#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
msgid ""
-"Bit depth 16 bits/color is not supported for this output format.\n"
-"Do you want to reduce the depth to 8 bits/color?"
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
"č¼øå‡ŗę ¼å¼äøę”Æę“16位元/č‰²å½© ę·±åŗ¦\n"
"ä½ ęƒ³č¦ē°”åŒ–ęˆ8 位元/č‰²å½© ę·±åŗ¦å—Ž?"
@@ -636,6 +699,11 @@ msgstr "ē‰ˆęœ¬"
msgid "package"
msgstr "åŒ…č£"
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "å…Øč‰²ēƄ圍"
+
#. TEXT_WITH_GIMP_SUPPORT
msgid "with GIMP support"
msgstr "꜉GIMPę”Æę“"
@@ -755,9 +823,10 @@ msgid "Medium Name:"
msgstr "ē’°å¢ƒåēر"
#. TEXT_VIEWER_IMAGE_INFO
-#, c-format
+#, fuzzy, c-format
msgid ""
-"Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s"
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
msgstr ""
"大小 %d x %d 像ē“ , %d bit/color, %d č‰², %1.0f dpi x %1.0f dpi, %1.1f %s"
@@ -810,6 +879,7 @@ msgid "Name:"
msgstr "名ēر"
#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
msgid "Command:"
msgstr "命令"
@@ -830,18 +900,22 @@ msgid "Color resolution (dpi):"
msgstr "č‰²å½©č§£ęžåŗ¦ (dpi):"
#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
msgid "Width"
msgstr "åƬ"
#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
msgid "Height"
msgstr "高"
#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
msgid "Left offset"
msgstr "å·¦é‚Šå·®č·"
#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
msgid "Bottom offset"
msgstr "äø‹é‚Šå·®č·"
@@ -861,7 +935,17 @@ msgstr "列č”Øę©Ÿ ē¶ č‰²gamma"
msgid "Printer gamma blue:"
msgstr "列č”Øę©Ÿ č—č‰²gamma"
-#. TEXT_SETUP_PRINTER_PS_FLATDECODED
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -986,7 +1070,7 @@ msgstr ""
msgid "Viewer (Postscript):"
msgstr "ęŖ¢č¦–å™Ø(Postscript)"
-#. TEXT_SETUP_FAX_PS_FLATDECODED
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for fax"
msgstr ""
@@ -1065,10 +1149,45 @@ msgstr "ē¾¤ēµ„"
msgid "all"
msgstr "ꉀ꜉"
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "影像ęŖ”ę”ˆē€č¦½"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
msgid "new media"
msgstr ""
#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
msgid "Save"
msgstr "儲存"
@@ -1078,14 +1197,17 @@ msgid "Filetype"
msgstr "ęŖ”ę”ˆ"
#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
msgid "Copy"
msgstr "č¤‡č£½"
#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
msgid "Fax"
msgstr "傳ēœŸ"
#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
#, fuzzy
msgid "E-mail"
msgstr "電子郵件"
@@ -1178,6 +1300,12 @@ msgstr "é”Æē¤ŗč§£ęžåŗ¦åˆ—č”Ø"
msgid "Rotate postscript"
msgstr ""
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "å…Øč‰²ēƄ圍"
+
#
#. MENU_ITEM_EDIT_MEDIUM_DEF
msgid "Edit medium definition"
@@ -1224,6 +1352,86 @@ msgstr ""
msgid "Problems?"
msgstr "問锌?"
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "增加列č”Øę©Ÿ"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "增加列č”Øę©Ÿ"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "增加列č”Øę©Ÿ"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "增加列č”Øę©Ÿ"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "ęŽˆę¬Š"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "åÆ«å…„"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "還原"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "ęØ”ē³Š"
+
#. MENU_ITEM_COUNTER_LEN_INACTIVE
msgid "inactive"
msgstr "å¤±ę•ˆ"
@@ -1347,6 +1555,20 @@ msgstr ""
msgid "ASMTP CRAM-MD5"
msgstr ""
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "č‡Ŗ動äæ®ę­£é”č‰²"
+
#. PROGRESS_SCANNING
msgid "Scanning"
msgstr "ꎃꏏäø­"
@@ -1405,6 +1627,11 @@ msgstr "ęØ”ē³Šå½±åƒ"
msgid "OCR in progress"
msgstr ""
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "č‡Ŗ動äæ®ę­£é”č‰²"
+
#. DESC_SCAN_START
msgid "Start scan <Ctrl-Enter>"
msgstr "é–‹å§‹ęŽƒę<Ctrl-Enter>"
@@ -1455,8 +1682,9 @@ msgid ""
msgstr ""
#. DESC_FAXPROJECT
-msgid "Enter name of fax project"
-msgstr "č¼ø兄傳ēœŸå°ˆę”ˆēš„名ēر"
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "ęš«å­˜ē›®éŒ„ē€č¦½"
#. DESC_FAXPAGENAME
msgid "Enter new name for faxpage"
@@ -1466,10 +1694,15 @@ msgstr "č¼ø兄傳ēœŸå°ˆę”ˆēš„ę–°åēر"
msgid "Enter receiver phone number or address"
msgstr "č¼øå…„ęŽ„ę”¶ēš„é›»č©±č™Ÿē¢¼ęˆ–位址"
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "ęš«å­˜ē›®éŒ„ē€č¦½"
+
#. DESC_EMAIL_PROJECT
#, fuzzy
-msgid "Enter name of e-mail project"
-msgstr "č¼øå…„éƒµä»¶å°ˆę”ˆēš„名ēر"
+msgid "Enter e-mail project directory name"
+msgstr "ęš«å­˜ē›®éŒ„ē€č¦½"
#. DESC_EMAIL_IMAGENAME
#, fuzzy
@@ -1481,6 +1714,11 @@ msgstr "č¼øå…„éƒµä»¶å°ˆę”ˆēš„ę–°åēر"
msgid "Enter e-mail address"
msgstr "č¼ø兄郵件位址"
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "ęš«å­˜ē›®éŒ„ē€č¦½"
+
#. DESC_EMAIL_SUBJECT
#, fuzzy
msgid "Enter subject of e-mail"
@@ -1492,8 +1730,13 @@ msgstr ""
#. DESC_MULTIPAGE_PROJECT
#, fuzzy
-msgid "Enter name of multipage project"
-msgstr "č¼øå…„éƒµä»¶å°ˆę”ˆēš„名ēر"
+msgid "Enter multipage project directory name"
+msgstr "ęš«å­˜ē›®éŒ„ē€č¦½"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "ęš«å­˜ē›®éŒ„ē€č¦½"
#. DESC_MULTIPAGE_FILETYPE
#, fuzzy
@@ -1618,7 +1861,8 @@ msgstr ""
#
#. DESC_ENH_AUTO
-msgid "Autoadjust gamma, brightness and contrast <Ctrl-e>"
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
msgstr "č‡Ŗ動čŖæę•“gamma,äŗ®åŗ¦å’Œåå·®<Shift-e>"
#. DESC_ENH_DEFAULT
@@ -1692,18 +1936,22 @@ msgid "Resolution with which color images are printed and saved in postscript"
msgstr ""
#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
msgid "Width of printable area"
msgstr "列印區åƬåŗ¦"
#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
msgid "Height of printable area"
msgstr "列印區高åŗ¦"
#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
msgid "Left offset from the edge of the paper to the printable area"
msgstr "從頁ēš„é‚Šē·£åˆ°åˆ—印區ēš„å·¦å·®č·"
#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
msgid "Bottom offset from the edge of the paper to the printable area"
msgstr "從頁ēš„é‚Šē·£åˆ°åˆ—印區ēš„äø‹å·®č·"
@@ -1723,9 +1971,17 @@ msgstr ""
msgid "Additional gamma value for blue component for photocopy"
msgstr ""
-#. DESC_PRINTER_PS_FLATDECODED
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
-"Create zlib compressed postscript image for printer (flatdecode).\n"
+"Create zlib compressed postscript image for printer (flatedecode).\n"
"The printer has to understand postscript level 3!"
msgstr ""
@@ -1779,14 +2035,14 @@ msgid ""
"If filename counter is automatically increased, used numbers are skipped"
msgstr ""
-#. DESC_SAVE_PS_FLATDECODED
+#. DESC_SAVE_PS_FLATEDECODED
msgid ""
-"compress postscript image with zlib algorithm (flatdecode). When you want to "
-"print such a file your printer has to understand postscript level 3"
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
msgstr ""
-#. DESC_SAVE_PDF_FLATDECODED
-msgid "compress PDF image with zlib algorithm (flatdecode)."
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
msgstr ""
#. DESC_SAVE_PNM16_AS_ASCII
@@ -1798,7 +2054,8 @@ msgid ""
msgstr ""
#. DESC_REDUCE_16BIT_TO_8BIT
-msgid "If scanner sends image with 16 bits/color save image with 8 bits/color"
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
#. DESC_PSFILE_WIDTH
@@ -1826,7 +2083,8 @@ msgid "Use fixed main window size or scrolled, resizable main window"
msgstr "ä½æē”Øå›ŗ定äø»č¦–ēŖ—大小,ęˆ–č€…ę»‘å‹•,ę›“ę”¹äø»č¦–ēŖ—大小"
#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
-msgid "Disable preview gamma when XSane runs as gimp plugin"
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
msgstr "å–ę¶ˆé č¦½gammaē•¶XSaneč·‘åœØgimp plugin Ꙃ"
#. DESC_PREVIEW_COLORMAP
@@ -1912,6 +2170,15 @@ msgstr "é č¦½ęŽƒęå¾Œéøę“‡ęŽƒęå€å·²ē¶“å®Œęˆäŗ†"
msgid "Do color correction after preview scan has finished"
msgstr "é č¦½ęŽƒęå¾Œä½œé”č‰²ę ”ę­£å·²ē¶“å®Œęˆäŗ†"
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "é č¦½ęŽƒęå¾Œéøę“‡ęŽƒęå€å·²ē¶“å®Œęˆäŗ†"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
#. DESC_FAX_COMMAND
msgid "Enter command to be executed in fax mode"
msgstr "č¼øå…„åœØ傳ēœŸęؔ式äø‹č¢«åŸ·č”Œēš„命令"
@@ -1940,8 +2207,8 @@ msgstr "č¼øå…„ęŖ¢č¦–傳ēœŸę™‚č¦åŸ·č”Œēš„命令"
msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
msgstr ""
-#. DESC_FAX_PS_FLATDECODED
-msgid "Create zlib compressed postscript image for fax (flatdecode)"
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
msgstr ""
#. DESC_SMTP_SERVER
@@ -2022,9 +2289,10 @@ msgstr "č®€å–"
msgid "write"
msgstr "åÆ«å…„"
-#. DESC_PERMISSION_EXECUTE
-msgid "execute"
-msgstr "åŸ·č”Œ"
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "ä½æē”Ø者"
#. DESC_ADD_BATCH
msgid "Add selection for batch scan"
@@ -2190,6 +2458,36 @@ msgstr "å¾žę‰¹ę¬”åˆ—č”ØåˆŖ除éø꓇ēš„區域"
msgid "Turns on automatic mode"
msgstr ""
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "影像ęŖ”ę”ˆē€č¦½"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "影像ęŖ”ę”ˆē€č¦½"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "影像ęŖ”ę”ˆē€č¦½"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "影像ęŖ”ę”ˆē€č¦½"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "影像ęŖ”ę”ˆē€č¦½"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "影像ęŖ”ę”ˆē€č¦½"
+
#. ERR_HOME_DIR
msgid "Failed to determine home directory:"
msgstr "ē„”ę³•ę±ŗ定Homeē›®éŒ„"
@@ -2242,11 +2540,6 @@ msgstr "å„²å­˜ę™‚éŒÆčŖ¤"
msgid "Can't handle depth"
msgstr "ē„”ę³•å–å¾—ę·±åŗ¦"
-#. ERR_GIMP_BAD_DEPTH
-#, c-format
-msgid "GIMP can't handle depth %d bits/color"
-msgstr "GIMPäøčƒ½å–å¾—ę·±åŗ¦ %d bits/color"
-
#. ERR_UNKNOWN_SAVING_FORMAT
msgid "Unknown file format for saving"
msgstr "å„²å­˜ęˆęœŖēŸ„ēš„ęŖ”ę”ˆę ¼å¼"
@@ -2474,10 +2767,68 @@ msgstr "%s äøę˜Æäø€å€‹postscript ęŖ”"
msgid "Unsupported %d-bit output format: %s"
msgstr "äøę”Æę“ %d -bit č¼øå‡ŗę ¼å¼: %s"
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "å„²å­˜ę™‚éŒÆčŖ¤"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "é–‹å•Ÿå¤±ę•—"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "影像ęŖ”ę”ˆē€č¦½"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "åˆŖ除列č”Øę©Ÿ"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "äøčƒ½å»ŗē«‹ęš«å­˜ęŖ”"
+
#. WARN_VIEWER_IMAGE_NOT_SAVED
msgid "viewer image is not saved"
msgstr "ęŖ¢č¦–å™Øå½±åƒę²’ęœ‰å„²å­˜"
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "ä½æē”Ø:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "å„²å­˜ę‰¹ę¬”åˆ—č”Ø"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "é›¢é–‹ę™‚å„²å­˜č£ē½®åå„½čح定"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "偏儽čح定"
+
#. TEXT_USAGE
msgid "Usage:"
msgstr "ä½æē”Ø:"
@@ -2822,68 +3173,63 @@ msgstr "čØ˜ę†¶é«”äøč¶³"
msgid "Access to resource has been denied"
msgstr "č³‡ęŗå­˜å–č¢«ē¦ę­¢"
-#~ msgid "Could not create temporary file"
-#~ msgstr "äøčƒ½å»ŗē«‹ęš«å­˜ęŖ”"
-
-#~ msgid "Could not create temporary preview files"
-#~ msgstr "äøčƒ½å»ŗē«‹ęš«å­˜é č¦½ęŖ”"
-
-#~ msgid "Could not create filenames for preview files"
-#~ msgstr "äøčƒ½å»ŗē«‹é č¦½ęŖ”ēš„ęŖ”名"
-
#, fuzzy
-#~ msgid "POP3 authentication"
-#~ msgstr "ęŽˆę¬Š"
-
-#~ msgid "XSane mode"
-#~ msgstr "XSane ęؔ式"
-
-#~ msgid "POP3 user:"
-#~ msgstr "POP3 åø³č™Ÿ:"
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "åˆŖ除列č”Øę©Ÿ"
-#~ msgid "POP3 password:"
-#~ msgstr "POP3åƆē¢¼:"
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "åˆŖ除列č”Øę©Ÿ"
-#
#, fuzzy
-#~ msgid "Multipage project not created"
-#~ msgstr "äæ”ä»¶å°ˆę”ˆęœŖå»ŗē«‹"
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "åˆŖ除列č”Øę©Ÿ"
-#
#, fuzzy
-#~ msgid "Multipage project created"
-#~ msgstr "äæ”ä»¶å°ˆę”ˆå·²å»ŗē«‹"
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "åˆŖ除列č”Øę©Ÿ"
-#
#, fuzzy
-#~ msgid "Multipage project changed"
-#~ msgstr "äæ”ä»¶å°ˆę”ˆę›“ę”¹äŗ†"
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "åˆŖ除列č”Øę©Ÿ"
#, fuzzy
-#~ msgid "Saving multipage file"
-#~ msgstr "儲存影像"
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "åˆŖ除列č”Øę©Ÿ"
-#
#, fuzzy
-#~ msgid "Multipage saving aborted"
-#~ msgstr "äæ”ä»¶å°ˆę”ˆå·²å»ŗē«‹"
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "影像ęŖ”ę”ˆē€č¦½"
-#~ msgid "Image"
-#~ msgstr "影像"
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "影像ęŖ”ę”ˆē€č¦½"
-#~ msgid "Viewer (png):"
-#~ msgstr "ęŖ¢č¦–å™Ø(png)"
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMPäøčƒ½å–å¾—ę·±åŗ¦ %d bits/color"
#, fuzzy
-#~ msgid "Enter command to be executed to view an e-mail image"
-#~ msgstr "č¼øå…„ē•¶ęŖ¢č¦–äø€å€‹éƒµä»¶å½±åƒę™‚č¦åŸ·č”Œēš„命令"
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "åˆŖ除列č”Øę©Ÿ"
#, fuzzy
-#~ msgid "Failed to execute e-mail image viewer:"
-#~ msgstr "äøčƒ½åŸ·č”Œéƒµä»¶å½±åƒęŖ¢č¦–å™Ø"
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "åˆŖ除列č”Øę©Ÿ"
-#~ msgid "Step"
-#~ msgstr "ę­„é©Ÿ"
+#~ msgid "Enter name of fax project"
+#~ msgstr "č¼ø兄傳ēœŸå°ˆę”ˆēš„名ēر"
-#~ msgid "Mail"
-#~ msgstr "電子郵件"
+#, fuzzy
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "č¼øå…„éƒµä»¶å°ˆę”ˆēš„名ēر"
+
+#, fuzzy
+#~ msgid "Enter name of multipage project"
+#~ msgstr "č¼øå…„éƒµä»¶å°ˆę”ˆēš„名ēر"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp äøę”Æę“ 16位元/č‰²å½© ę·±åŗ¦\n"
+#~ "ä½ ęƒ³č¦ē°”åŒ–ęˆ8 位元/č‰²å½© ę·±åŗ¦å—Ž?"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
new file mode 100644
index 0000000..71d1b5f
--- /dev/null
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..1729b47
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,3203 @@
+# chines translation for xsane
+# Copyright (C) 2004
+# leolarrel <leolarrel@yahoo.com.tw>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: XSANE 0.991\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"PO-Revision-Date: 2003-03-27 12:00+0100\n"
+"Last-Translator: gnome-cn@gmail.com\n"
+"Language-Team: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 16bit\n"
+
+#. Please translate this to the correct directory name (eg. german=>de)
+#. XSANE_LANGUAGE_DIR
+msgid "language_dir"
+msgstr "zh_CN"
+
+#. XSANE_COPYRIGHT_SIGN
+msgid "(c)"
+msgstr "(c)"
+
+#. can be translated with \251
+#. FILENAME_PREFIX_CLONE_OF
+msgid "clone-of-"
+msgstr ""
+
+#. WINDOW_ABOUT_XSANE
+msgid "About"
+msgstr "ęœ‰å…³"
+
+#. WINDOW_ABOUT_TRANSLATION, MENU_ITEM_ABOUT_TRANSLATION
+#. MENU_ITEM_ABOUT_TRANSLATION
+msgid "About translation"
+msgstr "关äŗŽēæ»čƑ"
+
+#. WINDOW_AUTHORIZE
+msgid "authorization"
+msgstr "ꎈꝃ"
+
+#. WINDOW_GPL
+msgid "GPL - the license"
+msgstr ""
+
+#. WINDOW_EULA
+msgid "End User License Agreement"
+msgstr "ē»ˆē«Æä½æē”Øč€…ę”ēŗ¦"
+
+#. WINDOW_INFO
+msgid "info"
+msgstr "资č®Æ"
+
+#. WINDOW_LOAD_BATCH_LIST
+msgid "load batch list"
+msgstr "č½½å…„ę‰¹ę¬”åˆ—č”Ø"
+
+#. WINDOW_SAVE_BATCH_LIST
+msgid "save batch list"
+msgstr "å‚Øå­˜ę‰¹ę¬”åˆ—č”Ø"
+
+#. WINDOW_BATCH_SCAN
+msgid "batch scan"
+msgstr "ę‰¹ę¬”ę‰«ę"
+
+#. WINDOW_BATCH_RENAME
+msgid "rename batch area"
+msgstr "ę›“åę‰¹ę¬”åŒŗ"
+
+#. WINDOW_FAX_PROJECT
+msgid "fax project"
+msgstr "ä¼ ēœŸäø“ę”ˆ"
+
+#. WINDOW_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for fax project"
+msgstr "č¾“å…„ä¼ ēœŸäø“ę”ˆēš„名ē§°"
+
+#. WINDOW_FAX_RENAME
+msgid "rename fax page"
+msgstr "ę›“åä¼ ēœŸäø“ę”ˆ"
+
+#. WINDOW_FAX_INSERT
+msgid "insert ps-file into fax"
+msgstr "ę’å…„psę”£ę”ˆåˆ°ä¼ ēœŸ"
+
+#. WINDOW_EMAIL_PROJECT
+msgid "E-mail project"
+msgstr "ē”µå­é‚®ä»¶å·„ē؋"
+
+#. WINDOW_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for email project"
+msgstr "č¾“å…„é‚®ä»¶äø“ę”ˆēš„名ē§°"
+
+#. WINDOW_EMAIL_RENAME
+msgid "rename e-mail image"
+msgstr "ę›“åē”µå­é‚®ä»¶å›¾åƒ"
+
+#. WINDOW_EMAIL_INSERT
+msgid "insert file into e-mail"
+msgstr "ę’å…„ę–‡ä»¶åˆ°ē”µå­é‚®ä»¶"
+
+#. WINDOW_MULTIPAGE_PROJECT
+msgid "multipage project"
+msgstr "多锵巄ē؋"
+
+#. WINDOW_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "browse for multipage project"
+msgstr "多锵巄ē؋"
+
+#. WINDOW_PRESET_AREA_RENAME
+msgid "rename preset area"
+msgstr "ę›“åé¢„č®¾åŒŗ"
+
+#
+#. WINDOW_PRESET_AREA_ADD
+msgid "add preset area"
+msgstr "ę›“åé¢„č®¾åŒŗ"
+
+#
+#. WINDOW_MEDIUM_RENAME
+msgid "rename medium"
+msgstr "ę›“åē”µå­é‚®ä»¶äø“ę”ˆ"
+
+#. WINDOW_MEDIUM_ADD
+msgid "add new medium"
+msgstr "ę·»åŠ ę–°åŖ’体"
+
+#. WINDOW_SETUP
+msgid "setup"
+msgstr "č®¾å®š"
+
+#. WINDOW_HISTOGRAM
+msgid "Histogram"
+msgstr "ēŸ©å½¢å›¾"
+
+#. WINDOW_GAMMA
+msgid "Gamma curve"
+msgstr "Gamma ę›²ēŗæ"
+
+#. WINDOW_STANDARD_OPTIONS
+msgid "Standard options"
+msgstr "åŸŗęœ¬é€‰é”¹"
+
+#. WINDOW_ADVANCED_OPTIONS
+msgid "Advanced options"
+msgstr "čæ›é˜¶é€‰é”¹"
+
+#. WINDOW_DEVICE_SELECTION
+msgid "device selection"
+msgstr "č£…ē½®é€‰ę‹©"
+
+#. WINDOW_PREVIEW
+msgid "Preview"
+msgstr "é¢„č§ˆ"
+
+#. WINDOW_VIEWER
+#. MENU_ITEM_VIEWER
+msgid "Viewer"
+msgstr "ę£€č§†å™Ø"
+
+#. WINDOW_VIEWER_OUTPUT_FILENAME
+msgid "Viewer: select output filename"
+msgstr "ę£€č§†å™Ø:é€‰ę‹©č¾“å‡ŗę”£å"
+
+#. WINDOW_OCR_OUTPUT_FILENAME
+msgid "Select output filename for OCR text file"
+msgstr "äøŗOCRę–‡å­—ę”£é€‰ę‹©č¾“å‡ŗę”£å"
+
+#. WINDOW_OUTPUT_FILENAME
+msgid "select output filename"
+msgstr "é€‰ę‹©č¾“å‡ŗę”£å"
+
+#. WINDOW_SAVE_SETTINGS
+msgid "save device settings"
+msgstr "å‚Øå­˜č£…ē½®é€‰é”¹"
+
+#. WINDOW_LOAD_SETTINGS
+msgid "load device settings"
+msgstr "č½½å…„č£…ē½®é€‰é”¹"
+
+#. WINDOW_CHANGE_WORKING_DIR
+msgid "change working directory"
+msgstr "ę›“ę”¹å·„ä½œē›®å½•"
+
+#. WINDOW_TMP_PATH
+msgid "select temporary directory"
+msgstr "é€‰ę‹©ęš‚å­˜ē›®å½•"
+
+#. WINDOW_SCALE
+#. DESC_VIEWER_SCALE
+msgid "Scale image"
+msgstr "č°ƒę•“å½±åƒ"
+
+#. WINDOW_DESPECKLE
+#. DESC_VIEWER_DESPECKLE
+msgid "Despeckle image"
+msgstr "åŽ»ę–‘"
+
+#. WINDOW_BLUR
+#. DESC_VIEWER_BLUR
+msgid "Blur image"
+msgstr "ęØ”ē³Šå½±åƒ"
+
+#. WINDOW_STORE_MEDIUM
+msgid "Store medium definition"
+msgstr "å‚Ø存ēŽÆå¢ƒč®¾å®š"
+
+#. WINDOW_NO_DEVICES
+msgid "No devices available"
+msgstr "ę²”ęœ‰č£…ē½®åÆ仄ä½æē”Ø"
+
+#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default color ICM-profile"
+msgstr "删除列č”Øęœŗ"
+
+#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "select scanner default gray ICM-profile"
+msgstr "删除列č”Øęœŗ"
+
+#. WINDOW_DISPLAY_ICM_PROFILE
+msgid "select display ICM-profile"
+msgstr ""
+
+#. WINDOW_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "select custom proofing ICM-profile"
+msgstr "é€‰ę‹©č¾“å‡ŗę”£å"
+
+#. WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "select working color space ICM-profile"
+msgstr "删除列č”Øęœŗ"
+
+#. WINDOW_PRINTER_ICM_PROFILE
+#, fuzzy
+msgid "select printer ICM-profile"
+msgstr "删除列č”Øęœŗ"
+
+#. MENU_FILE
+msgid "File"
+msgstr "ę”£ę”ˆ"
+
+#. MENU_PREFERENCES
+msgid "Preferences"
+msgstr "åå„½č®¾å®š"
+
+#. MENU_VIEW
+msgid "View"
+msgstr "ę£€č§†"
+
+#. MENU_WINDOW
+msgid "Window"
+msgstr "视ēŖ—"
+
+#. MENU_HELP
+#. BUTTON_HELP
+msgid "Help"
+msgstr "åø®åŠ©"
+
+#. MENU_EDIT
+msgid "Edit"
+msgstr "ē¼–č¾‘"
+
+#. MENU_FILTERS
+msgid "Filters"
+msgstr "čæ‡ę»¤å™Ø"
+
+#. MENU_GEOMETRY
+msgid "Geometry"
+msgstr "大小"
+
+#. MENU_COLOR_MANAGEMENT
+#. NOTEBOOK_COLOR_MANAGEMENT_OPTIONS
+msgid "Color management"
+msgstr ""
+
+#. MENU_ITEM_ABOUT_XSANE
+msgid "About XSane"
+msgstr "ęœ‰å…³Xsane"
+
+#. MENU_ITEM_INFO
+msgid "Info"
+msgstr "资č®Æ"
+
+#. MENU_ITEM_QUIT
+msgid "Quit"
+msgstr "ē¦»å¼€"
+
+#. MENU_ITEM_SAVE_IMAGE
+#. DESC_VIEWER_SAVE
+msgid "Save image"
+msgstr "å‚Ø存影像"
+
+#. MENU_ITEM_OCR
+msgid "OCR - save as text"
+msgstr "OCR - å­˜ęˆę–‡å­—ę”£"
+
+#. MENU_ITEM_CLONE
+msgid "Clone"
+msgstr "复制"
+
+#. MENU_ITEM_SCALE
+msgid "Scale"
+msgstr "č°ƒę•“"
+
+#. MENU_ITEM_CLOSE
+#. BUTTON_CLOSE
+msgid "Close"
+msgstr "关闭"
+
+#. MENU_ITEM_UNDO
+msgid "Undo"
+msgstr "å›žč¦†"
+
+#. MENU_ITEM_DESPECKLE
+msgid "Despeckle"
+msgstr "åŽ»ę–‘"
+
+#. MENU_ITEM_BLUR
+msgid "Blur"
+msgstr "ęØ”ē³Š"
+
+#. MENU_ITEM_ROTATE90
+msgid "Rotate 90"
+msgstr "ę—‹č½¬ 90åŗ¦"
+
+#
+#. MENU_ITEM_ROTATE180
+msgid "Rotate 180"
+msgstr "ę—‹č½¬180åŗ¦"
+
+#
+#. MENU_ITEM_ROTATE270
+msgid "Rotate 270"
+msgstr "ę—‹č½¬270åŗ¦"
+
+#
+#. MENU_ITEM_MIRROR_X
+msgid "Mirror |"
+msgstr "ę°“å¹³é•œåƒ |"
+
+#
+#. MENU_ITEM_MIRROR_Y
+msgid "Mirror -"
+msgstr "垂ē›“镜像 -"
+
+#. FRAME_RAW_IMAGE
+msgid "Raw image"
+msgstr "实际影像"
+
+#. FRAME_ENHANCED_IMAGE
+msgid "Enhanced image"
+msgstr "增å¼ŗ影像"
+
+#. BUTTON_SCAN
+msgid "Scan"
+msgstr "ę‰«ę"
+
+#. BUTTON_OK
+msgid "Ok"
+msgstr "ē”®å®š"
+
+#. BUTTON_ACCEPT
+msgid "Accept"
+msgstr "ęŽ„å—"
+
+#. BUTTON_NOT_ACCEPT
+msgid "Not accept"
+msgstr "äøęŽ„受"
+
+#. BUTTON_APPLY
+msgid "Apply"
+msgstr "åŗ”ē”Ø"
+
+#. BUTTON_CANCEL
+msgid "Cancel"
+msgstr "å–ę¶ˆ"
+
+#. BUTTON_REDUCE
+msgid "Reduce"
+msgstr "čæ˜åŽŸ"
+
+#. BUTTON_CONT_AT_OWN_RISK
+msgid "Continue at your own risk"
+msgstr "ē»§ē»­ä½ č‡Ŗå·±ēš„冒险"
+
+#. BUTTON_BROWSE
+msgid "Browse"
+msgstr "ęµč§ˆ"
+
+#. BUTTON_OVERWRITE
+msgid "Overwrite"
+msgstr "č¦†å†™"
+
+#. BUTTON_BATCH_LIST_SCAN
+msgid "Scan batch list"
+msgstr "ę‰«ęę‰¹ę¬”åˆ—č”Ø"
+
+#. BUTTON_BATCH_AREA_SCAN
+msgid "Scan selected area"
+msgstr "ę‰«ęé€‰ę‹©ēš„åŒŗ域"
+
+#. BUTTON_PAGE_DELETE
+msgid "Delete page"
+msgstr "删除锵"
+
+#. BUTTON_PAGE_SHOW
+msgid "Show page"
+msgstr "ę˜¾ē¤ŗ锵"
+
+#. BUTTON_PAGE_RENAME
+msgid "Rename page"
+msgstr "ę›“åé”µ"
+
+#. BUTTON_IMAGE_DELETE
+msgid "Delete image"
+msgstr "删除影像"
+
+#. BUTTON_IMAGE_SHOW
+msgid "Show image"
+msgstr "ę˜¾ē¤ŗ影像"
+
+#
+#. BUTTON_IMAGE_EDIT
+msgid "Edit image"
+msgstr "ē¼–č¾‘å½±åƒ"
+
+#. BUTTON_IMAGE_RENAME
+msgid "Rename image"
+msgstr "ę›“åå½±åƒ"
+
+#. BUTTON_FILE_INSERT
+msgid "Insert file"
+msgstr "ę’å…„ę”£ę”ˆ"
+
+#. BUTTON_CREATE_PROJECT
+msgid "Create project"
+msgstr "å»ŗē«‹äø“ę”ˆ"
+
+#. BUTTON_SEND_PROJECT
+msgid "Send project"
+msgstr "传送äø“ę”ˆ"
+
+#. BUTTON_SAVE_MULTIPAGE
+msgid "Save multipage file"
+msgstr "äæå­˜å¤šé”µę–‡ä»¶"
+
+#. BUTTON_DELETE_PROJECT
+msgid "Delete project"
+msgstr "删除äø“ę”ˆ"
+
+#. BUTTON_ADD_PRINTER
+msgid "Add printer"
+msgstr "增加列č”Øęœŗ"
+
+#. BUTTON_DELETE_PRINTER
+msgid "Delete printer"
+msgstr "删除列č”Øęœŗ"
+
+#. BUTTON_PREVIEW_ACQUIRE
+msgid "Acquire preview"
+msgstr "čŽ·å¾—é¢„č§ˆ"
+
+#. BUTTON_PREVIEW_CANCEL
+msgid "Cancel preview"
+msgstr "åˆ é™¤é¢„č§ˆ"
+
+#. BUTTON_DISCARD_IMAGE
+msgid "Discard image"
+msgstr "ęŠ›å¼ƒé¢„č§ˆ"
+
+#. BUTTON_DISCARD_ALL_IMAGES
+msgid "Discard all images"
+msgstr "ęŠ›å¼ƒę‰€ęœ‰å½±åƒ"
+
+#. BUTTON_DO_NOT_CLOSE
+msgid "Do not close"
+msgstr "äøč¦å…³é—­"
+
+#. BUTTON_SCALE_BIND
+msgid "Bind scale"
+msgstr ""
+
+#. RADIO_BUTTON_FINE_MODE
+msgid "Fine mode"
+msgstr ""
+
+#. RADIO_BUTTON_HTML_EMAIL
+msgid "HTML e-mail"
+msgstr "HTML邮件"
+
+#. RADIO_BUTTON_SAVE_DEVPREFS_AT_EXIT
+msgid "Save device preferences at exit"
+msgstr "ē¦»å¼€ę—¶å‚Øå­˜č£…ē½®åå„½č®¾å®š"
+
+#. RADIO_BUTTON_OVERWRITE_WARNING
+msgid "Overwrite warning"
+msgstr "č¦†å†™č­¦å‘Š"
+
+#. RADIO_BUTTON_SKIP_EXISTING_NRS
+msgid "Skip existing filenames"
+msgstr "ēœē•„已存åœØēš„ę”£ę”ˆ"
+
+#. RADIO_BUTTON_SAVE_PS_FLATEDECODED
+msgid "Save postscript zlib compressed (ps level 3)"
+msgstr ""
+
+#. RADIO_BUTTON_SAVE_PDF_FLATEDECODED
+msgid "Save PDF zlib compressed"
+msgstr ""
+
+#. RADIO_BUTTON_SAVE_PNM16_AS_ASCII
+msgid "Save 16bit pnm in ascii format"
+msgstr "å‚Ø存16位元pnmåœØasciię ¼å¼"
+
+#. RADIO_BUTTON_REDUCE_16BIT_TO_8BIT
+msgid "Reduce 16 bit image to 8 bit"
+msgstr "ē®€åŒ–16位元影像到8位元"
+
+#. RADIO_BUTTON_WINDOW_FIXED
+msgid "Main window size fixed"
+msgstr "äø»č§†ēŖ—大小å›ŗ定"
+
+#. RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA
+#, fuzzy
+msgid "Disable GIMP preview gamma"
+msgstr "å–ę¶ˆgimpé¢„č§ˆgamma"
+
+#. RADIO_BUTTON_PRIVATE_COLORMAP
+msgid "Use private colormap"
+msgstr "ä½æē”Ø先前ēš„colormap"
+
+#. RADIO_BUTTON_AUTOENHANCE_GAMMA
+msgid "Autoenhance gamma"
+msgstr "č‡ŖåŠØ增å¼ŗgamma"
+
+#. RADIO_BUTTON_PRESELECT_SCANAREA
+msgid "Preselect scanarea"
+msgstr "é¢„å…ˆé€‰ę‹©ę‰«ęåŒŗ"
+
+#. RADIO_BUTTON_AUTOCORRECT_COLORS
+msgid "Autocorrect colors"
+msgstr "č‡ŖåŠØäæ®ę­£é¢œč‰²"
+
+#. RADIO_BUTTON_OCR_USE_GUI_PIPE
+msgid "Use GUI progress pipe"
+msgstr ""
+
+#. RADIO_BUTTON_CMS_BPC
+#. MENU_ITEM_CMS_BLACK_POINT_COMPENSATION
+msgid "Black point compensation"
+msgstr ""
+
+#. TEXT_SCANNING_DEVICES
+msgid "scanning for devices"
+msgstr "č£…ē½®ę‰«ęäø­"
+
+#. TEXT_AVAILABLE_DEVICES
+msgid "Available devices:"
+msgstr "åÆē”Øēš„č£…ē½®ęœ‰:"
+
+#. TEXT_XSANE_OPTIONS
+msgid "XSane options"
+msgstr "XSane 选锹"
+
+#. TEXT_FILETYPE
+msgid "Type"
+msgstr "ē±»åž‹"
+
+#. TEXT_CMS_FUNCTION
+#. DESC_CMS_FUNCTION
+#, fuzzy
+msgid "Color management function"
+msgstr "å…Øč‰²čŒƒå›“"
+
+#. TEXT_SCANNER_BACKEND
+msgid "Scanner and backend:"
+msgstr "ę‰«ęå™Ø和后ē«Æ驱åŠØē؋式:"
+
+#. TEXT_VENDOR
+msgid "Vendor:"
+msgstr "ęä¾›č€…:"
+
+#. TEXT_MODEL
+msgid "Model:"
+msgstr "ę ·å¼:"
+
+#. TEXT_TYPE
+msgid "Type:"
+msgstr "åž‹ę€:"
+
+#. TEXT_DEVICE
+msgid "Device:"
+msgstr "č£…ē½®:"
+
+#. TEXT_LOADED_BACKEND
+msgid "Loaded backend:"
+msgstr "č½½å…„ēš„后ē«Æ驱åŠØē؋式:"
+
+#. TEXT_SANE_VERSION
+msgid "Sane version:"
+msgstr "Saneē‰ˆęœ¬:"
+
+#. TEXT_RECENT_VALUES
+msgid "Recent values:"
+msgstr "꜀čæ‘ēš„值:"
+
+#. TEXT_GAMMA_CORR_BY
+msgid "Gamma correction by:"
+msgstr "Gammaę ”ę­£ē”±:"
+
+#. TEXT_SCANNER
+msgid "scanner"
+msgstr "ę‰«ęå™Ø"
+
+#. TEXT_SOFTWARE_XSANE
+msgid "software (XSane)"
+msgstr "č½Æ体(XSane)"
+
+#. TEXT_NONE
+msgid "none"
+msgstr "ꗠ"
+
+#. TEXT_GAMMA_INPUT_DEPTH
+msgid "Gamma input depth:"
+msgstr "Gammač¾“å…„ę·±åŗ¦"
+
+#. TEXT_GAMMA_OUTPUT_DEPTH
+msgid "Gamma output depth:"
+msgstr "Gammač¾“å‡ŗę·±åŗ¦"
+
+#. TEXT_SCANNER_OUTPUT_DEPTH
+msgid "Scanner output depth:"
+msgstr "ę‰«ęå™Øč¾“å‡ŗę·±åŗ¦"
+
+#. TEXT_OUTPUT_FORMATS
+msgid "XSane output formats:"
+msgstr "XSaneč¾“å‡ŗę ¼å¼"
+
+#. TEXT_8BIT_FORMATS
+msgid "8 bit output formats:"
+msgstr "8ä½å…ƒč¾“å‡ŗę ¼å¼"
+
+#. TEXT_16BIT_FORMATS
+msgid "16 bit output formats:"
+msgstr "16ä½å…ƒč¾“å‡ŗę ¼å¼"
+
+#. TEXT_REDUCE_16BIT_TO_8BIT
+#, fuzzy
+msgid ""
+"Bit depth 16 bits/channel is not supported for this output format.\n"
+"Do you want to reduce the depth to 8 bits/channel?"
+msgstr ""
+"č¾“å‡ŗę ¼å¼äøę”Æę“16位元/č‰²å½© ę·±åŗ¦\n"
+"ä½ ęƒ³č¦ē®€åŒ–ęˆ8 位元/č‰²å½© ę·±åŗ¦å—?"
+
+#. TEXT_AUTHORIZATION_REQ
+msgid "Authorization required for"
+msgstr ""
+
+#. TEXT_AUTHORIZATION_SECURE
+msgid "Password transmission is secure"
+msgstr "åƆē å‘送ę˜Æ安å…Øēš„"
+
+#. TEXT_AUTHORIZATION_INSECURE
+msgid "Backend requests plain-text password"
+msgstr "后ē«Æ驱åŠØēØ‹å¼éœ€č¦ēŗÆę–‡å­—åƆē "
+
+#. TEXT_USERNAME
+msgid "Username :"
+msgstr "ä½æē”Øč€…åē§°"
+
+#. TEXT_PASSWORD
+msgid "Password :"
+msgstr "åƆē "
+
+#. TEXT_INVALID_PARAMS
+msgid "Invalid parameters."
+msgstr "ꗠꕈēš„å‚ę•°"
+
+#. TEXT_VERSION
+msgid "version:"
+msgstr "ē‰ˆęœ¬"
+
+#. TEXT_PACKAGE
+msgid "package"
+msgstr "åŒ…č£…"
+
+#. TEXT_WITH_CMS_FUNCTION
+#, fuzzy
+msgid "with color management function"
+msgstr "å…Øč‰²čŒƒå›“"
+
+#. TEXT_WITH_GIMP_SUPPORT
+msgid "with GIMP support"
+msgstr "꜉GIMPę”Æę“"
+
+#. TEXT_WITHOUT_GIMP_SUPPORT
+msgid "without GIMP support"
+msgstr "ę²”ęœ‰GIMPę”Æę“"
+
+#. TEXT_GTK_VERSION
+msgid "compiled with GTK-"
+msgstr ""
+
+#. TEXT_GIMP_VERSION
+msgid "compiled with GIMP-"
+msgstr ""
+
+#. TEXT_UNKNOWN
+msgid "unknown"
+msgstr "ęœŖēŸ„ēš„"
+
+#. TEXT_EULA
+msgid ""
+"XSane is distributed under the terms of the GNU General Public License\n"
+"as published by the Free Software Foundation; either version 2 of the\n"
+"License, or (at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but\n"
+"WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+"Should the program prove defective, you assume the cost of all\n"
+"necessary servicing, repair or correction. To use this program you\n"
+"have to read, understand and accept the following\n"
+"\"NO WARRANTY\" agreement.\n"
+msgstr ""
+
+#. TEXT_GPL
+msgid ""
+"XSane is distributed under the terms of the GNU General Public License\n"
+"as published by the Free Software Foundation; either version 2 of the\n"
+"License, or (at your option) any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but\n"
+"WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+
+#. TEXT_EMAIL_ADR
+msgid "E-mail:"
+msgstr "ē”µå­é‚®ä»¶:"
+
+#. TEXT_HOMEPAGE
+msgid "Homepage:"
+msgstr "首锵"
+
+#. TEXT_FILE
+msgid "File:"
+msgstr "ę”£ę”ˆ"
+
+#. TEXT_TRANSLATION
+msgid "Translation:"
+msgstr "ēæ»čƑ"
+
+#. Please translate this to something like
+#. translation to YOUR LANGUAGE\n
+#. by YOUR NAME\n
+#. E-mail: your.name@yourdomain.com\n
+#. TEXT_TRANSLATION_INFO
+msgid ""
+"untranslated original english text\n"
+"by Oliver Rauch\n"
+"E-mail: Oliver.Rauch@rauch-domain.de\n"
+msgstr ""
+"ēæ»čƑ: ęØēŗ¢\n"
+"å¦‚ęœ‰ä»»ä½•ēæ»čƑēš„问题,ꈖ者ę‚Øęœ‰ę›“č““åˆ‡ēš„ēæ»ę³•,čÆ·ē”±äø‹åˆ— e-mail 联ē»œ\n"
+"gnome-cn@gmail.com\n"
+
+#. TEXT_INFO_BOX
+msgid "0x0: 0KB"
+msgstr ""
+
+#. TEXT_ADF_PAGES_SCANNED
+msgid "Scanned pages: "
+msgstr "ę‰«ęēš„锵面"
+
+#. TEXT_EMAIL_TEXT
+msgid "E-mail text:"
+msgstr "邮件ēš„内容:"
+
+#. TEXT_ATTACHMENTS
+msgid "Attachments:"
+msgstr "附件"
+
+#. TEXT_EMAIL_STATUS
+msgid "Project status:"
+msgstr "äø“ę”ˆēŠ¶ę€"
+
+#. TEXT_EMAIL_FILETYPE
+msgid "E-mail image filetype:"
+msgstr "邮件图像ē±»åž‹:"
+
+#. TEXT_PAGES
+msgid "Pages:"
+msgstr "锵ꕰ:"
+
+#. TEXT_MULTIPAGE_FILETYPE
+msgid "Multipage document filetype:"
+msgstr "å¤šé”µę–‡ę”£ē±»åž‹:"
+
+#. TEXT_MEDIUM_DEFINITION_NAME
+msgid "Medium Name:"
+msgstr "ēŽÆ境名ē§°"
+
+#. TEXT_VIEWER_IMAGE_INFO
+#, fuzzy, c-format
+msgid ""
+"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
+"1.1f %s"
+msgstr ""
+"大小 %d x %d 像ē“ , %d bit/color, %d č‰², %1.0f dpi x %1.0f dpi, %1.1f %s"
+
+#. TEXT_DESPECKLE_RADIUS
+msgid "Despeckle radius:"
+msgstr ""
+
+#. TEXT_BLUR_RADIUS
+msgid "Blur radius:"
+msgstr "ęØ”ē³ŠåŠå¾„"
+
+#. TEXT_BATCH_AREA_DEFAULT_NAME
+msgid "(no name)"
+msgstr ""
+
+#. TEXT_BATCH_LIST_AREANAME
+msgid "Area name:"
+msgstr "åŒŗ域名ē§°"
+
+#. TEXT_BATCH_LIST_SCANMODE
+msgid "Scanmode:"
+msgstr "ę‰«ęęؔ式"
+
+#. TEXT_BATCH_LIST_GEOMETRY_TL
+msgid "Top left:"
+msgstr "å·¦äøŠč§’"
+
+#. TEXT_BATCH_LIST_GEOMETRY_SIZE
+msgid "Size:"
+msgstr "大小"
+
+#. TEXT_BATCH_LIST_RESOLUTION
+msgid "Resolution:"
+msgstr "č§£ęžåŗ¦"
+
+#. TEXT_BATCH_LIST_BIT_DEPTH
+msgid "Bit depth:"
+msgstr "ä½å…ƒę·±åŗ¦"
+
+#. TEXT_BATCH_LIST_BY_GUI
+msgid "as selected"
+msgstr ""
+
+#. TEXT_SETUP_PRINTER_SEL
+msgid "Printer selection:"
+msgstr "列č”Øęœŗ选ꋩ"
+
+#. TEXT_SETUP_PRINTER_NAME
+msgid "Name:"
+msgstr "名ē§°"
+
+#. TEXT_SETUP_PRINTER_CMD, TEXT_SETUP_FAX_CMD
+#. TEXT_SETUP_FAX_COMMAND
+msgid "Command:"
+msgstr "命令"
+
+#. TEXT_SETUP_COPY_NR_OPT
+msgid "Copy number option:"
+msgstr ""
+
+#. TEXT_SETUP_PRINTER_LINEART_RES
+msgid "Lineart resolution (dpi):"
+msgstr ""
+
+#. TEXT_SETUP_PRINTER_GRAYSCALE_RES
+msgid "Grayscale resolution (dpi):"
+msgstr ""
+
+#. TEXT_SETUP_PRINTER_COLOR_RES
+msgid "Color resolution (dpi):"
+msgstr "č‰²å½©č§£ęžåŗ¦ (dpi):"
+
+#. TEXT_SETUP_PRINTER_WIDTH
+#. TEXT_SETUP_FAX_WIDTH
+msgid "Width"
+msgstr "宽"
+
+#. TEXT_SETUP_PRINTER_HEIGHT
+#. TEXT_SETUP_FAX_HEIGHT
+msgid "Height"
+msgstr "高"
+
+#. TEXT_SETUP_PRINTER_LEFT
+#. TEXT_SETUP_FAX_LEFT
+msgid "Left offset"
+msgstr "å·¦č¾¹å·®č·"
+
+#. TEXT_SETUP_PRINTER_BOTTOM
+#. TEXT_SETUP_FAX_BOTTOM
+msgid "Bottom offset"
+msgstr "äø‹č¾¹å·®č·"
+
+#. TEXT_SETUP_PRINTER_GAMMA
+msgid "Printer gamma value:"
+msgstr "列č”Øęœŗgamma值"
+
+#. TEXT_SETUP_PRINTER_GAMMA_RED
+msgid "Printer gamma red:"
+msgstr "列č”Øęœŗ ēŗ¢č‰²gamma"
+
+#. TEXT_SETUP_PRINTER_GAMMA_GREEN
+msgid "Printer gamma green:"
+msgstr "列č”Øęœŗ ē»æč‰²gamma"
+
+#. TEXT_SETUP_PRINTER_GAMMA_BLUE
+msgid "Printer gamma blue:"
+msgstr "列č”Øęœŗ č“č‰²gamma"
+
+#. TEXT_SETUP_PRINTER_EMBED_CSA
+#, fuzzy
+msgid "Embed scanner ICM profile as CSA"
+msgstr "删除列č”Øęœŗ"
+
+#. TEXT_SETUP_PRINTER_EMBED_CRD
+#, fuzzy
+msgid "Embed printer ICM profile as CRD"
+msgstr "删除列č”Øęœŗ"
+
+#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image (ps level 3) for printing"
+msgstr ""
+
+#. TEXT_SETUP_TMP_PATH
+msgid "Temporary directory"
+msgstr "ęš‚å­˜ē›®å½•"
+
+#. TEXT_SETUP_IMAGE_PERMISSION
+msgid "Image-file permissions"
+msgstr "å½±åƒę”£ę”ˆęƒé™"
+
+#. TEXT_SETUP_DIR_PERMISSION
+msgid "Directory permissions"
+msgstr "ē›®å½•ęƒé™"
+
+#. TEXT_SETUP_JPEG_QUALITY
+msgid "JPEG image quality"
+msgstr "JPEG影像品č“Ø"
+
+#. TEXT_SETUP_PNG_COMPRESSION
+msgid "PNG image compression"
+msgstr "PNG影像压ē¼©"
+
+#. TEXT_SETUP_FILENAME_COUNTER_LEN
+msgid "Filename counter length"
+msgstr "ę”£åč®”ę•°é•æåŗ¦"
+
+#. TEXT_SETUP_TIFF_ZIP_COMPRESSION
+msgid "TIFF zip compression rate"
+msgstr "TIFF zip 压ē¼©ēŽ‡"
+
+#. TEXT_SETUP_TIFF_COMPRESSION_16
+msgid "TIFF 16 bit image compression"
+msgstr "TIFF 16 位元影像压ē¼©"
+
+#. TEXT_SETUP_TIFF_COMPRESSION_8
+msgid "TIFF 8 bit image compression"
+msgstr "TIFF 8 位元影像压ē¼©"
+
+#. TEXT_SETUP_TIFF_COMPRESSION_1
+msgid "TIFF lineart image compression"
+msgstr ""
+
+#. TEXT_SETUP_SHOW_RANGE_MODE
+msgid "Show range as:"
+msgstr "ę˜¾ē¤ŗčŒƒå›“åœØ"
+
+#. TEXT_SETUP_PREVIEW_OVERSAMPLING
+msgid "Preview oversampling:"
+msgstr ""
+
+#. TEXT_SETUP_PREVIEW_GAMMA
+msgid "Preview gamma:"
+msgstr "é¢„č§ˆgamma"
+
+#. TEXT_SETUP_PREVIEW_GAMMA_RED
+msgid "Preview gamma red:"
+msgstr "é¢„č§ˆ ēŗ¢č‰²gamma"
+
+#. TEXT_SETUP_PREVIEW_GAMMA_GREEN
+msgid "Preview gamma green:"
+msgstr "é¢„č§ˆ ē»æč‰²gamma"
+
+#. TEXT_SETUP_PREVIEW_GAMMA_BLUE
+msgid "Preview gamma blue:"
+msgstr "é¢„č§ˆ č“č‰²gamma"
+
+#. TEXT_SETUP_LINEART_MODE
+msgid "Threshold option:"
+msgstr "č¾¹ē•Œé€‰é”¹:"
+
+#. TEXT_SETUP_PREVIEW_PIPETTE_RANGE
+msgid "Preview pipette range"
+msgstr "é¢„č§ˆåøå–čŒƒå›“"
+
+#. TEXT_SETUP_THRESHOLD_MIN
+msgid "Threshold minimum:"
+msgstr "ęœ€å°č¾¹ē•Œ"
+
+#. TEXT_SETUP_THRESHOLD_MAX
+msgid "Threshold maximum:"
+msgstr "ęœ€å¤§č¾¹ē•Œ"
+
+#. TEXT_SETUP_THRESHOLD_MUL
+msgid "Threshold multiplier:"
+msgstr ""
+
+#. TEXT_SETUP_THRESHOLD_OFF
+msgid "Threshold offset:"
+msgstr "č¾¹ē•Œå·®č·"
+
+#. TEXT_SETUP_GRAYSCALE_SCANMODE
+msgid "Name of grayscale scanmode:"
+msgstr "ē°ęŽ„č°ƒę•“ę‰«ęęؔ式ēš„名ē§°"
+
+#. TEXT_SETUP_HELPFILE_VIEWER
+msgid "Helpfile viewer (HTML):"
+msgstr "ę•‘åŠ©ę”£ę£€č§†å™Ø(HTML)"
+
+#. TEXT_SETUP_FAX_RECEIVER_OPTION
+msgid "Receiver option:"
+msgstr "ęŽ„ę”¶é€‰é”¹"
+
+#. TEXT_SETUP_FAX_POSTSCRIPT_OPT
+msgid "Postscriptfile option:"
+msgstr "Postscriptę”£ę”ˆé€‰é”¹"
+
+#. TEXT_SETUP_FAX_NORMAL_MODE_OPT
+msgid "Normal mode option:"
+msgstr "ę­£åøøęؔ式选锹"
+
+#. TEXT_SETUP_FAX_FINE_MODE_OPT
+msgid "Fine mode option:"
+msgstr ""
+
+#. TEXT_SETUP_FAX_PROGRAM_DEFAULTS
+msgid "Set program defaults for:"
+msgstr ""
+
+#. TEXT_SETUP_FAX_VIEWER
+msgid "Viewer (Postscript):"
+msgstr "ę£€č§†å™Ø(Postscript)"
+
+#. TEXT_SETUP_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image (ps level 3) for fax"
+msgstr ""
+
+#. TEXT_SETUP_SMTP_SERVER
+msgid "SMTP server:"
+msgstr "SMTPä¼ŗ꜍å™Ø:"
+
+#. TEXT_SETUP_SMTP_PORT
+msgid "SMTP port:"
+msgstr "SMTP通č®Æ埠:"
+
+#. TEXT_SETUP_EMAIL_FROM
+msgid "From:"
+msgstr "从"
+
+#. TEXT_SETUP_EMAIL_REPLY_TO
+msgid "Reply to:"
+msgstr "å›žč¦†åˆ°"
+
+#. TEXT_SETUP_EMAIL_AUTHENTICATION
+msgid "E-mail authentication"
+msgstr "邮件认čƁ"
+
+#. TEXT_SETUP_EMAIL_AUTH_USER
+msgid "User:"
+msgstr "ē”Øꈷ:"
+
+#. TEXT_SETUP_EMAIL_AUTH_PASS
+msgid "Password:"
+msgstr "åƆē "
+
+#. TEXT_SETUP_POP3_SERVER
+msgid "POP3 server:"
+msgstr "POP3 ęœåŠ”å™Ø:"
+
+#. TEXT_SETUP_POP3_PORT
+msgid "POP3 port:"
+msgstr "POP3通č®Æ埠:"
+
+#. TEXT_SETUP_OCR_COMMAND
+msgid "OCR Command:"
+msgstr "OCR 命令"
+
+#. TEXT_SETUP_OCR_INPUTFILE_OPT
+msgid "Inputfile option:"
+msgstr "č¾“å…„ę”£é€‰é”¹"
+
+#. TEXT_SETUP_OCR_OUTPUTFILE_OPT
+msgid "Outputfile option:"
+msgstr "č¾“å‡ŗę”£é€‰é”¹"
+
+#. TEXT_SETUP_OCR_USE_GUI_PIPE_OPT
+msgid "Use GUI progress pipe:"
+msgstr ""
+
+#. TEXT_SETUP_OCR_OUTFD_OPT
+msgid "GUI output-fd option:"
+msgstr ""
+
+#. TEXT_SETUP_OCR_PROGRESS_KEYWORD
+msgid "Progress keyword:"
+msgstr ""
+
+#. TEXT_SETUP_PERMISSION_USER
+msgid "user"
+msgstr "ä½æē”Ø者"
+
+#. TEXT_SETUP_PERMISSION_GROUP
+msgid "group"
+msgstr "ē¾¤ē»„"
+
+#. TEXT_SETUP_PERMISSION_ALL
+msgid "all"
+msgstr "ꉀ꜉"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default color ICM-profile"
+msgstr "删除列č”Øęœŗ"
+
+#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
+#, fuzzy
+msgid "Scanner default gray ICM-profile"
+msgstr "删除列č”Øęœŗ"
+
+#. TEXT_SETUP_DISPLAY_ICM_PROFILE
+#. DESC_DISPLAY_ICM_PROFILE
+msgid "Display ICM-profile"
+msgstr ""
+
+#. TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE
+#. DESC_CUSTOM_PROOFING_ICM_PROFILE
+#, fuzzy
+msgid "Custom proofing ICM-profile"
+msgstr "删除列č”Øęœŗ"
+
+#. TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE
+#. DESC_WORKING_COLOR_SPACE_ICM_PROFILE
+#, fuzzy
+msgid "Working color space ICM-profile"
+msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#. TEXT_SETUP_PRINTER_ICM_PROFILE
+#. DESC_PRINTER_ICM_PROFILE
+msgid "Printer ICM-profile"
+msgstr ""
+
+msgid "new media"
+msgstr ""
+
+#. NOTEBOOK_SAVING_OPTIONS
+#. MENU_ITEM_SAVE
+msgid "Save"
+msgstr "å‚Ø存"
+
+#. NOTEBOOK_FILETYPE_OPTIONS
+msgid "Filetype"
+msgstr "ꖇ件ē±»åž‹"
+
+#. NOTEBOOK_COPY_OPTIONS
+#. MENU_ITEM_COPY
+msgid "Copy"
+msgstr "复制"
+
+#. NOTEBOOK_FAX_OPTIONS
+#. MENU_ITEM_FAX
+msgid "Fax"
+msgstr "ä¼ ēœŸ"
+
+#. NOTEBOOK_EMAIL_OPTIONS
+#. MENU_ITEM_EMAIL
+msgid "E-mail"
+msgstr "ē”µå­é‚®ä»¶"
+
+#. NOTEBOOK_OCR_OPTIONS
+msgid "OCR"
+msgstr "OCR"
+
+#. NOTEBOOK_DISPLAY_OPTIONS
+msgid "Display"
+msgstr "ę˜¾ē¤ŗ"
+
+#. NOTEBOOK_ENHANCE_OPTIONS
+msgid "Enhancement"
+msgstr "增å¼ŗ"
+
+#. MENU_ITEM_MULTIPAGE
+msgid "Multipage"
+msgstr ""
+
+#. MENU_ITEM_SHOW_TOOLTIPS
+msgid "Show tooltips"
+msgstr "ę˜¾ē¤ŗåæ«é€Ÿęē¤ŗ"
+
+#. MENU_ITEM_SHOW_PREVIEW
+msgid "Show preview"
+msgstr "ę˜¾ē¤ŗé¢„č§ˆ"
+
+#. MENU_ITEM_SHOW_HISTOGRAM
+msgid "Show histogram"
+msgstr "ę˜¾ē¤ŗēŸ©å½¢å›¾"
+
+#. MENU_ITEM_SHOW_GAMMA
+msgid "Show gamma curve"
+msgstr "ę˜¾ē¤ŗgammaę›²ēŗæ"
+
+#. MENU_ITEM_SHOW_BATCH_SCAN
+msgid "Show batch scan"
+msgstr "ę˜¾ē¤ŗę‰¹ę¬”ę‰«ę"
+
+#. MENU_ITEM_SHOW_STANDARDOPTIONS
+msgid "Show standard options"
+msgstr "ę˜¾ē¤ŗåŸŗęœ¬é€‰é”¹"
+
+#. MENU_ITEM_SHOW_ADVANCEDOPTIONS
+msgid "Show advanced options"
+msgstr "ę˜¾ē¤ŗčæ›é˜¶é€‰é”¹"
+
+#. MENU_ITEM_SETUP
+msgid "Setup"
+msgstr "č®¾å®š"
+
+#. MENU_ITEM_LENGTH_UNIT
+msgid "Length unit"
+msgstr "é•æåŗ¦å•ä½"
+
+#. SUBMENU_ITEM_LENGTH_MILLIMETERS
+msgid "millimeters"
+msgstr "公厘"
+
+#. SUBMENU_ITEM_LENGTH_CENTIMETERS
+msgid "centimeters"
+msgstr "公分"
+
+#. SUBMENU_ITEM_LENGTH_INCHES
+msgid "inches"
+msgstr "英åÆø"
+
+#. MENU_ITEM_UPDATE_POLICY
+msgid "Update policy"
+msgstr "ꛓꖰę”æē­–"
+
+#. SUBMENU_ITEM_POLICY_CONTINUOUS
+msgid "continuous"
+msgstr "ē»§ē»­"
+
+#. SUBMENU_ITEM_POLICY_DISCONTINU
+msgid "discontinuous"
+msgstr "äøē»§ē»­"
+
+#. SUBMENU_ITEM_POLICY_DELAYED
+msgid "delayed"
+msgstr "延čæŸ"
+
+#. MENU_ITEM_SHOW_RESOLUTIONLIST
+msgid "Show resolution list"
+msgstr "ę˜¾ē¤ŗč§£ęžåŗ¦åˆ—č”Ø"
+
+#. MENU_ITEM_PAGE_ROTATE
+msgid "Rotate postscript"
+msgstr ""
+
+#. MENU_ITEM_ENABLE_COLOR_MANAGEMENT
+#. MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT
+#, fuzzy
+msgid "Enable color management"
+msgstr "å…Øč‰²čŒƒå›“"
+
+#
+#. MENU_ITEM_EDIT_MEDIUM_DEF
+msgid "Edit medium definition"
+msgstr "å‚Ø存ēŽÆå¢ƒč®¾å®š"
+
+#. MENU_ITEM_SAVE_DEVICE_SETTINGS
+msgid "Save device settings"
+msgstr "å‚Øå­˜č£…ē½®č®¾å®š"
+
+#. MENU_ITEM_LOAD_DEVICE_SETTINGS
+msgid "Load device settings"
+msgstr "č½½å…„č£…ē½®č®¾å®š"
+
+#. MENU_ITEM_CHANGE_WORKING_DIR
+msgid "Change directory"
+msgstr "ę›“ę”¹ē›®å½•"
+
+#. MENU_ITEM_XSANE_EULA
+msgid "Show EULA"
+msgstr ""
+
+#. MENU_ITEM_XSANE_GPL
+msgid "Show license (GPL)"
+msgstr ""
+
+#. MENU_ITEM_XSANE_DOC
+msgid "XSane doc"
+msgstr "Xsaneꖇ件"
+
+#. MENU_ITEM_BACKEND_DOC
+msgid "Backend doc"
+msgstr "后ē«Æ驱åŠØēØ‹å¼ę–‡ä»¶"
+
+#. MENU_ITEM_AVAILABLE_BACKENDS
+msgid "Available backends"
+msgstr "åÆē”Øēš„后ē«Æ驱åŠØē؋式"
+
+#
+#. MENU_ITEM_SCANTIPS
+msgid "Scantips"
+msgstr ""
+
+#. MENU_ITEM_PROBLEMS
+msgid "Problems?"
+msgstr "问题?"
+
+#. MENU_ITEM_CMS_PROOFING
+#, fuzzy
+msgid "Proofing"
+msgstr "增加列č”Øęœŗ"
+
+#. SUBMENU_ITEM_CMS_PROOF_OFF
+msgid "no proofing (Display)"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_PROOF_PRINTER
+#, fuzzy
+msgid "Proof printer"
+msgstr "增加列č”Øęœŗ"
+
+#. SUBMENU_ITEM_CMS_PROOF_CUSTOM
+msgid "Proof custom device"
+msgstr ""
+
+#. MENU_ITEM_CMS_RENDERING_INTENT
+#, fuzzy
+msgid "Rendering intent"
+msgstr "增加列č”Øęœŗ"
+
+#. MENU_ITEM_CMS_PROOFING_INTENT
+#, fuzzy
+msgid "Proofing rendering intent"
+msgstr "增加列č”Øęœŗ"
+
+#. SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL
+msgid "Perceptual"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC
+msgid "Relative colorimetric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC
+msgid "Absolute colorimentric"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_INTENT_SATURATION
+#, fuzzy
+msgid "Saturation"
+msgstr "ꎈꝃ"
+
+#. MENU_ITEM_CMS_GAMUT_CHECK
+msgid "Gamut check"
+msgstr ""
+
+#. MENU_ITEM_CMS_GAMUT_ALARM_COLOR
+msgid "Gamut alarm color"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLACK
+msgid "Black"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_GRAY
+msgid "Gray"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_WHITE
+#, fuzzy
+msgid "White"
+msgstr "写兄"
+
+#. SUBMENU_ITEM_CMS_COLOR_RED
+#, fuzzy
+msgid "Red"
+msgstr "čæ˜åŽŸ"
+
+#. SUBMENU_ITEM_CMS_COLOR_GREEN
+msgid "Green"
+msgstr ""
+
+#. SUBMENU_ITEM_CMS_COLOR_BLUE
+#, fuzzy
+msgid "Blue"
+msgstr "ęØ”ē³Š"
+
+#. MENU_ITEM_COUNTER_LEN_INACTIVE
+msgid "inactive"
+msgstr "å¤±ę•ˆ"
+
+#. MENU_ITEM_TIFF_COMP_NONE
+msgid "no compression"
+msgstr "äøåŽ‹ē¼©"
+
+#. MENU_ITEM_TIFF_COMP_CCITTRLE
+msgid "CCITT 1D Huffman compression"
+msgstr ""
+
+#. MENU_ITEM_TIFF_COMP_CCITFAX3
+msgid "CCITT Group 3 Fax compression"
+msgstr ""
+
+#. MENU_ITEM_TIFF_COMP_CCITFAX4
+msgid "CCITT Group 4 Fax compression"
+msgstr ""
+
+#. MENU_ITEM_TIFF_COMP_JPEG
+msgid "JPEG DCT compression"
+msgstr ""
+
+#. MENU_ITEM_TIFF_COMP_PACKBITS
+msgid "pack bits"
+msgstr ""
+
+#. MENU_ITEM_TIFF_COMP_DEFLATE
+msgid "deflate"
+msgstr "ē¼©å°"
+
+#. MENU_ITEM_RANGE_SCALE
+msgid "Slider (Scale)"
+msgstr "ę»‘ę£’(Scale)"
+
+#. MENU_ITEM_RANGE_SCROLLBAR
+msgid "Slider (Scrollbar)"
+msgstr "ę»‘ę£’(Scrollbar)"
+
+#. MENU_ITEM_RANGE_SPINBUTTON
+msgid "Spinbutton"
+msgstr "å¾®č°ƒę—‹é’®"
+
+#. MENU_ITEM_RANGE_SCALE_SPIN
+msgid "Scale and Spinbutton"
+msgstr "ę»‘ę£’äøŽå¾®č°ƒę—‹é’®"
+
+#. MENU_ITEM_RANGE_SCROLL_SPIN
+msgid "Scrollbar and Spinbutton"
+msgstr "å·č½“äøŽå¾®č°ƒę—‹é’®"
+
+#. MENU_ITEM_LINEART_MODE_STANDARD
+msgid "Standard options window (lineart)"
+msgstr "åŸŗęœ¬é€‰é”¹č§†ēŖ—(lineart)"
+
+#. MENU_ITEM_LINEART_MODE_XSANE
+msgid "XSane main window (lineart)"
+msgstr "XSane äø»č§†ēŖ—(lineart)"
+
+#. MENU_ITEM_LINEART_MODE_GRAY
+msgid "XSane main window (grayscale->lineart)"
+msgstr "XSane äø»č§†ēŖ—(grayscale->lineart)"
+
+#. MENU_ITEM_SELECTION_NONE
+msgid "(none)"
+msgstr "ꗠ"
+
+#. MENU_ITEM_FILETYPE_BY_EXT
+msgid "by ext"
+msgstr ""
+
+#. MENU_ITEM_PRESET_AREA_ADD_SEL
+msgid "Add selection to list"
+msgstr "å¢žåŠ é€‰ę‹©åˆ°åˆ—č”Ø"
+
+#
+#. MENU_ITEM_MEDIUM_ADD
+msgid "Add medium definition"
+msgstr "å‚Ø存ēŽÆå¢ƒč®¾å®š"
+
+#
+#. MENU_ITEM_RENAME
+msgid "Rename item"
+msgstr "ę›“åå½±åƒ"
+
+#
+#. MENU_ITEM_DELETE
+msgid "Delete item"
+msgstr "删除列č”Øęœŗ"
+
+#
+#. MENU_ITEM_MOVE_UP
+msgid "Move item up"
+msgstr "往äøŠē§»åŠØ"
+
+#
+#. MENU_ITEM_MOVE_DWN
+msgid "Move item down"
+msgstr "往äø‹ē§»åŠØ"
+
+#. MENU_ITEM_AUTH_NONE
+msgid "no authentication"
+msgstr "ę²”ęœ‰ęŽˆęƒ"
+
+#. MENU_ITEM_AUTH_POP3
+msgid "POP3 before SMTP"
+msgstr ""
+
+#. MENU_ITEM_AUTH_ASMTP_PLAIN
+msgid "ASMTP Plain"
+msgstr ""
+
+#. MENU_ITEM_AUTH_ASMTP_LOGIN
+msgid "ASMTP Login"
+msgstr ""
+
+#. MENU_ITEM_AUTH_ASMTP_CRAM_MD5
+msgid "ASMTP CRAM-MD5"
+msgstr ""
+
+#. MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE
+#, fuzzy
+msgid "Embed scanner ICM profile"
+msgstr "删除列č”Øęœŗ"
+
+#. MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB
+msgid "Convert to sRGB"
+msgstr ""
+
+#. MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS
+#, fuzzy
+msgid "Convert to working color space"
+msgstr "č‡ŖåŠØäæ®ę­£é¢œč‰²"
+
+#. PROGRESS_SCANNING
+msgid "Scanning"
+msgstr "ę‰«ęäø­"
+
+#. PROGRESS_RECEIVING_FRAME_DATA
+#, c-format
+msgid "Receiving %s data"
+msgstr "ꎄꔶ%s资ꖙ"
+
+#. PROGRESS_PAGE
+msgid "page"
+msgstr "锵"
+
+#. PROGRESS_TRANSFERING_DATA
+msgid "Transfering image"
+msgstr "ä¼ č¾“å½±åƒäø­"
+
+#. PROGRESS_ROTATING_DATA
+msgid "Rotating image"
+msgstr "č½¬åŠØ影像"
+
+#. PROGRESS_MIRRORING_DATA
+msgid "Mirroring image"
+msgstr "ę˜ å°„å½±åƒ"
+
+#. PROGRESS_PACKING_DATA
+msgid "Packing image"
+msgstr "ę‰“åŒ…å½±åƒ"
+
+#. PROGRESS_CONVERTING_DATA
+msgid "Converting image"
+msgstr ""
+
+#. PROGRESS_SAVING_DATA
+msgid "Saving image"
+msgstr "å‚Ø存影像"
+
+#. PROGRESS_CLONING_DATA
+msgid "Cloning image"
+msgstr "复制影像"
+
+#. PROGRESS_SCALING_DATA
+msgid "Scaling image"
+msgstr "č°ƒę•“å½±åƒ"
+
+#. PROGRESS_DESPECKLING_DATA
+msgid "Despeckling image"
+msgstr ""
+
+#. PROGRESS_BLURING_DATA
+msgid "Bluring image"
+msgstr "ęØ”ē³Šå½±åƒ"
+
+#. PROGRESS_OCR
+msgid "OCR in progress"
+msgstr ""
+
+#. PROGRESS_ICM_CONVERSION
+#, fuzzy
+msgid "converting colors"
+msgstr "č‡ŖåŠØäæ®ę­£é¢œč‰²"
+
+#. DESC_SCAN_START
+msgid "Start scan <Ctrl-Enter>"
+msgstr "å¼€å§‹ę‰«ę<Ctrl-Enter>"
+
+#. DESC_SCAN_CANCEL
+msgid "Cancel scan <ESC>"
+msgstr "å–ę¶ˆę‰«ę<ESC>"
+
+#. DESC_PREVIEW_ACQUIRE
+msgid "Acquire preview scan <Alt-p>"
+msgstr "čŽ·å¾—é¢„č§ˆå½±åƒ<Alt-p>"
+
+#. DESC_PREVIEW_CANCEL
+msgid "Cancel preview scan <Alt-ESC>"
+msgstr "å–ę¶ˆé¢„č§ˆå½±åƒ<Alt-ESC>"
+
+#. DESC_XSANE_MODE
+msgid ""
+"viewer-<Ctrl-v>, save-<Ctrl-s>, photocopy-<Ctrl-c>, multipage-<Ctrl-m>, fax-"
+"<Ctrl-f> or e-mail-<Ctrl-e>"
+msgstr ""
+
+#. DESC_XSANE_MEDIUM
+msgid ""
+"Select source medium type.\n"
+"To rename, reorder or delete an entry use context menu (right mouse "
+"button).\n"
+"To create a medium enable the option edit medium definition in preferences "
+"menu."
+msgstr ""
+
+#. DESC_FILENAME_COUNTER_STEP
+msgid "Value that is added to filenamecounter after scan"
+msgstr ""
+
+#. DESC_BROWSE_FILENAME
+msgid "Browse for image filename"
+msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#. DESC_FILENAME
+msgid "Filename for scanned image"
+msgstr "ꉫēž„čæ‡ēš„影像ēš„ę”£ę”ˆåē§°"
+
+#. DESC_FILETYPE
+msgid ""
+"Type of image format, the suitable filename extension is automatically added "
+"to the filename"
+msgstr ""
+
+#. DESC_FAXPROJECT
+#, fuzzy
+msgid "Enter fax project directory name"
+msgstr "ęš‚å­˜ē›®å½•ęµč§ˆ"
+
+#. DESC_FAXPAGENAME
+msgid "Enter new name for faxpage"
+msgstr "č¾“å…„ä¼ ēœŸäø“ę”ˆēš„ę–°åē§°"
+
+#. DESC_FAXRECEIVER
+msgid "Enter receiver phone number or address"
+msgstr "č¾“å…„ęŽ„ę”¶ēš„ē”µčƝ号ē ęˆ–位址"
+
+#. DESC_FAX_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for fax project directory"
+msgstr "ęš‚å­˜ē›®å½•ęµč§ˆ"
+
+#. DESC_EMAIL_PROJECT
+#, fuzzy
+msgid "Enter e-mail project directory name"
+msgstr "ęš‚å­˜ē›®å½•ęµč§ˆ"
+
+#. DESC_EMAIL_IMAGENAME
+msgid "Enter new name for e-mail image"
+msgstr "č¾“å…„é‚®ä»¶å›¾åƒēš„ę–°åē§°"
+
+#. DESC_EMAIL_RECEIVER
+msgid "Enter e-mail address"
+msgstr "č¾“å…„é‚®ä»¶ä½å€"
+
+#. DESC_EMAIL_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for email project directory"
+msgstr "ęš‚å­˜ē›®å½•ęµč§ˆ"
+
+#. DESC_EMAIL_SUBJECT
+msgid "Enter subject of e-mail"
+msgstr "č¾“å…„é‚®ä»¶ēš„ę ‡é¢˜"
+
+#. DESC_EMAIL_FILETYPE
+msgid "Select filetype for image attachments"
+msgstr "é€‰ę‹©å›¾åƒé™„ä»¶ēš„ē±»åž‹"
+
+#. DESC_MULTIPAGE_PROJECT
+#, fuzzy
+msgid "Enter multipage project directory name"
+msgstr "ęš‚å­˜ē›®å½•ęµč§ˆ"
+
+#. DESC_MULTIPAGE_PROJECT_BROWSE
+#, fuzzy
+msgid "Browse for multipage project directory"
+msgstr "ęš‚å­˜ē›®å½•ęµč§ˆ"
+
+#. DESC_MULTIPAGE_FILETYPE
+msgid "Select filetype for multipage file"
+msgstr "äøŗå¤šé”µę–‡ä»¶é€‰ę‹©ę–‡ä»¶ē±»åž‹"
+
+#. DESC_PRESET_AREA_RENAME
+msgid "Enter new name for preset area"
+msgstr "č¾“å…„é¢„č®¾åŒŗēš„ę–°åē§°"
+
+#
+#. DESC_PRESET_AREA_ADD
+msgid "Enter name for new preset area"
+msgstr "č¾“å…„é¢„č®¾åŒŗēš„ę–°åē§°"
+
+#
+#. DESC_MEDIUM_RENAME
+msgid "Enter new name for medium definition"
+msgstr "äøŗēŽÆå¢ƒč®¾å®šč¾“å…„ę–°ēš„名字"
+
+#
+#. DESC_MEDIUM_ADD
+msgid "Enter name for new medium definition"
+msgstr "äøŗꖰēš„ēŽÆå¢ƒč®¾å®šč¾“å…„åå­—"
+
+#. DESC_PRINTER_SELECT
+msgid "Select printerdefinition <Shift-F1/F2/...>"
+msgstr ""
+
+#. DESC_RESOLUTION
+msgid "Set scan resolution"
+msgstr "č®¾å®šę‰«ęč§£ęžåŗ¦"
+
+#. DESC_RESOLUTION_X
+msgid "Set scan resolution for x direction"
+msgstr ""
+
+#. DESC_RESOLUTION_Y
+msgid "Set scan resolution for y direction"
+msgstr ""
+
+#. DESC_ZOOM
+msgid "Set zoomfactor"
+msgstr ""
+
+#. DESC_ZOOM_X
+msgid "Set zoomfactor for x direction"
+msgstr ""
+
+#. DESC_ZOOM_Y
+msgid "Set zoomfactor for y direction"
+msgstr ""
+
+#. DESC_COPY_NUMBER
+msgid "Set number of copies"
+msgstr ""
+
+#. DESC_NEGATIVE
+msgid "Negative: Invert colors for scanning negatives <Ctrl-n>"
+msgstr ""
+
+#. DESC_GAMMA
+msgid "Set gamma value"
+msgstr "č®¾å®šGamma值"
+
+#. DESC_GAMMA_R
+msgid "Set gamma value for red component"
+msgstr "č®¾å®šēŗ¢č‰²ęˆåˆ†ēš„Gamma值"
+
+#. DESC_GAMMA_G
+msgid "Set gamma value for green component"
+msgstr "č®¾å®šē»æč‰²ęˆåˆ†ēš„Gamma值"
+
+#. DESC_GAMMA_B
+msgid "Set gamma value for blue component"
+msgstr "č®¾å®šč“č‰²ęˆåˆ†ēš„Gamma值"
+
+#. DESC_BRIGHTNESS
+msgid "Set brightness"
+msgstr "č®¾å®šäŗ®åŗ¦"
+
+#. DESC_BRIGHTNESS_R
+msgid "Set brightness for red component"
+msgstr "č®¾å®šēŗ¢č‰²ęˆä»½ēš„äŗ®åŗ¦å€¼"
+
+#. DESC_BRIGHTNESS_G
+msgid "Set brightness for green component"
+msgstr "č®¾å®šē»æč‰²ęˆä»½ēš„äŗ®åŗ¦å€¼"
+
+#. DESC_BRIGHTNESS_B
+msgid "Set brightness for blue component"
+msgstr "č®¾å®šč“č‰²ęˆä»½ēš„äŗ®åŗ¦å€¼"
+
+#. DESC_CONTRAST
+msgid "Set contrast"
+msgstr "č®¾å®šåå·®"
+
+#. DESC_CONTRAST_R
+msgid "Set contrast for red component"
+msgstr "č®¾å®šēŗ¢č‰²ęˆåˆ†ēš„反差"
+
+#. DESC_CONTRAST_G
+msgid "Set contrast for green component"
+msgstr "č®¾å®šē»æč‰²ęˆåˆ†ēš„反差"
+
+#. DESC_CONTRAST_B
+msgid "Set contrast for blue component"
+msgstr "č®¾å®šč“č‰²ęˆåˆ†ēš„反差"
+
+#. DESC_THRESHOLD
+msgid "Set threshold"
+msgstr "č®¾å®šč¾¹ē•Œ"
+
+#. DESC_RGB_DEFAULT
+msgid ""
+"RGB default: Set enhancement values for red, green and blue to default "
+"values <Ctrl-b>:\n"
+" gamma = 1.0\n"
+" brightness = 0\n"
+" contrast = 0"
+msgstr ""
+
+#
+#. DESC_ENH_AUTO
+#, fuzzy
+msgid "Autoadjust gamma, brightness and contrast <Ctrl-a>"
+msgstr "č‡ŖåŠØč°ƒę•“gamma,äŗ®åŗ¦å’Œåå·®<Shift-e>"
+
+#. DESC_ENH_DEFAULT
+msgid ""
+"Set default enhancement values <Ctrl-0>:\n"
+"gamma = 1.0\n"
+"brightness = 0\n"
+"contrast = 0"
+msgstr ""
+
+#. DESC_ENH_RESTORE
+msgid "Restore enhancement values from preferences <Ctrl-r>"
+msgstr ""
+
+#. DESC_ENH_STORE
+msgid "Store active enhancement values to preferences <Ctrl-+>"
+msgstr ""
+
+#. DESC_HIST_INTENSITY
+msgid "Show histogram of intensity/gray <Alt-i>"
+msgstr ""
+
+#. DESC_HIST_RED
+msgid "Show histogram of red component <Alt-r>"
+msgstr ""
+
+#. DESC_HIST_GREEN
+msgid "Show histogram of green component <Alt-g>"
+msgstr ""
+
+#. DESC_HIST_BLUE
+msgid "Show histogram of blue component <Alt-b>"
+msgstr ""
+
+#. DESC_HIST_PIXEL
+msgid "Display mode: show histogram with lines instead of pixels <Alt-m>"
+msgstr "ę˜¾ē¤ŗęؔ式:ē”Øēŗæ取代ē‚¹ę„ę˜¾ē¤ŗēŸ©å½¢å›¾"
+
+#. DESC_HIST_LOG
+msgid "Show logarithm of pixelcount <Alt-l>"
+msgstr ""
+
+#. DESC_PRINTER_SETUP
+msgid "Select definition to change"
+msgstr ""
+
+#. DESC_PRINTER_NAME
+msgid "Define a name for the selection of this definition"
+msgstr "äøŗ选ꋩēš„定义定义äø€äøŖ名ē§°"
+
+#. DESC_PRINTER_COMMAND
+msgid "Enter command to be executed in copy mode (e.g. \"lpr\")"
+msgstr "č¾“å…„åœØ复制ęؔ式äø‹å°†č¢«ę‰§č”Œēš„命令(e.g. \"lpr\")"
+
+#. DESC_COPY_NUMBER_OPTION
+msgid "Enter option for copy numbers"
+msgstr ""
+
+#. DESC_PRINTER_LINEART_RESOLUTION
+msgid ""
+"Resolution with which lineart images are printed and saved in postscript"
+msgstr ""
+
+#. DESC_PRINTER_GRAYSCALE_RESOLUTION
+msgid ""
+"Resolution with which grayscale images are printed and saved in postscript"
+msgstr ""
+
+#. DESC_PRINTER_COLOR_RESOLUTION
+msgid "Resolution with which color images are printed and saved in postscript"
+msgstr ""
+
+#. DESC_PRINTER_WIDTH
+#. DESC_FAX_WIDTH
+msgid "Width of printable area"
+msgstr "列印åŒŗ宽åŗ¦"
+
+#. DESC_PRINTER_HEIGHT
+#. DESC_FAX_HEIGHT
+msgid "Height of printable area"
+msgstr "列印åŒŗ高åŗ¦"
+
+#. DESC_PRINTER_LEFTOFFSET
+#. DESC_FAX_LEFTOFFSET
+msgid "Left offset from the edge of the paper to the printable area"
+msgstr "从锵ēš„č¾¹ē¼˜åˆ°åˆ—印åŒŗēš„å·¦å·®č·"
+
+#. DESC_PRINTER_BOTTOMOFFSET
+#. DESC_FAX_BOTTOMOFFSET
+msgid "Bottom offset from the edge of the paper to the printable area"
+msgstr "从锵ēš„č¾¹ē¼˜åˆ°åˆ—印åŒŗēš„äø‹å·®č·"
+
+#. DESC_PRINTER_GAMMA
+msgid "Additional gamma value for photocopy"
+msgstr ""
+
+#. DESC_PRINTER_GAMMA_RED
+msgid "Additional gamma value for red component for photocopy"
+msgstr ""
+
+#. DESC_PRINTER_GAMMA_GREEN
+msgid "Additional gamma value for green component for photocopy"
+msgstr ""
+
+#. DESC_PRINTER_GAMMA_BLUE
+msgid "Additional gamma value for blue component for photocopy"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CSA
+msgid "Creates a postsciptfile that contains the ICM profile of the scanner"
+msgstr ""
+
+#. DESC_PRINTER_EMBED_CRD
+msgid "Creates a postsciptfile that contains the ICM profile of the printer"
+msgstr ""
+
+#. DESC_PRINTER_PS_FLATEDECODED
+msgid ""
+"Create zlib compressed postscript image for printer (flatedecode).\n"
+"The printer has to understand postscript level 3!"
+msgstr ""
+
+#. DESC_TMP_PATH
+msgid "Path to temp directory"
+msgstr "ęš‚å­˜ē›®å½•ēš„č·Æ径"
+
+#. DESC_BUTTON_TMP_PATH_BROWSE
+msgid "Browse for temporary directory"
+msgstr "ęš‚å­˜ē›®å½•ęµč§ˆ"
+
+#. DESC_JPEG_QUALITY
+msgid ""
+"Quality in percent if image is saved as jpeg or tiff with jpeg compression"
+msgstr ""
+
+#. DESC_PNG_COMPRESSION
+msgid "Compression if image is saved as png"
+msgstr "å¦‚ęžœå­˜ęˆpngę”£ēš„čƝ,就压ē¼©"
+
+#. DESC_FILENAME_COUNTER_LEN
+msgid "Minimum length of counter in filename"
+msgstr ""
+
+#. DESC_TIFF_ZIP_COMPRESSION
+msgid "Compression rate for zip compressed tiff (deflate)"
+msgstr ""
+
+#. DESC_TIFF_COMPRESSION_16
+msgid "Compression type if 16 bit image is saved as tiff"
+msgstr ""
+
+#. DESC_TIFF_COMPRESSION_8
+msgid "Compression type if 8 bit image is saved as tiff"
+msgstr ""
+
+#. DESC_TIFF_COMPRESSION_1
+msgid "Compression type if lineart image is saved as tiff"
+msgstr ""
+
+#. DESC_SAVE_DEVPREFS_AT_EXIT
+msgid "Save device dependant preferences in default file at exit of xsane"
+msgstr ""
+
+#. DESC_OVERWRITE_WARNING
+msgid "Warn before overwriting an existing file"
+msgstr "č¦†å†™äø€äøŖå·²ē»å­˜åœØēš„ę”£ę”ˆä¹‹å‰č¦č­¦å‘Š"
+
+#. DESC_SKIP_EXISTING
+msgid ""
+"If filename counter is automatically increased, used numbers are skipped"
+msgstr ""
+
+#. DESC_SAVE_PS_FLATEDECODED
+msgid ""
+"compress postscript image with zlib algorithm (flatedecode). When you want "
+"to print such a file your printer has to understand postscript level 3"
+msgstr ""
+
+#. DESC_SAVE_PDF_FLATEDECODED
+msgid "compress PDF image with zlib algorithm (flatedecode)."
+msgstr ""
+
+#. DESC_SAVE_PNM16_AS_ASCII
+msgid ""
+"When a 16 bit image shall be saved in pnm format then use ascii format "
+"instead of binary format. The binary format is a new format that is not "
+"supported by all programs. The ascii format is supported by more programs "
+"but it produces really huge files!!!"
+msgstr ""
+
+#. DESC_REDUCE_16BIT_TO_8BIT
+msgid ""
+"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
+msgstr ""
+
+#. DESC_PSFILE_WIDTH
+msgid "Width of paper for postscript files"
+msgstr ""
+
+#. DESC_PSFILE_HEIGHT
+msgid "Height of paper for postscript files"
+msgstr ""
+
+#. DESC_PSFILE_LEFTOFFSET
+msgid ""
+"Left offset from the edge of the paper to the usable area for postscript "
+"files"
+msgstr ""
+
+#. DESC_PSFILE_BOTTOMOFFSET
+msgid ""
+"Bottom offset from the edge of the paper to the usable area for postscript "
+"files"
+msgstr ""
+
+#. DESC_MAIN_WINDOW_FIXED
+msgid "Use fixed main window size or scrolled, resizable main window"
+msgstr "ä½æē”Øå›ŗ定äø»č§†ēŖ—大小,ęˆ–č€…ę»‘åŠØ,ę›“ę”¹äø»č§†ēŖ—大小"
+
+#. DESC_DISABLE_GIMP_PREVIEW_GAMMA
+#, fuzzy
+msgid "Disable preview gamma when XSane runs as GIMP plugin"
+msgstr "å–ę¶ˆé¢„č§ˆgamma当XSaneč·‘åœØgimp plugin ę—¶"
+
+#. DESC_PREVIEW_COLORMAP
+msgid "Use an own colormap for preview if display depth is 8 bpp"
+msgstr "å‡å¦‚ę˜¾ē¤ŗ8bppę·±åŗ¦ę—¶,ä½æē”Øäø€äøŖč‡Ŗå·±ēš„colormap"
+
+#. DESC_SHOW_RANGE_MODE
+msgid "Select how a range is displayed"
+msgstr "选ꋩäø€äøŖåŒŗåŸŸå¦‚ä½•č¢«ę˜¾ē¤ŗ"
+
+#. DESC_PREVIEW_OVERSAMPLING
+msgid "Value with that the calculated preview resolution is multiplied"
+msgstr ""
+
+#. DESC_PREVIEW_GAMMA
+msgid "Set gamma correction value for preview image"
+msgstr "äøŗé¢„č§ˆå½±åƒč®¾å®šgammaę ”ę­£å€¼"
+
+#. DESC_PREVIEW_GAMMA_RED
+msgid "Set gamma correction value for red component of preview image"
+msgstr "äøŗé¢„č§ˆå½±åƒēš„ēŗ¢č‰²ęˆåˆ†č®¾å®šgammaę ”ę­£å€¼"
+
+#. DESC_PREVIEW_GAMMA_GREEN
+msgid "Set gamma correction value for green component of preview image"
+msgstr "äøŗé¢„č§ˆå½±åƒēš„ē»æč‰²ęˆåˆ†č®¾å®šgammaę ”ę­£å€¼"
+
+#. DESC_PREVIEW_GAMMA_BLUE
+msgid "Set gamma correction value for blue component of preview image"
+msgstr "äøŗé¢„č§ˆå½±åƒēš„č“č‰²ęˆåˆ†č®¾å®šgammaę ”ę­£å€¼"
+
+#. DESC_LINEART_MODE
+msgid "Define the way XSane shall handle the threshold option"
+msgstr ""
+
+#. DESC_GRAYSCALE_SCANMODE
+msgid ""
+"Select grayscale scanmode. This scanmode is used for lineart preview scan "
+"when transformation from grayscale to lineart is enabled"
+msgstr ""
+
+#. DESC_PREVIEW_THRESHOLD_MIN
+#, no-c-format
+msgid "The scanner's minimum threshold level in %"
+msgstr ""
+
+#. DESC_PREVIEW_THRESHOLD_MAX
+#, no-c-format
+msgid "The scanner's maximum threshold level in %"
+msgstr ""
+
+#. DESC_PREVIEW_THRESHOLD_MUL
+msgid ""
+"Multiplier to make XSane threshold range and scanner threshold range the same"
+msgstr ""
+
+#. DESC_PREVIEW_THRESHOLD_OFF
+msgid ""
+"Offset to make XSane threshold range and scanner threshold range the same"
+msgstr ""
+
+#. DESC_ADF_PAGES_MAX
+msgid "Number of pages to scan"
+msgstr ""
+
+#. DESC_PREVIEW_PIPETTE_RANGE
+msgid "dimension of square that is used to average color for pipette function"
+msgstr ""
+
+#. DESC_DOC_VIEWER
+msgid ""
+"Enter command to be executed to display helpfiles, must be a html-viewer!"
+msgstr "č¾“å…„ę˜¾ē¤ŗę•‘åŠ©ę”£ę—¶č¦č¢«ę‰§č”Œēš„命令,åæ…é”»ę˜Æäø€äøŖhtmlę£€č§†å™Ø"
+
+#. DESC_AUTOENHANCE_GAMMA
+msgid "Change gamma value when autoenhancement button is pressed"
+msgstr "ę›“ę”¹gammaå€¼å¦‚ęžœč‡ŖåŠØ增å¼ŗęŒ‰é’®č¢«ęŒ‰äø‹ę—¶"
+
+#. DESC_PRESELECT_SCANAREA
+msgid "Select scanarea after preview scan has finished"
+msgstr "é¢„č§ˆę‰«ęåŽé€‰ę‹©ę‰«ęåŒŗå·²ē»å®Œęˆäŗ†"
+
+#. DESC_AUTOCORRECT_COLORS
+msgid "Do color correction after preview scan has finished"
+msgstr "é¢„č§ˆę‰«ęåŽä½œé¢œč‰²ę ”ę­£å·²ē»å®Œęˆäŗ†"
+
+#. DESC_RENDERING_INTENT
+#, fuzzy
+msgid "Select rendering intent for preview and saving"
+msgstr "é¢„č§ˆę‰«ęåŽé€‰ę‹©ę‰«ęåŒŗå·²ē»å®Œęˆäŗ†"
+
+#. DESC_CMS_BPC
+msgid "Apply black point compensation when color transformation is done"
+msgstr ""
+
+#. DESC_FAX_COMMAND
+msgid "Enter command to be executed in fax mode"
+msgstr "č¾“å…„åœØä¼ ēœŸęؔ式äø‹č¢«ę‰§č”Œēš„命令"
+
+#. DESC_FAX_RECEIVER_OPT
+msgid "Enter option to specify receiver"
+msgstr "č¾“å…„é€‰é”¹ē»™ęŒ‡å®šēš„ꎄꔶå™Ø"
+
+#. DESC_FAX_POSTSCRIPT_OPT
+msgid "Enter option to specify postscript files following"
+msgstr ""
+
+#. DESC_FAX_NORMAL_OPT
+msgid "Enter option to specify normal mode (low resolution)"
+msgstr ""
+
+#. DESC_FAX_FINE_OPT
+msgid "Enter option to specify fine mode (high resolution)"
+msgstr ""
+
+#. DESC_FAX_VIEWER
+msgid "Enter command to be executed to view a fax"
+msgstr "č¾“å…„ę£€č§†ä¼ ēœŸę—¶č¦ę‰§č”Œēš„命令"
+
+#. DESC_FAX_FINE_MODE
+msgid "Send fax with high vertical resolution (196 lpi instead of 98 lpi)"
+msgstr ""
+
+#. DESC_FAX_PS_FLATEDECODED
+msgid "Create zlib compressed postscript image for fax (flatedecode)"
+msgstr ""
+
+#. DESC_SMTP_SERVER
+msgid "IP Address or Domain name of SMTP server"
+msgstr "IP ä½å€ęˆ–SMTPä¼ŗ꜍å™Øēš„äø»ęœŗ名ē§°"
+
+#. DESC_SMTP_PORT
+msgid "port to connect to SMTP server"
+msgstr ""
+
+#. DESC_EMAIL_FROM
+#, fuzzy
+msgid "enter your e-mail address"
+msgstr "č¾“å…„ä½ ēš„äæ”件位址"
+
+#. DESC_EMAIL_REPLY_TO
+#, fuzzy
+msgid "enter e-mail address for replied e-mails"
+msgstr "č¾“å…„é‚®ä»¶ä½å€"
+
+#. DESC_EMAIL_AUTHENTICATION
+msgid "Type of authentication before sending e-mail"
+msgstr ""
+
+#. DESC_EMAIL_AUTH_USER
+#, fuzzy
+msgid "user name for e-mail server"
+msgstr "č¾“å…„é‚®ä»¶äø“ę”ˆēš„名ē§°"
+
+#. DESC_EMAIL_AUTH_PASS
+msgid "password for e-mail server"
+msgstr ""
+
+#. DESC_POP3_SERVER
+msgid "IP Address or Domain name of POP3 server"
+msgstr ""
+
+#. DESC_POP3_PORT
+msgid "port to connect to POP3 server"
+msgstr ""
+
+#
+#. DESC_HTML_EMAIL
+#, fuzzy
+msgid "E-mail is sent in html mode, place image with: <IMAGE>"
+msgstr "邮件仄HTML传送,影像ē›“ęŽ„ę˜¾ē¤ŗ"
+
+#. DESC_OCR_COMMAND
+msgid "Enter command to start ocr program"
+msgstr "č¾“å…„å¼€å§‹OCRēØ‹å¼č¦ę‰§č”Œēš„ęŒ‡ä»¤"
+
+#. DESC_OCR_INPUTFILE_OPT
+msgid "Enter option of the ocr program to define input file"
+msgstr "č¾“å…„OCRē؋式ēš„选锹ē»™å®šä¹‰ēš„č¾“å…„ę”£"
+
+#. DESC_OCR_OUTPUTFILE_OPT
+msgid "Enter option of the ocr program to define output file"
+msgstr "č¾“å…„OCRē؋式ēš„选锹ē»™å®šä¹‰ēš„č¾“å‡ŗę”£"
+
+#. DESC_OCR_USE_GUI_PIPE_OPT
+msgid "Define if the ocr program supports gui progress pipe"
+msgstr ""
+
+#. DESC_OCR_OUTFD_OPT
+msgid ""
+"Enter option of the ocr program to define output filedescripor in GUI mode"
+msgstr ""
+
+#. DESC_OCR_PROGRESS_KEYWORD
+msgid "Define Keyword that is used to mark progress information"
+msgstr ""
+
+#. DESC_PERMISSION_READ
+msgid "read"
+msgstr "čƻ取"
+
+#. DESC_PERMISSION_WRITE
+msgid "write"
+msgstr "写兄"
+
+#. DESC_PERMISSION_SEARCH
+#, fuzzy
+msgid "search"
+msgstr "ä½æē”Ø者"
+
+#. DESC_ADD_BATCH
+msgid "Add selection for batch scan"
+msgstr "äøŗę‰¹ę¬”ę‰«ęå¢žåŠ é€‰ę‹©"
+
+#. DESC_PIPETTE_WHITE
+msgid "Pick white point"
+msgstr ""
+
+#. DESC_PIPETTE_GRAY
+msgid "Pick gray point"
+msgstr ""
+
+#. DESC_PIPETTE_BLACK
+msgid "Pick black point"
+msgstr ""
+
+#. DESC_ZOOM_FULL
+msgid "Use full scanarea"
+msgstr "ä½æē”Øå…ØéƒØę‰«ęåŒŗ"
+
+#. DESC_ZOOM_OUT
+#, no-c-format
+msgid "Zoom 20% out"
+msgstr ""
+
+#. DESC_ZOOM_IN
+msgid "Click at position to zoom to"
+msgstr ""
+
+#. DESC_ZOOM_AREA
+msgid "Zoom into selected area"
+msgstr ""
+
+#. DESC_ZOOM_UNDO
+msgid "Undo last zoom"
+msgstr ""
+
+#. DESC_FULL_PREVIEW_AREA
+msgid "Select visible area"
+msgstr "é€‰ę‹©ę˜¾ē¤ŗåŒŗ"
+
+#. DESC_AUTOSELECT_SCANAREA
+msgid "Autoselect scanarea"
+msgstr "č‡ŖåŠØé€‰ę‰«ęåŒŗ"
+
+#. DESC_AUTORAISE_SCANAREA
+msgid "Autoraise scanarea"
+msgstr "č‡ŖåŠØę›“ę”¹ę‰«ęåŒŗ大小"
+
+#. DESC_DELETE_IMAGES
+msgid "Delete preview image cache"
+msgstr "åˆ é™¤é¢„č§ˆå½±åƒåæ«å–"
+
+#. DESC_PRESET_AREA
+msgid ""
+"Preset area:\n"
+"To add new area or edit an existing area use contect menu (right mouse "
+"button)."
+msgstr ""
+
+#. DESC_ROTATION
+msgid "Rotate preview and scan"
+msgstr "ēæ»č½¬é¢„č§ˆå’Œę‰«ę"
+
+#. DESC_RATIO
+msgid "Aspect ratio of selection"
+msgstr ""
+
+#. DESC_PAPER_ORIENTATION
+msgid "Define image position for printing"
+msgstr ""
+
+#. DESC_VIEWER_OCR
+msgid "Optical Character Recognition"
+msgstr ""
+
+#. DESC_VIEWER_UNDO
+msgid "Undo last change"
+msgstr ""
+
+#. DESC_VIEWER_CLONE
+msgid "Clone image"
+msgstr "复制影像"
+
+#. DESC_ROTATE90
+msgid "Rotate image 90 degree"
+msgstr "ēæ»č½¬å½±åƒ90åŗ¦"
+
+#. DESC_ROTATE180
+msgid "Rotate image 180 degree"
+msgstr "ēæ»č½¬å½±åƒ180åŗ¦"
+
+#. DESC_ROTATE270
+msgid "Rotate image 270 degree"
+msgstr "ēæ»č½¬å½±åƒ270åŗ¦"
+
+#. DESC_MIRROR_X
+msgid "Mirror image at vertical axis"
+msgstr ""
+
+#. DESC_MIRROR_Y
+msgid "Mirror image at horizontal axis"
+msgstr ""
+
+#. DESC_VIEWER_ZOOM
+msgid "Zoom image"
+msgstr "ä¼øē¼©å½±åƒ"
+
+#. DESC_STORE_MEDIUM
+msgid "Store medium"
+msgstr ""
+
+#. DESC_DELETE_MEDIUM
+msgid "Delete active medium"
+msgstr "åˆ é™¤ę“»åŠØēš„ēŽÆ境"
+
+#. DESC_SCALE_FACTOR
+msgid "Scale factor"
+msgstr ""
+
+#. DESC_X_SCALE_FACTOR
+msgid "X-Scale factor"
+msgstr ""
+
+#. DESC_Y_SCALE_FACTOR
+msgid "Y-Scale factor"
+msgstr ""
+
+#. DESC_SCALE_WIDTH
+msgid "Scale image to width [in pixel]"
+msgstr ""
+
+#. DESC_SCALE_HEIGHT
+msgid "Scale image to height [in pixel]"
+msgstr ""
+
+#. DESC_BATCH_LIST_EMPTY
+msgid "Empty batch list"
+msgstr "ē©ŗēš„ę‰¹ę¬”列č”Ø"
+
+#. DESC_BATCH_LIST_SAVE
+msgid "Save batch list"
+msgstr "å‚Øå­˜ę‰¹ę¬”åˆ—č”Ø"
+
+#. DESC_BATCH_LIST_LOAD
+msgid "Load batch list"
+msgstr "č½½å…„ę‰¹ę¬”åˆ—č”Ø"
+
+#. DESC_BATCH_RENAME
+msgid "Rename area"
+msgstr "ę›“ååŒŗ域"
+
+#. DESC_BATCH_ADD
+msgid "Add selected preview area to batch list"
+msgstr "å¢žåŠ é€‰ę‹©ēš„é¢„č§ˆåŒŗåŸŸåˆ°ę‰¹ę¬”åˆ—č”Ø"
+
+#. DESC_BATCH_DEL
+msgid "Delete selected area from batch list"
+msgstr "ä»Žę‰¹ę¬”åˆ—č”Øåˆ é™¤é€‰ę‹©ēš„åŒŗ域"
+
+#. DESC_AUTOMATIC
+msgid "Turns on automatic mode"
+msgstr ""
+
+#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default color ICM-profile"
+msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for scanner default gray ICM-profile"
+msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for display ICM-profile"
+msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#. DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for printer ICM-profile"
+msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#. DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for custom proofing ICM-profile"
+msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#. DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE
+#, fuzzy
+msgid "Browse for working color space ICM-profile"
+msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#. ERR_HOME_DIR
+msgid "Failed to determine home directory:"
+msgstr "ę— ę³•å†³å®šHomeē›®å½•"
+
+#. ERR_CHANGE_WORKING_DIR
+msgid "Failed to change working directory to"
+msgstr "äøčƒ½åŽ»ę›“ę”¹å·„ä½œē›®å½•åˆ°"
+
+#. ERR_FILENAME_TOO_LONG
+msgid "Filename too long"
+msgstr "ę”£åå¤Ŗé•æ"
+
+#. ERR_CREATE_TEMP_FILE
+msgid ""
+"Could not create temporary file.\n"
+"Open Menue Preferences->Setup Tab Save and\n"
+"select a temporary directory where you have\n"
+"write permissions."
+msgstr ""
+
+#. ERR_SET_OPTION
+msgid "Failed to set value of option"
+msgstr "äøčƒ½åŽ»č®¾å®šé€‰é”¹ēš„值"
+
+#. ERR_GET_OPTION
+msgid "Failed to obtain value of option"
+msgstr ""
+
+#. ERR_OPTION_COUNT
+msgid "Error obtaining option count"
+msgstr ""
+
+#. ERR_DEVICE_OPEN_FAILED
+msgid "Failed to open device"
+msgstr "开åÆč£…ē½®å¤±č“„"
+
+#. ERR_NO_DEVICES
+msgid "no devices available"
+msgstr "ę²”ęœ‰č£…ē½®åÆ仄ä½æē”Ø"
+
+#. ERR_DURING_READ
+msgid "Error during read:"
+msgstr "čÆ»å–ę—¶é”™čÆÆ"
+
+#. ERR_DURING_SAVE
+msgid "Error during save:"
+msgstr "å‚Øå­˜ę—¶é”™čÆÆ"
+
+#. ERR_BAD_DEPTH
+msgid "Can't handle depth"
+msgstr "ę— ę³•å–å¾—ę·±åŗ¦"
+
+#. ERR_UNKNOWN_SAVING_FORMAT
+msgid "Unknown file format for saving"
+msgstr "å‚Øå­˜ęˆęœŖēŸ„ēš„ę”£ę”ˆę ¼å¼"
+
+#. ERR_OPEN_FAILED
+msgid "Failed to open"
+msgstr "开åÆå¤±č“„"
+
+#. ERR_CREATE_SECURE_FILE
+msgid "Could not create secure file (may be a link does exist):"
+msgstr "äøčƒ½å»ŗē«‹å®‰å…Øę”£(åÆčƒ½čæžē»“å·²ē»å­˜åœØ)"
+
+#. ERR_FAILED_PRINTER_PIPE
+msgid "Failed to open pipe for executing printercommand"
+msgstr "äøčƒ½å¼€åÆē®”ēŗæäøŗäŗ†ę‰§č”Œåˆ—印命令"
+
+#. ERR_FAILED_EXEC_PRINTER_CMD
+msgid "Failed to execute printercommand:"
+msgstr "äøčƒ½ę‰§č”Œåˆ—印命令"
+
+#. ERR_FAILED_START_SCANNER
+msgid "Failed to start scanner:"
+msgstr "äøčƒ½å¼€å§‹ę‰«ęå™Ø"
+
+#. ERR_FAILED_GET_PARAMS
+msgid "Failed to get parameters:"
+msgstr "ę‹æäøåˆ°å‚ę•°"
+
+#. ERR_NO_OUTPUT_FORMAT
+msgid "No output format given"
+msgstr "ę²”ęœ‰å¾—åˆ°č¾“å‡ŗę ¼å¼"
+
+#. ERR_NO_MEM
+msgid "out of memory"
+msgstr "č®°åæ†ä½“äøč¶³"
+
+#. ERR_TOO_MUCH_DATA
+msgid "Backend sends more image data than it defined in parameters"
+msgstr ""
+
+#. ERR_LIBTIFF
+msgid "LIBTIFF reports error"
+msgstr ""
+
+#. ERR_LIBPNG
+msgid "LIBPNG reports error"
+msgstr ""
+
+#. ERR_LIBJPEG
+msgid "LIBJPEG reports error"
+msgstr ""
+
+#. ERR_ZLIB
+msgid "ZLIB error or memory allocation problem"
+msgstr ""
+
+#. ERR_UNKNOWN_TYPE
+msgid "unknown type"
+msgstr "ęœŖēŸ„ēš„åž‹ę€"
+
+#. ERR_UNKNOWN_CONSTRAINT_TYPE
+msgid "unknown constraint type"
+msgstr ""
+
+#. ERR_OPTION_NAME_NULL
+msgid "Option has empty name (NULL)."
+msgstr ""
+
+#. ERR_BACKEND_BUG
+msgid "This is a backend bug. Please inform the author of the backend!"
+msgstr ""
+
+#. ERR_FAILED_EXEC_DOC_VIEWER
+msgid "Failed to execute documentation viewer:"
+msgstr "äøčƒ½ę‰§č”Œę–‡ä»¶ę£€č§†å™Ø"
+
+#. ERR_FAILED_EXEC_FAX_VIEWER
+msgid "Failed to execute fax viewer:"
+msgstr "äøčƒ½ę‰§č”Œä¼ ēœŸę£€č§†å™Ø"
+
+#. ERR_FAILED_EXEC_FAX_CMD
+msgid "Failed to execute fax command:"
+msgstr "äøčƒ½ę‰§č”Œä¼ ēœŸå‘½ä»¤"
+
+#. ERR_FAILED_EXEC_OCR_CMD
+msgid "Failed to execute ocr command:"
+msgstr "äøčƒ½ę‰§č”Œocr命令"
+
+#. ERR_BAD_FRAME_FORMAT
+msgid "bad frame format"
+msgstr "ēƒ‚ēš„ę”†ęž¶ę ¼å¼"
+
+#. ERR_FAILED_SET_RESOLUTION
+msgid "unable to set resolution"
+msgstr "äøčƒ½é€‰ę‹©č§£ęžåŗ¦"
+
+#. ERR_PASSWORD_FILE_INSECURE
+#, c-format
+msgid "Password file (%s) is insecure, use permission x00\n"
+msgstr "åƆē ę”£(%s)äøå®‰å…Ø,ä½æē”Øx00ꝃ限\n"
+
+#. ERR_ERROR
+msgid "error"
+msgstr "错čÆÆ"
+
+#. ERR_MAJOR_VERSION_NR_CONFLICT
+msgid "Sane major version number mismatch!"
+msgstr ""
+
+#. ERR_XSANE_MAJOR_VERSION
+msgid "XSane major version ="
+msgstr ""
+
+#. ERR_BACKEND_MAJOR_VERSION
+msgid "backend major version ="
+msgstr ""
+
+#. ERR_PROGRAM_ABORTED
+msgid "*** PROGRAM ABORTED ***"
+msgstr ""
+
+#. ERR_FAILED_ALLOCATE_IMAGE
+msgid "Failed to allocate image memory:"
+msgstr "äøčƒ½åŽ»é…ē½®å½±åƒč®°åæ†ä½“"
+
+#. ERR_PREVIEW_BAD_DEPTH
+msgid "Preview cannot handle bit depth"
+msgstr "é¢„č§ˆäøčƒ½å–å¾—ä½å…ƒę·±åŗ¦"
+
+#. ERR_GIMP_SUPPORT_MISSING
+msgid "GIMP support missing"
+msgstr "GIMPę”Æę“é—å¤±"
+
+#. ERR_CREATE_FAX_PROJECT
+msgid "Could not create faxproject"
+msgstr "äøčƒ½å»ŗē«‹ä¼ ēœŸäø“ę”ˆ"
+
+#. WARN_COUNTER_UNDERRUN
+msgid "Filename counter underrun"
+msgstr ""
+
+#. WARN_NO_VALUE_CONSTRAINT
+msgid "warning: option has no value constraint"
+msgstr ""
+
+#. WARN_XSANE_AS_ROOT
+msgid ""
+"You try to run XSane as ROOT, that really is DANGEROUS!\n"
+"\n"
+"Do not send any bug reports when you\n"
+"have any problem while running XSane as root:\n"
+"YOU ARE ALONE!"
+msgstr ""
+"ä½ čƕ图仄 ROOT čŗ«ä»½čæč”Œ XSane, čæ™ę ·åšå°†ä¼šååˆ†å±é™©ļ¼\n"
+"\n"
+"å¦‚ęžœä½ ä»„ root čŗ«ä»½čæč”Œ XSane, čÆ·äøč¦čÆ•å›¾ęäŗ¤ä»»ä½• bug ęŠ„å‘Šć€‚"
+
+#. ERR_HEADER_ERROR
+msgid "Error"
+msgstr "错čÆÆ"
+
+#. ERR_HEADER_WARNING
+msgid "Warning"
+msgstr "č­¦å‘Š"
+
+#. ERR_HEADER_INFO
+msgid "Information"
+msgstr "资č®Æ"
+
+#. ERR_HEADER_CHILD_PROCESS_ERROR
+msgid "Child process error"
+msgstr "å­č”Œē؋错čÆÆ"
+
+#. ERR_FAILED_CREATE_FILE
+msgid "Failed to create file:"
+msgstr "äøčƒ½å»ŗē«‹ę”£ę”ˆ:"
+
+#. ERR_LOAD_DEVICE_SETTINGS
+msgid "Error while loading device settings:"
+msgstr "č½½å…„č£…ē½®č®¾å®šę—¶é”™čÆÆ"
+
+#. ERR_NO_DRC_FILE
+msgid "is not a device-rc-file !!!"
+msgstr "äøę˜Æäø€äøŖč£…ē½®rc file"
+
+#. ERR_NETSCAPE_EXECUTE_FAIL
+msgid "Failed to execute netscape!"
+msgstr "äøčƒ½ę‰§č”Œnetscape!"
+
+#. ERR_SENDFAX_RECEIVER_MISSING
+msgid "Send fax: no receiver defined"
+msgstr "传送传ēœŸ: ę²”ęœ‰å®šä¹‰ęŽ„ę”¶č€…"
+
+#. ERR_CREATED_FOR_DEVICE
+msgid "has been created for device"
+msgstr ""
+
+#. ERR_USED_FOR_DEVICE
+msgid "you want to use it for device"
+msgstr ""
+
+#. ERR_MAY_CAUSE_PROBLEMS
+msgid "this may cause problems!"
+msgstr ""
+
+#. WARN_UNSAVED_IMAGES
+#, c-format
+msgid "There are %d unsaved images"
+msgstr "꜉ %d ęœŖå‚Ø存ēš„ę”£ę”ˆ"
+
+#. WARN_FILE_EXISTS
+#, c-format
+msgid "File %s already exists"
+msgstr "ę”£ę”ˆ %s å·²ē»å­˜åœØ"
+
+#. ERR_FILE_NOT_EXISTS
+#, c-format
+msgid "File %s does not exist"
+msgstr "ę”£ę”ˆ %s äøå­˜åœØ"
+
+#. ERR_FILE_NOT_POSTSCRIPT
+#, c-format
+msgid "File %s is not a postscript file"
+msgstr "%s äøę˜Æäø€äøŖpostscript ę”£"
+
+#. ERR_UNSUPPORTED_OUTPUT_FORMAT
+#, c-format
+msgid "Unsupported %d-bit output format: %s"
+msgstr "äøę”Æę“ %d -bit č¾“å‡ŗę ¼å¼: %s"
+
+#. ERR_CMS_CONVERSION
+#, fuzzy
+msgid "Error during CMS conversion:"
+msgstr "å‚Øå­˜ę—¶é”™čÆÆ"
+
+#. ERR_CMS_OPEN_ICM_FILE
+#, fuzzy
+msgid "Could not open"
+msgstr "开åÆå¤±č“„"
+
+#. CMS_SCANNER_ICM
+#, fuzzy
+msgid "scanner ICM profile"
+msgstr "删除列č”Øęœŗ"
+
+#. CMS_DISPLAY_ICM
+#, fuzzy
+msgid "display ICM profile"
+msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#. CMS_PROOF_ICM
+#, fuzzy
+msgid "proofing ICM profile"
+msgstr "删除列č”Øęœŗ"
+
+#. ERR_CMS_CREATE_TRANSFORM
+#, fuzzy
+msgid "Could not create transform"
+msgstr "äøčƒ½å»ŗē«‹ä¼ ēœŸäø“ę”ˆ"
+
+#. WARN_VIEWER_IMAGE_NOT_SAVED
+msgid "viewer image is not saved"
+msgstr "ę£€č§†å™Øå½±åƒę²”ęœ‰å‚Ø存"
+
+#. FILE_FILTER_ALL_FILES
+msgid "All files"
+msgstr ""
+
+#. FILE_FILTER_IMAGES
+#, fuzzy
+msgid "Images"
+msgstr "锵ꕰ:"
+
+#. FILE_FILTER_XBL
+#, fuzzy
+msgid "XSane batch list"
+msgstr "å‚Øå­˜ę‰¹ę¬”åˆ—č”Ø"
+
+#. FILE_FILTER_ICM
+msgid "ICC/ICM Profiles"
+msgstr ""
+
+#. FILE_FILTER_DRC
+#, fuzzy
+msgid "XSane device preferences"
+msgstr "ē¦»å¼€ę—¶å‚Øå­˜č£…ē½®åå„½č®¾å®š"
+
+#. FILE_FILTER_RC
+#, fuzzy
+msgid "XSane preferences"
+msgstr "åå„½č®¾å®š"
+
+#. TEXT_USAGE
+msgid "Usage:"
+msgstr "ä½æē”Ø:"
+
+#. TEXT_USAGE_OPTIONS
+msgid "[OPTION]... [DEVICE]"
+msgstr ""
+
+#. TEXT_HELP
+msgid ""
+"Start up graphical user interface to access SANE (Scanner Access Now Easy) "
+"devices.\n"
+"\n"
+"The format of [DEVICE] is backendname:devicefile (e.g. umax:/dev/scanner).\n"
+"[OPTION]... can be a combination of the following items:\n"
+" -h, --help display this help message and exit\n"
+" -v, --version print version information\n"
+" -l, --license print license information\n"
+"\n"
+" -d, --device-settings file load device settings from file (without \".drc"
+"\")\n"
+"\n"
+" -V, --viewer start with viewer-mode active (default)\n"
+" -s, --save start with save-mode active\n"
+" -c, --copy start with copy-mode active\n"
+" -m, --multipage start with multipage-mode active\n"
+" -f, --fax start with fax-mode active\n"
+" -e, --email start with e-mail-mode active\n"
+" -n, --no-mode-selection disable menu for XSane mode selection\n"
+"\n"
+" -F, --Fixed fixed main window size (overwrite preferences "
+"value)\n"
+" -R, --Resizeable resizable, scrolled main window (overwrite "
+"preferences value)\n"
+"\n"
+" -p, --print-filenames print image filenames created by XSane\n"
+" -N, --force-filename name force filename and disable user filename "
+"selection\n"
+"\n"
+" --display X11-display redirect output to X11-display\n"
+" --no-xshm do not use shared memory images\n"
+" --sync request a synchronous connection with the X11 "
+"server"
+msgstr ""
+
+#. strings for gimp plugin
+#. XSANE_GIMP_INSTALL_BLURB
+msgid "Front-end to the SANE interface"
+msgstr ""
+
+#. XSANE_GIMP_INSTALL_HELP
+msgid ""
+"This function provides access to scanners and other image acquisition "
+"devices through the SANE (Scanner Access Now Easy) interface."
+msgstr ""
+
+#. Menu path must not be translated, this is done by the gimp. Only translate the text behind the last "/"
+#. XSANE_GIMP_MENU_DIALOG
+msgid "<Toolbox>/File/Acquire/XSane: Device dialog..."
+msgstr ""
+
+#. XSANE_GIMP_MENU
+msgid "<Toolbox>/File/Acquire/XSane: "
+msgstr ""
+
+#. XSANE_GIMP_MENU_DIALOG_OLD
+msgid "<Toolbox>/Xtns/XSane/Device dialog..."
+msgstr ""
+
+#. XSANE_GIMP_MENU_OLD
+msgid "<Toolbox>/Xtns/XSane/"
+msgstr ""
+
+#. HELP_NO_DEVICES
+msgid ""
+"Possible reasons:\n"
+"1) There really is no device that is supported by SANE\n"
+"2) Supported devices are busy\n"
+"3) The permissions for the device file do not allow you to use it - try as "
+"root\n"
+"4) The backend is not loaded by SANE (man sane-dll)\n"
+"5) The backend is not configured correct (man sane-\"backendname\")\n"
+"6) Possibly there is more than one SANE version installed"
+msgstr ""
+
+#. strings that are used in structures, so it is not allowed to use _()/gettext() here
+#. gettext_noop does mark these texts but does not change the string
+#. MENU_ITEM_SURFACE_FULL_SIZE
+msgid "full size"
+msgstr "完å…Ø大小"
+
+#. MENU_ITEM_SURFACE_DIN_A3P
+msgid "DIN A3 port."
+msgstr ""
+
+#. MENU_ITEM_SURFACE_DIN_A3L
+msgid "DIN A3 land."
+msgstr ""
+
+#. MENU_ITEM_SURFACE_DIN_A4P
+msgid "DIN A4 port."
+msgstr ""
+
+#. MENU_ITEM_SURFACE_DIN_A4L
+msgid "DIN A4 land."
+msgstr ""
+
+#. MENU_ITEM_SURFACE_DIN_A5P
+msgid "DIN A5 port."
+msgstr ""
+
+#. MENU_ITEM_SURFACE_DIN_A5L
+msgid "DIN A5 land."
+msgstr ""
+
+#. MENU_ITEM_SURFACE_13cmx18cm
+msgid "13cm x 18cm"
+msgstr ""
+
+#. MENU_ITEM_SURFACE_18cmx13cm
+msgid "18cm x 13cm"
+msgstr ""
+
+#. MENU_ITEM_SURFACE_10cmx15cm
+msgid "10cm x 15cm"
+msgstr ""
+
+#. MENU_ITEM_SURFACE_15cmx10cm
+msgid "15cm x 10cm"
+msgstr ""
+
+#. MENU_ITEM_SURFACE_9cmx13cm
+msgid "9cm x 13cm"
+msgstr ""
+
+#. MENU_ITEM_SURFACE_13cmx9cm
+msgid "13cm x 9cm"
+msgstr ""
+
+#. MENU_ITEM_SURFACE_legal_P
+msgid "legal port."
+msgstr ""
+
+#. MENU_ITEM_SURFACE_legal_L
+msgid "legal land."
+msgstr ""
+
+#. MENU_ITEM_SURFACE_letter_P
+msgid "letter port."
+msgstr ""
+
+#. MENU_ITEM_SURFACE_letter_L
+msgid "letter land."
+msgstr ""
+
+#. MENU_ITEM_MEDIUM_FULL_COLOR_RANGE
+msgid "Full color range"
+msgstr "å…Øč‰²čŒƒå›“"
+
+#. MENU_ITEM_MEDIUM_SLIDE
+msgid "Slide"
+msgstr "å¹»ēÆē‰‡(ę­£ē‰‡)"
+
+#. MENU_ITEM_MEDIUM_STANDARD_NEG
+msgid "Standard negative"
+msgstr "ę ‡å‡†č“Ÿē‰‡"
+
+#. MENU_ITEM_MEDIUM_AGFA_NEG
+msgid "Agfa negative"
+msgstr "Agfa č“Ÿē‰‡"
+
+#. MENU_ITEM_MEDIUM_AGFA_NEG_XRG200_4
+msgid "Agfa negative XRG 200-4"
+msgstr "Agfa č“Ÿē‰‡XRG 200-4 "
+
+#. MENU_ITEM_MEDIUM_AGFA_NEG_HDC_100
+msgid "Agfa negative HDC 100"
+msgstr "Agfa č“Ÿē‰‡HDC 100"
+
+#. MENU_ITEM_MEDIUM_FUJI_NEG
+msgid "Fuji negative"
+msgstr "åƌ士(Fuji)č“Ÿē‰‡"
+
+#. MENU_ITEM_MEDIUM_KODAK_NEG
+msgid "Kodak negative"
+msgstr "ęŸÆč¾¾(Kodak)č“Ÿē‰‡"
+
+#. MENU_ITEM_MEDIUM_KONICA_NEG
+msgid "Konica negative"
+msgstr "ęŸÆ尼協(Konica)č“Ÿē‰‡"
+
+#. MENU_ITEM_MEDIUM_KONICA_NEG_VX_100
+msgid "Konica negative VX 100"
+msgstr "ęŸÆ尼協(Konica)č“Ÿē‰‡ VX 100"
+
+#. MENU_ITEM_MEDIUM_ROSSMANN_NEG_HR_100
+msgid "Rossmann negative HR 100"
+msgstr ""
+
+#
+#. TEXT_PROJECT_STATUS_NOT_CREATED
+msgid "Project not created"
+msgstr "å·„ē؋ęœŖå»ŗē«‹"
+
+#
+#. TEXT_PROJECT_STATUS_CREATED
+msgid "Project created"
+msgstr "å·„ē؋已å»ŗē«‹"
+
+#
+#. TEXT_PROJECT_STATUS_CHANGED
+msgid "Project changed"
+msgstr "å·„ēØ‹å·²ę›“ę”¹"
+
+#. TEXT_PROJECT_STATUS_ERR_READ_PROJECT
+msgid "Error reading project"
+msgstr "čƻ取巄ē؋ę˜Æå‡ŗ错"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVING_ERROR
+msgid "Error saving file"
+msgstr "äæå­˜å·„ēØ‹ę—¶å‡ŗ错"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVING
+msgid "Saving file"
+msgstr "ę­£åœØäæå­˜ę–‡ä»¶"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVING_ABORTED
+msgid "Aborted saving file"
+msgstr "å·²å–ę¶ˆäæå­˜ę–‡ä»¶"
+
+#. TEXT_PROJECT_STATUS_FILE_SAVED
+msgid "File has been saved"
+msgstr "ę–‡ä»¶å·²äæå­˜"
+
+#. TEXT_EMAIL_STATUS_POP3_CONNECTION_FAILED
+msgid "POP3 connection failed"
+msgstr "POP3 čæžęŽ„å¤±č“„"
+
+#. TEXT_EMAIL_STATUS_POP3_LOGIN_FAILED
+msgid "POP3 login failed"
+msgstr "POP3 ē™»å½•å¤±č“„"
+
+#. TEXT_EMAIL_STATUS_ASMTP_AUTH_FAILED
+msgid "ASMTP authentication failed"
+msgstr "ASMTP 认čÆå¤±č“„"
+
+#. TEXT_EMAIL_STATUS_SMTP_CONNECTION_FAILED
+msgid "SMTP connection failed"
+msgstr "SMTP čæžęŽ„å¤±č“„"
+
+#
+#. TEXT_EMAIL_STATUS_SMTP_ERR_FROM
+msgid "From entry not accepted"
+msgstr "发件地址äøę­£ē”®"
+
+#
+#. TEXT_EMAIL_STATUS_SMTP_ERR_RCPT
+msgid "Receiver entry not accepted"
+msgstr "ęŽ„ę”¶åœ°å€äøę­£ē”®"
+
+#
+#. TEXT_EMAIL_STATUS_SMTP_ERR_DATA
+msgid "E-mail data not accepted"
+msgstr "é‚®ä»¶ę•°ę®äøę­£ē”®"
+
+#. TEXT_EMAIL_STATUS_SENDING
+msgid "Sending e-mail"
+msgstr "ę­£åœØ发送邮件"
+
+#. TEXT_EMAIL_STATUS_SENT
+msgid "E-mail has been sent"
+msgstr "邮件已发送"
+
+#. TEXT_FAX_STATUS_QUEUEING_FAX
+msgid "Queueing Fax"
+msgstr "ę­£åœØē­‰å¾…ä¼ ēœŸåˆ—队"
+
+#. TEXT_FAX_STATUS_FAX_QUEUED
+msgid "Fax is queued"
+msgstr "ä¼ ēœŸå·²čæ›å…„列队"
+
+#. Sane backend messages
+msgid "flatbed scanner"
+msgstr "å¹³å°ę‰«ęå™Ø"
+
+msgid "frame grabber"
+msgstr "č¾¹ę”†ęŠ“å–å™Ø"
+
+msgid "handheld scanner"
+msgstr "ę‰‹ęŒå¼ę‰«ęå™Ø"
+
+msgid "still camera"
+msgstr "é™éŸ³ę‘„åƒęœŗ"
+
+msgid "video camera"
+msgstr "č§†é¢‘ę‘„åƒęœŗ"
+
+msgid "virtual device"
+msgstr "č™šę‹Ÿč£…ē½®"
+
+msgid "Success"
+msgstr "å®Œęˆ"
+
+msgid "Operation not supported"
+msgstr "平台ęœŖę”Æę“"
+
+msgid "Operation was cancelled"
+msgstr "平台已ē»å–ę¶ˆ"
+
+msgid "Device busy"
+msgstr "č£…ē½®åæ™ē¢Œ"
+
+msgid "Invalid argument"
+msgstr "ꗠꕈēš„å‚ę•°"
+
+msgid "End of file reached"
+msgstr "å·²åˆ°č¾¾ę–‡ä»¶å°¾"
+
+msgid "Document feeder jammed"
+msgstr "ę–‡ę”£čŽ·å–å™Ø阻唞"
+
+msgid "Document feeder out of documents"
+msgstr ""
+
+msgid "Scanner cover is open"
+msgstr "ę‰«ęä»Ŗē›–å­å·²ę‰“å¼€"
+
+msgid "Error during device I/O"
+msgstr "č£…ē½®I/Oꗶ错čÆÆ"
+
+msgid "Out of memory"
+msgstr "内存äøč¶³"
+
+msgid "Access to resource has been denied"
+msgstr "资ęŗå­˜å–č¢«ē¦ę­¢"
+
+#, fuzzy
+#~ msgid "select scanner transmissive ICM-profile"
+#~ msgstr "删除列č”Øęœŗ"
+
+#, fuzzy
+#~ msgid "select scanner transmissive gray ICM-profile"
+#~ msgstr "删除列č”Øęœŗ"
+
+#, fuzzy
+#~ msgid "Scanner reflective ICM-profile"
+#~ msgstr "删除列č”Øęœŗ"
+
+#, fuzzy
+#~ msgid "Scanner reflective gray ICM-profile"
+#~ msgstr "删除列č”Øęœŗ"
+
+#, fuzzy
+#~ msgid "Scanner transmissive gray ICM-profile"
+#~ msgstr "删除列č”Øęœŗ"
+
+#, fuzzy
+#~ msgid "Scanner reflektive ICM-profile"
+#~ msgstr "删除列č”Øęœŗ"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive ICM-profile"
+#~ msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#, fuzzy
+#~ msgid "Browse for scanner transmissive gray ICM-profile"
+#~ msgstr "å½±åƒę”£ę”ˆęµč§ˆ"
+
+#~ msgid "GIMP can't handle depth %d bits/color"
+#~ msgstr "GIMPäøčƒ½å–å¾—ę·±åŗ¦ %d bits/color"
+
+#, fuzzy
+#~ msgid "scanner reflective ICM profile"
+#~ msgstr "删除列č”Øęœŗ"
+
+#, fuzzy
+#~ msgid "Embed scanner/source ICM profile for GIMP"
+#~ msgstr "删除列č”Øęœŗ"
+
+#~ msgid "Enter name of fax project"
+#~ msgstr "č¾“å…„ä¼ ēœŸäø“ę”ˆēš„名ē§°"
+
+#~ msgid "Enter name of e-mail project"
+#~ msgstr "č¾“å…„é‚®ä»¶äø“ę”ˆēš„名ē§°"
+
+#~ msgid "Enter name of multipage project"
+#~ msgstr "č¾“å…„å¤šé”µå·„ē؋ēš„名ē§°"
+
+#~ msgid ""
+#~ "Gimp does not support depth 16 bits/color.\n"
+#~ "Do you want to reduce the depth to 8 bits/color?"
+#~ msgstr ""
+#~ "Gimp äøę”Æę“ 16位元/č‰²å½© ę·±åŗ¦\n"
+#~ "ä½ ęƒ³č¦ē®€åŒ–ęˆ8 位元/č‰²å½© ę·±åŗ¦å—?"
diff --git a/src/Makefile.in b/src/Makefile.in
index 5debbbb..4ea7a66 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -108,7 +108,7 @@ clean:
rm -rf .libs
distclean: clean
- rm -f Makefile $(PROGRAMS)
+ rm -f Makefile $(PROGRAMS)
depend:
makedepend $(INCLUDES) *.c
@@ -232,6 +232,7 @@ xsane-multipage-project.o: xsane-front-gtk.h
xsane-multipage-project.o: xsane-preferences.h
xsane-multipage-project.o: xsane-multipage-project.h
xsane-multipage-project.o: xsane-text.h
+xsane-multipage-project.o: xsane-save.h
xsane-fax-project.o: xsane.h
xsane-fax-project.o: xsane-back-gtk.h
diff --git a/src/xsane-back-gtk.c b/src/xsane-back-gtk.c
index 10ac0b3..6ed24a4 100644
--- a/src/xsane-back-gtk.c
+++ b/src/xsane-back-gtk.c
@@ -3,7 +3,7 @@
xsane-back-gtk.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -470,7 +470,7 @@ void xsane_back_gtk_set_option(int opt_num, void *val, SANE_Action action)
SANE_Status status;
SANE_Int info;
char buf[TEXTBUFSIZE];
- int old_colors = xsane.xsane_colors;
+ int old_channels = xsane.xsane_channels;
int update_gamma = FALSE;
DBG(DBG_proc, "xsane_back_gtk_set_option\n");
@@ -505,7 +505,7 @@ void xsane_back_gtk_set_option(int opt_num, void *val, SANE_Action action)
/* XXXXXXXXXXXXXX this also has to be handled XXXXXXXXXXXXXXX */
}
- if (xsane.xsane_colors != old_colors)
+ if (xsane.xsane_channels != old_channels)
{
/* we have to update gamma tables and histogram because medium settings */
/* may have changed */
@@ -734,7 +734,7 @@ gint xsane_back_gtk_decision(gchar *title, gchar **xpm_d, gchar *message, gchar
button = gtk_button_new_with_label(oktext);
GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_back_gtk_decision_ok_callback, (void *) decision_flag_ptr);
- gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 5);
+ gtk_box_pack_end(GTK_BOX(hbox), button, TRUE, TRUE, 5);
gtk_widget_grab_default(button);
gtk_widget_show(button);
@@ -743,7 +743,7 @@ gint xsane_back_gtk_decision(gchar *title, gchar **xpm_d, gchar *message, gchar
{
button = gtk_button_new_with_label(rejecttext);
g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_back_gtk_decision_reject_callback, (void *) decision_flag_ptr);
- gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 5);
+ gtk_box_pack_end(GTK_BOX(hbox), button, TRUE, TRUE, 5);
gtk_widget_show(button);
}
@@ -871,59 +871,6 @@ void xsane_back_gtk_info(gchar *info, int wait)
/* ---------------------------------------------------------------------------------------------------------------------- */
-GtkWidget *fileselection;
-char *fileselection_filetype = NULL;
-
-static void xsane_back_gtk_filetype_callback(GtkWidget *widget, gpointer data)
-{
- char *extension, *filename;
- char buffer[PATH_MAX];
- char *new_filetype = (char *) data;
-
- DBG(DBG_proc, "xsane_filetype_callback\n");
-
- filename = strdup(gtk_file_selection_get_filename(GTK_FILE_SELECTION(fileselection)));
-
- if ((new_filetype) && (*new_filetype))
- {
- extension = strrchr(filename, '.');
-
- if ((extension) && (extension != filename))
- {
- if ( (!strcasecmp(extension, ".pnm")) || (!strcasecmp(extension, ".raw"))
- || (!strcasecmp(extension, ".png")) || (!strcasecmp(extension, ".ps"))
- || (!strcasecmp(extension, ".pdf")) || (!strcasecmp(extension, ".rgba"))
- || (!strcasecmp(extension, ".tiff")) || (!strcasecmp(extension, ".tif"))
- || (!strcasecmp(extension, ".text")) || (!strcasecmp(extension, ".txt"))
- || (!strcasecmp(extension, ".jpg")) || (!strcasecmp(extension, ".jpeg"))
- ) /* remove filetype extension */
- {
- *extension = 0; /* remove extension */
- }
- }
- snprintf(buffer, sizeof(buffer), "%s%s", filename, new_filetype);
- free(filename);
- filename = strdup(buffer);
- }
-
- if (fileselection_filetype)
- {
- free(fileselection_filetype);
- fileselection_filetype = NULL;
- }
-
- if (data)
- {
- fileselection_filetype = strdup(new_filetype);
- }
-
- gtk_file_selection_set_filename(GTK_FILE_SELECTION(fileselection), filename);
-
- free(filename);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
void xsane_back_gtk_filetype_menu_set_history(GtkWidget *xsane_filetype_option_menu, char *filetype)
{
int filetype_nr;
@@ -940,6 +887,13 @@ void xsane_back_gtk_filetype_menu_set_history(GtkWidget *xsane_filetype_option_m
}
#endif
+ filetype_nr++;
+ if ( (filetype) && (!strcasecmp(filetype, XSANE_FILETYPE_PDF)) )
+ {
+ select_item = filetype_nr;
+ }
+
+
#ifdef HAVE_LIBPNG
#ifdef HAVE_LIBZ
filetype_nr++;
@@ -962,12 +916,6 @@ void xsane_back_gtk_filetype_menu_set_history(GtkWidget *xsane_filetype_option_m
select_item = filetype_nr;
}
- filetype_nr++;
- if ( (filetype) && (!strcasecmp(filetype, XSANE_FILETYPE_PDF)) )
- {
- select_item = filetype_nr;
- }
-
#ifdef SUPPORT_RGBA
filetype_nr++;
if ( (filetype) && (!strcasecmp(filetype, XSANE_FILETYPE_RGBA)) )
@@ -1112,6 +1060,475 @@ GtkWidget *xsane_back_gtk_filetype_menu_new(char *filetype, GtkSignalFunc filety
/* ----------------------------------------------------------------------------------------------------------------- */
+GtkWidget *xsane_back_gtk_cms_function_menu_new(int select_cms_function, GtkSignalFunc cms_function_menu_callback)
+{
+ GtkWidget *xsane_cms_function_menu, *xsane_cms_function_item;
+ GtkWidget *xsane_cms_function_option_menu;
+
+ xsane_cms_function_menu = gtk_menu_new();
+
+ xsane_cms_function_item = gtk_menu_item_new_with_label(MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE);
+ if (cms_function_menu_callback)
+ {
+ g_signal_connect(GTK_OBJECT(xsane_cms_function_item), "activate", (GtkSignalFunc) cms_function_menu_callback, (void *) XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE);
+ }
+ gtk_container_add(GTK_CONTAINER(xsane_cms_function_menu), xsane_cms_function_item);
+ gtk_widget_show(xsane_cms_function_item);
+
+ xsane_cms_function_item = gtk_menu_item_new_with_label(MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB);
+ if (cms_function_menu_callback)
+ {
+ g_signal_connect(GTK_OBJECT(xsane_cms_function_item), "activate", (GtkSignalFunc) cms_function_menu_callback, (void *) XSANE_CMS_FUNCTION_CONVERT_TO_SRGB);
+ }
+ gtk_container_add(GTK_CONTAINER(xsane_cms_function_menu), xsane_cms_function_item);
+ gtk_widget_show(xsane_cms_function_item);
+
+ xsane_cms_function_item = gtk_menu_item_new_with_label(MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS);
+ if (cms_function_menu_callback)
+ {
+ g_signal_connect(GTK_OBJECT(xsane_cms_function_item), "activate", (GtkSignalFunc) cms_function_menu_callback, (void *) XSANE_CMS_FUNCTION_CONVERT_TO_WORKING_CS);
+ }
+ gtk_container_add(GTK_CONTAINER(xsane_cms_function_menu), xsane_cms_function_item);
+ gtk_widget_show(xsane_cms_function_item);
+
+ xsane_cms_function_option_menu = gtk_option_menu_new();
+ xsane_back_gtk_set_tooltip(xsane.tooltips, xsane_cms_function_option_menu, DESC_CMS_FUNCTION);
+ gtk_option_menu_set_menu(GTK_OPTION_MENU(xsane_cms_function_option_menu), xsane_cms_function_menu);
+ gtk_option_menu_set_history(GTK_OPTION_MENU(xsane_cms_function_option_menu), select_cms_function);
+
+ return (xsane_cms_function_option_menu);
+}
+
+/* ----------------------------------------------------------------------------------------------------------------- */
+
+#ifdef __GTK_FILE_CHOOSER_H__
+
+GtkWidget *filechooser;
+char *filechooser_filetype = NULL;
+
+static void xsane_back_gtk_filetype2_callback(GtkWidget *widget, gpointer data)
+{
+ char *extension, *chooser_filename;
+ char filename[PATH_MAX];
+ char *basename;
+ char *new_filetype = (char *) data;
+ int pos;
+
+ DBG(DBG_proc, "xsane_filetype2_callback\n");
+
+ chooser_filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooser));
+
+ if ((new_filetype) && (*new_filetype))
+ {
+ extension = strrchr(chooser_filename, '.');
+
+ if ((extension) && (extension != chooser_filename))
+ {
+ if ( (!strcasecmp(extension, ".pnm")) || (!strcasecmp(extension, ".raw"))
+ || (!strcasecmp(extension, ".png")) || (!strcasecmp(extension, ".ps"))
+ || (!strcasecmp(extension, ".pdf")) || (!strcasecmp(extension, ".rgba"))
+ || (!strcasecmp(extension, ".tiff")) || (!strcasecmp(extension, ".tif"))
+ || (!strcasecmp(extension, ".text")) || (!strcasecmp(extension, ".txt"))
+ || (!strcasecmp(extension, ".jpg")) || (!strcasecmp(extension, ".jpeg"))
+ ) /* remove filetype extension */
+ {
+ *extension = 0; /* remove extension */
+ }
+ }
+ snprintf(filename, sizeof(filename), "%s%s", chooser_filename, new_filetype);
+ }
+
+ if (filechooser_filetype)
+ {
+ free(filechooser_filetype);
+ filechooser_filetype = NULL;
+ }
+
+ if (data)
+ {
+ filechooser_filetype = strdup(new_filetype);
+ }
+
+
+ basename = filename;
+
+ for (pos = strlen(filename) - 1; pos > 0; pos--)
+ {
+ if (filename[pos] == '/')
+ {
+ filename[pos]=0;
+
+ basename = filename+pos+1;
+ break;
+ }
+ }
+
+ gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(filechooser), basename);
+
+ g_free(chooser_filename);
+}
+
+/* ----------------------------------------------------------------------------------------------------------------- */
+
+int xsane_back_gtk_get_filename(const char *label, const char *default_name, size_t max_len, char *filename, char **filetype, int *cms_function,
+ XsaneFileChooserAction action, int show_extra_widgets, int enable_filters, int activate_filter)
+{
+ int ok = 0;
+ GtkWidget *xsane_filetype_option_menu;
+ GtkWidget *xsane_cms_function_option_menu = xsane_cms_function_option_menu;
+ gint result;
+ const gchar *accept_text = NULL;
+ const gchar *reject_text = NULL;
+ GtkFileChooserAction chooser_action = GTK_FILE_CHOOSER_ACTION_OPEN;
+ GtkResponseType accept_code;
+ GtkResponseType reject_code;
+ char buf[PATH_MAX];
+
+
+ DBG(DBG_proc, "xsane_back_gtk_get_filename\n");
+
+ if (filechooser)
+ {
+ gdk_beep();
+ return -1; /* cancel => do not allow to open more than one filechooser dialog */
+ }
+
+ switch (action)
+ {
+ default:
+ case XSANE_FILE_CHOOSER_ACTION_OPEN:
+ chooser_action = GTK_FILE_CHOOSER_ACTION_OPEN;
+ accept_text = GTK_STOCK_OPEN;
+ accept_code = GTK_RESPONSE_ACCEPT;
+ reject_text = GTK_STOCK_CANCEL;
+ reject_code = GTK_RESPONSE_CANCEL;
+ break;
+
+ case XSANE_FILE_CHOOSER_ACTION_SELECT_OPEN:
+ chooser_action = GTK_FILE_CHOOSER_ACTION_OPEN;
+ accept_text = GTK_STOCK_OK;
+ accept_code = GTK_RESPONSE_ACCEPT;
+ reject_text = GTK_STOCK_CANCEL;
+ reject_code = GTK_RESPONSE_CANCEL;
+ break;
+
+ case XSANE_FILE_CHOOSER_ACTION_SAVE:
+ chooser_action = GTK_FILE_CHOOSER_ACTION_SAVE;
+ accept_text = GTK_STOCK_SAVE;
+ accept_code = GTK_RESPONSE_ACCEPT;
+ reject_text = GTK_STOCK_CANCEL;
+ reject_code = GTK_RESPONSE_CANCEL;
+ break;
+
+ case XSANE_FILE_CHOOSER_ACTION_SELECT_SAVE:
+ chooser_action = GTK_FILE_CHOOSER_ACTION_SAVE;
+ accept_text = GTK_STOCK_OK;
+ accept_code = GTK_RESPONSE_ACCEPT;
+ reject_text = GTK_STOCK_CANCEL;
+ reject_code = GTK_RESPONSE_CANCEL;
+ break;
+
+ case XSANE_FILE_CHOOSER_ACTION_SELECT_FOLDER:
+ chooser_action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
+ accept_text = GTK_STOCK_OK;
+ accept_code = GTK_RESPONSE_ACCEPT;
+ reject_text = GTK_STOCK_CANCEL;
+ reject_code = GTK_RESPONSE_CANCEL;
+ break;
+
+ case XSANE_FILE_CHOOSER_ACTION_SELECT_PROJECT:
+ chooser_action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
+ accept_text = GTK_STOCK_OK;
+ accept_code = GTK_RESPONSE_NO; /* when we would use ACCEPT, OK, YES or APPLY then the filechooser_dialog would create non existant directories */
+ reject_text = GTK_STOCK_CANCEL;
+ reject_code = GTK_RESPONSE_CANCEL;
+ break;
+ }
+
+ filechooser = gtk_file_chooser_dialog_new (label,
+ NULL,
+ chooser_action,
+ reject_text, reject_code,
+ accept_text, accept_code,
+ NULL);
+
+ xsane_set_window_icon(filechooser, 0);
+
+ gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(filechooser), TRUE);
+
+
+ /* add paths to filechooser */
+ if (getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)) != NULL)
+ {
+ snprintf(buf, sizeof(buf)-2, "%s", getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)));
+ gtk_file_chooser_add_shortcut_folder(GTK_FILE_CHOOSER(filechooser), buf, NULL);
+ }
+
+ if (getcwd(buf, sizeof(buf)))
+ {
+ gtk_file_chooser_add_shortcut_folder(GTK_FILE_CHOOSER(filechooser), buf, NULL);
+ }
+
+
+ if (enable_filters & XSANE_FILE_FILTER_ALL) /* filter: all files */
+ {
+ GtkFileFilter *filter;
+
+ filter = gtk_file_filter_new();
+ gtk_file_filter_add_pattern(filter, "*");
+
+ gtk_file_filter_set_name(filter, FILE_FILTER_ALL_FILES);
+ gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(filechooser), filter);
+
+ if (activate_filter == XSANE_FILE_FILTER_ALL)
+ {
+ gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(filechooser), filter);
+ }
+ }
+
+ if (enable_filters & XSANE_FILE_FILTER_DRC) /* filter: device rc */
+ {
+ GtkFileFilter *filter;
+
+ filter = gtk_file_filter_new();
+ gtk_file_filter_add_pattern(filter, "*.[dD][rR][cC]");
+
+ gtk_file_filter_set_name(filter, FILE_FILTER_DRC);
+ gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(filechooser), filter);
+
+ if (activate_filter == XSANE_FILE_FILTER_DRC)
+ {
+ gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(filechooser), filter);
+ }
+
+ /* add path to filechooser */
+ if (getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)) != NULL)
+ {
+ gtk_file_chooser_add_shortcut_folder(GTK_FILE_CHOOSER(filechooser), getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)), NULL);
+ }
+ }
+
+ if (enable_filters & XSANE_FILE_FILTER_ICM) /* filter: color management profiles */
+ {
+ GtkFileFilter *filter;
+
+ filter = gtk_file_filter_new();
+ gtk_file_filter_add_pattern(filter, "*.[iI][cC][cCmM]");
+
+ gtk_file_filter_set_name(filter, FILE_FILTER_ICM);
+ gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(filechooser), filter);
+
+ if (activate_filter == XSANE_FILE_FILTER_ICM)
+ {
+ gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(filechooser), filter);
+ }
+
+ /* add path to filechooser */
+ if (getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)) != NULL)
+ {
+ snprintf(buf, sizeof(buf)-2, "%s%c.color%cicc", getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)), SLASH, SLASH);
+ gtk_file_chooser_add_shortcut_folder(GTK_FILE_CHOOSER(filechooser), buf, NULL);
+ }
+ gtk_file_chooser_add_shortcut_folder(GTK_FILE_CHOOSER(filechooser), "/usr/share/color/icc", NULL);
+ }
+
+ if (enable_filters & XSANE_FILE_FILTER_IMAGES) /* filter: images */
+ {
+ GtkFileFilter *filter;
+
+ filter = gtk_file_filter_new();
+ gtk_file_filter_add_pattern(filter, "*.[jJ][pP][gG]");
+ gtk_file_filter_add_pattern(filter, "*.[jJ][pP][eE][gG]");
+ gtk_file_filter_add_pattern(filter, "*.[pP][nN][gG]");
+ gtk_file_filter_add_pattern(filter, "*.[tT][iI][fF]");
+ gtk_file_filter_add_pattern(filter, "*.[tT][iI][fF][fF]");
+ gtk_file_filter_add_pattern(filter, "*.[pP][sS]");
+ gtk_file_filter_add_pattern(filter, "*.[pP][dD][fF]");
+ gtk_file_filter_add_pattern(filter, "*.[pP][nN][mM]");
+ gtk_file_filter_add_pattern(filter, "*.[pP][bB][mM]");
+ gtk_file_filter_add_pattern(filter, "*.[pP][gG][mM]");
+ gtk_file_filter_add_pattern(filter, "*.[pP][pP][mM]");
+
+ gtk_file_filter_set_name(filter, FILE_FILTER_IMAGES);
+ gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(filechooser), filter);
+
+ if (activate_filter == XSANE_FILE_FILTER_IMAGES)
+ {
+ gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(filechooser), filter);
+ }
+ }
+
+ if (enable_filters & XSANE_FILE_FILTER_BATCHLIST) /* filter: color management profiles */
+ {
+ GtkFileFilter *filter;
+
+ filter = gtk_file_filter_new();
+ gtk_file_filter_add_pattern(filter, "*.[xX][bV][lL]");
+
+ gtk_file_filter_set_name(filter, FILE_FILTER_XBL);
+ gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(filechooser), filter);
+
+ if (activate_filter == XSANE_FILE_FILTER_BATCHLIST)
+ {
+ gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(filechooser), filter);
+ }
+ }
+
+ /* set default filename */
+ if (default_name) /* select file */
+ {
+ const char *basename = default_name;
+ char *path;
+ int pos;
+
+ DBG(DBG_info, "xsane_back_gtk_get_filename: default_name =%s\n", default_name);
+
+ path = strdup(default_name);
+ for (pos = strlen(path)-1; pos > 0; pos--)
+ {
+ if (path[pos] == '/')
+ {
+ path[pos]=0;
+
+ basename = path+pos+1;
+ break;
+ }
+ }
+
+ if (pos)
+ {
+ gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(filechooser), path);
+ }
+
+ if ((action == XSANE_FILE_CHOOSER_ACTION_SAVE) || (action == XSANE_FILE_CHOOSER_ACTION_SELECT_SAVE))
+ {
+ gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(filechooser), (char *) basename);
+ }
+ else
+ {
+ gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(filechooser), (char *) default_name);
+ }
+ }
+
+
+ /* add filetype menu */
+
+ if (show_extra_widgets)
+ {
+ GtkWidget *vbox;
+ GtkWidget *hbox;
+ GtkWidget *label;
+
+ vbox = gtk_vbox_new(FALSE, 15);
+ gtk_widget_show(vbox);
+
+ if (show_extra_widgets & XSANE_GET_FILENAME_SHOW_FILETYPE)
+ {
+ DBG(DBG_info, "xsane_back_gtk_get_filename: showing filetype menu\n");
+
+ if (filechooser_filetype)
+ {
+ free(filechooser_filetype);
+ }
+
+ if ((filetype) && (*filetype))
+ {
+ filechooser_filetype = strdup(*filetype);
+ }
+ else
+ {
+ filechooser_filetype = NULL;
+ }
+
+ hbox = gtk_hbox_new(FALSE, 2);
+ gtk_widget_show(hbox);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
+
+ label = gtk_label_new(TEXT_FILETYPE);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
+ gtk_widget_show(label);
+
+ xsane_filetype_option_menu = xsane_back_gtk_filetype_menu_new(filechooser_filetype, (GtkSignalFunc) xsane_back_gtk_filetype2_callback);
+ gtk_box_pack_start(GTK_BOX(hbox), xsane_filetype_option_menu, TRUE, TRUE, 2);
+ gtk_widget_show(xsane_filetype_option_menu);
+ }
+
+#ifdef HAVE_LIBLCMS
+ if ((cms_function) && (show_extra_widgets & XSANE_GET_FILENAME_SHOW_CMS_FUNCTION))
+ {
+ hbox = gtk_hbox_new(FALSE, 2);
+ gtk_widget_show(hbox);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
+
+ label = gtk_label_new(TEXT_CMS_FUNCTION);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
+ gtk_widget_show(label);
+
+ xsane_cms_function_option_menu = xsane_back_gtk_cms_function_menu_new(*cms_function, NULL);
+ gtk_box_pack_start(GTK_BOX(hbox), xsane_cms_function_option_menu, TRUE, TRUE, 2);
+ gtk_widget_show(xsane_cms_function_option_menu);
+ }
+#endif
+
+ gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(filechooser), vbox);
+ }
+
+
+ gtk_widget_show(filechooser);
+
+ result = gtk_dialog_run(GTK_DIALOG(filechooser));
+
+ DBG(DBG_info, "xsane_back_gtk_get_filename: gtk_dialog_run() returned with result=%d\n", result);
+
+ if (result == accept_code)
+ {
+ char *chooser_filename;
+
+ if ((filetype) && (*filetype))
+ {
+ free(*filetype);
+ *filetype = NULL;
+ }
+
+ if (filechooser_filetype)
+ {
+ if (filetype)
+ {
+ *filetype = strdup(filechooser_filetype);
+ }
+ }
+
+#ifdef HAVE_LIBLCMS
+ if ((cms_function) && (show_extra_widgets & XSANE_GET_FILENAME_SHOW_CMS_FUNCTION))
+ {
+ *cms_function = gtk_option_menu_get_history(GTK_OPTION_MENU(xsane_cms_function_option_menu));
+
+ DBG(DBG_info, "selected cms_function = %d\n", *cms_function);
+ }
+#endif
+
+ chooser_filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooser));
+ strncpy(filename, chooser_filename, max_len - 1);
+ g_free(chooser_filename);
+
+ filename[max_len - 1] = '\0';
+
+ ok = TRUE;
+ }
+
+ gtk_widget_destroy(filechooser);
+ filechooser = NULL;
+
+ return ok ? 0 : -1;
+}
+
+#else
+
+GtkWidget *fileselection;
+char *fileselection_filetype = NULL;
+
+/* ----------------------------------------------------------------------------------------------------------------- */
+
static void xsane_back_gtk_get_filename_button_clicked(GtkWidget *w, gpointer data)
{
int *clicked = data;
@@ -1122,12 +1539,73 @@ static void xsane_back_gtk_get_filename_button_clicked(GtkWidget *w, gpointer da
/* ----------------------------------------------------------------------------------------------------------------- */
-int xsane_back_gtk_get_filename(const char *label, const char *default_name, size_t max_len, char *filename, char **filetype,
- int show_fileopts, int shorten_path, int select_directory, int show_filetype_menu)
+static void xsane_back_gtk_filetype_callback(GtkWidget *widget, gpointer data)
+{
+ char *extension, *filename;
+ char buffer[PATH_MAX];
+ char *new_filetype = (char *) data;
+
+ DBG(DBG_proc, "xsane_filetype_callback\n");
+
+ filename = strdup(gtk_file_selection_get_filename(GTK_FILE_SELECTION(fileselection)));
+
+ if ((new_filetype) && (*new_filetype))
+ {
+ extension = strrchr(filename, '.');
+
+ if ((extension) && (extension != filename))
+ {
+ if ( (!strcasecmp(extension, ".pnm")) || (!strcasecmp(extension, ".raw"))
+ || (!strcasecmp(extension, ".png")) || (!strcasecmp(extension, ".ps"))
+ || (!strcasecmp(extension, ".pdf")) || (!strcasecmp(extension, ".rgba"))
+ || (!strcasecmp(extension, ".tiff")) || (!strcasecmp(extension, ".tif"))
+ || (!strcasecmp(extension, ".text")) || (!strcasecmp(extension, ".txt"))
+ || (!strcasecmp(extension, ".jpg")) || (!strcasecmp(extension, ".jpeg"))
+ ) /* remove filetype extension */
+ {
+ *extension = 0; /* remove extension */
+ }
+ }
+ snprintf(buffer, sizeof(buffer), "%s%s", filename, new_filetype);
+ free(filename);
+ filename = strdup(buffer);
+ }
+
+ if (fileselection_filetype)
+ {
+ free(fileselection_filetype);
+ fileselection_filetype = NULL;
+ }
+
+ if (data)
+ {
+ fileselection_filetype = strdup(new_filetype);
+ }
+
+ gtk_file_selection_set_filename(GTK_FILE_SELECTION(fileselection), filename);
+
+ free(filename);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+int xsane_back_gtk_get_filename(const char *label, const char *default_name, size_t max_len, char *filename, char **filetype, int *cms_function,
+ XsaneFileChooserAction action, int show_filetype_menu, int enable_filters, int activate_filter)
{
int cancel = 0, ok = 0, destroy = 0;
GtkAccelGroup *accelerator_group;
GtkWidget *xsane_filetype_option_menu;
+ int show_fileopts = 0;
+ int select_directory = 0;
+
+ if (action == XSANE_FILE_CHOOSER_ACTION_SELECT_FOLDER)
+ {
+ select_directory = TRUE;
+ }
+ else
+ {
+ show_fileopts = TRUE;
+ }
DBG(DBG_proc, "xsane_back_gtk_get_filename\n");
@@ -1277,11 +1755,6 @@ int xsane_back_gtk_get_filename(const char *label, const char *default_name, siz
cwd[cwd_len] = '\0';
DBG(DBG_info, "xsane_back_gtk_get_filename: full path filename = %s\n", filename);
- if (shorten_path && (strncmp(filename, cwd, cwd_len) == 0))
- {
- memcpy(filename, filename + cwd_len, len - cwd_len + 1);
- DBG(DBG_info, "xsane_back_gtk_get_filename: short path filename = %s\n", filename);
- }
}
if (!destroy)
@@ -1293,6 +1766,7 @@ int xsane_back_gtk_get_filename(const char *label, const char *default_name, siz
return ok ? 0 : -1;
}
+#endif
/* ----------------------------------------------------------------------------------------------------------------- */
diff --git a/src/xsane-back-gtk.h b/src/xsane-back-gtk.h
index 584e6d5..a1a49bf 100644
--- a/src/xsane-back-gtk.h
+++ b/src/xsane-back-gtk.h
@@ -3,7 +3,7 @@
xsane-back-gtk.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -43,6 +43,30 @@ CornerCoordinates;
/* ---------------------------------------------------------------------------------------------------------------------- */
+#define XSANE_FILE_FILTER_ALL 1
+#define XSANE_FILE_FILTER_IMAGES 2
+#define XSANE_FILE_FILTER_DRC 4
+#define XSANE_FILE_FILTER_BATCHLIST 8
+#define XSANE_FILE_FILTER_ICM 16
+
+#define XSANE_GET_FILENAME_SHOW_NOTHING 0
+#define XSANE_GET_FILENAME_SHOW_FILETYPE 1
+#define XSANE_GET_FILENAME_SHOW_CMS_FUNCTION 2
+
+
+typedef enum
+ {
+ XSANE_FILE_CHOOSER_ACTION_OPEN = 1,
+ XSANE_FILE_CHOOSER_ACTION_SELECT_OPEN,
+ XSANE_FILE_CHOOSER_ACTION_SAVE,
+ XSANE_FILE_CHOOSER_ACTION_SELECT_SAVE,
+ XSANE_FILE_CHOOSER_ACTION_SELECT_FOLDER,
+ XSANE_FILE_CHOOSER_ACTION_SELECT_PROJECT
+ }
+XsaneFileChooserAction;
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
extern int xsane_back_gtk_message_dialog_active;
/* ---------------------------------------------------------------------------------------------------------------------- */
@@ -63,8 +87,9 @@ extern void xsane_back_gtk_warning(gchar *warning_message, int wait);
extern void xsane_back_gtk_info(gchar *info_message, int wait);
extern void xsane_back_gtk_filetype_menu_set_history(GtkWidget *xsane_filetype_option_menu, char *filetype);
extern GtkWidget *xsane_back_gtk_filetype_menu_new(char *filetype, GtkSignalFunc filetype_callback);
-extern int xsane_back_gtk_get_filename(const char *label, const char *default_name, size_t max_len, char *filename, char **filetype,
- int show_fileopts, int shorten_path, int hide_file_list, int show_filetype_menu);
+extern GtkWidget *xsane_back_gtk_cms_function_menu_new(int cms_select_function, GtkSignalFunc cms_function_menu_callback);
+extern int xsane_back_gtk_get_filename(const char *label, const char *default_name, size_t max_len, char *filename, char **filetype, int *cms_function,
+ XsaneFileChooserAction action, int show_filetype_menu, int enable_filters, int activate_filter);
extern void xsane_back_gtk_update_vector(int opt_num, SANE_Int *vector);
extern void xsane_back_gtk_refresh_dialog(void);
diff --git a/src/xsane-batch-scan.c b/src/xsane-batch-scan.c
index 604e052..ff07e0c 100644
--- a/src/xsane-batch-scan.c
+++ b/src/xsane-batch-scan.c
@@ -3,7 +3,7 @@
xsane-batch-scan.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -345,7 +345,7 @@ static void xsane_batch_scan_load_list(void)
sprintf(windowname, "%s %s %s", xsane.prog_name, WINDOW_LOAD_BATCH_LIST, xsane.device_text);
xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", "batch-lists", 0, "default", ".xbl", XSANE_PATH_LOCAL_SANE);
- if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, FALSE, FALSE, FALSE, FALSE))
+ if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_OPEN, XSANE_GET_FILENAME_SHOW_NOTHING, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_BATCHLIST, XSANE_FILE_FILTER_BATCHLIST))
{
if (xsane_batch_scan_load_list_from_file(filename)) /* error while loading file ? */
{
@@ -396,7 +396,7 @@ static void xsane_batch_scan_save_list(void)
sprintf(windowname, "%s %s %s", xsane.prog_name, WINDOW_SAVE_BATCH_LIST, xsane.device_text);
xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", "batch-lists", 0, "default", ".xbl", XSANE_PATH_LOCAL_SANE);
- if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, FALSE, FALSE, FALSE, FALSE))
+ if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SAVE, XSANE_GET_FILENAME_SHOW_NOTHING, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_BATCHLIST, XSANE_FILE_FILTER_BATCHLIST));
{
fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0600);
@@ -893,27 +893,29 @@ static void xsane_batch_scan_rename_callback(GtkWidget *widget, gpointer data)
gtk_box_pack_start(GTK_BOX(vbox), text, TRUE, TRUE, 4);
gtk_widget_show(text);
+
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_OK);
+ button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
#else
- button = gtk_button_new_with_label(BUTTON_OK);
+ button = gtk_button_new_with_label(BUTTON_CANCEL);
#endif
- GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_batch_scan_rename_button_callback, (void *) 1);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_batch_scan_rename_button_callback, (void *) -1);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
- gtk_widget_grab_default(button);
gtk_widget_show(button);
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
+ button = gtk_button_new_from_stock(GTK_STOCK_OK);
#else
- button = gtk_button_new_with_label(BUTTON_CANCEL);
+ button = gtk_button_new_with_label(BUTTON_OK);
#endif
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_batch_scan_rename_button_callback, (void *) -1);
+ GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_batch_scan_rename_button_callback, (void *) 1);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
+ gtk_widget_grab_default(button);
gtk_widget_show(button);
+
xsane_batch_scan_rename = 0;
while (xsane_batch_scan_rename == 0)
diff --git a/src/xsane-batch-scan.h b/src/xsane-batch-scan.h
index 03b018d..82aad85 100644
--- a/src/xsane-batch-scan.h
+++ b/src/xsane-batch-scan.h
@@ -3,7 +3,7 @@
xsane-batch-scan.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/src/xsane-device-preferences.c b/src/xsane-device-preferences.c
index 003cb77..41293e6 100644
--- a/src/xsane-device-preferences.c
+++ b/src/xsane-device-preferences.c
@@ -3,7 +3,7 @@
xsane-device-preferences.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -102,6 +102,10 @@ desc_xsane_device[] =
{"xsane-enhancement-rgb-default", xsane_rc_pref_int, DPOFFSET(enhancement_rgb_default)},
{"xsane-negative", xsane_rc_pref_int, DPOFFSET(negative)},
{"xsane-show-preview", xsane_rc_pref_int, DPOFFSET(show_preview)},
+
+ {"xsane-enable-color-management", xsane_rc_pref_int, DPOFFSET(enable_color_management)},
+ {"xsane-scanner-default-color-icm-profile", xsane_rc_pref_string, DPOFFSET(scanner_default_color_icm_profile)},
+ {"xsane-scanner-default-gray-icm-profile", xsane_rc_pref_string, DPOFFSET(scanner_default_gray_icm_profile)},
};
/* ---------------------------------------------------------------------------------------------------------------- */
@@ -109,7 +113,7 @@ desc_xsane_device[] =
static int xsane_device_preferences_load_values(Wire *w, SANE_Handle device)
{
const SANE_Option_Descriptor *opt;
- SANE_Word *word_array;
+ char *word_array;
SANE_String name, str;
u_long *caused_reload;
SANE_Int num_options;
@@ -193,12 +197,12 @@ static int xsane_device_preferences_load_values(Wire *w, SANE_Handle device)
}
else /* array */
{
- SANE_Int len;
+ SANE_Int len;
- xsane_rc_io_w_array(w, &len, (void **) &word_array, (WireCodecFunc) xsane_rc_io_w_word, sizeof(SANE_Word));
+ xsane_rc_io_w_array(w, &len, &word_array, (WireCodecFunc) xsane_rc_io_w_word, sizeof(SANE_Word));
status = xsane_control_option(device, i, SANE_ACTION_SET_VALUE, word_array, &info);
w->direction = WIRE_FREE;
- xsane_rc_io_w_array(w, &len, (void **) &word_array, (WireCodecFunc) xsane_rc_io_w_word, sizeof(SANE_Word));
+ xsane_rc_io_w_array(w, &len, &word_array, (WireCodecFunc) xsane_rc_io_w_word, sizeof(SANE_Word));
w->direction = WIRE_DECODE;
}
break;
@@ -239,7 +243,7 @@ static int xsane_device_preferences_save_values(Wire *w, SANE_Handle device)
{
const SANE_Option_Descriptor *opt;
size_t word_array_size = 0;
- SANE_Word *word_array = 0;
+ char *word_array = 0;
size_t str_size = 0;
SANE_String str = 0;
SANE_Word word;
@@ -308,7 +312,7 @@ static int xsane_device_preferences_save_values(Wire *w, SANE_Handle device)
}
xsane_rc_io_w_string(w, (SANE_String *) &opt->name);
- xsane_rc_io_w_array(w, &len, (void **) &word_array, (WireCodecFunc) xsane_rc_io_w_word, sizeof(SANE_Word));
+ xsane_rc_io_w_array(w, &len, &word_array, (WireCodecFunc) xsane_rc_io_w_word, sizeof(SANE_Word));
}
break;
@@ -580,6 +584,10 @@ void xsane_device_preferences_load_file(char *filename)
gtk_window_set_default_size(GTK_WINDOW(xsane.preview->top), xsane.preview_dialog_width, xsane.preview_dialog_height);
#endif
+#ifdef HAVE_LIBLCMS
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(xsane.enable_color_management_widget), xsane.enable_color_management);
+#endif
+
xsane_update_param(0);
xsane_refresh_dialog();
xsane_enhancement_by_gamma();
@@ -621,7 +629,7 @@ void xsane_device_preferences_load(void)
sprintf(windowname, "%s %s %s", xsane.prog_name, WINDOW_LOAD_SETTINGS, xsane.device_text);
xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", 0, 0, xsane.device_set_filename, ".drc", XSANE_PATH_LOCAL_SANE);
- if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, FALSE, FALSE, FALSE, FALSE))
+ if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_OPEN, FALSE, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_DRC, XSANE_FILE_FILTER_DRC))
{
xsane_device_preferences_load_file(filename);
}
@@ -772,7 +780,7 @@ void xsane_device_preferences_save(void)
sprintf(windowname, "%s %s %s", xsane.prog_name, WINDOW_SAVE_SETTINGS, xsane.device_text);
xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", 0, 0, xsane.device_set_filename, ".drc", XSANE_PATH_LOCAL_SANE);
- if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, FALSE, FALSE, FALSE, FALSE))
+ if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SAVE, FALSE, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_DRC, XSANE_FILE_FILTER_DRC))
{
xsane_device_preferences_save_file(filename);
}
diff --git a/src/xsane-device-preferences.h b/src/xsane-device-preferences.h
index e980d47..ab705c0 100644
--- a/src/xsane-device-preferences.h
+++ b/src/xsane-device-preferences.h
@@ -3,7 +3,7 @@
xsane-device-preferences.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/src/xsane-email-project.c b/src/xsane-email-project.c
index 79df15b..b36dd59 100644
--- a/src/xsane-email-project.c
+++ b/src/xsane-email-project.c
@@ -3,7 +3,7 @@
xsane-email-project.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -64,6 +64,7 @@ static gint xsane_email_dialog_delete();
static void xsane_email_filetype_callback(GtkWidget *filetype_option_menu, char *filetype);
static void xsane_email_receiver_changed_callback(GtkWidget *widget, gpointer data);
static void xsane_email_subject_changed_callback(GtkWidget *widget, gpointer data);
+static void xsane_email_project_browse_filename_callback(GtkWidget *widget, gpointer data);
static void xsane_email_project_changed_callback(GtkWidget *widget, gpointer data);
static void xsane_email_html_mode_callback(GtkWidget *widget);
static void xsane_email_project_display_status(void);
@@ -150,10 +151,14 @@ void xsane_email_dialog()
gtk_container_set_border_width(GTK_CONTAINER(hbox), 2);
gtk_box_pack_start(GTK_BOX(email_scan_vbox), hbox, FALSE, FALSE, 1);
+#if 0
pixmap = gdk_pixmap_create_from_xpm_d(xsane.dialog->window, &mask, xsane.bg_trans, (gchar **) email_xpm);
pixmapwidget = gtk_image_new_from_pixmap(pixmap, mask);
gtk_box_pack_start(GTK_BOX(hbox), pixmapwidget, FALSE, FALSE, 2);
gdk_drawable_unref(pixmap);
+#endif
+ button = xsane_button_new_with_pixmap(xsane.dialog->window, hbox, email_xpm, DESC_EMAIL_PROJECT_BROWSE,
+ (GtkSignalFunc) xsane_email_project_browse_filename_callback, NULL);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_EMAIL_PROJECT);
@@ -165,7 +170,7 @@ void xsane_email_dialog()
xsane.project_entry = text;
xsane.project_entry_box = hbox;
- gtk_widget_show(pixmapwidget);
+// gtk_widget_show(pixmapwidget);
gtk_widget_show(text);
gtk_widget_show(hbox);
@@ -1073,6 +1078,64 @@ static void xsane_email_subject_changed_callback(GtkWidget *widget, gpointer dat
/* ---------------------------------------------------------------------------------------------------------------------- */
+void xsane_email_project_set_filename(gchar *filename)
+{
+ g_signal_handlers_block_by_func(GTK_OBJECT(xsane.project_entry), (GtkSignalFunc) xsane_email_project_changed_callback, NULL);
+ gtk_entry_set_text(GTK_ENTRY(xsane.project_entry), (char *) filename); /* update filename in entry */
+ gtk_entry_set_position(GTK_ENTRY(xsane.project_entry), strlen(filename)); /* set cursor to right position of filename */
+
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(xsane.project_entry), (GtkSignalFunc) xsane_email_project_changed_callback, NULL);
+}
+
+/* ----------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_email_project_browse_filename_callback(GtkWidget *widget, gpointer data)
+{
+ char filename[PATH_MAX];
+ char windowname[TEXTBUFSIZE];
+
+ DBG(DBG_proc, "xsane_email_project_browse_filename_callback\n");
+
+ xsane_set_sensitivity(FALSE);
+
+ if (preferences.email_project) /* make sure a correct filename is defined */
+ {
+ strncpy(filename, preferences.email_project, sizeof(filename));
+ filename[sizeof(filename) - 1] = '\0';
+ }
+ else /* no filename given, take standard filename */
+ {
+ strcpy(filename, OUT_FILENAME);
+ }
+
+ snprintf(windowname, sizeof(windowname), "%s %s %s", xsane.prog_name, WINDOW_EMAIL_PROJECT_BROWSE, xsane.device_text);
+
+ umask((mode_t) preferences.directory_umask); /* define new file permissions */
+ if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_PROJECT, XSANE_GET_FILENAME_SHOW_NOTHING, 0, 0))
+ {
+
+ if (preferences.email_project)
+ {
+ free((void *) preferences.email_project);
+ }
+
+ preferences.email_project = strdup(filename);
+
+ xsane_set_sensitivity(TRUE);
+ xsane_email_project_set_filename(filename);
+
+ xsane_email_project_load();
+ }
+ else
+ {
+ xsane_set_sensitivity(TRUE);
+ }
+ umask(XSANE_DEFAULT_UMASK); /* define new file permissions */
+
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
static void xsane_email_project_changed_callback(GtkWidget *widget, gpointer data)
{
DBG(DBG_proc, "xsane_email_project_changed_callback\n");
@@ -1277,20 +1340,20 @@ static void xsane_email_entry_rename_callback(GtkWidget *widget, gpointer list)
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_OK);
+ button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
#else
- button = gtk_button_new_with_label(BUTTON_OK);
+ button = gtk_button_new_with_label(BUTTON_CANCEL);
#endif
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_email_entry_rename_button_callback, (void *) 1);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_email_entry_rename_button_callback,(void *) -1);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
+ button = gtk_button_new_from_stock(GTK_STOCK_OK);
#else
- button = gtk_button_new_with_label(BUTTON_CANCEL);
+ button = gtk_button_new_with_label(BUTTON_OK);
#endif
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_email_entry_rename_button_callback,(void *) -1);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_email_entry_rename_button_callback, (void *) 1);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
@@ -1595,7 +1658,7 @@ static void xsane_create_email(int fd)
/* doc files like ps and pdf can not be displayed inline in html email */
if (display_images_inline)
{
- snprintf(buf, sizeof(buf), "<p><img SRC=\"cid:%s\">\n", content_id);
+ snprintf(buf, sizeof(buf), "<p><img SRC=\"cid:%s\">\r\n", content_id);
}
write(fd, buf, strlen(buf));
}
@@ -1605,7 +1668,7 @@ static void xsane_create_email(int fd)
}
else if (*email_text_pos == 10) /* new line */
{
- snprintf(buf, sizeof(buf), "<br>\n");
+ snprintf(buf, sizeof(buf), "<br>\r\n");
write(fd, buf, strlen(buf));
}
else
@@ -1624,12 +1687,12 @@ static void xsane_create_email(int fd)
/* doc files like ps and pdf can not be displayed inline in html email */
if (display_images_inline)
{
- snprintf(buf, sizeof(buf), "<p><img SRC=\"cid:%s\">\n", content_id);
+ snprintf(buf, sizeof(buf), "<p><img SRC=\"cid:%s\">\r\n", content_id);
}
write(fd, buf, strlen(buf));
}
- snprintf(buf, sizeof(buf), "</html>\n");
+ snprintf(buf, sizeof(buf), "</html>\r\n");
write(fd, buf, strlen(buf));
@@ -1666,7 +1729,7 @@ static void xsane_create_email(int fd)
write_email_mime_ascii(fd, boundary);
write(fd, email_text, strlen(email_text));
- write(fd, "\n\n", 2);
+ write(fd, "\r\n\r\n", 4);
for (i=0; i<attachments; i++)
{
@@ -1856,7 +1919,7 @@ static void xsane_email_send()
free(type);
DBG(DBG_info, "converting %s to %s\n", source_filename, email_filename);
output_format = xsane_identify_output_format(email_filename, NULL, NULL);
- xsane_save_image_as(email_filename, source_filename, output_format, xsane.project_progress_bar, &cancel_save);
+ xsane_save_image_as(email_filename, source_filename, output_format, xsane.enable_color_management, preferences.cms_function, preferences.cms_intent, preferences.cms_bpc, xsane.project_progress_bar, &cancel_save);
list = list->next;
xsane.email_progress_size += xsane_get_filesize(email_filename);
}
diff --git a/src/xsane-email-project.h b/src/xsane-email-project.h
index 2148ef2..8bc44b8 100644
--- a/src/xsane-email-project.h
+++ b/src/xsane-email-project.h
@@ -3,7 +3,7 @@
xsane-email-project.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/src/xsane-fax-project.c b/src/xsane-fax-project.c
index 8f23bf2..4b7b770 100644
--- a/src/xsane-fax-project.c
+++ b/src/xsane-fax-project.c
@@ -3,7 +3,7 @@
xsane-fax-project.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -57,6 +57,7 @@ void xsane_fax_dialog(void);
void xsane_fax_project_save(void);
static gint xsane_fax_dialog_delete();
+static void xsane_fax_project_browse_filename_callback(GtkWidget *widget, gpointer data);
static void xsane_fax_receiver_changed_callback(GtkWidget *widget, gpointer data);
static void xsane_fax_project_changed_callback(GtkWidget *widget, gpointer data);
static void xsane_fax_fine_mode_callback(GtkWidget *widget);
@@ -86,8 +87,9 @@ void xsane_fax_dialog()
GtkWidget *fax_dialog, *fax_scan_vbox, *fax_project_vbox, *hbox, *fax_project_exists_hbox, *button;
GtkWidget *scrolled_window, *list;
char buf[64];
- GtkWidget *pixmapwidget, *text;
+ GtkWidget *text;
GtkWidget *pages_frame;
+ GtkWidget *pixmapwidget;
GdkBitmap *mask;
GdkPixmap *pixmap;
@@ -119,10 +121,8 @@ void xsane_fax_dialog()
gtk_container_set_border_width(GTK_CONTAINER(hbox), 2);
gtk_box_pack_start(GTK_BOX(fax_scan_vbox), hbox, FALSE, FALSE, 1);
- pixmap = gdk_pixmap_create_from_xpm_d(xsane.dialog->window, &mask, xsane.bg_trans, (gchar **) fax_xpm);
- pixmapwidget = gtk_image_new_from_pixmap(pixmap, mask);
- gtk_box_pack_start(GTK_BOX(hbox), pixmapwidget, FALSE, FALSE, 2);
- gdk_drawable_unref(pixmap);
+ button = xsane_button_new_with_pixmap(xsane.dialog->window, hbox, fax_xpm, DESC_FAX_PROJECT_BROWSE,
+ (GtkSignalFunc) xsane_fax_project_browse_filename_callback, NULL);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAXPROJECT);
@@ -134,7 +134,6 @@ void xsane_fax_dialog()
xsane.project_entry = text;
xsane.project_entry_box = hbox;
- gtk_widget_show(pixmapwidget);
gtk_widget_show(text);
gtk_widget_show(hbox);
@@ -582,6 +581,64 @@ static void xsane_fax_receiver_changed_callback(GtkWidget *widget, gpointer data
gtk_progress_bar_update(GTK_PROGRESS_BAR(xsane.project_progress_bar), 0.0);
}
+/* ----------------------------------------------------------------------------------------------------------------- */
+
+void xsane_fax_project_set_filename(gchar *filename)
+{
+ g_signal_handlers_block_by_func(GTK_OBJECT(xsane.project_entry), (GtkSignalFunc) xsane_fax_project_changed_callback, NULL);
+ gtk_entry_set_text(GTK_ENTRY(xsane.project_entry), (char *) filename); /* update filename in entry */
+ gtk_entry_set_position(GTK_ENTRY(xsane.project_entry), strlen(filename)); /* set cursor to right position of filename */
+
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(xsane.project_entry), (GtkSignalFunc) xsane_fax_project_changed_callback, NULL);
+}
+
+/* ----------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_fax_project_browse_filename_callback(GtkWidget *widget, gpointer data)
+{
+ char filename[PATH_MAX];
+ char windowname[TEXTBUFSIZE];
+
+ DBG(DBG_proc, "xsane_fax_project_browse_filename_callback\n");
+
+ xsane_set_sensitivity(FALSE);
+
+ if (preferences.fax_project) /* make sure a correct filename is defined */
+ {
+ strncpy(filename, preferences.fax_project, sizeof(filename));
+ filename[sizeof(filename) - 1] = '\0';
+ }
+ else /* no filename given, take standard filename */
+ {
+ strcpy(filename, OUT_FILENAME);
+ }
+
+ snprintf(windowname, sizeof(windowname), "%s %s %s", xsane.prog_name, WINDOW_FAX_PROJECT_BROWSE, xsane.device_text);
+
+ umask((mode_t) preferences.directory_umask); /* define new file permissions */
+ if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_PROJECT, FALSE, 0, 0))
+ {
+
+ if (preferences.fax_project)
+ {
+ free((void *) preferences.fax_project);
+ }
+
+ preferences.fax_project = strdup(filename);
+
+ xsane_set_sensitivity(TRUE);
+ xsane_fax_project_set_filename(filename);
+
+ xsane_fax_project_load();
+ }
+ else
+ {
+ xsane_set_sensitivity(TRUE);
+ }
+ umask(XSANE_DEFAULT_UMASK); /* define new file permissions */
+
+}
+
/* ---------------------------------------------------------------------------------------------------------------------- */
static void xsane_fax_project_changed_callback(GtkWidget *widget, gpointer data)
@@ -761,20 +818,21 @@ static void xsane_fax_entry_rename_callback(GtkWidget *widget, gpointer list)
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_OK);
+ button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
#else
- button = gtk_button_new_with_label(BUTTON_OK);
+ button = gtk_button_new_with_label(BUTTON_CANCEL);
#endif
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_fax_entry_rename_button_callback, (void *) 1);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_fax_entry_rename_button_callback, (void *) -1);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
+
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
+ button = gtk_button_new_from_stock(GTK_STOCK_OK);
#else
- button = gtk_button_new_with_label(BUTTON_CANCEL);
+ button = gtk_button_new_with_label(BUTTON_OK);
#endif
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_fax_entry_rename_button_callback, (void *) -1);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_fax_entry_rename_button_callback, (void *) 1);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
@@ -833,7 +891,7 @@ static void xsane_fax_entry_insert_callback(GtkWidget *widget, gpointer list)
umask((mode_t) preferences.directory_umask); /* define new file permissions */
- if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, TRUE, FALSE, FALSE, FALSE)) /* filename is selected */
+ if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_OPEN, FALSE, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_IMAGES, XSANE_FILE_FILTER_IMAGES)) /* filename is selected */
{
FILE *sourcefile;
@@ -1082,7 +1140,12 @@ static int xsane_fax_convert_pnm_to_ps(char *source_filename, char *fax_filename
preferences.fax_width * 72.0/MM_PER_INCH, /* paper_width */
preferences.fax_height * 72.0/MM_PER_INCH, /* paper_height */
0 /* portrait top left */,
- preferences.fax_ps_flatdecoded, /* use ps level 3 zlib compression */
+ preferences.fax_ps_flatedecoded, /* use ps level 3 zlib compression */
+ NULL, /* hTransform */
+ 0 /* do not apply ICM profile */,
+ 0, NULL, /* no CSA */
+ 0, NULL, 0, /* no CRD */
+ 0, /* intent */
xsane.project_progress_bar,
&cancel_save);
fclose(outfile);
diff --git a/src/xsane-fax-project.h b/src/xsane-fax-project.h
index 775aafc..cca541e 100644
--- a/src/xsane-fax-project.h
+++ b/src/xsane-fax-project.h
@@ -3,7 +3,7 @@
xsane-fax-project.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/src/xsane-fixedtext.h b/src/xsane-fixedtext.h
index d655d34..d207450 100644
--- a/src/xsane-fixedtext.h
+++ b/src/xsane-fixedtext.h
@@ -3,7 +3,7 @@
xsane-fixedtext.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/src/xsane-front-gtk.c b/src/xsane-front-gtk.c
index a11779e..3d98a5b 100644
--- a/src/xsane-front-gtk.c
+++ b/src/xsane-front-gtk.c
@@ -3,7 +3,7 @@
xsane-front-gtk.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -67,14 +67,14 @@ void xsane_option_menu_new(GtkWidget *parent, char *str_list[], const char *val,
void *option_menu_callback, SANE_Int settable, const gchar *widget_name);
void xsane_option_menu_new_with_pixmap(GdkWindow *window, GtkBox *parent, const char *xpm_d[], const char *desc,
char *str_list[], const char *val,
- GtkObject **data, int option,
+ GtkWidget **data, int option,
void *option_menu_callback, SANE_Int settable, const gchar *widget_name);
void xsane_range_new(GtkBox *parent, char *labeltext, const char *desc,
float min, float max, float quant, float page_step,
- int digits, double *val, GtkObject **data, void *xsane_range_callback, SANE_Int settable);
+ int digits, double *val, GtkWidget **data, void *xsane_range_callback, SANE_Int settable);
void xsane_range_new_with_pixmap(GdkWindow *window, GtkBox *parent, const char *xpm_d[], const char *desc,
float min, float max, float quant, float page_step, int digits,
- double *val, GtkObject **data, int option, void *xsane_range_callback, SANE_Int settable);
+ double *val, GtkWidget **data, int option, void *xsane_range_callback, SANE_Int settable);
static void xsane_outputfilename_changed_callback(GtkWidget *widget, gpointer data);
void xsane_set_filename(gchar *filename);
void xsane_separator_new(GtkWidget *xsane_parent, int dist);
@@ -411,7 +411,7 @@ void xsane_define_maximum_output_size()
if ( (opt) && (opt->unit== SANE_UNIT_MM) )
{
- switch(preferences.xsane_mode)
+ switch(xsane.xsane_mode)
{
case XSANE_SAVE:
@@ -662,6 +662,15 @@ gint xsane_authorization_callback(SANE_String_Const resource,
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 10); /* y-space around buttons */
#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
+#else
+ button = gtk_button_new_with_label(BUTTON_CANCEL);
+#endif
+ g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(xsane_authorization_button_callback), (void *) -1);
+ gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 10); /* x-space around cancel-button */
+ gtk_widget_show(button);
+
+#ifdef HAVE_GTK2
button = gtk_button_new_from_stock(GTK_STOCK_OK);
#else
button = gtk_button_new_with_label(BUTTON_OK);
@@ -672,15 +681,6 @@ gint xsane_authorization_callback(SANE_String_Const resource,
gtk_widget_grab_default(button);
gtk_widget_show(button);
-#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
-#else
- button = gtk_button_new_with_label(BUTTON_CANCEL);
-#endif
- g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(xsane_authorization_button_callback), (void *) -1);
- gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 10); /* x-space around cancel-button */
- gtk_widget_show(button);
-
gtk_widget_show(hbox);
gtk_widget_show(authorize_dialog);
@@ -1032,7 +1032,7 @@ void xsane_option_menu_new(GtkWidget *parent, char *str_list[], const char *val,
void xsane_option_menu_new_with_pixmap(GdkWindow *window, GtkBox *parent, const char *xpm_d[], const char *desc,
char *str_list[], const char *val,
- GtkObject **data, int option,
+ GtkWidget **data, int option,
void *option_menu_callback, SANE_Int settable, const gchar *widget_name)
{
GtkWidget *hbox;
@@ -1071,7 +1071,7 @@ static void xsane_range_display_value_right_callback(GtkAdjustment *adjust, gpoi
void xsane_range_new(GtkBox *parent, char *labeltext, const char *desc,
float min, float max, float quant, float page_step,
- int digits, double *val, GtkObject **data, void *xsane_range_callback, SANE_Int settable)
+ int digits, double *val, GtkWidget **data, void *xsane_range_callback, SANE_Int settable)
{
GtkWidget *hbox;
GtkWidget *label;
@@ -1087,7 +1087,7 @@ void xsane_range_new(GtkBox *parent, char *labeltext, const char *desc,
label = gtk_label_new(labeltext);
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 1);
- *data = gtk_adjustment_new(*val, min, max, quant, page_step, (max-min) * 1e-30);
+ *data = (GtkWidget *) gtk_adjustment_new(*val, min, max, quant, page_step, (max-min) * 1e-30);
/* 1e-30 => hscrollbar has an unwanted side effect: the maximum is not the maximum */
/* of the given range, it is reduced by the page_size, so it has to be very small */
@@ -1159,7 +1159,7 @@ void xsane_range_new(GtkBox *parent, char *labeltext, const char *desc,
void xsane_range_new_with_pixmap(GdkWindow *window, GtkBox *parent, const char *xpm_d[], const char *desc,
float min, float max, float quant, float page_step,
- int digits, double *val, GtkObject **data, int option, void *xsane_range_callback, SANE_Int settable)
+ int digits, double *val, GtkWidget **data, int option, void *xsane_range_callback, SANE_Int settable)
{
GtkWidget *hbox;
GtkWidget *slider = NULL;
@@ -1180,7 +1180,7 @@ void xsane_range_new_with_pixmap(GdkWindow *window, GtkBox *parent, const char *
gtk_widget_show(pixmapwidget);
gdk_drawable_unref(pixmap);
- *data = gtk_adjustment_new(*val, min, max, quant, page_step, (max-min) * 1e-30);
+ *data = (GtkWidget *) gtk_adjustment_new(*val, min, max, quant, page_step, (max-min) * 1e-30);
/* 1e-30 => hscrollbar has an unwanted side effect: the maximum is not the maximum */
/* of the given range, it is reduced by the page_size, so it has to be very small */
@@ -1251,7 +1251,7 @@ void xsane_range_new_with_pixmap(GdkWindow *window, GtkBox *parent, const char *
DialogElement *elem;
elem=xsane.element + option;
- elem->data = *data;
+ elem->data = (GtkObject *) *data;
elem->widget = slider;
}
}
@@ -1262,6 +1262,7 @@ static void xsane_browse_filename_callback(GtkWidget *widget, gpointer data)
{
char filename[PATH_MAX];
char windowname[TEXTBUFSIZE];
+ int show_extra_widgets;
DBG(DBG_proc, "xsane_browse_filename_callback\n");
@@ -1277,10 +1278,17 @@ static void xsane_browse_filename_callback(GtkWidget *widget, gpointer data)
strcpy(filename, OUT_FILENAME);
}
+ show_extra_widgets = XSANE_GET_FILENAME_SHOW_FILETYPE;
+ if (xsane.enable_color_management)
+ {
+ show_extra_widgets |= XSANE_GET_FILENAME_SHOW_CMS_FUNCTION;
+ }
+
+
snprintf(windowname, sizeof(windowname), "%s %s %s", xsane.prog_name, WINDOW_OUTPUT_FILENAME, xsane.device_text);
umask((mode_t) preferences.directory_umask); /* define new file permissions */
- xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, &preferences.filetype, TRUE, TRUE, FALSE, TRUE);
+ xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, &preferences.filetype, &preferences.cms_function, XSANE_FILE_CHOOSER_ACTION_SELECT_SAVE, show_extra_widgets, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_IMAGES, XSANE_FILE_FILTER_IMAGES);
umask(XSANE_DEFAULT_UMASK); /* define new file permissions */
if (preferences.filename)
@@ -1294,6 +1302,10 @@ static void xsane_browse_filename_callback(GtkWidget *widget, gpointer data)
xsane_back_gtk_filetype_menu_set_history(xsane.filetype_option_menu, preferences.filetype);
+#ifdef HAVE_LIBLCMS
+ gtk_option_menu_set_history(GTK_OPTION_MENU(xsane.cms_function_option_menu), preferences.cms_function);
+#endif
+
/* correct length of filename counter if it is shorter than minimum length */
xsane_update_counter_in_filename(&preferences.filename, FALSE, 0, preferences.filename_counter_len);
@@ -1629,17 +1641,17 @@ void xsane_update_param(void *arg)
if (xsane.param.format == SANE_FRAME_GRAY)
{
- xsane.xsane_colors = 1;
+ xsane.xsane_channels = 1;
}
#ifdef SUPPORT_RGBA
else if (xsane.param.format == SANE_FRAME_RGBA)
{
- xsane.xsane_colors = 4;
+ xsane.xsane_channels = 4;
}
#endif
else /* RGB */
{
- xsane.xsane_colors = 3;
+ xsane.xsane_channels = 3;
}
}
else
@@ -1785,6 +1797,7 @@ int xsane_identify_output_format(char *filename, char *filetype, char **ext)
/* ---------------------------------------------------------------------------------------------------------------------- */
+#if 0
void xsane_change_working_directory(void)
{
char filename[PATH_MAX];
@@ -1797,7 +1810,7 @@ void xsane_change_working_directory(void)
sprintf(windowname, "%s %s %s", xsane.prog_name, WINDOW_CHANGE_WORKING_DIR, xsane.device_text);
if (getcwd(filename, sizeof(filename)))
{
- xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, TRUE, FALSE, TRUE, FALSE);
+// xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, TRUE, FALSE, TRUE, FALSE);
if (chdir(filename))
{
char buf[TEXTBUFSIZE];
@@ -1819,6 +1832,7 @@ void xsane_change_working_directory(void)
xsane_set_sensitivity(TRUE);
}
+#endif
/* ---------------------------------------------------------------------------------------------------------------------- */
@@ -2019,11 +2033,6 @@ int xsane_display_eula(int ask_for_accept)
if (ask_for_accept) /* show accept + not accept buttons */
{
- button = gtk_button_new_with_label(BUTTON_ACCEPT);
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_eula_button_callback, (void *) 0 /* accept */);
- gtk_container_add(GTK_CONTAINER(hbox), button);
- gtk_widget_show(button);
-
button = gtk_button_new_with_label(BUTTON_NOT_ACCEPT);
gtk_widget_add_accelerator(button, "clicked", accelerator_group, GDK_Escape, 0, DEF_GTK_ACCEL_LOCKED);
GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
@@ -2031,6 +2040,11 @@ int xsane_display_eula(int ask_for_accept)
gtk_container_add(GTK_CONTAINER(hbox), button);
gtk_widget_grab_default(button);
gtk_widget_show(button);
+
+ button = gtk_button_new_with_label(BUTTON_ACCEPT);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_eula_button_callback, (void *) 0 /* accept */);
+ gtk_container_add(GTK_CONTAINER(hbox), button);
+ gtk_widget_show(button);
}
else /* show close button */
{
@@ -2397,22 +2411,22 @@ int xsane_front_gtk_getname_dialog(const char *dialog_title, const char *desc_te
gtk_window_add_accel_group(GTK_WINDOW(getname_dialog), accelerator_group);
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_OK);
+ button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
#else
- button = gtk_button_new_with_label(BUTTON_OK);
+ button = gtk_button_new_with_label(BUTTON_CANCEL);
#endif
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_front_gtk_getname_button_callback, (void *) 1);
- GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_front_gtk_getname_button_callback, (void *) -1);
+ gtk_widget_add_accelerator(button, "clicked", accelerator_group, GDK_Escape, 0, DEF_GTK_ACCEL_LOCKED); /* ESC */
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
+ button = gtk_button_new_from_stock(GTK_STOCK_OK);
#else
- button = gtk_button_new_with_label(BUTTON_CANCEL);
+ button = gtk_button_new_with_label(BUTTON_OK);
#endif
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_front_gtk_getname_button_callback, (void *) -1);
- gtk_widget_add_accelerator(button, "clicked", accelerator_group, GDK_Escape, 0, DEF_GTK_ACCEL_LOCKED); /* ESC */
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_front_gtk_getname_button_callback, (void *) 1);
+ GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
gtk_widget_show(button);
diff --git a/src/xsane-front-gtk.h b/src/xsane-front-gtk.h
index 1db2b7b..b7752bf 100644
--- a/src/xsane-front-gtk.h
+++ b/src/xsane-front-gtk.h
@@ -3,7 +3,7 @@
xsane-front-gtk.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -57,14 +57,14 @@ extern void xsane_option_menu_new(GtkWidget *parent, char *str_list[], const cha
void *option_menu_callback, SANE_Int settable, const gchar *widget_name);
extern void xsane_option_menu_new_with_pixmap(GdkWindow *window, GtkBox *parent, const char *xpm_d[], const char *desc,
char *str_list[], const char *val,
- GtkObject **data, int option,
+ GtkWidget **data, int option,
void *option_menu_callback, SANE_Int settable, const gchar *widget_name);
extern void xsane_range_new(GtkBox *parent, char *labeltext, const char *desc,
float min, float max, float quant, float page_step,
- int digits, double *val, GtkObject **data, void *xsane_range_callback, SANE_Int settable);
+ int digits, double *val, GtkWidget **data, void *xsane_range_callback, SANE_Int settable);
extern void xsane_range_new_with_pixmap(GdkWindow *window, GtkBox *parent, const char *xpm_d[], const char *desc,
float min, float max, float quant, float page_step, int digits,
- double *val, GtkObject **data, int option, void *xsane_range_callback, SANE_Int settable);
+ double *val, GtkWidget **data, int option, void *xsane_range_callback, SANE_Int settable);
extern void xsane_set_filename(gchar *filename);
extern void xsane_outputfilename_new(GtkWidget *vbox);
extern void xsane_separator_new(GtkWidget *xsane_parent, int dist);
diff --git a/src/xsane-gamma.c b/src/xsane-gamma.c
index 40fe835..8304f07 100644
--- a/src/xsane-gamma.c
+++ b/src/xsane-gamma.c
@@ -3,7 +3,7 @@
xsane-gamma.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -132,7 +132,7 @@ static void xsane_draw_histogram_with_points(XsanePixmap *hist,
{
inten = show_inten * count[i] * scale;
- if (xsane.xsane_colors > 1)
+ if (xsane.xsane_channels > 1)
{
red = show_red * count_red[i] * scale;
green = show_green * count_green[i] * scale;
@@ -208,7 +208,7 @@ static void xsane_draw_histogram_with_lines(XsanePixmap *hist,
{
inten = show_inten * count[i] * scale;
- if (xsane.xsane_colors > 1)
+ if (xsane.xsane_channels > 1)
{
red = show_red * count_red[i] * scale;
green = show_green * count_green[i] * scale;
@@ -518,7 +518,7 @@ void xsane_update_sliders()
xsane_update_slider(&xsane.slider_gray);
- if ( (xsane.xsane_colors > 1) && (!xsane.enhancement_rgb_default) )
+ if ( (xsane.xsane_channels > 1) && (!xsane.enhancement_rgb_default) && (!xsane.enable_color_management))
{
xsane_update_slider(&xsane.slider_red);
xsane_update_slider(&xsane.slider_green);
@@ -539,7 +539,7 @@ void xsane_update_sliders()
xsane.slider_green.active = XSANE_SLIDER_INACTIVE; /* mark slider inactive */
xsane.slider_blue.active = XSANE_SLIDER_INACTIVE; /* mark slider inactive */
- if (xsane.param.depth == 1)
+ if ((xsane.param.depth == 1) || (xsane.enable_color_management))
{
xsane_draw_slider_level(&xsane.slider_gray); /* remove slider */
xsane.slider_gray.active = XSANE_SLIDER_INACTIVE; /* mark slider inactive */
@@ -1599,7 +1599,7 @@ void xsane_update_gamma_curve(int update_raw)
xsane.brightness + xsane.brightness_blue,
xsane.contrast + xsane.contrast_blue , xsane.preview_gamma_size, 255);
#else
- if ( ( ( (xsane.xsane_colors > 1) && xsane.scanner_gamma_color ) || /* color scan and gamma table for red, green and blue available */
+ if ( ( ( (xsane.xsane_channels > 1) && xsane.scanner_gamma_color ) || /* color scan and gamma table for red, green and blue available */
xsane.scanner_gamma_gray ) && /* grayscale scan and gamma table for gray available */
(!xsane.no_preview_medium_gamma) ) /* do not use gamma table when disabled */
{
@@ -1663,7 +1663,7 @@ void xsane_update_gamma_curve(int update_raw)
xsane.preview_gamma_size);
}
}
- else if (xsane.xsane_colors > 1) /* color scan, no color scanner gamma tables available */
+ else if (xsane.xsane_channels > 1) /* color scan, no color scanner gamma tables available */
{
DBG(DBG_info, "creating preview gamma tables with medium correction\n");
@@ -1826,13 +1826,18 @@ static void xsane_enhancement_update(void)
return;
}
+ if (xsane.enable_color_management) /* color management? no gamma */
+ {
+ return;
+ }
+
xsane.block_enhancement_update = TRUE;
gtk_adjustment_set_value(GTK_ADJUSTMENT(xsane.gamma_widget), xsane.gamma);
gtk_adjustment_set_value(GTK_ADJUSTMENT(xsane.brightness_widget), xsane.brightness);
gtk_adjustment_set_value(GTK_ADJUSTMENT(xsane.contrast_widget), xsane.contrast);
- if ( (xsane.xsane_colors > 1) && (!xsane.enhancement_rgb_default) )
+ if ( (xsane.xsane_channels > 1) && (!xsane.enhancement_rgb_default) )
{
gtk_adjustment_set_value(GTK_ADJUSTMENT(xsane.gamma_red_widget), xsane.gamma_red);
gtk_adjustment_set_value(GTK_ADJUSTMENT(xsane.brightness_red_widget), xsane.brightness_red);
@@ -2107,7 +2112,7 @@ void xsane_enhancement_by_histogram(int update_gamma)
xsane.contrast = gray_contrast;
}
- if ( (xsane.xsane_colors > 1) && (!xsane.enhancement_rgb_default) ) /* rgb sliders active */
+ if ( (xsane.xsane_channels > 1) && (!xsane.enhancement_rgb_default) ) /* rgb sliders active */
{
if ((xsane.slider_gray.active == XSANE_SLIDER_ACTIVE) ||
(xsane.slider_gray.active == XSANE_SLIDER_INACTIVE)) /* gray slider not moved */
diff --git a/src/xsane-gamma.h b/src/xsane-gamma.h
index e948a92..b40249f 100644
--- a/src/xsane-gamma.h
+++ b/src/xsane-gamma.h
@@ -3,7 +3,7 @@
xsane-gamma.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/src/xsane-gimp-1_0-compat.h b/src/xsane-gimp-1_0-compat.h
index 1bdc758..141bd42 100644
--- a/src/xsane-gimp-1_0-compat.h
+++ b/src/xsane-gimp-1_0-compat.h
@@ -3,7 +3,7 @@
xsane-gimp-1_0-compat.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 2000-2005 Oliver Rauch
+ Copyright (C) 2000-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/src/xsane-gtk-1_x-compat.h b/src/xsane-gtk-1_x-compat.h
index 1653c33..fea9c18 100644
--- a/src/xsane-gtk-1_x-compat.h
+++ b/src/xsane-gtk-1_x-compat.h
@@ -3,7 +3,7 @@
xsane-gtk-1_x-compat.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 2002-2005 Oliver Rauch
+ Copyright (C) 2002-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -64,5 +64,5 @@
gtk_window_set_policy(widget, FALSE, resizable, FALSE)
# define gtk_image_new_from_pixmap(pixmap, mask) \
gtk_pixmap_new(pixmap, mask)
-
+# define gtk_progress_bar_set_ellipsize() /* empty */
#endif
diff --git a/src/xsane-icons.c b/src/xsane-icons.c
index f06e3cd..ba76144 100644
--- a/src/xsane-icons.c
+++ b/src/xsane-icons.c
@@ -3,7 +3,7 @@
xsane-icons.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -2910,6 +2910,42 @@ const char *resolution_y_xpm[] =
/* --------------------------------------------------- */
+const char *cms_xpm[] =
+{
+/* width height num_colors chars_per_pixel */
+" 20 20 6 1",
+/* colors */
+". c #000000",
+" none",
+"w c #ffffff",
+"r c #ff0000",
+"g c #00ff00",
+"b c #0000ff",
+/* pixels */
+" ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" rrrr g g bbbb ",
+"rrrrrr gg gg bbbbbb",
+"rr r gggggg bb b",
+"rr gggggg bb ",
+"rr gg gg bbbbb ",
+"rr gg gg bbbb ",
+"rr gg gg bb",
+"rr r gg gg b bb",
+"rrrrrr gg gg bbbbbb",
+" rrrr gg gg bbbb ",
+" ",
+" ",
+" ",
+" ",
+};
+
+/* --------------------------------------------------- */
+
const char *scanner_xpm[] =
{
/* width height num_colors chars_per_pixel */
diff --git a/src/xsane-icons.h b/src/xsane-icons.h
index 1e4e1a1..6f38cfb 100644
--- a/src/xsane-icons.h
+++ b/src/xsane-icons.h
@@ -3,7 +3,7 @@
xsane-icons.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -119,6 +119,7 @@ extern const char *zoom_y_xpm[];
extern const char *resolution_xpm[];
extern const char *resolution_x_xpm[];
extern const char *resolution_y_xpm[];
+extern const char *cms_xpm[];
extern const char *scanner_xpm[];
extern const char *intensity_xpm[];
extern const char *red_xpm[];
diff --git a/src/xsane-multipage-project.c b/src/xsane-multipage-project.c
index 20a1cc3..3721faa 100644
--- a/src/xsane-multipage-project.c
+++ b/src/xsane-multipage-project.c
@@ -3,7 +3,7 @@
xsane-multipage-project.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 2005 Oliver Rauch
+ Copyright (C) 2005-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -55,6 +55,7 @@ void xsane_multipage_dialog_close(void);
void xsane_multipage_project_save(void);
static gint xsane_multipage_dialog_delete();
static void xsane_multipage_filetype_callback(GtkWidget *filetype_option_menu, char *filetype);
+static void xsane_multipage_project_browse_filename_callback(GtkWidget *widget, gpointer data);
static void xsane_multipage_project_changed_callback(GtkWidget *widget, gpointer data);
static void xsane_multipage_project_load(void);
static void xsane_multipage_project_delete(void);
@@ -94,13 +95,11 @@ void xsane_multipage_dialog()
GtkWidget *multipage_project_exists_hbox, *button;
GtkWidget *hbox;
GtkWidget *scrolled_window, *list;
- GtkWidget *pixmapwidget, *text;
+ GtkWidget *text;
GtkWidget *pages_frame;
GtkWidget *label;
GtkWidget *filetype_menu, *filetype_item;
GtkWidget *filetype_option_menu;
- GdkPixmap *pixmap;
- GdkBitmap *mask;
char buf[64];
int filetype_nr;
int select_item;
@@ -133,10 +132,8 @@ void xsane_multipage_dialog()
gtk_container_set_border_width(GTK_CONTAINER(hbox), 2);
gtk_box_pack_start(GTK_BOX(multipage_scan_vbox), hbox, FALSE, FALSE, 1);
- pixmap = gdk_pixmap_create_from_xpm_d(xsane.dialog->window, &mask, xsane.bg_trans, (gchar **) multipage_xpm);
- pixmapwidget = gtk_image_new_from_pixmap(pixmap, mask);
- gtk_box_pack_start(GTK_BOX(hbox), pixmapwidget, FALSE, FALSE, 2);
- gdk_drawable_unref(pixmap);
+ button = xsane_button_new_with_pixmap(xsane.dialog->window, hbox, multipage_xpm, DESC_MULTIPAGE_PROJECT_BROWSE,
+ (GtkSignalFunc) xsane_multipage_project_browse_filename_callback, NULL);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_MULTIPAGE_PROJECT);
@@ -148,7 +145,6 @@ void xsane_multipage_dialog()
xsane.project_entry = text;
xsane.project_entry_box = hbox;
- gtk_widget_show(pixmapwidget);
gtk_widget_show(text);
gtk_widget_show(hbox);
@@ -579,6 +575,65 @@ static void xsane_multipage_project_create()
/* ---------------------------------------------------------------------------------------------------------------------- */
+void xsane_multipage_project_set_filename(gchar *filename)
+{
+ g_signal_handlers_block_by_func(GTK_OBJECT(xsane.project_entry), (GtkSignalFunc) xsane_multipage_project_changed_callback, NULL);
+ gtk_entry_set_text(GTK_ENTRY(xsane.project_entry), (char *) filename); /* update filename in entry */
+ gtk_entry_set_position(GTK_ENTRY(xsane.project_entry), strlen(filename)); /* set cursor to right position of filename */
+
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(xsane.project_entry), (GtkSignalFunc) xsane_multipage_project_changed_callback, NULL);
+}
+
+/* ----------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_multipage_project_browse_filename_callback(GtkWidget *widget, gpointer data)
+{
+ char filename[PATH_MAX];
+ char windowname[TEXTBUFSIZE];
+
+ DBG(DBG_proc, "xsane_multipage_project_browse_filename_callback\n");
+
+ xsane_set_sensitivity(FALSE);
+
+ if (preferences.multipage_project) /* make sure a correct filename is defined */
+ {
+ strncpy(filename, preferences.multipage_project, sizeof(filename));
+ filename[sizeof(filename) - 1] = '\0';
+ }
+ else /* no filename given, take standard filename */
+ {
+ strcpy(filename, OUT_FILENAME);
+ }
+
+ snprintf(windowname, sizeof(windowname), "%s %s %s", xsane.prog_name, WINDOW_MULTIPAGE_PROJECT_BROWSE, xsane.device_text);
+
+ umask((mode_t) preferences.directory_umask); /* define new file permissions */
+ if (!xsane_back_gtk_get_filename(windowname, filename, sizeof(filename), filename, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_PROJECT, XSANE_GET_FILENAME_SHOW_NOTHING, 0, 0))
+ {
+
+ if (preferences.multipage_project)
+ {
+ free((void *) preferences.multipage_project);
+ }
+
+ preferences.multipage_project = strdup(filename);
+
+ xsane_set_sensitivity(TRUE);
+ xsane_multipage_project_set_filename(filename);
+
+ xsane_multipage_project_load();
+ }
+ else
+ {
+ xsane_set_sensitivity(TRUE);
+ }
+ umask(XSANE_DEFAULT_UMASK); /* define new file permissions */
+
+}
+
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
static void xsane_multipage_project_changed_callback(GtkWidget *widget, gpointer data)
{
DBG(DBG_proc, "xsane_multipage_project_changed_callback\n");
@@ -913,11 +968,11 @@ static void xsane_multipage_save_file()
if (output_format == XSANE_PS)
{
- xsane_save_ps_create_document_header(outfile, pages, preferences.save_ps_flatdecoded);
+ xsane_save_ps_create_document_header(outfile, pages, preferences.save_ps_flatedecoded);
}
else if (output_format == XSANE_PDF)
{
- xsane_save_pdf_create_document_header(outfile, &xref, pages, preferences.save_pdf_flatdecoded);
+ xsane_save_pdf_create_document_header(outfile, &xref, pages, preferences.save_pdf_flatedecoded);
}
}
#ifdef HAVE_LIBTIFF
@@ -1032,7 +1087,8 @@ static void xsane_multipage_save_file()
xsane_save_ps_page(outfile, page,
imagefile, &image_info, imagewidth, imageheight,
0, 0, imagewidth, imageheight, 0 /* portrait top left */,
- preferences.save_ps_flatdecoded,
+ preferences.save_ps_flatedecoded,
+ NULL /* hTransform */, 0 /* embed_scanner_icm_profile */,
xsane.project_progress_bar, &cancel_save);
}
else if (output_format == XSANE_PDF)
@@ -1043,14 +1099,31 @@ static void xsane_multipage_save_file()
xsane_save_pdf_page(outfile, &xref, page,
imagefile, &image_info, imagewidth, imageheight,
0, 0, imagewidth, imageheight, 0 /* portrait top left */,
- preferences.save_pdf_flatdecoded,
+ preferences.save_pdf_flatedecoded,
+ NULL /* hTransform */, 0 /* embed_scanner_icm_profile */, 0 /* icc_object */,
xsane.project_progress_bar, &cancel_save);
}
#ifdef HAVE_LIBTIFF
else if (output_format == XSANE_TIFF)
{
- xsane_save_tiff_page(tiffile, page, pages, imagefile, &image_info, preferences.jpeg_quality,
+ cmsHTRANSFORM hTransform = NULL;
+
+#ifdef HAVE_LIBLCMS
+ if ( (preferences.cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && xsane.enable_color_management )
+ {
+ hTransform = xsane_create_cms_transform(&image_info, preferences.cms_function, preferences.cms_intent, preferences.cms_bpc);
+ }
+#endif
+
+ xsane_save_tiff_page(tiffile, page, pages, preferences.jpeg_quality, imagefile, &image_info,
+ hTransform, xsane.enable_color_management, preferences.cms_function,
xsane.project_progress_bar, &cancel_save);
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ cmsDeleteTransform(hTransform);
+ }
+#endif
}
#endif
diff --git a/src/xsane-multipage-project.h b/src/xsane-multipage-project.h
index 5f945eb..090ebc3 100644
--- a/src/xsane-multipage-project.h
+++ b/src/xsane-multipage-project.h
@@ -3,7 +3,7 @@
xsane-multipage-project.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 2005 Oliver Rauch
+ Copyright (C) 2005-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/src/xsane-preferences.c b/src/xsane-preferences.c
index 011e802..2705477 100644
--- a/src/xsane-preferences.c
+++ b/src/xsane-preferences.c
@@ -3,7 +3,7 @@
xsane-preferences.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -55,6 +55,9 @@ Preferences preferences =
0, /* default working_directory */
0, /* no default filename */
0, /* no default filetype */
+ 0, /* default cms_function: embed scanner profile */
+ 0, /* default cms_intent: perceptual */
+ 0, /* default cms_bpc (black point compensation) off */
0137, /* image umask (permission mask for -rw-r------) */
0027, /* directory umask (permission mask for -rwxr-x----) */
0, /* no fax project */
@@ -69,7 +72,7 @@ Preferences preferences =
0.0, /* fax_leftoffset */
0.0, /* fax_bottomoffset */
1, /* fax_fine_mode */
- 1, /* fax_ps_flatdecoded */
+ 1, /* fax_ps_flatedecoded */
#ifdef XSANE_ACTIVATE_EMAIL
0, /* no default from email address */
0, /* no default reply to email address */
@@ -101,8 +104,8 @@ Preferences preferences =
1, /* save_devprefs_at_exit */
1, /* overwrite_warning */
1, /* skip_existing_numbers */
- 1, /* save_ps_flatdecoded */
- 1, /* save_pdf_flatdecoded */
+ 1, /* save_ps_flatedecoded */
+ 1, /* save_pdf_flatedecoded */
0, /* save_pnm16_as_ascii */
0, /* reduce_16bit_to_8bit */
1, /* filename_counter_step */
@@ -168,6 +171,9 @@ desc[] =
{"working-directory", xsane_rc_pref_string, POFFSET(working_directory)},
{"filename", xsane_rc_pref_string, POFFSET(filename)},
{"filetype", xsane_rc_pref_string, POFFSET(filetype)},
+ {"cms-function", xsane_rc_pref_int, POFFSET(cms_function)},
+ {"cms-intent", xsane_rc_pref_int, POFFSET(cms_intent)},
+ {"cms-bpc", xsane_rc_pref_int, POFFSET(cms_bpc)},
{"image-umask", xsane_rc_pref_int, POFFSET(image_umask)},
{"directory-umask", xsane_rc_pref_int, POFFSET(directory_umask)},
{"fax-project", xsane_rc_pref_string, POFFSET(fax_project)},
@@ -182,7 +188,7 @@ desc[] =
{"fax-left-offset", xsane_rc_pref_double, POFFSET(fax_leftoffset)},
{"fax-bottom-offset", xsane_rc_pref_double, POFFSET(fax_bottomoffset)},
{"fax-fine-mode", xsane_rc_pref_int, POFFSET(fax_fine_mode)},
- {"fax-ps-flatdecoded", xsane_rc_pref_int, POFFSET(fax_ps_flatdecoded)},
+ {"fax-ps-flatedecoded", xsane_rc_pref_int, POFFSET(fax_ps_flatedecoded)},
#ifdef XSANE_ACTIVATE_EMAIL
{"e-mail-from", xsane_rc_pref_string, POFFSET(email_from)},
{"e-mail-reply-to", xsane_rc_pref_string, POFFSET(email_reply_to)},
@@ -214,8 +220,8 @@ desc[] =
{"save-devprefs-at-exit", xsane_rc_pref_int, POFFSET(save_devprefs_at_exit)},
{"overwrite-warning", xsane_rc_pref_int, POFFSET(overwrite_warning)},
{"skip-existing-numbers", xsane_rc_pref_int, POFFSET(skip_existing_numbers)},
- {"save-ps-flatdecoded", xsane_rc_pref_int, POFFSET(save_ps_flatdecoded)},
- {"save-pdf-flatdecoded", xsane_rc_pref_int, POFFSET(save_pdf_flatdecoded)},
+ {"save-ps-flatedecoded", xsane_rc_pref_int, POFFSET(save_ps_flatedecoded)},
+ {"save-pdf-flatedecoded", xsane_rc_pref_int, POFFSET(save_pdf_flatedecoded)},
{"save-pnm16-as-ascii", xsane_rc_pref_int, POFFSET( save_pnm16_as_ascii)},
{"reduce-16bit-to8bit", xsane_rc_pref_int, POFFSET(reduce_16bit_to_8bit)},
{"filename-counter-step", xsane_rc_pref_int, POFFSET(filename_counter_step)},
@@ -231,6 +237,9 @@ desc[] =
{"show-resolution-list", xsane_rc_pref_int, POFFSET(show_resolution_list)},
{"length-unit", xsane_rc_pref_double, POFFSET(length_unit)},
{"main-window-fixed", xsane_rc_pref_int, POFFSET(main_window_fixed)},
+ {"display-icm-profile", xsane_rc_pref_string, POFFSET(display_icm_profile)},
+ {"custom-proofing-icm-profile", xsane_rc_pref_string, POFFSET(custom_proofing_icm_profile)},
+ {"working-color-space-icm-profile", xsane_rc_pref_string, POFFSET(working_color_space_icm_profile)},
{"preview-own-cmap", xsane_rc_pref_int, POFFSET(preview_own_cmap)},
{"preview-oversampling", xsane_rc_pref_double, POFFSET(preview_oversampling)},
{"preview-gamma", xsane_rc_pref_double, POFFSET(preview_gamma)},
@@ -289,7 +298,11 @@ desc_printer[] =
{"printer-gamma-red", xsane_rc_pref_double, PRTOFFSET(gamma_red)},
{"printer-gamma-green", xsane_rc_pref_double, PRTOFFSET(gamma_green)},
{"printer-gamma-blue", xsane_rc_pref_double, PRTOFFSET(gamma_blue)},
- {"printer-ps-flatdecoded", xsane_rc_pref_int, PRTOFFSET(ps_flatdecoded)}
+ {"printer-icm-profile", xsane_rc_pref_string, PRTOFFSET(icm_profile)},
+ {"printer-ps-flatedecoded", xsane_rc_pref_int, PRTOFFSET(ps_flatedecoded)},
+ {"printer-embed-csa", xsane_rc_pref_int, PRTOFFSET(embed_csa)},
+ {"printer-embed-crd", xsane_rc_pref_int, PRTOFFSET(embed_crd)},
+ {"printer-bpc", xsane_rc_pref_int, PRTOFFSET(blackpointcompensation)}
};
/* --------------------------------------------------------------------- */
diff --git a/src/xsane-preferences.h b/src/xsane-preferences.h
index 9f0e442..916df37 100644
--- a/src/xsane-preferences.h
+++ b/src/xsane-preferences.h
@@ -3,7 +3,7 @@
xsane-preferences.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -48,7 +48,11 @@ typedef struct
double gamma_red; /* printer gamma red */
double gamma_green; /* printer gamma green */
double gamma_blue; /* printer gamma blue */
- int ps_flatdecoded; /* flatdecode (zlib compression), ps level 3 */
+ char *icm_profile; /* printer ICM profile */
+ int ps_flatedecoded; /* flatedecode (zlib compression), ps level 3 */
+ int embed_csa; /* CSA = scanner ICM profile for postscript files */
+ int embed_crd; /* CRD = printer ICM profile for postscript files */
+ int blackpointcompensation; /* bpc */
}
Preferences_printer_t;
@@ -93,6 +97,9 @@ typedef struct
char *working_directory; /* directory where xsane saves images etc */
char *filename; /* default filename */
char *filetype; /* default filetype */
+ int cms_function; /* cms function (embed/srgb/working cs) */
+ int cms_intent; /* cms rendering intent */
+ int cms_bpc; /* cms black point compensation */
int image_umask; /* image umask (permisson mask) */
int directory_umask; /* directory umask (permisson mask) */
@@ -108,7 +115,7 @@ typedef struct
double fax_leftoffset; /* left offset of fax paper in mm */
double fax_bottomoffset; /* bottom offset of fax paper in mm */
int fax_fine_mode; /* use fine or normal mode */
- int fax_ps_flatdecoded; /* use postscript level 3 zlib compression */
+ int fax_ps_flatedecoded; /* use postscript level 3 zlib compression */
#ifdef XSANE_ACTIVATE_EMAIL
char *email_from; /* email address of sender */
@@ -144,8 +151,8 @@ typedef struct
int save_devprefs_at_exit; /* save device preferences at exit */
int overwrite_warning; /* warn if file exists */
int skip_existing_numbers; /* skip used filenames when automatically increase counter */
- int save_ps_flatdecoded; /* use zlib to for postscript compression (flatdecode) */
- int save_pdf_flatdecoded; /* use zlib to for pdf compression (flatdecode) */
+ int save_ps_flatedecoded; /* use zlib to for postscript compression (flatedecode) */
+ int save_pdf_flatedecoded; /* use zlib to for pdf compression (flatedecode) */
int save_pnm16_as_ascii; /* selection if pnm 16 bit is saved as ascii or binary file */
int reduce_16bit_to_8bit; /* reduce images with 16 bits/color to 8 bits/color */
int filename_counter_step; /* filename_counter += filename_counter_step; */
@@ -192,6 +199,10 @@ typedef struct
int gtk_update_policy;
int medium_nr;
+ char *display_icm_profile;
+ char *custom_proofing_icm_profile;
+ char *working_color_space_icm_profile;
+
int paper_orientation; /* image position on printer and page orientation */
int printernr; /* number of printers */
int printerdefinitions;
diff --git a/src/xsane-preview.c b/src/xsane-preview.c
index 46d8611..45679f1 100644
--- a/src/xsane-preview.c
+++ b/src/xsane-preview.c
@@ -3,7 +3,7 @@
xsane-preview.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -196,7 +196,9 @@ static void preview_establish_ratio(Preview *p);
static void preview_ratio_callback(GtkWidget *widget, gpointer data);
static void preview_autoselect_scanarea_callback(GtkWidget *window, gpointer data);
+void preview_display_with_correction(Preview *p);
void preview_do_gamma_correction(Preview *p);
+int preview_do_color_correction(Preview *p);
void preview_calculate_raw_histogram(Preview *p, SANE_Int *count_raw, SANE_Int *count_raw_red, SANE_Int *count_raw_green, SANE_Int *count_raw_blue);
void preview_calculate_enh_histogram(Preview *p, SANE_Int *count, SANE_Int *count_red, SANE_Int *count_green, SANE_Int *count_blue);
void preview_gamma_correction(Preview *p, int gamma_input_bits,
@@ -1276,7 +1278,7 @@ static void preview_display_image(Preview *p)
assert(p->image_data_enh);
}
- preview_do_gamma_correction(p);
+ preview_display_with_correction(p);
}
/* ---------------------------------------------------------------------------------------------------------------------- */
@@ -1452,8 +1454,9 @@ static void preview_read_image_data(gpointer data, gint source, GdkInputConditio
{
SANE_Status status;
Preview *p = data;
- u_char buf[8192];
- guint16 *buf16 = (guint16 *) buf;
+ char buf[TEXTBUFSIZE];
+ u_char imagebuf8[8192];
+ guint16 *imagebuf16 = (guint16 *) imagebuf8;
SANE_Handle dev;
SANE_Int len;
int i, j;
@@ -1465,26 +1468,26 @@ static void preview_read_image_data(gpointer data, gint source, GdkInputConditio
{
if ((p->params.depth == 1) || (p->params.depth == 8))
{
- status = sane_read(dev, buf, sizeof(buf), &len);
+ status = sane_read(dev, imagebuf8, sizeof(imagebuf8), &len);
}
else if (p->params.depth == 16)
{
if (p->read_offset_16)
{
- buf[0] = p->last_offset_16_byte;
- /* use buf and sizeof(buf) here because sizeof(buf16) returns the size of a pointer */
- status = sane_read(dev, buf+1, sizeof(buf) - 1, &len);
+ imagebuf8[0] = p->last_offset_16_byte;
+ /* use imagebuf8 and sizeof(imagebuf8) here because sizeof(imagebuf16) returns the size of a pointer */
+ status = sane_read(dev, imagebuf8+1, sizeof(imagebuf8) - 1, &len);
len++;
}
else
{
- status = sane_read(dev, (SANE_Byte *) buf16, sizeof(buf), &len);
+ status = sane_read(dev, (SANE_Byte *) imagebuf16, sizeof(imagebuf8), &len);
}
if (len % 2) /* odd number of bytes */
{
len--;
- p->last_offset_16_byte = buf16[len];
+ p->last_offset_16_byte = imagebuf16[len];
p->read_offset_16 = 1;
}
else /* even number of bytes */
@@ -1576,8 +1579,8 @@ static void preview_read_image_data(gpointer data, gint source, GdkInputConditio
return; /* backend sends too much image data */
}
- p->image_data_raw[p->image_offset] = buf[i] * 256;
- p->image_data_enh[p->image_offset++] = buf[i];
+ p->image_data_raw[p->image_offset] = imagebuf8[i] * 256;
+ p->image_data_enh[p->image_offset++] = imagebuf8[i];
if (p->image_offset%3 == 0)
{
@@ -1599,8 +1602,8 @@ static void preview_read_image_data(gpointer data, gint source, GdkInputConditio
return; /* backend sends too much image data */
}
- p->image_data_raw[p->image_offset] = buf16[i];
- p->image_data_enh[p->image_offset++] = (u_char) (buf16[i]/256);
+ p->image_data_raw[p->image_offset] = imagebuf16[i];
+ p->image_data_enh[p->image_offset++] = (u_char) (imagebuf16[i]/256);
if (p->image_offset%3 == 0)
{
@@ -1627,7 +1630,7 @@ static void preview_read_image_data(gpointer data, gint source, GdkInputConditio
case 1:
for (i = 0; i < len; ++i)
{
- u_char mask = buf[i];
+ u_char mask = imagebuf8[i];
if (preview_test_image_y(p))
{
@@ -1662,7 +1665,7 @@ static void preview_read_image_data(gpointer data, gint source, GdkInputConditio
case 8:
for (i = 0; i < len; ++i)
{
- u_char gray = buf[i];
+ u_char gray = imagebuf8[i];
if (preview_test_image_y(p))
{
@@ -1687,20 +1690,20 @@ static void preview_read_image_data(gpointer data, gint source, GdkInputConditio
case 16:
for (i = 0; i < len/2; ++i)
{
- u_char gray = buf16[i]/256;
+ u_char gray = imagebuf16[i]/256;
if (preview_test_image_y(p))
{
return; /* backend sends too much image data */
}
- p->image_data_raw[p->image_offset] = buf16[i];
+ p->image_data_raw[p->image_offset] = imagebuf16[i];
p->image_data_enh[p->image_offset++] = gray;
- p->image_data_raw[p->image_offset] = buf16[i];
+ p->image_data_raw[p->image_offset] = imagebuf16[i];
p->image_data_enh[p->image_offset++] = gray;
- p->image_data_raw[p->image_offset] = buf16[i];
+ p->image_data_raw[p->image_offset] = imagebuf16[i];
p->image_data_enh[p->image_offset++] = gray;
if (++p->image_x >= p->image_width && preview_increment_image_y(p) < 0)
@@ -1726,7 +1729,7 @@ static void preview_read_image_data(gpointer data, gint source, GdkInputConditio
case 1:
for (i = 0; i < len; ++i)
{
- u_char mask = buf[i];
+ u_char mask = imagebuf8[i];
if (preview_test_image_y(p))
{
@@ -1758,8 +1761,8 @@ static void preview_read_image_data(gpointer data, gint source, GdkInputConditio
return; /* backend sends too much image data */
}
- p->image_data_raw[p->image_offset] = buf[i] * 256;
- p->image_data_enh[p->image_offset] = buf[i];
+ p->image_data_raw[p->image_offset] = imagebuf8[i] * 256;
+ p->image_data_enh[p->image_offset] = imagebuf8[i];
p->image_offset += 3;
if (++p->image_x >= p->image_width && preview_increment_image_y(p) < 0)
@@ -1777,8 +1780,8 @@ static void preview_read_image_data(gpointer data, gint source, GdkInputConditio
return; /* backend sends too much image data */
}
- p->image_data_raw[p->image_offset] = buf16[i];
- p->image_data_enh[p->image_offset] = (u_char) (buf16[i]/256);
+ p->image_data_raw[p->image_offset] = imagebuf16[i];
+ p->image_data_enh[p->image_offset] = (u_char) (imagebuf16[i]/256);
p->image_offset += 3;
if (++p->image_x >= p->image_width && preview_increment_image_y(p) < 0)
@@ -1880,7 +1883,7 @@ static void preview_scan_done(Preview *p, int save_image)
xsane_update_histogram(TRUE /* update_raw */); /* update histogram (necessary because overwritten by preview_update_surface) */
}
- if ((preferences.auto_correct_colors) && (!xsane.medium_calibration))
+ if ((preferences.auto_correct_colors) && (!xsane.medium_calibration) && (!xsane.enable_color_management))
{
xsane_calculate_raw_histogram();
xsane_set_auto_enhancement();
@@ -2418,6 +2421,7 @@ void preview_create_batch_icon(Preview *p, Batch_Scan_Parameters *parameters)
if (in)
{
quality = preview_create_batch_icon_from_file(xsane.preview, in, parameters, quality, &time);
+ fclose(in);
}
}
}
@@ -2426,19 +2430,14 @@ void preview_create_batch_icon(Preview *p, Batch_Scan_Parameters *parameters)
{
char filename[PATH_MAX];
- if (in)
- {
- fclose(in);
- }
-
xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", 0, "xsane-startimage", 0, ".pnm", XSANE_PATH_SYSTEM);
in = fopen(filename, "rb"); /* read binary (b for win32) */
if (in)
{
preview_create_batch_icon_from_file(xsane.preview, in, parameters, -1, &time);
+ fclose(in);
}
}
- fclose(in);
}
/* ---------------------------------------------------------------------------------------------------------------------- */
@@ -2767,7 +2766,7 @@ static void preview_display_zoom(Preview *p, int x, int y, int zoom)
int r, g, b;
int px, py;
int i;
- char *row;
+ u_char *row;
DBG(DBG_proc, "preview_display_zoom");
@@ -4241,7 +4240,7 @@ Preview *preview_new(void)
p->maximum_output_height = INF; /* full output height */
p->block_update_maximum_output_size_clipping = FALSE;
- p->preview_colors = -1;
+ p->preview_channels = -1;
p->invalid = TRUE; /* no valid preview */
p->ratio = 0.0;
@@ -4563,7 +4562,6 @@ Preview *preview_new(void)
gtk_widget_show(p->invalid_pixmap);
gdk_drawable_unref(pixmap);
-
/* Start button */
p->start = gtk_button_new_with_label(BUTTON_PREVIEW_ACQUIRE);
xsane_back_gtk_set_tooltip(xsane.tooltips, p->start, DESC_PREVIEW_ACQUIRE);
@@ -4853,7 +4851,7 @@ void preview_update_surface(Preview *p, int surface_changed)
DBG(DBG_info, "preview_update_surface: establish new surface\n");
preview_area_correct(p); /* calculate preview_width and height */
preview_area_resize(p); /* correct rulers */
- preview_do_gamma_correction(p); /* draw preview */
+ preview_display_with_correction(p); /* draw preview */
xsane_update_histogram(TRUE /* update raw */);
p->previous_selection.active = FALSE;
@@ -5013,7 +5011,7 @@ void preview_scan(Preview *p)
gamma_data = malloc(gamma_gray_size * sizeof(SANE_Int));
- if ((xsane.xsane_colors > 1) || (xsane.no_preview_medium_gamma)) /* color scan or medium preview gamma disabled */
+ if ((xsane.xsane_channels > 1) || (xsane.no_preview_medium_gamma)) /* color scan or medium preview gamma disabled */
{
xsane_create_gamma_curve(gamma_data, 0, 1.0, 0.0, 0.0, 0.0, 100.0, 1.0, gamma_gray_size, gamma_gray_max);
}
@@ -5089,7 +5087,7 @@ void preview_scan(Preview *p)
xsane.block_update_param = FALSE;
- p->preview_colors = xsane.xsane_colors;
+ p->preview_channels = xsane.xsane_channels;
p->scan_incomplete = FALSE;
p->invalid = TRUE; /* no valid preview */
p->scanning = TRUE;
@@ -6204,6 +6202,29 @@ static void preview_autoselect_scanarea_callback(GtkWidget *window, gpointer dat
/* ---------------------------------------------------------------------------------------------------------------------- */
+void preview_display_with_correction(Preview *p)
+{
+#ifdef HAVE_LIBLCMS
+ if (xsane.enable_color_management)
+ {
+ preview_do_color_correction(p);
+ gtk_widget_set_sensitive(p->pipette_white, FALSE); /* disable pipette buttons */
+ gtk_widget_set_sensitive(p->pipette_gray, FALSE); /* disable pipette buttons */
+ gtk_widget_set_sensitive(p->pipette_black, FALSE); /* disable pipette buttons */
+
+ }
+ else
+#endif
+ {
+ preview_do_gamma_correction(p);
+ gtk_widget_set_sensitive(p->pipette_white, TRUE); /* enable pipette buttons */
+ gtk_widget_set_sensitive(p->pipette_gray, TRUE); /* enable pipette buttons */
+ gtk_widget_set_sensitive(p->pipette_black, TRUE); /* enable pipette buttons */
+ }
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
void preview_do_gamma_correction(Preview *p)
{
int x,y;
@@ -6212,7 +6233,7 @@ void preview_do_gamma_correction(Preview *p)
guint16 *image_data_rawp = NULL;
int rotate = 16 - preview_gamma_input_bits;
- DBG(DBG_proc, "preview_do_gamma_correction\n");
+ DBG(DBG_proc, "preview_display_with_correction\n");
if ((p->image_data_raw) && (p->params.depth > 1) && (preview_gamma_data_red))
{
@@ -6239,7 +6260,7 @@ void preview_do_gamma_correction(Preview *p)
{
while (gtk_events_pending())
{
- DBG(DBG_info, "preview_do_gamma_correction: calling gtk_main_iteration\n");
+ DBG(DBG_info, "preview_display_with_correction: calling gtk_main_iteration\n");
gtk_main_iteration();
}
}
@@ -6288,6 +6309,167 @@ void preview_do_gamma_correction(Preview *p)
/* ---------------------------------------------------------------------------------------------------------------------- */
+#ifdef HAVE_LIBLCMS
+int preview_do_color_correction(Preview *p)
+{
+ int y;
+ u_char *image_data_enhp = NULL;
+ guint16 *image_data_rawp = NULL;
+ cmsHPROFILE hInProfile = NULL;
+ cmsHPROFILE hOutProfile = NULL;
+ cmsHPROFILE hProofProfile = NULL;
+ cmsHTRANSFORM hTransform = NULL;
+ DWORD input_format, output_format;
+ DWORD cms_flags = 0;
+ int proof = 0;
+ char *cms_proof_icm_profile = NULL;
+ int linesize = 0;
+
+
+ DBG(DBG_proc, "preview_do_color_correction\n");
+
+ cmsErrorAction(LCMS_ERROR_SHOW);
+
+ if (preferences.cms_bpc)
+ {
+ cms_flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
+ }
+
+ switch (p->cms_proofing)
+ {
+ default:
+ case 0: /* display */
+ proof = 0;
+ break;
+
+ case 1: /* proof printer */
+ cms_proof_icm_profile = preferences.printer[preferences.printernr]->icm_profile;
+ proof = 1;
+ break;
+
+ case 2: /* proof custom proofing */
+ cms_proof_icm_profile = preferences.custom_proofing_icm_profile;
+ proof = 1;
+ break;
+ }
+
+ if ( (xsane.param.format == SANE_FRAME_RGB) || /* color preview */
+ (xsane.param.format == SANE_FRAME_RED) ||
+ (xsane.param.format == SANE_FRAME_GREEN) ||
+ (xsane.param.format == SANE_FRAME_BLUE) )
+ {
+ input_format = TYPE_RGB_16;
+ output_format = TYPE_RGB_8;
+ linesize = p->image_width * 3;
+ }
+ else
+ {
+ input_format = TYPE_GRAY_16;
+ output_format = TYPE_GRAY_8;
+ linesize = p->image_width;
+ }
+
+ hInProfile = cmsOpenProfileFromFile(xsane.scanner_default_color_icm_profile, "r");
+ if (!hInProfile)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s\n%s %s: %s\n", ERR_CMS_CONVERSION, ERR_CMS_OPEN_ICM_FILE, CMS_SCANNER_ICM, xsane.scanner_default_color_icm_profile);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1;
+ }
+
+ hOutProfile = cmsOpenProfileFromFile(preferences.display_icm_profile, "r");
+ if (!hOutProfile)
+ {
+ char buf[TEXTBUFSIZE];
+
+ cmsCloseProfile(hInProfile);
+
+ snprintf(buf, sizeof(buf), "%s\n%s %s: %s\n", ERR_CMS_CONVERSION, ERR_CMS_OPEN_ICM_FILE, CMS_DISPLAY_ICM, preferences.display_icm_profile);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1;
+ }
+
+ if (proof == 0)
+ {
+ hTransform = cmsCreateTransform(hInProfile, input_format,
+ hOutProfile, output_format,
+ preferences.cms_intent, cms_flags);
+ }
+ else /* proof */
+ {
+ cms_flags |= cmsFLAGS_SOFTPROOFING;
+
+ if (p->cms_gamut_check)
+ {
+ cms_flags |= cmsFLAGS_GAMUTCHECK;
+ }
+
+ hProofProfile = cmsOpenProfileFromFile(cms_proof_icm_profile, "r");
+ if (!hProofProfile)
+ {
+ char buf[TEXTBUFSIZE];
+
+ cmsCloseProfile(hInProfile);
+ cmsCloseProfile(hOutProfile);
+
+ snprintf(buf, sizeof(buf), "%s\n%s %s: %s\n", ERR_CMS_CONVERSION, ERR_CMS_OPEN_ICM_FILE, CMS_PROOF_ICM, cms_proof_icm_profile);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1;
+ }
+
+ hTransform = cmsCreateProofingTransform(hInProfile, input_format,
+ hOutProfile, output_format,
+ hProofProfile,
+ preferences.cms_intent, p->cms_proofing_intent, cms_flags);
+ }
+
+ if (!hTransform)
+ {
+ char buf[TEXTBUFSIZE];
+
+ cmsCloseProfile(hInProfile);
+ cmsCloseProfile(hOutProfile);
+ if (proof)
+ {
+ cmsCloseProfile(hProofProfile);
+ }
+
+ snprintf(buf, sizeof(buf), "%s\n%s\n", ERR_CMS_CONVERSION, ERR_CMS_CREATE_TRANSFORM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1;
+ }
+
+
+ for (y=0; y < p->image_height; y++)
+ {
+ image_data_rawp = p->image_data_raw + linesize * y;
+ image_data_enhp = p->image_data_enh + linesize * y;
+
+ cmsDoTransform(hTransform, image_data_rawp, image_data_enhp, p->image_width);
+
+ if (p->gamma_functions_interruptable)
+ {
+ while (gtk_events_pending())
+ {
+ DBG(DBG_info, "preview_do_color_correction: calling gtk_main_iteration\n");
+ gtk_main_iteration();
+ }
+ }
+ }
+
+ if (p->image_data_enh)
+ {
+ preview_display_partial_image(p);
+ }
+
+ return 0;
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
void preview_calculate_raw_histogram(Preview *p, SANE_Int *count_raw, SANE_Int *count_raw_red, SANE_Int *count_raw_green, SANE_Int *count_raw_blue)
{
int x, y;
@@ -6625,7 +6807,7 @@ void preview_gamma_correction(Preview *p, int gamma_input_bits,
preview_gamma_input_bits = gamma_input_bits;
- preview_do_gamma_correction(p);
+ preview_display_with_correction(p);
preview_draw_selection(p);
}
@@ -7363,7 +7545,7 @@ void preview_display_valid(Preview *p)
gtk_widget_hide(p->valid_pixmap);
gtk_widget_hide(p->invalid_pixmap);
}
- else if ((xsane.medium_changed) || (xsane.xsane_colors != p->preview_colors) || (p->invalid) ) /* preview is not valid */
+ else if ((xsane.medium_changed) || (xsane.xsane_channels != p->preview_channels) || (p->invalid) ) /* preview is not valid */
{
DBG(DBG_info, "preview not vaild\n");
diff --git a/src/xsane-preview.h b/src/xsane-preview.h
index d57870e..a488ce2 100644
--- a/src/xsane-preview.h
+++ b/src/xsane-preview.h
@@ -3,7 +3,7 @@
xsane-preview.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -122,7 +122,7 @@ typedef struct
char last_offset_16_byte;
int scan_incomplete;
int invalid;
- int preview_colors;
+ int preview_channels;
time_t image_last_time_updated;
gint input_tag;
SANE_Parameters params;
@@ -153,6 +153,13 @@ typedef struct
int show_selection;
+#ifdef HAVE_LIBLCMS
+ int cms_enable;
+ int cms_proofing;
+ int cms_proofing_intent;
+ int cms_gamut_check;
+#endif
+
#if 0
Batch_selection *batch_selection;
#endif
diff --git a/src/xsane-rc-io.c b/src/xsane-rc-io.c
index 4a0af86..39a29ef 100644
--- a/src/xsane-rc-io.c
+++ b/src/xsane-rc-io.c
@@ -3,7 +3,7 @@
xsane-rc-io.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -119,7 +119,7 @@ void xsane_rc_io_w_void(Wire *w)
/* ---------------------------------------------------------------------------------------------------------------- */
-void xsane_rc_io_w_array(Wire *w, SANE_Word *len_ptr, void **v, WireCodecFunc w_element, size_t element_size)
+void xsane_rc_io_w_array(Wire *w, SANE_Word *len_ptr, char **v, WireCodecFunc w_element, size_t element_size)
{
SANE_Word len;
char *val;
@@ -180,7 +180,7 @@ void xsane_rc_io_w_array(Wire *w, SANE_Word *len_ptr, void **v, WireCodecFunc w_
/* ---------------------------------------------------------------------------------------------------------------- */
-void xsane_rc_io_w_ptr(Wire *w, void **v, WireCodecFunc w_value, size_t value_size)
+void xsane_rc_io_w_ptr(Wire *w, char **v, WireCodecFunc w_value, size_t value_size)
{
SANE_Word is_null;
@@ -352,7 +352,7 @@ void xsane_rc_io_w_device_ptr(Wire *w, SANE_Device **v)
{
DBG(DBG_wire, "xsane_rc_io_w_device_ptr\n");
- xsane_rc_io_w_ptr(w, (void **) v, (WireCodecFunc) xsane_rc_io_w_device, sizeof (**v));
+ xsane_rc_io_w_ptr(w, (char **) v, (WireCodecFunc) xsane_rc_io_w_device, sizeof (**v));
}
/* ---------------------------------------------------------------------------------------------------------------- */
@@ -360,6 +360,7 @@ void xsane_rc_io_w_device_ptr(Wire *w, SANE_Device **v)
void xsane_rc_io_w_option_descriptor(Wire *w, SANE_Option_Descriptor *v)
{
SANE_Word len;
+ char *data_ptr = NULL;
DBG(DBG_wire, "xsane_rc_io_w_option_descriptor\n");
@@ -378,7 +379,8 @@ void xsane_rc_io_w_option_descriptor(Wire *w, SANE_Option_Descriptor *v)
break;
case SANE_CONSTRAINT_RANGE:
- xsane_rc_io_w_ptr(w, (void **) &v->constraint.range, (WireCodecFunc) xsane_rc_io_w_range, sizeof (SANE_Range));
+ data_ptr = (char *) v->constraint.range;
+ xsane_rc_io_w_ptr(w, &data_ptr, (WireCodecFunc) xsane_rc_io_w_range, sizeof (SANE_Range));
break;
case SANE_CONSTRAINT_WORD_LIST:
@@ -386,16 +388,18 @@ void xsane_rc_io_w_option_descriptor(Wire *w, SANE_Option_Descriptor *v)
{
len = v->constraint.word_list[0] + 1;
}
- xsane_rc_io_w_array(w, &len, (void **) &v->constraint.word_list, w->codec.w_word, sizeof(SANE_Word));
+ data_ptr = (char *) v->constraint.word_list;
+ xsane_rc_io_w_array(w, &len, &data_ptr, w->codec.w_word, sizeof(SANE_Word));
break;
case SANE_CONSTRAINT_STRING_LIST:
if (w->direction != WIRE_DECODE)
- {
- for (len = 0; v->constraint.string_list[len]; ++len);
- ++len; /* send NULL string, too */
- }
- xsane_rc_io_w_array(w, &len, (void **) &v->constraint.string_list, w->codec.w_string, sizeof(SANE_String));
+ {
+ for (len = 0; v->constraint.string_list[len]; ++len);
+ ++len; /* send NULL string, too */
+ }
+ data_ptr = (char *) v->constraint.string_list;
+ xsane_rc_io_w_array(w, &len, &data_ptr, w->codec.w_string, sizeof(SANE_String));
break;
}
}
@@ -406,7 +410,7 @@ void xsane_rc_io_w_option_descriptor_ptr(Wire *w, SANE_Option_Descriptor **v)
{
DBG(DBG_wire, "xsane_rc_io_w_option_descriptor_ptr\n");
- xsane_rc_io_w_ptr(w, (void **) v, (WireCodecFunc) xsane_rc_io_w_option_descriptor, sizeof (**v));
+ xsane_rc_io_w_ptr(w, (char **) v, (WireCodecFunc) xsane_rc_io_w_option_descriptor, sizeof (**v));
}
/* ---------------------------------------------------------------------------------------------------------------- */
diff --git a/src/xsane-rc-io.h b/src/xsane-rc-io.h
index dab2555..bfd7a3c 100644
--- a/src/xsane-rc-io.h
+++ b/src/xsane-rc-io.h
@@ -3,7 +3,7 @@
xsane-rc-io.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -108,7 +108,7 @@ extern void xsane_rc_io_w_device_ptr(Wire *w, SANE_Device **v);
extern void xsane_rc_io_w_option_descriptor(Wire *w, SANE_Option_Descriptor *v);
extern void xsane_rc_io_w_option_descriptor_ptr(Wire *w, SANE_Option_Descriptor **v);
extern void xsane_rc_io_w_parameters(Wire *w, SANE_Parameters *v);
-extern void xsane_rc_io_w_array(Wire *w, SANE_Word *len, void **v, WireCodecFunc w_element, size_t element_size);
+extern void xsane_rc_io_w_array(Wire *w, SANE_Word *len, char **v, WireCodecFunc w_element, size_t element_size);
extern void xsane_rc_io_w_flush(Wire *w);
extern void xsane_rc_io_w_set_dir(Wire *w, WireDirection dir);
extern void xsane_rc_io_w_call(Wire *w, SANE_Word proc_num, WireCodecFunc w_arg, void *arg, WireCodecFunc w_reply, void *reply);
diff --git a/src/xsane-save.c b/src/xsane-save.c
index a56e2ce..cc5f934 100644
--- a/src/xsane-save.c
+++ b/src/xsane-save.c
@@ -3,7 +3,7 @@
xsane-save.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -430,6 +430,7 @@ void xsane_read_pnm_header(FILE *file, Image_info *image_info)
image_info->resolution_x = 72.0;
image_info->resolution_y = 72.0;
image_info->reduce_to_lineart = FALSE;
+ image_info->enable_color_management = FALSE;
while (strcmp(buf, "# XSANE data follows\n"))
{
@@ -483,6 +484,26 @@ void xsane_read_pnm_header(FILE *file, Image_info *image_info)
&image_info->contrast_green,
&image_info->contrast_blue);
}
+ else if (!strncmp(buf, "# color-management=", 20))
+ {
+ sscanf(buf+20, "%d", &image_info->enable_color_management);
+ }
+ else if (!strncmp(buf, "# cms-function =", 20))
+ {
+ sscanf(buf+20, "%d", &image_info->cms_function);
+ }
+ else if (!strncmp(buf, "# cms-intent =", 20))
+ {
+ sscanf(buf+20, "%d", &image_info->cms_intent);
+ }
+ else if (!strncmp(buf, "# cms-bpc =", 20))
+ {
+ sscanf(buf+20, "%d", &image_info->cms_bpc);
+ }
+ else if (!strncmp(buf, "# icm-profile =", 20))
+ {
+ sscanf(buf+20, "%s", image_info->icm_profile);
+ }
else if (!strncmp(buf, "# reduce to lineart", 20))
{
image_info->reduce_to_lineart = TRUE;
@@ -510,11 +531,11 @@ void xsane_read_pnm_header(FILE *file, Image_info *image_info)
fgetc(file); /* read exactly one newline character */
- image_info->colors = 1;
+ image_info->channels = 1;
if (filetype_nr == 6) /* ppm RGB */
{
- image_info->colors = 3;
+ image_info->channels = 3;
}
}
#ifdef SUPPORT_RGBA
@@ -534,12 +555,12 @@ void xsane_read_pnm_header(FILE *file, Image_info *image_info)
image_info->depth = 16;
}
- image_info->colors = 4;
+ image_info->channels = 4;
}
#endif
DBG(DBG_info, "xsane_read_pnm_header: width=%d, height=%d, depth=%d, colors=%d, resolution_x=%f, resolution_y=%f\n",
- image_info->image_width, image_info->image_height, image_info->depth, image_info->colors,
+ image_info->image_width, image_info->image_height, image_info->depth, image_info->channels,
image_info->resolution_x, image_info->resolution_y);
}
@@ -573,7 +594,7 @@ void xsane_write_pnm_header(FILE *file, Image_info *image_info, int save_pnm16_a
}
- if (image_info->colors == 1)
+ if (image_info->channels == 1)
{
if (image_info->depth == 1)
{
@@ -618,6 +639,11 @@ void xsane_write_pnm_header(FILE *file, Image_info *image_info, int save_pnm16_a
"# gamma = %3.2f\n"
"# brightness = %4.1f\n"
"# contrast = %4.1f\n"
+ "# color-management= %d\n"
+ "# cms-function = %d\n"
+ "# cms-intent = %d\n"
+ "# cms-bpc = %d\n"
+ "# icm-profile = %s\n"
"# XSANE data follows\n"
"%05d %05d\n"
"%d\n",
@@ -627,11 +653,16 @@ void xsane_write_pnm_header(FILE *file, Image_info *image_info, int save_pnm16_a
image_info->gamma,
image_info->brightness,
image_info->contrast,
+ image_info->enable_color_management,
+ image_info->cms_function,
+ image_info->cms_intent,
+ image_info->cms_bpc,
+ image_info->icm_profile,
image_info->image_width, image_info->image_height,
maxval);
}
}
- else if (image_info->colors == 3)
+ else if (image_info->channels == 3)
{
fprintf(file, "P%d\n"
"# XSane settings:\n"
@@ -640,6 +671,11 @@ void xsane_write_pnm_header(FILE *file, Image_info *image_info, int save_pnm16_a
"# gamma IRGB = %3.2f %3.2f %3.2f %3.2f\n"
"# brightness IRGB = %4.1f %4.1f %4.1f %4.1f\n"
"# contrast IRGB = %4.1f %4.1f %4.1f %4.1f\n"
+ "# color-management= %d\n"
+ "# cms-function = %d\n"
+ "# cms-intent = %d\n"
+ "# cms-bpc = %d\n"
+ "# icm-profile = %s\n"
"# XSANE data follows\n"
"%05d %05d\n" \
"%d\n",
@@ -649,11 +685,16 @@ void xsane_write_pnm_header(FILE *file, Image_info *image_info, int save_pnm16_a
image_info->gamma, image_info->gamma_red, image_info->gamma_green, image_info->gamma_blue,
image_info->brightness, image_info->brightness_red, image_info->brightness_green, image_info->brightness_blue,
image_info->contrast, image_info->contrast_red, image_info->contrast_green, image_info->contrast_blue,
+ image_info->enable_color_management,
+ image_info->cms_function,
+ image_info->cms_intent,
+ image_info->cms_bpc,
+ image_info->icm_profile,
image_info->image_width, image_info->image_height,
maxval);
}
#ifdef SUPPORT_RGBA
- else if (image_info->colors == 4)
+ else if (image_info->channels == 4)
{
fprintf(file, "SANE_RGBA\n" \
"%d %d\n" \
@@ -793,6 +834,121 @@ int xsane_copy_file_by_name(char *output_filename, char *input_filename, GtkProg
/* ---------------------------------------------------------------------------------------------------------------------- */
+#ifdef HAVE_LIBLCMS
+cmsHTRANSFORM xsane_create_cms_transform(Image_info *image_info, int cms_function, int cms_intent, int cms_bpc)
+{
+ cmsHPROFILE hInProfile = NULL;
+ cmsHPROFILE hOutProfile = NULL;
+ cmsHTRANSFORM hTransform = NULL;
+ DWORD cms_input_format;
+ DWORD cms_output_format;
+ DWORD cms_flags = 0;
+
+ if (cms_function == XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE)
+ {
+ return NULL;
+ }
+
+ DBG(DBG_info, "Prepare CMS transform\n");
+
+ cmsErrorAction(LCMS_ERROR_SHOW);
+
+ if (cms_bpc)
+ {
+ cms_flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
+ }
+
+ if (image_info->channels == 1) /* == 1 (grayscale) */
+ {
+ if (image_info->depth == 8)
+ {
+ cms_input_format = TYPE_GRAY_8;
+ cms_output_format = TYPE_GRAY_8;
+ }
+ else
+ {
+ cms_input_format = TYPE_GRAY_16;
+ cms_output_format = TYPE_GRAY_16;
+ }
+ }
+ else /* color */
+ {
+ if (image_info->depth == 8)
+ {
+ cms_input_format = TYPE_RGB_8;
+ cms_output_format = TYPE_RGB_8;
+ }
+ else
+ {
+ cms_input_format = TYPE_RGB_16;
+ cms_output_format = TYPE_RGB_16;
+ }
+ }
+
+ hInProfile = cmsOpenProfileFromFile(image_info->icm_profile, "r");
+ if (!hInProfile)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s\n%s %s: %s\n", ERR_CMS_CONVERSION, ERR_CMS_OPEN_ICM_FILE, CMS_SCANNER_ICM, image_info->icm_profile);
+ xsane_back_gtk_error(buf, TRUE);
+ }
+#if 0
+{
+ LPGAMMATABLE Gamma = cmsBuildGamma(256, 3.0);
+ hOutProfile = cmsCreateGrayProfile(cmsD50_xyY(), Gamma);
+ cmsFreeGamma(Gamma);
+}
+#endif
+ if (cms_function == XSANE_CMS_FUNCTION_CONVERT_TO_SRGB)
+ {
+ hOutProfile = cmsCreate_sRGBProfile();
+ }
+ else
+ {
+ hOutProfile = cmsOpenProfileFromFile(preferences.working_color_space_icm_profile, "r");
+ if (!hOutProfile)
+ {
+ char buf[TEXTBUFSIZE];
+
+ cmsCloseProfile(hInProfile);
+
+ snprintf(buf, sizeof(buf), "%s\n%s %s: %s\n", ERR_CMS_CONVERSION, ERR_CMS_OPEN_ICM_FILE, CMS_DISPLAY_ICM, preferences.display_icm_profile);
+ xsane_back_gtk_error(buf, TRUE);
+ }
+ }
+
+ if (!hOutProfile)
+ {
+ char buf[TEXTBUFSIZE];
+
+ cmsCloseProfile(hInProfile);
+
+ snprintf(buf, sizeof(buf), "%s\n", ERR_CMS_CONVERSION);
+ xsane_back_gtk_error(buf, TRUE);
+ }
+
+ hTransform = cmsCreateTransform(hInProfile, cms_input_format,
+ hOutProfile, cms_output_format,
+ cms_intent, cms_flags);
+
+ cmsCloseProfile(hInProfile);
+ cmsCloseProfile(hOutProfile);
+
+ if (!hTransform)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s\n%s\n", ERR_CMS_CONVERSION, ERR_CMS_CREATE_TRANSFORM);
+ xsane_back_gtk_error(buf, TRUE);
+ }
+
+ return hTransform;
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
int xsane_save_grayscale_image_as_lineart(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
{
int x, y, bit;
@@ -901,14 +1057,14 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
image_info->resolution_x *= x_scale;
image_info->resolution_y *= y_scale;
- original_line = malloc(original_image_width * image_info->colors * bytespp);
+ original_line = malloc(original_image_width * image_info->channels * bytespp);
if (!original_line)
{
DBG(DBG_error, "xsane_save_scaled_image: out of memory\n");
return -1;
}
- new_line = malloc(new_image_width * image_info->colors * bytespp);
+ new_line = malloc(new_image_width * image_info->channels * bytespp);
if (!new_line)
{
free(original_line);
@@ -916,7 +1072,7 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
return -1;
}
- pixel_val = malloc(new_image_width * image_info->colors * sizeof(float));
+ pixel_val = malloc(new_image_width * image_info->channels * sizeof(float));
if (!pixel_val)
{
free(original_line);
@@ -925,7 +1081,7 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
return -1;
}
- pixel_norm = malloc(new_image_width * image_info->colors * sizeof(float));
+ pixel_norm = malloc(new_image_width * image_info->channels * sizeof(float));
if (!pixel_norm)
{
free(original_line);
@@ -939,8 +1095,8 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
read_line = TRUE;
- memset(pixel_val, 0, new_image_width * image_info->colors * sizeof(float));
- memset(pixel_norm, 0, new_image_width * image_info->colors * sizeof(float));
+ memset(pixel_val, 0, new_image_width * image_info->channels * sizeof(float));
+ memset(pixel_norm, 0, new_image_width * image_info->channels * sizeof(float));
y_new = 0;
y_go = 1.0 / y_scale;
@@ -960,7 +1116,7 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
if (read_line)
{
DBG(DBG_info, "xsane_save_scaled_image: reading original line %d\n", (int) y);
- fread(original_line, original_image_width, image_info->colors * bytespp, imagefile); /* read one line */
+ fread(original_line, original_image_width, image_info->channels * bytespp, imagefile); /* read one line */
original_line16 = (guint16 *) original_line;
}
@@ -970,23 +1126,22 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
x_factor = 1.0;
while ( (x < original_image_width) && (x_new < new_image_width) ) /* add this line to anti aliasing buffer */
-
{
factor = x_factor * y_factor;
- for (c = 0; c < image_info->colors; c++)
+ for (c = 0; c < image_info->channels; c++)
{
if (bytespp == 1)
{
- color = original_line[((int) x) * image_info->colors + c];
+ color = original_line[((int) x) * image_info->channels + c];
}
else /* bytespp == 2 */
{
- color = original_line16[((int) x) * image_info->colors + c];
+ color = original_line16[((int) x) * image_info->channels + c];
}
- pixel_val [x_new * image_info->colors + c] += factor * color;
- pixel_norm[x_new * image_info->colors + c] += factor;
+ pixel_val [x_new * image_info->channels + c] += factor * color;
+ pixel_norm[x_new * image_info->channels + c] += factor;
}
x_go -= x_factor;
@@ -1023,7 +1178,7 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
if (bytespp == 1)
{
- for (x_new = 0; x_new < new_image_width * image_info->colors; x_new++)
+ for (x_new = 0; x_new < new_image_width * image_info->channels; x_new++)
{
new_line[x_new] = (int) (pixel_val[x_new] / pixel_norm[x_new]);
}
@@ -1032,13 +1187,13 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
{
guint16 *new_line16 = (guint16 *) new_line;
- for (x_new = 0; x_new < new_image_width * image_info->colors; x_new++)
+ for (x_new = 0; x_new < new_image_width * image_info->channels; x_new++)
{
new_line16[x_new] = (int) (pixel_val[x_new] / pixel_norm[x_new]);
}
}
- fwrite(new_line, new_image_width, image_info->colors * bytespp, outfile); /* write one line */
+ fwrite(new_line, new_image_width, image_info->channels * bytespp, outfile); /* write one line */
if (ferror(outfile))
{
@@ -1052,8 +1207,8 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
}
/* reset values and norm factors */
- memset(pixel_val, 0, new_image_width * image_info->colors * sizeof(float));
- memset(pixel_norm, 0, new_image_width * image_info->colors * sizeof(float));
+ memset(pixel_val, 0, new_image_width * image_info->channels * sizeof(float));
+ memset(pixel_norm, 0, new_image_width * image_info->channels * sizeof(float));
y_new++;
y_go = 1.0 / y_scale;
@@ -1079,6 +1234,11 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
read_line = (oldy != (int) y);
}
+ if (read_line) /* we have to write one more line */
+ {
+ fwrite(new_line, new_image_width, image_info->channels * bytespp, outfile); /* write one line */
+ }
+
free(original_line);
free(new_line);
free(pixel_val);
@@ -1113,14 +1273,14 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
image_info->resolution_x *= x_scale;
image_info->resolution_y *= y_scale;
- original_line = malloc(original_image_width * image_info->colors * bytespp);
+ original_line = malloc(original_image_width * image_info->channels * bytespp);
if (!original_line)
{
DBG(DBG_error, "xsane_save_scaled_image: out of memory\n");
return -1;
}
- new_line = malloc(new_image_width * image_info->colors * bytespp);
+ new_line = malloc(new_image_width * image_info->channels * bytespp);
if (!new_line)
{
free(original_line);
@@ -1143,18 +1303,18 @@ int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_in
for (; ((int) original_y) - old_original_y; old_original_y += 1)
{
- fread(original_line, original_image_width, image_info->colors * bytespp, imagefile); /* read one line */
+ fread(original_line, original_image_width, image_info->channels * bytespp, imagefile); /* read one line */
}
for (x = 0; x < new_image_width; x++)
{
- for (i = 0; i < image_info->colors * bytespp; i++)
+ for (i = 0; i < image_info->channels * bytespp; i++)
{
- new_line[x * image_info->colors * bytespp + i] = original_line[((int) (x / x_scale)) * image_info->colors * bytespp + i];
+ new_line[x * image_info->channels * bytespp + i] = original_line[((int) (x / x_scale)) * image_info->channels * bytespp + i];
}
}
- fwrite(new_line, new_image_width, image_info->colors * bytespp, outfile); /* write one line */
+ fwrite(new_line, new_image_width, image_info->channels * bytespp, outfile); /* write one line */
original_y += 1/y_scale;
@@ -1187,7 +1347,7 @@ int xsane_save_despeckle_image(FILE *outfile, FILE *imagefile, Image_info *image
guint16 *color_cache_ptr;
int bytespp = 1;
int color_radius;
- int color_width = image_info->image_width * image_info->colors;
+ int color_width = image_info->image_width * image_info->channels;
radius--; /* correct radius : 1 means nothing happens */
@@ -1196,7 +1356,7 @@ int xsane_save_despeckle_image(FILE *outfile, FILE *imagefile, Image_info *image
radius = 1;
}
- color_radius = radius * image_info->colors;
+ color_radius = radius * image_info->channels;
if (image_info->depth > 8)
{
@@ -1252,7 +1412,7 @@ int xsane_save_despeckle_image(FILE *outfile, FILE *imagefile, Image_info *image
if (xmin < 0)
{
- xmin = x % image_info->colors;
+ xmin = x % image_info->channels;
}
if (xmax > color_width)
@@ -1271,11 +1431,11 @@ int xsane_save_despeckle_image(FILE *outfile, FILE *imagefile, Image_info *image
{
line_cache_ptr = line_cache + (sy-ymin) * color_width + xmin;
- for (sx = xmin; sx <= xmax; sx+=image_info->colors) /* x part */
+ for (sx = xmin; sx <= xmax; sx+=image_info->channels) /* x part */
{
*color_cache_ptr = *line_cache_ptr;
color_cache_ptr++;
- line_cache_ptr += image_info->colors;
+ line_cache_ptr += image_info->channels;
}
}
@@ -1314,11 +1474,11 @@ int xsane_save_despeckle_image(FILE *outfile, FILE *imagefile, Image_info *image
{
line_cache16_ptr = line_cache16 + (sy-ymin) * color_width + xmin;
- for (sx = xmin; sx <= xmax; sx+=image_info->colors)
+ for (sx = xmin; sx <= xmax; sx+=image_info->channels)
{
*color_cache_ptr = *line_cache16_ptr;
color_cache_ptr++;
- line_cache16_ptr += image_info->colors;
+ line_cache16_ptr += image_info->channels;
}
}
@@ -1407,14 +1567,14 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
xsane_write_pnm_header(outfile, image_info, 0);
- line_cache = malloc(image_info->image_width * image_info->colors * bytespp * (2 * intradius + 1));
+ line_cache = malloc(image_info->image_width * image_info->channels * bytespp * (2 * intradius + 1));
if (!line_cache)
{
DBG(DBG_error, "xsane_blur_image: out of memory\n");
return -1;
}
- fread(line_cache, image_info->image_width * image_info->colors * bytespp, (2 * intradius + 1), imagefile);
+ fread(line_cache, image_info->image_width * image_info->channels * bytespp, (2 * intradius + 1), imagefile);
for (y = 0; y < image_info->image_height; y++)
{
@@ -1424,22 +1584,22 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
gtk_main_iteration();
}
- for (x = 0; x < image_info->image_width * image_info->colors; x++)
+ for (x = 0; x < image_info->image_width * image_info->channels; x++)
{
xmin_flag = xmax_flag = ymin_flag = ymax_flag = TRUE;
- xmin = x - intradius * image_info->colors;
- xmax = x + intradius * image_info->colors;
+ xmin = x - intradius * image_info->channels;
+ xmax = x + intradius * image_info->channels;
if (xmin < 0)
{
- xmin = x % image_info->colors;
+ xmin = x % image_info->channels;
xmin_flag = FALSE;
}
- if (xmax > image_info->image_width * image_info->colors)
+ if (xmax > image_info->image_width * image_info->channels)
{
- xmax = image_info->image_width * image_info->colors;
+ xmax = image_info->image_width * image_info->channels;
xmax_flag = FALSE;
}
@@ -1467,7 +1627,7 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
{
for (sy = ymin+1; sy <= ymax-1 ; sy++)
{
- val += outer_factor * line_cache[(sy-ymin) * image_info->image_width * image_info->colors + xmin];
+ val += outer_factor * line_cache[(sy-ymin) * image_info->image_width * image_info->channels + xmin];
norm += outer_factor;
}
}
@@ -1476,14 +1636,14 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
{
for (sy = ymin+1; sy <= ymax-1 ; sy++)
{
- val += outer_factor * line_cache[(sy-ymin) * image_info->image_width * image_info->colors + xmax];
+ val += outer_factor * line_cache[(sy-ymin) * image_info->image_width * image_info->channels + xmax];
norm += outer_factor;
}
}
if (ymin_flag) /* integrate over top margin */
{
- for (sx = xmin+image_info->colors; sx <= xmax-image_info->colors ; sx += image_info->colors)
+ for (sx = xmin+image_info->channels; sx <= xmax-image_info->channels ; sx += image_info->channels)
{
val += outer_factor * line_cache[sx];
norm += outer_factor;
@@ -1492,18 +1652,18 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
if (ymax_flag) /* integrate over bottom margin */
{
- for (sx = xmin+image_info->colors; sx <= xmax-image_info->colors ; sx += image_info->colors)
+ for (sx = xmin+image_info->channels; sx <= xmax-image_info->channels ; sx += image_info->channels)
{
- val += outer_factor * line_cache[(ymax-ymin) * image_info->image_width * image_info->colors + sx];
+ val += outer_factor * line_cache[(ymax-ymin) * image_info->image_width * image_info->channels + sx];
norm += outer_factor;
}
}
for (sy = ymin+1; sy <= ymax-1; sy++) /* integrate internal square */
{
- for (sx = xmin+image_info->colors; sx <= xmax-image_info->colors; sx+=image_info->colors)
+ for (sx = xmin+image_info->channels; sx <= xmax-image_info->channels; sx+=image_info->channels)
{
- val += line_cache[(sy-ymin) * image_info->image_width * image_info->colors + sx];
+ val += line_cache[(sy-ymin) * image_info->image_width * image_info->channels + sx];
norm += 1.0;
}
}
@@ -1519,7 +1679,7 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
{
for (sy = ymin+1; sy <= ymax-1 ; sy++)
{
- val += outer_factor * line_cache16[(sy-ymin) * image_info->image_width * image_info->colors + xmin];
+ val += outer_factor * line_cache16[(sy-ymin) * image_info->image_width * image_info->channels + xmin];
norm += outer_factor;
}
}
@@ -1528,14 +1688,14 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
{
for (sy = ymin+1; sy <= ymax-1 ; sy++)
{
- val += outer_factor * line_cache16[(sy-ymin) * image_info->image_width * image_info->colors + xmax];
+ val += outer_factor * line_cache16[(sy-ymin) * image_info->image_width * image_info->channels + xmax];
norm += outer_factor;
}
}
if (ymin_flag) /* integrate over top margin */
{
- for (sx = xmin+image_info->colors; sx <= xmax-image_info->colors ; sx += image_info->colors)
+ for (sx = xmin+image_info->channels; sx <= xmax-image_info->channels ; sx += image_info->channels)
{
val += outer_factor * line_cache16[sx];
norm += outer_factor;
@@ -1544,18 +1704,18 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
if (ymax_flag) /* integrate over bottom margin */
{
- for (sx = xmin+image_info->colors; sx <= xmax-image_info->colors ; sx += image_info->colors)
+ for (sx = xmin+image_info->channels; sx <= xmax-image_info->channels ; sx += image_info->channels)
{
- val += outer_factor * line_cache16[(ymax-ymin) * image_info->image_width * image_info->colors + sx];
+ val += outer_factor * line_cache16[(ymax-ymin) * image_info->image_width * image_info->channels + sx];
norm += outer_factor;
}
}
for (sy = ymin; sy <= ymax; sy++) /* integrate internal square */
{
- for (sx = xmin; sx <= xmax; sx+=image_info->colors)
+ for (sx = xmin; sx <= xmax; sx+=image_info->channels)
{
- val += line_cache16[(sy-ymin) * image_info->image_width * image_info->colors + sx];
+ val += line_cache16[(sy-ymin) * image_info->image_width * image_info->channels + sx];
norm += 1.0;
}
}
@@ -1581,10 +1741,10 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
if ((y > intradius) && (y < image_info->image_height - intradius))
{
- memcpy(line_cache, line_cache + image_info->image_width * image_info->colors * bytespp,
- image_info->image_width * image_info->colors * bytespp * 2 * intradius);
- fread(line_cache + image_info->image_width * image_info->colors * bytespp * 2 * intradius,
- image_info->image_width * image_info->colors * bytespp, 1, imagefile);
+ memcpy(line_cache, line_cache + image_info->image_width * image_info->channels * bytespp,
+ image_info->image_width * image_info->channels * bytespp * 2 * intradius);
+ fread(line_cache + image_info->image_width * image_info->channels * bytespp * 2 * intradius,
+ image_info->image_width * image_info->channels * bytespp, 1, imagefile);
}
}
@@ -1616,14 +1776,14 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
xsane_write_pnm_header(outfile, image_info, 0);
- line_cache = malloc(image_info->image_width * image_info->colors * bytespp * (2 * radius + 1));
+ line_cache = malloc(image_info->image_width * image_info->channels * bytespp * (2 * radius + 1));
if (!line_cache)
{
DBG(DBG_error, "xsane_blur_image: out of memory\n");
return -1;
}
- fread(line_cache, image_info->image_width * image_info->colors * bytespp, (2 * radius + 1), imagefile);
+ fread(line_cache, image_info->image_width * image_info->channels * bytespp, (2 * radius + 1), imagefile);
for (y = 0; y < image_info->image_height; y++)
{
@@ -1633,19 +1793,19 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
gtk_main_iteration();
}
- for (x = 0; x < image_info->image_width * image_info->colors; x++)
+ for (x = 0; x < image_info->image_width * image_info->channels; x++)
{
- xmin = x - radius * image_info->colors;
- xmax = x + radius * image_info->colors;
+ xmin = x - radius * image_info->channels;
+ xmax = x + radius * image_info->channels;
if (xmin < 0)
{
- xmin = x % image_info->colors;
+ xmin = x % image_info->channels;
}
- if (xmax > image_info->image_width * image_info->colors)
+ if (xmax > image_info->image_width * image_info->channels)
{
- xmax = image_info->image_width * image_info->colors;
+ xmax = image_info->image_width * image_info->channels;
}
ymin = y - radius;
@@ -1668,9 +1828,9 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
{
for (sy = ymin; sy <= ymax; sy++)
{
- for (sx = xmin; sx <= xmax; sx+=image_info->colors)
+ for (sx = xmin; sx <= xmax; sx+=image_info->channels)
{
- val += line_cache[(sy-ymin) * image_info->image_width * image_info->colors + sx];
+ val += line_cache[(sy-ymin) * image_info->image_width * image_info->channels + sx];
count++;
}
}
@@ -1684,9 +1844,9 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
for (sy = ymin; sy <= ymax; sy++)
{
- for (sx = xmin; sx <= xmax; sx+=image_info->colors)
+ for (sx = xmin; sx <= xmax; sx+=image_info->channels)
{
- val += line_cache16[(sy-ymin) * image_info->image_width * image_info->colors + sx];
+ val += line_cache16[(sy-ymin) * image_info->image_width * image_info->channels + sx];
count++;
}
}
@@ -1699,10 +1859,10 @@ int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info
if ((y > radius) && (y < image_info->image_height - radius))
{
- memcpy(line_cache, line_cache + image_info->image_width * image_info->colors * bytespp,
- image_info->image_width * image_info->colors * bytespp * 2 * radius);
- fread(line_cache + image_info->image_width * image_info->colors * bytespp * 2 * radius,
- image_info->image_width * image_info->colors * bytespp, 1, imagefile);
+ memcpy(line_cache, line_cache + image_info->image_width * image_info->channels * bytespp,
+ image_info->image_width * image_info->channels * bytespp * 2 * radius);
+ fread(line_cache + image_info->image_width * image_info->channels * bytespp * 2 * radius,
+ image_info->image_width * image_info->channels * bytespp, 1, imagefile);
}
}
@@ -1734,7 +1894,7 @@ int xsane_save_rotate_image(FILE *outfile, FILE *imagefile, Image_info *image_in
pos0 = ftell(imagefile); /* mark position to skip header */
- bytespp = image_info->colors;
+ bytespp = image_info->channels;
if (image_info->depth > 8)
{
@@ -2227,7 +2387,7 @@ int xsane_save_rotate_image(FILE *outfile, FILE *imagefile, Image_info *image_in
/* ---------------------------------------------------------------------------------------------------------------------- */
-void xsane_save_ps_create_document_header(FILE *outfile, int pages, int flatdecode)
+void xsane_save_ps_create_document_header(FILE *outfile, int pages, int flatedecode)
{
DBG(DBG_proc, "xsane_save_ps_create_document_header\n");
@@ -2236,7 +2396,7 @@ void xsane_save_ps_create_document_header(FILE *outfile, int pages, int flatdeco
SANE_VERSION_MAJOR(xsane.sane_backend_versioncode),
SANE_VERSION_MINOR(xsane.sane_backend_versioncode));
fprintf(outfile, "%%%%DocumentData: Clean7Bit\n");
- if (flatdecode)
+ if (flatedecode)
{
fprintf(outfile, "%%%%LanguageLevel: 3\n");
}
@@ -2288,7 +2448,7 @@ static void xsane_save_ps_create_page_header(FILE *outfile, int page,
float width, float height,
int paper_left_margin, int paper_bottom_margin,
int paper_width, int paper_height,
- int paper_orientation, int flatdecode,
+ int paper_orientation, int flatedecode,
GtkProgressBar *progress_bar)
{
int degree, position_left, position_bottom, box_left, box_bottom, box_right, box_top, depth;
@@ -2377,7 +2537,7 @@ static void xsane_save_ps_create_page_header(FILE *outfile, int page,
if (depth > 8)
{
- depth = 8;
+ depth = 12;
}
fprintf(outfile, "\n");
@@ -2394,23 +2554,22 @@ static void xsane_save_ps_create_page_header(FILE *outfile, int page,
fprintf(outfile, "%d rotate\n", degree);
fprintf(outfile, "%d %d translate\n", position_left, position_bottom);
fprintf(outfile, "%f %f scale\n", width, height);
- fprintf(outfile, "%d %d %d\n", image_info->image_width, image_info->image_height, depth);
- fprintf(outfile, "[%d %d %d %d %d %d]\n", image_info->image_width, 0, 0, -image_info->image_height, 0, image_info->image_height);
- fprintf(outfile, "currentfile\n");
- fprintf(outfile, "/ASCII85Decode filter\n");
+ fprintf(outfile, "<<\n");
+ fprintf(outfile, " /ImageType 1\n");
+ fprintf(outfile, " /Width %d\n", image_info->image_width);
+ fprintf(outfile, " /Height %d\n", image_info->image_height);
+ fprintf(outfile, " /BitsPerComponent %d\n", depth);
+ fprintf(outfile, " /Decode [0 1 0 1 0 1]\n");
+ fprintf(outfile, " /ImageMatrix [%d %d %d %d %d %d]\n", image_info->image_width, 0, 0, -image_info->image_height, 0, image_info->image_height);
+ fprintf(outfile, " /DataSource currentfile /ASCII85Decode filter");
#ifdef HAVE_LIBZ
- if (flatdecode)
+ if (flatedecode)
{
- fprintf(outfile, "/FlateDecode filter\n");
+ fprintf(outfile, " /FlateDecode filter");
}
#endif
-
- if (image_info->colors == 3) /* what about RGBA here ? */
- {
- fprintf(outfile, "false 3 colorimage\n");
- fprintf(outfile, "\n");
- }
- else
+ fprintf(outfile, "\n");
+ fprintf(outfile, ">>\n");
{
fprintf(outfile, "image\n");
fprintf(outfile, "\n");
@@ -2429,8 +2588,102 @@ static void xsane_save_ps_create_page_trailer(FILE *outfile)
/* ---------------------------------------------------------------------------------------------------------------------- */
#ifdef HAVE_LIBZ
+/* Utility function for the PDF output */
+static int xsane_write_flatedecode(FILE *outfile, unsigned char *line, int len, int finish)
+{
+ static unsigned char *cbuf = NULL;
+ static int cbuflen = 0;
+ static int linelen = 0;
+ int outlen;
+ static int init = 0;
+ static z_stream s;
+ int ret;
+ int flush;
+ static int count = 0;
+
+ DBG(DBG_proc, "xsane_write_flatedecode\n");
+
+ if (linelen != len)
+ {
+ linelen = len;
+ if (cbuf != NULL)
+ {
+ free(cbuf);
+ }
+ /* buffer length = length + 0.1 * length + 12 (mandatory) */
+ cbuflen = len + len / 10 + 12;
+ cbuf = malloc(cbuflen);
+ }
+
+ if (cbuf == NULL)
+ {
+ DBG(DBG_error, "cbuf allocation failed\n");
+ return 1;
+ }
+
+ if (!init)
+ {
+ s.zalloc = Z_NULL;
+ s.zfree = Z_NULL;
+ s.opaque = Z_NULL;
+
+ ret = deflateInit(&s, Z_DEFAULT_COMPRESSION);
+
+ if (ret != Z_OK)
+ {
+ DBG(DBG_error, "deflateInit failed\n");
+ free(cbuf);
+ return 1;
+ }
+
+ init = 1;
+ }
+
+ s.avail_in = len;
+ s.next_in = line;
+
+ do
+ {
+ s.avail_out = cbuflen;
+ s.next_out = cbuf;
+
+ flush = (finish) ? Z_FINISH : Z_NO_FLUSH;
+
+ ret = deflate(&s, flush);
+
+ if (ret == Z_STREAM_ERROR)
+ {
+ DBG(DBG_error, "deflate failed\n");
+ free(cbuf);
+ return 1;
+ }
+
+ outlen = cbuflen - s.avail_out;
+
+ fwrite(cbuf, outlen, 1, outfile);
+ } while (s.avail_out == 0);
+
+ if (finish)
+ {
+ DBG(DBG_info, "xsane_write_flatedecode finished\n");
+ deflateEnd(&s);
+ free(cbuf);
+ cbuf = NULL;
+ init = 0;
+ cbuflen = 0;
+ linelen = 0;
+ count = 0;
+ }
+
+ return 0;
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+#ifdef HAVE_LIBZ
/* Utility function for the PostScript output */
-static int xsane_write_compressed_a85_flatdecode(FILE *outfile, unsigned char *line, int len, int finish)
+static int xsane_write_compressed_a85_flatedecode(FILE *outfile, unsigned char *line, int len, int finish)
{
static unsigned char *cbuf = NULL;
static int cbuflen = 0;
@@ -2446,7 +2699,7 @@ static int xsane_write_compressed_a85_flatdecode(FILE *outfile, unsigned char *l
static unsigned char a85block[6] = {0, 0, 0, 0, 0, 0};
static int count = 0;
- DBG(DBG_proc, "xsane_write_compressed_a85_flatdecode\n");
+ DBG(DBG_proc, "xsane_write_compressed_a85_flatedecode\n");
if (linelen != len)
{
@@ -2741,7 +2994,91 @@ static int xsane_write_compressed_a85(FILE *outfile, unsigned char *line, int le
/* ---------------------------------------------------------------------------------------------------------------------- */
-static int xsane_save_ps_pdf_bw(FILE *outfile, FILE *imagefile, Image_info *image_info, int flatdecode, GtkProgressBar *progress_bar, int *cancel_save)
+#ifdef HAVE_LIBLCMS
+static int xsane_write_CSA(FILE *outfile, char *input_profile, int intent)
+{
+ cmsHPROFILE hProfile;
+ size_t n;
+ char* buffer;
+
+ hProfile = cmsOpenProfileFromFile(input_profile, "r");
+ if (!hProfile)
+ {
+ return -1;
+ }
+
+ n = cmsGetPostScriptCSA(hProfile, intent, NULL, 0);
+ if (n == 0)
+ {
+ return -2;
+ }
+
+ buffer = (char*) malloc(n + 1);
+ if (!buffer)
+ {
+ return -3;
+ }
+
+ cmsGetPostScriptCSA(hProfile, intent, buffer, n);
+ buffer[n] = 0;
+
+ fprintf(outfile, "%s", buffer);
+ fprintf(outfile, "setcolorspace\n");
+
+ free(buffer);
+ cmsCloseProfile(hProfile);
+
+ return 0;
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static int xsane_write_CRD(FILE *outfile, char *output_profile, int intent, int blackpointcompensation)
+{
+ cmsHPROFILE hProfile;
+ size_t n;
+ char* buffer;
+ DWORD flags = cmsFLAGS_NODEFAULTRESOURCEDEF;
+
+ hProfile = cmsOpenProfileFromFile(output_profile, "r");
+ if (!hProfile)
+ {
+ return -1;
+ }
+
+ if (blackpointcompensation)
+ {
+ flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
+ }
+
+ n = cmsGetPostScriptCRDEx(hProfile, intent, flags, NULL, 0);
+ if (n == 0)
+ {
+ return -2;
+ }
+
+ buffer = (char*) malloc(n + 1);
+ if (!buffer)
+ {
+ return -3;
+ }
+
+ cmsGetPostScriptCRDEx(hProfile, intent, flags, buffer, n);
+ buffer[n] = 0;
+
+ fprintf(outfile, "%s", buffer);
+ fprintf(outfile, "setcolorrendering\n");
+
+ free(buffer);
+ cmsCloseProfile(hProfile);
+
+ return 0;
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static int xsane_save_ps_pdf_bw(FILE *outfile, FILE *imagefile, Image_info *image_info, int ascii85decode, int flatedecode, GtkProgressBar *progress_bar, int *cancel_save)
{
int x, y;
int bytes_per_line = (image_info->image_width+7)/8;
@@ -2778,15 +3115,26 @@ static int xsane_save_ps_pdf_bw(FILE *outfile, FILE *imagefile, Image_info *imag
line[x] = fgetc(imagefile) ^ 255;
}
+ if (ascii85decode)
+ {
#ifdef HAVE_LIBZ
- if (flatdecode)
+ if (flatedecode)
+ {
+ ret = xsane_write_compressed_a85_flatedecode(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
+ }
+ else
+#endif
+ {
+ ret = xsane_write_compressed_a85(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
+ }
+ }
+ else if (flatedecode)
{
- ret = xsane_write_compressed_a85_flatdecode(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
+ ret = xsane_write_flatedecode(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
}
else
-#endif
{
- ret = xsane_write_compressed_a85(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
+ fwrite(line, bytes_per_line, 1, outfile);
}
if ((ret != 0) || (ferror(outfile)))
@@ -2822,11 +3170,15 @@ static int xsane_save_ps_pdf_bw(FILE *outfile, FILE *imagefile, Image_info *imag
/* ---------------------------------------------------------------------------------------------------------------------- */
-static int xsane_save_ps_pdf_gray(FILE *outfile, FILE *imagefile, Image_info *image_info, int flatdecode, GtkProgressBar *progress_bar, int *cancel_save)
+static int xsane_save_ps_pdf_gray(FILE *outfile, FILE *imagefile, Image_info *image_info, int ascii85decode, int flatedecode, cmsHTRANSFORM hTransform, int embed_scanner_icm_profile, GtkProgressBar *progress_bar, int *cancel_save)
{
- int x, y;
- int ret;
- unsigned char *line;
+ int x, y;
+ int ret;
+ unsigned char *line;
+#ifdef HAVE_LIBLCMS
+ unsigned char *line_raw = NULL;
+#endif
+
DBG(DBG_proc, "xsane_save_ps_pdf_gray\n");
@@ -2865,15 +3217,26 @@ static int xsane_save_ps_pdf_gray(FILE *outfile, FILE *imagefile, Image_info *im
}
}
+ if (ascii85decode)
+ {
#ifdef HAVE_LIBZ
- if (flatdecode)
+ if (flatedecode)
+ {
+ ret = xsane_write_compressed_a85_flatedecode(outfile, line, image_info->image_width, (y == image_info->image_height - 1));
+ }
+ else
+#endif
+ {
+ ret = xsane_write_compressed_a85(outfile, line, image_info->image_width, (y == image_info->image_height - 1));
+ }
+ }
+ else if (flatedecode)
{
- ret = xsane_write_compressed_a85_flatdecode(outfile, line, image_info->image_width, (y == image_info->image_height - 1));
+ ret = xsane_write_flatedecode(outfile, line, image_info->image_width, (y == image_info->image_height - 1));
}
else
-#endif
{
- ret = xsane_write_compressed_a85(outfile, line, image_info->image_width, (y == image_info->image_height - 1));
+ fwrite(line, image_info->image_width, 1, outfile);
}
if ((ret != 0) || (ferror(outfile)))
@@ -2915,28 +3278,106 @@ static int xsane_save_ps_pdf_gray(FILE *outfile, FILE *imagefile, Image_info *im
/* ---------------------------------------------------------------------------------------------------------------------- */
-static int xsane_save_ps_pdf_color(FILE *outfile, FILE *imagefile, Image_info *image_info, int flatdecode, GtkProgressBar *progress_bar, int *cancel_save)
+static int xsane_save_ps_pdf_color(FILE *outfile, FILE *imagefile, Image_info *image_info, int ascii85decode, int flatedecode,
+ cmsHTRANSFORM hTransform, int do_transform,
+ GtkProgressBar *progress_bar, int *cancel_save)
{
int x, y;
int ret;
- unsigned char *line, *linep;
+ unsigned char *line = NULL, *linep = NULL, *line16 = NULL;
+ int bytes_per_line;
+ int bytes_per_line16 = 0;
+#ifdef HAVE_LIBLCMS
+ unsigned char *line_raw = NULL;
+#endif
DBG(DBG_proc, "xsane_save_ps_pdf_color\n");
*cancel_save = 0;
- line = (unsigned char *) malloc(image_info->image_width * 3);
+ if (image_info->depth > 8) /* reduce 16 bit images to 12 bit */
+ {
+ bytes_per_line16 = image_info->image_width * 3 * 2;
+
+ bytes_per_line = (image_info->image_width/2) * 3 * 3;
+ if (image_info->image_width & 1)
+ {
+ bytes_per_line += 5;
+ }
+
+ DBG(DBG_info, "bytes_per_line16 = %d\n", bytes_per_line16);
+ DBG(DBG_info, "bytes_per_line = %d\n", bytes_per_line);
+
+ line16 = (unsigned char *) malloc(bytes_per_line16);
+
+ if (line16 == NULL)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s malloc for line16 failed", ERR_DURING_SAVE);
+ DBG(DBG_error, "%s\n", buf);
+ xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
+ *cancel_save = 1;
+ return (*cancel_save);
+ }
+ DBG(DBG_info, "line16 allocated\n");
+ }
+ else
+ {
+ bytes_per_line = image_info->image_width * 3;
+ bytes_per_line16 = image_info->image_width * 3;
+ DBG(DBG_info, "bytes_per_line = %d\n", bytes_per_line);
+ }
+
+ line = (unsigned char *) malloc(bytes_per_line);
if (line == NULL)
{
char buf[TEXTBUFSIZE];
- snprintf(buf, sizeof(buf), "%s malloc failed", ERR_DURING_SAVE);
+ snprintf(buf, sizeof(buf), "%s malloc for line failed", ERR_DURING_SAVE);
DBG(DBG_error, "%s\n", buf);
xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
+
+ if (line16)
+ {
+ free(line16);
+ }
+
*cancel_save = 1;
return (*cancel_save);
}
+ DBG(DBG_info, "line allocated\n");
+
+#ifdef HAVE_LIBLCMS
+ if (do_transform && (hTransform != NULL))
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ line_raw = (unsigned char *) malloc(bytes_per_line16);
+
+ if (line_raw == NULL)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s malloc for line_raw failed", ERR_DURING_SAVE);
+ DBG(DBG_error, "%s\n", buf);
+ xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
+
+ free(line);
+
+ if (line16)
+ {
+ free(line16);
+ }
+
+ *cancel_save = 1;
+ return (*cancel_save);
+ }
+
+ DBG(DBG_info, "line_raw allocated\n");
+ }
+#endif
for (y = 0; y < image_info->image_height; y++)
{
@@ -2948,39 +3389,101 @@ static int xsane_save_ps_pdf_color(FILE *outfile, FILE *imagefile, Image_info *i
linep = line;
- if (image_info->depth > 8) /* reduce 16 bit images */
+ if (image_info->depth > 8) /* reduce 16 bit images to 12 bit */
{
- guint16 val;
+#ifdef HAVE_LIBLCMS
+ if (do_transform && (hTransform != NULL))
+ {
+ fread(line_raw, 6, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, line_raw, line16, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(line16, 6, image_info->image_width, imagefile);
+ }
- for (x = 0; x < image_info->image_width; x++)
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+ for (x = 0; x < image_info->image_width; x=x+2)
{
- fread(&val, 2, 1, imagefile);
- *linep++ = val/256;
- fread(&val, 2, 1, imagefile);
- *linep++ = val/256;
- fread(&val, 2, 1, imagefile);
- *linep++ = val/256;
+ *linep++ = line16[6*x+1]; /* red high+middle */
+ *linep++ = (line16[6*x+0] & 240) | (line16[6*x+3] >> 4); /* red low | green high */
+ *linep++ = ((line16[6*x+3] & 15) << 4) | ((line16[6*x+2] & 240) >> 4); /* green middle | green low */
+
+ *linep++ = line16[6*x+5]; /* blue high+middle */
+
+ if (x == image_info->image_width-1)
+ {
+ *linep++ = (line16[6*x+4] & 240); /* blue low */
+ break;
+ }
+
+ *linep++ = (line16[6*x+4] & 240) | (line16[6*x+7] >> 4); /* blue low | red high */
+ *linep++ = ((line16[6*x+7] & 15) << 4) | ((line16[6*x+6] & 240) >> 4); /* red middle | red low */
+
+ *linep++ = line16[6*x+9]; /* green high+middle */
+ *linep++ = (line16[6*x+8] & 240) | (line16[6*x+11] >> 4); /* green low | blue high */
+ *linep++ = ((line16[6*x+11] & 15) << 4) | ((line16[6*x+10] & 240) >> 4); /* blue middle | blue low */
}
+#else
+ for (x = 0; x < image_info->image_width; x=x+2)
+ {
+ *linep++ = line16[6*x+0]; /* red high+middle */
+ *linep++ = (line16[6*x+1] & 240) | (line16[6*x+2] >> 4); /* red low | green high */
+ *linep++ = ((line16[6*x+2] & 15) << 4) | ((line16[6*x+3] & 240) >> 4); /* green middle | green low */
+
+ *linep++ = line16[6*x+4]; /* blue high+middle */
+
+ if (x == image_info->image_width-1)
+ {
+ *linep++ = (line16[6*x+5] & 240); /* blue low */
+ break;
+ }
+
+ *linep++ = (line16[6*x+5] & 240) | (line16[6*x+6] >> 4); /* blue low | red high */
+ *linep++ = ((line16[6*x+6] & 15) << 4) | ((line16[6*x+7] & 240) >> 4); /* red middle | red low */
+
+ *linep++ = line16[6*x+8]; /* green high+middle */
+ *linep++ = (line16[6*x+9] & 240) | (line16[6*x+10] >> 4); /* green low | blue high */
+ *linep++ = ((line16[6*x+10] & 15) << 4) | ((line16[6*x+11] & 240) >> 4); /* blue middle | blue low */
+ }
+#endif
}
else /* 8 bits/sample */
{
- for (x = 0; x < image_info->image_width; x++)
+#ifdef HAVE_LIBLCMS
+ if (do_transform && (hTransform != NULL))
{
- *linep++ = fgetc(imagefile);
- *linep++ = fgetc(imagefile);
- *linep++ = fgetc(imagefile);
+ fread(line_raw, 3, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, line_raw, line, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(line, 3, image_info->image_width, imagefile);
}
}
+ if (ascii85decode)
+ {
#ifdef HAVE_LIBZ
- if (flatdecode)
+ if (flatedecode)
+ {
+ ret = xsane_write_compressed_a85_flatedecode(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
+ }
+ else
+#endif
+ {
+ ret = xsane_write_compressed_a85(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
+ }
+ }
+ else if (flatedecode)
{
- ret = xsane_write_compressed_a85_flatdecode(outfile, line, (image_info->image_width * 3), (y == image_info->image_height - 1));
+ ret = xsane_write_flatedecode(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
}
else
-#endif
{
- ret = xsane_write_compressed_a85(outfile, line, (image_info->image_width * 3), (y == image_info->image_height - 1));
+ fwrite(line, bytes_per_line, 1, outfile);
}
if ((ret != 0) || (ferror(outfile)))
@@ -3009,6 +3512,18 @@ static int xsane_save_ps_pdf_color(FILE *outfile, FILE *imagefile, Image_info *i
}
}
+#ifdef HAVE_LIBLCMS
+ if (line_raw)
+ {
+ free(line_raw);
+ }
+#endif
+
+ if (line16)
+ {
+ free(line16);
+ }
+
free(line);
return (*cancel_save);
@@ -3019,7 +3534,8 @@ static int xsane_save_ps_pdf_color(FILE *outfile, FILE *imagefile, Image_info *i
int xsane_save_ps_page(FILE *outfile, int page,
FILE *imagefile, Image_info *image_info, float width, float height,
int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
- int flatdecode,
+ int flatedecode,
+ cmsHTRANSFORM hTransform, int do_transform,
GtkProgressBar *progress_bar, int *cancel_save)
{
DBG(DBG_proc, "xsane_save_ps_page\n");
@@ -3027,23 +3543,23 @@ int xsane_save_ps_page(FILE *outfile, int page,
xsane_save_ps_create_page_header(outfile, page,
image_info, width, height,
paper_left_margin, paper_bottom_margin, paperwidth, paperheight, paper_orientation,
- flatdecode,
+ flatedecode,
progress_bar);
- if (image_info->colors == 1) /* lineart, halftone, grayscale */
+ if (image_info->channels == 1) /* lineart, halftone, grayscale */
{
if (image_info->depth == 1) /* lineart, halftone */
{
- xsane_save_ps_pdf_bw(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
+ xsane_save_ps_pdf_bw(outfile, imagefile, image_info, TRUE, flatedecode, progress_bar, cancel_save);
}
else /* grayscale */
{
- xsane_save_ps_pdf_gray(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
+ xsane_save_ps_pdf_gray(outfile, imagefile, image_info, TRUE, flatedecode, hTransform, do_transform, progress_bar, cancel_save);
}
}
else /* color RGB */
{
- xsane_save_ps_pdf_color(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
+ xsane_save_ps_pdf_color(outfile, imagefile, image_info, TRUE, flatedecode, hTransform, do_transform, progress_bar, cancel_save);
}
xsane_save_ps_create_page_trailer(outfile);
@@ -3065,19 +3581,46 @@ int xsane_save_ps_page(FILE *outfile, int page,
int xsane_save_ps(FILE *outfile, FILE *imagefile, Image_info *image_info, float width, float height,
int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
- int flatdecode,
+ int flatedecode,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile, int embed_CSA, char *CSA_profile,
+ int embed_CRD, char *CRD_profile, int blackpointcompensation, int intent,
GtkProgressBar *progress_bar, int *cancel_save)
{
DBG(DBG_proc, "xsane_save_ps\n");
*cancel_save = 0;
- xsane_save_ps_create_document_header(outfile, 1 /* pages */, flatdecode);
+ xsane_save_ps_create_document_header(outfile, 1 /* pages */, flatedecode);
+
+#ifdef HAVE_LIBLCMS
+ if ((apply_ICM_profile) && (embed_CRD))
+ {
+ xsane_write_CRD(outfile, CRD_profile, intent, blackpointcompensation); /* write printer profile to ps file */
+ }
+
+
+ if ((apply_ICM_profile) && (embed_CSA))
+ {
+ xsane_write_CSA(outfile, CSA_profile, intent); /* write scanner profile to ps file */
+ }
+ else
+#endif
+ {
+ if (image_info->channels == 1) /* lineart, halftone, grayscale */
+ {
+ fprintf(outfile, "/DeviceGray setcolorspace\n");
+ }
+ else
+ {
+ fprintf(outfile, "/DeviceRGB setcolorspace\n");
+ }
+ }
xsane_save_ps_page(outfile, 1 /* page */,
imagefile, image_info, width, height,
paper_left_margin, paper_bottom_margin, paperwidth, paperheight, paper_orientation,
- flatdecode,
+ flatedecode,
+ hTransform, (apply_ICM_profile && (!embed_CSA) && (!embed_CRD)) /* do_transform */,
progress_bar, cancel_save);
xsane_save_ps_create_document_trailer(outfile, 0 /* we defined pages at beginning */);
@@ -3097,7 +3640,93 @@ int xsane_save_ps(FILE *outfile, FILE *imagefile, Image_info *image_info, float
/* ---------------------------------------------------------------------------------------------------------------------- */
-void xsane_save_pdf_create_document_header(FILE *outfile, struct pdf_xref *xref, int pages, int flatdecode)
+static int xsane_embed_pdf_icm_profile(FILE *outfile, struct pdf_xref *xref, char *icm_filename, int flatedecode, int icc_object)
+{
+ FILE *icm_profile;
+ size_t size, embed_len;
+ unsigned char *embed_buffer;
+ int ret;
+
+ DBG(DBG_proc, "xsane_embed_pdf_icm_profile(%s)\n", icm_filename);
+
+ icm_profile = fopen(icm_filename, "rb");
+ if (icm_profile == NULL)
+ {
+ DBG(DBG_error, "Could not open ICM profile \"%s\" for reading\n", icm_filename);
+ return -1;
+ }
+
+ fseek(icm_profile, 0, SEEK_END);
+ size = ftell(icm_profile);
+ fseek(icm_profile, 0, SEEK_SET);
+
+ embed_buffer = malloc(size + 1);
+ if (embed_buffer)
+ {
+ xref->obj[icc_object] = ftell(outfile);
+ fprintf(outfile, "%d 0 obj\n", icc_object);
+ fprintf(outfile, " << /N 3\n"); /* 3 channels */
+ fprintf(outfile, " /Alternate /DeviceRGB\n");
+#ifdef HAVE_LIBZ
+ if (flatedecode)
+ {
+ fprintf(outfile, " /Filter /FlateDecode\n");
+ }
+#endif
+
+ fprintf(outfile, " /Length >>\n");
+
+ /* Position of the stream length, to be written later on */
+ xref->slenp = ftell(outfile) - 15;
+
+ fprintf(outfile, "stream\n");
+
+ /* Start of the stream data */
+ xref->slen = ftell(outfile);
+
+ embed_len = fread(embed_buffer, 1, size, icm_profile);
+ embed_buffer[embed_len] = 0;
+ fclose(icm_profile);
+
+#ifdef HAVE_LIBZ
+ if (flatedecode)
+ {
+ ret = xsane_write_flatedecode(outfile, embed_buffer, size, TRUE);
+ }
+ else
+#endif
+ {
+ fwrite(embed_buffer, size, 1, outfile);
+ ret = 0;
+ }
+
+ /* Go back and write the length of the stream */
+ xref->slen = ftell(outfile) - xref->slen;
+ fseek(outfile, xref->slenp, SEEK_SET);
+ fprintf(outfile, "%lu", xref->slen);
+ fseek(outfile, 0L, SEEK_END);
+
+ fprintf(outfile, "endstream\n");
+ fprintf(outfile, "endobj\n");
+ fprintf(outfile, "\n");
+
+ free(embed_buffer);
+ }
+ else
+ {
+ DBG(DBG_info, "Embedding ICM profile \"%s\" to PDF: no mem\n", icm_filename);
+ fclose(icm_profile);
+ return -2;
+ }
+
+
+ DBG(DBG_info, "Embedding ICM profile \"%s\" to PDF file retuned with status %d\n", icm_filename, ret);
+ return ret;
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+void xsane_save_pdf_create_document_header(FILE *outfile, struct pdf_xref *xref, int pages, int flatedecode)
{
int i;
@@ -3126,7 +3755,7 @@ void xsane_save_pdf_create_document_header(FILE *outfile, struct pdf_xref *xref,
fprintf(outfile, " /Kids [\n");
for (i=0; i < pages; i++)
{
- fprintf(outfile, " %d 0 R\n", i * 2 + 4);
+ fprintf(outfile, " %d 0 R\n", i * 2 + 6);
}
fprintf(outfile, " ]\n");
fprintf(outfile, " /Count %d\n", pages);
@@ -3143,7 +3772,8 @@ static void xsane_save_pdf_create_page_header(FILE *outfile, struct pdf_xref *xr
float width, float height,
int paper_left_margin, int paper_bottom_margin,
int paper_width, int paper_height,
- int paper_orientation, int flatdecode,
+ int paper_orientation,
+ int flatedecode, int icc_object,
GtkProgressBar *progress_bar)
{
int position_left, position_bottom, box_left, box_bottom, box_right, box_top, depth;
@@ -3231,26 +3861,26 @@ static void xsane_save_pdf_create_page_header(FILE *outfile, struct pdf_xref *xr
depth = image_info->depth;
- if (depth > 8)
+ if (depth > 8) /* PDF does not support 16bits/sample in a standard image */
{
depth = 8;
}
- xref->obj[page * 2 + 2] = ftell(outfile);
- fprintf(outfile, "%d 0 obj\n", page * 2 + 2);
+ xref->obj[page * 2 + 4] = ftell(outfile);
+ fprintf(outfile, "%d 0 obj\n", page * 2 + 4);
fprintf(outfile, " << /Type /Page\n");
fprintf(outfile, " /Parent 3 0 R\n");
fprintf(outfile, " /MediaBox [%d %d %d %d]\n", box_left, box_bottom, box_right, box_top);
- fprintf(outfile, " /Contents %d 0 R\n", page * 2 + 3);
- fprintf(outfile, " /Resources << /ProcSet %d 0 R >>\n", page * 2 + 4);
+ fprintf(outfile, " /Contents %d 0 R\n", page * 2 + 5);
+ fprintf(outfile, " /Resources << /ProcSet %d 0 R >>\n", page * 2 + 6);
fprintf(outfile, " >>\n");
fprintf(outfile, "endobj\n");
fprintf(outfile, "\n");
/* Offset of object 5, for xref */
- xref->obj[page * 2 + 3] = ftell(outfile);
+ xref->obj[page * 2 + 5] = ftell(outfile);
- fprintf(outfile, "%d 0 obj\n", page * 2 + 3);
+ fprintf(outfile, "%d 0 obj\n", page * 2 + 5);
fprintf(outfile, " << /Length >>\n");
/* Position of the stream length, to be written later on */
@@ -3269,9 +3899,17 @@ static void xsane_save_pdf_create_page_header(FILE *outfile, struct pdf_xref *xr
fprintf(outfile, " /W %d\n", image_info->image_width);
fprintf(outfile, " /H %d\n", image_info->image_height);
- if (image_info->colors == 3) /* what about RGBA here ? */
+ if ((icc_object) && (image_info->depth != 1))
+ {
+ fprintf(outfile, " /ColorSpace [/ICCBased %d 0 R]\n", icc_object);
+ }
+
+ if (image_info->channels == 3) /* what about RGBA here ? */
{
- fprintf(outfile, " /CS /RGB\n");
+ if (icc_object == 0)
+ {
+ fprintf(outfile, " /CS /RGB\n");
+ }
fprintf(outfile, " /BPC %d\n", depth);
}
else if (image_info->depth == 1) /* BW */
@@ -3281,22 +3919,20 @@ static void xsane_save_pdf_create_page_header(FILE *outfile, struct pdf_xref *xr
}
else /* gray */
{
- fprintf(outfile, " /CS /G\n");
- fprintf(outfile, " /BPC 8\n");
+ if (icc_object == 0)
+ {
+ fprintf(outfile, " /CS /G\n");
+ }
+ fprintf(outfile, " /BPC %d\n", depth);
}
#ifdef HAVE_LIBZ
- if (flatdecode)
- {
- fprintf(outfile, " /F [/A85 /FlateDecode]\n");
- }
- else
+ if (flatedecode)
{
- fprintf(outfile, " /F /A85\n");
+ fprintf(outfile, " /F /FlateDecode\n");
}
-#else
- fprintf(outfile, " /F /A85\n");
#endif
+
fprintf(outfile, "ID\n");
}
@@ -3311,17 +3947,17 @@ void xsane_save_pdf_create_document_trailer(FILE *outfile, struct pdf_xref *xref
/* PDF document trailer */
/* Offset of object 6, for xref */
- xref->obj[pages * 2 + 4] = ftell(outfile);
+ xref->obj[pages * 2 + 6] = ftell(outfile);
- fprintf(outfile, "%d 0 obj\n", pages * 2 + 4);
+ fprintf(outfile, "%d 0 obj\n", pages * 2 + 6);
fprintf(outfile, " [/PDF]\n");
fprintf(outfile, "endobj\n");
fprintf(outfile, "\n");
/* Offset of object 7, for xref */
- xref->obj[pages * 2 + 5] = ftell(outfile);
+ xref->obj[pages * 2 + 7] = ftell(outfile);
- fprintf(outfile, "%d 0 obj\n", pages * 2 + 5);
+ fprintf(outfile, "%d 0 obj\n", pages * 2 + 7);
fprintf(outfile, " << /Title (XSane scanned image)\n");
fprintf(outfile, " /Creator (XSane version %s (sane %d.%d) - by Oliver Rauch)\n",
VERSION,
@@ -3342,19 +3978,19 @@ void xsane_save_pdf_create_document_trailer(FILE *outfile, struct pdf_xref *xref
xref->xref = ftell(outfile);
fprintf(outfile, "xref\n");
- fprintf(outfile, "0 %d\n", pages * 2 + 6);
+ fprintf(outfile, "0 %d\n", pages * 2 + 8);
fprintf(outfile, "0000000000 65535 f \n");
- for (i=1; i <= pages * 2 + 5; i++)
+ for (i=1; i <= pages * 2 + 7; i++)
{
fprintf(outfile, "%010lu 00000 n \n", xref->obj[i]);
}
fprintf(outfile, "\n");
fprintf(outfile, "trailer\n");
- fprintf(outfile, " << /Size %d\n", pages * 2 + 6);
+ fprintf(outfile, " << /Size %d\n", pages * 2 + 8);
fprintf(outfile, " /Root 1 0 R\n");
- fprintf(outfile, " /Info %d 0 R\n", pages * 2 + 5);
+ fprintf(outfile, " /Info %d 0 R\n", pages * 2 + 7);
fprintf(outfile, " >>\n");
fprintf(outfile, "startxref\n");
fprintf(outfile, "%lu\n", xref->xref);
@@ -3370,7 +4006,7 @@ static void xsane_save_pdf_create_page_trailer(FILE *outfile, struct pdf_xref *x
fprintf(outfile, "Q\n");
/* Go back and write the length of the stream */
- xref->slen = ftell(outfile) - xref->slen - 1;
+ xref->slen = ftell(outfile) - xref->slen; /* we had a "-1" at the end but I do not understand the reason for -1, without looks better */
fseek(outfile, xref->slenp, SEEK_SET);
fprintf(outfile, "%lu", xref->slen);
fseek(outfile, 0L, SEEK_END);
@@ -3385,7 +4021,8 @@ static void xsane_save_pdf_create_page_trailer(FILE *outfile, struct pdf_xref *x
int xsane_save_pdf_page(FILE *outfile, struct pdf_xref *xref, int page,
FILE *imagefile, Image_info *image_info, float width, float height,
int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
- int flatdecode,
+ int flatedecode,
+ cmsHTRANSFORM hTransform, int do_transform, int icc_object,
GtkProgressBar *progress_bar, int *cancel_save)
{
@@ -3394,23 +4031,23 @@ int xsane_save_pdf_page(FILE *outfile, struct pdf_xref *xref, int page,
xsane_save_pdf_create_page_header(outfile, xref, page,
image_info, width, height,
paper_left_margin, paper_bottom_margin, paperwidth, paperheight, paper_orientation,
- flatdecode,
+ flatedecode, icc_object,
progress_bar);
- if (image_info->colors == 1) /* lineart, halftone, grayscale */
+ if (image_info->channels == 1) /* lineart, halftone, grayscale */
{
if (image_info->depth == 1) /* lineart, halftone */
{
- xsane_save_ps_pdf_bw(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
+ xsane_save_ps_pdf_bw(outfile, imagefile, image_info, FALSE, flatedecode, progress_bar, cancel_save);
}
else /* grayscale */
{
- xsane_save_ps_pdf_gray(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
+ xsane_save_ps_pdf_gray(outfile, imagefile, image_info, FALSE, flatedecode, hTransform, do_transform, progress_bar, cancel_save);
}
}
else /* color RGB */
{
- xsane_save_ps_pdf_color(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
+ xsane_save_ps_pdf_color(outfile, imagefile, image_info, FALSE, flatedecode, hTransform, do_transform, progress_bar, cancel_save);
}
xsane_save_pdf_create_page_trailer(outfile, xref);
@@ -3432,21 +4069,33 @@ int xsane_save_pdf_page(FILE *outfile, struct pdf_xref *xref, int page,
int xsane_save_pdf(FILE *outfile, FILE *imagefile, Image_info *image_info, float width, float height,
int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
- int flatdecode,
+ int flatedecode,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function,
GtkProgressBar *progress_bar, int *cancel_save)
{
- struct pdf_xref xref;
+ struct pdf_xref xref;
+ int icc_object = 0;
DBG(DBG_proc, "xsane_save_pdf\n");
*cancel_save = 0;
- xsane_save_pdf_create_document_header(outfile, &xref, 1, flatdecode);
+ xsane_save_pdf_create_document_header(outfile, &xref, 1, flatedecode);
+
+ xref.obj[4] = ftell(outfile);
+ xref.obj[5] = ftell(outfile);
+
+ if (apply_ICM_profile && (cms_function == XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE))
+ {
+ icc_object = 4;
+ xsane_embed_pdf_icm_profile(outfile, &xref, image_info->icm_profile, flatedecode, icc_object);
+ }
xsane_save_pdf_page(outfile, &xref, 1,
imagefile, image_info, width, height,
paper_left_margin, paper_bottom_margin, paperwidth, paperheight, paper_orientation,
- flatdecode,
+ flatedecode,
+ hTransform, apply_ICM_profile && ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE)) /* do_transform */, icc_object,
progress_bar, cancel_save);
xsane_save_pdf_create_document_trailer(outfile, &xref, 1);
@@ -3465,8 +4114,8 @@ int xsane_save_pdf(FILE *outfile, FILE *imagefile, Image_info *image_info, float
}
/* ---------------------------------------------------------------------------------------------------------------------- */
-#ifdef HAVE_LIBJPEG
+#ifdef HAVE_LIBJPEG
typedef struct
{
struct jpeg_error_mgr pub;/* "public" fields */
@@ -3494,7 +4143,110 @@ static void xsane_jpeg_error_exit(j_common_ptr cinfo)
*xsane_jpeg_error_mgr_data->cancel_save = 1;
}
-int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int quality, GtkProgressBar *progress_bar, int *cancel_save)
+/* ---------------------------------------------------------- */
+
+#ifdef HAVE_LIBLCMS
+static void xsane_jpeg_write_icm_profile(j_compress_ptr cinfo_ptr, const JOCTET *icm_data_ptr, unsigned int icm_data_len)
+{
+#define ICM_MARKER (JPEG_APP0 + 2) /* JPEG marker code for ICM */
+#define ICM_OVERHEAD_LEN 14 /* size of non-profile data in APP2 */
+#define MAX_BYTES_IN_MARKER 65533 /* maximum data len of a JPEG marker */
+#define MAX_DATA_BYTES_IN_MARKER (MAX_BYTES_IN_MARKER - ICM_OVERHEAD_LEN)
+
+ unsigned int num_markers; /* total number of markers we'll write */
+ int cur_marker = 1; /* per spec, counting starts at 1 */
+ unsigned int length; /* number of bytes to write in this marker */
+
+ /* Calculate the number of markers we'll need, rounding up of course */
+ num_markers = icm_data_len / MAX_DATA_BYTES_IN_MARKER;
+ if (num_markers * MAX_DATA_BYTES_IN_MARKER != icm_data_len)
+ {
+ num_markers++;
+ }
+
+ while (icm_data_len > 0)
+ {
+ length = icm_data_len; /* length of profile to put in this marker */
+ if (length > MAX_DATA_BYTES_IN_MARKER)
+ {
+ length = MAX_DATA_BYTES_IN_MARKER;
+ }
+ icm_data_len -= length;
+
+ /* Write the JPEG marker header (APP2 code and marker length) */
+ jpeg_write_m_header(cinfo_ptr, ICM_MARKER, (unsigned int) (length + ICM_OVERHEAD_LEN));
+
+ /* Write the marker identifying string "ICC_PROFILE" (null-terminated).
+ * We code it in this less-than-transparent way so that the code works
+ * even if the local character set is not ASCII.
+ */
+ jpeg_write_m_byte(cinfo_ptr, 0x49);
+ jpeg_write_m_byte(cinfo_ptr, 0x43);
+ jpeg_write_m_byte(cinfo_ptr, 0x43);
+ jpeg_write_m_byte(cinfo_ptr, 0x5F);
+ jpeg_write_m_byte(cinfo_ptr, 0x50);
+ jpeg_write_m_byte(cinfo_ptr, 0x52);
+ jpeg_write_m_byte(cinfo_ptr, 0x4F);
+ jpeg_write_m_byte(cinfo_ptr, 0x46);
+ jpeg_write_m_byte(cinfo_ptr, 0x49);
+ jpeg_write_m_byte(cinfo_ptr, 0x4C);
+ jpeg_write_m_byte(cinfo_ptr, 0x45);
+ jpeg_write_m_byte(cinfo_ptr, 0x0);
+
+ /* Add the sequencing info */
+ jpeg_write_m_byte(cinfo_ptr, cur_marker);
+ jpeg_write_m_byte(cinfo_ptr, (int) num_markers);
+
+ /* Add the profile data */
+ while (length--)
+ {
+ jpeg_write_m_byte(cinfo_ptr, *icm_data_ptr);
+ icm_data_ptr++;
+ }
+ cur_marker++;
+ }
+}
+
+/* ---------------------------------------------------------- */
+
+static void xsane_jpeg_embed_scanner_icm_profile(j_compress_ptr cinfo_ptr, const char *icm_filename)
+{
+ FILE *icm_profile;
+ size_t size, embed_len;
+ LPBYTE embed_buffer;
+
+ DBG(DBG_proc, "xsane_jpeg_embed_scanner_icm_profile(%s)\n", icm_filename);
+
+ icm_profile = fopen(icm_filename, "rb");
+ if (icm_profile == NULL)
+ {
+ return;
+ }
+
+ fseek(icm_profile, 0, SEEK_END);
+ size = ftell(icm_profile);
+ fseek(icm_profile, 0, SEEK_SET);
+
+ embed_buffer = (LPBYTE) malloc(size + 1);
+ if (embed_buffer)
+ {
+ embed_len = fread(embed_buffer, 1, size, icm_profile);
+ fclose(icm_profile);
+ embed_buffer[embed_len] = 0;
+
+ xsane_jpeg_write_icm_profile(cinfo_ptr, embed_buffer, embed_len);
+ free(embed_buffer);
+
+ DBG(DBG_info, "ICM profile %s has been embedded to jpeg file\n", icm_filename);
+ }
+}
+#endif
+
+/* ---------------------------------------------------------- */
+
+int xsane_save_jpeg(FILE *outfile, int quality, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function,
+ GtkProgressBar *progress_bar, int *cancel_save)
{
unsigned char *data;
char buf[TEXTBUFSIZE];
@@ -3504,12 +4256,15 @@ int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int
struct jpeg_compress_struct cinfo;
xsane_jpeg_error_mgr jerr;
JSAMPROW row_pointer[1];
+#ifdef HAVE_LIBLCMS
+ unsigned char *data_raw = NULL;
+#endif
DBG(DBG_proc, "xsane_save_jpeg\n");
*cancel_save = 0;
- if (image_info->colors == 3)
+ if (image_info->channels == 3)
{
components = 3;
}
@@ -3528,6 +4283,24 @@ int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int
return -1; /* error */
}
+#ifdef HAVE_LIBLCMS
+ if (apply_ICM_profile && (cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && (hTransform != NULL))
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = malloc(image_info->image_width * components * bytespp);
+
+ if (!data_raw)
+ {
+ free(data);
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+ }
+#endif
+
cinfo.err = jpeg_std_error(&jerr.pub);
jerr.pub.error_exit = xsane_jpeg_error_exit;
jerr.cancel_save = cancel_save;
@@ -3537,7 +4310,7 @@ int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int
cinfo.image_width = image_info->image_width;
cinfo.image_height = image_info->image_height;
cinfo.input_components = components;
- if (image_info->colors == 3)
+ if (image_info->channels == 3)
{
cinfo.in_color_space = JCS_RGB;
}
@@ -3560,6 +4333,20 @@ int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int
jpeg_start_compress(&cinfo, TRUE);
+#ifdef HAVE_LIBLCMS
+ if (apply_ICM_profile)
+ {
+ if (cms_function == XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE)
+ {
+ xsane_jpeg_embed_scanner_icm_profile(&cinfo, image_info->icm_profile);
+ }
+ else if (cms_function == XSANE_CMS_FUNCTION_CONVERT_TO_WORKING_CS)
+ {
+ xsane_jpeg_embed_scanner_icm_profile(&cinfo, preferences.working_color_space_icm_profile);
+ }
+ }
+#endif
+
for (y = 0; y < image_info->image_height; y++)
{
gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
@@ -3596,7 +4383,18 @@ int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int
else if (image_info->depth > 8) /* jpeg does not support 16 bits/sample, so we reduce it at first */
{
guint16 *data16 = (guint16 *) data;
- fread(data, components * 2, image_info->image_width, imagefile);
+#ifdef HAVE_LIBLCMS
+ if (apply_ICM_profile && (cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && (hTransform != NULL))
+ {
+ fread(data_raw, components * 2, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(data, components * 2, image_info->image_width, imagefile);
+ }
+
for (x = 0; x < image_info->image_width * components; x++)
{
data[x] = data16[x] / 256;
@@ -3605,7 +4403,17 @@ int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int
}
else /* 8 bits/sample */
{
- fread(data, components, image_info->image_width, imagefile);
+#ifdef HAVE_LIBLCMS
+ if (apply_ICM_profile && (cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && (hTransform != NULL))
+ {
+ fread(data_raw, components, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(data, components, image_info->image_width, imagefile);
+ }
}
row_pointer[0] = data;
@@ -3619,6 +4427,13 @@ int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int
}
jpeg_finish_compress(&cinfo);
+
+#ifdef HAVE_LIBLCMS
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
free(data);
return (*cancel_save);
@@ -3628,9 +4443,58 @@ int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int
/* ---------------------------------------------------------------------------------------------------------------------- */
#ifdef HAVE_LIBTIFF
+#ifdef HAVE_LIBLCMS
+static void xsane_tiff_embed_scanner_icm_profile(TIFF *tiffile, const char *icm_filename)
+{
+ FILE *icm_profile;
+ size_t size;
+ char *icm_profile_buffer;
+
+ DBG(DBG_proc, "xsane_tiff_embed_scanner_icm_profile(%s)\n", icm_filename);
+ if((icm_profile = fopen(icm_filename, "rb")))
+ {
+ fseek(icm_profile, 0, SEEK_END);
+ size = ftell(icm_profile);
+ fseek(icm_profile, 0, SEEK_SET);
+
+ icm_profile_buffer = (char *) malloc(size + 1);
+
+ if (icm_profile_buffer)
+ {
+ if (fread(icm_profile_buffer, 1, size, icm_profile) == size)
+ {
+ icm_profile_buffer[size] = 0;
+
+ TIFFSetField(tiffile, TIFFTAG_ICCPROFILE, size, icm_profile_buffer);
+ }
+ else
+ {
+ DBG(DBG_error, "Can not read ICM profile data\n");
+ }
+
+ free(icm_profile_buffer);
+ }
+ else
+ {
+ DBG(DBG_error, "Can not get enogh memory for ICM profile\n");
+ }
+
+
+ fclose(icm_profile);
+ }
+ else
+ {
+ DBG(DBG_error, "Can not embed ICM profile\n");
+ }
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
/* pages = 0 => single page tiff, page = 0 */
/* pages > 0 => page = [1 .. pages] */
-int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Image_info *image_info, int quality,
+int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, int quality, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function,
GtkProgressBar *progress_bar, int *cancel_save)
{
char *data;
@@ -3641,6 +4505,9 @@ int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Im
int bytes;
struct tm *ptm;
time_t now;
+#ifdef HAVE_LIBLCMS
+ char *data_raw = NULL;
+#endif
DBG(DBG_proc, "xsane_save_tiff_page(%d/%d\n", page, pages);
@@ -3660,7 +4527,7 @@ int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Im
}
- if (image_info->colors == 3)
+ if (image_info->channels == 3)
{
components = 3;
}
@@ -3686,6 +4553,25 @@ int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Im
xsane_back_gtk_error(buf, TRUE);
return -1; /* error */
}
+
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && (hTransform != NULL))
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = (char *) malloc(image_info->image_width * components * bytes);
+
+ if (!data_raw)
+ {
+ _TIFFfree(data);
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+ }
+#endif
+
TIFFSetField(tiffile, TIFFTAG_IMAGEWIDTH, image_info->image_width);
TIFFSetField(tiffile, TIFFTAG_IMAGELENGTH, image_info->image_height);
@@ -3717,7 +4603,7 @@ int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Im
TIFFSetField(tiffile, TIFFTAG_JPEGQUALITY, quality);
}
- if (image_info->colors == 3)
+ if (image_info->channels == 3)
{
if (compression == COMPRESSION_JPEG)
{
@@ -3728,6 +4614,20 @@ int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Im
{
TIFFSetField(tiffile, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB);
}
+
+#ifdef HAVE_LIBLCMS
+ if (apply_ICM_profile)
+ {
+ if (cms_function == XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE)
+ {
+ xsane_tiff_embed_scanner_icm_profile(tiffile, image_info->icm_profile);
+ }
+ else if (cms_function == XSANE_CMS_FUNCTION_CONVERT_TO_WORKING_CS)
+ {
+ xsane_tiff_embed_scanner_icm_profile(tiffile, preferences.working_color_space_icm_profile);
+ }
+ }
+#endif
}
else
{
@@ -3760,7 +4660,17 @@ int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Im
gtk_main_iteration();
}
- fread(data, 1, w, imagefile);
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && (hTransform != NULL))
+ {
+ fread(data_raw, 1, w, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 1, w, imagefile);
+ }
if (TIFFWriteScanline(tiffile, data, y, 0) != 1)
{
@@ -3784,6 +4694,13 @@ int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Im
TIFFWriteDirectory(tiffile);
}
+#ifdef HAVE_LIBLCMS
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
+
_TIFFfree(data);
return (*cancel_save);
}
@@ -3791,9 +4708,60 @@ int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Im
/* ---------------------------------------------------------------------------------------------------------------------- */
+#if defined(PNG_iCCP_SUPPORTED)
+#ifdef HAVE_LIBLCMS
+static void xsane_png_embed_scanner_icm_profile(png_structp png_ptr, png_infop png_info_ptr, const char *icm_filename)
+{
+ FILE *icm_profile;
+ gchar *profile_buffer;
+ size_t size;
+
+ DBG(DBG_proc, "xsane_png_embed_scanner_icm_profile(%s)\n", icm_filename);
+ icm_profile = fopen(icm_filename, "rb");
+
+ if (icm_profile)
+ {
+ fseek(icm_profile, 0, SEEK_END);
+ size = ftell(icm_profile);
+ fseek(icm_profile, 0, SEEK_SET);
+
+ profile_buffer = malloc(size);
+
+ if (profile_buffer)
+ {
+ if (fread(profile_buffer, 1, size, icm_profile) == size)
+ {
+ png_set_iCCP(png_ptr, png_info_ptr, "ICC profile", 0, profile_buffer, size);
+ }
+ else
+ {
+ DBG(DBG_error, "can not read ICC profile data\n");
+ }
+
+ free(profile_buffer);
+ }
+ else
+ {
+ DBG(DBG_error, "can not allocate profile_buffer\n");
+ }
+
+ fclose(icm_profile);
+ }
+ else
+ {
+ DBG(DBG_error, "can not open ICM-profile\n");
+ }
+}
+#endif
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
#ifdef HAVE_LIBPNG
#ifdef HAVE_LIBZ
-int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int compression, GtkProgressBar *progress_bar, int *cancel_save)
+int xsane_save_png(FILE *outfile, int compression, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function,
+ GtkProgressBar *progress_bar, int *cancel_save)
{
png_structp png_ptr;
png_infop png_info_ptr;
@@ -3803,6 +4771,9 @@ int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int c
char buf[TEXTBUFSIZE];
int colortype, components, byte_width;
int y;
+#ifdef HAVE_LIBLCMS
+ unsigned char *data_raw = NULL;
+#endif
DBG(DBG_proc, "xsane_save_png\n");
@@ -3834,12 +4805,12 @@ int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int c
byte_width = image_info->image_width;
- if (image_info->colors == 4) /* RGBA */
+ if (image_info->channels == 4) /* RGBA */
{
components = 4;
colortype = PNG_COLOR_TYPE_RGB_ALPHA;
}
- else if (image_info->colors == 3) /* RGB */
+ else if (image_info->channels == 3) /* RGB */
{
components = 3;
colortype = PNG_COLOR_TYPE_RGB;
@@ -3855,13 +4826,13 @@ int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int c
png_set_IHDR(png_ptr, png_info_ptr, image_info->image_width, image_info->image_height, image_info->depth,
colortype, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
- if (image_info->colors >=3)
+ if (image_info->channels >=3)
{
sig_bit.red = image_info->depth;
sig_bit.green = image_info->depth;
sig_bit.blue = image_info->depth;
- if (image_info->colors == 4)
+ if (image_info->channels == 4)
{
sig_bit.alpha = image_info->depth;
}
@@ -3884,6 +4855,23 @@ int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int c
image_info->resolution_x * 100.0 / 2.54,
image_info->resolution_y * 100.0 / 2.54, PNG_RESOLUTION_METER);
#endif
+
+#if defined(PNG_iCCP_SUPPORTED)
+#ifdef HAVE_LIBLCMS
+ if (apply_ICM_profile)
+ {
+ if (cms_function == XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE)
+ {
+ xsane_png_embed_scanner_icm_profile(png_ptr, png_info_ptr, image_info->icm_profile);
+ }
+ else if (cms_function == XSANE_CMS_FUNCTION_CONVERT_TO_WORKING_CS)
+ {
+ xsane_png_embed_scanner_icm_profile(png_ptr, png_info_ptr, preferences.working_color_space_icm_profile);
+ }
+ }
+#endif
+#endif
+
png_write_info(png_ptr, png_info_ptr);
png_set_shift(png_ptr, &sig_bit);
@@ -3897,6 +4885,25 @@ int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int c
return -1; /* error */
}
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && (hTransform != NULL))
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = malloc(image_info->image_width * components);
+
+ if (!data_raw)
+ {
+ free(data);
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ png_destroy_write_struct(&png_ptr, (png_infopp) 0);
+ return -1; /* error */
+ }
+ }
+#endif
+
for (y = 0; y < image_info->image_height; y++)
{
gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
@@ -3905,7 +4912,17 @@ int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int c
gtk_main_iteration();
}
- fread(data, components, byte_width, imagefile);
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && (hTransform != NULL))
+ {
+ fread(data_raw, components, byte_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(data, components, byte_width, imagefile);
+ }
row_ptr = data;
png_write_rows(png_ptr, &row_ptr, 1); /* errors are caught by test sor setjmp(...) */
@@ -3916,6 +4933,12 @@ int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int c
}
}
+#ifdef HAVE_LIBLCMS
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
free(data);
png_write_end(png_ptr, png_info_ptr);
png_destroy_write_struct(&png_ptr, (png_infopp) 0);
@@ -3929,7 +4952,9 @@ int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int c
#ifdef HAVE_LIBPNG
#ifdef HAVE_LIBZ
-int xsane_save_png_16(FILE *outfile, FILE *imagefile, Image_info *image_info, int compression, GtkProgressBar *progress_bar, int *cancel_save)
+int xsane_save_png_16(FILE *outfile, int compression, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function,
+ GtkProgressBar *progress_bar, int *cancel_save)
{
png_structp png_ptr;
png_infop png_info_ptr;
@@ -3938,8 +4963,10 @@ int xsane_save_png_16(FILE *outfile, FILE *imagefile, Image_info *image_info, in
unsigned char *data;
char buf[TEXTBUFSIZE];
int colortype, components;
- int x,y;
- guint16 val;
+ int y;
+#ifdef HAVE_LIBLCMS
+ unsigned char *data_raw = NULL;
+#endif
DBG(DBG_proc, "xsane_save_png16\n");
@@ -3969,12 +4996,12 @@ int xsane_save_png_16(FILE *outfile, FILE *imagefile, Image_info *image_info, in
return -1; /* error */
}
- if (image_info->colors == 4) /* RGBA */
+ if (image_info->channels == 4) /* RGBA */
{
components = 4;
colortype = PNG_COLOR_TYPE_RGB_ALPHA;
}
- else if (image_info->colors == 3) /* RGB */
+ else if (image_info->channels == 3) /* RGB */
{
components = 3;
colortype = PNG_COLOR_TYPE_RGB;
@@ -3997,6 +5024,29 @@ int xsane_save_png_16(FILE *outfile, FILE *imagefile, Image_info *image_info, in
sig_bit.gray = image_info->depth;
png_set_sBIT(png_ptr, png_info_ptr, &sig_bit);
+
+#if defined(PNG_pHYs_SUPPORTED)
+ png_set_pHYs(png_ptr, png_info_ptr,
+ image_info->resolution_x * 100.0 / 2.54,
+ image_info->resolution_y * 100.0 / 2.54, PNG_RESOLUTION_METER);
+#endif
+
+#if defined(PNG_iCCP_SUPPORTED)
+#ifdef HAVE_LIBLCMS
+ if (apply_ICM_profile)
+ {
+ if (cms_function == XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE)
+ {
+ xsane_png_embed_scanner_icm_profile(png_ptr, png_info_ptr, image_info->icm_profile);
+ }
+ else if (cms_function == XSANE_CMS_FUNCTION_CONVERT_TO_WORKING_CS)
+ {
+ xsane_png_embed_scanner_icm_profile(png_ptr, png_info_ptr, preferences.working_color_space_icm_profile);
+ }
+ }
+#endif
+#endif
+
png_write_info(png_ptr, png_info_ptr);
png_set_shift(png_ptr, &sig_bit);
png_set_packing(png_ptr);
@@ -4011,6 +5061,25 @@ int xsane_save_png_16(FILE *outfile, FILE *imagefile, Image_info *image_info, in
return -1; /* error */
}
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && (hTransform != NULL))
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = malloc(image_info->image_width * components * 2);
+
+ if (!data_raw)
+ {
+ free(data);
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ png_destroy_write_struct(&png_ptr, (png_infopp) 0);
+ return -1; /* error */
+ }
+ }
+#endif
+
for (y = 0; y < image_info->image_height; y++)
{
gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
@@ -4019,13 +5088,34 @@ int xsane_save_png_16(FILE *outfile, FILE *imagefile, Image_info *image_info, in
gtk_main_iteration();
}
- for (x = 0; x < image_info->image_width * components; x++) /* this must be changed in dependance of endianess */
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && (hTransform != NULL))
+ {
+ fread(data_raw, components * 2, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
{
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- data[x*2+0] = val / 256; /* write data in network order (MSB first) */
- data[x*2+1] = val & 255;
+ fread(data, components * 2, image_info->image_width, imagefile);
}
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+ /* we have to write data in network order (MSB first), so when we run on a low endian machine then we have to swap bytes */
+ {
+ int x;
+
+ for (x = 0; x < image_info->image_width * components; x++)
+ {
+ unsigned char help;
+
+ help = data[x*2+1];
+ data[x*2+0] = data[x*2+1];
+ data[x*2+1] = help;
+ }
+ }
+#endif /* LITTLE_ENDIAN */
+
row_ptr = data;
png_write_rows(png_ptr, &row_ptr, 1);
if (*cancel_save)
@@ -4034,6 +5124,12 @@ int xsane_save_png_16(FILE *outfile, FILE *imagefile, Image_info *image_info, in
}
}
+#ifdef HAVE_LIBLCMS
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
free(data);
png_write_end(png_ptr, png_info_ptr);
png_destroy_write_struct(&png_ptr, (png_infopp) 0);
@@ -4045,22 +5141,69 @@ int xsane_save_png_16(FILE *outfile, FILE *imagefile, Image_info *image_info, in
/* ---------------------------------------------------------------------------------------------------------------------- */
-static int xsane_save_pnm_16_ascii_gray(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
+static int xsane_save_pnm_16_ascii_gray(FILE *outfile, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile,
+ GtkProgressBar *progress_bar, int *cancel_save)
{
int x,y;
- guint16 val;
+ guint16 *data;
int count = 0;
+#ifdef HAVE_LIBLCMS
+ guint16 *data_raw = NULL;
+#endif
DBG(DBG_proc, "xsane_save_pnm_16_ascii_gray\n");
*cancel_save = 0;
+ data = malloc(image_info->image_width * 2);
+
+ if (!data)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+
+#ifdef HAVE_LIBLCMS
+ if ((apply_ICM_profile) && (hTransform != NULL))
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = malloc(image_info->image_width * 2);
+
+ if (!data_raw)
+ {
+ char buf[TEXTBUFSIZE];
+
+ free(data);
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+ }
+#endif
+
for (y = 0; y < image_info->image_height; y++)
{
+#ifdef HAVE_LIBLCMS
+ if ((apply_ICM_profile) && (hTransform != NULL))
+ {
+ fread(data_raw, 2, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 2, image_info->image_width, imagefile);
+ }
+
for (x = 0; x < image_info->image_width; x++)
{
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fprintf(outfile, "%d ", val);
+ fprintf(outfile, "%d ", data[x]);
if (++count >= 10)
{
@@ -4068,6 +5211,7 @@ static int xsane_save_pnm_16_ascii_gray(FILE *outfile, FILE *imagefile, Image_in
count = 0;
}
}
+
fprintf(outfile, "\n");
if (ferror(outfile))
@@ -4094,33 +5238,85 @@ static int xsane_save_pnm_16_ascii_gray(FILE *outfile, FILE *imagefile, Image_in
}
}
+#ifdef HAVE_LIBLCMS
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
+ free(data);
+
return (*cancel_save);
}
/* ---------------------------------------------------------------------------------------------------------------------- */
-static int xsane_save_pnm_16_ascii_color(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
+static int xsane_save_pnm_16_ascii_color(FILE *outfile, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile,
+ GtkProgressBar *progress_bar, int *cancel_save)
{
int x,y;
- guint16 val;
+ guint16 *data;
int count = 0;
+#ifdef HAVE_LIBLCMS
+ guint16 *data_raw = NULL;
+#endif
DBG(DBG_proc, "xsane_save_pnm_16_ascii_color\n");
*cancel_save = 0;
- for (y = 0; y < image_info->image_height; y++)
+
+ data = malloc(image_info->image_width * 6);
+
+ if (!data)
{
- for (x = 0; x < image_info->image_width; x++)
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+
+#ifdef HAVE_LIBLCMS
+ if ((apply_ICM_profile) && (hTransform != NULL))
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = malloc(image_info->image_width * 6);
+
+ if (!data_raw)
{
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fprintf(outfile, "%d ", val);
+ char buf[TEXTBUFSIZE];
+
+ free(data);
- fread(&val, 2, 1, imagefile);
- fprintf(outfile, "%d ", val);
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+ }
+#endif
- fread(&val, 2, 1, imagefile);
- fprintf(outfile, "%d ", val);
+ for (y = 0; y < image_info->image_height; y++)
+ {
+#ifdef HAVE_LIBLCMS
+ if ((apply_ICM_profile) && (hTransform != NULL))
+ {
+ fread(data_raw, 6, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 6, image_info->image_width, imagefile);
+ }
+
+ for (x = 0; x < image_info->image_width; x++)
+ {
+ fprintf(outfile, "%d ", data[3*x+0]);
+ fprintf(outfile, "%d ", data[3*x+1]);
+ fprintf(outfile, "%d ", data[3*x+2]);
if (++count >= 3)
{
@@ -4155,27 +5351,82 @@ static int xsane_save_pnm_16_ascii_color(FILE *outfile, FILE *imagefile, Image_i
}
}
+#ifdef HAVE_LIBLCMS
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
+ free(data);
+
return (*cancel_save);
}
/* ---------------------------------------------------------------------------------------------------------------------- */
-static int xsane_save_pnm_16_binary_gray(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
+static int xsane_save_pnm_16_binary_gray(FILE *outfile, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile,
+ GtkProgressBar *progress_bar, int *cancel_save)
{
int x,y;
- guint16 val;
+ guint16 *data;
+#ifdef HAVE_LIBLCMS
+ guint16 *data_raw = NULL;
+#endif
DBG(DBG_proc, "xsane_save_pnm_16_binary_gray\n");
*cancel_save = 0;
+ data = malloc(image_info->image_width * 2);
+
+ if (!data)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = malloc(image_info->image_width * 2);
+
+ if (!data_raw)
+ {
+ char buf[TEXTBUFSIZE];
+
+ free(data);
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+ }
+#endif
+
for (y = 0; y < image_info->image_height; y++)
{
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ fread(data_raw, 2, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 2, image_info->image_width, imagefile);
+ }
+
for (x = 0; x < image_info->image_width; x++)
{
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fputc(val / 256, outfile); /* MSB fist */
- fputc(val & 255, outfile); /* LSB */
+ fputc(data[3*x+0] / 256, outfile);
+ fputc(data[3*x+0] & 255, outfile);
}
gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
@@ -4201,38 +5452,289 @@ static int xsane_save_pnm_16_binary_gray(FILE *outfile, FILE *imagefile, Image_i
}
}
+#ifdef HAVE_LIBLCMS
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
+ free(data);
+
return (*cancel_save);
}
/* ---------------------------------------------------------------------------------------------------------------------- */
-static int xsane_save_pnm_16_binary_color(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
+static int xsane_save_pnm_16_binary_color(FILE *outfile, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile,
+ GtkProgressBar *progress_bar, int *cancel_save)
{
int x,y;
- guint16 val;
+ guint16 *data;
+#ifdef HAVE_LIBLCMS
+ guint16 *data_raw = NULL;
+#endif
DBG(DBG_proc, "xsane_save_pnm_16_binary_color\n");
*cancel_save = 0;
+ data = malloc(image_info->image_width * 6);
+
+ if (!data)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = malloc(image_info->image_width * 6);
+
+ if (!data_raw)
+ {
+ char buf[TEXTBUFSIZE];
+
+ free(data);
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+ }
+#endif
+
for (y = 0; y < image_info->image_height; y++)
{
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ fread(data_raw, 6, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 6, image_info->image_width, imagefile);
+ }
+
for (x = 0; x < image_info->image_width; x++)
{
- /* red */
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fputc(val / 256, outfile); /* MSB fist */
- fputc(val & 255, outfile); /* LSB */
+ fputc(data[3*x+0] / 256, outfile);
+ fputc(data[3*x+0] & 255, outfile);
+ fputc(data[3*x+1] / 256, outfile);
+ fputc(data[3*x+1] & 255, outfile);
+ fputc(data[3*x+2] / 256, outfile);
+ fputc(data[3*x+2] & 255, outfile);
+ }
+
+ gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
+ while (gtk_events_pending())
+ {
+ gtk_main_iteration();
+ }
+
+
+ if (ferror(outfile))
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
+ DBG(DBG_error, "%s\n", buf);
+ xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
+ *cancel_save = 1;
+ break;
+ }
+
+ if (*cancel_save)
+ {
+ break;
+ }
+ }
+
+#ifdef HAVE_LIBLCMS
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
+ free(data);
+
+ return (*cancel_save);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static int xsane_save_pnm_8_gray(FILE *outfile, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile,
+ GtkProgressBar *progress_bar, int *cancel_save)
+{
+ int x,y;
+ guint8 *data;
+#ifdef HAVE_LIBLCMS
+ guint8 *data_raw = NULL;
+#endif
+
+ DBG(DBG_proc, "xsane_save_pnm_8_gray\n");
+
+ *cancel_save = 0;
+
+ data = malloc(image_info->image_width);
+
+ if (!data)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = malloc(image_info->image_width);
+
+ if (!data_raw)
+ {
+ char buf[TEXTBUFSIZE];
- /* green */
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fputc(val / 256, outfile); /* MSB fist */
- fputc(val & 255, outfile); /* LSB */
+ free(data);
- /* blue */
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fputc(val / 256, outfile); /* MSB fist */
- fputc(val & 255, outfile); /* LSB */
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+ }
+#endif
+
+ for (y = 0; y < image_info->image_height; y++)
+ {
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ fread(data_raw, 1, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 1, image_info->image_width, imagefile);
+ }
+
+ for (x = 0; x < image_info->image_width; x++)
+ {
+ fputc(data[x], outfile);
+ }
+
+ gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
+ while (gtk_events_pending())
+ {
+ gtk_main_iteration();
+ }
+
+
+ if (ferror(outfile))
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
+ DBG(DBG_error, "%s\n", buf);
+ xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
+ *cancel_save = 1;
+ break;
+ }
+
+ if (*cancel_save)
+ {
+ break;
+ }
+ }
+
+#ifdef HAVE_LIBLCMS
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
+ free(data);
+
+ return (*cancel_save);
+}
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static int xsane_save_pnm_8_color(FILE *outfile, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile,
+ GtkProgressBar *progress_bar, int *cancel_save)
+{
+ int x,y;
+ guint8 *data;
+#ifdef HAVE_LIBLCMS
+ guint8 *data_raw = NULL;
+#endif
+
+ DBG(DBG_proc, "xsane_save_pnm_8_color\n");
+
+ *cancel_save = 0;
+
+ data = malloc(image_info->image_width * 3);
+
+ if (!data)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = malloc(image_info->image_width * 3);
+
+ if (!data_raw)
+ {
+ char buf[TEXTBUFSIZE];
+
+ free(data);
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+ }
+#endif
+
+ for (y = 0; y < image_info->image_height; y++)
+ {
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ fread(data_raw, 3, image_info->image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info->image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 3, image_info->image_width, imagefile);
+ }
+
+ for (x = 0; x < image_info->image_width; x++)
+ {
+ fputc(data[3*x+0], outfile);
+ fputc(data[3*x+1], outfile);
+ fputc(data[3*x+2], outfile);
}
gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
@@ -4259,12 +5761,46 @@ static int xsane_save_pnm_16_binary_color(FILE *outfile, FILE *imagefile, Image_
}
}
+#ifdef HAVE_LIBLCMS
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
+ free(data);
+
+ return (*cancel_save);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static int xsane_save_pnm_8(FILE *outfile, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile,
+ GtkProgressBar *progress_bar, int *cancel_save)
+{
+ DBG(DBG_proc, "xsane_save_pnm_8\n");
+
+ *cancel_save = 0;
+
+ xsane_write_pnm_header(outfile, image_info, preferences.save_pnm16_as_ascii);
+
+ if (image_info->channels > 1)
+ {
+ xsane_save_pnm_8_color(outfile, imagefile, image_info, hTransform, apply_ICM_profile, progress_bar, cancel_save);
+ }
+ else
+ {
+ xsane_save_pnm_8_gray(outfile, imagefile, image_info, hTransform, apply_ICM_profile, progress_bar, cancel_save);
+ }
+
return (*cancel_save);
}
/* ---------------------------------------------------------------------------------------------------------------------- */
-int xsane_save_pnm_16(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
+int xsane_save_pnm_16(FILE *outfile, FILE *imagefile, Image_info *image_info,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile,
+ GtkProgressBar *progress_bar, int *cancel_save)
{
DBG(DBG_proc, "xsane_save_pnm_16\n");
@@ -4272,26 +5808,26 @@ int xsane_save_pnm_16(FILE *outfile, FILE *imagefile, Image_info *image_info, Gt
xsane_write_pnm_header(outfile, image_info, preferences.save_pnm16_as_ascii);
- if (image_info->colors > 1)
+ if (image_info->channels > 1)
{
if (preferences.save_pnm16_as_ascii)
{
- xsane_save_pnm_16_ascii_color(outfile, imagefile, image_info, progress_bar, cancel_save);
+ xsane_save_pnm_16_ascii_color(outfile, imagefile, image_info, hTransform, apply_ICM_profile, progress_bar, cancel_save);
}
else
{
- xsane_save_pnm_16_binary_color(outfile, imagefile, image_info, progress_bar, cancel_save);
+ xsane_save_pnm_16_binary_color(outfile, imagefile, image_info, hTransform, apply_ICM_profile, progress_bar, cancel_save);
}
}
else
{
if (preferences.save_pnm16_as_ascii)
{
- xsane_save_pnm_16_ascii_gray(outfile, imagefile, image_info, progress_bar, cancel_save);
+ xsane_save_pnm_16_ascii_gray(outfile, imagefile, image_info, hTransform, apply_ICM_profile, progress_bar, cancel_save);
}
else
{
- xsane_save_pnm_16_binary_gray(outfile, imagefile, image_info, progress_bar, cancel_save);
+ xsane_save_pnm_16_binary_gray(outfile, imagefile, image_info, hTransform, apply_ICM_profile, progress_bar, cancel_save);
}
}
@@ -4299,7 +5835,6 @@ int xsane_save_pnm_16(FILE *outfile, FILE *imagefile, Image_info *image_info, Gt
}
/* ---------------------------------------------------------------------------------------------------------------------- */
-/* ---------------------------------------------------------------------------------------------------------------------- */
/* 0=ok, <0=error, 1=canceled */
int xsane_save_image_as_lineart(char *output_filename, char *input_filename, GtkProgressBar *progress_bar, int *cancel_save)
@@ -4524,14 +6059,17 @@ int xsane_save_image_as_text(char *output_filename, char *input_filename, GtkPro
/* ---------------------------------------------------------------------------------------------------------------------- */
/* save image in destination file format. lineart images that are stored as grayscale image are reduced to lineart! */
-int xsane_save_image_as(char *output_filename, char *input_filename, int output_format, GtkProgressBar *progress_bar, int *cancel_save)
+int xsane_save_image_as(char *output_filename, char *input_filename, int output_format,
+ int apply_ICM_profile, int cms_function, int cms_intent, int cms_bpc,
+ GtkProgressBar *progress_bar, int *cancel_save)
{
FILE *outfile;
FILE *infile;
char buf[TEXTBUFSIZE];
Image_info image_info;
- char lineart_filename[PATH_MAX];
+ char temporary_filename[PATH_MAX];
int remove_input_file = FALSE;
+ cmsHTRANSFORM hTransform = NULL;
DBG(DBG_proc, "xsane_save_image_as(output_file=%s, input_file=%s, type=%d)\n", output_filename, input_filename, output_format);
@@ -4553,7 +6091,7 @@ int xsane_save_image_as(char *output_filename, char *input_filename, int output_
{
DBG(DBG_info, "original image is a lineart => reduce to lineart\n");
fclose(infile);
- xsane_back_gtk_make_path(sizeof(lineart_filename), lineart_filename, 0, 0, "xsane-conversion-", xsane.dev_name, ".pbm", XSANE_PATH_TMP);
+ xsane_back_gtk_make_path(sizeof(temporary_filename), temporary_filename, 0, 0, "xsane-conversion-", xsane.dev_name, ".pbm", XSANE_PATH_TMP);
snprintf(buf, sizeof(buf), "%s: %s", PROGRESS_PACKING_DATA, output_filename);
@@ -4565,9 +6103,9 @@ int xsane_save_image_as(char *output_filename, char *input_filename, int output_
gtk_main_iteration();
}
- xsane_save_image_as_lineart(lineart_filename, input_filename, progress_bar, cancel_save);
+ xsane_save_image_as_lineart(temporary_filename, input_filename, progress_bar, cancel_save);
- input_filename = lineart_filename;
+ input_filename = temporary_filename;
remove_input_file = TRUE;
infile = fopen(input_filename, "rb"); /* read binary (b for win32) */
@@ -4583,8 +6121,23 @@ int xsane_save_image_as(char *output_filename, char *input_filename, int output_
xsane_read_pnm_header(infile, &image_info);
}
- snprintf(buf, sizeof(buf), "%s: %s", PROGRESS_SAVING_DATA, output_filename);
+#ifdef HAVE_LIBLCMS
+ if (apply_ICM_profile && ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) || ((output_format == XSANE_PNM) || (output_format == XSANE_PNM16))))
+ {
+ hTransform = xsane_create_cms_transform(&image_info, cms_function, cms_intent, cms_bpc);
+ }
+#endif
+
+ if (1)
+ {
+ snprintf(buf, sizeof(buf), "%s: %s", PROGRESS_SAVING_DATA, output_filename);
+ }
+ else
+ {
+ snprintf(buf, sizeof(buf), "%s", PROGRESS_SAVING_DATA);
+ }
+ gtk_progress_bar_set_ellipsize(GTK_PROGRESS_BAR(progress_bar), PANGO_ELLIPSIZE_START); /* this is new API, can be removed for old GTK versions */
gtk_progress_set_format_string(GTK_PROGRESS(progress_bar), buf);
gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), 0.0);
@@ -4614,7 +6167,7 @@ int xsane_save_image_as(char *output_filename, char *input_filename, int output_
return -1; /* error */
}
- xsane_save_tiff_page(tiffile, 0, 0, infile, &image_info, preferences.jpeg_quality, progress_bar, cancel_save);
+ xsane_save_tiff_page(tiffile, 0, 0, preferences.jpeg_quality, infile, &image_info, hTransform, apply_ICM_profile, cms_function, progress_bar, cancel_save);
TIFFClose(tiffile);
}
@@ -4641,13 +6194,13 @@ int xsane_save_image_as(char *output_filename, char *input_filename, int output_
}
else
{
- xsane_copy_file(outfile, infile, progress_bar, cancel_save);
+ xsane_save_pnm_8(outfile, infile, &image_info, hTransform, apply_ICM_profile, progress_bar, cancel_save);
}
break;
#ifdef HAVE_LIBJPEG
case XSANE_JPEG:
- xsane_save_jpeg(outfile, infile, &image_info, preferences.jpeg_quality, progress_bar, cancel_save);
+ xsane_save_jpeg(outfile, preferences.jpeg_quality, infile, &image_info, hTransform, apply_ICM_profile, cms_function, progress_bar, cancel_save);
break; /* switch format == XSANE_JPEG */
#endif
@@ -4656,18 +6209,18 @@ int xsane_save_image_as(char *output_filename, char *input_filename, int output_
case XSANE_PNG:
if (image_info.depth <= 8)
{
- xsane_save_png(outfile, infile, &image_info, preferences.png_compression, progress_bar, cancel_save);
+ xsane_save_png(outfile, preferences.png_compression, infile, &image_info, hTransform, apply_ICM_profile, cms_function, progress_bar, cancel_save);
}
else
{
- xsane_save_png_16(outfile, infile, &image_info, preferences.png_compression, progress_bar, cancel_save);
+ xsane_save_png_16(outfile, preferences.png_compression, infile, &image_info, hTransform, apply_ICM_profile, cms_function, progress_bar, cancel_save);
}
break; /* switch format == XSANE_PNG */
#endif
#endif
case XSANE_PNM16:
- xsane_save_pnm_16(outfile, infile, &image_info, progress_bar, cancel_save);
+ xsane_save_pnm_16(outfile, infile, &image_info, hTransform, apply_ICM_profile, progress_bar, cancel_save);
break; /* switch fomat == XSANE_PNM16 */
case XSANE_PS: /* save postscript, use original size */
@@ -4685,7 +6238,11 @@ int xsane_save_image_as(char *output_filename, char *input_filename, int output_
(int) imagewidth, /* paper_width */
(int) imageheight, /* paper_height */
0 /* portrait top left */,
- preferences.save_ps_flatdecoded,
+ preferences.save_ps_flatedecoded,
+ hTransform, apply_ICM_profile,
+ (cms_function == XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE), image_info.icm_profile,
+ 0, NULL, 0, /* no CRD */
+ 0 /* intent */,
progress_bar,
cancel_save);
}
@@ -4706,7 +6263,8 @@ int xsane_save_image_as(char *output_filename, char *input_filename, int output_
(int) imagewidth, /* paper_width */
(int) imageheight, /* paper_height */
0 /* portrait top left */,
- preferences.save_pdf_flatdecoded,
+ preferences.save_pdf_flatedecoded,
+ hTransform, apply_ICM_profile, cms_function,
progress_bar,
cancel_save);
}
@@ -4771,6 +6329,13 @@ int xsane_save_image_as(char *output_filename, char *input_filename, int output_
fclose (infile);
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ cmsDeleteTransform(hTransform);
+ }
+#endif
+
if (remove_input_file)
{
remove(input_filename); /* remove lineart pbm file */
@@ -5098,8 +6663,9 @@ void null_print_func(gchar *msg)
}
/* ---------------------------------------------------------------------------------------------------------------------- */
+/* ---------------------------------------------------------------------------------------------------------------------- */
-int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, int *cancel_save)
+int xsane_transfer_to_gimp(char *input_filename, int apply_ICM_profile, int cms_function, GtkProgressBar *progress_bar, int *cancel_save)
{
int remaining;
size_t tile_size;
@@ -5114,6 +6680,13 @@ int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, i
int i, x, y;
Image_info image_info;
FILE *imagefile;
+ int bytes;
+ unsigned char *data = NULL;
+ guint16 *data16 = NULL;
+#ifdef HAVE_LIBLCMS
+ unsigned char *data_raw = NULL;
+ cmsHTRANSFORM hTransform = NULL;
+#endif
DBG(DBG_info, "xsane_transer_to_gimp\n");
@@ -5131,18 +6704,64 @@ int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, i
xsane_read_pnm_header(imagefile, &image_info);
+ if (image_info.depth == 16)
+ {
+ bytes = 2;
+ }
+ else
+ {
+ bytes = 1;
+ }
+
+ data = malloc(image_info.image_width * 3 * bytes);
+ data16 = (guint16 *) data;
+
+ if (!data)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && apply_ICM_profile && (image_info.depth != 1))
+ {
+ hTransform = xsane_create_cms_transform(&image_info, cms_function, preferences.cms_intent, preferences.cms_bpc);
+ }
+
+ if (hTransform != NULL)
+ {
+ DBG(DBG_info, "Doing CMS color conversion\n");
+
+ data_raw = malloc(image_info.image_width * 3 * bytes);
+
+ if (!data_raw)
+ {
+ char buf[TEXTBUFSIZE];
+
+ free(data);
+
+ snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1; /* error */
+ }
+ }
+#endif
+
x = 0;
y = 0;
tile_offset = 0;
tile_size = image_info.image_width * gimp_tile_height();
- if (image_info.colors == 3) /* RGB */
+ if (image_info.channels == 3) /* RGB */
{
tile_size *= 3; /* 24 bits/pixel RGB */
image_type = GIMP_RGB;
drawable_type = GIMP_RGB_IMAGE;
}
- else if (image_info.colors == 4) /* RGBA */
+ else if (image_info.channels == 4) /* RGBA */
{
tile_size *= 4; /* 32 bits/pixel RGBA */
image_type = GIMP_RGB;
@@ -5151,6 +6770,55 @@ int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, i
/* colors == 0/1 is predefined */
image_ID = gimp_image_new(image_info.image_width, image_info.image_height, image_type);
+
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_CONVERT_TO_SRGB) && apply_ICM_profile) /* embed profile */
+ {
+ GimpParasite *parasite;
+ FILE *icm_profile;
+ guchar *profile_buffer;
+ gint32 size;
+
+ DBG(DBG_error, "Opening ICM profile %s\n", image_info.icm_profile);
+ icm_profile = fopen(image_info.icm_profile, "rb");
+
+ if (icm_profile)
+ {
+ fseek(icm_profile, 0, SEEK_END);
+ size = ftell(icm_profile);
+ fseek(icm_profile, 0, SEEK_SET);
+
+ profile_buffer = malloc(size);
+
+ if (profile_buffer)
+ {
+ if (fread(profile_buffer, 1, size, icm_profile) == size)
+ {
+ parasite = gimp_parasite_new("icc-profile", 0, size, profile_buffer);
+ gimp_image_parasite_attach(image_ID, parasite);
+ gimp_parasite_free(parasite);
+ }
+ else
+ {
+ DBG(DBG_error, "can not read profile data\n");
+ }
+
+ free(profile_buffer);
+ }
+ else
+ {
+ DBG(DBG_error, "can not allocate profile_buffer\n");
+ }
+
+ fclose(icm_profile);
+ }
+ else
+ {
+ DBG(DBG_error, "can not open ICM-profile\n");
+ }
+ }
+#endif
+
/* the following is supported since gimp-1.1.? */
#ifdef GIMP_HAVE_RESOLUTION_INFO
@@ -5168,7 +6836,7 @@ int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, i
tile = g_new(guchar, tile_size);
- if (image_info.colors == 1) /* gray */
+ if (image_info.channels == 1) /* gray */
{
switch (image_info.depth)
{
@@ -5217,30 +6885,79 @@ int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, i
break; /* leave switch depth 1 */
case 8: /* 8 bit gray */
- case 16: /* 16 bit gray already has been reduced to 8 bit */
- for (i = 0; i < image_info.image_width * image_info.image_height; ++i)
+ for (y = 1; y <= image_info.image_height; y++)
{
- tile[tile_offset++] = fgetc(imagefile);
- x++;
+ int tile_height = gimp_tile_height();
- if (x >= image_info.image_width)
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && apply_ICM_profile && (hTransform != NULL))
{
- int tile_height = gimp_tile_height();
+ fread(data_raw, 1, image_info.image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info.image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 1, image_info.image_width, imagefile);
+ }
- x = 0;
- y++;
+ for (x = 0; x < image_info.image_width; x++)
+ {
+ tile[tile_offset++] = data[x];
+ }
- if (y % tile_height == 0)
- {
- gimp_pixel_rgn_set_rect(&region, tile, 0, y - tile_height, image_info.image_width, tile_height);
- tile_offset = 0;
- }
+ if (y % tile_height == 0)
+ {
+ gimp_pixel_rgn_set_rect(&region, tile, 0, y - tile_height, image_info.image_width, tile_height);
+ tile_offset = 0;
+ }
- gtk_progress_bar_update(progress_bar, (float) y / image_info.image_height); /* update progress bar */
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
+ gtk_progress_bar_update(progress_bar, (float) y / image_info.image_height); /* update progress bar */
+ while (gtk_events_pending())
+ {
+ gtk_main_iteration();
+ }
+
+ if (*cancel_save)
+ {
+ break;
+ }
+ }
+ break; /* case 8 */
+
+
+ case 16: /* 16 bit gray has to be reduced to 8 bit */
+ for (y = 1; y <= image_info.image_height; y++)
+ {
+ int tile_height = gimp_tile_height();
+
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && apply_ICM_profile && (hTransform != NULL))
+ {
+ fread(data_raw, 2, image_info.image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info.image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 2, image_info.image_width, imagefile);
+ }
+
+ for (x = 0; x < image_info.image_width; x++)
+ {
+ tile[tile_offset++] = data16[x]/256;
+ }
+
+ if (y % tile_height == 0)
+ {
+ gimp_pixel_rgn_set_rect(&region, tile, 0, y - tile_height, image_info.image_width, tile_height);
+ tile_offset = 0;
+ }
+
+ gtk_progress_bar_update(progress_bar, (float) y / image_info.image_height); /* update progress bar */
+ while (gtk_events_pending())
+ {
+ gtk_main_iteration();
}
if (*cancel_save)
@@ -5248,44 +6965,51 @@ int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, i
break;
}
}
- break; /* leave switch depth */
+ break; /* case 16 */
default: /* bad depth */
break; /* default */
}
}
- else if (image_info.colors == 3) /* RGB */
+ else if (image_info.channels == 3) /* RGB */
{
switch (image_info.depth)
{
case 8: /* 8 bit RGB */
- case 16: /* 16 bit RGB already has been reduced to 8 bit */
- for (i = 0; i < image_info.image_width * image_info.image_height*3; ++i)
+
+ for (y = 1; y <= image_info.image_height; y++)
{
- tile[tile_offset++] = fgetc(imagefile);
- if (tile_offset % 3 == 0)
- {
- x++;
+ int tile_height = gimp_tile_height();
- if (x >= image_info.image_width)
- {
- int tile_height = gimp_tile_height();
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && apply_ICM_profile && (hTransform != NULL))
+ {
+ fread(data_raw, 3, image_info.image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info.image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 3, image_info.image_width, imagefile);
+ }
- x = 0;
- y++;
+ for (x = 0; x < image_info.image_width; x++)
+ {
+ tile[tile_offset++] = data[3*x+0];
+ tile[tile_offset++] = data[3*x+1];
+ tile[tile_offset++] = data[3*x+2];
+ }
- if (y % tile_height == 0)
- {
- gimp_pixel_rgn_set_rect(&region, tile, 0, y - tile_height, image_info.image_width, tile_height);
- tile_offset = 0;
- }
+ if (y % tile_height == 0)
+ {
+ gimp_pixel_rgn_set_rect(&region, tile, 0, y - tile_height, image_info.image_width, tile_height);
+ tile_offset = 0;
+ }
- gtk_progress_bar_update(progress_bar, (float) y / image_info.image_height); /* update progress bar */
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
- }
+ gtk_progress_bar_update(progress_bar, (float) y / image_info.image_height); /* update progress bar */
+ while (gtk_events_pending())
+ {
+ gtk_main_iteration();
}
if (*cancel_save)
@@ -5295,12 +7019,57 @@ int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, i
}
break; /* case 8 */
+
+ case 16: /* 16 bit RGB has to be reduced to 8 bit */
+
+ for (y = 1; y <= image_info.image_height; y++)
+ {
+ int tile_height = gimp_tile_height();
+
+#ifdef HAVE_LIBLCMS
+ if ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE) && apply_ICM_profile && (hTransform != NULL))
+ {
+ fread(data_raw, 6, image_info.image_width, imagefile);
+ cmsDoTransform(hTransform, data_raw, data, image_info.image_width);
+ }
+ else
+#endif
+ {
+ fread(data, 6, image_info.image_width, imagefile);
+ }
+
+ for (x = 0; x < image_info.image_width; x++)
+ {
+ tile[tile_offset++] = data16[3*x+0]/256;
+ tile[tile_offset++] = data16[3*x+1]/256;
+ tile[tile_offset++] = data16[3*x+2]/256;
+ }
+
+ if (y % tile_height == 0)
+ {
+ gimp_pixel_rgn_set_rect(&region, tile, 0, y - tile_height, image_info.image_width, tile_height);
+ tile_offset = 0;
+ }
+
+ gtk_progress_bar_update(progress_bar, (float) y / image_info.image_height); /* update progress bar */
+ while (gtk_events_pending())
+ {
+ gtk_main_iteration();
+ }
+
+ if (*cancel_save)
+ {
+ break;
+ }
+ }
+ break; /* case 16 */
+
default: /* bad depth */
break; /* default */
}
}
#ifdef SUPPORT_RGBA
- else if (image_info.colors == 4) /* RGBA */
+ else if (image_info.channels == 4) /* RGBA */
{
int i;
@@ -5370,6 +7139,19 @@ int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, i
fclose(imagefile);
+#ifdef HAVE_LIBLCMS
+ if (hTransform != NULL)
+ {
+ cmsDeleteTransform(hTransform);
+ }
+
+ if (data_raw)
+ {
+ free(data_raw);
+ }
+#endif
+ free(data);
+
return 0;
}
#endif /* HAVE_ANY_GIMP */
@@ -5414,7 +7196,7 @@ static void write_3chars_as_base64(unsigned char c1, unsigned char c2, unsigned
/* ---------------------------------------------------------------------------------------------------------------------- */
-void write_string_base64(int fd_socket, unsigned char *string, int len)
+void write_string_base64(int fd_socket, char *string, int len)
{
int i;
int pad;
@@ -5422,9 +7204,9 @@ void write_string_base64(int fd_socket, unsigned char *string, int len)
for (i = 0; i < len; i+=3)
{
- c1 = string[i];
- c2 = string[i+1];
- c3 = string[i+2];
+ c1 = (unsigned char) string[i];
+ c2 = (unsigned char) string[i+1];
+ c3 = (unsigned char) string[i+2];
pad = i - len + 3;
@@ -5477,7 +7259,7 @@ void write_base64(int fd_socket, FILE *infile)
pos += 4;
if (pos > 71)
{
- write(fd_socket, "\n", 1);
+ write(fd_socket, "\r\n", 2);
pos = 0;
}
@@ -5492,7 +7274,7 @@ void write_base64(int fd_socket, FILE *infile)
if (pos)
{
- write(fd_socket, "\n", 1);
+ write(fd_socket, "\r\n", 2);
}
xsane.email_progress_val = 1.0;
@@ -5505,33 +7287,33 @@ void write_email_header(int fd_socket, char *from, char *reply_to, char *to, cha
{
char buf[1024];
- snprintf(buf, sizeof(buf), "From: %s\n", from);
+ snprintf(buf, sizeof(buf), "From: %s\r\n", from);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Reply-To: %s\n", reply_to);
+ snprintf(buf, sizeof(buf), "Reply-To: %s\r\n", reply_to);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "To: %s\n", to);
+ snprintf(buf, sizeof(buf), "To: %s\r\n", to);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Subject: %s\n", subject);
+ snprintf(buf, sizeof(buf), "Subject: %s\r\n", subject);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "MIME-Version: 1.0\n");
+ snprintf(buf, sizeof(buf), "MIME-Version: 1.0\r\n");
write(fd_socket, buf, strlen(buf));
if (related) /* related means that we need a special link in the html part to display the image */
{
- snprintf(buf, sizeof(buf), "Content-Type: multipart/related;\n");
+ snprintf(buf, sizeof(buf), "Content-Type: multipart/related;\r\n");
write(fd_socket, buf, strlen(buf));
}
else
{
- snprintf(buf, sizeof(buf), "Content-Type: multipart/mixed;\n");
+ snprintf(buf, sizeof(buf), "Content-Type: multipart/mixed;\r\n");
write(fd_socket, buf, strlen(buf));
}
- snprintf(buf, sizeof(buf), " boundary=\"%s\"\n\n", boundary);
+ snprintf(buf, sizeof(buf), " boundary=\"%s\"\r\n\r\n", boundary);
write(fd_socket, buf, strlen(buf));
}
@@ -5541,7 +7323,7 @@ void write_email_footer(int fd_socket, char *boundary)
{
char buf[1024];
- snprintf(buf, sizeof(buf), "--%s--\n", boundary);
+ snprintf(buf, sizeof(buf), "--%s--\r\n", boundary);
write(fd_socket, buf, strlen(buf));
}
@@ -5551,16 +7333,16 @@ void write_email_mime_ascii(int fd_socket, char *boundary)
{
char buf[1024];
- snprintf(buf, sizeof(buf), "--%s\n", boundary);
+ snprintf(buf, sizeof(buf), "--%s\r\n", boundary);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Content-Type: text/plain;\n");
+ snprintf(buf, sizeof(buf), "Content-Type: text/plain;\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), " charset=\"iso-8859-1\"\n");
+ snprintf(buf, sizeof(buf), " charset=\"iso-8859-1\"\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: 8bit\n\n");
+ snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: 8bit\r\n\r\n");
write(fd_socket, buf, strlen(buf));
}
@@ -5570,22 +7352,22 @@ void write_email_mime_html(int fd_socket, char *boundary)
{
char buf[1024];
- snprintf(buf, sizeof(buf), "--%s\n", boundary);
+ snprintf(buf, sizeof(buf), "--%s\r\n", boundary);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Content-Type: text/html;\n");
+ snprintf(buf, sizeof(buf), "Content-Type: text/html;\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), " charset=\"us-ascii\"\n");
+ snprintf(buf, sizeof(buf), " charset=\"us-ascii\"\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: 7bit\n\n");
+ snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: 7bit\r\n\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\n");
+ snprintf(buf, sizeof(buf), "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "<html>\n");
+ snprintf(buf, sizeof(buf), "<html>\r\n");
write(fd_socket, buf, strlen(buf));
}
@@ -5595,28 +7377,28 @@ void write_email_attach_image(int fd_socket, char *boundary, char *content_id, c
{
char buf[1024];
- snprintf(buf, sizeof(buf), "--%s\n", boundary);
+ snprintf(buf, sizeof(buf), "--%s\r\n", boundary);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Content-Type: %s\n", content_type);
+ snprintf(buf, sizeof(buf), "Content-Type: %s\r\n", content_type);
write(fd_socket, buf, strlen(buf));
if (content_id)
{
- snprintf(buf, sizeof(buf), "Content-ID: <%s>\n", content_id);
+ snprintf(buf, sizeof(buf), "Content-ID: <%s>\r\n", content_id);
write(fd_socket, buf, strlen(buf));
}
- snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: base64\n");
+ snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: base64\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Content-Disposition: inline;\n");
+ snprintf(buf, sizeof(buf), "Content-Disposition: inline;\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), " filename=\"%s\"\n", filename);
+ snprintf(buf, sizeof(buf), " filename=\"%s\"\r\n", filename);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "\n");
+ snprintf(buf, sizeof(buf), "\r\n");
write(fd_socket, buf, strlen(buf));
write_base64(fd_socket, infile);
@@ -5628,25 +7410,25 @@ void write_email_attach_file(int fd_socket, char *boundary, FILE *infile, char *
{
char buf[1024];
- snprintf(buf, sizeof(buf), "--%s\n", boundary);
+ snprintf(buf, sizeof(buf), "--%s\r\n", boundary);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Content-Type: application/octet-stream\n");
+ snprintf(buf, sizeof(buf), "Content-Type: application/octet-stream\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), " name=\"%s\"\n", filename);
+ snprintf(buf, sizeof(buf), " name=\"%s\"\r\n", filename);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: base64\n");
+ snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: base64\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "Content-Disposition: attachment;\n");
+ snprintf(buf, sizeof(buf), "Content-Disposition: attachment;\r\n");
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), " filename=\"%s\"\n", filename);
+ snprintf(buf, sizeof(buf), " filename=\"%s\"\r\n", filename);
write(fd_socket, buf, strlen(buf));
- snprintf(buf, sizeof(buf), "\n");
+ snprintf(buf, sizeof(buf), "\r\n");
write(fd_socket, buf, strlen(buf));
write_base64(fd_socket, infile);
diff --git a/src/xsane-save.c.orig b/src/xsane-save.c.orig
deleted file mode 100644
index a495e1c..0000000
--- a/src/xsane-save.c.orig
+++ /dev/null
@@ -1,5801 +0,0 @@
-/* xsane -- a graphical (X11, gtk) scanner-oriented SANE frontend
-
- xsane-save.c
-
- Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
- This file is part of the XSANE package.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-#include "xsane.h"
-#include "xsane-back-gtk.h"
-#include "xsane-front-gtk.h"
-#include <time.h>
-#include <sys/wait.h>
-
-/* the following test is always false */
-#ifdef _native_WIN32
-# include <winsock.h>
-#else
-# include <sys/socket.h>
-# include <netinet/in.h>
-# include <netdb.h>
-#endif
-
-#ifdef HAVE_LIBJPEG
-#include <jpeglib.h>
-#endif
-
-#ifdef HAVE_LIBZ
-#include <zlib.h>
-#endif
-
-#ifdef HAVE_LIBPNG
-#include <png.h>
-#endif
-
-#ifdef HAVE_LIBTIFF
-#include <tiffio.h>
-#endif
-
-#ifdef HAVE_MMAP
-#include <sys/mman.h>
-#endif
-
-#ifdef HAVE_OS2_H
-#include <process.h>
-#endif
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-#ifdef HAVE_ANY_GIMP
-
-#include <libgimp/gimp.h>
-
-static void xsane_gimp_query(void);
-#ifdef HAVE_GIMP_2
-static void xsane_gimp_run(const gchar *name, gint nparams, const GimpParam *param, gint *nreturn_vals, GimpParam **return_vals);
-#else
-static void xsane_gimp_run(char *name, int nparams, GimpParam *param, int *nreturn_vals, GimpParam **return_vals);
-#endif
-
-GimpPlugInInfo PLUG_IN_INFO =
-{
- NULL, /* init_proc */
- NULL, /* quit_proc */
- xsane_gimp_query, /* query_proc */
- xsane_gimp_run, /* run_proc */
-};
-
-
-static int xsane_decode_devname(const char *encoded_devname, int n,
-char *buf);
-static int xsane_encode_devname(const char *devname, int n, char *buf);
-void null_print_func(gchar *msg);
-
-#endif /* HAVE_ANY_GIMP */
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-/* why this routine ?
- Problem: link attack
- Bad user wants to overwrite a file (mywork.txt) of good user.
- File permissions of mywork.txt is 700 so that bad user can not
- change or overwrite the file. Directory permissions allow bad user
- to write into directory. Bad user sets symlink from a file that good
- user will write soon (image.pnm) to mywork.txt.
- ==> Good user overwrites his own file, he is allowed to do so.
-
- Solution: remove file.
- Create outputfile and make sure that it does not exist while creation.
-
- The file is created with the requested image-file permissions.
-
- Note: This case is a bit curious because it is only a small part of a larger problem:
- When other users have write access to the directory they simply can move
- mywork.txt to image.pnm. If they do it in the right moment the file is
- overwritten without any notice of good user. If they do it long before xsane
- wants to write image.pnm then xsane will possibly ask if image.pnm shall be
- overwritten. So the real solution is to make the direcoty permissions safe!!!
- But some users asked for this and so I added this.
-
-
- This routine shall not be called for temporary files because temp files shall not
- be removed after they have been created safe. (Although a temporary file should
- not be a symlink so there should be no problem with this)
-*/
-
-int xsane_create_secure_file(const char *filename)
-/* returns 0 on success, -1 on error */
-{
- int fd;
-
- DBG(DBG_proc, "xsane_create_secure_file\n");
-
- remove(filename); /* we need to remove the file because open(..., O_EXCL) will fail otherwise */
- umask((mode_t) preferences.image_umask); /* define image file permissions */
- fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0666);
- umask(XSANE_DEFAULT_UMASK); /* define new file permissions */
-
- if (fd > 0)
- {
- DBG(DBG_info, "file %s is created and secure\n", filename);
- close(fd);
- fd = 0;
- }
- else
- {
- DBG(DBG_info, "could not create secure file %s\n", filename);
- }
-
- return fd; /* -1 means file is not safe !!! otherwise 0 */
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void xsane_cancel_save(int *cancel_save)
-{
- DBG(DBG_proc, "xsane_cancel_save\n");
- *cancel_save = 1;
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void xsane_convert_text_to_filename(char **text)
-{
- DBG(DBG_proc, "xsane_convert_text_to_filename\n");
-
- if (text)
- {
- char *filename = *text;
- char buf[256];
- int buflen=0;
- int txtlen=0;
-
- while((filename[txtlen] != 0) && (buflen<253))
- {
- switch (filename[txtlen])
- {
- case ' ':
- buf[buflen++] = ':';
- buf[buflen++] = '_';
- txtlen++;
- break;
-
- case '/':
- buf[buflen++] = ':';
- buf[buflen++] = '%';
- txtlen++;
- break;
-
- case '*':
- buf[buflen++] = ':';
- buf[buflen++] = '#';
- txtlen++;
- break;
-
- case '?':
- buf[buflen++] = ':';
- buf[buflen++] = 'q';
- txtlen++;
- break;
-
- case '\\':
- buf[buflen++] = ':';
- buf[buflen++] = '=';
- txtlen++;
- break;
-
- case ';':
- buf[buflen++] = ':';
- buf[buflen++] = '!';
- txtlen++;
- break;
-
- case '&':
- buf[buflen++] = ':';
- buf[buflen++] = '+';
- txtlen++;
- break;
-
- case '<':
- buf[buflen++] = ':';
- buf[buflen++] = 's';
- txtlen++;
- break;
-
- case '>':
- buf[buflen++] = ':';
- buf[buflen++] = 'g';
- txtlen++;
- break;
-
- case '|':
- buf[buflen++] = ':';
- buf[buflen++] = 'p';
- txtlen++;
- break;
-
- case ':':
- buf[buflen++] = ':';
- buf[buflen++] = ':';
- txtlen++;
- break;
-
- default:
- buf[buflen++] = filename[txtlen++];
- break;
- }
- }
- buf[buflen] = 0;
- free(filename);
- *text = strdup(buf);
- DBG(DBG_info, "filename = \"%s\"\n", *text);
- }
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_get_filesize(char *filename)
-{
- FILE *infile;
- int pos;
- int size;
-
- infile = fopen(filename, "rb"); /* read binary (b for win32) */
- if (infile == NULL)
- {
- return 0;
- }
-
- pos = ftell(infile);
- fseek(infile, 0, SEEK_END); /* get size */
- size = ftell(infile);
- fseek(infile, pos, SEEK_SET); /* go to previous position */
-
- fclose(infile);
-
- return size;
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void xsane_ensure_counter_in_filename(char **filename, int counter_len)
-{
- char *position_point = NULL;
- char *position;
- int counter = 1;
-
- DBG(DBG_proc, "xsane_ensure_counter_in_filename\n");
-
- if (!counter_len)
- {
- counter_len = 1;
- }
-
- position_point = strrchr(*filename, '.');
-
- if (!position_point) /* nothing usable ? */
- {
- position_point = *filename + strlen(*filename); /* position_point - 1 is last character */
- }
-
- if (position_point)
- {
- position = position_point-1;
- if ( (position < *filename) || (*position < '0') || (*position >'9') ) /* we have no counter */
- {
- char buf[PATH_MAX];
- int len;
-
- len = position_point - (*filename); /* length until "." or end of string */
- strncpy(buf, *filename, len);
- snprintf(buf+len, sizeof(buf)-len, "-%0*d%s", counter_len, counter, position_point);
- *filename = strdup(buf);
- }
- }
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void xsane_update_counter_in_filename(char **filename, int skip, int step, int min_counter_len)
-{
- FILE *testfile;
- char *position_point = NULL;
- char *position_counter;
- char buf[PATH_MAX];
- int counter;
- int counter_len;
- int set_counter_len = min_counter_len;
-
- DBG(DBG_proc, "xsane_update_counter_in_filename\n");
-
- if ( (!step) && (!min_counter_len) )
- {
- return; /* do not touch counter */
- }
-
- while (1) /* loop because we may have to skip existing files */
- {
- position_point = strrchr(*filename, '.');
-
- if (!position_point) /* nothing usable ? */
- {
- position_point = *filename + strlen(*filename); /* here is no point, but position - 1 is last character */
- }
-
- if (position_point)
- {
- position_counter = position_point-1; /* go to last number of counter (if counter exists) */
-
- /* search non numeric char */
- while ( (position_counter >= *filename) && (*position_counter >= '0') && (*position_counter <='9') )
- {
- position_counter--; /* search fisrt numeric character */
- }
-
- position_counter++; /* go to first numeric charcter */
-
- counter_len = position_point - position_counter;
-
- if (counter_len) /* we have a counter */
- {
- sscanf(position_counter, "%d", &counter);
- counter = counter + step; /* update counter */
-
- if (counter < 0)
- {
- counter = 0;
- xsane_back_gtk_warning(WARN_COUNTER_UNDERRUN, TRUE);
- break; /* last available number ("..999") */
- }
-
- *position_counter = 0; /* set end of string mark to counter start */
-
- if (set_counter_len == 0)
- {
- set_counter_len = counter_len;
- }
-
- snprintf(buf, sizeof(buf), "%s%0*d%s", *filename, set_counter_len, counter, position_point);
-
- DBG(DBG_info, "filename = \"%s\"\n", buf);
-
- free(*filename);
- *filename = strdup(buf);
-
- if (skip) /* test if filename already used */
- {
- if (preferences.filetype) /* add filetype to filename */
- {
- snprintf(buf, sizeof(buf), "%s%s", *filename, preferences.filetype);
- testfile = fopen(buf, "rb"); /* read binary (b for win32) */
- }
- else /* filetype in filename */
- {
- testfile = fopen(*filename, "rb"); /* read binary (b for win32) */
- }
-
- if (testfile) /* filename used: skip */
- {
- fclose(testfile);
- }
- else
- {
- break; /* filename not used, ok */
- }
- }
- else /* do not test if filename already used */
- {
- break; /* filename ok */
- }
- }
- else /* no counter */
- {
- break; /* no counter */
- }
- }
- }
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void xsane_read_pnm_header(FILE *file, Image_info *image_info)
-{
- int max_val, filetype_nr;
- char buf[256];
-
- fgets(buf, sizeof(buf)-1, file);
- DBG(DBG_info, "filetype header :%s", buf);
-
- if (buf[0] == 'P')
- {
- filetype_nr = atoi(buf+1); /* get filetype number */
-
- image_info->resolution_x = 72.0;
- image_info->resolution_y = 72.0;
- image_info->reduce_to_lineart = FALSE;
-
- while (strcmp(buf, "# XSANE data follows\n"))
- {
- fgets(buf, sizeof(buf)-1, file);
-
- if (!strncmp(buf, "# resolution_x =", 20))
- {
- sscanf(buf+20, "%lf", &image_info->resolution_x);
- }
- else if (!strncmp(buf, "# resolution_y =", 20))
- {
- sscanf(buf+20, "%lf", &image_info->resolution_y);
- }
- else if (!strncmp(buf, "# threshold =", 20))
- {
- sscanf(buf+20, "%lf", &image_info->threshold);
- }
- else if (!strncmp(buf, "# gamma =", 20))
- {
- sscanf(buf+20, "%lf", &image_info->gamma);
- }
- else if (!strncmp(buf, "# gamma IRGB =", 20))
- {
- sscanf(buf+20, "%lf %lf %lf %lf",
- &image_info->gamma,
- &image_info->gamma_red,
- &image_info->gamma_green,
- &image_info->gamma_blue);
- }
- else if (!strncmp(buf, "# brightness =", 20))
- {
- sscanf(buf+20, "%lf", &image_info->brightness);
- }
- else if (!strncmp(buf, "# brightness IRGB =", 20))
- {
- sscanf(buf+20, "%lf %lf %lf %lf",
- &image_info->brightness,
- &image_info->brightness_red,
- &image_info->brightness_green,
- &image_info->brightness_blue);
- }
- else if (!strncmp(buf, "# contrast =", 20))
- {
- sscanf(buf+20, "%lf", &image_info->contrast);
- }
- else if (!strncmp(buf, "# contrast IRGB =", 20))
- {
- sscanf(buf+20, "%lf %lf %lf %lf",
- &image_info->contrast,
- &image_info->contrast_red,
- &image_info->contrast_green,
- &image_info->contrast_blue);
- }
- else if (!strncmp(buf, "# reduce to lineart", 20))
- {
- image_info->reduce_to_lineart = TRUE;
- }
- }
-
- fscanf(file, "%d %d", &image_info->image_width, &image_info->image_height);
-
- image_info->depth = 1;
-
- if (filetype_nr != 4) /* P4 = lineart */
- {
- fscanf(file, "%d", &max_val);
-
- if (max_val == 255)
- {
- image_info->depth = 8;
- }
- else if (max_val == 65535)
- {
- image_info->depth = 16;
- }
- }
-
- fgetc(file); /* read exactly one newline character */
-
-
- image_info->colors = 1;
-
- if (filetype_nr == 6) /* ppm RGB */
- {
- image_info->colors = 3;
- }
- }
-#ifdef SUPPORT_RGBA
- else if (buf[0] == 'S') /* RGBA format */
- {
- fscanf(file, "%d %d\n%d", &image_info->image_width, &image_info->image_height, &max_val);
- fgetc(file); /* read exactly one newline character */
-
- image_info->depth = 1;
-
- if (max_val == 255)
- {
- image_info->depth = 8;
- }
- else if (max_val == 65535)
- {
- image_info->depth = 16;
- }
-
- image_info->colors = 4;
- }
-#endif
-
- DBG(DBG_info, "xsane_read_pnm_header: width=%d, height=%d, depth=%d, colors=%d, resolution_x=%f, resolution_y=%f\n",
- image_info->image_width, image_info->image_height, image_info->depth, image_info->colors,
- image_info->resolution_x, image_info->resolution_y);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void xsane_write_pnm_header(FILE *file, Image_info *image_info, int save_pnm16_as_ascii)
-{
- int maxval;
- int magic;
-
- fflush(file);
- rewind(file);
-
- if (image_info->depth > 8)
- {
- maxval = 65535;
-
- if (save_pnm16_as_ascii)
- {
- magic = 2; /* thats the magic number for grayscale ascii, 3 = color ascii */
- }
- else /* save pnm as binary */
- {
- magic = 5; /* that is the magic number for grayscake binary, 6 = color binary */
- }
- }
- else
- {
- maxval = 255;
- magic = 5; /* 8 bit images are always saved in binary mode */
- }
-
-
- if (image_info->colors == 1)
- {
- if (image_info->depth == 1)
- {
- /* do not touch the texts and length here, the reading routine needs to know the exact texts */
- fprintf(file, "P4\n"
- "# XSane settings:\n"
- "# resolution_x = %6.1f\n"
- "# resolution_y = %6.1f\n"
- "# threshold = %4.1f\n"
- "# XSANE data follows\n"
- "%05d %05d\n",
- image_info->resolution_x,
- image_info->resolution_y,
- image_info->threshold,
- image_info->image_width, image_info->image_height);
- }
- else if (image_info->reduce_to_lineart)
- {
- /* do not touch the texts and length here, the reading routine needs to know the exact texts */
- fprintf(file, "P%d\n"
- "# XSane settings:\n"
- "# resolution_x = %6.1f\n"
- "# resolution_y = %6.1f\n"
- "# threshold = %4.1f\n"
- "# reduce to lineart\n"
- "# XSANE data follows\n"
- "%05d %05d\n"
- "%d\n",
- magic, /* P5 for binary, P2 for ascii */
- image_info->resolution_x,
- image_info->resolution_y,
- image_info->threshold,
- image_info->image_width, image_info->image_height,
- maxval);
- }
- else
- {
- fprintf(file, "P%d\n"
- "# XSane settings:\n"
- "# resolution_x = %6.1f\n"
- "# resolution_y = %6.1f\n"
- "# gamma = %3.2f\n"
- "# brightness = %4.1f\n"
- "# contrast = %4.1f\n"
- "# XSANE data follows\n"
- "%05d %05d\n"
- "%d\n",
- magic, /* P5 for binary, P2 for ascii */
- image_info->resolution_x,
- image_info->resolution_y,
- image_info->gamma,
- image_info->brightness,
- image_info->contrast,
- image_info->image_width, image_info->image_height,
- maxval);
- }
- }
- else if (image_info->colors == 3)
- {
- fprintf(file, "P%d\n"
- "# XSane settings:\n"
- "# resolution_x = %6.1f\n"
- "# resolution_y = %6.1f\n"
- "# gamma IRGB = %3.2f %3.2f %3.2f %3.2f\n"
- "# brightness IRGB = %4.1f %4.1f %4.1f %4.1f\n"
- "# contrast IRGB = %4.1f %4.1f %4.1f %4.1f\n"
- "# XSANE data follows\n"
- "%05d %05d\n" \
- "%d\n",
- magic+1, /* P6 for binary, P3 for ascii */
- image_info->resolution_x,
- image_info->resolution_y,
- image_info->gamma, image_info->gamma_red, image_info->gamma_green, image_info->gamma_blue,
- image_info->brightness, image_info->brightness_red, image_info->brightness_green, image_info->brightness_blue,
- image_info->contrast, image_info->contrast_red, image_info->contrast_green, image_info->contrast_blue,
- image_info->image_width, image_info->image_height,
- maxval);
- }
-#ifdef SUPPORT_RGBA
- else if (image_info->colors == 4)
- {
- fprintf(file, "SANE_RGBA\n" \
- "%d %d\n" \
- "%d\n",
- image_info->image_width, image_info->image_height, maxval);
- }
-#endif
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_copy_file(FILE *outfile, FILE *infile, GtkProgressBar *progress_bar, int *cancel_save)
-{
- long size;
- long bytes_sum = 0;
- size_t bytes;
- unsigned char buf[65536];
-
- DBG(DBG_proc, "copying file\n");
-
- fseek(infile, 0, SEEK_END);
- size = ftell(infile);
- fseek(infile, 0, SEEK_SET);
-
- gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), 0.0);
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- while (!feof(infile))
- {
- bytes = fread(buf, 1, sizeof(buf), infile);
- if (bytes > 0)
- {
- fwrite(buf, 1, bytes, outfile);
- bytes_sum += bytes;
- }
-
- gtk_progress_bar_update(progress_bar, (float) bytes_sum / size); /* update progress bar */
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- if (ferror(infile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_READ, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- fflush(outfile);
-
- if (size != bytes_sum)
- {
- DBG(DBG_info, "copy errro, not complete, %ld bytes of %ld bytes copied\n", bytes_sum, size);
- *cancel_save = 1;
- return (*cancel_save);
- }
-
- DBG(DBG_info, "copy complete, %ld bytes copied\n", bytes_sum);
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_copy_file_by_name(char *output_filename, char *input_filename, GtkProgressBar *progress_bar, int *cancel_save)
-{
- FILE *infile;
- FILE *outfile;
-
- DBG(DBG_proc, "copying file %s to %s\n", input_filename, output_filename);
-
- outfile = fopen(output_filename, "wb"); /* b = binary mode for win32 */
-
- if (outfile == 0)
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s `%s': %s", ERR_OPEN_FAILED, output_filename, strerror(errno));
- xsane_back_gtk_error(buf, TRUE);
- return -2;
- }
-
- infile = fopen(input_filename, "rb"); /* read binary (b for win32) */
- if (infile == 0)
- {
- char buf[256];
- snprintf(buf, sizeof(buf), "%s `%s': %s", ERR_OPEN_FAILED, input_filename, strerror(errno));
- xsane_back_gtk_error(buf, TRUE);
-
- fclose(outfile);
- remove(output_filename); /* remove already created output file */
- return -1;
- }
-
- xsane_copy_file(outfile, infile, progress_bar, cancel_save);
-
- fclose(infile);
- fclose(outfile);
-
- gtk_progress_set_format_string(GTK_PROGRESS(progress_bar), "");
- gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), 0.0);
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_save_grayscale_image_as_lineart(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int x, y, bit;
- u_char bitval, packed;
-
- *cancel_save = 0;
-
- image_info->depth = 1;
-
- xsane_write_pnm_header(outfile, image_info, 0);
-
- for (y = 0; y < image_info->image_height; y++)
- {
- bit = 128;
- packed = 0;
-
- for (x = 0; x < image_info->image_width; x++)
- {
- bitval = fgetc(imagefile);
-
- if (!bitval) /* white gets 0 bit, black gets 1 bit */
- {
- packed |= bit;
- }
-
- if (bit == 1)
- {
- fputc(packed, outfile);
- bit = 128;
- packed = 0;
- }
- else
- {
- bit >>= 1;
- }
- }
-
- if (bit != 128)
- {
- fputc(packed, outfile);
- bit = 128;
- packed = 0;
- }
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
-
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height); /* update progress bar */
- while (gtk_events_pending()) /* give gtk the chance to display the changes */
- {
- gtk_main_iteration();
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_info, float x_scale, float y_scale, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int original_image_width = image_info->image_width;
- int original_image_height = image_info->image_height;
- int new_image_width = image_info->image_width * x_scale + 0.5;
- int new_image_height = image_info->image_height * y_scale + 0.5;
- unsigned char *original_line;
- guint16 *original_line16 = NULL;
- unsigned char *new_line;
- float *pixel_val;
- float *pixel_norm;
- int bytespp = 1;
- float x, y;
- int c;
- int oldy;
- int x_new, y_new;
- float x_go, y_go;
- float factor, x_factor, y_factor;
- guint16 color;
- int read_line;
-
- DBG(DBG_proc, "xsane_save_scaled_image\n");
-
- *cancel_save = 0;
-
- if (image_info->depth > 8)
- {
- bytespp = 2;
- }
-
- image_info->image_width = new_image_width;
- image_info->image_height = new_image_height;
- image_info->resolution_x *= x_scale;
- image_info->resolution_y *= y_scale;
-
- original_line = malloc(original_image_width * image_info->colors * bytespp);
- if (!original_line)
- {
- DBG(DBG_error, "xsane_save_scaled_image: out of memory\n");
- return -1;
- }
-
- new_line = malloc(new_image_width * image_info->colors * bytespp);
- if (!new_line)
- {
- free(original_line);
- DBG(DBG_error, "xsane_save_scaled_image: out of memory\n");
- return -1;
- }
-
- pixel_val = malloc(new_image_width * image_info->colors * sizeof(float));
- if (!pixel_val)
- {
- free(original_line);
- free(new_line);
- DBG(DBG_error, "xsane_save_scaled_image: out of memory\n");
- return -1;
- }
-
- pixel_norm = malloc(new_image_width * image_info->colors * sizeof(float));
- if (!pixel_norm)
- {
- free(original_line);
- free(new_line);
- free(pixel_val);
- DBG(DBG_error, "xsane_save_scaled_image: out of memory\n");
- return -1;
- }
-
- xsane_write_pnm_header(outfile, image_info, 0);
-
- read_line = TRUE;
-
- memset(pixel_val, 0, new_image_width * image_info->colors * sizeof(float));
- memset(pixel_norm, 0, new_image_width * image_info->colors * sizeof(float));
-
- y_new = 0;
- y_go = 1.0 / y_scale;
- y_factor = 1.0;
- y = 0.0;
-
- while (y < original_image_height)
- {
- DBG(DBG_info2, "xsane_save_scaled_image: original line %d, new line %d\n", (int) y, y_new);
-
- gtk_progress_bar_update(progress_bar, (float) y / original_image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- if (read_line)
- {
- DBG(DBG_info, "xsane_save_scaled_image: reading original line %d\n", (int) y);
- fread(original_line, original_image_width, image_info->colors * bytespp, imagefile); /* read one line */
- original_line16 = (guint16 *) original_line;
- }
-
- x_new = 0;
- x_go = 1.0 / x_scale;
- x = 0.0;
- x_factor = 1.0;
-
- while ( (x < original_image_width) && (x_new < new_image_width) ) /* add this line to anti aliasing buffer */
-
- {
- factor = x_factor * y_factor;
-
- for (c = 0; c < image_info->colors; c++)
- {
- if (bytespp == 1)
- {
- color = original_line[((int) x) * image_info->colors + c];
- }
- else /* bytespp == 2 */
- {
- color = original_line16[((int) x) * image_info->colors + c];
- }
-
- pixel_val [x_new * image_info->colors + c] += factor * color;
- pixel_norm[x_new * image_info->colors + c] += factor;
- }
-
- x_go -= x_factor;
-
- if (x_go <= 0.0) /* change of pixel in new image */
- {
- x_new++;
- x_go = 1.0 / x_scale;
-
- x_factor = x - (int) x; /* use pixel rest */
- if (x_factor > x_go)
- {
- x_factor = x_go;
- }
- }
- else
- {
- x_factor = x_go;
- }
-
- if (x_factor > 1.0)
- {
- x_factor = 1.0;
- }
-
- x += x_factor;
- }
-
- y_go -= y_factor;
-
- if (y_go <= 0.0) /* normalize one line and write to destination image file */
- {
- DBG(DBG_info2, "xsane_save_scaled_image: writing new line %d\n", y_new);
-
- if (bytespp == 1)
- {
- for (x_new = 0; x_new < new_image_width * image_info->colors; x_new++)
- {
- new_line[x_new] = (int) (pixel_val[x_new] / pixel_norm[x_new]);
- }
- }
- else /* bytespp == 2 */
- {
- guint16 *new_line16 = (guint16 *) new_line;
-
- for (x_new = 0; x_new < new_image_width * image_info->colors; x_new++)
- {
- new_line16[x_new] = (int) (pixel_val[x_new] / pixel_norm[x_new]);
- }
- }
-
- fwrite(new_line, new_image_width, image_info->colors * bytespp, outfile); /* write one line */
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- /* reset values and norm factors */
- memset(pixel_val, 0, new_image_width * image_info->colors * sizeof(float));
- memset(pixel_norm, 0, new_image_width * image_info->colors * sizeof(float));
-
- y_new++;
- y_go = 1.0 / y_scale;
-
- y_factor = y - (int) y;
- if (y_factor > y_go)
- {
- y_factor = y_go;
- }
- }
- else
- {
- y_factor = y_go;
- }
-
- if (y_factor > 1.0)
- {
- y_factor = 1.0;
- }
-
- oldy = (int) y;
- y += y_factor;
- read_line = (oldy != (int) y);
- }
-
- free(original_line);
- free(new_line);
- free(pixel_val);
- free(pixel_norm);
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-#if 0
-int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_info, float x_scale, float y_scale, GtkProgressBar *progress_bar, int *cancel_save)
-{
- float original_y;
- int old_original_y;
- int x, y, i;
- int original_image_width = image_info->image_width;
- int new_image_width = image_info->image_width * x_scale;
- int new_image_height = image_info->image_height * y_scale;
- unsigned char *original_line;
- unsigned char *new_line;
- int bytespp = 1;
-
- DBG(DBG_proc, "xsane_save_scaled_image\n");
-
- if (image_info->depth > 8)
- {
- bytespp = 2;
- }
-
- image_info->image_width = new_image_width;
- image_info->image_height = new_image_height;
- image_info->resolution_x *= x_scale;
- image_info->resolution_y *= y_scale;
-
- original_line = malloc(original_image_width * image_info->colors * bytespp);
- if (!original_line)
- {
- DBG(DBG_error, "xsane_save_scaled_image: out of memory\n");
- return -1;
- }
-
- new_line = malloc(new_image_width * image_info->colors * bytespp);
- if (!new_line)
- {
- free(original_line);
- DBG(DBG_error, "xsane_save_scaled_image: out of memory\n");
- return -1;
- }
-
- xsane_write_pnm_header(outfile, image_info, 0);
-
- original_y = 0.0;
- old_original_y = -1;
-
- for (y = 0; y < new_image_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (; ((int) original_y) - old_original_y; old_original_y += 1)
- {
- fread(original_line, original_image_width, image_info->colors * bytespp, imagefile); /* read one line */
- }
-
- for (x = 0; x < new_image_width; x++)
- {
- for (i = 0; i < image_info->colors * bytespp; i++)
- {
- new_line[x * image_info->colors * bytespp + i] = original_line[((int) (x / x_scale)) * image_info->colors * bytespp + i];
- }
- }
-
- fwrite(new_line, new_image_width, image_info->colors * bytespp, outfile); /* write one line */
-
- original_y += 1/y_scale;
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- free(original_line);
- free(new_line);
-
- fflush(outfile);
-
- return (*cancel_save);
-}
-#endif
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_save_despeckle_image(FILE *outfile, FILE *imagefile, Image_info *image_info, int radius, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int x, y, sx, sy, i;
- int xmin, xmax;
- int ymin, ymax;
- int count;
- unsigned char *line_cache;
- unsigned char *line_cache_ptr;
- guint16 *color_cache;
- guint16 *color_cache_ptr;
- int bytespp = 1;
- int color_radius;
- int color_width = image_info->image_width * image_info->colors;
-
- radius--; /* correct radius : 1 means nothing happens */
-
- if (radius < 1)
- {
- radius = 1;
- }
-
- color_radius = radius * image_info->colors;
-
- if (image_info->depth > 8)
- {
- bytespp = 2;
- }
-
- xsane_write_pnm_header(outfile, image_info, 0);
-
- line_cache = malloc(color_width * bytespp * (2 * radius + 1));
- if (!line_cache)
- {
- DBG(DBG_error, "xsane_despeckle_image: out of memory\n");
- return -1;
- }
-
- fread(line_cache, color_width * bytespp, (2 * radius + 1), imagefile);
-
- color_cache = malloc((size_t) sizeof(guint16) * (2*radius+1)*(2*radius+1));
-
- if (!color_cache)
- {
- free(line_cache);
- DBG(DBG_error, "xsane_despeckle_image: out of memory\n");
- return -1;
- }
-
- for (y = 0; y < image_info->image_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- ymin = y - radius;
- ymax = y + radius;
-
- if (ymin < 0)
- {
- ymin = 0;
- }
-
- if (ymax > image_info->image_height)
- {
- ymax = image_info->image_height;
- }
-
- for (x = 0; x < color_width; x++)
- {
- xmin = x - color_radius;
- xmax = x + color_radius;
-
- if (xmin < 0)
- {
- xmin = x % image_info->colors;
- }
-
- if (xmax > color_width)
- {
- xmax = color_width;
- }
-
- count = 0;
-
- color_cache_ptr = color_cache;
-
-
- if (bytespp == 1)
- {
- for (sy = ymin; sy <= ymax; sy++) /* search area defined by radius - y part */
- {
- line_cache_ptr = line_cache + (sy-ymin) * color_width + xmin;
-
- for (sx = xmin; sx <= xmax; sx+=image_info->colors) /* x part */
- {
- *color_cache_ptr = *line_cache_ptr;
- color_cache_ptr++;
- line_cache_ptr += image_info->colors;
- }
- }
-
- /* sort color_cache */
-
- count = color_cache_ptr - color_cache;
-
- if (count > 1)
- {
- int d, j, val;
-
- for (d = count / 2; d > 0; d = d / 2)
- {
- for (i = d; i < count; i++)
- {
- for (j = i - d, color_cache_ptr = color_cache + j; j >= 0 && color_cache_ptr[0] > color_cache_ptr[d]; j -= d, color_cache_ptr -= d)
- {
- val = color_cache_ptr[0];
- color_cache_ptr[0] = color_cache_ptr[d];
- color_cache_ptr[d] = val;
- };
- }
- }
- }
-
- fputc((char) (color_cache[count/2]), outfile);
- }
- else /* 16 bit/color */
- {
- guint16 val16;
- guint16 *line_cache16 = (guint16 *) line_cache;
- guint16 *line_cache16_ptr;
- char *bytes16 = (char *) &val16;
-
- for (sy = ymin; sy <= ymax; sy++)
- {
- line_cache16_ptr = line_cache16 + (sy-ymin) * color_width + xmin;
-
- for (sx = xmin; sx <= xmax; sx+=image_info->colors)
- {
- *color_cache_ptr = *line_cache16_ptr;
- color_cache_ptr++;
- line_cache16_ptr += image_info->colors;
- }
- }
-
- /* sort color_cache */
-
- count = color_cache_ptr - color_cache;
-
- if (count > 1)
- {
- int d,j, val;
-
- for (d = count / 2; d > 0; d = d / 2)
- {
- for (i = d; i < count; i++)
- {
- for (j = i - d, color_cache_ptr = color_cache + j; j >= 0 && color_cache_ptr[0] > color_cache_ptr[d]; j -= d, color_cache_ptr -= d)
- {
- val = color_cache_ptr[0];
- color_cache_ptr[0] = color_cache_ptr[d];
- color_cache_ptr[d] = val;
- };
- }
- }
- }
-
- val16 = color_cache[count/2];
- fputc(bytes16[0], outfile); /* write bytes in machine byte order */
- fputc(bytes16[1], outfile);
- }
- }
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if ((y > radius) && (y < image_info->image_height - radius))
- {
- memcpy(line_cache, line_cache + color_width * bytespp,
- color_width * bytespp * 2 * radius);
- fread(line_cache + color_width * bytespp * 2 * radius,
- color_width * bytespp, 1, imagefile);
- }
- }
-
- fflush(outfile);
-
- free(line_cache);
- free(color_cache);
-
- return 0;
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info, float radius, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int x, y, sx, sy;
- int xmin, xmax;
- int ymin, ymax;
- double val, norm, outer_factor;
- unsigned char *line_cache;
- int bytespp = 1;
- int intradius;
- int xmin_flag;
- int xmax_flag;
- int ymin_flag;
- int ymax_flag;
-
- *cancel_save = 0;
-
- intradius = (int) radius;
-
- outer_factor = radius - (int) radius;
-
- if (image_info->depth > 8)
- {
- bytespp = 2;
- }
-
- xsane_write_pnm_header(outfile, image_info, 0);
-
- line_cache = malloc(image_info->image_width * image_info->colors * bytespp * (2 * intradius + 1));
- if (!line_cache)
- {
- DBG(DBG_error, "xsane_blur_image: out of memory\n");
- return -1;
- }
-
- fread(line_cache, image_info->image_width * image_info->colors * bytespp, (2 * intradius + 1), imagefile);
-
- for (y = 0; y < image_info->image_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (x = 0; x < image_info->image_width * image_info->colors; x++)
- {
- xmin_flag = xmax_flag = ymin_flag = ymax_flag = TRUE;
-
- xmin = x - intradius * image_info->colors;
- xmax = x + intradius * image_info->colors;
-
- if (xmin < 0)
- {
- xmin = x % image_info->colors;
- xmin_flag = FALSE;
- }
-
- if (xmax > image_info->image_width * image_info->colors)
- {
- xmax = image_info->image_width * image_info->colors;
- xmax_flag = FALSE;
- }
-
- ymin = y - intradius;
- ymax = y + intradius;
-
- if (ymin < 0)
- {
- ymin = 0;
- ymin_flag = FALSE;
- }
-
- if (ymax > image_info->image_height)
- {
- ymax = image_info->image_height;
- ymax_flag = FALSE;
- }
-
- val = 0.0;
- norm = 0.0;
-
- if (bytespp == 1)
- {
- if (xmin_flag) /* integrate over left margin */
- {
- for (sy = ymin+1; sy <= ymax-1 ; sy++)
- {
- val += outer_factor * line_cache[(sy-ymin) * image_info->image_width * image_info->colors + xmin];
- norm += outer_factor;
- }
- }
-
- if (xmax_flag) /* integrate over right margin */
- {
- for (sy = ymin+1; sy <= ymax-1 ; sy++)
- {
- val += outer_factor * line_cache[(sy-ymin) * image_info->image_width * image_info->colors + xmax];
- norm += outer_factor;
- }
- }
-
- if (ymin_flag) /* integrate over top margin */
- {
- for (sx = xmin+image_info->colors; sx <= xmax-image_info->colors ; sx += image_info->colors)
- {
- val += outer_factor * line_cache[sx];
- norm += outer_factor;
- }
- }
-
- if (ymax_flag) /* integrate over bottom margin */
- {
- for (sx = xmin+image_info->colors; sx <= xmax-image_info->colors ; sx += image_info->colors)
- {
- val += outer_factor * line_cache[(ymax-ymin) * image_info->image_width * image_info->colors + sx];
- norm += outer_factor;
- }
- }
-
- for (sy = ymin+1; sy <= ymax-1; sy++) /* integrate internal square */
- {
- for (sx = xmin+image_info->colors; sx <= xmax-image_info->colors; sx+=image_info->colors)
- {
- val += line_cache[(sy-ymin) * image_info->image_width * image_info->colors + sx];
- norm += 1.0;
- }
- }
- fputc((char) ((int) (val/norm)), outfile);
- }
- else /* bytespp == 2 */
- {
- guint16 *line_cache16 = (guint16 *) line_cache;
- guint16 val16;
- char *bytes16 = (char *) &val16;
-
- if (xmin_flag) /* integrate over left margin */
- {
- for (sy = ymin+1; sy <= ymax-1 ; sy++)
- {
- val += outer_factor * line_cache16[(sy-ymin) * image_info->image_width * image_info->colors + xmin];
- norm += outer_factor;
- }
- }
-
- if (xmax_flag) /* integrate over right margin */
- {
- for (sy = ymin+1; sy <= ymax-1 ; sy++)
- {
- val += outer_factor * line_cache16[(sy-ymin) * image_info->image_width * image_info->colors + xmax];
- norm += outer_factor;
- }
- }
-
- if (ymin_flag) /* integrate over top margin */
- {
- for (sx = xmin+image_info->colors; sx <= xmax-image_info->colors ; sx += image_info->colors)
- {
- val += outer_factor * line_cache16[sx];
- norm += outer_factor;
- }
- }
-
- if (ymax_flag) /* integrate over bottom margin */
- {
- for (sx = xmin+image_info->colors; sx <= xmax-image_info->colors ; sx += image_info->colors)
- {
- val += outer_factor * line_cache16[(ymax-ymin) * image_info->image_width * image_info->colors + sx];
- norm += outer_factor;
- }
- }
-
- for (sy = ymin; sy <= ymax; sy++) /* integrate internal square */
- {
- for (sx = xmin; sx <= xmax; sx+=image_info->colors)
- {
- val += line_cache16[(sy-ymin) * image_info->image_width * image_info->colors + sx];
- norm += 1.0;
- }
- }
-
- val16 = val / norm;
- fputc(bytes16[0], outfile); /* write bytes in machine byte order */
- fputc(bytes16[1], outfile);
- }
- }
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- /* reset values and norm factors */
-
- if ((y > intradius) && (y < image_info->image_height - intradius))
- {
- memcpy(line_cache, line_cache + image_info->image_width * image_info->colors * bytespp,
- image_info->image_width * image_info->colors * bytespp * 2 * intradius);
- fread(line_cache + image_info->image_width * image_info->colors * bytespp * 2 * intradius,
- image_info->image_width * image_info->colors * bytespp, 1, imagefile);
- }
- }
-
- fflush(outfile);
- free(line_cache);
-
- return 0;
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-#if 0
-int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info, int radius, GtkProgressBar *progress_bar)
-{
- int x, y, sx, sy;
- int xmin, xmax;
- int ymin, ymax;
- int pos0;
- int val, count;
- unsigned char *line_cache;
- int bytespp = 1;
-
- if (image_info->depth > 8)
- {
- bytespp = 2;
- }
-
- pos0 = ftell(imagefile); /* mark position to skip header */
-
- xsane_write_pnm_header(outfile, image_info, 0);
-
- line_cache = malloc(image_info->image_width * image_info->colors * bytespp * (2 * radius + 1));
- if (!line_cache)
- {
- DBG(DBG_error, "xsane_blur_image: out of memory\n");
- return -1;
- }
-
- fread(line_cache, image_info->image_width * image_info->colors * bytespp, (2 * radius + 1), imagefile);
-
- for (y = 0; y < image_info->image_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (x = 0; x < image_info->image_width * image_info->colors; x++)
- {
- xmin = x - radius * image_info->colors;
- xmax = x + radius * image_info->colors;
-
- if (xmin < 0)
- {
- xmin = x % image_info->colors;
- }
-
- if (xmax > image_info->image_width * image_info->colors)
- {
- xmax = image_info->image_width * image_info->colors;
- }
-
- ymin = y - radius;
- ymax = y + radius;
-
- if (ymin < 0)
- {
- ymin = 0;
- }
-
- if (ymax > image_info->image_height)
- {
- ymax = image_info->image_height;
- }
-
- val = 0;
- count = 0;
-
- if (bytespp == 1)
- {
- for (sy = ymin; sy <= ymax; sy++)
- {
- for (sx = xmin; sx <= xmax; sx+=image_info->colors)
- {
- val += line_cache[(sy-ymin) * image_info->image_width * image_info->colors + sx];
- count++;
- }
- }
- fputc((char) (val/count), outfile);
- }
- else
- {
- guint16 *line_cache16 = (guint16 *) line_cache;
- guint16 val16;
- char *bytes16 = (char *) &val16;
-
- for (sy = ymin; sy <= ymax; sy++)
- {
- for (sx = xmin; sx <= xmax; sx+=image_info->colors)
- {
- val += line_cache16[(sy-ymin) * image_info->image_width * image_info->colors + sx];
- count++;
- }
- }
-
- val16 = val / count;
- fputc(bytes16[0], outfile); /* write bytes in machine byte order */
- fputc(bytes16[1], outfile);
- }
- }
-
- if ((y > radius) && (y < image_info->image_height - radius))
- {
- memcpy(line_cache, line_cache + image_info->image_width * image_info->colors * bytespp,
- image_info->image_width * image_info->colors * bytespp * 2 * radius);
- fread(line_cache + image_info->image_width * image_info->colors * bytespp * 2 * radius,
- image_info->image_width * image_info->colors * bytespp, 1, imagefile);
- }
- }
-
- fflush(outfile);
- free(line_cache);
-
- return 0;
-}
-#endif
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_save_rotate_image(FILE *outfile, FILE *imagefile, Image_info *image_info, int rotation, GtkProgressBar *progress_bar, int *cancel_save)
-/* returns true if operation was cancelled */
-{
- int x, y, pos0, bytespp, i;
- int pixel_width = image_info->image_width;
- int pixel_height = image_info->image_height;
- float resolution_x = image_info->resolution_x;
- float resolution_y = image_info->resolution_y;
-
-#ifdef HAVE_MMAP
- char *mmaped_imagefile = NULL;
-#endif
-
- DBG(DBG_proc, "xsane_save_rotate_image\n");
-
- *cancel_save = 0;
-
- pos0 = ftell(imagefile); /* mark position to skip header */
-
- bytespp = image_info->colors;
-
- if (image_info->depth > 8)
- {
- bytespp *= 2;
- }
-
- if (image_info->depth < 8) /* lineart images are expanded to grayscale until transformation is done */
- {
- image_info->depth = 8; /* so we have at least 8 bits/pixel here */
- }
-
-#ifdef HAVE_MMAP
- mmaped_imagefile = mmap(NULL, pixel_width * pixel_height * bytespp + pos0, PROT_READ, MAP_PRIVATE, fileno(imagefile), 0);
- if (mmaped_imagefile == (char *) -1) /* mmap failed */
- {
- DBG(DBG_info, "xsane_save_rotate_image: unable to memory map image file, using standard file access\n");
- mmaped_imagefile = NULL;
- }
- else
- {
- DBG(DBG_info, "xsane_save_rotate_image: using memory mapped image file\n");
- }
-#endif
-
- switch (rotation)
- {
- default:
- break;
-
- case 0: /* 0 degree */
- xsane_write_pnm_header(outfile, image_info, 0);
-
- for (y = 0; y < pixel_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / pixel_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (x = 0; x < pixel_width; x++)
- {
-#ifdef HAVE_MMAP
- if (mmaped_imagefile)
- {
- char *p = mmaped_imagefile + pos0 + bytespp * (x + y * pixel_width); /* calculate correct position */
-
- for (i=0; i<bytespp; i++)
- {
- fputc(*p++, outfile);
- }
- }
- else
-#endif
- {
- for (i = 0; i < bytespp; i++)
- {
- fputc(fgetc(imagefile), outfile);
- }
- }
- }
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
- break;
-
- case 1: /* 90 degree */
- image_info->image_width = pixel_height;
- image_info->image_height = pixel_width;
-
- image_info->resolution_x = resolution_y;
- image_info->resolution_y = resolution_x;
-
- xsane_write_pnm_header(outfile, image_info, 0);
-
- for (x=0; x<pixel_width; x++)
- {
- gtk_progress_bar_update(progress_bar, (float) x / pixel_width);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (y=pixel_height-1; y>=0; y--)
- {
-#ifdef HAVE_MMAP
- if (mmaped_imagefile)
- {
- char *p = mmaped_imagefile + pos0 + bytespp * (x + y * pixel_width); /* calculate correct position */
-
- for (i=0; i<bytespp; i++)
- {
- fputc(*p++, outfile);
- }
- }
- else
-#endif
- {
- fseek(imagefile, pos0 + bytespp * (x + y * pixel_width), SEEK_SET); /* go to the correct position */
- for (i=0; i<bytespp; i++)
- {
- fputc(fgetc(imagefile), outfile);
- }
- }
- }
-
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- break;
-
- case 2: /* 180 degree */
- xsane_write_pnm_header(outfile, image_info, 0);
-
- for (y = pixel_height-1; y >= 0; y--)
- {
- gtk_progress_bar_update(progress_bar, (float) (pixel_height - y) / pixel_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (x = pixel_width-1; x >= 0; x--)
- {
-#ifdef HAVE_MMAP
- if (mmaped_imagefile)
- {
- char *p = mmaped_imagefile + pos0 + bytespp * (x + y * pixel_width); /* calculate correct position */
-
- for (i = 0; i < bytespp; i++)
- {
- fputc(*p++, outfile);
- }
- }
- else
-#endif
- {
- fseek(imagefile, pos0 + bytespp * (x + y * pixel_width), SEEK_SET); /* go to the correct position */
- for (i = 0; i < bytespp; i++)
- {
- fputc(fgetc(imagefile), outfile);
- }
- }
- }
-
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
- break;
-
- case 3: /* 270 degree */
- image_info->image_width = pixel_height;
- image_info->image_height = pixel_width;
-
- image_info->resolution_x = resolution_y;
- image_info->resolution_y = resolution_x;
-
- xsane_write_pnm_header(outfile, image_info, 0);
-
- for (x = pixel_width-1; x >= 0; x--)
- {
- gtk_progress_bar_update(progress_bar, (float) (pixel_width - x) / pixel_width);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (y = 0; y < pixel_height; y++)
- {
-#ifdef HAVE_MMAP
- if (mmaped_imagefile)
- {
- char *p = mmaped_imagefile + pos0 + bytespp * (x + y * pixel_width); /* calculate correct position */
-
- for (i = 0; i < bytespp; i++)
- {
- fputc(*p++, outfile);
- }
- }
- else
-#endif
- {
- fseek(imagefile, pos0 + bytespp * (x + y * pixel_width), SEEK_SET); /* go to the correct position */
- for (i = 0; i < bytespp; i++)
- {
- fputc(fgetc(imagefile), outfile);
- }
- }
- }
-
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
- break;
-
- case 4: /* 0 degree, x mirror */
- xsane_write_pnm_header(outfile, image_info, 0);
-
- for (y = 0; y < pixel_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / pixel_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (x = pixel_width-1; x >= 0; x--)
- {
-#ifdef HAVE_MMAP
- if (mmaped_imagefile)
- {
- char *p = mmaped_imagefile + pos0 + bytespp * (x + y * pixel_width); /* calculate correct position */
-
- for (i = 0; i < bytespp; i++)
- {
- fputc(*p++, outfile);
- }
- }
- else
-#endif
- {
- fseek(imagefile, pos0 + bytespp * (x + y * pixel_width), SEEK_SET); /* go to the correct position */
- for (i = 0; i < bytespp; i++)
- {
- fputc(fgetc(imagefile), outfile);
- }
- }
- }
-
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
- break;
-
- case 5: /* 90 degree, x mirror */
- image_info->image_width = pixel_height;
- image_info->image_height = pixel_width;
-
- image_info->resolution_x = resolution_y;
- image_info->resolution_y = resolution_x;
-
- xsane_write_pnm_header(outfile, image_info, 0);
-
- for (x = 0; x < pixel_width; x++)
- {
- gtk_progress_bar_update(progress_bar, (float) x / pixel_width);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (y = 0; y < pixel_height; y++)
- {
-#ifdef HAVE_MMAP
- if (mmaped_imagefile)
- {
- char *p = mmaped_imagefile + pos0 + bytespp * (x + y * pixel_width); /* calculate correct position */
-
- for (i=0; i<bytespp; i++)
- {
- fputc(*p++, outfile);
- }
- }
- else
-#endif
- {
- fseek(imagefile, pos0 + bytespp * (x + y * pixel_width), SEEK_SET); /* go to the correct position */
- for (i = 0; i < bytespp; i++)
- {
- fputc(fgetc(imagefile), outfile);
- }
- }
- }
-
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- break;
-
- case 6: /* 180 degree, x mirror */
- xsane_write_pnm_header(outfile, image_info, 0);
-
- for (y = pixel_height-1; y >= 0; y--)
- {
- gtk_progress_bar_update(progress_bar, (float) (pixel_height - y) / pixel_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (x = 0; x < pixel_width; x++)
- {
-#ifdef HAVE_MMAP
- if (mmaped_imagefile)
- {
- char *p = mmaped_imagefile + pos0 + bytespp * (x + y * pixel_width); /* calculate correct position */
-
- for (i = 0; i < bytespp; i++)
- {
- fputc(*p++, outfile);
- }
- }
- else
-#endif
- {
- fseek(imagefile, pos0 + bytespp * (x + y * pixel_width), SEEK_SET); /* go to the correct position */
- for (i = 0; i < bytespp; i++)
- {
- fputc(fgetc(imagefile), outfile);
- }
- }
- }
-
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
- break;
-
- case 7: /* 270 degree, x mirror */
- image_info->image_width = pixel_height;
- image_info->image_height = pixel_width;
-
- image_info->resolution_x = resolution_y;
- image_info->resolution_y = resolution_x;
-
- xsane_write_pnm_header(outfile, image_info, 0);
-
- for (x = pixel_width-1; x >= 0; x--)
- {
- gtk_progress_bar_update(progress_bar, (float) (pixel_width - x) / pixel_width);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (y = pixel_height-1; y >= 0; y--)
- {
-#ifdef HAVE_MMAP
- if (mmaped_imagefile)
- {
- char *p = mmaped_imagefile + pos0 + bytespp * (x + y * pixel_width); /* calculate correct position */
-
- for (i = 0; i < bytespp; i++)
- {
- fputc(*p++, outfile);
- }
- }
- else
-#endif
- {
- fseek(imagefile, pos0 + bytespp * (x + y * pixel_width), SEEK_SET); /* go to the correct position */
- for (i = 0; i < bytespp; i++)
- {
- fputc(fgetc(imagefile), outfile);
- }
- }
- }
-
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
- break;
- }
-
-#ifdef HAVE_MMAP
- if (mmaped_imagefile)
- {
- munmap(mmaped_imagefile, pos0 + pixel_width * pixel_height * bytespp);
- }
-#endif
-
- fflush(outfile);
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void xsane_save_ps_create_document_header(FILE *outfile, int pages, int flatdecode)
-{
- DBG(DBG_proc, "xsane_save_ps_create_document_header\n");
-
- fprintf(outfile, "%%!PS-Adobe-3.0\n");
- fprintf(outfile, "%%%%Creator: XSane version %s (sane %d.%d) - by Oliver Rauch\n", VERSION,
- SANE_VERSION_MAJOR(xsane.sane_backend_versioncode),
- SANE_VERSION_MINOR(xsane.sane_backend_versioncode));
- fprintf(outfile, "%%%%DocumentData: Clean7Bit\n");
- if (flatdecode)
- {
- fprintf(outfile, "%%%%LanguageLevel: 3\n");
- }
- else
- {
- fprintf(outfile, "%%%%LanguageLevel: 2\n");
- }
-
- if (pages)
- {
- fprintf(outfile, "%%%%Pages: %d\n", pages);
- }
- else
- {
- fprintf(outfile, "%%%%Pages: (atend)\n");
- }
-
- fprintf(outfile, "%%%%EndComments\n");
- fprintf(outfile, "\n");
- fprintf(outfile, "/origstate save def\n");
- fprintf(outfile, "20 dict begin\n");
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void xsane_save_ps_create_document_trailer(FILE *outfile, int pages)
-{
- DBG(DBG_proc, "xsane_save_ps_create_document_trailer\n");
-
- fprintf(outfile, "end\n");
- fprintf(outfile, "origstate restore\n");
-
- if (pages)
- {
- fprintf(outfile, "%%%%Trailer\n");
- fprintf(outfile, "%%%%Pages: %d\n", pages);
- }
-
- fprintf(outfile, "%%%%EOF\n");
- fprintf(outfile, "\n");
-
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-/* page = [1 .. pages] */
-static void xsane_save_ps_create_page_header(FILE *outfile, int page,
- Image_info *image_info,
- float width, float height,
- int paper_left_margin, int paper_bottom_margin,
- int paper_width, int paper_height,
- int paper_orientation, int flatdecode,
- GtkProgressBar *progress_bar)
-{
- int degree, position_left, position_bottom, box_left, box_bottom, box_right, box_top, depth;
- int left, bottom;
-
- DBG(DBG_proc, "xsane_save_ps_create_page_header\n");
-
- switch (paper_orientation)
- {
- default:
- case 0: /* top left portrait */
- left = 0.0;
- bottom = paper_height - height;
- break;
-
- case 1: /* top right portrait */
- left = paper_width - width;
- bottom = paper_height - height;
- break;
-
- case 2: /* bottom right portrait */
- left = paper_width - width;
- bottom = 0.0;
- break;
-
- case 3: /* bottom left portrait */
- left = 0.0;
- bottom = 0.0;
- break;
-
- case 4: /* center portrait */
- left = paper_width / 2.0 - width / 2.0;
- bottom = paper_height / 2.0 - height / 2.0;
- break;
-
-
- case 8: /* top left landscape */
- left = 0.0;
- bottom = paper_width - height;
- break;
-
- case 9: /* top right landscape */
- left = paper_height - width;
- bottom = paper_width - height;
- break;
-
- case 10: /* bottom right landscape */
- left = paper_height - width;
- bottom = 0.0;
- break;
-
- case 11: /* bottom left landscape */
- left = 0.0;
- bottom = 0.0;
- break;
-
- case 12: /* center landscape */
- left = paper_height / 2.0 - width / 2.0;
- bottom = paper_width / 2.0 - height / 2.0;
- break;
- }
-
-
- if (paper_orientation >= 8) /* rotate with 90 degrees - landscape mode */
- {
- degree = 90;
- position_left = left + paper_bottom_margin;
- position_bottom = bottom - paper_width - paper_left_margin;
- box_left = paper_width - paper_left_margin - bottom - height;
- box_bottom = left + paper_bottom_margin;
- box_right = box_left + ceil(height);
- box_top = box_bottom + ceil(width);
- }
- else /* do not rotate, portrait mode */
- {
- degree = 0;
- position_left = left + paper_left_margin;
- position_bottom = bottom + paper_bottom_margin;
- box_left = left + paper_left_margin;
- box_bottom = bottom + paper_bottom_margin;
- box_right = box_left + ceil(width);
- box_top = box_bottom + ceil(height);
- }
-
- depth = image_info->depth;
-
- if (depth > 8)
- {
- depth = 8;
- }
-
- fprintf(outfile, "\n");
- fprintf(outfile, "%%%%Page: %d %d\n", page, page);
- fprintf(outfile, "%%%%PageBoundingBox: %d %d %d %d\n", box_left, box_bottom, box_right, box_top);
-
- if (depth == 1)
- {
- fprintf(outfile, "/grays %d string def\n", image_info->image_width);
- fprintf(outfile, "/npixels 0 def\n");
- fprintf(outfile, "/rgbindx 0 def\n");
- }
-
- fprintf(outfile, "%d rotate\n", degree);
- fprintf(outfile, "%d %d translate\n", position_left, position_bottom);
- fprintf(outfile, "%f %f scale\n", width, height);
- fprintf(outfile, "%d %d %d\n", image_info->image_width, image_info->image_height, depth);
- fprintf(outfile, "[%d %d %d %d %d %d]\n", image_info->image_width, 0, 0, -image_info->image_height, 0, image_info->image_height);
- fprintf(outfile, "currentfile\n");
- fprintf(outfile, "/ASCII85Decode filter\n");
-#ifdef HAVE_LIBZ
- if (flatdecode)
- {
- fprintf(outfile, "/FlateDecode filter\n");
- }
-#endif
-
- if (image_info->colors == 3) /* what about RGBA here ? */
- {
- fprintf(outfile, "false 3 colorimage\n");
- fprintf(outfile, "\n");
- }
- else
- {
- fprintf(outfile, "image\n");
- fprintf(outfile, "\n");
- }
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static void xsane_save_ps_create_page_trailer(FILE *outfile)
-{
- fprintf(outfile, "\n");
- fprintf(outfile, "showpage\n");
- fprintf(outfile, "%%%%PageTrailer\n");
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-#ifdef HAVE_LIBZ
-/* Utility function for the PostScript output */
-static int xsane_write_compressed_a85_flatdecode(FILE *outfile, unsigned char *line, int len, int finish)
-{
- static unsigned char *cbuf = NULL;
- static int cbuflen = 0;
- static int linelen = 0;
- int i, j;
- int outlen;
- static int init = 0;
- static z_stream s;
- int ret;
- int flush;
- static int a85count = 0;
- static guint32 a85tuple = 0;
- static unsigned char a85block[6] = {0, 0, 0, 0, 0, 0};
- static int count = 0;
-
- DBG(DBG_proc, "xsane_write_compressed_a85_flatdecode\n");
-
- if (linelen != len)
- {
- linelen = len;
- if (cbuf != NULL)
- {
- free(cbuf);
- }
- /* buffer length = length + 0.1 * length + 12 (mandatory) */
- cbuflen = len + len / 10 + 12;
- cbuf = malloc(cbuflen);
- }
-
- if (cbuf == NULL)
- {
- DBG(DBG_error, "cbuf allocation failed\n");
- return 1;
- }
-
- if (!init)
- {
- s.zalloc = Z_NULL;
- s.zfree = Z_NULL;
- s.opaque = Z_NULL;
-
- ret = deflateInit(&s, Z_DEFAULT_COMPRESSION);
-
- if (ret != Z_OK)
- {
- DBG(DBG_error, "deflateInit failed\n");
- free(cbuf);
- return 1;
- }
-
- init = 1;
- }
-
- s.avail_in = len;
- s.next_in = line;
-
- do
- {
- s.avail_out = cbuflen;
- s.next_out = cbuf;
-
- flush = (finish) ? Z_FINISH : Z_NO_FLUSH;
-
- ret = deflate(&s, flush);
-
- if (ret == Z_STREAM_ERROR)
- {
- DBG(DBG_error, "deflate failed\n");
- free(cbuf);
- return 1;
- }
-
- outlen = cbuflen - s.avail_out;
-
- /* ASCII85 (base 85) encoding */
- for (i = 0; i < outlen; i++)
- {
- switch (a85count)
- {
- case 0:
- a85tuple |= (cbuf[i] << 24);
- a85count++;
- break;
-
- case 1:
- a85tuple |= (cbuf[i] << 16);
- a85count++;
- break;
-
- case 2:
- a85tuple |= (cbuf[i] << 8);
- a85count++;
- break;
-
- case 3:
- a85tuple |= (cbuf[i] << 0);
-
- if (count == 40)
- {
- fprintf(outfile, "\n");
- count = 0;
- }
-
- if (a85tuple == 0)
- {
- fprintf(outfile, "z");
- count++;
- }
- else
- {
- /* The ASCII chars must be written in reverse order, hence -> a85block[4-j] */
- for (j = 0; j < 5; j++)
- {
- a85block[4-j] = a85tuple % 85 + '!';
- a85tuple /= 85;
- }
-
- for (j = 0; j < 5; j++)
- {
- fprintf(outfile, "%c", a85block[j]);
- count++;
- if (count == 40)
- {
- fprintf(outfile, "\n");
- count = 0;
- }
- }
- }
-
- a85count = 0;
- a85tuple = 0;
- break;
-
- default:
- break;
- }
- }
- } while (s.avail_out == 0);
-
- if (finish)
- {
- DBG(DBG_info, "finish\n");
- if (a85count > 0)
- {
- a85count++;
- for (j = 0; j <= a85count; j++)
- {
- a85block[j] = a85tuple % 85 + '!';
- a85tuple /= 85;
- }
- /* Reverse order */
- for (j--; j > 0; j--)
- {
- if (count == 40)
- {
- fprintf(outfile, "\n");
- count = 0;
- }
- fprintf(outfile, "%c", a85block[j]);
- count++;
- }
- }
-
- /* ASCII85 EOD marker + newline*/
- if (count + 2 > 40)
- {
- fprintf(outfile, "\n");
- }
- fprintf(outfile, "~>\n");
- deflateEnd(&s);
- free(cbuf);
- cbuf = NULL;
- init = 0;
- a85tuple = 0;
- a85count = 0;
- cbuflen = 0;
- linelen = 0;
- count = 0;
- }
-
- return 0;
-}
-#endif
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-/* Utility function for the PostScript output */
-static int xsane_write_compressed_a85(FILE *outfile, unsigned char *line, int len, int finish)
-{
- static unsigned char *cbuf = NULL;
- static int cbuflen = 0;
- static int linelen = 0;
- int i, j;
- int outlen;
- static int a85count = 0;
- static guint32 a85tuple = 0;
- static unsigned char a85block[6] = {0, 0, 0, 0, 0, 0};
- static int count = 0;
-
- DBG(DBG_proc, "xsane_write_compressed_a85\n");
-
- cbuf = line;
- outlen = len;
-
- /* ASCII85 (base 85) encoding */
- for (i = 0; i < outlen; i++)
- {
- switch (a85count)
- {
- case 0:
- a85tuple |= (cbuf[i] << 24);
- a85count++;
- break;
-
- case 1:
- a85tuple |= (cbuf[i] << 16);
- a85count++;
- break;
-
- case 2:
- a85tuple |= (cbuf[i] << 8);
- a85count++;
- break;
-
- case 3:
- a85tuple |= (cbuf[i] << 0);
-
- if (count == 40)
- {
- fprintf(outfile, "\n");
- count = 0;
- }
-
- if (a85tuple == 0)
- {
- fprintf(outfile, "z");
- count++;
- }
- else
- {
- /* The ASCII chars must be written in reverse order, hence -> a85block[4-j] */
- for (j = 0; j < 5; j++)
- {
- a85block[4-j] = a85tuple % 85 + '!';
- a85tuple /= 85;
- }
-
- for (j = 0; j < 5; j++)
- {
- fprintf(outfile, "%c", a85block[j]);
- count++;
- if (count == 40)
- {
- fprintf(outfile, "\n");
- count = 0;
- }
- }
- }
-
- a85count = 0;
- a85tuple = 0;
- break;
-
- default:
- break;
- }
- }
-
- if (finish)
- {
- DBG(DBG_info, "finish\n");
- if (a85count > 0)
- {
- a85count++;
- for (j = 0; j <= a85count; j++)
- {
- a85block[j] = a85tuple % 85 + '!';
- a85tuple /= 85;
- }
- /* Reverse order */
- for (j--; j > 0; j--)
- {
- if (count == 40)
- {
- fprintf(outfile, "\n");
- count = 0;
- }
- fprintf(outfile, "%c", a85block[j]);
- count++;
- }
- }
-
- /* ASCII85 EOD marker + newline*/
- if (count + 2 > 40)
- {
- fprintf(outfile, "\n");
- }
- fprintf(outfile, "~>\n");
- a85tuple = 0;
- a85count = 0;
- cbuflen = 0;
- linelen = 0;
- count = 0;
- }
-
- return 0;
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static int xsane_save_ps_pdf_bw(FILE *outfile, FILE *imagefile, Image_info *image_info, int flatdecode, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int x, y;
- int bytes_per_line = (image_info->image_width+7)/8;
- int ret;
- unsigned char *line;
-
- DBG(DBG_proc, "xsane_save_ps_pdf_bw\n");
-
- *cancel_save = 0;
-
- line = (unsigned char *) malloc(bytes_per_line);
-
- if (line == NULL)
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s malloc failed", ERR_DURING_SAVE);
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- return (*cancel_save);
- }
-
- for (y = 0; y < image_info->image_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (x = 0; x < bytes_per_line; x++)
- {
- line[x] = fgetc(imagefile) ^ 255;
- }
-
-#ifdef HAVE_LIBZ
- if (flatdecode)
- {
- ret = xsane_write_compressed_a85_flatdecode(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
- }
- else
-#endif
- {
- ret = xsane_write_compressed_a85(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
- }
-
- if ((ret != 0) || (ferror(outfile)))
- {
- char buf[255];
-
- if (ret == 0)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- }
- else
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_ZLIB);
- }
-
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
-
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- free(line);
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static int xsane_save_ps_pdf_gray(FILE *outfile, FILE *imagefile, Image_info *image_info, int flatdecode, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int x, y;
- int ret;
- unsigned char *line;
-
- DBG(DBG_proc, "xsane_save_ps_pdf_gray\n");
-
- *cancel_save = 0;
-
- line = (unsigned char *) malloc(image_info->image_width);
-
- if (line == NULL)
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s malloc failed", ERR_DURING_SAVE);
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- return (*cancel_save);
- }
-
- for (y = 0; y < image_info->image_height; y++)
- {
- if (image_info->depth > 8) /* reduce 16 bit images */
- {
- guint16 val;
-
- for (x = 0; x < image_info->image_width; x++)
- {
- fread(&val, 2, 1, imagefile);
- line[x] = val/256;
- }
- }
- else /* 8 bits/sample */
- {
- for (x = 0; x < image_info->image_width; x++)
- {
- line[x] = fgetc(imagefile);
- }
- }
-
-#ifdef HAVE_LIBZ
- if (flatdecode)
- {
- ret = xsane_write_compressed_a85_flatdecode(outfile, line, image_info->image_width, (y == image_info->image_height - 1));
- }
- else
-#endif
- {
- ret = xsane_write_compressed_a85(outfile, line, image_info->image_width, (y == image_info->image_height - 1));
- }
-
- if ((ret != 0) || (ferror(outfile)))
- {
- char buf[255];
-
- if (ret == 0)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- }
- else
- {
- snprintf(buf, sizeof(buf), "%s zlib error or memory allocation problem", ERR_DURING_SAVE);
- }
-
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
-
- break;
- }
-
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- free(line);
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static int xsane_save_ps_pdf_color(FILE *outfile, FILE *imagefile, Image_info *image_info, int flatdecode, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int x, y;
- int ret;
- unsigned char *line, *linep;
-
- DBG(DBG_proc, "xsane_save_ps_pdf_color\n");
-
- *cancel_save = 0;
-
- line = (unsigned char *) malloc(image_info->image_width * 3);
-
- if (line == NULL)
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s malloc failed", ERR_DURING_SAVE);
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- return (*cancel_save);
- }
-
- for (y = 0; y < image_info->image_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- linep = line;
-
- if (image_info->depth > 8) /* reduce 16 bit images */
- {
- guint16 val;
-
- for (x = 0; x < image_info->image_width; x++)
- {
- fread(&val, 2, 1, imagefile);
- *linep++ = val/256;
- fread(&val, 2, 1, imagefile);
- *linep++ = val/256;
- fread(&val, 2, 1, imagefile);
- *linep++ = val/256;
- }
- }
- else /* 8 bits/sample */
- {
- for (x = 0; x < image_info->image_width; x++)
- {
- *linep++ = fgetc(imagefile);
- *linep++ = fgetc(imagefile);
- *linep++ = fgetc(imagefile);
- }
- }
-
-#ifdef HAVE_LIBZ
- if (flatdecode)
- {
- ret = xsane_write_compressed_a85_flatdecode(outfile, line, (image_info->image_width * 3), (y == image_info->image_height - 1));
- }
- else
-#endif
- {
- ret = xsane_write_compressed_a85(outfile, line, (image_info->image_width * 3), (y == image_info->image_height - 1));
- }
-
- if ((ret != 0) || (ferror(outfile)))
- {
- char buf[255];
-
- if (ret == 0)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- }
- else
- {
- snprintf(buf, sizeof(buf), "%s zlib error or memory allocation problem", ERR_DURING_SAVE);
- }
-
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
-
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- free(line);
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_save_ps_page(FILE *outfile, int page,
- FILE *imagefile, Image_info *image_info, float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperheight, int paperwidth, int paper_orientation,
- int flatdecode,
- GtkProgressBar *progress_bar, int *cancel_save)
-{
- DBG(DBG_proc, "xsane_save_ps_page\n");
-
- xsane_save_ps_create_page_header(outfile, page,
- image_info, width, height,
- paper_left_margin, paper_bottom_margin, paperheight, paperwidth, paper_orientation,
- flatdecode,
- progress_bar);
-
- if (image_info->colors == 1) /* lineart, halftone, grayscale */
- {
- if (image_info->depth == 1) /* lineart, halftone */
- {
- xsane_save_ps_pdf_bw(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
- }
- else /* grayscale */
- {
- xsane_save_ps_pdf_gray(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
- }
- }
- else /* color RGB */
- {
- xsane_save_ps_pdf_color(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
- }
-
- xsane_save_ps_create_page_trailer(outfile);
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_save_ps(FILE *outfile, FILE *imagefile, Image_info *image_info, float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperheight, int paperwidth, int paper_orientation,
- int flatdecode,
- GtkProgressBar *progress_bar, int *cancel_save)
-{
- DBG(DBG_proc, "xsane_save_ps\n");
-
- *cancel_save = 0;
-
- xsane_save_ps_create_document_header(outfile, 1 /* pages */, flatdecode);
-
- xsane_save_ps_page(outfile, 1 /* page */,
- imagefile, image_info, width, height,
- paper_left_margin, paper_bottom_margin, paperheight, paperwidth, paper_orientation,
- flatdecode,
- progress_bar, cancel_save);
-
- xsane_save_ps_create_document_trailer(outfile, 0 /* we defined pages at beginning */);
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-/* The pdf_xref struct holds byte offsets from the beginning of the PDF
- * file to each object of the PDF file -- used to build the xref table
- */
-struct pdf_xref
-{
- unsigned long obj5; /* obj 5 0 */
- unsigned long obj6; /* obj 6 0 */
- unsigned long obj7; /* obj 7 0 */
- unsigned long xref; /* xref table */
- unsigned long slen; /* length of image stream */
- unsigned long slenp; /* position of image stream length */
-};
-
-static void xsane_save_pdf_create_header(FILE *outfile, Image_info *image_info,
- float width, float height,
- int paper_left_margin, int paper_bottom_margin,
- int paper_width, int paper_height,
- int paper_orientation, int flatdecode,
- GtkProgressBar *progress_bar, struct pdf_xref *xref)
-{
- int position_left, position_bottom, box_left, box_bottom, box_right, box_top, depth;
- int left, bottom;
- float rad;
-
- DBG(DBG_proc, "xsane_save_pdf_create_header\n");
-
- switch (paper_orientation)
- {
- default:
- case 0: /* top left portrait */
- left = 0.0;
- bottom = paper_height - height;
- break;
-
- case 1: /* top right portrait */
- left = paper_width - width;
- bottom = paper_height - height;
- break;
-
- case 2: /* bottom right portrait */
- left = paper_width - width;
- bottom = 0.0;
- break;
-
- case 3: /* bottom left portrait */
- left = 0.0;
- bottom = 0.0;
- break;
-
- case 4: /* center portrait */
- left = paper_width / 2.0 - width / 2.0;
- bottom = paper_height / 2.0 - height / 2.0;
- break;
-
-
- case 8: /* top left landscape */
- left = 0.0;
- bottom = paper_width - height;
- break;
-
- case 9: /* top right landscape */
- left = paper_height - width;
- bottom = paper_width - height;
- break;
-
- case 10: /* bottom right landscape */
- left = paper_height - width;
- bottom = 0.0;
- break;
-
- case 11: /* bottom left landscape */
- left = 0.0;
- bottom = 0.0;
- break;
-
- case 12: /* center landscape */
- left = paper_height / 2.0 - width / 2.0;
- bottom = paper_width / 2.0 - height / 2.0;
- break;
- }
-
-
- if (paper_orientation >= 8) /* rotate with 90 degrees - landscape mode */
- {
- rad = -M_PI_2; /* pi / 2 */
- position_left = left + paper_bottom_margin;
- position_bottom = bottom - paper_width - paper_left_margin;
- box_left = paper_width - paper_left_margin - bottom - height;
- box_bottom = left + paper_bottom_margin;
- box_right = box_left + ceil(height);
- box_top = box_bottom + ceil(width);
- }
- else /* do not rotate, portrait mode */
- {
- rad = 0;
- position_left = left + paper_left_margin;
- position_bottom = bottom + paper_bottom_margin;
- box_left = left + paper_left_margin;
- box_bottom = bottom + paper_bottom_margin;
- box_right = box_left + ceil(width);
- box_top = box_bottom + ceil(height);
- }
-
- depth = image_info->depth;
-
- if (depth > 8)
- {
- depth = 8;
- }
-
- fprintf(outfile, "%%PDF-1.4\n");
- fprintf(outfile, "\n");
- fprintf(outfile, "1 0 obj\n");
- fprintf(outfile, " << /Type /Catalog\n");
- fprintf(outfile, " /Outlines 2 0 R\n");
- fprintf(outfile, " /Pages 3 0 R\n");
- fprintf(outfile, " >>\n");
- fprintf(outfile, "endobj\n");
- fprintf(outfile, "\n");
- fprintf(outfile, "2 0 obj\n");
- fprintf(outfile, " << /Type /Outlines\n");
- fprintf(outfile, " /Count 0\n");
- fprintf(outfile, " >>\n");
- fprintf(outfile, "endobj\n");
- fprintf(outfile, "\n");
- fprintf(outfile, "3 0 obj\n");
- fprintf(outfile, " << /Type /Pages\n");
- fprintf(outfile, " /Kids [4 0 R]\n");
- fprintf(outfile, " /Count 1\n");
- fprintf(outfile, " >>\n");
- fprintf(outfile, "endobj\n");
- fprintf(outfile, "\n");
- fprintf(outfile, "4 0 obj\n");
- fprintf(outfile, " << /Type /Page\n");
- fprintf(outfile, " /Parent 3 0 R\n");
- fprintf(outfile, " /MediaBox [%d %d %d %d]\n", box_left, box_bottom, box_right, box_top);
- fprintf(outfile, " /Contents 5 0 R\n");
- fprintf(outfile, " /Resources << /ProcSet 6 0 R >>\n");
- fprintf(outfile, " >>\n");
- fprintf(outfile, "endobj\n");
- fprintf(outfile, "\n");
-
- /* Offset of object 5, for xref */
- xref->obj5 = ftell(outfile);
-
- fprintf(outfile, "5 0 obj\n");
- fprintf(outfile, " << /Length >>\n");
-
- /* Position of the stream length, to be written later on */
- xref->slenp = ftell(outfile) - 15;
-
- fprintf(outfile, "stream\n");
-
- /* Start of the stream data */
- xref->slen = ftell(outfile);
-
- fprintf(outfile, "q\n");
- fprintf(outfile, "1 0 0 1 %d %d cm\n", position_left, position_bottom); /* translate */
- fprintf(outfile, "%f %f -%f %f 0 0 cm\n", cos(rad), sin(rad), sin(rad), cos(rad)); /* rotate */
- fprintf(outfile, "%f 0 0 %f 0 0 cm\n", width, height); /* scale */
- fprintf(outfile, "BI\n");
- fprintf(outfile, " /W %d\n", image_info->image_width);
- fprintf(outfile, " /H %d\n", image_info->image_height);
-
- if (image_info->colors == 3) /* what about RGBA here ? */
- {
- fprintf(outfile, " /CS /RGB\n");
- fprintf(outfile, " /BPC %d\n", depth);
- }
- else if (image_info->depth == 1) /* BW */
- {
- fprintf(outfile, " /CS /G\n");
- fprintf(outfile, " /BPC 1\n");
- }
- else /* gray */
- {
- fprintf(outfile, " /CS /G\n");
- fprintf(outfile, " /BPC 8\n");
- }
-
-#ifdef HAVE_LIBZ
- if (flatdecode)
- {
- fprintf(outfile, " /F [/A85 /FlateDecode]\n");
- }
- else
- {
- fprintf(outfile, " /F /A85\n");
- }
-#else
- fprintf(outfile, " /F /A85\n");
-#endif
- fprintf(outfile, "ID\n");
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_save_pdf(FILE *outfile, FILE *imagefile, Image_info *image_info, float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperheight, int paperwidth, int paper_orientation,
- int flatdecode,
- GtkProgressBar *progress_bar, int *cancel_save)
-{
- struct tm *t;
- time_t tt;
- struct pdf_xref xref;
-
- DBG(DBG_proc, "xsane_save_pdf\n");
-
- *cancel_save = 0;
-
- xsane_save_pdf_create_header(outfile, image_info, width, height,
- paper_left_margin, paper_bottom_margin, paperheight, paperwidth, paper_orientation,
- flatdecode,
- progress_bar, &xref);
-
- if (image_info->colors == 1) /* lineart, halftone, grayscale */
- {
- if (image_info->depth == 1) /* lineart, halftone */
- {
- xsane_save_ps_pdf_bw(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
- }
- else /* grayscale */
- {
- xsane_save_ps_pdf_gray(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
- }
- }
- else /* color RGB */
- {
- xsane_save_ps_pdf_color(outfile, imagefile, image_info, flatdecode, progress_bar, cancel_save);
- }
-
- /* PDF trailer */
- fprintf(outfile, "EI\n");
- fprintf(outfile, "Q\n");
-
- /* Go back and write the length of the stream */
- xref.slen = ftell(outfile) - xref.slen - 1;
- fseek(outfile, xref.slenp, SEEK_SET);
- fprintf(outfile, "%lu", xref.slen);
- fseek(outfile, 0L, SEEK_END);
-
- fprintf(outfile, "endstream\n");
- fprintf(outfile, "endobj\n");
- fprintf(outfile, "\n");
-
- /* Offset of object 6, for xref */
- xref.obj6 = ftell(outfile);
-
- fprintf(outfile, "6 0 obj\n");
- fprintf(outfile, " [/PDF]\n");
- fprintf(outfile, "endobj\n");
- fprintf(outfile, "\n");
-
- /* Offset of object 7, for xref */
- xref.obj7 = ftell(outfile);
-
- fprintf(outfile, "7 0 obj\n");
- fprintf(outfile, " << /Title (XSane scanned image)\n");
- fprintf(outfile, " /Creator (XSane version %s (sane %d.%d) - by Oliver Rauch)\n",
- VERSION,
- SANE_VERSION_MAJOR(xsane.sane_backend_versioncode),
- SANE_VERSION_MINOR(xsane.sane_backend_versioncode));
- fprintf(outfile, " /Producer (XSane %s)\n", VERSION);
-
- tt = time(NULL);
- t = gmtime(&tt);
-
- fprintf(outfile, " /CreationDate (D:%04d%02d%02d%02d%02d%02d+00'00')\n",
- 1900 + t->tm_year, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
- fprintf(outfile, " >>\n");
- fprintf(outfile, "endobj\n");
- fprintf(outfile, "\n");
-
- /* Offset of xref, for startxref below */
- xref.xref = ftell(outfile);
-
- fprintf(outfile, "xref\n");
- fprintf(outfile, "0 8\n");
- fprintf(outfile, "0000000000 65535 f \n");
- fprintf(outfile, "0000000010 00000 n \n");
- fprintf(outfile, "0000000094 00000 n \n");
- fprintf(outfile, "0000000153 00000 n \n");
- fprintf(outfile, "0000000229 00000 n \n");
- fprintf(outfile, "%010lu 00000 n \n", xref.obj5);
- fprintf(outfile, "%010lu 00000 n \n", xref.obj6);
- fprintf(outfile, "%010lu 00000 n \n", xref.obj7);
- fprintf(outfile, "\n");
- fprintf(outfile, "trailer\n");
- fprintf(outfile, " << /Size 8\n");
- fprintf(outfile, " /Root 1 0 R\n");
- fprintf(outfile, " /Info 7 0 R\n");
- fprintf(outfile, " >>\n");
- fprintf(outfile, "startxref\n");
- fprintf(outfile, "%lu\n", xref.xref);
- fprintf(outfile, "%%%%EOF\n");
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-#ifdef HAVE_LIBJPEG
-
-typedef struct
-{
- struct jpeg_error_mgr pub;/* "public" fields */
- int *cancel_save;
-} xsane_jpeg_error_mgr;
-
-typedef xsane_jpeg_error_mgr *xsane_jpeg_error_mgr_ptr;
-
-static void xsane_jpeg_error_exit(j_common_ptr cinfo)
-{
- char buf[256];
-
- /* cinfo->err points to a xsane_jpeg_error_mgr struct */
- xsane_jpeg_error_mgr_ptr xsane_jpeg_error_mgr_data = (xsane_jpeg_error_mgr_ptr) cinfo->err;
-
-
- if (!*xsane_jpeg_error_mgr_data->cancel_save)
- {
- /* output original error message */
- (*cinfo->err->output_message) (cinfo);
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_LIBJPEG);
- xsane_back_gtk_error(buf, TRUE);
- }
-
- *xsane_jpeg_error_mgr_data->cancel_save = 1;
-}
-
-int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int quality, GtkProgressBar *progress_bar, int *cancel_save)
-{
- unsigned char *data;
- char buf[256];
- int components = 1;
- int x,y;
- int bytespp = 1;
- struct jpeg_compress_struct cinfo;
- xsane_jpeg_error_mgr jerr;
- JSAMPROW row_pointer[1];
-
- DBG(DBG_proc, "xsane_save_jpeg\n");
-
- *cancel_save = 0;
-
- if (image_info->colors == 3)
- {
- components = 3;
- }
-
- if (image_info->depth > 8)
- {
- bytespp = 2;
- }
-
- data = malloc(image_info->image_width * components * bytespp);
-
- if (!data)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
- xsane_back_gtk_error(buf, TRUE);
- return -1; /* error */
- }
-
- cinfo.err = jpeg_std_error(&jerr.pub);
- jerr.pub.error_exit = xsane_jpeg_error_exit;
- jerr.cancel_save = cancel_save;
-
- jpeg_create_compress(&cinfo);
- jpeg_stdio_dest(&cinfo, outfile);
- cinfo.image_width = image_info->image_width;
- cinfo.image_height = image_info->image_height;
- cinfo.input_components = components;
- if (image_info->colors == 3)
- {
- cinfo.in_color_space = JCS_RGB;
- }
- else
- {
- cinfo.in_color_space = JCS_GRAYSCALE;
- }
- jpeg_set_defaults(&cinfo);
-
- jpeg_set_quality(&cinfo, quality, TRUE);
-
- cinfo.density_unit = 1; /* dpi */
- cinfo.X_density = image_info->resolution_x;
- cinfo.Y_density = image_info->resolution_y;
-
- jpeg_start_compress(&cinfo, TRUE);
-
- for (y = 0; y < image_info->image_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- if (image_info->depth == 1)
- {
- int byte = 0;
- int mask = 128;
-
- for (x = 0; x < image_info->image_width; x++)
- {
-
- if ( (x % 8) == 0)
- {
- byte = fgetc(imagefile);
- mask = 128;
- }
-
- if (byte & mask)
- {
- data[x] = 0;
- }
- else
- {
- data[x] = 255;
- }
- mask >>= 1;
- }
- }
- else if (image_info->depth > 8) /* jpeg does not support 16 bits/sample, so we reduce it at first */
- {
- guint16 *data16 = (guint16 *) data;
- fread(data, components * 2, image_info->image_width, imagefile);
- for (x = 0; x < image_info->image_width * components; x++)
- {
- data[x] = data16[x] / 256;
- }
-
- }
- else /* 8 bits/sample */
- {
- fread(data, components, image_info->image_width, imagefile);
- }
-
- row_pointer[0] = data;
- jpeg_write_scanlines(&cinfo, row_pointer, 1);
-
- if (*cancel_save)
- {
- cinfo.image_height = y; /* correct image height */
- break;
- }
- }
-
- jpeg_finish_compress(&cinfo);
- free(data);
-
- return (*cancel_save);
-}
-#endif
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-#ifdef HAVE_LIBTIFF
-/* pages = 0 => single page tiff, page = 0 */
-/* pages > 0 => page = [1 .. pages] */
-int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Image_info *image_info, int quality,
- GtkProgressBar *progress_bar, int *cancel_save)
-{
- char *data;
- char buf[256];
- int y, w;
- int components;
- int compression;
- int bytes;
- struct tm *ptm;
- time_t now;
-
- DBG(DBG_proc, "xsane_save_tiff_page(%d/%d\n", page, pages);
-
- *cancel_save = 0;
-
- if (image_info->depth == 1)
- {
- compression = preferences.tiff_compression1_nr;
- }
- else if (image_info->depth == 8)
- {
- compression = preferences.tiff_compression8_nr;
- }
- else
- {
- compression = preferences.tiff_compression16_nr;
- }
-
-
- if (image_info->colors == 3)
- {
- components = 3;
- }
- else
- {
- components = 1;
- }
-
- if (image_info->depth <= 8)
- {
- bytes = 1;
- }
- else
- {
- bytes = 2;
- }
-
- data = (char *)_TIFFmalloc(image_info->image_width * components * bytes);
-
- if (!data)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
- xsane_back_gtk_error(buf, TRUE);
- return -1; /* error */
- }
-
- TIFFSetField(tiffile, TIFFTAG_IMAGEWIDTH, image_info->image_width);
- TIFFSetField(tiffile, TIFFTAG_IMAGELENGTH, image_info->image_height);
- TIFFSetField(tiffile, TIFFTAG_BITSPERSAMPLE, image_info->depth);
- TIFFSetField(tiffile, TIFFTAG_SAMPLESPERPIXEL, components);
- TIFFSetField(tiffile, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT);
- TIFFSetField(tiffile, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
- TIFFSetField(tiffile, TIFFTAG_COMPRESSION, compression);
- TIFFSetField(tiffile, TIFFTAG_SOFTWARE, "xsane");
-
- time(&now);
- ptm = localtime(&now);
- sprintf(buf, "%04d:%02d:%02d %02d:%02d:%02d", 1900+ptm->tm_year, ptm->tm_mon+1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
- TIFFSetField(tiffile, TIFFTAG_DATETIME, buf);
-
- if (image_info->resolution_x > 0.0)
- {
- TIFFSetField(tiffile, TIFFTAG_RESOLUTIONUNIT, RESUNIT_INCH);
- TIFFSetField(tiffile, TIFFTAG_XRESOLUTION, image_info->resolution_x);
- TIFFSetField(tiffile, TIFFTAG_YRESOLUTION, image_info->resolution_y);
- }
-
- if (compression == COMPRESSION_JPEG)
- {
- TIFFSetField(tiffile, TIFFTAG_JPEGQUALITY, quality);
- TIFFSetField(tiffile, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RAW); /* should be default, but to be sure */
- }
-
- if (image_info->colors == 3)
- {
- TIFFSetField(tiffile, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB);
- }
- else
- {
- if (image_info->depth == 1) /* lineart */
- {
- TIFFSetField(tiffile, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISWHITE);
- }
- else /* grayscale */
- {
- TIFFSetField(tiffile, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
- }
- }
-
- TIFFSetField(tiffile, TIFFTAG_ROWSPERSTRIP, TIFFDefaultStripSize(tiffile, -1));
-
- if (pages)
- {
- TIFFSetField(tiffile, TIFFTAG_SUBFILETYPE, FILETYPE_PAGE);
- TIFFSetField(tiffile, TIFFTAG_PAGENUMBER, page, pages);
- }
-
- w = TIFFScanlineSize(tiffile);
-
- for (y = 0; y < image_info->image_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- fread(data, 1, w, imagefile);
-
- if (TIFFWriteScanline(tiffile, data, y, 0) != 1)
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s", ERR_DURING_SAVE);
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- if (pages)
- {
- TIFFWriteDirectory(tiffile);
- }
-
- _TIFFfree(data);
- return (*cancel_save);
-}
-#endif
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-#ifdef HAVE_LIBPNG
-#ifdef HAVE_LIBZ
-int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int compression, GtkProgressBar *progress_bar, int *cancel_save)
-{
- png_structp png_ptr;
- png_infop png_info_ptr;
- png_bytep row_ptr;
- png_color_8 sig_bit;
- unsigned char *data;
- char buf[256];
- int colortype, components, byte_width;
- int y;
-
- DBG(DBG_proc, "xsane_save_png\n");
-
- *cancel_save = 0;
-
- png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0);
- if (!png_ptr)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_LIBPNG);
- xsane_back_gtk_error(buf, TRUE);
- return -1; /* error */
- }
-
- png_info_ptr = png_create_info_struct(png_ptr);
- if (!png_info_ptr)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_LIBTIFF);
- xsane_back_gtk_error(buf, TRUE);
- return -1; /* error */
- }
-
- if (setjmp(png_ptr->jmpbuf))
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_LIBPNG);
- xsane_back_gtk_error(buf, TRUE);
- png_destroy_write_struct(&png_ptr, (png_infopp) 0);
- return -1; /* error */
- }
-
- byte_width = image_info->image_width;
-
- if (image_info->colors == 4) /* RGBA */
- {
- components = 4;
- colortype = PNG_COLOR_TYPE_RGB_ALPHA;
- }
- else if (image_info->colors == 3) /* RGB */
- {
- components = 3;
- colortype = PNG_COLOR_TYPE_RGB;
- }
- else /* gray or black/white */
- {
- components = 1;
- colortype = PNG_COLOR_TYPE_GRAY;
- }
-
- png_init_io(png_ptr, outfile);
- png_set_compression_level(png_ptr, compression);
- png_set_IHDR(png_ptr, png_info_ptr, image_info->image_width, image_info->image_height, image_info->depth,
- colortype, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
-
- if (image_info->colors >=3)
- {
- sig_bit.red = image_info->depth;
- sig_bit.green = image_info->depth;
- sig_bit.blue = image_info->depth;
-
- if (image_info->colors == 4)
- {
- sig_bit.alpha = image_info->depth;
- }
-
- }
- else
- {
- sig_bit.gray = image_info->depth;
-
- if (image_info->depth == 1)
- {
- byte_width = (image_info->image_width+7)/8;
- png_set_invert_mono(png_ptr);
- }
- }
-
- png_set_sBIT(png_ptr, png_info_ptr, &sig_bit);
-#if defined(PNG_pHYs_SUPPORTED)
- png_set_pHYs(png_ptr, png_info_ptr,
- image_info->resolution_x * 100.0 / 2.54,
- image_info->resolution_y * 100.0 / 2.54, PNG_RESOLUTION_METER);
-#endif
- png_write_info(png_ptr, png_info_ptr);
- png_set_shift(png_ptr, &sig_bit);
-
- data = malloc(image_info->image_width * components);
-
- if (!data)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
- xsane_back_gtk_error(buf, TRUE);
- png_destroy_write_struct(&png_ptr, (png_infopp) 0);
- return -1; /* error */
- }
-
- for (y = 0; y < image_info->image_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- fread(data, components, byte_width, imagefile);
-
- row_ptr = data;
- png_write_rows(png_ptr, &row_ptr, 1); /* errors are caught by test sor setjmp(...) */
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- free(data);
- png_write_end(png_ptr, png_info_ptr);
- png_destroy_write_struct(&png_ptr, (png_infopp) 0);
-
- return (*cancel_save);
-}
-#endif
-#endif
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-#ifdef HAVE_LIBPNG
-#ifdef HAVE_LIBZ
-int xsane_save_png_16(FILE *outfile, FILE *imagefile, Image_info *image_info, int compression, GtkProgressBar *progress_bar, int *cancel_save)
-{
- png_structp png_ptr;
- png_infop png_info_ptr;
- png_bytep row_ptr;
- png_color_8 sig_bit; /* should be 16, but then I get a warning about wrong type */
- unsigned char *data;
- char buf[256];
- int colortype, components;
- int x,y;
- guint16 val;
-
- DBG(DBG_proc, "xsane_save_png16\n");
-
- *cancel_save = 0;
-
- png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0);
- if (!png_ptr)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_LIBPNG);
- xsane_back_gtk_error(buf, TRUE);
- return -1; /* error */
- }
-
- png_info_ptr = png_create_info_struct(png_ptr);
- if (!png_info_ptr)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_LIBPNG);
- xsane_back_gtk_error(buf, TRUE);
- return -1; /* error */
- }
-
- if (setjmp(png_ptr->jmpbuf))
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_LIBPNG);
- xsane_back_gtk_error(buf, TRUE);
- png_destroy_write_struct(&png_ptr, (png_infopp) 0);
- return -1; /* error */
- }
-
- if (image_info->colors == 4) /* RGBA */
- {
- components = 4;
- colortype = PNG_COLOR_TYPE_RGB_ALPHA;
- }
- else if (image_info->colors == 3) /* RGB */
- {
- components = 3;
- colortype = PNG_COLOR_TYPE_RGB;
- }
- else /* gray or black/white */
- {
- components = 1;
- colortype = PNG_COLOR_TYPE_GRAY;
- }
-
- png_init_io(png_ptr, outfile);
- png_set_compression_level(png_ptr, compression);
- png_set_IHDR(png_ptr, png_info_ptr, image_info->image_width, image_info->image_height, 16,
- colortype, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
-
- sig_bit.red = image_info->depth;
- sig_bit.green = image_info->depth;
- sig_bit.blue = image_info->depth;
- sig_bit.alpha = image_info->depth;
- sig_bit.gray = image_info->depth;
-
- png_set_sBIT(png_ptr, png_info_ptr, &sig_bit);
- png_write_info(png_ptr, png_info_ptr);
- png_set_shift(png_ptr, &sig_bit);
- png_set_packing(png_ptr);
-
- data = malloc(image_info->image_width * components * 2);
-
- if (!data)
- {
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, ERR_NO_MEM);
- xsane_back_gtk_error(buf, TRUE);
- png_destroy_write_struct(&png_ptr, (png_infopp) 0);
- return -1; /* error */
- }
-
- for (y = 0; y < image_info->image_height; y++)
- {
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- for (x = 0; x < image_info->image_width * components; x++) /* this must be changed in dependance of endianess */
- {
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- data[x*2+0] = val / 256; /* write data in network order (MSB first) */
- data[x*2+1] = val & 255;
- }
-
- row_ptr = data;
- png_write_rows(png_ptr, &row_ptr, 1);
- if (*cancel_save)
- {
- break;
- }
- }
-
- free(data);
- png_write_end(png_ptr, png_info_ptr);
- png_destroy_write_struct(&png_ptr, (png_infopp) 0);
-
- return (*cancel_save);
-}
-#endif
-#endif
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static int xsane_save_pnm_16_ascii_gray(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int x,y;
- guint16 val;
- int count = 0;
-
- DBG(DBG_proc, "xsane_save_pnm_16_ascii_gray\n");
-
- *cancel_save = 0;
-
- for (y = 0; y < image_info->image_height; y++)
- {
- for (x = 0; x < image_info->image_width; x++)
- {
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fprintf(outfile, "%d ", val);
-
- if (++count >= 10)
- {
- fprintf(outfile, "\n");
- count = 0;
- }
- }
- fprintf(outfile, "\n");
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- count = 0;
-
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
- if (*cancel_save)
- {
- break;
- }
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static int xsane_save_pnm_16_ascii_color(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int x,y;
- guint16 val;
- int count = 0;
-
- DBG(DBG_proc, "xsane_save_pnm_16_ascii_color\n");
-
- *cancel_save = 0;
-
- for (y = 0; y < image_info->image_height; y++)
- {
- for (x = 0; x < image_info->image_width; x++)
- {
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fprintf(outfile, "%d ", val);
-
- fread(&val, 2, 1, imagefile);
- fprintf(outfile, "%d ", val);
-
- fread(&val, 2, 1, imagefile);
- fprintf(outfile, "%d ", val);
-
- if (++count >= 3)
- {
- fprintf(outfile, "\n");
- count = 0;
- }
- }
- fprintf(outfile, "\n");
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- count = 0;
-
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static int xsane_save_pnm_16_binary_gray(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int x,y;
- guint16 val;
-
- DBG(DBG_proc, "xsane_save_pnm_16_binary_gray\n");
-
- *cancel_save = 0;
-
- for (y = 0; y < image_info->image_height; y++)
- {
- for (x = 0; x < image_info->image_width; x++)
- {
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fputc(val / 256, outfile); /* MSB fist */
- fputc(val & 255, outfile); /* LSB */
- }
-
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static int xsane_save_pnm_16_binary_color(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int x,y;
- guint16 val;
-
- DBG(DBG_proc, "xsane_save_pnm_16_binary_color\n");
-
- *cancel_save = 0;
-
- for (y = 0; y < image_info->image_height; y++)
- {
- for (x = 0; x < image_info->image_width; x++)
- {
- /* red */
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fputc(val / 256, outfile); /* MSB fist */
- fputc(val & 255, outfile); /* LSB */
-
- /* green */
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fputc(val / 256, outfile); /* MSB fist */
- fputc(val & 255, outfile); /* LSB */
-
- /* blue */
- fread(&val, 2, 1, imagefile); /* get data in machine order */
- fputc(val / 256, outfile); /* MSB fist */
- fputc(val & 255, outfile); /* LSB */
- }
-
- gtk_progress_bar_update(progress_bar, (float) y / image_info->image_height);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
-
- if (ferror(outfile))
- {
- char buf[255];
-
- snprintf(buf, sizeof(buf), "%s %s", ERR_DURING_SAVE, strerror(errno));
- DBG(DBG_error, "%s\n", buf);
- xsane_back_gtk_decision(ERR_HEADER_ERROR, (gchar **) error_xpm, buf, BUTTON_OK, NULL, TRUE /* wait */);
- *cancel_save = 1;
- break;
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_save_pnm_16(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save)
-{
- DBG(DBG_proc, "xsane_save_pnm_16\n");
-
- *cancel_save = 0;
-
- xsane_write_pnm_header(outfile, image_info, preferences.save_pnm16_as_ascii);
-
- if (image_info->colors > 1)
- {
- if (preferences.save_pnm16_as_ascii)
- {
- xsane_save_pnm_16_ascii_color(outfile, imagefile, image_info, progress_bar, cancel_save);
- }
- else
- {
- xsane_save_pnm_16_binary_color(outfile, imagefile, image_info, progress_bar, cancel_save);
- }
- }
- else
- {
- if (preferences.save_pnm16_as_ascii)
- {
- xsane_save_pnm_16_ascii_gray(outfile, imagefile, image_info, progress_bar, cancel_save);
- }
- else
- {
- xsane_save_pnm_16_binary_gray(outfile, imagefile, image_info, progress_bar, cancel_save);
- }
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-/* 0=ok, <0=error, 1=canceled */
-int xsane_save_image_as_lineart(char *output_filename, char *input_filename, GtkProgressBar *progress_bar, int *cancel_save)
-{
- FILE *outfile;
- FILE *infile;
- char buf[256];
- Image_info image_info;
-
- *cancel_save = 0;
-
- outfile = fopen(output_filename, "wb"); /* b = binary mode for win32 */
-
- if (outfile == 0)
- {
- snprintf(buf, sizeof(buf), "%s `%s': %s", ERR_OPEN_FAILED, output_filename, strerror(errno));
- xsane_back_gtk_error(buf, TRUE);
- return -2;
- }
-
- infile = fopen(input_filename, "rb"); /* read binary (b for win32) */
- if (infile == 0)
- {
- char buf[256];
- snprintf(buf, sizeof(buf), "%s `%s': %s", ERR_OPEN_FAILED, input_filename, strerror(errno));
- xsane_back_gtk_error(buf, TRUE);
-
- fclose(outfile);
- remove(output_filename); /* remove already created output file */
- return -1;
- }
-
- xsane_read_pnm_header(infile, &image_info);
-
- xsane_save_grayscale_image_as_lineart(outfile, infile, &image_info, progress_bar, cancel_save);
-
- fclose(infile);
- fclose(outfile);
-
- if (*cancel_save) /* remove output file if saving has been canceled */
- {
- remove(output_filename);
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_save_image_as_text(char *output_filename, char *input_filename, GtkProgressBar *progress_bar, int *cancel_save)
-{
- char *arg[1000];
- char buf[256];
- int argnr;
- pid_t pid;
- int i;
- int pipefd[2]; /* for progress communication with gocr */
- FILE *ocr_progress = NULL;
-
- DBG(DBG_proc, "xsane_save_image_as_text\n");
-
- argnr = xsane_parse_options(preferences.ocr_command, arg);
-
- arg[argnr++] = strdup(preferences.ocr_inputfile_option);
- arg[argnr++] = strdup(input_filename);
-
- arg[argnr++] = strdup(preferences.ocr_outputfile_option);
- arg[argnr++] = strdup(output_filename);
-
- if (preferences.ocr_use_gui_pipe)
- {
- if (!pipe(pipefd)) /* success */
- {
- DBG(DBG_info, "xsane_save_image_as_text: created pipe for progress communication\n");
-
- arg[argnr++] = strdup(preferences.ocr_gui_outfd_option);
-
- snprintf(buf, sizeof(buf),"%d", pipefd[1]);
- arg[argnr++] = strdup(buf);
- }
- else
- {
- DBG(DBG_info, "xsane_save_image_as_text: could not create pipe for progress communication\n");
- pipefd[0] = 0;
- pipefd[1] = 0;
- }
- }
- else
- {
- DBG(DBG_info, "xsane_save_image_as_text: no pipe for progress communication requested\n");
- pipefd[0] = 0;
- pipefd[1] = 0;
- }
-
- arg[argnr] = 0;
-
-#ifndef HAVE_OS2_H
- pid = fork();
-
- if (pid == 0) /* new process */
- {
- FILE *ipc_file = NULL;
-
- if (xsane.ipc_pipefd[0]) /* did we create the progress pipe? */
- {
- close(xsane.ipc_pipefd[0]); /* close reading end of pipe */
- ipc_file = fdopen(xsane.ipc_pipefd[1], "w");
- }
-
- if (pipefd[0]) /* did we create the progress pipe? */
- {
- close(pipefd[0]); /* close reading end of pipe */
- }
-
- DBG(DBG_info, "trying to change user id for new subprocess:\n");
- DBG(DBG_info, "old effective uid = %d\n", (int) geteuid());
- setuid(getuid());
- DBG(DBG_info, "new effective uid = %d\n", (int) geteuid());
-
-
- execvp(arg[0], arg); /* does not return if successfully */
- DBG(DBG_error, "%s %s\n", ERR_FAILED_EXEC_OCR_CMD, preferences.ocr_command);
-
- /* send error message via IPC pipe to parent process */
- if (ipc_file)
- {
- fprintf(ipc_file, "%s %s:\n%s", ERR_FAILED_EXEC_OCR_CMD, preferences.ocr_command, strerror(errno));
- fflush(ipc_file); /* make sure message is displayed */
- fclose(ipc_file);
- }
-
- _exit(0); /* do not use exit() here! otherwise gtk gets in trouble */
- }
-
-#else
- pid = spawnvp(P_NOWAIT, arg[0], arg);
- if (pid == -1)
- {
- DBG(DBG_error, "%s %s\n", ERR_FAILED_EXEC_OCR_CMD, preferences.ocr_command);
- }
-#endif
-
- if (pipefd[1])
- {
- close(pipefd[1]); /* close writing end of pipe */
- ocr_progress = fdopen(pipefd[0], "r"); /* open reading end of pipe as file */
- }
-
- for (i=0; i<argnr; i++)
- {
- free(arg[i]);
- }
-
- if (ocr_progress) /* pipe available */
- {
- gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), 0.0);
-
- while (!feof(ocr_progress))
- {
- int progress, subprogress;
- float fprogress;
-
- fgets(buf, sizeof(buf), ocr_progress);
-
- if (!strncmp(preferences.ocr_progress_keyword, buf, strlen(preferences.ocr_progress_keyword)))
- {
- sscanf(buf + strlen(preferences.ocr_progress_keyword), "%d %d", &progress, &subprogress);
-
- snprintf(buf, sizeof(buf), "%s (%d:%d)", PROGRESS_OCR, progress, subprogress);
- gtk_progress_set_format_string(GTK_PROGRESS(progress_bar), buf);
-
- fprogress = progress / 100.0;
-
- if (fprogress < 0.0)
- {
- fprogress = 0.0;
- }
-
- if (fprogress > 11.0)
- {
- fprogress = 1.0;
- }
-
- gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), fprogress);
- }
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
- }
-
- gtk_progress_set_format_string(GTK_PROGRESS(progress_bar), "");
- gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), 0.0);
- }
- else /* no pipe available */
- {
- while (pid)
- {
- int status = 0;
- pid_t pid_status = waitpid(pid, &status, WNOHANG);
-
- if (pid == pid_status)
- {
- pid = 0; /* ok, child process has terminated */
- }
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
- }
- }
-
- if (pipefd[0])
- {
- fclose(ocr_progress); /* close reading end of pipe */
- }
-
- return (*cancel_save);
-}
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-/* save image in destination file format. lineart images that are stored as grayscale image are reduced to lineart! */
-int xsane_save_image_as(char *output_filename, char *input_filename, int output_format, GtkProgressBar *progress_bar, int *cancel_save)
-{
- FILE *outfile;
- FILE *infile;
- char buf[256];
- Image_info image_info;
- char lineart_filename[PATH_MAX];
- int remove_input_file = FALSE;
-
- DBG(DBG_proc, "xsane_save_image_as(output_file=%s, input_file=%s, type=%d)\n", output_filename, input_filename, output_format);
-
- *cancel_save = 0;
-
- infile = fopen(input_filename, "rb"); /* read binary (b for win32) */
- if (infile == 0)
- {
- char buf[256];
- snprintf(buf, sizeof(buf), "%s `%s': %s", ERR_OPEN_FAILED, input_filename, strerror(errno));
- xsane_back_gtk_error(buf, TRUE);
-
- return -1;
- }
-
- xsane_read_pnm_header(infile, &image_info);
-
- if ((image_info.reduce_to_lineart) && (output_format != XSANE_PNM))
- {
- DBG(DBG_info, "original image is a lineart => reduce to lineart\n");
- fclose(infile);
- xsane_back_gtk_make_path(sizeof(lineart_filename), lineart_filename, 0, 0, "xsane-conversion-", xsane.dev_name, ".pbm", XSANE_PATH_TMP);
-
- snprintf(buf, sizeof(buf), "%s: %s", PROGRESS_PACKING_DATA, output_filename);
-
- gtk_progress_set_format_string(GTK_PROGRESS(progress_bar), buf);
- gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), 0.0);
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- xsane_save_image_as_lineart(lineart_filename, input_filename, progress_bar, cancel_save);
-
- input_filename = lineart_filename;
- remove_input_file = TRUE;
-
- infile = fopen(input_filename, "rb"); /* read binary (b for win32) */
- if (infile == 0)
- {
- char buf[256];
- snprintf(buf, sizeof(buf), "%s `%s': %s", ERR_OPEN_FAILED, input_filename, strerror(errno));
- xsane_back_gtk_error(buf, TRUE);
-
- return -1;
- }
-
- xsane_read_pnm_header(infile, &image_info);
- }
-
- snprintf(buf, sizeof(buf), "%s: %s", PROGRESS_SAVING_DATA, output_filename);
-
- gtk_progress_set_format_string(GTK_PROGRESS(progress_bar), buf);
- gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), 0.0);
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
-
-#ifdef HAVE_LIBTIFF
- if (output_format == XSANE_TIFF) /* routines that want to have filename for saving */
- {
- TIFF *tiffile;
-
- if (xsane_create_secure_file(output_filename)) /* remove possibly existing symbolic links for security */
- {
- snprintf(buf, sizeof(buf), "%s %s %s\n", ERR_DURING_SAVE, ERR_CREATE_SECURE_FILE, output_filename);
- xsane_back_gtk_error(buf, TRUE);
- return -1; /* error */
- }
-
- tiffile = TIFFOpen(output_filename, "w");
- if (!tiffile)
- {
- snprintf(buf, sizeof(buf), "%s %s %s\n", ERR_DURING_SAVE, ERR_OPEN_FAILED, output_filename);
- xsane_back_gtk_error(buf, TRUE);
- return -1; /* error */
- }
-
- xsane_save_tiff_page(tiffile, 0, 0, infile, &image_info, preferences.jpeg_quality, progress_bar, cancel_save);
-
- TIFFClose(tiffile);
- }
- else /* routines that want to have filedescriptor for saving */
-#endif /* HAVE_LIBTIFF */
- {
- if (xsane_create_secure_file(output_filename)) /* remove possibly existing symbolic links for security */
- {
- snprintf(buf, sizeof(buf), "%s %s %s\n", ERR_DURING_SAVE, ERR_CREATE_SECURE_FILE, output_filename);
- xsane_back_gtk_error(buf, TRUE);
- return -1; /* error */
- }
-
- outfile = fopen(output_filename, "wb"); /* b = binary mode for win32 */
-
- if (outfile != 0)
- {
- switch(output_format)
- {
- case XSANE_PNM:
- if (image_info.reduce_to_lineart)
- {
- xsane_save_grayscale_image_as_lineart(outfile, infile, &image_info, progress_bar, cancel_save);
- }
- else
- {
- xsane_copy_file(outfile, infile, progress_bar, cancel_save);
- }
- break;
-
-#ifdef HAVE_LIBJPEG
- case XSANE_JPEG:
- xsane_save_jpeg(outfile, infile, &image_info, preferences.jpeg_quality, progress_bar, cancel_save);
- break; /* switch format == XSANE_JPEG */
-#endif
-
-#ifdef HAVE_LIBPNG
-#ifdef HAVE_LIBZ
- case XSANE_PNG:
- if (image_info.depth <= 8)
- {
- xsane_save_png(outfile, infile, &image_info, preferences.png_compression, progress_bar, cancel_save);
- }
- else
- {
- xsane_save_png_16(outfile, infile, &image_info, preferences.png_compression, progress_bar, cancel_save);
- }
- break; /* switch format == XSANE_PNG */
-#endif
-#endif
-
- case XSANE_PNM16:
- xsane_save_pnm_16(outfile, infile, &image_info, progress_bar, cancel_save);
- break; /* switch fomat == XSANE_PNM16 */
-
- case XSANE_PS: /* save postscript, use original size */
- {
- float imagewidth, imageheight;
-
- imagewidth = 72.0 * image_info.image_width/image_info.resolution_x; /* width in 1/72 inch */
- imageheight = 72.0 * image_info.image_height/image_info.resolution_y; /* height in 1/72 inch */
-
- xsane_save_ps(outfile, infile,
- &image_info,
- imagewidth, imageheight,
- 0, /* paper_left_margin */
- 0, /* paper_bottom_margin */
- (int) imagewidth, /* paper_width */
- (int) imageheight, /* paper_height */
- 0 /* portrait top left */,
- preferences.save_ps_flatdecoded,
- progress_bar,
- cancel_save);
- }
- break; /* switch format == XSANE_PS */
-
- case XSANE_PDF: /* save PDF, use original size */
- {
- float imagewidth, imageheight;
-
- imagewidth = 72.0 * image_info.image_width/image_info.resolution_x; /* width in 1/72 inch */
- imageheight = 72.0 * image_info.image_height/image_info.resolution_y; /* height in 1/72 inch */
-
- xsane_save_pdf(outfile, infile,
- &image_info,
- imagewidth, imageheight,
- 0, /* paper_left_margin */
- 0, /* paper_bottom_margin */
- (int) imagewidth, /* paper_width */
- (int) imageheight, /* paper_height */
- 0 /* portrait top left */,
- preferences.save_pdf_flatdecoded,
- progress_bar,
- cancel_save);
- }
- break; /* switch format == XSANE_PDF */
-
- case XSANE_TEXT: /* save as text using ocr program like gocr/jocr */
- {
- xsane_save_image_as_text(output_filename, input_filename, progress_bar, cancel_save);
- }
- break; /* switch format == XSANE_TEXT */
-
- default:
- snprintf(buf, sizeof(buf),"%s", ERR_UNKNOWN_SAVING_FORMAT);
- xsane_back_gtk_error(buf, TRUE);
-
- fclose(outfile);
- fclose(infile);
-
- remove(output_filename); /* no usable output: remove output file */
-
- if (remove_input_file)
- {
- remove(input_filename); /* remove lineart pbm file */
- }
-
- gtk_progress_set_format_string(GTK_PROGRESS(progress_bar), "");
- gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), 0.0);
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- return -2;
- break; /* switch format == default */
- }
- fclose(outfile);
- }
- else
- {
- snprintf(buf, sizeof(buf), "%s `%s': %s", ERR_OPEN_FAILED, output_filename, strerror(errno));
- xsane_back_gtk_error(buf, TRUE);
-
- fclose(infile);
-
- if (remove_input_file)
- {
- remove(input_filename); /* remove lineart pbm file */
- }
-
- gtk_progress_set_format_string(GTK_PROGRESS(progress_bar), "");
- gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), 0.0);
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- return -2;
- }
- }
-
- fclose (infile);
-
- if (remove_input_file)
- {
- remove(input_filename); /* remove lineart pbm file */
- }
-
- if (*cancel_save) /* remove output file if saving has been canceled */
- {
- remove(output_filename);
- }
-
- gtk_progress_set_format_string(GTK_PROGRESS(progress_bar), "");
- gtk_progress_bar_update(GTK_PROGRESS_BAR(progress_bar), 0.0);
-
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- return (*cancel_save);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-/* ---------------------------------------------------------------------------------------------------------------------- */
-/* ---------------------------------------------------------------------------------------------------------------------- */
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-#ifdef HAVE_ANY_GIMP
-static int xsane_decode_devname(const char *encoded_devname, int n, char *buf)
-{
- char *dst, *limit;
- const char *src;
- char ch, val;
-
- DBG(DBG_proc, "xsane_decode_devname\n");
-
- limit = buf + n;
- for (src = encoded_devname, dst = buf; *src; ++dst)
- {
- if (dst >= limit)
- {
- return -1;
- }
-
- ch = *src++;
- /* don't use the ctype.h macros here since we don't want to allow anything non-ASCII here... */
- if (ch != '-')
- {
- *dst = ch;
- }
- else /* decode */
- {
- ch = *src++;
- if (ch == '-')
- {
- *dst = ch;
- }
- else
- {
- if (ch >= 'a' && ch <= 'f')
- {
- val = (ch - 'a') + 10;
- }
- else
- {
- val = (ch - '0');
- }
- val <<= 4;
-
- ch = *src++;
- if (ch >= 'a' && ch <= 'f')
- {
- val |= (ch - 'a') + 10;
- }
- else
- {
- val |= (ch - '0');
- }
-
- *dst = val;
-
- ++src; /* simply skip terminating '-' for now... */
- }
- }
- }
-
- if (dst >= limit)
- {
- return -1;
- }
-
- *dst = '\0';
- return 0;
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static int xsane_encode_devname(const char *devname, int n, char *buf)
-{
- static const char hexdigit[] = "0123456789abcdef";
- char *dst, *limit;
- const char *src;
- char ch;
-
- DBG(DBG_proc, "xsane_encode_devname\n");
-
- limit = buf + n;
- for (src = devname, dst = buf; *src; ++src)
- {
- if (dst >= limit)
- {
- return -1;
- }
-
- ch = *src;
- /* don't use the ctype.h macros here since we don't want to allow anything non-ASCII here... */
- if ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
- {
- *dst++ = ch;
- }
- else /* encode */
- {
- if (dst + 4 >= limit)
- {
- return -1;
- }
-
- *dst++ = '-';
- if (ch == '-')
- {
- *dst++ = '-';
- }
- else
- {
- *dst++ = hexdigit[(ch >> 4) & 0x0f];
- *dst++ = hexdigit[(ch >> 0) & 0x0f];
- *dst++ = '-';
- }
- }
- }
-
- if (dst >= limit)
- {
- return -1;
- }
-
- *dst = '\0';
- return 0;
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static void xsane_gimp_query(void)
-{
- static GimpParamDef args[] =
- {
- {GIMP_PDB_INT32, "run_mode", "Interactive, non-interactive"},
- };
- static GimpParamDef *return_vals = NULL;
- static int nargs = sizeof(args) / sizeof(args[0]);
- static int nreturn_vals = 0;
- char mpath[1024];
- char name[1024];
- size_t len;
- int i, j;
-
- DBG(DBG_proc, "xsane_gimp_query\n");
-
- snprintf(name, sizeof(name), "%s", xsane.prog_name);
-#ifdef GIMP_CHECK_VERSION
-# if GIMP_CHECK_VERSION(1,1,9)
- snprintf(mpath, sizeof(mpath), "%s", XSANE_GIMP_MENU_DIALOG);
-# else
- snprintf(mpath, sizeof(mpath), "%s", XSANE_GIMP_MENU_DIALOG_OLD);
-# endif
-#else
- snprintf(mpath, sizeof(mpath), "%s", XSANE_GIMP_MENU_DIALOG_OLD);
-#endif
- gimp_install_procedure(name,
- XSANE_GIMP_INSTALL_BLURB,
- XSANE_GIMP_INSTALL_HELP,
- XSANE_AUTHOR,
- XSANE_COPYRIGHT,
- XSANE_DATE,
- mpath,
- 0, /* "RGB, GRAY", */
- GIMP_EXTENSION,
- nargs, nreturn_vals,
- args, return_vals);
-
- sane_init(&xsane.sane_backend_versioncode, (void *) xsane_authorization_callback);
- if (SANE_VERSION_MAJOR(xsane.sane_backend_versioncode) != SANE_V_MAJOR)
- {
- DBG(DBG_error0, "\n\n"
- "%s %s:\n"
- " %s\n"
- " %s %d\n"
- " %s %d\n"
- "%s\n\n",
- xsane.prog_name, ERR_ERROR,
- ERR_MAJOR_VERSION_NR_CONFLICT,
- ERR_XSANE_MAJOR_VERSION, SANE_V_MAJOR,
- ERR_BACKEND_MAJOR_VERSION, SANE_VERSION_MAJOR(xsane.sane_backend_versioncode),
- ERR_PROGRAM_ABORTED);
- return;
- }
-
- sane_get_devices(&xsane.devlist, SANE_FALSE);
-
- for (i = 0; xsane.devlist[i]; ++i)
- {
- snprintf(name, sizeof(name), "%s-", xsane.prog_name);
- if (xsane_encode_devname(xsane.devlist[i]->name, sizeof(name) - 6, name + 6) < 0)
- {
- continue; /* name too long... */
- }
-
-#ifdef GIMP_CHECK_VERSION
-# if GIMP_CHECK_VERSION(1,1,9)
- snprintf(mpath, sizeof(mpath), "%s", XSANE_GIMP_MENU);
-# else
- snprintf(mpath, sizeof(mpath), "%s", XSANE_GIMP_MENU_OLD);
-# endif
-#else
- snprintf(mpath, sizeof(mpath), "%s", XSANE_GIMP_MENU_OLD);
-#endif
- len = strlen(mpath);
- for (j = 0; xsane.devlist[i]->name[j]; ++j)
- {
- if (xsane.devlist[i]->name[j] == '/')
- {
- mpath[len++] = '\'';
- }
- else
- {
- mpath[len++] = xsane.devlist[i]->name[j];
- }
- }
- mpath[len++] = '\0';
-
- gimp_install_procedure(name,
- XSANE_GIMP_INSTALL_BLURB,
- XSANE_GIMP_INSTALL_HELP,
- XSANE_AUTHOR,
- XSANE_COPYRIGHT,
- XSANE_DATE,
- mpath,
- 0, /* "RGB, GRAY", */
- GIMP_EXTENSION,
- nargs, nreturn_vals,
- args, return_vals);
- }
-
- sane_exit();
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-#ifdef HAVE_GIMP_2
-static void xsane_gimp_run(const gchar *name, gint nparams, const GimpParam *param, gint *nreturn_vals, GimpParam **return_vals)
-{
- GimpRunMode run_mode;
-#else /* GIMP-1.x */
-static void xsane_gimp_run(char *name, int nparams, GimpParam *param, int *nreturn_vals, GimpParam **return_vals)
-{
- GimpRunModeType run_mode;
-#endif
-
- static GimpParam values[2];
- char devname[1024];
- char *args[2];
- int nargs;
-
- DBG(DBG_proc, "xsane_gimp_run\n");
-
- run_mode = param[0].data.d_int32;
- xsane.mode = XSANE_GIMP_EXTENSION;
- xsane.xsane_mode = XSANE_SAVE;
-
- *nreturn_vals = 1;
- *return_vals = values;
-
- values[0].type = GIMP_PDB_STATUS;
- values[0].data.d_status = GIMP_PDB_CALLING_ERROR;
-
- nargs = 0;
- args[nargs++] = "xsane";
-
- xsane.selected_dev = -1;
- if (strncmp(name, "xsane-", 6) == 0)
- {
- if (xsane_decode_devname(name + 6, sizeof(devname), devname) < 0)
- {
- return; /* name too long */
- }
- args[nargs++] = devname;
- }
-
- switch (run_mode)
- {
- case GIMP_RUN_INTERACTIVE:
-#ifdef HAVE_GIMP_2
- gimp_extension_ack();
-#endif
- xsane_interface(nargs, args);
- values[0].data.d_status = GIMP_PDB_SUCCESS;
- break;
-
- case GIMP_RUN_NONINTERACTIVE:
- /* Make sure all the arguments are there! */
- break;
-
- case GIMP_RUN_WITH_LAST_VALS:
- /* Possibly retrieve data */
- break;
-
- default:
- break;
- }
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void null_print_func(gchar *msg)
-{
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, int *cancel_save)
-{
- int remaining;
- size_t tile_size;
- GimpImageType image_type = GIMP_GRAY;
- GimpImageType drawable_type = GIMP_GRAY_IMAGE;
- gint32 layer_ID;
- gint32 image_ID;
- GimpDrawable *drawable;
- guchar *tile;
- GimpPixelRgn region;
- unsigned tile_offset;
- int i, x, y;
- Image_info image_info;
- FILE *imagefile;
-
- DBG(DBG_info, "xsane_transer_to_gimp\n");
-
- *cancel_save = 0;
-
- imagefile = fopen(input_filename, "rb"); /* read binary (b for win32) */
- if (imagefile == 0)
- {
- char buf[256];
- snprintf(buf, sizeof(buf), "%s `%s': %s", ERR_OPEN_FAILED, input_filename, strerror(errno));
- xsane_back_gtk_error(buf, TRUE);
-
- return -1;
- }
-
- xsane_read_pnm_header(imagefile, &image_info);
-
- x = 0;
- y = 0;
- tile_offset = 0;
- tile_size = image_info.image_width * gimp_tile_height();
-
- if (image_info.colors == 3) /* RGB */
- {
- tile_size *= 3; /* 24 bits/pixel RGB */
- image_type = GIMP_RGB;
- drawable_type = GIMP_RGB_IMAGE;
- }
- else if (image_info.colors == 4) /* RGBA */
- {
- tile_size *= 4; /* 32 bits/pixel RGBA */
- image_type = GIMP_RGB;
- drawable_type = GIMP_RGBA_IMAGE; /* interpret infrared as alpha */
- }
- /* colors == 0/1 is predefined */
-
- image_ID = gimp_image_new(image_info.image_width, image_info.image_height, image_type);
-
-/* the following is supported since gimp-1.1.? */
-#ifdef GIMP_HAVE_RESOLUTION_INFO
- if (image_info.resolution_x > 0)
- {
- gimp_image_set_resolution(image_ID, image_info.resolution_x, image_info.resolution_y);
- }
-/* gimp_image_set_unit(image_ID, unit?); */
-#endif
-
- layer_ID = gimp_layer_new(image_ID, "Background", image_info.image_width, image_info.image_height, drawable_type, 100.0, GIMP_NORMAL_MODE);
- gimp_image_add_layer(image_ID, layer_ID, 0);
- drawable = gimp_drawable_get(layer_ID);
- gimp_pixel_rgn_init(&region, drawable, 0, 0, drawable->width, drawable->height, TRUE, FALSE);
- tile = g_new(guchar, tile_size);
-
-
- if (image_info.colors == 1) /* gray */
- {
- switch (image_info.depth)
- {
- case 1: /* 1 bit gray => conversion to 8 bit gray */
- for (i = 0; i < ( (image_info.image_width + 7) / 8) * image_info.image_height; ++i)
- {
- u_char mask;
- int j;
-
- mask = fgetc(imagefile);
- for (j = 7; j >= 0; --j)
- {
- u_char gl = (mask & (1 << j)) ? 0x00 : 0xff;
- tile[tile_offset++] = gl;
-
- x++;
-
- if (x >= image_info.image_width)
- {
- int tile_height = gimp_tile_height();
-
- x = 0;
- y++;
-
- if (y % tile_height == 0)
- {
- gimp_pixel_rgn_set_rect(&region, tile, 0, y - tile_height, image_info.image_width, tile_height);
- tile_offset = 0;
- }
-
- gtk_progress_bar_update(progress_bar, (float) y / image_info.image_height); /* update progress bar */
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
-
- break; /* leave for j loop */
- }
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
- break; /* leave switch depth 1 */
-
- case 8: /* 8 bit gray */
- case 16: /* 16 bit gray already has been reduced to 8 bit */
- for (i = 0; i < image_info.image_width * image_info.image_height; ++i)
- {
- tile[tile_offset++] = fgetc(imagefile);
- x++;
-
- if (x >= image_info.image_width)
- {
- int tile_height = gimp_tile_height();
-
- x = 0;
- y++;
-
- if (y % tile_height == 0)
- {
- gimp_pixel_rgn_set_rect(&region, tile, 0, y - tile_height, image_info.image_width, tile_height);
- tile_offset = 0;
- }
-
- gtk_progress_bar_update(progress_bar, (float) y / image_info.image_height); /* update progress bar */
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
- break; /* leave switch depth */
-
- default: /* bad depth */
- break; /* default */
- }
- }
- else if (image_info.colors == 3) /* RGB */
- {
- switch (image_info.depth)
- {
- case 8: /* 8 bit RGB */
- case 16: /* 16 bit RGB already has been reduced to 8 bit */
- for (i = 0; i < image_info.image_width * image_info.image_height*3; ++i)
- {
- tile[tile_offset++] = fgetc(imagefile);
- if (tile_offset % 3 == 0)
- {
- x++;
-
- if (x >= image_info.image_width)
- {
- int tile_height = gimp_tile_height();
-
- x = 0;
- y++;
-
- if (y % tile_height == 0)
- {
- gimp_pixel_rgn_set_rect(&region, tile, 0, y - tile_height, image_info.image_width, tile_height);
- tile_offset = 0;
- }
-
- gtk_progress_bar_update(progress_bar, (float) y / image_info.image_height); /* update progress bar */
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
- }
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
- break; /* case 8 */
-
- default: /* bad depth */
- break; /* default */
- }
- }
-#ifdef SUPPORT_RGBA
- else if (image_info.colors == 4) /* RGBA */
- {
- int i;
-
- switch (image_info.depth)
- {
- case 8: /* 8 bit RGBA */
- case 16: /* 16 bit RGBA already has been reduced to 8 bit */
- for (i = 0; i < image_info.image_width * image_info.image_height * 4; ++i)
- {
- tile[tile_offset++] = fgetc(imagefile);
- if (tile_offset % 4 == 0)
- {
- x++;
-
- if (x >= image_info.image_width)
- {
- int tile_height = gimp_tile_height();
-
- x = 0;
- y++;
-
- if (y % tile_height == 0)
- {
- gimp_pixel_rgn_set_rect(&region, tile, 0, y - tile_height, image_info.image_width, tile_height);
- tile_offset = 0;
- }
-
- gtk_progress_bar_update(progress_bar, (float) y / image_info.image_height); /* update progress bar */
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
- }
- }
-
- if (*cancel_save)
- {
- break;
- }
- }
- break;
-
- default: /* bad depth */
- break;
- }
- }
-#endif
-
-/* scan_done part */
- if (y > image_info.image_height)
- {
- y = image_info.image_height;
- }
-
- remaining = y % gimp_tile_height();
-
- if (remaining)
- {
- gimp_pixel_rgn_set_rect(&region, tile, 0, y - remaining, image_info.image_width, remaining);
- }
-
- gimp_drawable_flush(drawable);
- gimp_display_new(image_ID);
- gimp_drawable_detach(drawable);
- g_free(tile);
- tile = 0;
-
- fclose(imagefile);
-
- return 0;
-}
-#endif /* HAVE_ANY_GIMP */
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-/* ---------------------------------------------------------------------------------------------------------------------- */
-/* ---------------------------------------------------------------------------------------------------------------------- */
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-#ifdef XSANE_ACTIVATE_MAIL
-
-/* character base of base64 coding */
-static const char base64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-static void write_3chars_as_base64(unsigned char c1, unsigned char c2, unsigned char c3, int pads, int fd_socket)
-{
- char buf[4];
-
- buf[0] = base64[c1>>2]; /* wirte bits 7-2 of first char */
- buf[1] = base64[((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4)]; /* write bits 1,0 of first and bits 7-4 of second char */
-
- if (pads == 2) /* only one byte used */
- {
- buf[2] = '='; /* char not used */
- buf[3] = '='; /* char not used */
- }
- else if (pads) /* only two bytes used */
- {
- buf[2] = base64[((c2 & 0xF) << 2)]; /* write bits 3-0 of second char */
- buf[3] = '='; /* char not used */
- }
- else
- {
- buf[2] = base64[((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6)]; /* write bits 3-0 of second and bits 7,6 of third char */
- buf[3] = base64[c3 & 0x3F]; /* write bits 5-0 of third char as lsb */
- }
-
- write(fd_socket, buf, 4);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void write_base64(int fd_socket, FILE *infile)
-{
- int c1, c2, c3;
- int pos = 0;
-
- while ((c1 = getc(infile)) != EOF)
- {
- c2 = getc(infile);
- if (c2 == EOF)
- {
- write_3chars_as_base64(c1, 0, 0, 2, fd_socket);
- }
- else
- {
- c3 = getc(infile);
- if (c3 == EOF)
- {
- write_3chars_as_base64(c1, c2, 0, 1, fd_socket);
- }
- else
- {
- write_3chars_as_base64(c1, c2, c3, 0, fd_socket);
- }
- }
-
- pos += 4;
- if (pos > 71)
- {
- write(fd_socket, "\n", 1);
-
- pos = 0;
- }
-
- xsane.mail_progress_bytes += 3;
- if ((int) ((xsane.mail_progress_bytes * 100) / xsane.mail_progress_size) != (int) (xsane.mail_progress_val * 100))
- {
- xsane.mail_progress_val = (float) xsane.mail_progress_bytes / xsane.mail_progress_size;
- xsane_front_gtk_mail_project_update_lockfile_status();
- }
- }
-
- if (pos)
- {
- write(fd_socket, "\n", 1);
- }
-
- xsane.mail_progress_val = 1.0;
- xsane_front_gtk_mail_project_update_lockfile_status();
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void write_mail_header(int fd_socket, char *from, char *reply_to, char *to, char *subject, char *boundary, int related)
-{
- char buf[1024];
-
- snprintf(buf, sizeof(buf), "From: %s\n", from);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Reply-To: %s\n", reply_to);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "To: %s\n", to);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Subject: %s\n", subject);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "MIME-Version: 1.0\n");
- write(fd_socket, buf, strlen(buf));
-
- if (related) /* related means that we need a special link in the html part to display the image */
- {
- snprintf(buf, sizeof(buf), "Content-Type: multipart/related;\n");
- write(fd_socket, buf, strlen(buf));
- }
- else
- {
- snprintf(buf, sizeof(buf), "Content-Type: multipart/mixed;\n");
- write(fd_socket, buf, strlen(buf));
- }
-
- snprintf(buf, sizeof(buf), " boundary=\"%s\"\n\n", boundary);
- write(fd_socket, buf, strlen(buf));
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void write_mail_footer(int fd_socket, char *boundary)
-{
- char buf[1024];
-
- snprintf(buf, sizeof(buf), "--%s--\n", boundary);
- write(fd_socket, buf, strlen(buf));
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void write_mail_mime_ascii(int fd_socket, char *boundary)
-{
- char buf[1024];
-
- snprintf(buf, sizeof(buf), "--%s\n", boundary);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Content-Type: text/plain;\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), " charset=\"iso-8859-1\"\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: 8bit\n\n");
- write(fd_socket, buf, strlen(buf));
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void write_mail_mime_html(int fd_socket, char *boundary)
-{
- char buf[1024];
-
- snprintf(buf, sizeof(buf), "--%s\n", boundary);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Content-Type: text/html;\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), " charset=\"us-ascii\"\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: 7bit\n\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "<html>\n");
- write(fd_socket, buf, strlen(buf));
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void write_mail_attach_image(int fd_socket, char *boundary, char *content_id, char *content_type, FILE *infile, char *filename)
-{
- char buf[1024];
-
- snprintf(buf, sizeof(buf), "--%s\n", boundary);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Content-Type: %s\n", content_type);
- write(fd_socket, buf, strlen(buf));
-
- if (content_id)
- {
- snprintf(buf, sizeof(buf), "Content-ID: <%s>\n", content_id);
- write(fd_socket, buf, strlen(buf));
- }
-
- snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: base64\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Content-Disposition: inline;\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), " filename=\"%s\"\n", filename);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "\n");
- write(fd_socket, buf, strlen(buf));
-
- write_base64(fd_socket, infile);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-void write_mail_attach_file(int fd_socket, char *boundary, FILE *infile, char *filename)
-{
- char buf[1024];
-
- snprintf(buf, sizeof(buf), "--%s\n", boundary);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Content-Type: application/octet-stream\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), " name=\"%s\"\n", filename);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Content-Transfer-Encoding: base64\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "Content-Disposition: attachment;\n");
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), " filename=\"%s\"\n", filename);
- write(fd_socket, buf, strlen(buf));
-
- snprintf(buf, sizeof(buf), "\n");
- write(fd_socket, buf, strlen(buf));
-
- write_base64(fd_socket, infile);
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-/* returns fd_socket if sucessfull, < 0 when error occured */
-int open_socket(char *server, int port)
-{
- int fd_socket;
- struct sockaddr_in sin;
- struct hostent *he;
-
- he = gethostbyname(server);
- if (!he)
- {
- DBG(DBG_error, "open_socket: Could not get hostname of \"%s\"\n", server);
- return -1;
- }
- else
- {
- DBG(DBG_info, "open_socket: connecting to \"%s\" = %d.%d.%d.%d\n",
- he->h_name,
- (unsigned char) he->h_addr_list[0][0],
- (unsigned char) he->h_addr_list[0][1],
- (unsigned char) he->h_addr_list[0][2],
- (unsigned char) he->h_addr_list[0][3]);
- }
-
- if (he->h_addrtype != AF_INET)
- {
- DBG(DBG_error, "open_socket: Unknown address family: %d\n", he->h_addrtype);
- return -1;
- }
-
- fd_socket = socket(AF_INET, SOCK_STREAM, 0);
-
- if (fd_socket < 0)
- {
- DBG(DBG_error, "open_socket: Could not create socket: %s\n", strerror(errno));
- return -1;
- }
-
-/* setsockopt (dev->ctl, level, TCP_NODELAY, &on, sizeof (on)); */
-
- sin.sin_port = htons(port);
- sin.sin_family = AF_INET;
- memcpy(&sin.sin_addr, he->h_addr_list[0], he->h_length);
-
- if (connect(fd_socket, &sin, sizeof(sin)))
- {
- DBG(DBG_error, "open_socket: Could not connect with port %d of socket: %s\n", ntohs(sin.sin_port), strerror(errno));
- return -1;
- }
-
- DBG(DBG_info, "open_socket: Connected with port %d\n", ntohs(sin.sin_port));
-
- return fd_socket;
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-/* returns 0 if success */
-/* not only a write routine, also reads data */
-int pop3_login(int fd_socket, char *user, char *passwd)
-{
- char buf[1024];
- int len;
-
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
-
- snprintf(buf, sizeof(buf), "USER %s\r\n", user);
- DBG(DBG_info2, "> USER xxx\n");
- write(fd_socket, buf, strlen(buf));
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
- if (buf[0] != '+')
- {
- return -1;
- }
-
- snprintf(buf, sizeof(buf), "PASS %s\r\n", passwd);
- DBG(DBG_info2, "> PASS xxx\n");
- write(fd_socket, buf, strlen(buf));
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
- if (buf[0] != '+')
- {
- return -1;
- }
-
- snprintf(buf, sizeof(buf), "QUIT\r\n");
- DBG(DBG_info2, "> QUIT\n");
- write(fd_socket, buf, strlen(buf));
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
-
- return 0;
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-/* not only a write routine, also reads data */
-/* returns -1 on error, 0 when ok */
-int write_smtp_header(int fd_socket, char *from, char *to)
-{
- char buf[1024];
- int len;
-
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
-
- snprintf(buf, sizeof(buf), "helo localhost\r\n");
- DBG(DBG_info2, "> %s", buf);
- write(fd_socket, buf, strlen(buf));
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
-
- if (buf[0] != '2')
- {
- DBG(DBG_info, "=> error\n");
-
- if (xsane.mail_status)
- {
- free(xsane.mail_status);
- }
- xsane.mail_status = strdup(TEXT_MAIL_STATUS_SMTP_CONNECTION_FAILED);
- xsane_front_gtk_mail_project_update_lockfile_status();
- return -1;
- }
-
- snprintf(buf, sizeof(buf), "MAIL FROM: %s\r\n", from);
- DBG(DBG_info2, "> %s", buf);
- write(fd_socket, buf, strlen(buf));
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
-
- if (buf[0] != '2')
- {
- DBG(DBG_info, "=> error\n");
-
- if (xsane.mail_status)
- {
- free(xsane.mail_status);
- }
- xsane.mail_status = strdup(TEXT_MAIL_STATUS_SMTP_ERR_FROM);
- xsane_front_gtk_mail_project_update_lockfile_status();
- return -1;
- }
-
-
- snprintf(buf, sizeof(buf), "RCPT TO: %s\r\n", to);
- DBG(DBG_info2, "> %s", buf);
- write(fd_socket, buf, strlen(buf));
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
-
- if (buf[0] != '2')
- {
- DBG(DBG_info, "=> error\n");
-
- if (xsane.mail_status)
- {
- free(xsane.mail_status);
- }
- xsane.mail_status = strdup(TEXT_MAIL_STATUS_SMTP_ERR_RCPT);
- xsane_front_gtk_mail_project_update_lockfile_status();
- return -1;
- }
-
- snprintf(buf, sizeof(buf), "DATA\r\n");
- DBG(DBG_info2, "> %s", buf);
- write(fd_socket, buf, strlen(buf));
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
-
- if ((buf[0] != '2') && (buf[0] != '3'))
- {
- DBG(DBG_info, "=> error\n");
-
- if (xsane.mail_status)
- {
- free(xsane.mail_status);
- }
- xsane.mail_status = strdup(TEXT_MAIL_STATUS_SMTP_ERR_DATA);
- xsane_front_gtk_mail_project_update_lockfile_status();
- return -1;
- }
-
- return 0;
-}
-
-/* ---------------------------------------------------------------------------------------------------------------------- */
-
-/* not only a write routine, also reads data */
-int write_smtp_footer(int fd_socket)
-{
- char buf[1024];
- int len;
-
- snprintf(buf, sizeof(buf), "\r\n.\r\n");
- DBG(DBG_info2, "> %s", buf);
- write(fd_socket, buf, strlen(buf));
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
-
- snprintf(buf, sizeof(buf), "QUIT\r\n");
- DBG(DBG_info2, "> %s", buf);
- write(fd_socket, buf, strlen(buf));
- len = read(fd_socket, buf, sizeof(buf));
- if (len >= 0)
- {
- buf[len] = 0;
- }
- DBG(DBG_info2, "< %s\n", buf);
-
- return 0;
-}
-
-#endif
-/* ---------------------------------------------------------------------------------------------------------------------- */
diff --git a/src/xsane-save.h b/src/xsane-save.h
index 553fbd5..f94fe7c 100644
--- a/src/xsane-save.h
+++ b/src/xsane-save.h
@@ -3,7 +3,7 @@
xsane-save.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -40,7 +40,7 @@
#define PDF_PAGES_MAX 1000
struct pdf_xref
{
- unsigned long obj[PDF_PAGES_MAX * 2 + 6];
+ unsigned long obj[PDF_PAGES_MAX * 2 + 8];
unsigned long xref; /* xref table */
unsigned long slen; /* length of image stream */
unsigned long slenp; /* position of image stream length */
@@ -60,50 +60,58 @@ extern void xsane_read_pnm_header(FILE *file, Image_info *image_info);
extern void xsane_write_pnm_header(FILE *file, Image_info *image_info, int save_pnm16_as_ascii);
extern int xsane_copy_file(FILE *outfile, FILE *infile, GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_copy_file_by_name(char *output_filename, char *input_filename, GtkProgressBar *progress_bar, int *cancel_save);
+#ifdef HAVE_LIBLCMS
+extern cmsHTRANSFORM xsane_create_cms_transform(Image_info *image_info, int cms_function, int cms_intent, int cms_bpc);
+#endif
extern int xsane_save_grayscale_image_as_lineart(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *image_info, float x_scale, float y_scale, GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_despeckle_image(FILE *outfile, FILE *imagefile, Image_info *image_info, int radius, GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info, float radius, GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_rotate_image(FILE *outfile, FILE *imagefile, Image_info *image_info, int rotation, GtkProgressBar *progress_bar, int *cancel_save);
-extern void xsane_save_ps_create_document_header(FILE *outfile, int pages, int flatdecode);
+extern void xsane_save_ps_create_document_header(FILE *outfile, int pages, int flatedecode);
extern void xsane_save_ps_create_document_trailer(FILE *outfile, int pages);
extern int xsane_save_ps_page(FILE *outfile, int page,
FILE *imagefile, Image_info *image_info, float width, float height,
int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
- int flatdecode,
+ int flatedecode,
+ cmsHTRANSFORM hTransform, int embed_scanner_icm_profile,
GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_ps(FILE *outfile, FILE *imagefile, Image_info *image_info,
float width, float height,
int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
- int flatdecode,
+ int flatedecode,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile, int embed_CSA, char *CSA_profile,
+ int embed_CRD, char *CRD_profile, int blackpointcompensation, int intent,
GtkProgressBar *progress_bar, int *cancel_save);
-extern void xsane_save_pdf_create_document_header(FILE *outfile, struct pdf_xref *xref, int pages, int flatdecode);
+extern void xsane_save_pdf_create_document_header(FILE *outfile, struct pdf_xref *xref, int pages, int flatedecode);
extern void xsane_save_pdf_create_document_trailer(FILE *outfile, struct pdf_xref *xref, int pages);
extern int xsane_save_pdf_page(FILE *outfile, struct pdf_xref *xref, int page,
FILE *imagefile, Image_info *image_info, float width, float height,
int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
- int flatdecode,
+ int flatedecode,
+ cmsHTRANSFORM hTransform, int embed__scanner_icm_profile, int icc_object,
GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_pdf(FILE *outfile, FILE *imagefile, Image_info *image_info,
float width, float height,
int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
- int flatdecode,
+ int flatedecode,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function,
GtkProgressBar *progress_bar, int *cancel_save);
#ifdef HAVE_LIBJPEG
-extern int xsane_save_jpeg(FILE *outfile, FILE *imagefile, Image_info *image_info, int quality, GtkProgressBar *progress_bar, int *cancel_save);
+extern int xsane_save_jpeg(FILE *outfile, int quality, FILE *imagefile, Image_info *image_info, cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function, GtkProgressBar *progress_bar, int *cancel_save);
#endif
#ifdef HAVE_LIBTIFF
-extern int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, FILE *imagefile, Image_info *image_info, int quality,
- GtkProgressBar *progress_bar, int *cancel_save);
+extern int xsane_save_tiff_page(TIFF *tiffile, int page, int pages, int quality, FILE *imagefile, Image_info *image_info, cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function,
+ GtkProgressBar *progress_bar, int *cancel_save);
#endif
-extern int xsane_save_png(FILE *outfile, FILE *imagefile, Image_info *image_info, int compression, GtkProgressBar *progress_bar, int *cancel_save);
-extern int xsane_save_png_16(FILE *outfile, FILE *imagefile, Image_info *image_info, int compression, GtkProgressBar *progress_bar, int *cancel_save);
-extern int xsane_save_pnm_16(FILE *outfile, FILE *imagefile, Image_info *image_info, GtkProgressBar *progress_bar, int *cancel_save);
+extern int xsane_save_png(FILE *outfile, int compression, FILE *imagefile, Image_info *image_info, cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function, GtkProgressBar *progress_bar, int *cancel_save);
+extern int xsane_save_png_16(FILE *outfile, int compression, FILE *imagefile, Image_info *image_info, cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function, GtkProgressBar *progress_bar, int *cancel_save);
+extern int xsane_save_pnm_16(FILE *outfile, FILE *imagefile, Image_info *image_info, cmsHTRANSFORM hTransform, int apply_ICM_profile, GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_image_as_lineart(char *output_filename, char *input_filename, GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_image_as_text(char *output_filename, char *input_filename, GtkProgressBar *progress_bar, int *cancel_save);
-extern int xsane_save_image_as(char *output_filename, char *input_filename, int output_format, GtkProgressBar *progress_bar, int *cancel_save);
+extern int xsane_save_image_as(char *output_filename, char *input_filename, int output_format, int apply_ICM_profile, int cms_function, int cms_intent, int cms_bpc, GtkProgressBar *progress_bar, int *cancel_save);
extern void null_print_func(gchar *msg);
-extern int xsane_transfer_to_gimp(char *input_filename, GtkProgressBar *progress_bar, int *cancel_save);
+extern int xsane_transfer_to_gimp(char *input_filename, int apply_ICM_profile, int cms_function, GtkProgressBar *progress_bar, int *cancel_save);
extern void write_base64(int fd_socket, FILE *infile);
extern void write_email_header(int fd_socket, char *from, char *reply_to, char *to, char *subject, char *boundary, int related);
extern void write_email_footer(int fd_socket, char *boundary);
diff --git a/src/xsane-scan.c b/src/xsane-scan.c
index 578cc57..9cc9ffb 100644
--- a/src/xsane-scan.c
+++ b/src/xsane-scan.c
@@ -3,7 +3,7 @@
xsane-scan.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -1061,7 +1061,7 @@ void xsane_scan_done(SANE_Status status)
image_info.image_width = xsane.param.pixels_per_line;
image_info.image_height = pixel_height;
image_info.depth = xsane.depth;
- image_info.colors = xsane.xsane_colors;
+ image_info.channels = xsane.xsane_channels;
image_info.resolution_x = xsane.resolution_x;
image_info.resolution_y = xsane.resolution_y;
@@ -1085,6 +1085,13 @@ void xsane_scan_done(SANE_Status status)
image_info.reduce_to_lineart = xsane.expand_lineart_to_grayscale;
+ image_info.enable_color_management = xsane.enable_color_management;
+ image_info.cms_function = preferences.cms_function;
+ image_info.cms_intent = preferences.cms_intent;
+ image_info.cms_bpc = preferences.cms_bpc;
+
+ strncpy(image_info.icm_profile, xsane.scanner_default_color_icm_profile, sizeof(image_info.icm_profile));
+
xsane_write_pnm_header(xsane.out, &image_info, 0);
}
@@ -1233,12 +1240,12 @@ void xsane_scan_done(SANE_Status status)
#ifdef HAVE_ANY_GIMP
if (xsane.mode == XSANE_GIMP_EXTENSION) /* xsane runs as gimp plugin */
{
- xsane_transfer_to_gimp(xsane.dummy_filename, xsane.progress_bar, &xsane.cancel_save);
+ xsane_transfer_to_gimp(xsane.dummy_filename, xsane.enable_color_management, preferences.cms_function, xsane.progress_bar, &xsane.cancel_save);
}
else
#endif /* HAVE_ANY_GIMP */
{
- xsane_save_image_as(xsane.output_filename, xsane.dummy_filename, xsane.xsane_output_format, xsane.progress_bar, &xsane.cancel_save);
+ xsane_save_image_as(xsane.output_filename, xsane.dummy_filename, xsane.xsane_output_format, xsane.enable_color_management, preferences.cms_function, preferences.cms_intent, preferences.cms_bpc, xsane.progress_bar, &xsane.cancel_save);
}
xsane_progress_clear();
@@ -1345,7 +1352,11 @@ void xsane_scan_done(SANE_Status status)
preferences.printer[preferences.printernr]->width * 72.0/MM_PER_INCH, /* usable paperwidth */
preferences.printer[preferences.printernr]->height * 72.0/MM_PER_INCH, /* usable paperheight */
preferences.paper_orientation,
- preferences.printer[preferences.printernr]->ps_flatdecoded, /* ps level 3 */
+ preferences.printer[preferences.printernr]->ps_flatedecoded, /* ps level 3 */
+ NULL /* hTransform */, xsane.enable_color_management,
+ preferences.printer[preferences.printernr]->embed_csa, xsane.scanner_default_color_icm_profile,
+ preferences.printer[preferences.printernr]->embed_crd, preferences.printer[preferences.printernr]->icm_profile, preferences.printer[preferences.printernr]->blackpointcompensation,
+ 0 /* intent */,
xsane.progress_bar,
&xsane.cancel_save);
}
@@ -1729,7 +1740,7 @@ static void xsane_start_scan(void)
image_info.image_width = xsane.param.pixels_per_line;
image_info.image_height = xsane.param.lines;
image_info.depth = xsane.depth;
- image_info.colors = xsane.xsane_colors;
+ image_info.channels = xsane.xsane_channels;
image_info.resolution_x = xsane.resolution_x;
image_info.resolution_y = xsane.resolution_y;
@@ -1753,6 +1764,13 @@ static void xsane_start_scan(void)
image_info.reduce_to_lineart = xsane.expand_lineart_to_grayscale;
+ image_info.enable_color_management = xsane.enable_color_management;
+ image_info.cms_function = preferences.cms_function;
+ image_info.cms_intent = preferences.cms_intent;
+ image_info.cms_bpc = preferences.cms_bpc;
+
+ strncpy(image_info.icm_profile, xsane.scanner_default_color_icm_profile, sizeof(image_info.icm_profile));
+
xsane_write_pnm_header(xsane.out, &image_info, 0);
fflush(xsane.out);
@@ -1946,34 +1964,6 @@ gint xsane_scan_dialog(gpointer *data)
free(extension);
}
}
-#ifdef HAVE_ANY_GIMP
- else /* We are running in gimp mode */
- {
- if ((xsane.param.depth != 1) && (xsane.param.depth != 8)) /* not support bit depth ? */
- {
- if (!xsane.reduce_16bit_to_8bit) /* ask if reduce 16 to 8 bit */
- {
- if (xsane.param.depth == 16)
- {
- snprintf(buf, sizeof(buf), TEXT_GIMP_REDUCE_16BIT_TO_8BIT);
- if (xsane_back_gtk_decision(ERR_HEADER_INFO, (gchar **) info_xpm, buf, BUTTON_REDUCE, BUTTON_CANCEL, TRUE /* wait */) == FALSE)
- {
- xsane_set_sensitivity(TRUE);
- return FALSE;
- }
- xsane.reduce_16bit_to_8bit = TRUE;
- }
- else /* unsupported bit depth */
- {
- snprintf(buf, sizeof(buf), ERR_GIMP_BAD_DEPTH, xsane.param.depth);
- xsane_back_gtk_error(buf, TRUE);
- xsane_set_sensitivity(TRUE);
- return FALSE;
- }
- }
- }
- }
-#endif
if (xsane.dummy_filename) /* no dummy filename defined - necessary if an error occurs */
{
@@ -1982,7 +1972,7 @@ gint xsane_scan_dialog(gpointer *data)
}
/* create scanner gamma tables, xsane internal gamma tables are created after sane_start */
- if ( (xsane.xsane_colors > 1) && /* color scan */
+ if ( (xsane.xsane_channels > 1) && /* color scan */
xsane.scanner_gamma_color ) /* gamma table for red, green and blue available */
{
double gamma_red, gamma_green, gamma_blue;
@@ -2097,7 +2087,7 @@ gint xsane_scan_dialog(gpointer *data)
xsane.gamma_data = malloc(gamma_gray_size * sizeof(SANE_Int));
- if (xsane.xsane_colors > 1) /* color scan */
+ if (xsane.xsane_channels > 1) /* color scan */
{
xsane_create_gamma_curve(xsane.gamma_data, xsane.negative,
gamma, xsane.brightness, xsane.contrast,
@@ -2145,7 +2135,7 @@ static void xsane_create_internal_gamma_tables(void)
size = (int) pow(2, xsane.param.depth);
maxval = size-1;
- if (xsane.xsane_colors > 1) /* color scan */
+ if (xsane.xsane_channels > 1) /* color scan */
{
if ( (!xsane.scanner_gamma_color) && (xsane.scanner_gamma_gray) )
{
diff --git a/src/xsane-scan.h b/src/xsane-scan.h
index b46d5e0..681e89f 100644
--- a/src/xsane-scan.h
+++ b/src/xsane-scan.h
@@ -3,7 +3,7 @@
xsane-scan.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/src/xsane-setup.c b/src/xsane-setup.c
index c0c9000..677c375 100644
--- a/src/xsane-setup.c
+++ b/src/xsane-setup.c
@@ -3,7 +3,7 @@
xsane-setup.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -92,6 +92,9 @@ static void xsane_setup_authentication_type_callback(GtkWidget *widget, gpointer
static void xsane_setup_show_range_mode_callback(GtkWidget *widget, gpointer data);
static void xsane_setup_lineart_mode_callback(GtkWidget *widget, gpointer data);
static void xsane_enhance_notebook(GtkWidget *notebook);
+#ifdef HAVE_LIBLCMS
+static void xsane_color_management_notebook(GtkWidget *notebook);
+#endif
void xsane_setup_dialog(GtkWidget *widget, gpointer data);
@@ -135,7 +138,10 @@ void xsane_new_printer(void)
preferences.printer[preferences.printernr]->gamma_red = 1.0;
preferences.printer[preferences.printernr]->gamma_green = 1.0;
preferences.printer[preferences.printernr]->gamma_blue = 1.0;
- preferences.printer[preferences.printernr]->ps_flatdecoded = 1;
+ preferences.printer[preferences.printernr]->icm_profile = NULL;
+ preferences.printer[preferences.printernr]->embed_csa = 1;
+ preferences.printer[preferences.printernr]->embed_crd = 0;
+ preferences.printer[preferences.printernr]->ps_flatedecoded = 1;
}
else
{
@@ -275,8 +281,23 @@ static void xsane_setup_printer_update()
gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_gamma_green_entry), buf);
snprintf(buf, sizeof(buf), "%1.2f", preferences.printer[preferences.printernr]->gamma_blue);
gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_gamma_blue_entry), buf);
+
+#ifdef HAVE_LIBLCMS
+ if (preferences.printer[preferences.printernr]->icm_profile)
+ {
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_icm_profile_entry), (char *) preferences.printer[preferences.printernr]->icm_profile);
+ }
+ else
+ {
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_icm_profile_entry), "");
+ }
+
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(xsane_setup.printer_embed_csa_button), preferences.printer[preferences.printernr]->embed_csa);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(xsane_setup.printer_embed_crd_button), preferences.printer[preferences.printernr]->embed_crd);
+#endif
+
#ifdef HAVE_LIBZ
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(xsane_setup.printer_ps_flatdecoded_button), preferences.printer[preferences.printernr]->ps_flatdecoded);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(xsane_setup.printer_ps_flatedecoded_button), preferences.printer[preferences.printernr]->ps_flatedecoded);
#endif
}
@@ -354,8 +375,18 @@ static void xsane_setup_printer_apply_changes(GtkWidget *widget, gpointer data)
xsane_update_double(xsane_setup.printer_gamma_green_entry, &preferences.printer[preferences.printernr]->gamma_green);
xsane_update_double(xsane_setup.printer_gamma_blue_entry, &preferences.printer[preferences.printernr]->gamma_blue);
+#ifdef HAVE_LIBLCMS
+ if (preferences.printer[preferences.printernr]->icm_profile)
+ {
+ free(preferences.printer[preferences.printernr]->icm_profile);
+ }
+ preferences.printer[preferences.printernr]->icm_profile = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.printer_icm_profile_entry)));
+ xsane_update_bool(xsane_setup.printer_embed_csa_button, &preferences.printer[preferences.printernr]->embed_csa);
+ xsane_update_bool(xsane_setup.printer_embed_crd_button, &preferences.printer[preferences.printernr]->embed_crd);
+#endif
+
#ifdef HAVE_LIBZ
- xsane_update_bool(xsane_setup.printer_ps_flatdecoded_button, &preferences.printer[preferences.printernr]->ps_flatdecoded);
+ xsane_update_bool(xsane_setup.printer_ps_flatedecoded_button, &preferences.printer[preferences.printernr]->ps_flatedecoded);
#endif
if (option_menu)
@@ -530,6 +561,50 @@ static void xsane_setup_enhance_apply_changes(GtkWidget *widget, gpointer data)
/* ---------------------------------------------------------------------------------------------------------------------- */
+#ifdef HAVE_LIBLCMS
+static void xsane_setup_color_management_apply_changes(GtkWidget *widget, gpointer data)
+{
+ DBG(DBG_proc, "xsane_setup_colormagaement_apply_changes\n");
+
+// preferences.cms_intent = gtk_option_menu_get_history(GTK_OPTION_MENU(xsane_setup.cms_intent_option_menu));
+// preferences.cms_intent = gtk_option_menu_get_history(GTK_OPTION_MENU(xsane_setup.cms_intent_option_menu));
+ preferences.cms_intent = (int) gtk_object_get_data(GTK_OBJECT(gtk_menu_get_active(GTK_MENU(gtk_option_menu_get_menu(GTK_OPTION_MENU(xsane_setup.cms_intent_option_menu))))), "Selection");
+ xsane_update_bool(xsane_setup.cms_bpc_button, &preferences.cms_bpc);
+
+ if (xsane.scanner_default_color_icm_profile)
+ {
+ free(xsane.scanner_default_color_icm_profile);
+ }
+ xsane.scanner_default_color_icm_profile = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.scanner_default_color_icm_profile_entry)));
+
+ if (xsane.scanner_default_gray_icm_profile)
+ {
+ free(xsane.scanner_default_gray_icm_profile);
+ }
+ xsane.scanner_default_gray_icm_profile = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.scanner_default_gray_icm_profile_entry)));
+
+ if (preferences.display_icm_profile)
+ {
+ free(preferences.display_icm_profile);
+ }
+ preferences.display_icm_profile = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.display_icm_profile_entry)));
+
+ if (preferences.custom_proofing_icm_profile)
+ {
+ free(preferences.custom_proofing_icm_profile);
+ }
+ preferences.custom_proofing_icm_profile = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.custom_proofing_icm_profile_entry)));
+
+ if (preferences.working_color_space_icm_profile)
+ {
+ free(preferences.working_color_space_icm_profile);
+ }
+ preferences.working_color_space_icm_profile = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.working_color_space_icm_profile_entry)));
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
static void xsane_setup_saving_apply_changes(GtkWidget *widget, gpointer data)
{
int level;
@@ -597,8 +672,8 @@ static void xsane_setup_image_apply_changes(GtkWidget *widget, gpointer data)
xsane_update_bool(xsane_setup.save_pnm16_as_ascii_button, &preferences.save_pnm16_as_ascii);
#ifdef HAVE_LIBZ
- xsane_update_bool(xsane_setup.save_ps_flatdecoded_button, &preferences.save_ps_flatdecoded);
- xsane_update_bool(xsane_setup.save_pdf_flatdecoded_button, &preferences.save_pdf_flatdecoded);
+ xsane_update_bool(xsane_setup.save_ps_flatedecoded_button, &preferences.save_ps_flatedecoded);
+ xsane_update_bool(xsane_setup.save_pdf_flatedecoded_button, &preferences.save_pdf_flatedecoded);
#endif
xsane_define_maximum_output_size();
@@ -627,7 +702,7 @@ static void xsane_setup_fax_apply_changes(GtkWidget *widget, gpointer data)
xsane_update_geometry_double(xsane_setup.fax_height_entry, &preferences.fax_height, preferences.length_unit);
#ifdef HAVE_LIBZ
- xsane_update_bool(xsane_setup.fax_ps_flatdecoded_button, &preferences.fax_ps_flatdecoded);
+ xsane_update_bool(xsane_setup.fax_ps_flatedecoded_button, &preferences.fax_ps_flatedecoded);
#endif
xsane_define_maximum_output_size();
@@ -719,6 +794,9 @@ static void xsane_setup_options_ok_callback(GtkWidget *widget, gpointer data)
xsane_setup_email_apply_changes(0, 0);
#endif
xsane_setup_ocr_apply_changes(0, 0);
+#ifdef HAVE_LIBLCMS
+ xsane_setup_color_management_apply_changes(0, 0);
+#endif
if (xsane_setup.grayscale_scanmode)
{
@@ -851,7 +929,7 @@ static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *descript
button = gtk_toggle_button_new_with_label("x");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 64 );
- xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_EXECUTE);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_SEARCH);
gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
g_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 64);
@@ -887,7 +965,7 @@ static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *descript
button = gtk_toggle_button_new_with_label("x");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 8 );
- xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_EXECUTE);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_SEARCH);
gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
g_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 8);
@@ -923,7 +1001,7 @@ static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *descript
button = gtk_toggle_button_new_with_label("x");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), *permission & 1 );
- xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_EXECUTE);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PERMISSION_SEARCH);
gtk_widget_set_size_request(button, 21, -1);
gtk_widget_set_name(button, name);
g_signal_connect(GTK_OBJECT(button), "toggled", (GtkSignalFunc) xsane_permission_toggled, (void *) 1);
@@ -948,6 +1026,47 @@ static void xsane_permission_box(GtkWidget *parent, gchar *name, gchar *descript
/* ---------------------------------------------------------------------------------------------------------------------- */
+#ifdef HAVE_LIBLCMSx
+static void xsane_setup_display_icm_profile_info_callback(GtkWidget *widget, gpointer data)
+{
+ DBG(DBG_proc, "xsane_setup_display_icm_profile_info_callback\n");
+
+ const char* cmsTakeProductName(cmsHPROFILE hProfile);
+ const char* cmsTakeProductDesc(cmsHPROFILE hProfile);
+
+ int cmsTakeRenderingIntent(cmsHPROFILE hProfile);
+
+ #define LCMS_USED_AS_INPUT 0
+ #define LCMS_USED_AS_OUTPUT 1
+ #define LCMS_USED_AS_PROOF 2
+ BOOL cmsIsIntentSupported(cmsHPROFILE hProfile, int Intent, int UsedDirection);
+
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+#ifdef HAVE_LIBLCMS
+static void xsane_setup_browse_printer_icm_profile_callback(GtkWidget *widget, gpointer data)
+{
+ const gchar *old_printer_icm_profile;
+ char printer_icm_profile[PATH_MAX];
+ char windowname[TEXTBUFSIZE];
+
+ DBG(DBG_proc, "xsane_setup_browse_printer_icm_profile_callback\n");
+
+ old_printer_icm_profile = gtk_entry_get_text(GTK_ENTRY(xsane_setup.printer_icm_profile_entry));
+ strncpy(printer_icm_profile, old_printer_icm_profile, sizeof(printer_icm_profile));
+
+ snprintf(windowname, sizeof(windowname), "%s %s", xsane.prog_name, WINDOW_PRINTER_ICM_PROFILE);
+ xsane_back_gtk_get_filename(windowname, printer_icm_profile, sizeof(printer_icm_profile), printer_icm_profile, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_OPEN, XSANE_GET_FILENAME_SHOW_NOTHING, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_ICM, XSANE_FILE_FILTER_ICM);
+
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.printer_icm_profile_entry), printer_icm_profile);
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
static void xsane_printer_notebook(GtkWidget *notebook)
{
GtkWidget *setup_vbox, *vbox, *hbox, *button, *label, *text, *frame;
@@ -1273,23 +1392,82 @@ static void xsane_printer_notebook(GtkWidget *notebook)
gtk_widget_show(hbox);
xsane_setup.printer_gamma_blue_entry = text;
+#ifdef HAVE_LIBLCMS
+ xsane_separator_new(vbox, 2);
+
+ /* printer ICM profile: */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+
+ label = gtk_label_new(TEXT_SETUP_PRINTER_ICM_PROFILE);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ text = gtk_entry_new_with_max_length(PATH_MAX);
+ gtk_widget_set_size_request(text, 70, -1); /* set minimum size */
+ xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PRINTER_ICM_PROFILE);
+
+ if (preferences.printer[preferences.printernr]->icm_profile)
+ {
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.printer[preferences.printernr]->icm_profile);
+ }
+ else
+ {
+ gtk_entry_set_text(GTK_ENTRY(text), "");
+ }
+
+ gtk_box_pack_start(GTK_BOX(hbox), text, TRUE, TRUE, 4);
+ gtk_widget_show(text);
+ xsane_setup.printer_icm_profile_entry = text;
+
+ button = gtk_button_new_with_label(BUTTON_BROWSE);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_browse_printer_icm_profile_callback, NULL);
+ gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 2);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE);
+ gtk_widget_show(button);
+
+ gtk_widget_show(hbox);
+
+
+ /* embed csa */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+ button = gtk_check_button_new_with_label(TEXT_SETUP_PRINTER_EMBED_CSA);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PRINTER_EMBED_CSA);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.printer[preferences.printernr]->embed_csa);
+ gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
+ gtk_widget_show(button);
+ gtk_widget_show(hbox);
+ xsane_setup.printer_embed_csa_button = button;
+
+ /* embed crd */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+ button = gtk_check_button_new_with_label(TEXT_SETUP_PRINTER_EMBED_CRD);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PRINTER_EMBED_CRD);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.printer[preferences.printernr]->embed_crd);
+ gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
+ gtk_widget_show(button);
+ gtk_widget_show(hbox);
+ xsane_setup.printer_embed_crd_button = button;
+#endif
#ifdef HAVE_LIBZ
xsane_separator_new(vbox, 2);
- /* flatdecoded = ps level 3 */
+ /* flatedecoded = ps level 3 */
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
- button = gtk_check_button_new_with_label(TEXT_SETUP_PRINTER_PS_FLATDECODED);
- xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PRINTER_PS_FLATDECODED);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.printer[preferences.printernr]->ps_flatdecoded);
+ button = gtk_check_button_new_with_label(TEXT_SETUP_PRINTER_PS_FLATEDECODED);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PRINTER_PS_FLATEDECODED);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.printer[preferences.printernr]->ps_flatedecoded);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
gtk_widget_show(button);
gtk_widget_show(hbox);
- xsane_setup.printer_ps_flatdecoded_button = button;
+ xsane_setup.printer_ps_flatedecoded_button = button;
#endif
@@ -1336,13 +1514,110 @@ static void xsane_setup_browse_tmp_path_callback(GtkWidget *widget, gpointer dat
strncpy(tmp_path, old_tmp_path, sizeof(tmp_path));
snprintf(windowname, sizeof(windowname), "%s %s", xsane.prog_name, WINDOW_TMP_PATH);
- xsane_back_gtk_get_filename(windowname, tmp_path, sizeof(tmp_path), tmp_path, NULL, TRUE, FALSE, TRUE, FALSE);
+ xsane_back_gtk_get_filename(windowname, tmp_path, sizeof(tmp_path), tmp_path, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_FOLDER, XSANE_GET_FILENAME_SHOW_NOTHING, 0, 0);
gtk_entry_set_text(GTK_ENTRY(xsane_setup.tmp_path_entry), tmp_path);
}
/* ---------------------------------------------------------------------------------------------------------------------- */
+#ifdef HAVE_LIBLCMS
+static void xsane_setup_browse_scanner_default_color_icm_profile_callback(GtkWidget *widget, gpointer data)
+{
+ const gchar *old_scanner_default_color_icm_profile;
+ char scanner_default_color_icm_profile[PATH_MAX];
+ char windowname[TEXTBUFSIZE];
+
+ DBG(DBG_proc, "xsane_setup_browse_scanner_default_color_icm_profile_callback\n");
+
+ old_scanner_default_color_icm_profile = gtk_entry_get_text(GTK_ENTRY(xsane_setup.scanner_default_color_icm_profile_entry));
+ strncpy(scanner_default_color_icm_profile, old_scanner_default_color_icm_profile, sizeof(scanner_default_color_icm_profile));
+
+ snprintf(windowname, sizeof(windowname), "%s %s", xsane.prog_name, WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE);
+ xsane_back_gtk_get_filename(windowname, scanner_default_color_icm_profile, sizeof(scanner_default_color_icm_profile), scanner_default_color_icm_profile, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_OPEN, XSANE_GET_FILENAME_SHOW_NOTHING, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_ICM, XSANE_FILE_FILTER_ICM);
+
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.scanner_default_color_icm_profile_entry), scanner_default_color_icm_profile);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_setup_browse_scanner_default_gray_icm_profile_callback(GtkWidget *widget, gpointer data)
+{
+ const gchar *old_scanner_default_gray_icm_profile;
+ char scanner_default_gray_icm_profile[PATH_MAX];
+ char windowname[TEXTBUFSIZE];
+
+ DBG(DBG_proc, "xsane_setup_browse_scanner_default_gray_icm_profile_callback\n");
+
+ old_scanner_default_gray_icm_profile = gtk_entry_get_text(GTK_ENTRY(xsane_setup.scanner_default_gray_icm_profile_entry));
+ strncpy(scanner_default_gray_icm_profile, old_scanner_default_gray_icm_profile, sizeof(scanner_default_gray_icm_profile));
+
+ snprintf(windowname, sizeof(windowname), "%s %s", xsane.prog_name, WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE);
+ xsane_back_gtk_get_filename(windowname, scanner_default_gray_icm_profile, sizeof(scanner_default_gray_icm_profile), scanner_default_gray_icm_profile, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_OPEN, XSANE_GET_FILENAME_SHOW_NOTHING, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_ICM, XSANE_FILE_FILTER_ICM);
+
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.scanner_default_gray_icm_profile_entry), scanner_default_gray_icm_profile);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_setup_browse_display_icm_profile_callback(GtkWidget *widget, gpointer data)
+{
+ const gchar *old_display_icm_profile;
+ char display_icm_profile[PATH_MAX];
+ char windowname[TEXTBUFSIZE];
+
+ DBG(DBG_proc, "xsane_setup_browse_display_icm_profile_callback\n");
+
+ old_display_icm_profile = gtk_entry_get_text(GTK_ENTRY(xsane_setup.display_icm_profile_entry));
+ strncpy(display_icm_profile, old_display_icm_profile, sizeof(display_icm_profile));
+
+ snprintf(windowname, sizeof(windowname), "%s %s", xsane.prog_name, WINDOW_DISPLAY_ICM_PROFILE);
+ xsane_back_gtk_get_filename(windowname, display_icm_profile, sizeof(display_icm_profile), display_icm_profile, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_OPEN, XSANE_GET_FILENAME_SHOW_NOTHING, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_ICM, XSANE_FILE_FILTER_ICM);
+
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.display_icm_profile_entry), display_icm_profile);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_setup_browse_custom_proofing_icm_profile_callback(GtkWidget *widget, gpointer data)
+{
+ const gchar *old_custom_proofing_icm_profile;
+ char custom_proofing_icm_profile[PATH_MAX];
+ char windowname[TEXTBUFSIZE];
+
+ DBG(DBG_proc, "xsane_setup_browse_custom_proofing_icm_profile_callback\n");
+
+ old_custom_proofing_icm_profile = gtk_entry_get_text(GTK_ENTRY(xsane_setup.custom_proofing_icm_profile_entry));
+ strncpy(custom_proofing_icm_profile, old_custom_proofing_icm_profile, sizeof(custom_proofing_icm_profile));
+
+ snprintf(windowname, sizeof(windowname), "%s %s", xsane.prog_name, WINDOW_CUSTOM_PROOFING_ICM_PROFILE);
+ xsane_back_gtk_get_filename(windowname, custom_proofing_icm_profile, sizeof(custom_proofing_icm_profile), custom_proofing_icm_profile, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_OPEN, XSANE_GET_FILENAME_SHOW_NOTHING, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_ICM, XSANE_FILE_FILTER_ICM);
+
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.custom_proofing_icm_profile_entry), custom_proofing_icm_profile);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_setup_browse_working_color_space_icm_profile_callback(GtkWidget *widget, gpointer data)
+{
+ const gchar *old_working_color_space_icm_profile;
+ char working_color_space_icm_profile[PATH_MAX];
+ char windowname[TEXTBUFSIZE];
+
+ DBG(DBG_proc, "xsane_setup_browse_working_color_space_icm_profile_callback\n");
+
+ old_working_color_space_icm_profile = gtk_entry_get_text(GTK_ENTRY(xsane_setup.working_color_space_icm_profile_entry));
+ strncpy(working_color_space_icm_profile, old_working_color_space_icm_profile, sizeof(working_color_space_icm_profile));
+
+ snprintf(windowname, sizeof(windowname), "%s %s", xsane.prog_name, WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE);
+ xsane_back_gtk_get_filename(windowname, working_color_space_icm_profile, sizeof(working_color_space_icm_profile), working_color_space_icm_profile, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_OPEN, XSANE_GET_FILENAME_SHOW_NOTHING, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_ICM, XSANE_FILE_FILTER_ICM);
+
+ gtk_entry_set_text(GTK_ENTRY(xsane_setup.working_color_space_icm_profile_entry), working_color_space_icm_profile);
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
static void xsane_saving_notebook(GtkWidget *notebook)
{
GtkWidget *setup_vbox, *vbox, *hbox, *button, *label, *text, *frame;
@@ -1379,7 +1654,7 @@ static void xsane_saving_notebook(GtkWidget *notebook)
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
gtk_widget_show(label);
- text = gtk_entry_new_with_max_length(255);
+ text = gtk_entry_new_with_max_length(PATH_MAX);
gtk_widget_set_size_request(text, 70, -1); /* set minimum size */
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_TMP_PATH);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.tmp_path);
@@ -1615,28 +1890,28 @@ static void xsane_filetype_notebook(GtkWidget *notebook)
#ifdef HAVE_LIBZ
- /* save ps with zlib compression / flatdecode = ps level 3 */
+ /* save ps with zlib compression / flatedecode = ps level 3 */
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
- button = gtk_check_button_new_with_label(RADIO_BUTTON_SAVE_PS_FLATDECODED);
- xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_SAVE_PS_FLATDECODED);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.save_ps_flatdecoded);
+ button = gtk_check_button_new_with_label(RADIO_BUTTON_SAVE_PS_FLATEDECODED);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_SAVE_PS_FLATEDECODED);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.save_ps_flatedecoded);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
gtk_widget_show(button);
gtk_widget_show(hbox);
- xsane_setup.save_ps_flatdecoded_button = button;
+ xsane_setup.save_ps_flatedecoded_button = button;
- /* save pdf with zlib compression / flatdecode */
+ /* save pdf with zlib compression / flatedecode */
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
- button = gtk_check_button_new_with_label(RADIO_BUTTON_SAVE_PDF_FLATDECODED);
- xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_SAVE_PDF_FLATDECODED);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.save_pdf_flatdecoded);
+ button = gtk_check_button_new_with_label(RADIO_BUTTON_SAVE_PDF_FLATEDECODED);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_SAVE_PDF_FLATEDECODED);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.save_pdf_flatedecoded);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
gtk_widget_show(button);
gtk_widget_show(hbox);
- xsane_setup.save_pdf_flatdecoded_button = button;
+ xsane_setup.save_pdf_flatedecoded_button = button;
#endif
@@ -1656,24 +1931,24 @@ static void xsane_filetype_notebook(GtkWidget *notebook)
#ifdef HAVE_LIBJPEG
xsane_range_new(GTK_BOX(vbox), TEXT_SETUP_JPEG_QUALITY, DESC_JPEG_QUALITY, 0.0, 100.0, 1.0, 10.0, 0,
- &preferences.jpeg_quality, (GtkObject **) &xsane_setup.jpeg_image_quality_scale, 0, TRUE);
+ &preferences.jpeg_quality, &xsane_setup.jpeg_image_quality_scale, 0, TRUE);
#else
#ifdef HAVE_LIBTIFF
xsane_range_new(GTK_BOX(vbox), TEXT_SETUP_JPEG_QUALITY, DESC_JPEG_QUALITY, 0.0, 100.0, 1.0, 10.0, 0,
- &preferences.jpeg_quality, (GtkObject **) &xsane_setup.jpeg_image_quality_scale, 0, TRUE);
+ &preferences.jpeg_quality, &xsane_setup.jpeg_image_quality_scale, 0, TRUE);
#endif
#endif
#ifdef HAVE_LIBPNG
#ifdef HAVE_LIBZ
xsane_range_new(GTK_BOX(vbox), TEXT_SETUP_PNG_COMPRESSION, DESC_PNG_COMPRESSION, 0.0, Z_BEST_COMPRESSION, 1.0, 10.0, 0,
- &preferences.png_compression, (GtkObject **) &xsane_setup.png_image_compression_scale, 0, TRUE);
+ &preferences.png_compression, &xsane_setup.png_image_compression_scale, 0, TRUE);
#endif
#endif
#ifdef HAVE_LIBTIFF
xsane_range_new(GTK_BOX(vbox), TEXT_SETUP_TIFF_ZIP_COMPRESSION, DESC_TIFF_ZIP_COMPRESSION, 1.0, 9.0, 1.0, 6.0, 0,
- &preferences.tiff_zip_compression, (GtkObject **) &xsane_setup.tiff_image_zip_compression_scale, 0, TRUE);
+ &preferences.tiff_zip_compression, &xsane_setup.tiff_image_zip_compression_scale, 0, TRUE);
/* TIFF 16 BIT IMAGES COMPRESSION */
@@ -2083,16 +2358,16 @@ static void xsane_fax_notebook(GtkWidget *notebook)
xsane_separator_new(vbox, 4);
- /* flatdecoded = ps level 3 */
+ /* flatedecoded = ps level 3 */
hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
- button = gtk_check_button_new_with_label(TEXT_SETUP_FAX_PS_FLATDECODED);
- xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_FAX_PS_FLATDECODED);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.fax_ps_flatdecoded);
+ button = gtk_check_button_new_with_label(TEXT_SETUP_FAX_PS_FLATEDECODED);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_FAX_PS_FLATEDECODED);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.fax_ps_flatedecoded);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
gtk_widget_show(button);
gtk_widget_show(hbox);
- xsane_setup.fax_ps_flatdecoded_button = button;
+ xsane_setup.fax_ps_flatedecoded_button = button;
#endif
@@ -3224,6 +3499,355 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
/* ---------------------------------------------------------------------------------------------------------------------- */
+#ifdef HAVE_LIBLCMS
+static void xsane_color_management_notebook(GtkWidget *notebook)
+{
+ GtkWidget *setup_vbox, *vbox, *hbox, *button, *label, *text, *frame, *option_menu, *menu, *menu_item;
+ int selection = 0;
+
+ DBG(DBG_proc, "xsane_color_management_notebook\n");
+
+ /* color management options notebook page */
+
+ setup_vbox = gtk_vbox_new(FALSE, 5);
+
+ label = gtk_label_new(NOTEBOOK_COLOR_MANAGEMENT_OPTIONS);
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), setup_vbox, label);
+ gtk_widget_show(setup_vbox);
+
+ frame = gtk_frame_new(0);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), 7);
+ gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN);
+ gtk_box_pack_start(GTK_BOX(setup_vbox), frame, TRUE, TRUE, 0); /* sizeable framehight */
+ gtk_widget_show(frame);
+
+ vbox = gtk_vbox_new(FALSE, 1);
+ gtk_container_add(GTK_CONTAINER(frame), vbox);
+ gtk_widget_show(vbox);
+
+
+
+ /* black point compensation */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+ button = gtk_check_button_new_with_label(RADIO_BUTTON_CMS_BPC);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_CMS_BPC);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.cms_bpc);
+ gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
+ gtk_widget_show(button);
+ gtk_widget_show(hbox);
+ xsane_setup.cms_bpc_button = button;
+
+
+
+ /* Intent menu */
+ hbox = gtk_hbox_new(FALSE, 2);
+ gtk_container_set_border_width(GTK_CONTAINER(hbox), 2);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
+
+ label = gtk_label_new(MENU_ITEM_CMS_RENDERING_INTENT);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ option_menu = gtk_option_menu_new();
+ xsane_back_gtk_set_tooltip(xsane.tooltips, option_menu, DESC_RENDERING_INTENT);
+ gtk_box_pack_end(GTK_BOX(hbox), option_menu, FALSE, FALSE, 2);
+ gtk_widget_show(option_menu);
+ gtk_widget_show(hbox);
+
+ menu = gtk_menu_new();
+
+ menu_item = gtk_menu_item_new_with_label(SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL);
+ gtk_object_set_data(GTK_OBJECT(menu_item), "Selection", (void *) INTENT_PERCEPTUAL);
+ gtk_container_add(GTK_CONTAINER(menu), menu_item);
+ gtk_widget_show(menu_item);
+
+ menu_item = gtk_menu_item_new_with_label(SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC);
+ gtk_object_set_data(GTK_OBJECT(menu_item), "Selection", (void *) INTENT_RELATIVE_COLORIMETRIC);
+ gtk_container_add(GTK_CONTAINER(menu), menu_item);
+ gtk_widget_show(menu_item);
+
+ menu_item = gtk_menu_item_new_with_label(SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC);
+ gtk_object_set_data(GTK_OBJECT(menu_item), "Selection", (void *) INTENT_ABSOLUTE_COLORIMETRIC);
+ gtk_container_add(GTK_CONTAINER(menu), menu_item);
+ gtk_widget_show(menu_item);
+
+ menu_item = gtk_menu_item_new_with_label(SUBMENU_ITEM_CMS_INTENT_SATURATION);
+ gtk_object_set_data(GTK_OBJECT(menu_item), "Selection", (void *) INTENT_SATURATION);
+ gtk_container_add(GTK_CONTAINER(menu), menu_item);
+ gtk_widget_show(menu_item);
+
+ if (preferences.cms_intent == INTENT_PERCEPTUAL)
+ {
+ selection = 0;
+ }
+ else if (preferences.cms_intent == INTENT_RELATIVE_COLORIMETRIC)
+ {
+ selection = 1;
+ }
+ else if (preferences.cms_intent == INTENT_ABSOLUTE_COLORIMETRIC)
+ {
+ selection = 2;
+ }
+ else
+ {
+ selection = 3;
+ }
+
+
+ gtk_option_menu_set_menu(GTK_OPTION_MENU(option_menu), menu);
+ gtk_option_menu_set_history(GTK_OPTION_MENU(option_menu), selection);
+ xsane_setup.cms_intent_option_menu = option_menu;
+
+
+ xsane_separator_new(vbox, 4);
+
+
+ /* scanner_default_color_icm_profile filename : */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+
+ label = gtk_label_new(TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ button = gtk_button_new_with_label(BUTTON_BROWSE);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_browse_scanner_default_color_icm_profile_callback, NULL);
+ gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 2);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE);
+ gtk_widget_show(button);
+
+ text = gtk_entry_new_with_max_length(PATH_MAX);
+ gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE);
+
+ if (xsane.scanner_default_color_icm_profile)
+ {
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) xsane.scanner_default_color_icm_profile);
+ }
+
+ gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 4);
+ gtk_widget_show(text);
+ xsane_setup.scanner_default_color_icm_profile_entry = text;
+
+ gtk_widget_show(hbox);
+
+
+ /* scanner_default_gray_icm_profile filename : */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+
+ label = gtk_label_new(TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ button = gtk_button_new_with_label(BUTTON_BROWSE);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_browse_scanner_default_gray_icm_profile_callback, NULL);
+ gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 2);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE);
+ gtk_widget_show(button);
+
+ text = gtk_entry_new_with_max_length(PATH_MAX);
+ gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE);
+
+ if (xsane.scanner_default_gray_icm_profile)
+ {
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) xsane.scanner_default_gray_icm_profile);
+ }
+
+ gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 4);
+ gtk_widget_show(text);
+ xsane_setup.scanner_default_gray_icm_profile_entry = text;
+
+ gtk_widget_show(hbox);
+
+#if 0
+ xsane_separator_new(vbox, 4);
+
+
+ /* scanner_tran icm-profile filename : */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+
+ label = gtk_label_new(TEXT_SETUP_SCANNER_TRAN_ICM_PROFILE);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ button = gtk_button_new_with_label(BUTTON_BROWSE);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_browse_scanner_tran_icm_profile_callback, NULL);
+ gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 2);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_BUTTON_SCANNER_TRAN_ICM_PROFILE_BROWSE);
+ gtk_widget_show(button);
+
+ text = gtk_entry_new_with_max_length(PATH_MAX);
+ gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SCANNER_TRAN_ICM_PROFILE);
+
+ if (xsane.scanner_tran_icm_profile)
+ {
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) xsane.scanner_tran_icm_profile);
+ }
+
+ gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 4);
+ gtk_widget_show(text);
+ xsane_setup.scanner_tran_icm_profile_entry = text;
+
+ gtk_widget_show(hbox);
+
+
+ /* scanner_tran_gray icm-profile filename : */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+
+ label = gtk_label_new(TEXT_SETUP_SCANNER_TRAN_GRAY_ICM_PROFILE);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ button = gtk_button_new_with_label(BUTTON_BROWSE);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_browse_scanner_tran_gray_icm_profile_callback, NULL);
+ gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 2);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_BUTTON_SCANNER_TRAN_GRAY_ICM_PROFILE_BROWSE);
+ gtk_widget_show(button);
+
+ text = gtk_entry_new_with_max_length(PATH_MAX);
+ gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SCANNER_TRAN_GRAY_ICM_PROFILE);
+
+ if (xsane.scanner_tran_gray_icm_profile)
+ {
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) xsane.scanner_tran_gray_icm_profile);
+ }
+
+ gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 4);
+ gtk_widget_show(text);
+ xsane_setup.scanner_tran_gray_icm_profile_entry = text;
+
+ gtk_widget_show(hbox);
+#endif
+
+ xsane_separator_new(vbox, 4);
+
+
+ /* display icm-profile filename : */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+
+ label = gtk_label_new(TEXT_SETUP_DISPLAY_ICM_PROFILE);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ button = gtk_button_new_with_label(BUTTON_BROWSE);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_browse_display_icm_profile_callback, NULL);
+ gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 2);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE);
+ gtk_widget_show(button);
+
+ text = gtk_entry_new_with_max_length(PATH_MAX);
+ gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_DISPLAY_ICM_PROFILE);
+
+ if (preferences.display_icm_profile)
+ {
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.display_icm_profile);
+ }
+
+ gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 4);
+ gtk_widget_show(text);
+ xsane_setup.display_icm_profile_entry = text;
+
+ gtk_widget_show(hbox);
+
+
+
+ /* custom output icm-profile filename : */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+
+ label = gtk_label_new(TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ button = gtk_button_new_with_label(BUTTON_BROWSE);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_browse_custom_proofing_icm_profile_callback, NULL);
+ gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 2);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE);
+ gtk_widget_show(button);
+
+ text = gtk_entry_new_with_max_length(PATH_MAX);
+ gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_CUSTOM_PROOFING_ICM_PROFILE);
+
+ if (preferences.custom_proofing_icm_profile)
+ {
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.custom_proofing_icm_profile);
+ }
+
+ gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 4);
+ gtk_widget_show(text);
+ xsane_setup.custom_proofing_icm_profile_entry = text;
+
+ gtk_widget_show(hbox);
+
+
+ xsane_separator_new(vbox, 4);
+
+
+ /* working color space icm-profile filename : */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+
+ label = gtk_label_new(TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2);
+ gtk_widget_show(label);
+
+ button = gtk_button_new_with_label(BUTTON_BROWSE);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_browse_working_color_space_icm_profile_callback, NULL);
+ gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 2);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE);
+ gtk_widget_show(button);
+
+ text = gtk_entry_new_with_max_length(PATH_MAX);
+ gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_WORKING_COLOR_SPACE_ICM_PROFILE);
+
+ if (preferences.working_color_space_icm_profile)
+ {
+ gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.working_color_space_icm_profile);
+ }
+
+ gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 4);
+ gtk_widget_show(text);
+ xsane_setup.working_color_space_icm_profile_entry = text;
+
+ gtk_widget_show(hbox);
+
+
+
+ xsane_separator_new(vbox, 4);
+
+
+
+ /* apply button */
+
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+
+#ifdef HAVE_GTK2
+ button = gtk_button_new_from_stock(GTK_STOCK_APPLY);
+#else
+ button = gtk_button_new_with_label(BUTTON_APPLY);
+#endif
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_color_management_apply_changes, NULL);
+ gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
+ gtk_widget_show(button);
+
+ gtk_widget_show(hbox);
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
void xsane_setup_dialog(GtkWidget *widget, gpointer data)
{
GtkWidget *setup_dialog, *setup_vbox, *hbox, *button, *notebook;
@@ -3267,6 +3891,9 @@ void xsane_setup_dialog(GtkWidget *widget, gpointer data)
xsane_ocr_notebook(notebook);
xsane_display_notebook(notebook);
xsane_enhance_notebook(notebook);
+#ifdef HAVE_LIBLCMS
+ xsane_color_management_notebook(notebook);
+#endif
/* set the main hbox */
@@ -3277,23 +3904,23 @@ void xsane_setup_dialog(GtkWidget *widget, gpointer data)
gtk_widget_show(hbox);
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_OK);
+ button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
#else
- button = gtk_button_new_with_label(BUTTON_OK);
+ button = gtk_button_new_with_label(BUTTON_CANCEL);
#endif
- GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_options_ok_callback, setup_dialog);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_close_setup_dialog_callback, setup_dialog);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
- gtk_widget_grab_default(button);
gtk_widget_show(button);
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
+ button = gtk_button_new_from_stock(GTK_STOCK_OK);
#else
- button = gtk_button_new_with_label(BUTTON_CANCEL);
+ button = gtk_button_new_with_label(BUTTON_OK);
#endif
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_close_setup_dialog_callback, setup_dialog);
+ GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_setup_options_ok_callback, setup_dialog);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
+ gtk_widget_grab_default(button);
gtk_widget_show(button);
gtk_widget_show(setup_dialog);
diff --git a/src/xsane-setup.h b/src/xsane-setup.h
index 8055dfb..155790f 100644
--- a/src/xsane-setup.h
+++ b/src/xsane-setup.h
@@ -3,7 +3,7 @@
xsane-setup.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/src/xsane-text.h b/src/xsane-text.h
index 7614bfc..c271956 100644
--- a/src/xsane-text.h
+++ b/src/xsane-text.h
@@ -3,7 +3,7 @@
xsane-text.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -26,182 +26,193 @@
#define XSANE_TEXT_H
/* Please translate this to the correct directory name (eg. german=>de) */
-#define XSANE_LANGUAGE_DIR _("language_dir")
-
-#define XSANE_STRSTATUS(status) _(sane_strstatus(status))
-#define _BGT(text) dgettext(xsane.backend_translation, text)
-
-#define XSANE_COPYRIGHT_SIGN _("(c)") /* can be translated with \251 */
-
-#define FILENAME_PREFIX_CLONE_OF _("clone-of-")
-
-#define WINDOW_ABOUT_XSANE _("About")
-#define WINDOW_ABOUT_TRANSLATION _("About translation")
-#define WINDOW_AUTHORIZE _("authorization")
-#define WINDOW_GPL _("GPL - the license")
-#define WINDOW_EULA _("End User License Agreement")
-#define WINDOW_INFO _("info")
-#define WINDOW_LOAD_BATCH_LIST _("load batch list")
-#define WINDOW_SAVE_BATCH_LIST _("save batch list")
-#define WINDOW_BATCH_SCAN _("batch scan")
-#define WINDOW_BATCH_RENAME _("rename batch area")
-#define WINDOW_FAX_PROJECT _("fax project")
-#define WINDOW_FAX_RENAME _("rename fax page")
-#define WINDOW_FAX_INSERT _("insert ps-file into fax")
-#define WINDOW_EMAIL_PROJECT _("E-mail project")
-#define WINDOW_EMAIL_RENAME _("rename e-mail image")
-#define WINDOW_EMAIL_INSERT _("insert file into e-mail")
-#define WINDOW_MULTIPAGE_PROJECT _("multipage project")
-#define WINDOW_PRESET_AREA_RENAME _("rename preset area")
-#define WINDOW_PRESET_AREA_ADD _("add preset area")
-#define WINDOW_MEDIUM_RENAME _("rename medium")
-#define WINDOW_MEDIUM_ADD _("add new medium")
-#define WINDOW_SETUP _("setup")
-#define WINDOW_HISTOGRAM _("Histogram")
-#define WINDOW_GAMMA _("Gamma curve")
-#define WINDOW_STANDARD_OPTIONS _("Standard options")
-#define WINDOW_ADVANCED_OPTIONS _("Advanced options")
-#define WINDOW_DEVICE_SELECTION _("device selection")
-#define WINDOW_PREVIEW _("Preview")
-#define WINDOW_VIEWER _("Viewer")
-#define WINDOW_VIEWER_OUTPUT_FILENAME _("Viewer: select output filename")
-#define WINDOW_OCR_OUTPUT_FILENAME _("Select output filename for OCR text file")
-#define WINDOW_OUTPUT_FILENAME _("select output filename")
-#define WINDOW_SAVE_SETTINGS _("save device settings")
-#define WINDOW_LOAD_SETTINGS _("load device settings")
-#define WINDOW_CHANGE_WORKING_DIR _("change working directory")
-#define WINDOW_TMP_PATH _("select temporary directory")
-#define WINDOW_SCALE _("Scale image")
-#define WINDOW_DESPECKLE _("Despeckle image")
-#define WINDOW_BLUR _("Blur image")
-#define WINDOW_STORE_MEDIUM _("Store medium definition")
-#define WINDOW_NO_DEVICES _("No devices available")
-
-#define MENU_FILE _("File")
-#define MENU_PREFERENCES _("Preferences")
-#define MENU_VIEW _("View")
-#define MENU_WINDOW _("Window")
-#define MENU_HELP _("Help")
-#define MENU_EDIT _("Edit")
-#define MENU_FILTERS _("Filters")
-#define MENU_GEOMETRY _("Geometry")
-
-#define MENU_ITEM_ABOUT_XSANE _("About XSane")
-#define MENU_ITEM_ABOUT_TRANSLATION _("About translation")
-#define MENU_ITEM_INFO _("Info")
-#define MENU_ITEM_QUIT _("Quit")
-
-#define MENU_ITEM_SAVE_IMAGE _("Save image")
-#define MENU_ITEM_OCR _("OCR - save as text")
-#define MENU_ITEM_CLONE _("Clone")
-#define MENU_ITEM_SCALE _("Scale")
-#define MENU_ITEM_CLOSE _("Close")
-
-#define MENU_ITEM_UNDO _("Undo")
-
-#define MENU_ITEM_DESPECKLE _("Despeckle")
-#define MENU_ITEM_BLUR _("Blur")
-
-#define MENU_ITEM_ROTATE90 _("Rotate 90")
-#define MENU_ITEM_ROTATE180 _("Rotate 180")
-#define MENU_ITEM_ROTATE270 _("Rotate 270")
-#define MENU_ITEM_MIRROR_X _("Mirror |")
-#define MENU_ITEM_MIRROR_Y _("Mirror -")
-
-#define FRAME_RAW_IMAGE _("Raw image")
-#define FRAME_ENHANCED_IMAGE _("Enhanced image")
-
-#define BUTTON_SCAN _("Scan")
-#define BUTTON_OK _("Ok")
-#define BUTTON_ACCEPT _("Accept")
-#define BUTTON_NOT_ACCEPT _("Not accept")
-#define BUTTON_APPLY _("Apply")
-#define BUTTON_CANCEL _("Cancel")
-#define BUTTON_REDUCE _("Reduce")
-#define BUTTON_CONT_AT_OWN_RISK _("Continue at your own risk")
-#define BUTTON_BROWSE _("Browse")
-#define BUTTON_CLOSE _("Close")
-#define BUTTON_HELP _("Help")
-#define BUTTON_OVERWRITE _("Overwrite")
-#define BUTTON_BATCH_LIST_SCAN _("Scan batch list")
-#define BUTTON_BATCH_AREA_SCAN _("Scan selected area")
-#define BUTTON_PAGE_DELETE _("Delete page")
-#define BUTTON_PAGE_SHOW _("Show page")
-#define BUTTON_PAGE_RENAME _("Rename page")
-#define BUTTON_IMAGE_DELETE _("Delete image")
-#define BUTTON_IMAGE_SHOW _("Show image")
-#define BUTTON_IMAGE_EDIT _("Edit image")
-#define BUTTON_IMAGE_RENAME _("Rename image")
-#define BUTTON_FILE_INSERT _("Insert file")
-#define BUTTON_CREATE_PROJECT _("Create project")
-#define BUTTON_SEND_PROJECT _("Send project")
-#define BUTTON_SAVE_MULTIPAGE _("Save multipage file")
-#define BUTTON_DELETE_PROJECT _("Delete project")
-#define BUTTON_ADD_PRINTER _("Add printer")
-#define BUTTON_DELETE_PRINTER _("Delete printer")
-#define BUTTON_PREVIEW_ACQUIRE _("Acquire preview")
-#define BUTTON_PREVIEW_CANCEL _("Cancel preview")
-#define BUTTON_DISCARD_IMAGE _("Discard image")
-#define BUTTON_DISCARD_ALL_IMAGES _("Discard all images")
-#define BUTTON_DO_NOT_CLOSE _("Do not close")
-#define BUTTON_SCALE_BIND _("Bind scale")
-
-#define RADIO_BUTTON_FINE_MODE _("Fine mode")
-#define RADIO_BUTTON_HTML_EMAIL _("HTML e-mail")
-#define RADIO_BUTTON_SAVE_DEVPREFS_AT_EXIT _("Save device preferences at exit")
-#define RADIO_BUTTON_OVERWRITE_WARNING _("Overwrite warning")
-#define RADIO_BUTTON_SKIP_EXISTING_NRS _("Skip existing filenames")
-#define RADIO_BUTTON_SAVE_PS_FLATDECODED _("Save postscript zlib compressed (ps level 3)")
-#define RADIO_BUTTON_SAVE_PDF_FLATDECODED _("Save PDF zlib compressed")
-#define RADIO_BUTTON_SAVE_PNM16_AS_ASCII _("Save 16bit pnm in ascii format")
-#define RADIO_BUTTON_REDUCE_16BIT_TO_8BIT _("Reduce 16 bit image to 8 bit")
-#define RADIO_BUTTON_WINDOW_FIXED _("Main window size fixed")
-#define RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA _("Disable gimp preview gamma")
-#define RADIO_BUTTON_PRIVATE_COLORMAP _("Use private colormap")
-#define RADIO_BUTTON_AUTOENHANCE_GAMMA _("Autoenhance gamma")
-#define RADIO_BUTTON_PRESELECT_SCANAREA _("Preselect scanarea")
-#define RADIO_BUTTON_AUTOCORRECT_COLORS _("Autocorrect colors")
-#define RADIO_BUTTON_OCR_USE_GUI_PIPE _("Use GUI progress pipe")
-
-#define TEXT_SCANNING_DEVICES _("scanning for devices")
-#define TEXT_AVAILABLE_DEVICES _("Available devices:")
-#define TEXT_XSANE_OPTIONS _("XSane options")
-#define TEXT_FILETYPE _("Type")
-#define TEXT_SCANNER_BACKEND _("Scanner and backend:")
-#define TEXT_VENDOR _("Vendor:")
-#define TEXT_MODEL _("Model:")
-#define TEXT_TYPE _("Type:")
-#define TEXT_DEVICE _("Device:")
-#define TEXT_LOADED_BACKEND _("Loaded backend:")
-#define TEXT_SANE_VERSION _("Sane version:")
-#define TEXT_RECENT_VALUES _("Recent values:")
-#define TEXT_GAMMA_CORR_BY _("Gamma correction by:")
-#define TEXT_SCANNER _("scanner")
-#define TEXT_SOFTWARE_XSANE _("software (XSane)")
-#define TEXT_NONE _("none")
-#define TEXT_GAMMA_INPUT_DEPTH _("Gamma input depth:")
-#define TEXT_GAMMA_OUTPUT_DEPTH _("Gamma output depth:")
-#define TEXT_SCANNER_OUTPUT_DEPTH _("Scanner output depth:")
-#define TEXT_OUTPUT_FORMATS _("XSane output formats:")
-#define TEXT_8BIT_FORMATS _("8 bit output formats:")
-#define TEXT_16BIT_FORMATS _("16 bit output formats:")
-#define TEXT_GIMP_REDUCE_16BIT_TO_8BIT _("Gimp does not support depth 16 bits/color.\n" \
- "Do you want to reduce the depth to 8 bits/color?")
-#define TEXT_REDUCE_16BIT_TO_8BIT _("Bit depth 16 bits/color is not supported for this output format.\n" \
- "Do you want to reduce the depth to 8 bits/color?")
-#define TEXT_AUTHORIZATION_REQ _("Authorization required for")
-#define TEXT_AUTHORIZATION_SECURE _("Password transmission is secure")
-#define TEXT_AUTHORIZATION_INSECURE _("Backend requests plain-text password")
-#define TEXT_USERNAME _("Username :")
-#define TEXT_PASSWORD _("Password :")
-#define TEXT_INVALID_PARAMS _("Invalid parameters.")
-#define TEXT_VERSION _("version:")
-#define TEXT_PACKAGE _("package")
-#define TEXT_WITH_GIMP_SUPPORT _("with GIMP support")
-#define TEXT_WITHOUT_GIMP_SUPPORT _("without GIMP support")
-#define TEXT_GTK_VERSION _("compiled with GTK-")
-#define TEXT_GIMP_VERSION _("compiled with GIMP-")
-#define TEXT_UNKNOWN _("unknown")
+#define XSANE_LANGUAGE_DIR _("language_dir")
+
+#define XSANE_STRSTATUS(status) _(sane_strstatus(status))
+#define _BGT(text) dgettext(xsane.backend_translation, text)
+
+#define XSANE_COPYRIGHT_SIGN _("(c)") /* can be translated with \251 */
+
+#define FILENAME_PREFIX_CLONE_OF _("clone-of-")
+
+#define WINDOW_ABOUT_XSANE _("About")
+#define WINDOW_ABOUT_TRANSLATION _("About translation")
+#define WINDOW_AUTHORIZE _("authorization")
+#define WINDOW_GPL _("GPL - the license")
+#define WINDOW_EULA _("End User License Agreement")
+#define WINDOW_INFO _("info")
+#define WINDOW_LOAD_BATCH_LIST _("load batch list")
+#define WINDOW_SAVE_BATCH_LIST _("save batch list")
+#define WINDOW_BATCH_SCAN _("batch scan")
+#define WINDOW_BATCH_RENAME _("rename batch area")
+#define WINDOW_FAX_PROJECT _("fax project")
+#define WINDOW_FAX_PROJECT_BROWSE _("browse for fax project")
+#define WINDOW_FAX_RENAME _("rename fax page")
+#define WINDOW_FAX_INSERT _("insert ps-file into fax")
+#define WINDOW_EMAIL_PROJECT _("E-mail project")
+#define WINDOW_EMAIL_PROJECT_BROWSE _("browse for email project")
+#define WINDOW_EMAIL_RENAME _("rename e-mail image")
+#define WINDOW_EMAIL_INSERT _("insert file into e-mail")
+#define WINDOW_MULTIPAGE_PROJECT _("multipage project")
+#define WINDOW_MULTIPAGE_PROJECT_BROWSE _("browse for multipage project")
+#define WINDOW_PRESET_AREA_RENAME _("rename preset area")
+#define WINDOW_PRESET_AREA_ADD _("add preset area")
+#define WINDOW_MEDIUM_RENAME _("rename medium")
+#define WINDOW_MEDIUM_ADD _("add new medium")
+#define WINDOW_SETUP _("setup")
+#define WINDOW_HISTOGRAM _("Histogram")
+#define WINDOW_GAMMA _("Gamma curve")
+#define WINDOW_STANDARD_OPTIONS _("Standard options")
+#define WINDOW_ADVANCED_OPTIONS _("Advanced options")
+#define WINDOW_DEVICE_SELECTION _("device selection")
+#define WINDOW_PREVIEW _("Preview")
+#define WINDOW_VIEWER _("Viewer")
+#define WINDOW_VIEWER_OUTPUT_FILENAME _("Viewer: select output filename")
+#define WINDOW_OCR_OUTPUT_FILENAME _("Select output filename for OCR text file")
+#define WINDOW_OUTPUT_FILENAME _("select output filename")
+#define WINDOW_SAVE_SETTINGS _("save device settings")
+#define WINDOW_LOAD_SETTINGS _("load device settings")
+#define WINDOW_CHANGE_WORKING_DIR _("change working directory")
+#define WINDOW_TMP_PATH _("select temporary directory")
+#define WINDOW_SCALE _("Scale image")
+#define WINDOW_DESPECKLE _("Despeckle image")
+#define WINDOW_BLUR _("Blur image")
+#define WINDOW_STORE_MEDIUM _("Store medium definition")
+#define WINDOW_NO_DEVICES _("No devices available")
+#define WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE _("select scanner default color ICM-profile")
+#define WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE _("select scanner default gray ICM-profile")
+#define WINDOW_DISPLAY_ICM_PROFILE _("select display ICM-profile")
+#define WINDOW_CUSTOM_PROOFING_ICM_PROFILE _("select custom proofing ICM-profile")
+#define WINDOW_WORKING_COLOR_SPACE_ICM_PROFILE _("select working color space ICM-profile")
+#define WINDOW_PRINTER_ICM_PROFILE _("select printer ICM-profile")
+
+#define MENU_FILE _("File")
+#define MENU_PREFERENCES _("Preferences")
+#define MENU_VIEW _("View")
+#define MENU_WINDOW _("Window")
+#define MENU_HELP _("Help")
+#define MENU_EDIT _("Edit")
+#define MENU_FILTERS _("Filters")
+#define MENU_GEOMETRY _("Geometry")
+#define MENU_COLOR_MANAGEMENT _("Color management")
+
+#define MENU_ITEM_ABOUT_XSANE _("About XSane")
+#define MENU_ITEM_ABOUT_TRANSLATION _("About translation")
+#define MENU_ITEM_INFO _("Info")
+#define MENU_ITEM_QUIT _("Quit")
+
+#define MENU_ITEM_SAVE_IMAGE _("Save image")
+#define MENU_ITEM_OCR _("OCR - save as text")
+#define MENU_ITEM_CLONE _("Clone")
+#define MENU_ITEM_SCALE _("Scale")
+#define MENU_ITEM_CLOSE _("Close")
+
+#define MENU_ITEM_UNDO _("Undo")
+
+#define MENU_ITEM_DESPECKLE _("Despeckle")
+#define MENU_ITEM_BLUR _("Blur")
+
+#define MENU_ITEM_ROTATE90 _("Rotate 90")
+#define MENU_ITEM_ROTATE180 _("Rotate 180")
+#define MENU_ITEM_ROTATE270 _("Rotate 270")
+#define MENU_ITEM_MIRROR_X _("Mirror |")
+#define MENU_ITEM_MIRROR_Y _("Mirror -")
+
+#define FRAME_RAW_IMAGE _("Raw image")
+#define FRAME_ENHANCED_IMAGE _("Enhanced image")
+
+#define BUTTON_SCAN _("Scan")
+#define BUTTON_OK _("Ok")
+#define BUTTON_ACCEPT _("Accept")
+#define BUTTON_NOT_ACCEPT _("Not accept")
+#define BUTTON_APPLY _("Apply")
+#define BUTTON_CANCEL _("Cancel")
+#define BUTTON_REDUCE _("Reduce")
+#define BUTTON_CONT_AT_OWN_RISK _("Continue at your own risk")
+#define BUTTON_BROWSE _("Browse")
+#define BUTTON_CLOSE _("Close")
+#define BUTTON_HELP _("Help")
+#define BUTTON_OVERWRITE _("Overwrite")
+#define BUTTON_BATCH_LIST_SCAN _("Scan batch list")
+#define BUTTON_BATCH_AREA_SCAN _("Scan selected area")
+#define BUTTON_PAGE_DELETE _("Delete page")
+#define BUTTON_PAGE_SHOW _("Show page")
+#define BUTTON_PAGE_RENAME _("Rename page")
+#define BUTTON_IMAGE_DELETE _("Delete image")
+#define BUTTON_IMAGE_SHOW _("Show image")
+#define BUTTON_IMAGE_EDIT _("Edit image")
+#define BUTTON_IMAGE_RENAME _("Rename image")
+#define BUTTON_FILE_INSERT _("Insert file")
+#define BUTTON_CREATE_PROJECT _("Create project")
+#define BUTTON_SEND_PROJECT _("Send project")
+#define BUTTON_SAVE_MULTIPAGE _("Save multipage file")
+#define BUTTON_DELETE_PROJECT _("Delete project")
+#define BUTTON_ADD_PRINTER _("Add printer")
+#define BUTTON_DELETE_PRINTER _("Delete printer")
+#define BUTTON_PREVIEW_ACQUIRE _("Acquire preview")
+#define BUTTON_PREVIEW_CANCEL _("Cancel preview")
+#define BUTTON_DISCARD_IMAGE _("Discard image")
+#define BUTTON_DISCARD_ALL_IMAGES _("Discard all images")
+#define BUTTON_DO_NOT_CLOSE _("Do not close")
+#define BUTTON_SCALE_BIND _("Bind scale")
+
+#define RADIO_BUTTON_FINE_MODE _("Fine mode")
+#define RADIO_BUTTON_HTML_EMAIL _("HTML e-mail")
+#define RADIO_BUTTON_SAVE_DEVPREFS_AT_EXIT _("Save device preferences at exit")
+#define RADIO_BUTTON_OVERWRITE_WARNING _("Overwrite warning")
+#define RADIO_BUTTON_SKIP_EXISTING_NRS _("Skip existing filenames")
+#define RADIO_BUTTON_SAVE_PS_FLATEDECODED _("Save postscript zlib compressed (ps level 3)")
+#define RADIO_BUTTON_SAVE_PDF_FLATEDECODED _("Save PDF zlib compressed")
+#define RADIO_BUTTON_SAVE_PNM16_AS_ASCII _("Save 16bit pnm in ascii format")
+#define RADIO_BUTTON_REDUCE_16BIT_TO_8BIT _("Reduce 16 bit image to 8 bit")
+#define RADIO_BUTTON_WINDOW_FIXED _("Main window size fixed")
+#define RADIO_BUTTON_DISABLE_GIMP_PREVIEW_GAMMA _("Disable GIMP preview gamma")
+#define RADIO_BUTTON_PRIVATE_COLORMAP _("Use private colormap")
+#define RADIO_BUTTON_AUTOENHANCE_GAMMA _("Autoenhance gamma")
+#define RADIO_BUTTON_PRESELECT_SCANAREA _("Preselect scanarea")
+#define RADIO_BUTTON_AUTOCORRECT_COLORS _("Autocorrect colors")
+#define RADIO_BUTTON_OCR_USE_GUI_PIPE _("Use GUI progress pipe")
+#define RADIO_BUTTON_CMS_BPC _("Black point compensation")
+
+#define TEXT_SCANNING_DEVICES _("scanning for devices")
+#define TEXT_AVAILABLE_DEVICES _("Available devices:")
+#define TEXT_XSANE_OPTIONS _("XSane options")
+#define TEXT_FILETYPE _("Type")
+#define TEXT_CMS_FUNCTION _("Color management function")
+#define TEXT_SCANNER_BACKEND _("Scanner and backend:")
+#define TEXT_VENDOR _("Vendor:")
+#define TEXT_MODEL _("Model:")
+#define TEXT_TYPE _("Type:")
+#define TEXT_DEVICE _("Device:")
+#define TEXT_LOADED_BACKEND _("Loaded backend:")
+#define TEXT_SANE_VERSION _("Sane version:")
+#define TEXT_RECENT_VALUES _("Recent values:")
+#define TEXT_GAMMA_CORR_BY _("Gamma correction by:")
+#define TEXT_SCANNER _("scanner")
+#define TEXT_SOFTWARE_XSANE _("software (XSane)")
+#define TEXT_NONE _("none")
+#define TEXT_GAMMA_INPUT_DEPTH _("Gamma input depth:")
+#define TEXT_GAMMA_OUTPUT_DEPTH _("Gamma output depth:")
+#define TEXT_SCANNER_OUTPUT_DEPTH _("Scanner output depth:")
+#define TEXT_OUTPUT_FORMATS _("XSane output formats:")
+#define TEXT_8BIT_FORMATS _("8 bit output formats:")
+#define TEXT_16BIT_FORMATS _("16 bit output formats:")
+#define TEXT_REDUCE_16BIT_TO_8BIT _("Bit depth 16 bits/channel is not supported for this output format.\n" \
+ "Do you want to reduce the depth to 8 bits/channel?")
+#define TEXT_AUTHORIZATION_REQ _("Authorization required for")
+#define TEXT_AUTHORIZATION_SECURE _("Password transmission is secure")
+#define TEXT_AUTHORIZATION_INSECURE _("Backend requests plain-text password")
+#define TEXT_USERNAME _("Username :")
+#define TEXT_PASSWORD _("Password :")
+#define TEXT_INVALID_PARAMS _("Invalid parameters.")
+#define TEXT_VERSION _("version:")
+#define TEXT_PACKAGE _("package")
+#define TEXT_WITH_CMS_FUNCTION _("with color management function")
+#define TEXT_WITH_GIMP_SUPPORT _("with GIMP support")
+#define TEXT_WITHOUT_GIMP_SUPPORT _("without GIMP support")
+#define TEXT_GTK_VERSION _("compiled with GTK-")
+#define TEXT_GIMP_VERSION _("compiled with GIMP-")
+#define TEXT_UNKNOWN _("unknown")
#define TEXT_EULA _( "XSane is distributed under the terms of the GNU General Public License\n" \
"as published by the Free Software Foundation; either version 2 of the\n" \
"License, or (at your option) any later version.\n" \
@@ -220,164 +231,196 @@
"This program is distributed in the hope that it will be useful, but\n" \
"WITHOUT ANY WARRANTY; without even the implied warranty of\n" \
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n")
-#define TEXT_EMAIL_ADR _("E-mail:")
-#define TEXT_HOMEPAGE _("Homepage:")
-#define TEXT_FILE _("File:")
-#define TEXT_TRANSLATION _("Translation:")
+#define TEXT_EMAIL_ADR _("E-mail:")
+#define TEXT_HOMEPAGE _("Homepage:")
+#define TEXT_FILE _("File:")
+#define TEXT_TRANSLATION _("Translation:")
/* Please translate this to something like */
/* translation to YOUR LANGUAGE\n */
/* by YOUR NAME\n */
/* E-mail: your.name@yourdomain.com\n */
-#define TEXT_TRANSLATION_INFO _("untranslated original english text\n" \
- "by Oliver Rauch\n" \
- "E-mail: Oliver.Rauch@rauch-domain.de\n")
-
-#define TEXT_INFO_BOX _("0x0: 0KB")
-
-#define TEXT_ADF_PAGES_SCANNED _("Scanned pages: ")
-
-#define TEXT_EMAIL_TEXT _("E-mail text:")
-#define TEXT_ATTACHMENTS _("Attachments:")
-#define TEXT_EMAIL_STATUS _("Project status:")
-#define TEXT_EMAIL_FILETYPE _("E-mail image filetype:")
-
-#define TEXT_PAGES _("Pages:")
-#define TEXT_MULTIPAGE_FILETYPE _("Multipage document filetype:")
-
-#define TEXT_MEDIUM_DEFINITION_NAME _("Medium Name:")
-
-#define TEXT_VIEWER_IMAGE_INFO _("Size %d x %d pixel, %d bit/color, %d colors, %1.0f dpi x %1.0f dpi, %1.1f %s")
-#define TEXT_DESPECKLE_RADIUS _("Despeckle radius:")
-#define TEXT_BLUR_RADIUS _("Blur radius:")
-#define TEXT_BATCH_AREA_DEFAULT_NAME _("(no name)")
-#define TEXT_BATCH_LIST_AREANAME _("Area name:")
-#define TEXT_BATCH_LIST_SCANMODE _("Scanmode:")
-#define TEXT_BATCH_LIST_GEOMETRY_TL _("Top left:")
-#define TEXT_BATCH_LIST_GEOMETRY_SIZE _("Size:")
-#define TEXT_BATCH_LIST_RESOLUTION _("Resolution:")
-#define TEXT_BATCH_LIST_BIT_DEPTH _("Bit depth:")
-#define TEXT_BATCH_LIST_BY_GUI _("as selected")
-
-#define TEXT_SETUP_PRINTER_SEL _("Printer selection:")
-#define TEXT_SETUP_PRINTER_NAME _("Name:")
-#define TEXT_SETUP_PRINTER_CMD _("Command:")
-#define TEXT_SETUP_COPY_NR_OPT _("Copy number option:")
-#define TEXT_SETUP_PRINTER_LINEART_RES _("Lineart resolution (dpi):")
-#define TEXT_SETUP_PRINTER_GRAYSCALE_RES _("Grayscale resolution (dpi):")
-#define TEXT_SETUP_PRINTER_COLOR_RES _("Color resolution (dpi):")
-#define TEXT_SETUP_PRINTER_WIDTH _("Width")
-#define TEXT_SETUP_PRINTER_HEIGHT _("Height")
-#define TEXT_SETUP_PRINTER_LEFT _("Left offset")
-#define TEXT_SETUP_PRINTER_BOTTOM _("Bottom offset")
-#define TEXT_SETUP_PRINTER_GAMMA _("Printer gamma value:")
-#define TEXT_SETUP_PRINTER_GAMMA_RED _("Printer gamma red:")
-#define TEXT_SETUP_PRINTER_GAMMA_GREEN _("Printer gamma green:")
-#define TEXT_SETUP_PRINTER_GAMMA_BLUE _("Printer gamma blue:")
-#define TEXT_SETUP_PRINTER_PS_FLATDECODED _("Create zlib compressed postscript image (ps level 3) for printing")
-#define TEXT_SETUP_TMP_PATH _("Temporary directory")
-#define TEXT_SETUP_IMAGE_PERMISSION _("Image-file permissions")
-#define TEXT_SETUP_DIR_PERMISSION _("Directory permissions")
-#define TEXT_SETUP_JPEG_QUALITY _("JPEG image quality")
-#define TEXT_SETUP_PNG_COMPRESSION _("PNG image compression")
-#define TEXT_SETUP_FILENAME_COUNTER_LEN _("Filename counter length")
-#define TEXT_SETUP_TIFF_ZIP_COMPRESSION _("TIFF zip compression rate")
-#define TEXT_SETUP_TIFF_COMPRESSION_16 _("TIFF 16 bit image compression")
-#define TEXT_SETUP_TIFF_COMPRESSION_8 _("TIFF 8 bit image compression")
-#define TEXT_SETUP_TIFF_COMPRESSION_1 _("TIFF lineart image compression")
-#define TEXT_SETUP_SHOW_RANGE_MODE _("Show range as:")
-#define TEXT_SETUP_PREVIEW_OVERSAMPLING _("Preview oversampling:")
-#define TEXT_SETUP_PREVIEW_GAMMA _("Preview gamma:")
-#define TEXT_SETUP_PREVIEW_GAMMA_RED _("Preview gamma red:")
-#define TEXT_SETUP_PREVIEW_GAMMA_GREEN _("Preview gamma green:")
-#define TEXT_SETUP_PREVIEW_GAMMA_BLUE _("Preview gamma blue:")
-#define TEXT_SETUP_LINEART_MODE _("Threshold option:")
-#define TEXT_SETUP_PREVIEW_PIPETTE_RANGE _("Preview pipette range")
-#define TEXT_SETUP_THRESHOLD_MIN _("Threshold minimum:")
-#define TEXT_SETUP_THRESHOLD_MAX _("Threshold maximum:")
-#define TEXT_SETUP_THRESHOLD_MUL _("Threshold multiplier:")
-#define TEXT_SETUP_THRESHOLD_OFF _("Threshold offset:")
-#define TEXT_SETUP_GRAYSCALE_SCANMODE _("Name of grayscale scanmode:")
-#define TEXT_SETUP_HELPFILE_VIEWER _("Helpfile viewer (HTML):")
-#define TEXT_SETUP_FAX_COMMAND _("Command:")
-#define TEXT_SETUP_FAX_RECEIVER_OPTION _("Receiver option:")
-#define TEXT_SETUP_FAX_POSTSCRIPT_OPT _("Postscriptfile option:")
-#define TEXT_SETUP_FAX_NORMAL_MODE_OPT _("Normal mode option:")
-#define TEXT_SETUP_FAX_FINE_MODE_OPT _("Fine mode option:")
-#define TEXT_SETUP_FAX_PROGRAM_DEFAULTS _("Set program defaults for:")
-#define TEXT_SETUP_FAX_VIEWER _("Viewer (Postscript):")
-#define TEXT_SETUP_FAX_WIDTH _("Width")
-#define TEXT_SETUP_FAX_HEIGHT _("Height")
-#define TEXT_SETUP_FAX_LEFT _("Left offset")
-#define TEXT_SETUP_FAX_BOTTOM _("Bottom offset")
-#define TEXT_SETUP_FAX_PS_FLATDECODED _("Create zlib compressed postscript image (ps level 3) for fax")
-#define TEXT_SETUP_SMTP_SERVER _("SMTP server:")
-#define TEXT_SETUP_SMTP_PORT _("SMTP port:")
-#define TEXT_SETUP_EMAIL_FROM _("From:")
-#define TEXT_SETUP_EMAIL_REPLY_TO _("Reply to:")
-#define TEXT_SETUP_EMAIL_AUTHENTICATION _("E-mail authentication")
-#define TEXT_SETUP_EMAIL_AUTH_USER _("User:")
-#define TEXT_SETUP_EMAIL_AUTH_PASS _("Password:")
-#define TEXT_SETUP_POP3_SERVER _("POP3 server:")
-#define TEXT_SETUP_POP3_PORT _("POP3 port:")
-#define TEXT_SETUP_OCR_COMMAND _("OCR Command:")
-#define TEXT_SETUP_OCR_INPUTFILE_OPT _("Inputfile option:")
-#define TEXT_SETUP_OCR_OUTPUTFILE_OPT _("Outputfile option:")
-#define TEXT_SETUP_OCR_USE_GUI_PIPE_OPT _("Use GUI progress pipe:")
-#define TEXT_SETUP_OCR_OUTFD_OPT _("GUI output-fd option:")
-#define TEXT_SETUP_OCR_PROGRESS_KEYWORD _("Progress keyword:")
-#define TEXT_SETUP_PERMISSION_USER _("user")
-#define TEXT_SETUP_PERMISSION_GROUP _("group")
-#define TEXT_SETUP_PERMISSION_ALL _("all")
-#define TEXT_NEW_MEDIA_NAME _("new media")
-
-#define NOTEBOOK_SAVING_OPTIONS _("Save")
-#define NOTEBOOK_FILETYPE_OPTIONS _("Filetype")
-#define NOTEBOOK_COPY_OPTIONS _("Copy")
-#define NOTEBOOK_FAX_OPTIONS _("Fax")
-#define NOTEBOOK_EMAIL_OPTIONS _("E-mail")
-#define NOTEBOOK_OCR_OPTIONS _("OCR")
-#define NOTEBOOK_DISPLAY_OPTIONS _("Display")
-#define NOTEBOOK_ENHANCE_OPTIONS _("Enhancement")
-
-#define MENU_ITEM_SAVE _("Save")
-#define MENU_ITEM_VIEWER _("Viewer")
-#define MENU_ITEM_COPY _("Copy")
-#define MENU_ITEM_MULTIPAGE _("Multipage")
-#define MENU_ITEM_FAX _("Fax")
-#define MENU_ITEM_EMAIL _("E-mail")
-
-#define MENU_ITEM_SHOW_TOOLTIPS _("Show tooltips")
-#define MENU_ITEM_SHOW_PREVIEW _("Show preview")
-#define MENU_ITEM_SHOW_HISTOGRAM _("Show histogram")
-#define MENU_ITEM_SHOW_GAMMA _("Show gamma curve")
-#define MENU_ITEM_SHOW_BATCH_SCAN _("Show batch scan")
-#define MENU_ITEM_SHOW_STANDARDOPTIONS _("Show standard options")
-#define MENU_ITEM_SHOW_ADVANCEDOPTIONS _("Show advanced options")
-
-#define MENU_ITEM_SETUP _("Setup")
-#define MENU_ITEM_LENGTH_UNIT _("Length unit")
-#define SUBMENU_ITEM_LENGTH_MILLIMETERS _("millimeters")
-#define SUBMENU_ITEM_LENGTH_CENTIMETERS _("centimeters")
-#define SUBMENU_ITEM_LENGTH_INCHES _("inches")
-#define MENU_ITEM_UPDATE_POLICY _("Update policy")
-#define SUBMENU_ITEM_POLICY_CONTINUOUS _("continuous")
-#define SUBMENU_ITEM_POLICY_DISCONTINU _("discontinuous")
-#define SUBMENU_ITEM_POLICY_DELAYED _("delayed")
-#define MENU_ITEM_SHOW_RESOLUTIONLIST _("Show resolution list")
-#define MENU_ITEM_PAGE_ROTATE _("Rotate postscript")
-#define MENU_ITEM_EDIT_MEDIUM_DEF _("Edit medium definition")
-#define MENU_ITEM_SAVE_DEVICE_SETTINGS _("Save device settings")
-#define MENU_ITEM_LOAD_DEVICE_SETTINGS _("Load device settings")
-#define MENU_ITEM_CHANGE_WORKING_DIR _("Change directory")
-
-#define MENU_ITEM_XSANE_EULA _("Show EULA")
-#define MENU_ITEM_XSANE_GPL _("Show license (GPL)")
-#define MENU_ITEM_XSANE_DOC _("XSane doc")
-#define MENU_ITEM_BACKEND_DOC _("Backend doc")
-#define MENU_ITEM_AVAILABLE_BACKENDS _("Available backends")
-#define MENU_ITEM_SCANTIPS _("Scantips")
-#define MENU_ITEM_PROBLEMS _("Problems?")
+#define TEXT_TRANSLATION_INFO _("untranslated original english text\n" \
+ "by Oliver Rauch\n" \
+ "E-mail: Oliver.Rauch@rauch-domain.de\n")
+
+#define TEXT_INFO_BOX _("0x0: 0KB")
+
+#define TEXT_ADF_PAGES_SCANNED _("Scanned pages: ")
+
+#define TEXT_EMAIL_TEXT _("E-mail text:")
+#define TEXT_ATTACHMENTS _("Attachments:")
+#define TEXT_EMAIL_STATUS _("Project status:")
+#define TEXT_EMAIL_FILETYPE _("E-mail image filetype:")
+
+#define TEXT_PAGES _("Pages:")
+#define TEXT_MULTIPAGE_FILETYPE _("Multipage document filetype:")
+
+#define TEXT_MEDIUM_DEFINITION_NAME _("Medium Name:")
+
+#define TEXT_VIEWER_IMAGE_INFO _("Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %1.1f %s")
+#define TEXT_DESPECKLE_RADIUS _("Despeckle radius:")
+#define TEXT_BLUR_RADIUS _("Blur radius:")
+#define TEXT_BATCH_AREA_DEFAULT_NAME _("(no name)")
+#define TEXT_BATCH_LIST_AREANAME _("Area name:")
+#define TEXT_BATCH_LIST_SCANMODE _("Scanmode:")
+#define TEXT_BATCH_LIST_GEOMETRY_TL _("Top left:")
+#define TEXT_BATCH_LIST_GEOMETRY_SIZE _("Size:")
+#define TEXT_BATCH_LIST_RESOLUTION _("Resolution:")
+#define TEXT_BATCH_LIST_BIT_DEPTH _("Bit depth:")
+#define TEXT_BATCH_LIST_BY_GUI _("as selected")
+
+#define TEXT_SETUP_PRINTER_SEL _("Printer selection:")
+#define TEXT_SETUP_PRINTER_NAME _("Name:")
+#define TEXT_SETUP_PRINTER_CMD _("Command:")
+#define TEXT_SETUP_COPY_NR_OPT _("Copy number option:")
+#define TEXT_SETUP_PRINTER_LINEART_RES _("Lineart resolution (dpi):")
+#define TEXT_SETUP_PRINTER_GRAYSCALE_RES _("Grayscale resolution (dpi):")
+#define TEXT_SETUP_PRINTER_COLOR_RES _("Color resolution (dpi):")
+#define TEXT_SETUP_PRINTER_WIDTH _("Width")
+#define TEXT_SETUP_PRINTER_HEIGHT _("Height")
+#define TEXT_SETUP_PRINTER_LEFT _("Left offset")
+#define TEXT_SETUP_PRINTER_BOTTOM _("Bottom offset")
+#define TEXT_SETUP_PRINTER_GAMMA _("Printer gamma value:")
+#define TEXT_SETUP_PRINTER_GAMMA_RED _("Printer gamma red:")
+#define TEXT_SETUP_PRINTER_GAMMA_GREEN _("Printer gamma green:")
+#define TEXT_SETUP_PRINTER_GAMMA_BLUE _("Printer gamma blue:")
+#define TEXT_SETUP_PRINTER_EMBED_CSA _("Embed scanner ICM profile as CSA")
+#define TEXT_SETUP_PRINTER_EMBED_CRD _("Embed printer ICM profile as CRD")
+#define TEXT_SETUP_PRINTER_PS_FLATEDECODED _("Create zlib compressed postscript image (ps level 3) for printing")
+#define TEXT_SETUP_TMP_PATH _("Temporary directory")
+#define TEXT_SETUP_IMAGE_PERMISSION _("Image-file permissions")
+#define TEXT_SETUP_DIR_PERMISSION _("Directory permissions")
+#define TEXT_SETUP_JPEG_QUALITY _("JPEG image quality")
+#define TEXT_SETUP_PNG_COMPRESSION _("PNG image compression")
+#define TEXT_SETUP_FILENAME_COUNTER_LEN _("Filename counter length")
+#define TEXT_SETUP_TIFF_ZIP_COMPRESSION _("TIFF zip compression rate")
+#define TEXT_SETUP_TIFF_COMPRESSION_16 _("TIFF 16 bit image compression")
+#define TEXT_SETUP_TIFF_COMPRESSION_8 _("TIFF 8 bit image compression")
+#define TEXT_SETUP_TIFF_COMPRESSION_1 _("TIFF lineart image compression")
+#define TEXT_SETUP_SHOW_RANGE_MODE _("Show range as:")
+#define TEXT_SETUP_PREVIEW_OVERSAMPLING _("Preview oversampling:")
+#define TEXT_SETUP_PREVIEW_GAMMA _("Preview gamma:")
+#define TEXT_SETUP_PREVIEW_GAMMA_RED _("Preview gamma red:")
+#define TEXT_SETUP_PREVIEW_GAMMA_GREEN _("Preview gamma green:")
+#define TEXT_SETUP_PREVIEW_GAMMA_BLUE _("Preview gamma blue:")
+#define TEXT_SETUP_LINEART_MODE _("Threshold option:")
+#define TEXT_SETUP_PREVIEW_PIPETTE_RANGE _("Preview pipette range")
+#define TEXT_SETUP_THRESHOLD_MIN _("Threshold minimum:")
+#define TEXT_SETUP_THRESHOLD_MAX _("Threshold maximum:")
+#define TEXT_SETUP_THRESHOLD_MUL _("Threshold multiplier:")
+#define TEXT_SETUP_THRESHOLD_OFF _("Threshold offset:")
+#define TEXT_SETUP_GRAYSCALE_SCANMODE _("Name of grayscale scanmode:")
+#define TEXT_SETUP_HELPFILE_VIEWER _("Helpfile viewer (HTML):")
+#define TEXT_SETUP_FAX_COMMAND _("Command:")
+#define TEXT_SETUP_FAX_RECEIVER_OPTION _("Receiver option:")
+#define TEXT_SETUP_FAX_POSTSCRIPT_OPT _("Postscriptfile option:")
+#define TEXT_SETUP_FAX_NORMAL_MODE_OPT _("Normal mode option:")
+#define TEXT_SETUP_FAX_FINE_MODE_OPT _("Fine mode option:")
+#define TEXT_SETUP_FAX_PROGRAM_DEFAULTS _("Set program defaults for:")
+#define TEXT_SETUP_FAX_VIEWER _("Viewer (Postscript):")
+#define TEXT_SETUP_FAX_WIDTH _("Width")
+#define TEXT_SETUP_FAX_HEIGHT _("Height")
+#define TEXT_SETUP_FAX_LEFT _("Left offset")
+#define TEXT_SETUP_FAX_BOTTOM _("Bottom offset")
+#define TEXT_SETUP_FAX_PS_FLATEDECODED _("Create zlib compressed postscript image (ps level 3) for fax")
+#define TEXT_SETUP_SMTP_SERVER _("SMTP server:")
+#define TEXT_SETUP_SMTP_PORT _("SMTP port:")
+#define TEXT_SETUP_EMAIL_FROM _("From:")
+#define TEXT_SETUP_EMAIL_REPLY_TO _("Reply to:")
+#define TEXT_SETUP_EMAIL_AUTHENTICATION _("E-mail authentication")
+#define TEXT_SETUP_EMAIL_AUTH_USER _("User:")
+#define TEXT_SETUP_EMAIL_AUTH_PASS _("Password:")
+#define TEXT_SETUP_POP3_SERVER _("POP3 server:")
+#define TEXT_SETUP_POP3_PORT _("POP3 port:")
+#define TEXT_SETUP_OCR_COMMAND _("OCR Command:")
+#define TEXT_SETUP_OCR_INPUTFILE_OPT _("Inputfile option:")
+#define TEXT_SETUP_OCR_OUTPUTFILE_OPT _("Outputfile option:")
+#define TEXT_SETUP_OCR_USE_GUI_PIPE_OPT _("Use GUI progress pipe:")
+#define TEXT_SETUP_OCR_OUTFD_OPT _("GUI output-fd option:")
+#define TEXT_SETUP_OCR_PROGRESS_KEYWORD _("Progress keyword:")
+#define TEXT_SETUP_PERMISSION_USER _("user")
+#define TEXT_SETUP_PERMISSION_GROUP _("group")
+#define TEXT_SETUP_PERMISSION_ALL _("all")
+#define TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE _("Scanner default color ICM-profile")
+#define TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE _("Scanner default gray ICM-profile")
+#define TEXT_SETUP_DISPLAY_ICM_PROFILE _("Display ICM-profile")
+#define TEXT_SETUP_CUSTOM_PROOFING_ICM_PROFILE _("Custom proofing ICM-profile")
+#define TEXT_SETUP_WORKING_COLOR_SPACE_ICM_PROFILE _("Working color space ICM-profile")
+#define TEXT_SETUP_PRINTER_ICM_PROFILE _("Printer ICM-profile")
+#define TEXT_NEW_MEDIA_NAME _("new media")
+
+#define NOTEBOOK_SAVING_OPTIONS _("Save")
+#define NOTEBOOK_FILETYPE_OPTIONS _("Filetype")
+#define NOTEBOOK_COPY_OPTIONS _("Copy")
+#define NOTEBOOK_FAX_OPTIONS _("Fax")
+#define NOTEBOOK_EMAIL_OPTIONS _("E-mail")
+#define NOTEBOOK_OCR_OPTIONS _("OCR")
+#define NOTEBOOK_DISPLAY_OPTIONS _("Display")
+#define NOTEBOOK_ENHANCE_OPTIONS _("Enhancement")
+#define NOTEBOOK_COLOR_MANAGEMENT_OPTIONS _("Color management")
+
+#define MENU_ITEM_SAVE _("Save")
+#define MENU_ITEM_VIEWER _("Viewer")
+#define MENU_ITEM_COPY _("Copy")
+#define MENU_ITEM_MULTIPAGE _("Multipage")
+#define MENU_ITEM_FAX _("Fax")
+#define MENU_ITEM_EMAIL _("E-mail")
+
+#define MENU_ITEM_SHOW_TOOLTIPS _("Show tooltips")
+#define MENU_ITEM_SHOW_PREVIEW _("Show preview")
+#define MENU_ITEM_SHOW_HISTOGRAM _("Show histogram")
+#define MENU_ITEM_SHOW_GAMMA _("Show gamma curve")
+#define MENU_ITEM_SHOW_BATCH_SCAN _("Show batch scan")
+#define MENU_ITEM_SHOW_STANDARDOPTIONS _("Show standard options")
+#define MENU_ITEM_SHOW_ADVANCEDOPTIONS _("Show advanced options")
+
+#define MENU_ITEM_SETUP _("Setup")
+#define MENU_ITEM_LENGTH_UNIT _("Length unit")
+#define SUBMENU_ITEM_LENGTH_MILLIMETERS _("millimeters")
+#define SUBMENU_ITEM_LENGTH_CENTIMETERS _("centimeters")
+#define SUBMENU_ITEM_LENGTH_INCHES _("inches")
+#define MENU_ITEM_UPDATE_POLICY _("Update policy")
+#define SUBMENU_ITEM_POLICY_CONTINUOUS _("continuous")
+#define SUBMENU_ITEM_POLICY_DISCONTINU _("discontinuous")
+#define SUBMENU_ITEM_POLICY_DELAYED _("delayed")
+#define MENU_ITEM_SHOW_RESOLUTIONLIST _("Show resolution list")
+#define MENU_ITEM_PAGE_ROTATE _("Rotate postscript")
+#define MENU_ITEM_ENABLE_COLOR_MANAGEMENT _("Enable color management")
+#define MENU_ITEM_EDIT_MEDIUM_DEF _("Edit medium definition")
+#define MENU_ITEM_SAVE_DEVICE_SETTINGS _("Save device settings")
+#define MENU_ITEM_LOAD_DEVICE_SETTINGS _("Load device settings")
+#define MENU_ITEM_CHANGE_WORKING_DIR _("Change directory")
+
+#define MENU_ITEM_XSANE_EULA _("Show EULA")
+#define MENU_ITEM_XSANE_GPL _("Show license (GPL)")
+#define MENU_ITEM_XSANE_DOC _("XSane doc")
+#define MENU_ITEM_BACKEND_DOC _("Backend doc")
+#define MENU_ITEM_AVAILABLE_BACKENDS _("Available backends")
+#define MENU_ITEM_SCANTIPS _("Scantips")
+#define MENU_ITEM_PROBLEMS _("Problems?")
+
+
+#define MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT _("Enable color management")
+#define MENU_ITEM_CMS_BLACK_POINT_COMPENSATION _("Black point compensation")
+#define MENU_ITEM_CMS_PROOFING _("Proofing")
+#define SUBMENU_ITEM_CMS_PROOF_OFF _("no proofing (Display)")
+#define SUBMENU_ITEM_CMS_PROOF_PRINTER _("Proof printer")
+#define SUBMENU_ITEM_CMS_PROOF_CUSTOM _("Proof custom device")
+#define MENU_ITEM_CMS_RENDERING_INTENT _("Rendering intent")
+#define MENU_ITEM_CMS_PROOFING_INTENT _("Proofing rendering intent")
+#define SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL _("Perceptual")
+#define SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC _("Relative colorimetric")
+#define SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC _("Absolute colorimentric")
+#define SUBMENU_ITEM_CMS_INTENT_SATURATION _("Saturation")
+#define MENU_ITEM_CMS_GAMUT_CHECK _("Gamut check")
+#define MENU_ITEM_CMS_GAMUT_ALARM_COLOR _("Gamut alarm color")
+#define SUBMENU_ITEM_CMS_COLOR_BLACK _("Black")
+#define SUBMENU_ITEM_CMS_COLOR_GRAY _("Gray")
+#define SUBMENU_ITEM_CMS_COLOR_WHITE _("White")
+#define SUBMENU_ITEM_CMS_COLOR_RED _("Red")
+#define SUBMENU_ITEM_CMS_COLOR_GREEN _("Green")
+#define SUBMENU_ITEM_CMS_COLOR_BLUE _("Blue")
#define MENU_ITEM_COUNTER_LEN_INACTIVE _("inactive")
#define MENU_ITEM_TIFF_COMP_NONE _("no compression")
@@ -415,6 +458,10 @@
#define MENU_ITEM_AUTH_ASMTP_LOGIN _("ASMTP Login")
#define MENU_ITEM_AUTH_ASMTP_CRAM_MD5 _("ASMTP CRAM-MD5")
+#define MENU_ITEM_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE _("Embed scanner ICM profile")
+#define MENU_ITEM_CMS_FUNCTION_CONVERT_TO_SRGB _("Convert to sRGB")
+#define MENU_ITEM_FUNCTION_CONVERT_TO_WORKING_CS _("Convert to working color space")
+
#define PROGRESS_SCANNING _("Scanning")
#define PROGRESS_RECEIVING_FRAME_DATA _("Receiving %s data")
#define PROGRESS_PAGE _("page")
@@ -430,6 +477,7 @@
#define PROGRESS_DESPECKLING_DATA _("Despeckling image")
#define PROGRESS_BLURING_DATA _("Bluring image")
#define PROGRESS_OCR _("OCR in progress")
+#define PROGRESS_ICM_CONVERSION _("converting colors")
#define DESC_SCAN_START _("Start scan <Ctrl-Enter>")
#define DESC_SCAN_CANCEL _("Cancel scan <ESC>")
@@ -445,15 +493,18 @@
#define DESC_BROWSE_FILENAME _("Browse for image filename")
#define DESC_FILENAME _("Filename for scanned image")
#define DESC_FILETYPE _("Type of image format, the suitable filename extension is automatically added to the filename")
-#define DESC_FAXPROJECT _("Enter name of fax project")
+#define DESC_FAXPROJECT _("Enter fax project directory name")
#define DESC_FAXPAGENAME _("Enter new name for faxpage")
#define DESC_FAXRECEIVER _("Enter receiver phone number or address")
-#define DESC_EMAIL_PROJECT _("Enter name of e-mail project")
+#define DESC_FAX_PROJECT_BROWSE _("Browse for fax project directory")
+#define DESC_EMAIL_PROJECT _("Enter e-mail project directory name")
#define DESC_EMAIL_IMAGENAME _("Enter new name for e-mail image")
#define DESC_EMAIL_RECEIVER _("Enter e-mail address")
+#define DESC_EMAIL_PROJECT_BROWSE _("Browse for email project directory")
#define DESC_EMAIL_SUBJECT _("Enter subject of e-mail")
#define DESC_EMAIL_FILETYPE _("Select filetype for image attachments")
-#define DESC_MULTIPAGE_PROJECT _("Enter name of multipage project")
+#define DESC_MULTIPAGE_PROJECT _("Enter multipage project directory name")
+#define DESC_MULTIPAGE_PROJECT_BROWSE _("Browse for multipage project directory")
#define DESC_MULTIPAGE_FILETYPE _("Select filetype for multipage file")
#define DESC_PRESET_AREA_RENAME _("Enter new name for preset area")
#define DESC_PRESET_AREA_ADD _("Enter name for new preset area")
@@ -495,7 +546,7 @@
" brightness = 0\n" \
" contrast = 0")
-#define DESC_ENH_AUTO _("Autoadjust gamma, brightness and contrast <Ctrl-e>")
+#define DESC_ENH_AUTO _("Autoadjust gamma, brightness and contrast <Ctrl-a>")
#define DESC_ENH_DEFAULT _("Set default enhancement values <Ctrl-0>:\n" \
"gamma = 1.0\n" \
"brightness = 0\n" \
@@ -525,7 +576,9 @@
#define DESC_PRINTER_GAMMA_RED _("Additional gamma value for red component for photocopy")
#define DESC_PRINTER_GAMMA_GREEN _("Additional gamma value for green component for photocopy")
#define DESC_PRINTER_GAMMA_BLUE _("Additional gamma value for blue component for photocopy")
-#define DESC_PRINTER_PS_FLATDECODED _("Create zlib compressed postscript image for printer (flatdecode).\n" \
+#define DESC_PRINTER_EMBED_CSA _("Creates a postsciptfile that contains the ICM profile of the scanner")
+#define DESC_PRINTER_EMBED_CRD _("Creates a postsciptfile that contains the ICM profile of the printer")
+#define DESC_PRINTER_PS_FLATEDECODED _("Create zlib compressed postscript image for printer (flatedecode).\n" \
"The printer has to understand postscript level 3!")
#define DESC_TMP_PATH _("Path to temp directory")
#define DESC_BUTTON_TMP_PATH_BROWSE _("Browse for temporary directory")
@@ -539,20 +592,20 @@
#define DESC_SAVE_DEVPREFS_AT_EXIT _("Save device dependant preferences in default file at exit of xsane")
#define DESC_OVERWRITE_WARNING _("Warn before overwriting an existing file")
#define DESC_SKIP_EXISTING _("If filename counter is automatically increased, used numbers are skipped")
-#define DESC_SAVE_PS_FLATDECODED _("compress postscript image with zlib algorithm (flatdecode). " \
+#define DESC_SAVE_PS_FLATEDECODED _("compress postscript image with zlib algorithm (flatedecode). " \
"When you want to print such a file your printer has to understand postscript level 3")
-#define DESC_SAVE_PDF_FLATDECODED _("compress PDF image with zlib algorithm (flatdecode).")
+#define DESC_SAVE_PDF_FLATEDECODED _("compress PDF image with zlib algorithm (flatedecode).")
#define DESC_SAVE_PNM16_AS_ASCII _("When a 16 bit image shall be saved in pnm format then use ascii format " \
"instead of binary format. The binary format is a new format that is not " \
"supported by all programs. The ascii format is supported by more programs " \
"but it produces really huge files!!!")
-#define DESC_REDUCE_16BIT_TO_8BIT _("If scanner sends image with 16 bits/color save image with 8 bits/color")
+#define DESC_REDUCE_16BIT_TO_8BIT _("If scanner sends image with 16 bits/channel save image with 8 bits/channel")
#define DESC_PSFILE_WIDTH _("Width of paper for postscript files")
#define DESC_PSFILE_HEIGHT _("Height of paper for postscript files")
#define DESC_PSFILE_LEFTOFFSET _("Left offset from the edge of the paper to the usable area for postscript files")
#define DESC_PSFILE_BOTTOMOFFSET _("Bottom offset from the edge of the paper to the usable area for postscript files")
#define DESC_MAIN_WINDOW_FIXED _("Use fixed main window size or scrolled, resizable main window")
-#define DESC_DISABLE_GIMP_PREVIEW_GAMMA _("Disable preview gamma when XSane runs as gimp plugin")
+#define DESC_DISABLE_GIMP_PREVIEW_GAMMA _("Disable preview gamma when XSane runs as GIMP plugin")
#define DESC_PREVIEW_COLORMAP _("Use an own colormap for preview if display depth is 8 bpp")
#define DESC_SHOW_RANGE_MODE _("Select how a range is displayed")
#define DESC_PREVIEW_OVERSAMPLING _("Value with that the calculated preview resolution is multiplied")
@@ -575,6 +628,9 @@
#define DESC_PRESELECT_SCANAREA _("Select scanarea after preview scan has finished")
#define DESC_AUTOCORRECT_COLORS _("Do color correction after preview scan has finished")
+#define DESC_RENDERING_INTENT _("Select rendering intent for preview and saving")
+#define DESC_CMS_BPC _("Apply black point compensation when color transformation is done")
+
#define DESC_FAX_COMMAND _("Enter command to be executed in fax mode")
#define DESC_FAX_RECEIVER_OPT _("Enter option to specify receiver")
#define DESC_FAX_POSTSCRIPT_OPT _("Enter option to specify postscript files following")
@@ -586,7 +642,7 @@
#define DESC_FAX_HEIGHT _("Height of printable area")
#define DESC_FAX_LEFTOFFSET _("Left offset from the edge of the paper to the printable area")
#define DESC_FAX_BOTTOMOFFSET _("Bottom offset from the edge of the paper to the printable area")
-#define DESC_FAX_PS_FLATDECODED _("Create zlib compressed postscript image for fax (flatdecode)")
+#define DESC_FAX_PS_FLATEDECODED _("Create zlib compressed postscript image for fax (flatedecode)")
#define DESC_SMTP_SERVER _("IP Address or Domain name of SMTP server")
#define DESC_SMTP_PORT _("port to connect to SMTP server")
#define DESC_EMAIL_FROM _("enter your e-mail address")
@@ -606,7 +662,7 @@
#define DESC_PERMISSION_READ _("read")
#define DESC_PERMISSION_WRITE _("write")
-#define DESC_PERMISSION_EXECUTE _("execute")
+#define DESC_PERMISSION_SEARCH _("search")
#define DESC_ADD_BATCH _("Add selection for batch scan")
#define DESC_PIPETTE_WHITE _("Pick white point")
@@ -658,6 +714,21 @@
#define DESC_BATCH_DEL _("Delete selected area from batch list")
#define DESC_AUTOMATIC _("Turns on automatic mode")
+#define DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE _("Scanner default color ICM-profile")
+#define DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE _("Browse for scanner default color ICM-profile")
+#define DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE _("Scanner default gray ICM-profile")
+#define DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE _("Browse for scanner default gray ICM-profile")
+#define DESC_DISPLAY_ICM_PROFILE _("Display ICM-profile")
+#define DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE _("Browse for display ICM-profile")
+#define DESC_PRINTER_ICM_PROFILE _("Printer ICM-profile")
+#define DESC_BUTTON_PRINTER_ICM_PROFILE_BROWSE _("Browse for printer ICM-profile")
+#define DESC_CUSTOM_PROOFING_ICM_PROFILE _("Custom proofing ICM-profile")
+#define DESC_BUTTON_CUSTOM_PROOFING_ICM_PROFILE_BROWSE _("Browse for custom proofing ICM-profile")
+#define DESC_WORKING_COLOR_SPACE_ICM_PROFILE _("Working color space ICM-profile")
+#define DESC_BUTTON_WORKING_COLOR_SPACE_ICM_PROFILE_BROWSE _("Browse for working color space ICM-profile")
+
+#define DESC_CMS_FUNCTION _("Color management function")
+
#define ERR_HOME_DIR _("Failed to determine home directory:")
#define ERR_CHANGE_WORKING_DIR _("Failed to change working directory to")
#define ERR_FILENAME_TOO_LONG _("Filename too long")
@@ -673,7 +744,6 @@ write permissions." )
#define ERR_DURING_READ _("Error during read:")
#define ERR_DURING_SAVE _("Error during save:")
#define ERR_BAD_DEPTH _("Can't handle depth")
-#define ERR_GIMP_BAD_DEPTH _("GIMP can't handle depth %d bits/color")
#define ERR_UNKNOWN_SAVING_FORMAT _("Unknown file format for saving")
#define ERR_OPEN_FAILED _("Failed to open")
#define ERR_CREATE_SECURE_FILE _("Could not create secure file (may be a link does exist):")
@@ -741,8 +811,22 @@ YOU ARE ALONE!\
#define ERR_FILE_NOT_POSTSCRIPT _("File %s is not a postscript file")
#define ERR_UNSUPPORTED_OUTPUT_FORMAT _("Unsupported %d-bit output format: %s")
+#define ERR_CMS_CONVERSION _("Error during CMS conversion:")
+#define ERR_CMS_OPEN_ICM_FILE _("Could not open")
+#define CMS_SCANNER_ICM _("scanner ICM profile")
+#define CMS_DISPLAY_ICM _("display ICM profile")
+#define CMS_PROOF_ICM _("proofing ICM profile")
+#define ERR_CMS_CREATE_TRANSFORM _("Could not create transform")
+
#define WARN_VIEWER_IMAGE_NOT_SAVED _("viewer image is not saved")
+#define FILE_FILTER_ALL_FILES _("All files")
+#define FILE_FILTER_IMAGES _("Images")
+#define FILE_FILTER_XBL _("XSane batch list")
+#define FILE_FILTER_ICM _("ICC/ICM Profiles")
+#define FILE_FILTER_DRC _("XSane device preferences")
+#define FILE_FILTER_RC _("XSane preferences")
+
#define TEXT_USAGE _("Usage:")
#define TEXT_USAGE_OPTIONS _("[OPTION]... [DEVICE]")
#define TEXT_HELP _(\
@@ -849,4 +933,5 @@ The format of [DEVICE] is backendname:devicefile (e.g. umax:/dev/scanner).\n\
#define TEXT_FAX_STATUS_QUEUEING_FAX N_("Queueing Fax")
#define TEXT_FAX_STATUS_FAX_QUEUED N_("Fax is queued")
+
#endif
diff --git a/src/xsane-viewer.c b/src/xsane-viewer.c
index d1d8e5e..ef47529 100644
--- a/src/xsane-viewer.c
+++ b/src/xsane-viewer.c
@@ -3,7 +3,7 @@
xsane-viewer.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -32,8 +32,7 @@
#include "xsane-save.h"
#include <gdk/gdkkeysyms.h>
#include <sys/wait.h>
-
-
+
#ifndef PATH_MAX
# define PATH_MAX 1024
#endif
@@ -81,35 +80,37 @@ static void xsane_viewer_set_sensitivity(Viewer *v, int sensitivity)
switch (v->allow_modification)
{
case VIEWER_NO_MODIFICATION:
- gtk_widget_set_sensitive(GTK_WIDGET(v->save_menu_item), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->ocr_menu_item), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->clone_menu_item), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->edit_menu), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->filters_menu), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_menu), FALSE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(v->save), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->ocr), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->clone), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->edit_button_box), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->filters_button_box), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_button_box), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->save_menu_item), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->ocr_menu_item), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->clone_menu_item), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->edit_menu), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->filters_menu), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_menu), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->color_management_menu), v->enable_color_management);
+
+ gtk_widget_set_sensitive(GTK_WIDGET(v->save), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->ocr), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->clone), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->edit_button_box), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->filters_button_box), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_button_box), FALSE);
break;
case VIEWER_NO_NAME_AND_SIZE_MODIFICATION:
- gtk_widget_set_sensitive(GTK_WIDGET(v->save_menu_item), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->ocr_menu_item), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->clone_menu_item), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->edit_menu), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->filters_menu), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_menu), FALSE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(v->save), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->ocr), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->clone), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->edit_button_box), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->filters_button_box), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_button_box), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->save_menu_item), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->ocr_menu_item), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->clone_menu_item), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->edit_menu), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->filters_menu), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_menu), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->color_management_menu), v->enable_color_management);
+
+ gtk_widget_set_sensitive(GTK_WIDGET(v->save), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->ocr), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->clone), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->edit_button_box), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->filters_button_box), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_button_box), FALSE);
break;
case VIEWER_NO_NAME_MODIFICATION:
@@ -121,26 +122,28 @@ static void xsane_viewer_set_sensitivity(Viewer *v, int sensitivity)
case VIEWER_FULL_MODIFICATION:
default:
- gtk_widget_set_sensitive(GTK_WIDGET(v->save_menu_item), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->edit_menu), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->filters_menu), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_menu), TRUE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(v->save), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->edit_button_box), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->filters_button_box), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_button_box), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->save_menu_item), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->edit_menu), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->filters_menu), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_menu), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->color_management_menu), v->enable_color_management);
+
+ gtk_widget_set_sensitive(GTK_WIDGET(v->save), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->edit_button_box), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->filters_button_box), TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_button_box), TRUE);
break;
}
}
else
{
v->block_actions = TRUE;
- gtk_widget_set_sensitive(GTK_WIDGET(v->file_menu), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->edit_menu), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->filters_menu), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_menu), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(v->button_box), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->file_menu), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->edit_menu), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->filters_menu), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->geometry_menu), FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->color_management_menu),FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET(v->button_box), FALSE);
}
}
@@ -255,6 +258,7 @@ static void xsane_viewer_save_callback(GtkWidget *window, gpointer data)
char windowname[TEXTBUFSIZE];
int output_format;
int abort = 0;
+ int show_extra_widgets;
char buf[TEXTBUFSIZE];
if (v->block_actions) /* actions blocked: return */
@@ -280,9 +284,15 @@ static void xsane_viewer_save_callback(GtkWidget *window, gpointer data)
if (v->allow_modification == VIEWER_FULL_MODIFICATION) /* it is allowed to rename the image */
{
snprintf(windowname, sizeof(windowname), "%s %s %s", xsane.prog_name, WINDOW_VIEWER_OUTPUT_FILENAME, xsane.device_text);
+
+ show_extra_widgets = XSANE_GET_FILENAME_SHOW_FILETYPE;
+ if (v->cms_enable)
+ {
+ show_extra_widgets |= XSANE_GET_FILENAME_SHOW_CMS_FUNCTION;
+ }
umask((mode_t) preferences.directory_umask); /* define new file permissions */
- abort = xsane_back_gtk_get_filename(windowname, outputfilename, sizeof(outputfilename), outputfilename, &v->selection_filetype, TRUE, TRUE, FALSE, TRUE);
+ abort = xsane_back_gtk_get_filename(windowname, outputfilename, sizeof(outputfilename), outputfilename, &v->selection_filetype, &v->cms_function, XSANE_FILE_CHOOSER_ACTION_SAVE, show_extra_widgets, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_IMAGES, XSANE_FILE_FILTER_IMAGES);
umask(XSANE_DEFAULT_UMASK); /* define new file permissions */
if (abort)
@@ -348,7 +358,7 @@ static void xsane_viewer_save_callback(GtkWidget *window, gpointer data)
}
else
{
- xsane_save_image_as(v->output_filename, inputfilename, output_format, v->progress_bar, &v->cancel_save);
+ xsane_save_image_as(v->output_filename, inputfilename, output_format, v->cms_enable, v->cms_function, v->cms_intent, v->cms_bpc, v->progress_bar, &v->cancel_save);
}
free(inputfilename);
@@ -411,7 +421,7 @@ static void xsane_viewer_ocr_callback(GtkWidget *window, gpointer data)
snprintf(windowname, sizeof(windowname), "%s %s %s", xsane.prog_name, WINDOW_OCR_OUTPUT_FILENAME, xsane.device_text);
umask((mode_t) preferences.directory_umask); /* define new file permissions */
- abort = xsane_back_gtk_get_filename(windowname, outputfilename, sizeof(outputfilename), outputfilename, NULL, TRUE, TRUE, FALSE, FALSE);
+ abort = xsane_back_gtk_get_filename(windowname, outputfilename, sizeof(outputfilename), outputfilename, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SAVE, XSANE_GET_FILENAME_SHOW_FILETYPE, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_IMAGES, XSANE_FILE_FILTER_IMAGES);
umask(XSANE_DEFAULT_UMASK); /* define new file permissions */
if (abort)
@@ -458,11 +468,11 @@ static void xsane_viewer_clone_callback(GtkWidget *window, gpointer data)
{
char buf[TEXTBUFSIZE];
snprintf(buf, sizeof(buf), "%s%s", FILENAME_PREFIX_CLONE_OF, v->last_saved_filename);
- xsane_viewer_new(outfilename, v->selection_filetype, v->allow_reduction_to_lineart, buf, v->allow_modification, IMAGE_NOT_SAVED);
+ xsane_viewer_new(outfilename, v->selection_filetype, v->allow_reduction_to_lineart, buf, v->allow_modification, v->image_saved);
}
else
{
- xsane_viewer_new(outfilename, v->selection_filetype, v->allow_reduction_to_lineart, NULL, v->allow_modification, IMAGE_NOT_SAVED);
+ xsane_viewer_new(outfilename, v->selection_filetype, v->allow_reduction_to_lineart, NULL, v->allow_modification, v->image_saved);
}
}
@@ -569,7 +579,7 @@ static void xsane_viewer_scale_callback(GtkWidget *window, gpointer data)
GtkWidget *frame;
GtkWidget *hbox, *vbox;
GtkWidget *button;
- GtkObject *scale_widget, *scalex_widget, *scaley_widget;
+ GtkWidget *scale_widget, *scalex_widget, *scaley_widget;
GtkAdjustment *adjustment_size_x;
GtkAdjustment *adjustment_size_y;
GtkWidget *spinbutton;
@@ -1071,7 +1081,7 @@ static void xsane_viewer_scale_image(GtkWidget *window, gpointer data)
xsane_read_pnm_header(infile, &image_info);
- DBG(DBG_info, "scaling image %s with geometry: %d x %d x %d, %d colors\n", v->filename, image_info.image_width, image_info.image_height, image_info.depth, image_info.colors);
+ DBG(DBG_info, "scaling image %s with geometry: %d x %d x %d, %d channels\n", v->filename, image_info.image_width, image_info.image_height, image_info.depth, image_info.channels);
xsane_back_gtk_make_path(sizeof(outfilename), outfilename, 0, 0, "xsane-viewer-", xsane.dev_name, ".ppm", XSANE_PATH_TMP);
@@ -1153,7 +1163,7 @@ static void xsane_viewer_despeckle_image(GtkWidget *window, gpointer data)
xsane_read_pnm_header(infile, &image_info);
- DBG(DBG_info, "despeckling image %s with geometry: %d x %d x %d, %d colors\n", v->filename, image_info.image_width, image_info.image_height, image_info.depth, image_info.colors);
+ DBG(DBG_info, "despeckling image %s with geometry: %d x %d x %d, %d channels\n", v->filename, image_info.image_width, image_info.image_height, image_info.depth, image_info.channels);
xsane_back_gtk_make_path(sizeof(outfilename), outfilename, 0, 0, "xsane-viewer-", xsane.dev_name, ".ppm", XSANE_PATH_TMP);
@@ -1230,7 +1240,7 @@ static void xsane_viewer_blur_image(GtkWidget *window, gpointer data)
xsane_read_pnm_header(infile, &image_info);
- DBG(DBG_info, "bluring image %s with geometry: %d x %d x %d, %d colors\n", v->filename, image_info.image_width, image_info.image_height, image_info.depth, image_info.colors);
+ DBG(DBG_info, "bluring image %s with geometry: %d x %d x %d, %d channels\n", v->filename, image_info.image_width, image_info.image_height, image_info.depth, image_info.channels);
xsane_back_gtk_make_path(sizeof(outfilename), outfilename, 0, 0, "xsane-viewer-", xsane.dev_name, ".ppm", XSANE_PATH_TMP);
@@ -1312,7 +1322,7 @@ static void xsane_viewer_rotate(Viewer *v, int rotation)
xsane_read_pnm_header(infile, &image_info);
- DBG(DBG_info, "rotating image %s with geometry: %d x %d x %d, %d colors\n", v->filename, image_info.image_width, image_info.image_height, image_info.depth, image_info.colors);
+ DBG(DBG_info, "rotating image %s with geometry: %d x %d x %d, %d channels\n", v->filename, image_info.image_width, image_info.image_height, image_info.depth, image_info.channels);
xsane_back_gtk_make_path(sizeof(outfilename), outfilename, 0, 0, "xsane-viewer-", xsane.dev_name, ".ppm", XSANE_PATH_TMP);
@@ -1654,6 +1664,915 @@ static GtkWidget *xsane_viewer_geometry_build_menu(Viewer *v)
/* ---------------------------------------------------------------------------------------------------------------------- */
+#ifdef HAVE_LIBLCMS
+#define INTENT_PERCEPTUAL 0
+#define INTENT_RELATIVE_COLORIMETRIC 1
+#define INTENT_SATURATION 2
+#define INTENT_ABSOLUTE_COLORIMETRIC 3
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_viewer_set_cms_enable_callback(GtkWidget *widget, gpointer data)
+{
+ Viewer *v = (Viewer *) data;
+
+ v->cms_enable = (GTK_CHECK_MENU_ITEM(widget)->active != 0);
+ DBG(DBG_proc, "xsane_viewer_set_cms_enable_callback (%d)\n", v->cms_enable);
+
+ xsane_viewer_read_image(v);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_viewer_set_cms_black_point_compensation_callback(GtkWidget *widget, gpointer data)
+{
+ Viewer *v = (Viewer *) data;
+
+ v->cms_bpc = (GTK_CHECK_MENU_ITEM(widget)->active != 0);
+ DBG(DBG_proc, "xsane_viewer_set_cms_black_point_compensation_callback (%d)\n", v->cms_bpc);
+
+ xsane_viewer_read_image(v);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_viewer_set_cms_gamut_check_callback(GtkWidget *widget, gpointer data)
+{
+ Viewer *v = (Viewer *) data;
+
+ v->cms_gamut_check = (GTK_CHECK_MENU_ITEM(widget)->active != 0);
+ DBG(DBG_proc, "xsane_viewer_set_cms_gamut_check_callback (%d)\n", v->cms_gamut_check);
+
+ xsane_viewer_read_image(v);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_viewer_set_cms_proofing_callback(GtkWidget *widget, gpointer data)
+{
+ Viewer *v = (Viewer *) data;
+ int val;
+
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_proofing_widget[0]), (GtkSignalFunc) xsane_viewer_set_cms_proofing_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_proofing_widget[1]), (GtkSignalFunc) xsane_viewer_set_cms_proofing_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_proofing_widget[2]), (GtkSignalFunc) xsane_viewer_set_cms_proofing_callback, v);
+
+ val = (int) gtk_object_get_data(GTK_OBJECT(widget), "Selection");
+
+ DBG(DBG_proc, "xsane_viewer_set_cms_proofing_callback (%d)\n", val);
+
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(v->cms_proofing_widget[v->cms_proofing]), FALSE);
+ v->cms_proofing = val;
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(v->cms_proofing_widget[v->cms_proofing]), TRUE);
+
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_proofing_widget[0]), (GtkSignalFunc) xsane_viewer_set_cms_proofing_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_proofing_widget[1]), (GtkSignalFunc) xsane_viewer_set_cms_proofing_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_proofing_widget[2]), (GtkSignalFunc) xsane_viewer_set_cms_proofing_callback, v);
+
+ xsane_viewer_read_image(v);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_viewer_set_cms_intent_callback(GtkWidget *widget, gpointer data)
+{
+ Viewer *v = (Viewer *) data;
+ int val;
+
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_intent_widget[0]), (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_intent_widget[1]), (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_intent_widget[2]), (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_intent_widget[3]), (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+
+ val = (int) gtk_object_get_data(GTK_OBJECT(widget), "Selection");
+
+ DBG(DBG_proc, "xsane_viewer_set_cms_intent_callback (%d)\n", val);
+
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(v->cms_intent_widget[v->cms_intent]), FALSE);
+ v->cms_intent = val;
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(v->cms_intent_widget[v->cms_intent]), TRUE);
+
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_intent_widget[0]), (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_intent_widget[1]), (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_intent_widget[2]), (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_intent_widget[3]), (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+
+ xsane_viewer_read_image(v);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_viewer_set_cms_proofing_intent_callback(GtkWidget *widget, gpointer data)
+{
+ Viewer *v = (Viewer *) data;
+ int val;
+
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_proofing_intent_widget[0]), (GtkSignalFunc) xsane_viewer_set_cms_proofing_intent_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_proofing_intent_widget[1]), (GtkSignalFunc) xsane_viewer_set_cms_proofing_intent_callback, v);
+
+ val = (int) gtk_object_get_data(GTK_OBJECT(widget), "Selection");
+
+ DBG(DBG_proc, "xsane_viewer_set_cms_proofing_intent_callback (%d)\n", val);
+
+ /* we have cms_proofing_intent = 1 and 3 and widget[0] and widget[1] => widget[(cms_proofing_intent-1)/2] */
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(v->cms_proofing_intent_widget[(v->cms_proofing_intent-1)/2]), FALSE);
+ v->cms_proofing_intent = val;
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(v->cms_proofing_intent_widget[(v->cms_proofing_intent-1)/2]), TRUE);
+
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_proofing_intent_widget[0]), (GtkSignalFunc) xsane_viewer_set_cms_proofing_intent_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_proofing_intent_widget[1]), (GtkSignalFunc) xsane_viewer_set_cms_proofing_intent_callback, v);
+
+ xsane_viewer_read_image(v);
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_viewer_set_cms_gamut_alarm_color_callback(GtkWidget *widget, gpointer data)
+{
+ Viewer *v = (Viewer *) data;
+ int val;
+
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[0]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[1]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[2]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[3]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[4]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[5]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+
+ val = (int) gtk_object_get_data(GTK_OBJECT(widget), "Selection");
+
+ DBG(DBG_proc, "xsane_viewer_set_cms_gamut_alarm_color_callback (%d)\n", val);
+
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(v->cms_gamut_alarm_color_widget[v->cms_gamut_alarm_color]), FALSE);
+ v->cms_gamut_alarm_color = val;
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(v->cms_gamut_alarm_color_widget[v->cms_gamut_alarm_color]), TRUE);
+
+ switch(v->cms_gamut_alarm_color)
+ {
+ default:
+ case 0: /* black */
+ cmsSetAlarmCodes(0, 0, 0);
+ break;
+
+ case 1: /* gray */
+ cmsSetAlarmCodes(128, 128, 128);
+ break;
+
+ case 2: /* white */
+ cmsSetAlarmCodes(255, 255, 255);
+ break;
+
+ case 3: /* red */
+ cmsSetAlarmCodes(255, 0, 0);
+ break;
+
+ case 4: /* green */
+ cmsSetAlarmCodes(0, 255, 0);
+ break;
+
+ case 5: /* blue */
+ cmsSetAlarmCodes(0, 0, 255);
+ break;
+ }
+
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[0]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[1]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[2]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[3]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[4]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[5]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+
+ if (v->cms_gamut_check)
+ {
+ xsane_viewer_read_image(v);
+ }
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+static GtkWidget *xsane_viewer_color_management_build_menu(Viewer *v)
+{
+ GtkWidget *menu, *item, *submenu, *subitem;
+
+ DBG(DBG_proc, "xsane_viewer_color_management_build_menu\n");
+
+ menu = gtk_menu_new();
+ gtk_menu_set_accel_group(GTK_MENU(menu), xsane.accelerator_group);
+
+ /* cms enable */
+ item = gtk_check_menu_item_new_with_label(MENU_ITEM_CMS_ENABLE_COLOR_MANAGEMENT);
+ gtk_menu_append(GTK_MENU(menu), item);
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), v->cms_enable);
+ g_signal_connect(GTK_OBJECT(item), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_enable_callback, v);
+ gtk_widget_show(item);
+
+ /* black point compensation */
+ item = gtk_check_menu_item_new_with_label(MENU_ITEM_CMS_BLACK_POINT_COMPENSATION);
+ gtk_menu_append(GTK_MENU(menu), item);
+ if (v->cms_bpc)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(item), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_black_point_compensation_callback, v);
+ gtk_widget_show(item);
+
+
+ /* Output Device submenu */
+ item = gtk_menu_item_new_with_label(MENU_ITEM_CMS_PROOFING);
+ gtk_menu_append(GTK_MENU(menu), item);
+ gtk_widget_show(item);
+
+ submenu = gtk_menu_new();
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_PROOF_OFF);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_proofing == 0)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_proofing_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) 0);
+ gtk_widget_show(subitem);
+ v->cms_proofing_widget[0] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_PROOF_PRINTER);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_proofing == 1)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_proofing_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) 1);
+ gtk_widget_show(subitem);
+ v->cms_proofing_widget[1] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_PROOF_CUSTOM);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_proofing == 2)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_proofing_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) 2);
+ gtk_widget_show(subitem);
+ v->cms_proofing_widget[2] = subitem;
+
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
+
+
+ /* Intent submenu */
+ item = gtk_menu_item_new_with_label(MENU_ITEM_CMS_RENDERING_INTENT);
+ gtk_menu_append(GTK_MENU(menu), item);
+ gtk_widget_show(item);
+
+ submenu = gtk_menu_new();
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_INTENT_PERCEPTUAL);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_intent == INTENT_PERCEPTUAL)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) INTENT_PERCEPTUAL);
+ gtk_widget_show(subitem);
+ v->cms_intent_widget[INTENT_PERCEPTUAL] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_intent == INTENT_RELATIVE_COLORIMETRIC)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) INTENT_RELATIVE_COLORIMETRIC);
+ gtk_widget_show(subitem);
+ v->cms_intent_widget[INTENT_RELATIVE_COLORIMETRIC] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_intent == INTENT_ABSOLUTE_COLORIMETRIC)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) INTENT_ABSOLUTE_COLORIMETRIC);
+ gtk_widget_show(subitem);
+ v->cms_intent_widget[INTENT_ABSOLUTE_COLORIMETRIC] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_INTENT_SATURATION);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_intent == INTENT_SATURATION)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_intent_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) INTENT_SATURATION);
+ gtk_widget_show(subitem);
+ v->cms_intent_widget[INTENT_SATURATION] = subitem;
+
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
+
+
+ /* proofing_intent submenu */
+ item = gtk_menu_item_new_with_label(MENU_ITEM_CMS_PROOFING_INTENT);
+ gtk_menu_append(GTK_MENU(menu), item);
+ gtk_widget_show(item);
+
+ submenu = gtk_menu_new();
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_INTENT_RELATIVE_COLORIMETRIC);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_proofing_intent == INTENT_RELATIVE_COLORIMETRIC)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_proofing_intent_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) INTENT_RELATIVE_COLORIMETRIC);
+ gtk_widget_show(subitem);
+ v->cms_proofing_intent_widget[0] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_INTENT_ABSOLUTE_COLORIMETRIC);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_proofing_intent == INTENT_ABSOLUTE_COLORIMETRIC)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_proofing_intent_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) INTENT_ABSOLUTE_COLORIMETRIC);
+ gtk_widget_show(subitem);
+ v->cms_proofing_intent_widget[1] = subitem;
+
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
+
+
+ /* cms gamut check */
+ item = gtk_check_menu_item_new_with_label(MENU_ITEM_CMS_GAMUT_CHECK);
+ gtk_menu_append(GTK_MENU(menu), item);
+ g_signal_connect(GTK_OBJECT(item), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_gamut_check_callback, v);
+ gtk_widget_show(item);
+
+
+ /* gamut alarm color */
+ item = gtk_menu_item_new_with_label(MENU_ITEM_CMS_GAMUT_ALARM_COLOR);
+ gtk_menu_append(GTK_MENU(menu), item);
+ gtk_widget_show(item);
+
+ submenu = gtk_menu_new();
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_COLOR_BLACK);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_gamut_alarm_color == 0)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) 0);
+ gtk_widget_show(subitem);
+ v->cms_gamut_alarm_color_widget[0] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_COLOR_GRAY);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_gamut_alarm_color == 1)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) 1);
+ gtk_widget_show(subitem);
+ v->cms_gamut_alarm_color_widget[1] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_COLOR_WHITE);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_gamut_alarm_color == 2)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) 2);
+ gtk_widget_show(subitem);
+ v->cms_gamut_alarm_color_widget[2] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_COLOR_RED);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_gamut_alarm_color == 3)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) 3);
+ gtk_widget_show(subitem);
+ v->cms_gamut_alarm_color_widget[3] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_COLOR_GREEN);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_gamut_alarm_color == 4)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) 4);
+ gtk_widget_show(subitem);
+ v->cms_gamut_alarm_color_widget[4] = subitem;
+
+ subitem = gtk_check_menu_item_new_with_label(SUBMENU_ITEM_CMS_COLOR_BLUE);
+ gtk_menu_append(GTK_MENU(submenu), subitem);
+ if (v->cms_gamut_alarm_color == 5)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(subitem), TRUE);
+ }
+ g_signal_connect(GTK_OBJECT(subitem), "toggled", (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
+ gtk_object_set_data(GTK_OBJECT(subitem), "Selection", (void *) 5);
+ gtk_widget_show(subitem);
+ v->cms_gamut_alarm_color_widget[5] = subitem;
+
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
+
+ return menu;
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+
+static int xsane_viewer_read_image_header(Viewer *v)
+{
+ int pos0;
+ FILE *infile;
+ Image_info image_info;
+
+ /* open imagefile */
+
+ infile = fopen(v->filename, "rb");
+ if (!infile)
+ {
+ DBG(DBG_error, "could not load file %s\n", v->filename);
+ return -1;
+ }
+
+ xsane_read_pnm_header(infile, &image_info);
+
+ pos0 = ftell(infile);
+
+ if (!image_info.channels) /* == 0 (grayscale) ? */
+ {
+ image_info.channels = 1; /* we have one color component */
+ }
+
+ DBG(DBG_info, "reading image header %s with geometry: %d x %d x %d, %d channels\n", v->filename,
+ image_info.image_width, image_info.image_height, image_info.depth, image_info.channels);
+
+ /* init color management */
+ v->enable_color_management = image_info.enable_color_management;
+ if (!image_info.enable_color_management)
+ {
+ v->cms_enable = FALSE;
+ }
+
+ v->cms_function = image_info.cms_function;
+ v->cms_intent = image_info.cms_intent;
+ v->cms_bpc = image_info.cms_bpc;
+
+ if ((v->enable_color_management) && (image_info.reduce_to_lineart))
+ {
+ v->enable_color_management = FALSE;
+ v->cms_enable = FALSE;
+ }
+
+ fclose(infile);
+
+ return 0;
+}
+
+/* ---------------------------------------------------------------------------------------------------------------------- */
+
+
+static int xsane_viewer_read_image(Viewer *v)
+{
+ unsigned char *cms_row, *row, *src_row;
+ int x, y;
+ int last_y;
+ int nread;
+ int pos0;
+ FILE *infile;
+ Image_info image_info;
+ char buf[TEXTBUFSIZE];
+ float size;
+ char *size_unit;
+ int width, height;
+
+#ifdef HAVE_LIBLCMS
+ cmsHPROFILE hInProfile = NULL;
+ cmsHPROFILE hOutProfile = NULL;
+ cmsHPROFILE hProofProfile = NULL;
+ cmsHTRANSFORM hTransform = NULL;
+ int proof = 0;
+ char *cms_proof_icm_profile = NULL;
+ DWORD cms_input_format;
+ DWORD cms_output_format;
+ DWORD cms_flags = 0;
+#endif
+
+ /* open imagefile */
+
+ infile = fopen(v->filename, "rb");
+ if (!infile)
+ {
+ DBG(DBG_error, "could not load file %s\n", v->filename);
+ return -1;
+ }
+
+ xsane_read_pnm_header(infile, &image_info);
+
+ pos0 = ftell(infile);
+
+ if (!image_info.channels) /* == 0 (grayscale) ? */
+ {
+ image_info.channels = 1; /* we have one color component */
+ }
+
+ DBG(DBG_info, "reading image %s with geometry: %d x %d x %d, %d channels\n", v->filename,
+ image_info.image_width, image_info.image_height, image_info.depth, image_info.channels);
+
+#ifdef HAVE_LIBLCMS
+ /* init color management */
+
+ if ((v->enable_color_management) && (v->cms_enable))
+ {
+ cmsErrorAction(LCMS_ERROR_SHOW);
+
+ if (v->cms_bpc)
+ {
+ cms_flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
+ }
+
+ if (image_info.channels == 1) /* == 1 (grayscale) */
+ {
+ if (image_info.depth == 8)
+ {
+ cms_input_format = TYPE_GRAY_8;
+ cms_output_format = TYPE_GRAY_8;
+ }
+ else
+ {
+ cms_input_format = TYPE_GRAY_16;
+ cms_output_format = TYPE_GRAY_8;
+ }
+ }
+ else /* color */
+ {
+ if (image_info.depth == 8)
+ {
+ cms_input_format = TYPE_RGB_8;
+ cms_output_format = TYPE_RGB_8;
+ }
+ else
+ {
+ cms_input_format = TYPE_RGB_16;
+ cms_output_format = TYPE_RGB_8;
+ }
+ }
+
+ switch (v->cms_proofing)
+ {
+ default:
+ case 0: /* display */
+ proof = 0;
+ break;
+
+ case 1: /* proof printer */
+ cms_proof_icm_profile = preferences.printer[preferences.printernr]->icm_profile;
+ proof = 1;
+ break;
+
+ case 2: /* proof custom proofing */
+ cms_proof_icm_profile = preferences.custom_proofing_icm_profile;
+ proof = 1;
+ break;
+ }
+
+ hInProfile = cmsOpenProfileFromFile(image_info.icm_profile, "r");
+ if (!hInProfile)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s\n%s %s: %s\n", ERR_CMS_CONVERSION, ERR_CMS_OPEN_ICM_FILE, CMS_SCANNER_ICM, image_info.icm_profile);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1;
+ }
+
+ hOutProfile = cmsOpenProfileFromFile(preferences.display_icm_profile, "r");
+ if (!hOutProfile)
+ {
+ char buf[TEXTBUFSIZE];
+
+ cmsCloseProfile(hInProfile);
+
+ snprintf(buf, sizeof(buf), "%s\n%s %s: %s\n", ERR_CMS_CONVERSION, ERR_CMS_OPEN_ICM_FILE, CMS_DISPLAY_ICM, preferences.display_icm_profile);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1;
+ }
+
+
+ if (proof == 0)
+ {
+ hTransform = cmsCreateTransform(hInProfile, cms_input_format,
+ hOutProfile, cms_output_format,
+ v->cms_intent, cms_flags);
+ }
+ else /* proof */
+ {
+ cms_flags |= cmsFLAGS_SOFTPROOFING;
+
+ if (v->cms_gamut_check)
+ {
+ cms_flags |= cmsFLAGS_GAMUTCHECK;
+ }
+
+ hProofProfile = cmsOpenProfileFromFile(cms_proof_icm_profile, "r");
+ if (!hProofProfile)
+ {
+ char buf[TEXTBUFSIZE];
+
+ cmsCloseProfile(hInProfile);
+ cmsCloseProfile(hOutProfile);
+
+ snprintf(buf, sizeof(buf), "%s\n%s %s: %s\n", ERR_CMS_CONVERSION, ERR_CMS_OPEN_ICM_FILE, CMS_PROOF_ICM, cms_proof_icm_profile);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1;
+ }
+
+ hTransform = cmsCreateProofingTransform(hInProfile, cms_input_format,
+ hOutProfile, cms_output_format,
+ hProofProfile,
+ v->cms_intent, v->cms_proofing_intent, cms_flags);
+ }
+
+ cmsCloseProfile(hInProfile);
+ cmsCloseProfile(hOutProfile);
+ if (proof)
+ {
+ cmsCloseProfile(hProofProfile);
+ }
+
+ if (!hTransform)
+ {
+ char buf[TEXTBUFSIZE];
+
+ snprintf(buf, sizeof(buf), "%s\n%s\n", ERR_CMS_CONVERSION, ERR_CMS_CREATE_TRANSFORM);
+ xsane_back_gtk_error(buf, TRUE);
+ return -1;
+ }
+ }
+#endif
+
+ /* open infile */
+
+ if (v->window) /* we already have an existing viewer preview window? */
+ {
+ gtk_widget_destroy(v->window);
+ }
+
+ /* the preview area */
+ if (image_info.channels == 3) /* RGB */
+ {
+ v->window = gtk_preview_new(GTK_PREVIEW_COLOR);
+ }
+ else /* grayscale */
+ {
+ v->window = gtk_preview_new(GTK_PREVIEW_GRAYSCALE);
+ }
+
+ gtk_preview_size(GTK_PREVIEW(v->window), image_info.image_width * v->zoom, image_info.image_height * v->zoom);
+ gtk_container_add(GTK_CONTAINER(v->viewport), v->window);
+ gtk_widget_show(v->window);
+
+
+
+ /* get memory for one row of the image */
+ src_row = malloc(image_info.image_width * image_info.channels * image_info.depth / 8);
+
+ if ((v->enable_color_management) && (v->cms_enable))
+ {
+ row = malloc(((int) image_info.image_width * v->zoom) * image_info.channels * image_info.depth / 8);
+ }
+ else
+ {
+ row = malloc(((int) image_info.image_width * v->zoom) * image_info.channels);
+ }
+
+#ifdef HAVE_LIBLCMS
+ if ((v->enable_color_management) && (v->cms_enable))
+ {
+ cms_row = malloc(((int) image_info.image_width * v->zoom) * image_info.channels);
+ }
+ else
+#endif
+ {
+ cms_row = row;
+ }
+
+ if (!row || !src_row || !cms_row)
+ {
+ if (src_row)
+ {
+ free(src_row);
+ }
+
+ if (row)
+ {
+ free(row);
+ }
+
+#ifdef HAVE_LIBLCMS
+ if ((cms_row) && (v->enable_color_management) && (v->cms_enable))
+ {
+ free(cms_row);
+ }
+#endif
+
+ fclose(infile);
+ DBG(DBG_error, "could not allocate memory\n");
+ return -1;
+ }
+
+
+ last_y = -99999;
+
+ /* read the image from file */
+ for (y = 0; y < (int) (image_info.image_height * v->zoom); y++)
+ {
+ if ((int) (last_y / v->zoom) != (int) (y / v->zoom))
+ {
+ last_y = y;
+
+ if (image_info.depth == 8) /* 8 bits/pixel */
+ {
+ fseek(infile, pos0 + (((int) (y / v->zoom)) * image_info.image_width) * image_info.channels, SEEK_SET);
+ nread = fread(src_row, image_info.channels, image_info.image_width, infile);
+
+ if (image_info.channels > 1)
+ {
+ for (x=0; x < (int) (image_info.image_width * v->zoom); x++)
+ {
+ int xoff = ((int) (x / v->zoom)) * image_info.channels;
+
+ row[3*x+0] = src_row[xoff + 0];
+ row[3*x+1] = src_row[xoff + 1];
+ row[3*x+2] = src_row[xoff + 2];
+ }
+ }
+ else
+ {
+ for (x=0; x < (int) (image_info.image_width * v->zoom); x++)
+ {
+ row[x] = src_row[((int) (x / v->zoom))];
+ }
+ }
+ }
+ else if ((!v->enable_color_management) || (!v->cms_enable)) /* 16 bits/pixel => reduce to 8 bits/pixel */
+ {
+ guint16 *src_row16 = (guint16 *) src_row;
+
+ fseek(infile, pos0 + (((int) (y / v->zoom)) * image_info.image_width) * image_info.channels * 2, SEEK_SET);
+ nread = fread(src_row, 2 * image_info.channels, image_info.image_width, infile);
+
+ if (image_info.channels > 1)
+ {
+ for (x=0; x < (int) (image_info.image_width * v->zoom); x++)
+ {
+ int xoff = ((int) (x / v->zoom)) * image_info.channels;
+
+ row[3*x+0] = (unsigned char) (src_row16[xoff + 0] / 256);
+ row[3*x+1] = (unsigned char) (src_row16[xoff + 1] / 256);
+ row[3*x+2] = (unsigned char) (src_row16[xoff + 2] / 256);
+ }
+ }
+ else
+ {
+ for (x=0; x < (int) (image_info.image_width * v->zoom); x++)
+ {
+ row[x] = (unsigned char) (src_row16[(int) (x / v->zoom)] / 256);
+ }
+ }
+ }
+ else /* 16 bits/pixel with color management enabled, cms does 16->8 conversion */
+ {
+ guint16 *src_row16 = (guint16 *) src_row;
+ guint16 *dst_row16 = (guint16 *) row;
+
+ fseek(infile, pos0 + (((int) (y / v->zoom)) * image_info.image_width) * image_info.channels * 2, SEEK_SET);
+ nread = fread(src_row, 2 * image_info.channels, image_info.image_width, infile);
+
+ if (image_info.channels > 1)
+ {
+ for (x=0; x < (int) (image_info.image_width * v->zoom); x++)
+ {
+ int xoff = ((int) (x / v->zoom)) * image_info.channels;
+
+ dst_row16[3*x+0] = src_row16[xoff + 0];
+ dst_row16[3*x+1] = src_row16[xoff + 1];
+ dst_row16[3*x+2] = src_row16[xoff + 2];
+ }
+ }
+ else
+ {
+ for (x=0; x < (int) (image_info.image_width * v->zoom); x++)
+ {
+ dst_row16[x] = src_row16[(int) (x / v->zoom)];
+ }
+ }
+ }
+ }
+
+#ifdef HAVE_LIBLCMS
+ if ((v->enable_color_management) && (v->cms_enable))
+ {
+ cmsDoTransform(hTransform, row, cms_row, image_info.image_width * v->zoom);
+ }
+#endif
+ gtk_preview_draw_row(GTK_PREVIEW(v->window), cms_row, 0, y, image_info.image_width * v->zoom);
+ }
+
+ gtk_preview_put(GTK_PREVIEW(v->window), v->window->window, v->window->style->black_gc, 0, 0, 0, 0,
+ image_info.image_width * v->zoom, image_info.image_height * v->zoom);
+
+ size = (float) image_info.image_width * image_info.image_height * image_info.channels;
+ if (image_info.depth == 16)
+ {
+ size *= 2.0;
+ }
+
+ if (image_info.reduce_to_lineart)
+ {
+ size /= 8.0;
+ }
+
+ size_unit = "B";
+
+ if (size >= 1024 * 1024)
+ {
+ size /= (1024.0 * 1024.0);
+ size_unit = "MB";
+ }
+ else if (size >= 1024)
+ {
+ size /= 1024.0;
+ size_unit = "KB";
+ }
+
+ if (image_info.reduce_to_lineart)
+ {
+ snprintf(buf, sizeof(buf), TEXT_VIEWER_IMAGE_INFO, image_info.image_width, image_info.image_height, 1, image_info.channels,
+ image_info.resolution_x, image_info.resolution_y, size, size_unit);
+ }
+ else
+ {
+ snprintf(buf, sizeof(buf), TEXT_VIEWER_IMAGE_INFO, image_info.image_width, image_info.image_height, image_info.depth, image_info.channels,
+ image_info.resolution_x, image_info.resolution_y, size, size_unit);
+ }
+ gtk_label_set(GTK_LABEL(v->image_info_label), buf);
+
+ width = image_info.image_width * v->zoom + 26;
+ height = image_info.image_height * v->zoom + 136;
+
+ if (width > gdk_screen_width())
+ {
+ width = gdk_screen_width();
+ }
+
+ if (height > gdk_screen_height())
+ {
+ height = gdk_screen_height();
+ }
+
+#ifdef HAVE_GTK2
+ if (GTK_WIDGET_REALIZED(v->top))
+ {
+ gtk_window_resize(GTK_WINDOW(v->top), width, height);
+ }
+ else
+#endif
+ {
+ gtk_window_set_default_size(GTK_WINDOW(v->top), width, height);
+ }
+
+ free(row);
+ free(src_row);
+ fclose(infile);
+
+#ifdef HAVE_LIBLCMS
+ if ((v->enable_color_management) && (v->cms_enable))
+ {
+ cmsDeleteTransform(hTransform);
+ }
+#endif
+
+ return 0;
+}
+
+#if 0 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+
static int xsane_viewer_read_image(Viewer *v)
{
unsigned char *row, *src_row;
@@ -1679,13 +2598,13 @@ static int xsane_viewer_read_image(Viewer *v)
pos0 = ftell(infile);
- if (!image_info.colors) /* == 0 (grayscale) ? */
+ if (!image_info.channels) /* == 0 (grayscale) ? */
{
- image_info.colors = 1; /* we have one color component */
+ image_info.channels = 1; /* we have one color component */
}
- DBG(DBG_info, "reading image %s with geometry: %d x %d x %d, %d colors\n", v->filename,
- image_info.image_width, image_info.image_height, image_info.depth, image_info.colors);
+ DBG(DBG_info, "reading image %s with geometry: %d x %d x %d, %d channels\n", v->filename,
+ image_info.image_width, image_info.image_height, image_info.depth, image_info.channels);
/* open infile */
if (v->window) /* we already have an existing viewer preview window? */
@@ -1694,7 +2613,7 @@ static int xsane_viewer_read_image(Viewer *v)
}
/* the preview area */
- if (image_info.colors == 3) /* RGB */
+ if (image_info.channels == 3) /* RGB */
{
v->window = gtk_preview_new(GTK_PREVIEW_COLOR);
}
@@ -1710,8 +2629,8 @@ static int xsane_viewer_read_image(Viewer *v)
/* get memory for one row of the image */
- src_row = malloc(image_info.image_width * image_info.colors * image_info.depth / 8);
- row = malloc(((int) image_info.image_width * v->zoom) * image_info.colors);
+ src_row = malloc(image_info.image_width * image_info.channels * image_info.depth / 8);
+ row = malloc(((int) image_info.image_width * v->zoom) * image_info.channels);
if (!row || !src_row)
{
@@ -1742,14 +2661,14 @@ static int xsane_viewer_read_image(Viewer *v)
if (image_info.depth == 8) /* 8 bits/pixel */
{
- fseek(infile, pos0 + (((int) (y / v->zoom)) * image_info.image_width) * image_info.colors, SEEK_SET);
- nread = fread(src_row, image_info.colors, image_info.image_width, infile);
+ fseek(infile, pos0 + (((int) (y / v->zoom)) * image_info.image_width) * image_info.channels, SEEK_SET);
+ nread = fread(src_row, image_info.channels, image_info.image_width, infile);
- if (image_info.colors > 1)
+ if (image_info.channels > 1)
{
for (x=0; x < (int) (image_info.image_width * v->zoom); x++)
{
- int xoff = ((int) (x / v->zoom)) * image_info.colors;
+ int xoff = ((int) (x / v->zoom)) * image_info.channels;
row[3*x+0] = src_row[xoff + 0];
row[3*x+1] = src_row[xoff + 1];
@@ -1768,14 +2687,14 @@ static int xsane_viewer_read_image(Viewer *v)
{
guint16 *src_row16 = (guint16 *) src_row;
- fseek(infile, pos0 + (((int) (y / v->zoom)) * image_info.image_width) * image_info.colors * 2, SEEK_SET);
- nread = fread(src_row, 2 * image_info.colors, image_info.image_width, infile);
+ fseek(infile, pos0 + (((int) (y / v->zoom)) * image_info.image_width) * image_info.channels * 2, SEEK_SET);
+ nread = fread(src_row, 2 * image_info.channels, image_info.image_width, infile);
- if (image_info.colors > 1)
+ if (image_info.channels > 1)
{
for (x=0; x < (int) (image_info.image_width * v->zoom); x++)
{
- int xoff = ((int) (x / v->zoom)) * image_info.colors;
+ int xoff = ((int) (x / v->zoom)) * image_info.channels;
row[3*x+0] = (unsigned char) (src_row16[xoff + 0] / 256);
row[3*x+1] = (unsigned char) (src_row16[xoff + 1] / 256);
@@ -1798,7 +2717,7 @@ static int xsane_viewer_read_image(Viewer *v)
gtk_preview_put(GTK_PREVIEW(v->window), v->window->window, v->window->style->black_gc, 0, 0, 0, 0,
image_info.image_width * v->zoom, image_info.image_height * v->zoom);
- size = (float) image_info.image_width * image_info.image_height * image_info.colors;
+ size = (float) image_info.image_width * image_info.image_height * image_info.channels;
if (image_info.depth == 16)
{
size *= 2.0;
@@ -1824,18 +2743,18 @@ static int xsane_viewer_read_image(Viewer *v)
if (image_info.reduce_to_lineart)
{
- snprintf(buf, sizeof(buf), TEXT_VIEWER_IMAGE_INFO, image_info.image_width, image_info.image_height, 1, image_info.colors,
+ snprintf(buf, sizeof(buf), TEXT_VIEWER_IMAGE_INFO, image_info.image_width, image_info.image_height, 1, image_info.channels,
image_info.resolution_x, image_info.resolution_y, size, size_unit);
}
else
{
- snprintf(buf, sizeof(buf), TEXT_VIEWER_IMAGE_INFO, image_info.image_width, image_info.image_height, image_info.depth, image_info.colors,
+ snprintf(buf, sizeof(buf), TEXT_VIEWER_IMAGE_INFO, image_info.image_width, image_info.image_height, image_info.depth, image_info.channels,
image_info.resolution_x, image_info.resolution_y, size, size_unit);
}
gtk_label_set(GTK_LABEL(v->image_info_label), buf);
- width = image_info.image_width + 26;
- height = image_info.image_height + 136;
+ width = image_info.image_width * v->zoom + 26;
+ height = image_info.image_height * v->zoom + 136;
if (width > gdk_screen_width())
{
@@ -1864,6 +2783,7 @@ static int xsane_viewer_read_image(Viewer *v)
return 0;
}
+#endif
/* ---------------------------------------------------------------------------------------------------------------------- */
@@ -1897,6 +2817,17 @@ Viewer *xsane_viewer_new(char *filename, char *selection_filetype, int allow_red
v->keep_viewer_pnm_format = FALSE;
v->allow_modification = allow_modification;
v->next_viewer = xsane.viewer_list;
+#ifdef HAVE_LIBLCMS
+ v->enable_color_management = FALSE;
+ v->cms_enable = TRUE;
+ v->cms_function = XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE;
+ v->cms_intent = INTENT_PERCEPTUAL;
+ v->cms_proofing = 0; /* display */
+ v->cms_proofing_intent = INTENT_ABSOLUTE_COLORIMETRIC;
+ v->cms_gamut_check = 0;
+ v->cms_gamut_alarm_color = 3; /* red */
+ cmsSetAlarmCodes(255, 0, 0);
+#endif
if (selection_filetype)
{
v->selection_filetype = strdup(selection_filetype);
@@ -1933,6 +2864,8 @@ Viewer *xsane_viewer_new(char *filename, char *selection_filetype, int allow_red
snprintf(buf, sizeof(buf), "%s %s", WINDOW_VIEWER, xsane.device_text);
}
+ xsane_viewer_read_image_header(v); // xxx oli
+
v->top = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(v->top), buf);
xsane_set_window_icon(v->top, 0);
@@ -1983,6 +2916,17 @@ Viewer *xsane_viewer_new(char *filename, char *selection_filetype, int allow_red
gtk_widget_show(menubar_item);
v->geometry_menu = menubar_item;
+#ifdef HAVE_LIBLCMS
+ /* "Color management" submenu: */
+ menubar_item = gtk_menu_item_new_with_label(MENU_COLOR_MANAGEMENT);
+ gtk_container_add(GTK_CONTAINER(menubar), menubar_item);
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(menubar_item), xsane_viewer_color_management_build_menu(v));
+/* gtk_widget_add_accelerator(menubar_item, "select", xsane.accelerator_group, GDK_F, 0, GTK_ACCEL_VISIBLE | DEF_GTK_ACCEL_LOCKED); */
+ gtk_widget_show(menubar_item);
+ v->color_management_menu = menubar_item;
+ gtk_widget_set_sensitive(GTK_WIDGET(v->color_management_menu), v->enable_color_management);
+#endif
+
gtk_widget_show(menubar);
diff --git a/src/xsane-viewer.h b/src/xsane-viewer.h
index 373fd31..b729151 100644
--- a/src/xsane-viewer.h
+++ b/src/xsane-viewer.h
@@ -3,7 +3,7 @@
xsane-viewer.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 2001-2005 Oliver Rauch
+ Copyright (C) 2001-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -47,6 +47,8 @@ typedef struct Viewer
char *undo_filename;
char *selection_filetype;
+ int cms_function;
+
int allow_reduction_to_lineart;
int keep_viewer_pnm_format;
float zoom;
@@ -57,6 +59,15 @@ typedef struct Viewer
int despeckle_radius;
float blur_radius;
+ int enable_color_management;
+ int cms_enable;
+ int cms_bpc;
+ int cms_proofing;
+ int cms_intent;
+ int cms_proofing_intent;
+ int cms_gamut_check;
+ int cms_gamut_alarm_color;
+
int bind_scale;
double x_scale_factor;
double y_scale_factor;
@@ -73,6 +84,7 @@ typedef struct Viewer
GtkWidget *edit_menu;
GtkWidget *filters_menu;
GtkWidget *geometry_menu;
+ GtkWidget *color_management_menu;
GtkWidget *viewport;
GtkWidget *window;
@@ -94,6 +106,11 @@ typedef struct Viewer
GtkWidget *despeckle;
GtkWidget *blur;
+ GtkWidget *cms_proofing_widget[3];
+ GtkWidget *cms_intent_widget[4];
+ GtkWidget *cms_proofing_intent_widget[2];
+ GtkWidget *cms_gamut_alarm_color_widget[6];
+
GtkWidget *image_info_label;
GtkProgressBar *progress_bar;
diff --git a/src/xsane.c b/src/xsane.c
index 9254ea7..38ee7d1 100644
--- a/src/xsane.c
+++ b/src/xsane.c
@@ -3,7 +3,7 @@
xsane.c
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -56,6 +56,7 @@ struct option long_options[] =
{"version", no_argument, 0, 'v'},
{"license", no_argument, 0, 'l'},
{"device-settings", required_argument, 0, 'd'},
+ {"xsane-rc", required_argument, 0, 'r'},
{"save", no_argument, 0, 's'},
{"viewer", no_argument, 0, 'V'},
{"copy", no_argument, 0, 'c'},
@@ -752,7 +753,7 @@ static void xsane_resolution_list_callback(GtkWidget *widget, gpointer data)
static int xsane_resolution_widget_new(GtkWidget *parent, int well_known_option, double *resolution, const char *image_xpm[],
const gchar *desc, const gchar *widget_name)
{
- GtkObject *resolution_widget;
+ GtkWidget *resolution_widget;
const SANE_Option_Descriptor *opt;
DBG(DBG_proc, "xsane_resolution_widget_new\n");
@@ -1153,6 +1154,14 @@ static void xsane_scanmode_menu_callback(GtkWidget *widget, gpointer data)
}
}
+/* ----------------------------------------------------------------------------------------------------------------- */
+
+static void xsane_cms_function_menu_callback(GtkWidget *widget, gpointer data)
+{
+ preferences.cms_function = (int) data;
+ DBG(DBG_proc, "xsane_cms_function_menu_callback(%d)\n", preferences.cms_function);
+}
+
/* ---------------------------------------------------------------------------------------------------------------------- */
static void xsane_adf_pages_max_callback(GtkWidget *widget, gpointer data)
@@ -1444,6 +1453,31 @@ GtkWidget *xsane_update_xsane_callback() /* creates the XSane option window */
gtk_widget_show(xsane_spinbutton);
}
+#ifdef HAVE_LIBLCMS
+ if ((xsane.enable_color_management) &&
+ ( (xsane.xsane_mode == XSANE_VIEWER) ||
+ (xsane.xsane_mode == XSANE_SAVE) ||
+ (xsane.xsane_mode == XSANE_EMAIL) ||
+ (xsane.xsane_mode == XSANE_MULTIPAGE)
+ )
+ )
+ {
+ hbox = gtk_hbox_new(FALSE, 2);
+ gtk_container_set_border_width(GTK_CONTAINER(hbox), 2);
+ gtk_box_pack_start(GTK_BOX(xsane_vbox_xsane_modus), hbox, FALSE, FALSE, 1);
+ gtk_widget_show(hbox);
+
+ pixmap = gdk_pixmap_create_from_xpm_d(xsane.histogram_dialog->window, &mask, xsane.bg_trans, (gchar **) cms_xpm);
+ pixmapwidget = gtk_image_new_from_pixmap(pixmap, mask);
+ gtk_box_pack_start(GTK_BOX(hbox), pixmapwidget, FALSE, FALSE, 2);
+ gdk_drawable_unref(pixmap);
+ gtk_widget_show(pixmapwidget);
+
+ xsane.cms_function_option_menu = xsane_back_gtk_cms_function_menu_new(preferences.cms_function, (GtkSignalFunc) xsane_cms_function_menu_callback);
+ gtk_box_pack_end(GTK_BOX(hbox), xsane.cms_function_option_menu, FALSE, FALSE, 2);
+ gtk_widget_show(xsane.cms_function_option_menu);
+ }
+#endif
/* input selection */
opt = xsane_get_option_descriptor(xsane.dev, xsane.well_known.scansource);
@@ -1526,7 +1560,8 @@ GtkWidget *xsane_update_xsane_callback() /* creates the XSane option window */
}
- if (xsane.param.depth != 1) /* show medium selection of not lineart mode */
+ /* show medium selection when not lineart mode and no color management */
+ if ((xsane.param.depth != 1) && (!xsane.enable_color_management))
{
/* medium selection */
hbox = gtk_hbox_new(FALSE, 2);
@@ -1658,33 +1693,31 @@ GtkWidget *xsane_update_xsane_callback() /* creates the XSane option window */
}
#endif
- /* test if scanner gamma table is selected */
+ /* test if scanner gamma table is selected */
- xsane.scanner_gamma_gray = FALSE;
- if (xsane.well_known.gamma_vector >0)
- {
- const SANE_Option_Descriptor *opt;
-
- opt = xsane_get_option_descriptor(xsane.dev, xsane.well_known.gamma_vector);
- if (SANE_OPTION_IS_ACTIVE(opt->cap))
- {
- xsane.scanner_gamma_gray = TRUE;
- }
- }
-
- xsane.scanner_gamma_color = FALSE;
- if (xsane.well_known.gamma_vector_r >0)
- {
- const SANE_Option_Descriptor *opt;
+ xsane.scanner_gamma_gray = FALSE;
+ if (xsane.well_known.gamma_vector >0)
+ {
+ const SANE_Option_Descriptor *opt;
- opt = xsane_get_option_descriptor(xsane.dev, xsane.well_known.gamma_vector_r);
- if (SANE_OPTION_IS_ACTIVE(opt->cap))
- {
- xsane.scanner_gamma_color = TRUE;
- }
- }
+ opt = xsane_get_option_descriptor(xsane.dev, xsane.well_known.gamma_vector);
+ if (SANE_OPTION_IS_ACTIVE(opt->cap))
+ {
+ xsane.scanner_gamma_gray = TRUE;
+ }
+ }
+ xsane.scanner_gamma_color = FALSE;
+ if (xsane.well_known.gamma_vector_r >0)
+ {
+ const SANE_Option_Descriptor *opt;
+ opt = xsane_get_option_descriptor(xsane.dev, xsane.well_known.gamma_vector_r);
+ if (SANE_OPTION_IS_ACTIVE(opt->cap))
+ {
+ xsane.scanner_gamma_color = TRUE;
+ }
+ }
/* XSane Frame Enhancement */
@@ -1717,7 +1750,41 @@ GtkWidget *xsane_update_xsane_callback() /* creates the XSane option window */
xsane.slider_gray.active = XSANE_SLIDER_ACTIVE; /* mark slider active */
- if ( (xsane.xsane_colors > 1) && (!xsane.enhancement_rgb_default) )
+
+ if (xsane.enable_color_management) /* do not show gamma widgets when color management is active */
+ {
+ xsane.gamma = 1.0;
+ xsane.gamma_red = 1.0;
+ xsane.gamma_green = 1.0;
+ xsane.gamma_blue = 1.0;
+ xsane.brightness = 0.0;
+ xsane.brightness_red = 0.0;
+ xsane.brightness_green = 0.0;
+ xsane.brightness_blue = 0.0;
+ xsane.contrast = 0.0;
+ xsane.contrast_red = 0.0;
+ xsane.contrast_green = 0.0;
+ xsane.contrast_blue = 0.0;
+ xsane.threshold = 50.0;
+
+ xsane.slider_gray.value[2] = 100.0;
+ xsane.slider_gray.value[1] = 50.0;
+ xsane.slider_gray.value[0] = 0.0;
+ xsane.slider_red.value[2] = 100.0;
+ xsane.slider_red.value[1] = 50.0;
+ xsane.slider_red.value[0] = 0.0;
+ xsane.slider_green.value[2] = 100.0;
+ xsane.slider_green.value[1] = 50.0;
+ xsane.slider_green.value[0] = 0.0;
+ xsane.slider_blue.value[2] = 100.0;
+ xsane.slider_blue.value[1] = 50.0;
+ xsane.slider_blue.value[0] = 0.0;
+
+ return(xsane_hbox);
+ }
+
+
+ if ( (xsane.xsane_channels > 1) && (!xsane.enhancement_rgb_default) )
{
xsane_separator_new(xsane_vbox_xsane_modus, 2);
}
@@ -1725,7 +1792,7 @@ GtkWidget *xsane_update_xsane_callback() /* creates the XSane option window */
xsane_range_new_with_pixmap(xsane.xsane_window->window, GTK_BOX(xsane_vbox_xsane_modus), Gamma_xpm, DESC_GAMMA,
XSANE_GAMMA_MIN, XSANE_GAMMA_MAX, 0.01, 0.1, 2,
&xsane.gamma, &xsane.gamma_widget, 0, xsane_gamma_changed, TRUE);
- if ( (xsane.xsane_colors > 1) && (!xsane.enhancement_rgb_default) )
+ if ( (xsane.xsane_channels > 1) && (!xsane.enhancement_rgb_default) )
{
xsane_range_new_with_pixmap(xsane.xsane_window->window, GTK_BOX(xsane_vbox_xsane_modus), Gamma_red_xpm, DESC_GAMMA_R,
XSANE_GAMMA_MIN, XSANE_GAMMA_MAX, 0.01, 0.1, 2,
@@ -1743,7 +1810,7 @@ GtkWidget *xsane_update_xsane_callback() /* creates the XSane option window */
xsane_range_new_with_pixmap(xsane.xsane_window->window, GTK_BOX(xsane_vbox_xsane_modus), brightness_xpm, DESC_BRIGHTNESS,
xsane.brightness_min, xsane.brightness_max, 0.1, 1.0, 1,
&xsane.brightness, &xsane.brightness_widget, 0, xsane_gamma_changed, TRUE);
- if ( (xsane.xsane_colors > 1) && (!xsane.enhancement_rgb_default) )
+ if ( (xsane.xsane_channels > 1) && (!xsane.enhancement_rgb_default) )
{
xsane_range_new_with_pixmap(xsane.xsane_window->window, GTK_BOX(xsane_vbox_xsane_modus), brightness_red_xpm, DESC_BRIGHTNESS_R,
xsane.brightness_min, xsane.brightness_max, 0.1, 1.0, 1,
@@ -1761,7 +1828,7 @@ GtkWidget *xsane_update_xsane_callback() /* creates the XSane option window */
xsane_range_new_with_pixmap(xsane.xsane_window->window, GTK_BOX(xsane_vbox_xsane_modus), contrast_xpm, DESC_CONTRAST,
xsane.contrast_gray_min, xsane.contrast_max, 0.1, 1.0, 1,
&xsane.contrast, &xsane.contrast_widget, 0, xsane_gamma_changed, TRUE);
- if ( (xsane.xsane_colors > 1) && (!xsane.enhancement_rgb_default) )
+ if ( (xsane.xsane_channels > 1) && (!xsane.enhancement_rgb_default) )
{
xsane_range_new_with_pixmap(xsane.xsane_window->window, GTK_BOX(xsane_vbox_xsane_modus), contrast_red_xpm, DESC_CONTRAST_R,
xsane.contrast_min, xsane.contrast_max, 0.1, 1.0, 1,
@@ -1782,7 +1849,7 @@ GtkWidget *xsane_update_xsane_callback() /* creates the XSane option window */
gtk_box_pack_start(GTK_BOX(xsane_vbox_xsane_modus), xsane_hbox_xsane_enhancement, FALSE, FALSE, 0);
gtk_widget_show(xsane_hbox_xsane_enhancement);
- if (xsane.xsane_colors > 1)
+ if (xsane.xsane_channels > 1)
{
button = xsane_toggle_button_new_with_pixmap(xsane.xsane_window->window, xsane_hbox_xsane_enhancement, rgb_default_xpm, DESC_RGB_DEFAULT,
&xsane.enhancement_rgb_default, xsane_enhancement_rgb_default_callback);
@@ -1795,7 +1862,7 @@ GtkWidget *xsane_update_xsane_callback() /* creates the XSane option window */
button = xsane_button_new_with_pixmap(xsane.xsane_window->window, xsane_hbox_xsane_enhancement, enhance_xpm, DESC_ENH_AUTO,
xsane_auto_enhancement_callback, NULL);
- gtk_widget_add_accelerator(button, "clicked", xsane.accelerator_group, GDK_E, GDK_CONTROL_MASK, DEF_GTK_ACCEL_LOCKED);
+ gtk_widget_add_accelerator(button, "clicked", xsane.accelerator_group, GDK_A, GDK_CONTROL_MASK, DEF_GTK_ACCEL_LOCKED);
button = xsane_button_new_with_pixmap(xsane.xsane_window->window, xsane_hbox_xsane_enhancement, default_enhancement_xpm, DESC_ENH_DEFAULT,
xsane_enhancement_restore_default, NULL);
@@ -1831,7 +1898,8 @@ void xsane_pref_save(void)
DBG(DBG_proc, "xsane_pref_save\n");
/* first save xsane-specific preferences: */
- xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", NULL, "xsane", NULL, ".rc", XSANE_PATH_LOCAL_SANE);
+ xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", NULL, NULL, xsane.xsane_rc_set_filename, ".rc", XSANE_PATH_LOCAL_SANE);
+// xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", NULL, "xsane", NULL, ".rc", XSANE_PATH_LOCAL_SANE);
DBG(DBG_info2, "saving preferences to \"%s\"\n", filename);
@@ -1862,7 +1930,8 @@ static int xsane_pref_restore(void)
DBG(DBG_proc, "xsane_pref_restore\n");
- xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", NULL, "xsane", NULL, ".rc", XSANE_PATH_LOCAL_SANE);
+ xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", NULL, NULL, xsane.xsane_rc_set_filename, ".rc", XSANE_PATH_LOCAL_SANE);
+// xsane_back_gtk_make_path(sizeof(filename), filename, "xsane", NULL, "xsane", NULL, ".rc", XSANE_PATH_LOCAL_SANE);
fd = open(filename, O_RDONLY);
if (fd >= 0)
@@ -1947,7 +2016,23 @@ static int xsane_pref_restore(void)
if (!preferences.filename)
{
- preferences.filename = strdup(OUT_FILENAME);
+ char filename[PATH_MAX];
+ char buf[PATH_MAX];
+
+ if (getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)) != NULL)
+ {
+ snprintf(buf, sizeof(buf)-2, "%s%c%s", getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)), SLASH, OUT_FILENAME);
+ preferences.filename = strdup(buf);
+ }
+ else if (getcwd(filename, sizeof(filename)))
+ {
+ snprintf(buf, sizeof(buf)-2, "%s%c%s", filename, SLASH, OUT_FILENAME);
+ preferences.filename = strdup(buf);
+ }
+ else
+ {
+ preferences.filename = strdup("");
+ }
}
if (!preferences.filetype)
@@ -1962,7 +2047,23 @@ static int xsane_pref_restore(void)
if (!preferences.fax_project)
{
- preferences.fax_project = strdup(FAXPROJECT);
+ char filename[PATH_MAX];
+ char buf[PATH_MAX];
+
+ if (getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)) != NULL)
+ {
+ snprintf(buf, sizeof(buf)-2, "%s%c%s", getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)), SLASH, FAXPROJECT);
+ preferences.fax_project = strdup(buf);
+ }
+ else if (getcwd(filename, sizeof(filename)))
+ {
+ snprintf(buf, sizeof(buf)-2, "%s%c%s", filename, SLASH, FAXPROJECT);
+ preferences.fax_project = strdup(buf);
+ }
+ else
+ {
+ preferences.fax_project = strdup("");
+ }
}
if (!preferences.fax_command)
@@ -2028,7 +2129,23 @@ static int xsane_pref_restore(void)
if (!preferences.email_project)
{
- preferences.email_project = strdup(EMAILPROJECT);
+ char filename[PATH_MAX];
+ char buf[PATH_MAX];
+
+ if (getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)) != NULL)
+ {
+ snprintf(buf, sizeof(buf)-2, "%s%c%s", getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)), SLASH, EMAILPROJECT);
+ preferences.email_project = strdup(buf);
+ }
+ else if (getcwd(filename, sizeof(filename)))
+ {
+ snprintf(buf, sizeof(buf)-2, "%s%c%s", filename, SLASH, EMAILPROJECT);
+ preferences.email_project = strdup(buf);
+ }
+ else
+ {
+ preferences.email_project = strdup("");
+ }
}
if (!preferences.email_filetype)
@@ -2039,7 +2156,23 @@ static int xsane_pref_restore(void)
if (!preferences.multipage_project)
{
- preferences.multipage_project = strdup(MULTIPAGEPROJECT);
+ char filename[PATH_MAX];
+ char buf[PATH_MAX];
+
+ if (getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)) != NULL)
+ {
+ snprintf(buf, sizeof(buf)-2, "%s%c%s", getenv(STRINGIFY(ENVIRONMENT_HOME_DIR_NAME)), SLASH, MULTIPAGEPROJECT);
+ preferences.multipage_project = strdup(buf);
+ }
+ else if (getcwd(filename, sizeof(filename)))
+ {
+ snprintf(buf, sizeof(buf)-2, "%s%c%s", filename, SLASH, MULTIPAGEPROJECT);
+ preferences.multipage_project = strdup(buf);
+ }
+ else
+ {
+ preferences.multipage_project = strdup("");
+ }
}
if (!preferences.multipage_filetype)
@@ -2076,7 +2209,7 @@ static int xsane_pref_restore(void)
{
if (getenv(STRINGIFY(ENVIRONMENT_BROWSER_NAME)))
{
- preferences.browser = getenv(STRINGIFY(ENVIRONMENT_BROWSER_NAME));
+ preferences.browser = strdup(getenv(STRINGIFY(ENVIRONMENT_BROWSER_NAME)));
}
else
{
@@ -2871,6 +3004,55 @@ static void xsane_set_pref_unit_callback(GtkWidget *widget, gpointer data)
}
/* ---------------------------------------------------------------------------------------------------------------------- */
+#ifdef HAVE_LIBLCMS
+static void xsane_enable_color_management_callback(GtkWidget *widget, gpointer data)
+{
+ DBG(DBG_proc, "xsane_enable_color_management_callback\n");
+
+ xsane.enable_color_management = (GTK_CHECK_MENU_ITEM(widget)->active);
+
+ gtk_widget_set_sensitive(xsane.edit_medium_definition_widget, (xsane.enable_color_management) == 0);
+
+ if (xsane.enable_color_management)
+ {
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(xsane.edit_medium_definition_widget), FALSE);
+ xsane.medium_calibration = FALSE;
+ }
+
+ xsane.gamma = 1.0;
+ xsane.gamma_red = 1.0;
+ xsane.gamma_green = 1.0;
+ xsane.gamma_blue = 1.0;
+ xsane.brightness = 0.0;
+ xsane.brightness_red = 0.0;
+ xsane.brightness_green = 0.0;
+ xsane.brightness_blue = 0.0;
+ xsane.contrast = 0.0;
+ xsane.contrast_red = 0.0;
+ xsane.contrast_green = 0.0;
+ xsane.contrast_blue = 0.0;
+ xsane.threshold = 50.0;
+
+ xsane.slider_gray.value[2] = 100.0;
+ xsane.slider_gray.value[1] = 50.0;
+ xsane.slider_gray.value[0] = 0.0;
+ xsane.slider_red.value[2] = 100.0;
+ xsane.slider_red.value[1] = 50.0;
+ xsane.slider_red.value[0] = 0.0;
+ xsane.slider_green.value[2] = 100.0;
+ xsane.slider_green.value[1] = 50.0;
+ xsane.slider_green.value[0] = 0.0;
+ xsane.slider_blue.value[2] = 100.0;
+ xsane.slider_blue.value[1] = 50.0;
+ xsane.slider_blue.value[0] = 0.0;
+
+ xsane_update_sliders();
+ xsane_update_gamma_curve(FALSE);
+ xsane_batch_scan_update_icon_list();
+ xsane_refresh_dialog();
+}
+#endif
+/* ---------------------------------------------------------------------------------------------------------------------- */
static void xsane_edit_medium_definition_callback(GtkWidget *widget, gpointer data)
{
@@ -3087,7 +3269,7 @@ static void xsane_info_dialog(GtkWidget *widget, gpointer data)
gtk_box_pack_start(GTK_BOX(hbox), table, FALSE, FALSE, 5);
gtk_widget_show(table);
- if ((xsane.xsane_colors > 1) && (xsane.scanner_gamma_color)) /* color gamma correction by scanner */
+ if ((xsane.xsane_channels > 1) && (xsane.scanner_gamma_color)) /* color gamma correction by scanner */
{
const SANE_Option_Descriptor *opt;
@@ -3108,7 +3290,7 @@ static void xsane_info_dialog(GtkWidget *widget, gpointer data)
snprintf(buf, sizeof(buf), "%d bit", (int) (0.5 + log(opt->constraint.range->max+1.0) / log(2.0)));
label = xsane_info_table_text_new(table, buf, 1, 2);
}
- else if ((!xsane.xsane_colors > 1) && (xsane.scanner_gamma_gray)) /* gray gamma correction by scanner */
+ else if ((!xsane.xsane_channels > 1) && (xsane.scanner_gamma_gray)) /* gray gamma correction by scanner */
{
const SANE_Option_Descriptor *opt;
@@ -3996,7 +4178,7 @@ static GtkWidget *xsane_preferences_build_menu(void)
gtk_widget_show(item);
-
+#if 0
/* change working directory */
item = gtk_menu_item_new_with_label(MENU_ITEM_CHANGE_WORKING_DIR);
@@ -4010,6 +4192,18 @@ static GtkWidget *xsane_preferences_build_menu(void)
item = gtk_menu_item_new();
gtk_menu_append(GTK_MENU(menu), item);
gtk_widget_show(item);
+#endif
+
+#ifdef HAVE_LIBLCMS
+ /* enable color management */
+
+ item = gtk_check_menu_item_new_with_label(MENU_ITEM_ENABLE_COLOR_MANAGEMENT);
+ g_signal_connect(GTK_OBJECT(item), "toggled", (GtkSignalFunc) xsane_enable_color_management_callback, NULL);
+ gtk_menu_append(GTK_MENU(menu), item);
+ gtk_widget_show(item);
+ xsane.enable_color_management_widget = item;
+#endif
+
/* edit medium definitions */
@@ -4017,6 +4211,7 @@ static GtkWidget *xsane_preferences_build_menu(void)
g_signal_connect(GTK_OBJECT(item), "toggled", (GtkSignalFunc) xsane_edit_medium_definition_callback, NULL);
gtk_menu_append(GTK_MENU(menu), item);
gtk_widget_show(item);
+ xsane.edit_medium_definition_widget = item;
/* insert separator: */
@@ -4705,12 +4900,16 @@ static void xsane_device_dialog(void)
GtkWidget *xsane_vbox_advanced;
GdkColormap *colormap;
SANE_Status status;
+ SANE_Handle sane_handle;
DBG(DBG_proc, "xsane_device_dialog\n");
devname = xsane.devlist[xsane.selected_dev]->name;
- status = sane_open(devname, (SANE_Handle *) &xsane.dev);
+/* status = sane_open(devname, (SANE_Handle *) &xsane.dev); // old version */
+ status = sane_open(devname, &sane_handle);
+ xsane.dev = sane_handle;
+
if (status != SANE_STATUS_GOOD)
{
snprintf(buf, sizeof(buf), "%s `%s':\n %s.", ERR_DEVICE_OPEN_FAILED, devname, XSANE_STRSTATUS(status));
@@ -4802,7 +5001,6 @@ static void xsane_device_dialog(void)
xsane.device_text = strdup(devicetext);
-
/* if no preferences filename is given on commandline create one from devicenaname */
if (!xsane.device_set_filename)
@@ -5383,27 +5581,27 @@ static void xsane_choose_device(void)
gtk_container_set_border_width(GTK_CONTAINER(hbox), 5);
gtk_widget_show(hbox);
- /* The OK button */
+ /* The Cancel button */
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_OK);
+ button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
#else
- button = gtk_button_new_with_label(BUTTON_OK);
+ button = gtk_button_new_with_label(BUTTON_CANCEL);
#endif
- GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_choose_dialog_ok_callback, NULL);
+ gtk_widget_add_accelerator(button, "clicked", device_selection_accelerator_group, GDK_Escape, 0, DEF_GTK_ACCEL_LOCKED);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_exit, NULL);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
- gtk_widget_grab_default(button);
gtk_widget_show(button);
- /* The Cancel button */
+ /* The OK button */
#ifdef HAVE_GTK2
- button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
+ button = gtk_button_new_from_stock(GTK_STOCK_OK);
#else
- button = gtk_button_new_with_label(BUTTON_CANCEL);
+ button = gtk_button_new_with_label(BUTTON_OK);
#endif
- gtk_widget_add_accelerator(button, "clicked", device_selection_accelerator_group, GDK_Escape, 0, DEF_GTK_ACCEL_LOCKED);
- g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_exit, NULL);
+ GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+ g_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) xsane_choose_dialog_ok_callback, NULL);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0);
+ gtk_widget_grab_default(button);
gtk_widget_show(button);
gtk_widget_show(xsane.choose_device_dialog);
@@ -5478,7 +5676,7 @@ static int xsane_init(int argc, char **argv)
{
int ch;
- while((ch = getopt_long(argc, argv, "cd:efghlmnpsvFN:RV", long_options, 0)) != EOF)
+ while((ch = getopt_long(argc, argv, "cd:efghlmnpr:svFN:RV", long_options, 0)) != EOF)
{
switch(ch)
{
@@ -5497,7 +5695,9 @@ static int xsane_init(int argc, char **argv)
g_print(" %s %s\n", TEXT_EMAIL_ADR, XSANE_EMAIL_ADR);
g_print(" %s %s\n", TEXT_PACKAGE, XSANE_PACKAGE_VERSION);
g_print(" %s%d.%d.%d\n", TEXT_GTK_VERSION, GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
-
+#ifdef HAVE_LIBLCMS
+ g_print(" %s\n", TEXT_WITH_CMS_FUNCTION);
+#endif
#ifdef HAVE_ANY_GIMP
g_print(" %s, %s%s\n", TEXT_WITH_GIMP_SUPPORT, TEXT_GIMP_VERSION, GIMP_VERSION);
#else
@@ -5553,6 +5753,10 @@ static int xsane_init(int argc, char **argv)
xsane.device_set_filename = strdup(optarg);
break;
+ case 'r': /* --xsane-rc */
+ xsane.xsane_rc_set_filename = strdup(optarg);
+ break;
+
case 'V': /* --viewer, default */
xsane.xsane_mode = XSANE_VIEWER;
break;
@@ -5606,6 +5810,14 @@ static int xsane_init(int argc, char **argv)
}
}
+ /* if no xsane_rc filename is given on commandline then use "xsane.rc" */
+
+ if (!xsane.xsane_rc_set_filename)
+ {
+ xsane.xsane_rc_set_filename = strdup("xsane"); /* ".rc" is appended later */
+ }
+
+
if (xsane_pref_restore()) /* restore preferences, returns TRUE if license is not accpted yet */
{
if (xsane_display_eula(1)) /* show license and ask for accept/not accept */
@@ -5649,6 +5861,9 @@ static int xsane_init(int argc, char **argv)
device_scanning_dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(device_scanning_dialog), GTK_WIN_POS_CENTER);
gtk_window_set_resizable(GTK_WINDOW(device_scanning_dialog), FALSE);
+/*
+ gtk_window_set_deletable(GTK_WINDOW(device_scanning_dialog), FALSE);
+*/
snprintf(buf, sizeof(buf), "%s %s", xsane.prog_name, XSANE_VERSION);
gtk_window_set_title(GTK_WINDOW(device_scanning_dialog), buf);
g_signal_connect(GTK_OBJECT(device_scanning_dialog), "delete_event", GTK_SIGNAL_FUNC(xsane_quit), NULL);
@@ -5914,11 +6129,13 @@ int main(int argc, char **argv)
xsane.histogram_int = 1;
xsane.histogram_log = 1;
- xsane.xsane_colors = -1; /* unused value to make sure that change of this vlaue is detected */
+ xsane.xsane_channels = -1; /* unused value to make sure that change of this vlaue is detected */
xsane.scanner_gamma_color = FALSE;
xsane.scanner_gamma_gray = FALSE;
xsane.enhancement_rgb_default = TRUE;
+ xsane.enable_color_management = FALSE;
+
xsane.adf_page_counter = 0;
xsane.print_filenames = FALSE;
xsane.force_filename = FALSE;
diff --git a/src/xsane.h b/src/xsane.h
index 154bb52..4e4ddd8 100644
--- a/src/xsane.h
+++ b/src/xsane.h
@@ -3,7 +3,7 @@
xsane.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -69,6 +69,12 @@
#include <gdk/gdk.h>
#include <gtk/gtk.h>
+#ifdef HAVE_LIBLCMS
+# include "lcms.h"
+#else
+# define cmsHTRANSFORM void *
+#endif
+
/* ---------------------------------------------------------------------------------------------------------------------- */
#if 0
@@ -85,10 +91,10 @@
/* ---------------------------------------------------------------------------------------------------------------------- */
-#define XSANE_VERSION "0.991"
+#define XSANE_VERSION "0.993"
#define XSANE_AUTHOR "Oliver Rauch"
#define XSANE_COPYRIGHT "Oliver Rauch"
-#define XSANE_DATE "1998-2006"
+#define XSANE_DATE "1998-2007"
#define XSANE_EMAIL_ADR "Oliver.Rauch@xsane.org"
#define XSANE_HOMEPAGE "http://www.xsane.org"
#define XSANE_COPYRIGHT_TXT XSANE_DATE " " XSANE_COPYRIGHT
@@ -381,7 +387,7 @@ typedef struct Image_info
int image_height;
int depth;
- int colors;
+ int channels;
double resolution_x;
double resolution_y;
@@ -404,6 +410,13 @@ typedef struct Image_info
double threshold;
int reduce_to_lineart;
+
+ int enable_color_management;
+ int cms_function;
+ int cms_intent;
+ int cms_bpc;
+
+ char icm_profile[PATH_MAX];
}
Image_info;
@@ -469,7 +482,14 @@ enum
EMAIL_AUTH_ASMTP_LOGIN,
EMAIL_AUTH_ASMTP_CRAM_MD5
};
-
+
+enum
+{
+ XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE = 0,
+ XSANE_CMS_FUNCTION_CONVERT_TO_SRGB,
+ XSANE_CMS_FUNCTION_CONVERT_TO_WORKING_CS
+};
+
/* ---------------------------------------------------------------------------------------------------------------------- */
extern void xsane_pref_save(void);
@@ -617,6 +637,7 @@ typedef struct Xsane
char *backend;
char *backend_translation;
char *device_set_filename;
+ char *xsane_rc_set_filename;
char *output_filename;
char *dummy_filename;
@@ -739,6 +760,9 @@ typedef struct Xsane
GtkWidget *filename_entry;
GtkWidget *filetype_option_menu;
+ /* for all modes */
+ GtkWidget *cms_function_option_menu;
+
/* saving and transformation values: */
FILE *out;
int xsane_mode;
@@ -816,22 +840,24 @@ typedef struct Xsane
GtkWidget *show_standard_options_widget;
GtkWidget *show_advanced_options_widget;
GtkWidget *show_resolution_list_widget;
- GtkObject *zoom_widget;
- GtkObject *gamma_widget;
- GtkObject *gamma_red_widget;
- GtkObject *gamma_green_widget;
- GtkObject *gamma_blue_widget;
- GtkObject *brightness_widget;
- GtkObject *brightness_red_widget;
- GtkObject *brightness_green_widget;
- GtkObject *brightness_blue_widget;
- GtkObject *contrast_widget;
- GtkObject *contrast_red_widget;
- GtkObject *contrast_green_widget;
- GtkObject *contrast_blue_widget;
- GtkObject *threshold_widget;
-
- SANE_Int xsane_colors;
+ GtkWidget *enable_color_management_widget;
+ GtkWidget *edit_medium_definition_widget;
+ GtkWidget *zoom_widget;
+ GtkWidget *gamma_widget;
+ GtkWidget *gamma_red_widget;
+ GtkWidget *gamma_green_widget;
+ GtkWidget *gamma_blue_widget;
+ GtkWidget *brightness_widget;
+ GtkWidget *brightness_red_widget;
+ GtkWidget *brightness_green_widget;
+ GtkWidget *brightness_blue_widget;
+ GtkWidget *contrast_widget;
+ GtkWidget *contrast_red_widget;
+ GtkWidget *contrast_green_widget;
+ GtkWidget *contrast_blue_widget;
+ GtkWidget *threshold_widget;
+
+ SANE_Int xsane_channels;
SANE_Bool scanner_gamma_color;
SANE_Bool scanner_gamma_gray;
@@ -945,10 +971,17 @@ typedef struct Xsane
int enhancement_rgb_default;
int negative;
int show_preview;
+
+ int enable_color_management;
+ char *scanner_active_icm_profile;
+ char *scanner_default_color_icm_profile;
+ char *scanner_default_gray_icm_profile;
+
int print_filenames;
int force_filename;
char *external_filename;
+
/* -------------------------------------------------- */
int ipc_pipefd[2]; /* for inter process communication error messages */
@@ -974,9 +1007,12 @@ typedef struct XsaneSetup
GtkWidget *printer_gamma_red_entry;
GtkWidget *printer_gamma_green_entry;
GtkWidget *printer_gamma_blue_entry;
+ GtkWidget *printer_icm_profile_entry;
+ GtkWidget *printer_embed_csa_button;
+ GtkWidget *printer_embed_crd_button;
GtkWidget *printer_width_entry;
GtkWidget *printer_height_entry;
- GtkWidget *printer_ps_flatdecoded_button;
+ GtkWidget *printer_ps_flatedecoded_button;
GtkWidget *jpeg_image_quality_scale;
GtkWidget *png_image_compression_scale;
@@ -985,8 +1021,8 @@ typedef struct XsaneSetup
GtkWidget *overwrite_warning_button;
GtkWidget *increase_filename_counter_button;
GtkWidget *skip_existing_numbers_button;
- GtkWidget *save_ps_flatdecoded_button;
- GtkWidget *save_pdf_flatdecoded_button;
+ GtkWidget *save_ps_flatedecoded_button;
+ GtkWidget *save_pdf_flatedecoded_button;
GtkWidget *save_pnm16_as_ascii_button;
GtkWidget *reduce_16bit_to_8bit_button;
@@ -1020,7 +1056,7 @@ typedef struct XsaneSetup
GtkWidget *fax_leftoffset_entry;
GtkWidget *fax_bottomoffset_entry;
GtkWidget *fax_height_entry;
- GtkWidget *fax_ps_flatdecoded_button;
+ GtkWidget *fax_ps_flatedecoded_button;
GtkWidget *tmp_path_entry;
@@ -1041,6 +1077,15 @@ typedef struct XsaneSetup
GtkWidget *ocr_gui_outfd_option_entry;
GtkWidget *ocr_progress_keyword_entry;
+ GtkWidget *cms_intent_option_menu;
+ GtkWidget *cms_bpc_button;
+ GtkWidget *embed_scanner_icm_profile_for_gimp_button;
+ GtkWidget *scanner_default_color_icm_profile_entry;
+ GtkWidget *scanner_default_gray_icm_profile_entry;
+ GtkWidget *display_icm_profile_entry;
+ GtkWidget *custom_proofing_icm_profile_entry;
+ GtkWidget *working_color_space_icm_profile_entry;
+
int filename_counter_len;
int tiff_compression16_nr;
diff --git a/src/xsaneopts.h b/src/xsaneopts.h
index 8dbd655..5e03f54 100644
--- a/src/xsaneopts.h
+++ b/src/xsaneopts.h
@@ -3,7 +3,7 @@
xsaneopts.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
diff --git a/xsane.ACCELKEYS b/xsane.ACCELKEYS
index 9a1706d..ee07415 100644
--- a/xsane.ACCELKEYS
+++ b/xsane.ACCELKEYS
@@ -12,6 +12,9 @@ H Menu Help
Ctl S Scanmode
Ctl C Copymode
Ctl F Faxmode
+Ctl V Viewermode
+Ctl M Multipagemode
+Ctl E Emailmode
Ctl ENTER Start Scan
ESC Cancel Scan
@@ -25,24 +28,24 @@ Ctl P Save Device Settings (Put)
Ctl G Load Device Settings (Get)
Ctl D Change Directory
-Ctl 1 Show Tooltips
-Ctl 2 Show preview
-Ctl 3 Show Histogram
+Ctl 1 Show preview
+Ctl 2 Show Histogram
Ctl 3 (Show Gamma Dialog)
-Ctl 4 Show Standard Options
-Ctl 5 Show Advanced Options
+Ctl 4 Show Batch Scan Window
+Ctl 5 Show Standard Options
+Ctl 6 Show Advanced Options
Ctl B Browse Filename
Shift Fi Printer selection in copy mode
-Shift B Bind RGB
-Shift N negative
-Shift E AutoEnhance
-Shift D Default
-Shift R Restore Settings
-Shift M Memory (store) settings
-Shift S Setup
+Ctl B Bind RGB
+Ctl N negative
+Ctl A AutoEnhance
+Ctl 0 (zero) Default
+Ctl R Restore Settings
+Ctl + Memory (store) settings
+Alt S Setup
Alt P Start Preview Scan
Alt ESC Cancel Preview Scan
diff --git a/xsane.BACKENDS b/xsane.BACKENDS
deleted file mode 100644
index 09be014..0000000
--- a/xsane.BACKENDS
+++ /dev/null
@@ -1,42 +0,0 @@
-The following backends are known to work with xsane
-
-backend version reported xsane-version remark
-=========================================================================================
- sane-artec 0.5 0.46
- sane-avision 0.2 0.49
- sane-canon ? 0.47
- sane-coolscan 0.42 0.50, 0.61
- sane-dll ok ok
- sane-epson sane-1.0.1, >=0.13 0.50
- sane-fujitsu ? ?
- sane-hp 0.83 0.50
- sane-m3096g 1.3 (sane-1.0.3) 0.60 (all?)
- sane-microtek ? ?
- sane-microtek2 0.8, pre0.9.020100 0.50 and earlier
- sane-mustek ? 0.48, 0.50
- sane-mustek_pp 0.6-alpha .. 0.9-devel 0.61
- sane-net ok ok
- sane-plustek 0.37 0.62?
- sane-pnm sane-1.0.1 0.52 and earlier
- sane-sharp ? 0.47
- sane-snapscan 0.57+ some problems
- sane-sp15c 1.3 (sane-1.0.3) 0.60 (all?)
- sane-tamarack ? 0.40
- sane-umax 1.0-build-* all
- sane-v4l2 ? 0.51 not in the sane package
-
-
-unknown state:
---------------
- sane-abaton
- sane-agfafocus
- sane-apple
- sane-dc210
- sane-dc25
- sane-dmc
- sane-pint
- sane-qcam
- sane-ricoh
- sane-st400
- sane-s9036
-
diff --git a/xsane.BUGS b/xsane.BUGS
index c924ed0..bf1093a 100644
--- a/xsane.BUGS
+++ b/xsane.BUGS
@@ -7,13 +7,6 @@
----------------------------------------------------------------------------------
-- xsane sometimes crashes at program startup with snapscan backend in panel_rebuild
- while destroying the widgets - reason unknown, may be solved by test if widget exists
-
- (this bug report is very old, I donĀ“t know if it is still valid)
-
-----------------------------------------------------------------------------------
-
If you have one of the problem above or any other problem please contact me and tell me:
- used xsane version
- cpu
diff --git a/xsane.CHANGES b/xsane.CHANGES
index e93c4ec..840e0d7 100644
--- a/xsane.CHANGES
+++ b/xsane.CHANGES
@@ -2562,7 +2562,7 @@ xsane-0.94 -> 0.95:
- before sending the mail pnm images are converted into png images
- after sending the mail the png images are erased
- mail project status is translated now
- - BUFIX: end of email text is marked with 0 byte
+ - BUGFIX: end of email text is marked with 0 byte
- added function xsane_viewer_set_sensitivity()
- moved all gtk_widget_set_sensitive(GTK_WIDGET(v->button_box), TRUE/FALSE); to it
@@ -2869,3 +2869,82 @@ xsane-0.99 -> 0.991:
(before the scanresolution was used to define the image output size)
- the resolution is not changed any more when an other printer with a
different printer resolution is selected
+ - replaced all char buf[255], char buf[256] etc by char buf[TEXTBUFSIZE]
+
+xsane-0.991 -> 0.992:
+---------------------
+ - there was still a bug concerning the gimp plugin
+ when xsane has been quit in copy mode and afterwards
+ started as gimp plugin then xsane used the printer paper
+ size in the preview window. This is solved now:
+ replaced preferences.xsane_mode by xsane.xsane_mode
+ in xsane_define_maximum_output_size()
+
+ - xsane_save_scaled_image sometimes did not write the last line
+ and produced a tuncated image. this is corrected now
+
+ - viewer: when saved image is cloned and the viewer of the cloned
+ image is closed then no dialog pops up any more
+
+ - translations: U=updated, N=not updated, A=added/new
+ ca cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh zh_CN
+ A N N N N N N U N N N N N N N N N N N N N N A
+ 99299 99 99 96 95 99 95 99 99 96 96 96 99 98 99 76 92 99 96 96 992
+
+ - xsane-preview.c: preview_create_batch_icon():
+ bugfix: files (in) are closed directly after use now,
+ bug report from Norman Hill - thanks
+
+ - corrected order of filetypes in xsane_back_gtk_filetype_menu_set_history, now
+ the filetype are not mixed any more when the disk icon is pressed
+
+ - replaced all "\n" by "\r\n" in email
+
+ - corrected some signdness warnings in xsane-preview.c (buf)
+
+ - fixed memory bug that caused crash when setup was closed (display_notebook):
+ added strdup to preferences.browser = strdup(getenv(STRINGIFY(ENVIRONMENT_BROWSER_NAME)));
+
+ - added command line option --xsane-rc / -r to change give alternative filename for xsane.rc
+
+ - added support for color management:
+ - added tab "color management" to setup/preferences
+ - preview can display ICC/ICM corrected images with 8bits/color and with 16bits/color input bit depth
+ - viewer can display ICC/ICM corrected images with 8bits/color and with 16bits/color input bit depth
+ - gamma correction and medium selection is disabled when color management is enabled
+ - added support for embedded ICC/ICM files for
+ - tiff
+ - jpeg
+ - png
+ - gimp plugin
+
+ - replaced several GtkObject* by GtkWidget* to avoid type-punned-pointer warning
+
+ - replaced several (void**) typecasts in xsane-rc-io.c to avoid type-punned-pointer warning
+
+xsane-0.992 -> 0.993:
+---------------------
+
+ - removed proofing intent options saturation and perceptual, only relative and absolutle colorimetric are available now
+
+ - added CMS transformation to saving routines: pnm(8bit), pnm(16bit ascii and binary), png, jpeg, tiff, gimp-plugin, ps, pdf
+ (missing routines: multipage)
+
+ - added support for gtk_file_chooser_dialog
+ all filenames are handled as full paths (beginning with a slahs) now,
+ the "change working directory" option has been removed
+
+ - made "CANCEL" and "OK" button positions the same as gimp uses it (CANCEL=left, OK=right)
+
+ - added browse function for projects directories
+
+ - removed bugs in mail mode:
+ write(fd, "\r\n\r\n", 2) -> write(fd, "\r\n\r\n", 4)
+ write(fd, "\r\n", 1) -> write(fd, "\r\n", 2)
+
+ - added embedded ICC profiles for postscript (CSA+CRD) and pdf
+
+ - added 12 bits/channel support for postscript
+
+ - added flatedecode without Asci85 compression for PDF
+
diff --git a/xsane.TODO b/xsane.TODO
index 8098275..f8913e7 100644
--- a/xsane.TODO
+++ b/xsane.TODO
@@ -12,6 +12,7 @@ Sign explaination:
save-function:
- list of last used filenames
- enable filters in save mode?
+ - ps needs a boundingbox, not only a pageboundingbox
multipage-project:
- reduce to lineart
@@ -25,6 +26,7 @@ Sign explaination:
scan-routines:
# allow additional image data after each row (is sane standard conform)
+ - make visible if the user did a final scan with the recent settings
fax-function:
@@ -49,10 +51,6 @@ Sign explaination:
- correct gtk custom gamma functions and include it
or better: write an own gamma curve widget
- medium selection:
- - medium definition in dependance of the scanner (?)
- (I am not sure if this makes sense with color managemant)
-
medium definition:
# make grayscale values do not influence color values
@@ -73,7 +71,6 @@ Sign explaination:
# test if image file is writable before scan is started
+ cleanup of configuration file handling
(problem with old config files should already be solved)
- + add color management - may be via xcmsdb or scarse (www.scarse.org)
+ add several defaults (fax=> mode=gray, ocr=> mode=gray, ...)
+ test memory after each call of malloc - partly done
- average of a multiple scan of the same image ???
@@ -84,6 +81,7 @@ Sign explaination:
? project save/load with preview image, scanmode, .... ???
+
include special functions for GNOME/KDE
- drag and drop for preview or viewer image?
- other drag and drop functions?
diff --git a/xsane.spec b/xsane.spec
index 506a206..31b9098 100644
--- a/xsane.spec
+++ b/xsane.spec
@@ -1,5 +1,5 @@
%define name xsane
-%define version 0.991
+%define version 0.993
%define release 1
%define prefix /usr