]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Merge changes from CUPS 1.4svn-r8329.
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Wed, 4 Feb 2009 04:27:58 +0000 (04:27 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Wed, 4 Feb 2009 04:27:58 +0000 (04:27 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1182 a1ca3aef-8c08-0410-bb20-df032aa958be

56 files changed:
CHANGES.txt
backend/snmp-supplies.c
cgi-bin/ipp-var.c
conf/cupsd.conf.in
config-scripts/cups-common.m4
config-scripts/cups-compiler.m4
config-scripts/cups-defaults.m4
cups/dest.c
cups/ppd.c
cups/request.c
cups/string.c
cups/string.h
doc/es/index.html.in
doc/help/api-array.html
doc/help/api-cups.html
doc/help/api-filedir.html
doc/help/api-filter.html
doc/help/api-httpipp.html
doc/help/api-overview.html
doc/help/api-ppd.html
doc/help/api-raster.html
doc/help/postscript-driver.html
doc/help/ppd-compiler.html
doc/help/raster-driver.html
doc/help/spec-banner.html
doc/help/spec-browsing.html
doc/help/spec-cmp.html
doc/help/spec-command.html
doc/help/spec-design.html
doc/help/spec-ipp.html
doc/help/spec-pdf.html
doc/help/spec-postscript.html
doc/help/spec-ppd.html
doc/help/spec-raster.html
doc/help/spec-stp.html
doc/index.html.in
locale/Dependencies
locale/cups.pot
locale/cups_es.po
locale/po2strings.c
man/mantohtml.c
packaging/cups.spec.in
ppdc/ppdc-source.cxx
scheduler/classes.c
scheduler/client.c
scheduler/dirsvc.c
scheduler/ipp.c
scheduler/job.c
scheduler/main.c
scheduler/printers.c
standards/rfctohtml.c
templates/es/header.tmpl.in
templates/es/help-printable.tmpl
templates/header.tmpl.in
templates/help-printable.tmpl
templates/job-moved.tmpl

index e5318137d86b74acda7da93601b6bde0c9c5cd6d..da915692f34dad2f87859c522f994e20f52aa31a 100644 (file)
@@ -1,9 +1,29 @@
-CHANGES.txt - 2009-01-28
+CHANGES.txt - 2009-02-03
 ------------------------
 
 CHANGES IN CUPS V1.4b3
 
        - Documentation fixes (STR #3044, STR #3057)
+       - The scheduler did not redo Bonjour/DNS-SD registrations when updating
+         them failed.
+       - The "authenticated" policy incorrectly required authentication for
+         status operations.
+       - ppdOpen*() incorrectly loaded PPDs with multiple JobPatchFile
+         keywords.
+       - The network backends no longer report the SNMP "offline" status bit
+         since some printers report this status when the printer is busy
+         printing, warming up, etc.
+       - The scheduler no longer logs child processes killed via SIGKILL as
+         "crashed".
+       - The printer link shown on the "job moved" template was bad (STR #3085)
+       - Updated the HTML templates to use the HTML 4.01 DOCTYPE (STR #3086)
+       - The scheduler did not track the "paused" reason properly if a
+         printer had other reasons associated with it.
+       - cupsSendRequest() did not clear old local certificate auth data.
+       - The PPD compiler did not search for localization files properly
+         (STR #3084)
+       - cupsGetNamedDest() did not use the fallback default like
+         cupsGetDests*() (STR #3082)
        - The scheduler now provides a LogTimeFormat directive to enable
          microseconds in the date and time that are logged.
        - The scheduler now provides a MultipleOperationTimeout directive to
index 009c00602f780c65377e9888ac806898e99816e0..50e363ed00e530f6308d1201938a55f151574460 100644 (file)
@@ -39,7 +39,7 @@
  * Local structures...
  */
 
-typedef struct
+typedef struct                         /**** Printer supply data ****/
 {
   char name[CUPS_SNMP_MAX_STRING],     /* Name of supply */
        color[8];                       /* Color: "#RRGGBB" or "none" */
@@ -49,12 +49,20 @@ typedef struct
        level;                          /* Current level value */
 } backend_supplies_t;
 
+typedef struct                         /**** Printer state table ****/
+{
+  int          bit;                    /* State bit */
+  const char   *keyword;               /* IPP printer-state-reasons keyword */
+} backend_state_t;
+
 
 /*
  * Local globals...
  */
 
 static http_addr_t     current_addr;   /* Current address */
+static int             current_state = -1;
+                                       /* Current device state bits */
 static int             num_supplies = 0;
                                        /* Number of supplies found */
 static backend_supplies_t supplies[CUPS_MAX_SUPPLIES];
@@ -118,6 +126,23 @@ static const int   prtMarkerSuppliesType[] =
                         sizeof(prtMarkerSuppliesType[0]));
                                        /* Offset to supply index */
 
+static const backend_state_t const printer_states[] =
+                       {
+                         { CUPS_TC_lowPaper, "media-low-report" },
+                         { CUPS_TC_noPaper | CUPS_TC_inputTrayEmpty, "media-empty-warning" },
+                         { CUPS_TC_lowToner, "toner-low-report" },
+                         { CUPS_TC_noToner, "toner-empty-warning" },
+                         { CUPS_TC_doorOpen, "door-open-report" },
+                         { CUPS_TC_jammed, "media-jam-warning" },
+                         /* { CUPS_TC_offline, "offline-report" }, */ /* unreliable */
+                         { CUPS_TC_serviceRequested | CUPS_TC_overduePreventMaint, "service-needed-warning" },
+                         { CUPS_TC_inputTrayMissing, "input-tray-missing-warning" },
+                         { CUPS_TC_outputTrayMissing, "output-tray-missing-warning" },
+                         { CUPS_TC_markerSupplyMissing, "marker-supply-missing-warning" },
+                         { CUPS_TC_outputNearFull, "output-area-almost-full-report" },
+                         { CUPS_TC_outputFull, "output-area-full-warning" }
+                       };
+
 
 /*
  * Local functions...
@@ -153,12 +178,14 @@ backendSNMPSupplies(
 
   if (num_supplies > 0)
   {
-    int                i;                      /* Looping var */
+    int                i,                      /* Looping var */
+               new_state,              /* New state value */
+               change_state;           /* State change */
     char       value[CUPS_MAX_SUPPLIES * 4],
                                        /* marker-levels value string */
                *ptr;                   /* Pointer into value string */
     cups_snmp_t        packet;                 /* SNMP response packet */
-
+      
 
    /*
     * Generate the marker-levels value string...
@@ -190,73 +217,23 @@ backendSNMPSupplies(
         packet.object_type != CUPS_ASN1_OCTET_STRING)
       return (-1);
 
-    i = (packet.object_value.string.bytes[0] << 8) |
-        packet.object_value.string.bytes[1];
-
-    if (i & CUPS_TC_lowPaper)
-      fputs("STATE: +media-low-report\n", stderr);
-    else
-      fputs("STATE: -media-low-report\n", stderr);
-
-    if (i & (CUPS_TC_noPaper | CUPS_TC_inputTrayEmpty))
-      fputs("STATE: +media-empty-warning\n", stderr);
-    else
-      fputs("STATE: -media-empty-warning\n", stderr);
-
-    if (i & CUPS_TC_lowToner)
-      fputs("STATE: +toner-low-report\n", stderr);
-    else
-      fputs("STATE: -toner-low-report\n", stderr);
-
-    if (i & CUPS_TC_noToner)
-      fputs("STATE: +toner-empty-warning\n", stderr);
-    else
-      fputs("STATE: -toner-empty-warning\n", stderr);
-
-    if (i & CUPS_TC_doorOpen)
-      fputs("STATE: +door-open-report\n", stderr);
-    else
-      fputs("STATE: -door-open-report\n", stderr);
-
-    if (i & CUPS_TC_jammed)
-      fputs("STATE: +media-jam-warning\n", stderr);
-    else
-      fputs("STATE: -media-jam-warning\n", stderr);
+    new_state = (packet.object_value.string.bytes[0] << 8) |
+               packet.object_value.string.bytes[1];
 
-    if (i & CUPS_TC_offline)
-      fputs("STATE: +offline-report\n", stderr);
+    if (current_state < 0)
+      change_state = 0xffff;
     else
-      fputs("STATE: -offline-report\n", stderr);
+      change_state = current_state ^ new_state;
 
-    if (i & (CUPS_TC_serviceRequested | CUPS_TC_overduePreventMaint))
-      fputs("STATE: +service-needed-warning\n", stderr);
-    else
-      fputs("STATE: -service-needed-warning\n", stderr);
+    for (i = 0;
+         i < (int)(sizeof(printer_states) / sizeof(printer_states[0]));
+         i ++)
+      if (change_state & printer_states[i].bit)
+       fprintf(stderr, "STATE: %c%s\n",
+               (new_state & printer_states[i].bit) ? '+' : '-',
+               printer_states[i].keyword);
 
-    if (i & CUPS_TC_inputTrayMissing)
-      fputs("STATE: +input-tray-missing-warning\n", stderr);
-    else
-      fputs("STATE: -input-tray-missing-warning\n", stderr);
-
-    if (i & CUPS_TC_outputTrayMissing)
-      fputs("STATE: +output-tray-missing-warning\n", stderr);
-    else
-      fputs("STATE: -output-tray-missing-warning\n", stderr);
-
-    if (i & CUPS_TC_markerSupplyMissing)
-      fputs("STATE: +marker-supply-missing-warning\n", stderr);
-    else
-      fputs("STATE: -marker-supply-missing-warning\n", stderr);
-
-    if (i & CUPS_TC_outputNearFull)
-      fputs("STATE: +output-area-almost-full-report\n", stderr);
-    else
-      fputs("STATE: -output-area-almost-full-report\n", stderr);
-
-    if (i & CUPS_TC_outputFull)
-      fputs("STATE: +output-area-full-warning\n", stderr);
-    else
-      fputs("STATE: -output-area-full-warning\n", stderr);
+    current_state = new_state;
 
    /*
     * Get the current printer state...
@@ -368,8 +345,9 @@ backend_init_supplies(
   * Reset state information...
   */
 
-  current_addr = *addr;
-  num_supplies = -1;
+  current_addr  = *addr;
+  current_state = -1;
+  num_supplies  = -1;
 
   memset(supplies, 0, sizeof(supplies));
 
index 842268b672daf471fd5923c16fdddf49342a3150..fd1b5be1b052eb8dedd08c001e4d1f20c061b5c0 100644 (file)
@@ -477,7 +477,10 @@ cgiMoveJobs(http_t     *http,              /* I - Connection to server */
     {
       const char *path = strstr(job_printer_uri, "/printers/");
       if (!path)
+      {
         path = strstr(job_printer_uri, "/classes/");
+        cgiSetVariable("IS_CLASS", "YES");
+      }
 
       if (path)
       {
index 3e17f3f435f8b1eef3445181a86980c9066719bc..2db7135766462fa8a9a84225764ecc05f47fa86d 100644 (file)
@@ -114,7 +114,6 @@ DefaultAuthType Basic
   </Limit>
 
   <Limit All>
-    AuthType Default
     Order deny,allow
   </Limit>
 </Policy>
index 042145f0fa05fe591c07321acceea22e693d9eba..8fcc1fb85ebb7ab9f4c7647a0e3808783eaa5a14 100644 (file)
@@ -3,7 +3,7 @@ dnl "$Id: cups-common.m4 7900 2008-09-03 13:47:57Z mike $"
 dnl
 dnl   Common configuration stuff for the Common UNIX Printing System (CUPS).
 dnl
-dnl   Copyright 2007-2008 by Apple Inc.
+dnl   Copyright 2007-2009 by Apple Inc.
 dnl   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -20,7 +20,7 @@ dnl Set the name of the config header file...
 AC_CONFIG_HEADER(config.h)
 
 dnl Version number information...
-CUPS_VERSION="1.4b2"
+CUPS_VERSION="1.4b3"
 CUPS_REVISION=""
 #if test -z "$CUPS_REVISION" -a -d .svn; then
 #      CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
index 0f6b01de29f3ee0c510e2be58c3becea84fcdd4a..c33d9a5e20d0f75fe08a25447d0ada4a85d964ce 100644 (file)
@@ -3,7 +3,7 @@ dnl "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $"
 dnl
 dnl   Compiler stuff for the Common UNIX Printing System (CUPS).
 dnl
-dnl   Copyright 2007-2008 by Apple Inc.
+dnl   Copyright 2007-2009 by Apple Inc.
 dnl   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -22,6 +22,7 @@ AC_SUBST(OPTIM)
 
 AC_ARG_WITH(optim, [  --with-optim="flags"    set optimization flags ])
 AC_ARG_ENABLE(debug, [  --enable-debug          turn on debugging, default=no])
+AC_ARG_ENABLE(debug_guards, [  --enable-debug-guards   turn on debug guards, default=no])
 AC_ARG_ENABLE(debug_printfs, [  --enable-debug-printfs  turn on debug printfs, default=no])
 AC_ARG_ENABLE(unit_tests, [  --enable-unit-tests     turn on unit tests, default=no])
 
@@ -37,6 +38,12 @@ if test x$enable_debug_printfs = xyes; then
        CFLAGS="$CFLAGS -DDEBUG"
 fi
 
+dnl Debug guards use an extra 4 bytes for some structures like strings in the
+dnl string pool, so provide a separate option for that
+if test x$enable_debug_guards = xyes; then
+       CFLAGS="$CFLAGS -DDEBUG_GUARDS"
+fi
+
 dnl Unit tests take up time during a compile...
 if test x$enable_unit_tests = xyes; then
        UNITTESTS="unittests"
index 023f13cc0e415a16220176217154b62970d66680..a0c365ad310deb0dce048492c72df6aba64a54eb 100644 (file)
@@ -28,7 +28,11 @@ AC_SUBST(LANGUAGES)
 dnl Default ConfigFilePerm
 AC_ARG_WITH(config_file_perm, [  --with-config-file-perm set default ConfigFilePerm value, default=0640],
        CUPS_CONFIG_FILE_PERM="$withval",
-       CUPS_CONFIG_FILE_PERM="640")
+       if test "x$uname" = xDarwin; then
+               CUPS_CONFIG_FILE_PERM="644"
+       else
+               CUPS_CONFIG_FILE_PERM="640"
+       fi)
 AC_SUBST(CUPS_CONFIG_FILE_PERM)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_CONFIG_FILE_PERM, 0$CUPS_CONFIG_FILE_PERM)
 
index f2dde4ddab5b2ef187562dd4f8d0a8eea7397473..4ee574e52dd14a8ac6237af90e66e37376e3b775 100644 (file)
@@ -4,7 +4,7 @@
  *   User-defined destination (and option) support for the Common UNIX
  *   Printing System (CUPS).
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2009 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -555,7 +555,18 @@ cupsGetNamedDest(http_t     *http, /* I - Connection to server or @code CUPS_HTT
   */
 
   if (!cups_get_sdests(http, op, name, 0, &dest))
-    return (NULL);
+  {
+    if (op == CUPS_GET_DEFAULT)
+      return (NULL);
+
+   /*
+    * The default printer from environment variables or from a
+    * configuration file does not exist.  Find out the real default.
+    */
+
+    if (!cups_get_sdests(http, CUPS_GET_DEFAULT, name, 0, &dest))
+      return (NULL);
+  }
 
   if (instance)
     dest->instance = _cupsStrAlloc(instance);
index bdb0f2ddc0971de8d7864c66d26ecebf3db536d3..c42d36d48f5cfb8008e48bfb7fc6eee7e06e76be 100644 (file)
@@ -161,7 +161,8 @@ ppdClose(ppd_file_t *ppd)           /* I - PPD file record */
 
   _cupsStrFree(ppd->lang_encoding);
   _cupsStrFree(ppd->nickname);
-  _cupsStrFree(ppd->patches);
+  if (ppd->patches)
+    free(ppd->patches);
   _cupsStrFree(ppd->jcl_begin);
   _cupsStrFree(ppd->jcl_end);
   _cupsStrFree(ppd->jcl_ps);
@@ -1174,7 +1175,7 @@ ppdOpen2(cups_file_t *fp)         /* I - File to read from */
     else if (!strcmp(keyword, "JobPatchFile"))
     {
       if (ppd->patches == NULL)
-        ppd->patches = _cupsStrAlloc(string);
+        ppd->patches = strdup(string);
       else
       {
         temp = realloc(ppd->patches, strlen(ppd->patches) +
index 5169267299b2069248e191477b3f605a62d4a793..21387fdee911c2f9b214becf66eb34e1dcc3bca7 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   IPP utilities for the Common UNIX Printing System (CUPS).
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2009 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -591,6 +591,13 @@ cupsSendRequest(http_t     *http,  /* I - Connection to server or @code CUPS_HTTP
       return (HTTP_SERVICE_UNAVAILABLE);
     }
 
+ /*
+  * Clear any "Local" authentication data since it is probably stale...
+  */
+
+  if (http->authstring && !strncmp(http->authstring, "Local ", 6))
+    httpSetAuthString(http, NULL, NULL);
+
  /*
   * Loop until we can send the request without authorization problems.
   */
index 632b2cc5bcee232641bb0b813e884ea974bc51ed..9b185f9cbb765f89a4a3830271f4b4ae64ee5fba 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   String functions for the Common UNIX Printing System (CUPS).
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2009 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -37,6 +37,7 @@
  */
 
 #include <stdlib.h>
+#include <stddef.h>
 #include <limits.h>
 #include "array.h"
 #include "debug.h"
@@ -107,7 +108,7 @@ _cupsStrAlloc(const char *s)                /* I - String */
   * See if the string is already in the pool...
   */
 
-  key = (_cups_sp_item_t *)(s - sizeof(unsigned int));
+  key = (_cups_sp_item_t *)(s - offsetof(_cups_sp_item_t, str));
 
   if ((item = (_cups_sp_item_t *)cupsArrayFind(stringpool, key)) != NULL)
   {
@@ -117,6 +118,15 @@ _cupsStrAlloc(const char *s)               /* I - String */
 
     item->ref_count ++;
 
+#ifdef DEBUG_GUARDS
+    DEBUG_printf(("_cupsStrAlloc: Using string %p(%s) for \"%s\", guard=%08x, "
+                  "ref_count=%d\n", item, item->str, s, item->guard,
+                 item->ref_count));
+
+    if (item->guard != _CUPS_STR_GUARD)
+      abort();
+#endif /* DEBUG_GUARDS */
+
 #ifdef HAVE_PTHREAD_H
     pthread_mutex_unlock(&sp_mutex);
 #endif /* HAVE_PTHREAD_H */
@@ -141,6 +151,14 @@ _cupsStrAlloc(const char *s)               /* I - String */
   item->ref_count = 1;
   strcpy(item->str, s);
 
+#ifdef DEBUG_GUARDS
+  item->guard = _CUPS_STR_GUARD;
+
+  DEBUG_printf(("_cupsStrAlloc: Created string %p(%s) for \"%s\", guard=%08x, "
+               "ref_count=%d\n", item, item->str, s, item->guard,
+               item->ref_count));
+#endif /* DEBUG_GUARDS */
+
  /*
   * Add the string to the pool and return it...
   */
@@ -303,7 +321,16 @@ _cupsStrFree(const char *s)                /* I - String to free */
   pthread_mutex_lock(&sp_mutex);
 #endif /* HAVE_PTHREAD_H */
 
-  key = (_cups_sp_item_t *)(s - sizeof(unsigned int));
+  key = (_cups_sp_item_t *)(s - offsetof(_cups_sp_item_t, str));
+
+#ifdef DEBUG_GUARDS
+  if (key->guard != _CUPS_STR_GUARD)
+  {
+    DEBUG_printf(("_cupsStrFree: Freeing string %p(%s), guard=%08x, "
+                  "ref_count=%d\n", key, key->str, key->guard, key->ref_count));
+    abort();
+  }
+#endif /* DEBUG_GUARDS */
 
   if ((item = (_cups_sp_item_t *)cupsArrayFind(stringpool, key)) != NULL &&
       item == key)
@@ -348,7 +375,16 @@ _cupsStrRetain(char *s)                    /* I - String to retain */
 
   if (s)
   {
-    item = (_cups_sp_item_t *)(s - sizeof(unsigned int));
+    item = (_cups_sp_item_t *)(s - offsetof(_cups_sp_item_t, str));
+
+#ifdef DEBUG_GUARDS
+    if (item->guard != _CUPS_STR_GUARD)
+    {
+      DEBUG_printf(("_cupsStrRetain: Retaining string %p(%s), guard=%08x, "
+                    "ref_count=%d\n", item, s, item->guard, item->ref_count));
+      abort();
+    }
+#endif /* DEBUG_GUARDS */
 
 #ifdef HAVE_PTHREAD_H
     pthread_mutex_lock(&sp_mutex);
index e9a44ee8c3b8832d3304229d29ea647301538615..99e3d5855e7db562671c3cd66d817a3664aed9cc 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   String definitions for the Common UNIX Printing System (CUPS).
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2009 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -66,8 +66,13 @@ extern "C" {
  * String pool structures...
  */
 
+#  define _CUPS_STR_GUARD      0x12344321
+
 typedef struct _cups_sp_item_s         /**** String Pool Item ****/
 {
+#  ifdef DEBUG_GUARDS
+  unsigned int guard;                  /* Guard word */
+#  endif /* DEBUG_GUARDS */
   unsigned int ref_count;              /* Reference count */
   char         str[1];                 /* String */
 } _cups_sp_item_t;
index 8695f1d68f0bf40780d2a8a2fd7d3f5167933901..b2c038b6c472b7c96bd3d7058be9b21e501d5d49 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
index 1916f3d59527444dee5f90780312cb1569d2ea3f..d05a656f86c9d587410ca7eb5f48decc6dbeed25 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index ca5d353b4a6c8839f2e1941b1d3b01baa577fb80..3d4bfb10c835583c4693235d61e4f797e69cf607 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index 9d00a98eb5718255d5101b3f7442fb6c8c550be3..13ab31f75a01e8f925bfd5e5b9e8cce749fc0eb9 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index 2202c4f7b9c9bff8c7aa6f72198251bf88340dfd..54ae977f53d3f89b865b6c494c8d06523c5c387b 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index e120400f6e85e9d4a4f6e95a11f3421bc58c7395..899fe8cde094494f1aac341860c817489477f08b 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index 4c201d3d1123b902edfa6bdd431b94d84fadc4ee..4bf8c54668d90713196444e5842f22d182dd6b84 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index 98b81f3e4002f1391a0bce4a863a433a8c346fb5..263e91b0d915cc24e4d0274605d52e3f92b5a0c1 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index 21efaa5d9245ef89157484b54ddf649b41877e88..103263a48c81bd52da2029e976521a7dd835b246 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index 295cf83c99b1455f1366ef6d83a47ade6f3757de..7a4579503782e05f4dd02fa6f063e25e0839576e 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index 86d06c23510cf1c748eab7ac33888f633b5ad719..134bbf15a150945607834b78fc53d72af80bb99f 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index 993255c08deec91bb73d9e942e7ebde94faa6186..3accf36d77b870e5bff11e6e3ea61af4ee6edd78 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Programming -->
 <head>
index 818cf67eca8f85737a031dccc8f2d61c89d1aff5..1c16700bea13a0213548053389b432251ebfd5f9 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Specifications -->
 <head>
index 05e53421259e32a1e6d8d9fc3fff07b825eaa5fc..12d3087f2cc906e5daf45ef91bcd78e7e90b0c10 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Specifications -->
 <head>
index 5689845d49b75c78fbcc327ecdd5a879874be5b3..415c194cf3cc8072ee71fc6faf1d10f17092eac2 100644 (file)
@@ -1,3 +1,4 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <!-- SECTION: Specifications -->
 <HEAD>
index 3e48f9f188a114c0570f99de1a9ced1bfe4d1200..232e8a7b5dc65c147deab6623a228fcabd6afdc5 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Specifications -->
 <head>
index 00b7b46dd59a9baada6bc0c03311faf48414027a..ba98794ab73dd14a2045c32af982e4d02c232d8a 100644 (file)
@@ -1,3 +1,4 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <!-- SECTION: Specifications -->
 <HEAD>
index 70a30319b478b511fb8765e7649a513f8e0db756..1949551c87dd6a6d840f358945eb5a983265ab72 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Specifications -->
 <head>
index 862eb0cb6ab730b6e6cb18498be91d75b27a5ff0..bb7164472432b641bc3e38b473ddd90698e4b89f 100644 (file)
@@ -1,3 +1,4 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <!-- SECTION: Specifications -->
 <HEAD>
index 1bb3cd67a98dd906b2cb56c4c056fcf3404bf5c7..461e225f8feecbc0c3f6c90242302557d08d391b 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Specifications -->
 <head>
index 27301f5b0205634f432c5f98477e85fa1ef7e5a0..1fc0560130b3aad79359968c1fa77c994dd993b2 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <!-- SECTION: Specifications -->
 <head>
index a0d6b895fee0c8d2b96ff4c80fad498fc233f22b..79a93a4c5bf0d5fd9d8b884d917941916f89623b 100644 (file)
@@ -1,3 +1,4 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <!-- SECTION: Specifications -->
 <HEAD>
index 5884690c2bdea6138da90ee55fbfbcec46b4e5d7..fd46937f8f8038414a6dd5a78c0b46b9c17adb43 100644 (file)
@@ -1,3 +1,4 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <!-- SECTION: Specifications -->
 <HEAD>
index 13376fb3a91b689476811b4fa5ffa59bf292e7e4..7173e640d087b8bc0f70e4c53b5b7f9c7164652d 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
index 8541e9d26419fe4ef80a579d04290a5654b9b1c6..79f710893c6c0a3ef9b7e29ea1bc86de172b41c6 100644 (file)
@@ -3,7 +3,8 @@
 checkpo.o: ../cups/string.h ../config.h ../cups/i18n.h ../cups/transcode.h
 checkpo.o: ../cups/language.h ../cups/array.h ../cups/versioning.h
 po2strings.o: ../cups/i18n.h ../cups/transcode.h ../cups/language.h
-po2strings.o: ../cups/array.h ../cups/versioning.h
+po2strings.o: ../cups/array.h ../cups/versioning.h ../cups/string.h
+po2strings.o: ../config.h
 translate.o: ../cups/string.h ../config.h ../cups/file.h ../cups/versioning.h
 translate.o: ../cups/http.h ../cups/i18n.h ../cups/transcode.h
 translate.o: ../cups/language.h ../cups/array.h
index 2078af107a6e24ada4c7fcd2ad8f9b64ec7c5ca3..394b9ec55585f59ef392bd5adab68f9f1d8748ba 100644 (file)
@@ -32,7 +32,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2008-12-15 09:29-0800\n"
+"POT-Creation-Date: 2009-01-30 09:28-0800\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"
@@ -987,7 +987,7 @@ msgstr ""
 msgid "%s accepting requests since %s\n"
 msgstr ""
 
-#: scheduler/ipp.c:10384
+#: scheduler/ipp.c:10466
 #, c-format
 msgid "%s cannot be changed."
 msgstr ""
@@ -1019,7 +1019,7 @@ msgid ""
 "\t%s\n"
 msgstr ""
 
-#: scheduler/ipp.c:677
+#: scheduler/ipp.c:689
 #, c-format
 msgid "%s not supported!"
 msgstr ""
@@ -2171,20 +2171,20 @@ msgstr ""
 msgid "?Invalid help command unknown\n"
 msgstr ""
 
-#: cgi-bin/admin.c:2317
+#: cgi-bin/admin.c:2331
 msgid "A Samba password is required to export printer drivers!"
 msgstr ""
 
-#: cgi-bin/admin.c:2313
+#: cgi-bin/admin.c:2327
 msgid "A Samba username is required to export printer drivers!"
 msgstr ""
 
-#: scheduler/ipp.c:2361
+#: scheduler/ipp.c:2378
 #, c-format
 msgid "A class named \"%s\" already exists!"
 msgstr ""
 
-#: scheduler/ipp.c:984
+#: scheduler/ipp.c:1001
 #, c-format
 msgid "A printer named \"%s\" already exists!"
 msgstr ""
@@ -2293,7 +2293,7 @@ msgstr ""
 msgid "Accept Jobs"
 msgstr ""
 
-#: cups/http-support.c:1188
+#: cups/http-support.c:1194
 msgid "Accepted"
 msgstr ""
 
@@ -2318,7 +2318,7 @@ msgstr ""
 msgid "Address - 1 1/8 x 3 1/2\""
 msgstr ""
 
-#: cgi-bin/admin.c:187 cgi-bin/admin.c:218 cgi-bin/admin.c:2735
+#: cgi-bin/admin.c:187 cgi-bin/admin.c:218 cgi-bin/admin.c:2749
 msgid "Administration"
 msgstr ""
 
@@ -2334,12 +2334,12 @@ msgstr ""
 msgid "Applicator"
 msgstr ""
 
-#: scheduler/ipp.c:1106
+#: scheduler/ipp.c:1123
 #, c-format
 msgid "Attempt to set %s printer-state to bad value %d!"
 msgstr ""
 
-#: scheduler/ipp.c:327
+#: scheduler/ipp.c:331
 #, c-format
 msgid "Attribute groups are out of order (%x < %x)!"
 msgstr ""
@@ -2388,7 +2388,7 @@ msgstr ""
 msgid "B9"
 msgstr ""
 
-#: cups/dest.c:316
+#: cups/dest.c:317
 msgid "Bad NULL dests pointer"
 msgstr ""
 
@@ -2404,7 +2404,7 @@ msgstr ""
 msgid "Bad OrderDependency"
 msgstr ""
 
-#: cups/http-support.c:1203
+#: cups/http-support.c:1209
 msgid "Bad Request"
 msgstr ""
 
@@ -2416,7 +2416,7 @@ msgstr ""
 msgid "Bad UIConstraints"
 msgstr ""
 
-#: scheduler/ipp.c:1406
+#: scheduler/ipp.c:1423
 #, c-format
 msgid "Bad copies value %d."
 msgstr ""
@@ -2425,22 +2425,22 @@ msgstr ""
 msgid "Bad custom parameter"
 msgstr ""
 
-#: cups/http-support.c:1327
+#: cups/http-support.c:1333
 #, c-format
 msgid "Bad device URI \"%s\"!\n"
 msgstr ""
 
-#: scheduler/ipp.c:2479
+#: scheduler/ipp.c:2496
 #, c-format
 msgid "Bad device-uri \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:2519
+#: scheduler/ipp.c:2536
 #, c-format
 msgid "Bad device-uri scheme \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:9805 scheduler/ipp.c:11197
+#: scheduler/ipp.c:9887 scheduler/ipp.c:11362
 #, c-format
 msgid "Bad document-format \"%s\"!"
 msgstr ""
@@ -2454,42 +2454,42 @@ msgstr ""
 msgid "Bad font attribute: %s\n"
 msgstr ""
 
-#: scheduler/ipp.c:10400
+#: scheduler/ipp.c:10482
 msgid "Bad job-priority value!"
 msgstr ""
 
-#: scheduler/ipp.c:1436
+#: scheduler/ipp.c:1453
 #, c-format
 msgid "Bad job-sheets value \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:1420
+#: scheduler/ipp.c:1437
 msgid "Bad job-sheets value type!"
 msgstr ""
 
-#: scheduler/ipp.c:10430
+#: scheduler/ipp.c:10512
 msgid "Bad job-state value!"
 msgstr ""
 
-#: scheduler/ipp.c:3641 scheduler/ipp.c:4002 scheduler/ipp.c:6602
-#: scheduler/ipp.c:6744 scheduler/ipp.c:7952 scheduler/ipp.c:8233
-#: scheduler/ipp.c:9076 scheduler/ipp.c:9301 scheduler/ipp.c:9718
-#: scheduler/ipp.c:10293
+#: scheduler/ipp.c:3656 scheduler/ipp.c:4017 scheduler/ipp.c:6622
+#: scheduler/ipp.c:6764 scheduler/ipp.c:8034 scheduler/ipp.c:8315
+#: scheduler/ipp.c:9158 scheduler/ipp.c:9383 scheduler/ipp.c:9800
+#: scheduler/ipp.c:10375
 #, c-format
 msgid "Bad job-uri attribute \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:2100 scheduler/ipp.c:6149
+#: scheduler/ipp.c:2117 scheduler/ipp.c:6169
 #, c-format
 msgid "Bad notify-pull-method \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:2064 scheduler/ipp.c:6113
+#: scheduler/ipp.c:2081 scheduler/ipp.c:6133
 #, c-format
 msgid "Bad notify-recipient-uri URI \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:1452
+#: scheduler/ipp.c:1469
 #, c-format
 msgid "Bad number-up value %d."
 msgstr ""
@@ -2499,31 +2499,31 @@ msgstr ""
 msgid "Bad option + choice on line %d!"
 msgstr ""
 
-#: scheduler/ipp.c:1469
+#: scheduler/ipp.c:1486
 #, c-format
 msgid "Bad page-ranges values %d-%d."
 msgstr ""
 
-#: scheduler/ipp.c:2563
+#: scheduler/ipp.c:2580
 #, c-format
 msgid "Bad port-monitor \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:2611
+#: scheduler/ipp.c:2628
 #, c-format
 msgid "Bad printer-state value %d!"
 msgstr ""
 
-#: scheduler/ipp.c:294
+#: scheduler/ipp.c:298
 #, c-format
 msgid "Bad request version number %d.%d!"
 msgstr ""
 
-#: cgi-bin/admin.c:1363
+#: cgi-bin/admin.c:1377
 msgid "Bad subscription ID!"
 msgstr ""
 
-#: cgi-bin/admin.c:3275 cgi-bin/admin.c:3498
+#: cgi-bin/admin.c:3289 cgi-bin/admin.c:3512
 msgid "Banners"
 msgstr ""
 
@@ -2591,16 +2591,16 @@ msgstr ""
 msgid "CPCL Label Printer"
 msgstr ""
 
-#: cgi-bin/admin.c:1364 cgi-bin/admin.c:1403 cgi-bin/admin.c:1413
+#: cgi-bin/admin.c:1378 cgi-bin/admin.c:1417 cgi-bin/admin.c:1427
 msgid "Cancel RSS Subscription"
 msgstr ""
 
-#: cgi-bin/admin.c:1582 cgi-bin/admin.c:1746 cgi-bin/admin.c:1758
-#: cgi-bin/admin.c:1769
+#: cgi-bin/admin.c:1596 cgi-bin/admin.c:1760 cgi-bin/admin.c:1772
+#: cgi-bin/admin.c:1783
 msgid "Change Settings"
 msgstr ""
 
-#: scheduler/ipp.c:2112 scheduler/ipp.c:6161
+#: scheduler/ipp.c:2129 scheduler/ipp.c:6181
 #, c-format
 msgid "Character set \"%s\" not supported!"
 msgstr ""
@@ -2640,7 +2640,7 @@ msgstr ""
 msgid "Community name uses indefinite length"
 msgstr ""
 
-#: cups/http-support.c:1176
+#: cups/http-support.c:1182
 msgid "Continue"
 msgstr ""
 
@@ -2648,16 +2648,16 @@ msgstr ""
 msgid "Continuous"
 msgstr ""
 
-#: scheduler/ipp.c:8526 scheduler/ipp.c:8542 scheduler/ipp.c:9821
+#: scheduler/ipp.c:8608 scheduler/ipp.c:8624 scheduler/ipp.c:9903
 #, c-format
 msgid "Could not scan type \"%s\"!"
 msgstr ""
 
-#: backend/ipp.c:1654
+#: backend/ipp.c:1668
 msgid "Cover open."
 msgstr ""
 
-#: cups/http-support.c:1185
+#: cups/http-support.c:1191
 msgid "Created"
 msgstr ""
 
@@ -2701,11 +2701,11 @@ msgstr ""
 msgid "Darkness"
 msgstr ""
 
-#: cgi-bin/admin.c:2042 cgi-bin/admin.c:2053 cgi-bin/admin.c:2098
+#: cgi-bin/admin.c:2056 cgi-bin/admin.c:2067 cgi-bin/admin.c:2112
 msgid "Delete Class"
 msgstr ""
 
-#: cgi-bin/admin.c:2127 cgi-bin/admin.c:2138 cgi-bin/admin.c:2183
+#: cgi-bin/admin.c:2141 cgi-bin/admin.c:2152 cgi-bin/admin.c:2197
 msgid "Delete Printer"
 msgstr ""
 
@@ -2717,16 +2717,16 @@ msgstr ""
 msgid "DeskJet Series"
 msgstr ""
 
-#: scheduler/ipp.c:1372
+#: scheduler/ipp.c:1389
 #, c-format
 msgid "Destination \"%s\" is not accepting jobs."
 msgstr ""
 
-#: backend/ipp.c:1688
+#: backend/ipp.c:1702
 msgid "Developer almost empty."
 msgstr ""
 
-#: backend/ipp.c:1690
+#: backend/ipp.c:1704
 msgid "Developer empty!"
 msgstr ""
 
@@ -2749,12 +2749,12 @@ msgstr ""
 msgid "Disabled"
 msgstr ""
 
-#: scheduler/ipp.c:6649
+#: scheduler/ipp.c:6669
 #, c-format
 msgid "Document %d not found in job %d."
 msgstr ""
 
-#: backend/ipp.c:1658
+#: backend/ipp.c:1672
 msgid "Door open."
 msgstr ""
 
@@ -2866,7 +2866,7 @@ msgstr ""
 msgid "ERROR: Bad text width %s\n"
 msgstr ""
 
-#: backend/ipp.c:730
+#: backend/ipp.c:735
 msgid "ERROR: Destination printer does not exist!\n"
 msgstr ""
 
@@ -2880,7 +2880,7 @@ msgstr ""
 msgid "ERROR: Duplicate %%Pages: comment seen!\n"
 msgstr ""
 
-#: backend/ipp.c:453 filter/pstops.c:302
+#: backend/ipp.c:457 filter/pstops.c:302
 msgid "ERROR: Empty print file!\n"
 msgstr ""
 
@@ -2955,11 +2955,11 @@ msgstr ""
 msgid "ERROR: Out of paper!\n"
 msgstr ""
 
-#: backend/ipp.c:1778
+#: backend/ipp.c:1792
 msgid "ERROR: PRINTER environment variable not defined!\n"
 msgstr ""
 
-#: backend/ipp.c:1038
+#: backend/ipp.c:1044
 #, c-format
 msgid "ERROR: Print file was not accepted (%s)!\n"
 msgstr ""
@@ -2968,7 +2968,7 @@ msgstr ""
 msgid "ERROR: Printer not responding\n"
 msgstr ""
 
-#: backend/ipp.c:567 backend/ipp.c:697 backend/lpd.c:821 backend/socket.c:311
+#: backend/ipp.c:571 backend/ipp.c:702 backend/lpd.c:821 backend/socket.c:311
 msgid "ERROR: Printer not responding!\n"
 msgstr ""
 
@@ -2990,17 +2990,17 @@ msgstr ""
 msgid "ERROR: There was a timeout error while sending data to the printer\n"
 msgstr ""
 
-#: backend/ipp.c:1101
+#: backend/ipp.c:1107
 #, c-format
 msgid "ERROR: Unable to add file %d to job: %s\n"
 msgstr ""
 
-#: backend/ipp.c:1342
+#: backend/ipp.c:1355
 #, c-format
 msgid "ERROR: Unable to cancel job %d: %s\n"
 msgstr ""
 
-#: filter/pdftops.c:129
+#: filter/pdftops.c:126
 msgid "ERROR: Unable to copy PDF file"
 msgstr ""
 
@@ -3008,16 +3008,16 @@ msgstr ""
 msgid "ERROR: Unable to create socket"
 msgstr ""
 
-#: backend/ipp.c:1431
+#: backend/ipp.c:1445
 #, c-format
 msgid "ERROR: Unable to create temporary compressed print file: %s\n"
 msgstr ""
 
-#: backend/ipp.c:420 backend/lpd.c:433
+#: backend/ipp.c:424 backend/lpd.c:433
 msgid "ERROR: Unable to create temporary file"
 msgstr ""
 
-#: backend/ipp.c:1800
+#: backend/ipp.c:1814
 #, c-format
 msgid "ERROR: Unable to create temporary file - %s.\n"
 msgstr ""
@@ -3027,20 +3027,20 @@ msgstr ""
 msgid "ERROR: Unable to create temporary file: %s\n"
 msgstr ""
 
-#: backend/ipp.c:1857
+#: backend/ipp.c:1871
 #, c-format
 msgid "ERROR: Unable to exec pictwpstops: %s\n"
 msgstr ""
 
-#: filter/pdftops.c:305 filter/pdftops.c:319
+#: filter/pdftops.c:317 filter/pdftops.c:331
 msgid "ERROR: Unable to execute gs program"
 msgstr ""
 
-#: filter/pdftops.c:302 filter/pdftops.c:317
+#: filter/pdftops.c:314 filter/pdftops.c:329
 msgid "ERROR: Unable to execute pdftops program"
 msgstr ""
 
-#: backend/ipp.c:1870
+#: backend/ipp.c:1884
 #, c-format
 msgid "ERROR: Unable to fork pictwpstops: %s\n"
 msgstr ""
@@ -3053,7 +3053,7 @@ msgstr ""
 msgid "ERROR: Unable to get PAP response"
 msgstr ""
 
-#: backend/ipp.c:1785
+#: backend/ipp.c:1799
 #, c-format
 msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
 msgstr ""
@@ -3062,17 +3062,17 @@ msgstr ""
 msgid "ERROR: Unable to get default AppleTalk zone"
 msgstr ""
 
-#: backend/ipp.c:1187
+#: backend/ipp.c:1194
 #, c-format
 msgid "ERROR: Unable to get job %d attributes (%s)!\n"
 msgstr ""
 
-#: backend/ipp.c:740
+#: backend/ipp.c:745
 #, c-format
 msgid "ERROR: Unable to get printer status (%s)!\n"
 msgstr ""
 
-#: backend/ipp.c:585 backend/lpd.c:677 backend/socket.c:266
+#: backend/ipp.c:589 backend/lpd.c:677 backend/socket.c:266
 #, c-format
 msgid "ERROR: Unable to locate printer '%s'!\n"
 msgstr ""
@@ -3124,7 +3124,7 @@ msgstr ""
 msgid "ERROR: Unable to open image file for printing!\n"
 msgstr ""
 
-#: backend/ipp.c:1447 backend/pap.c:249 backend/parallel.c:151
+#: backend/ipp.c:1461 backend/pap.c:249 backend/parallel.c:151
 #: backend/scsi.c:181 backend/serial.c:189 backend/socket.c:156
 #, c-format
 msgid "ERROR: Unable to open print file \"%s\": %s\n"
@@ -3140,12 +3140,12 @@ msgstr ""
 msgid "ERROR: Unable to open print file %s: %s\n"
 msgstr ""
 
-#: backend/ipp.c:1439
+#: backend/ipp.c:1453
 #, c-format
 msgid "ERROR: Unable to open temporary compressed print file: %s\n"
 msgstr ""
 
-#: backend/ipp.c:426
+#: backend/ipp.c:430
 msgid "ERROR: Unable to open temporary file"
 msgstr ""
 
@@ -3210,12 +3210,12 @@ msgstr ""
 msgid "ERROR: Unable to send trailing nul to printer"
 msgstr ""
 
-#: backend/ipp.c:1883
+#: backend/ipp.c:1897
 #, c-format
 msgid "ERROR: Unable to wait for pictwpstops: %s\n"
 msgstr ""
 
-#: backend/ipp.c:1458
+#: backend/ipp.c:1472
 #, c-format
 msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
 msgstr ""
@@ -3243,7 +3243,7 @@ msgstr ""
 msgid "ERROR: Unable to write raster data to driver!\n"
 msgstr ""
 
-#: backend/ipp.c:437 backend/lpd.c:440
+#: backend/ipp.c:441 backend/lpd.c:440
 msgid "ERROR: Unable to write to temporary file"
 msgstr ""
 
@@ -3277,7 +3277,7 @@ msgstr ""
 msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
 msgstr ""
 
-#: backend/ipp.c:393
+#: backend/ipp.c:397
 #, c-format
 msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
 msgstr ""
@@ -3287,7 +3287,7 @@ msgstr ""
 msgid "ERROR: Unknown print mode \"%s\"\n"
 msgstr ""
 
-#: backend/ipp.c:364
+#: backend/ipp.c:368
 #, c-format
 msgid "ERROR: Unknown version option value \"%s\"!\n"
 msgstr ""
@@ -3322,27 +3322,27 @@ msgstr ""
 msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
 msgstr ""
 
-#: filter/pdftops.c:358
+#: filter/pdftops.c:370
 #, c-format
 msgid "ERROR: pdftops filter crashed on signal %d!\n"
 msgstr ""
 
-#: filter/pdftops.c:350
+#: filter/pdftops.c:362
 #, c-format
 msgid "ERROR: pdftops filter exited with status %d!\n"
 msgstr ""
 
-#: backend/ipp.c:1902
+#: backend/ipp.c:1916
 #, c-format
 msgid "ERROR: pictwpstops exited on signal %d!\n"
 msgstr ""
 
-#: backend/ipp.c:1899
+#: backend/ipp.c:1913
 #, c-format
 msgid "ERROR: pictwpstops exited with status %d!\n"
 msgstr ""
 
-#: backend/ipp.c:595 backend/lpd.c:850 backend/socket.c:334
+#: backend/ipp.c:599 backend/lpd.c:850 backend/socket.c:334
 msgid "ERROR: recoverable: Unable to connect to printer; will retry in 30 seconds...\n"
 msgstr ""
 
@@ -3354,9 +3354,9 @@ msgstr ""
 msgid "ERROR: unable to stat print file"
 msgstr ""
 
-#: cgi-bin/admin.c:1797 cgi-bin/admin.c:1809 cgi-bin/admin.c:1863
-#: cgi-bin/admin.c:1870 cgi-bin/admin.c:1905 cgi-bin/admin.c:1918
-#: cgi-bin/admin.c:1942 cgi-bin/admin.c:2015
+#: cgi-bin/admin.c:1811 cgi-bin/admin.c:1823 cgi-bin/admin.c:1877
+#: cgi-bin/admin.c:1884 cgi-bin/admin.c:1919 cgi-bin/admin.c:1932
+#: cgi-bin/admin.c:1956 cgi-bin/admin.c:2029
 msgid "Edit Configuration File"
 msgstr ""
 
@@ -3364,7 +3364,7 @@ msgstr ""
 msgid "Empty PPD file!"
 msgstr ""
 
-#: cgi-bin/admin.c:3519
+#: cgi-bin/admin.c:3533
 msgid "Ending Banner"
 msgstr ""
 
@@ -3380,7 +3380,7 @@ msgstr ""
 msgid "Enter password:"
 msgstr ""
 
-#: scheduler/client.c:2418
+#: scheduler/client.c:2409
 msgid "Enter your username and password or the root username and password to access this page. If you are using Kerberos authentication, make sure you have a valid Kerberos ticket."
 msgstr ""
 
@@ -3392,7 +3392,7 @@ msgstr ""
 msgid "Epson"
 msgstr ""
 
-#: cgi-bin/admin.c:3562
+#: cgi-bin/admin.c:3576
 msgid "Error Policy"
 msgstr ""
 
@@ -3440,11 +3440,11 @@ msgstr ""
 msgid "Every Label"
 msgstr ""
 
-#: cups/http-support.c:1230
+#: cups/http-support.c:1236
 msgid "Expectation Failed"
 msgstr ""
 
-#: cgi-bin/admin.c:2305 cgi-bin/admin.c:2324
+#: cgi-bin/admin.c:2319 cgi-bin/admin.c:2338
 msgid "Export Printers to Samba"
 msgstr ""
 
@@ -3466,7 +3466,7 @@ msgstr ""
 msgid "File Folder - 9/16 x 3 7/16\""
 msgstr ""
 
-#: scheduler/ipp.c:2499
+#: scheduler/ipp.c:2516
 #, c-format
 msgid "File device URIs have been disabled! To enable, see the FileDevice directive in \"%s/cupsd.conf\"."
 msgstr ""
@@ -3475,15 +3475,15 @@ msgstr ""
 msgid "Folio"
 msgstr ""
 
-#: cups/http-support.c:1209
+#: cups/http-support.c:1215
 msgid "Forbidden"
 msgstr ""
 
-#: backend/ipp.c:1680
+#: backend/ipp.c:1694
 msgid "Fuser temperature high!"
 msgstr ""
 
-#: backend/ipp.c:1682
+#: backend/ipp.c:1696
 msgid "Fuser temperature low!"
 msgstr ""
 
@@ -3511,9 +3511,9 @@ msgstr ""
 msgid "Glossy Paper"
 msgstr ""
 
-#: scheduler/ipp.c:3619 scheduler/ipp.c:3922 scheduler/ipp.c:6579
-#: scheduler/ipp.c:6721 scheduler/ipp.c:7929 scheduler/ipp.c:9053
-#: scheduler/ipp.c:9278 scheduler/ipp.c:9695 scheduler/ipp.c:10270
+#: scheduler/ipp.c:3634 scheduler/ipp.c:3937 scheduler/ipp.c:6599
+#: scheduler/ipp.c:6741 scheduler/ipp.c:8011 scheduler/ipp.c:9135
+#: scheduler/ipp.c:9360 scheduler/ipp.c:9777 scheduler/ipp.c:10352
 msgid "Got a printer-uri attribute but no job-id!"
 msgstr ""
 
@@ -3541,15 +3541,15 @@ msgstr ""
 msgid "INFO: AppleTalk disabled in System Preferences.\n"
 msgstr ""
 
-#: backend/ipp.c:1322
+#: backend/ipp.c:1334
 msgid "INFO: Canceling print job...\n"
 msgstr ""
 
-#: backend/ipp.c:615 backend/lpd.c:869 backend/socket.c:356
+#: backend/ipp.c:619 backend/lpd.c:869 backend/socket.c:356
 msgid "INFO: Connected to printer...\n"
 msgstr ""
 
-#: backend/ipp.c:530 backend/lpd.c:702 backend/socket.c:273
+#: backend/ipp.c:534 backend/lpd.c:702 backend/socket.c:273
 msgid "INFO: Connecting to printer...\n"
 msgstr ""
 
@@ -3570,7 +3570,7 @@ msgstr ""
 msgid "INFO: Loading image file...\n"
 msgstr ""
 
-#: cups/http-support.c:1394
+#: cups/http-support.c:1400
 msgid "INFO: Looking for printer...\n"
 msgstr ""
 
@@ -3582,7 +3582,7 @@ msgstr ""
 msgid "INFO: Print file sent, waiting for printer to finish...\n"
 msgstr ""
 
-#: backend/ipp.c:1021 backend/usb-unix.c:132
+#: backend/ipp.c:1027 backend/usb-unix.c:132
 msgid "INFO: Printer busy; will retry in 10 seconds...\n"
 msgstr ""
 
@@ -3595,8 +3595,9 @@ msgstr ""
 msgid "INFO: Printer busy; will retry in 5 seconds...\n"
 msgstr ""
 
-#: backend/ipp.c:723 backend/ipp.c:1032
-msgid "INFO: Printer does not support IPP/1.1, trying IPP/1.0...\n"
+#: backend/ipp.c:728 backend/ipp.c:1038
+#, c-format
+msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
 msgstr ""
 
 #: backend/usb-unix.c:521
@@ -3682,7 +3683,7 @@ msgstr ""
 msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
 msgstr ""
 
-#: backend/ipp.c:547 backend/ipp.c:804 backend/lpd.c:802
+#: backend/ipp.c:551 backend/ipp.c:809 backend/lpd.c:802
 #: backend/parallel.c:221 backend/scsi-irix.c:125 backend/scsi-linux.c:139
 #: backend/serial.c:241 backend/socket.c:294 backend/usb-unix.c:117
 msgid "INFO: Unable to contact printer, queuing on next printer in class...\n"
@@ -3693,7 +3694,7 @@ msgstr ""
 msgid "INFO: Using default AppleTalk zone \"%s\"\n"
 msgstr ""
 
-#: backend/ipp.c:1126
+#: backend/ipp.c:1132
 msgid "INFO: Waiting for job to complete...\n"
 msgstr ""
 
@@ -3781,19 +3782,19 @@ msgstr ""
 msgid "Illegal whitespace character"
 msgstr ""
 
-#: backend/ipp.c:1672
+#: backend/ipp.c:1686
 msgid "Ink/toner almost empty."
 msgstr ""
 
-#: backend/ipp.c:1674
+#: backend/ipp.c:1688
 msgid "Ink/toner empty!"
 msgstr ""
 
-#: backend/ipp.c:1676
+#: backend/ipp.c:1690
 msgid "Ink/toner waste bin almost full."
 msgstr ""
 
-#: backend/ipp.c:1678
+#: backend/ipp.c:1692
 msgid "Ink/toner waste bin full!"
 msgstr ""
 
@@ -3813,7 +3814,7 @@ msgstr ""
 msgid "Intellitech"
 msgstr ""
 
-#: backend/ipp.c:1656
+#: backend/ipp.c:1670
 msgid "Interlock open."
 msgstr ""
 
@@ -3853,69 +3854,69 @@ msgstr ""
 msgid "JCL"
 msgstr ""
 
-#: scheduler/ipp.c:9351
+#: scheduler/ipp.c:9433
 #, c-format
 msgid "Job #%d cannot be restarted - no files!"
 msgstr ""
 
-#: scheduler/ipp.c:3660 scheduler/ipp.c:4030 scheduler/ipp.c:6620
-#: scheduler/ipp.c:6762 scheduler/ipp.c:7806 scheduler/ipp.c:7970
-#: scheduler/ipp.c:8206 scheduler/ipp.c:8251 scheduler/ipp.c:9094
-#: scheduler/ipp.c:9319 scheduler/ipp.c:9736 scheduler/ipp.c:10311
+#: scheduler/ipp.c:3675 scheduler/ipp.c:4045 scheduler/ipp.c:6640
+#: scheduler/ipp.c:6782 scheduler/ipp.c:7888 scheduler/ipp.c:8052
+#: scheduler/ipp.c:8288 scheduler/ipp.c:8333 scheduler/ipp.c:9176
+#: scheduler/ipp.c:9401 scheduler/ipp.c:9818 scheduler/ipp.c:10393
 #, c-format
 msgid "Job #%d does not exist!"
 msgstr ""
 
-#: scheduler/ipp.c:4061
+#: scheduler/ipp.c:4076
 #, c-format
 msgid "Job #%d is already aborted - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:4055
+#: scheduler/ipp.c:4070
 #, c-format
 msgid "Job #%d is already canceled - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:4067
+#: scheduler/ipp.c:4082
 #, c-format
 msgid "Job #%d is already completed - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:8293 scheduler/ipp.c:10326
+#: scheduler/ipp.c:8375 scheduler/ipp.c:10408
 #, c-format
 msgid "Job #%d is finished and cannot be altered!"
 msgstr ""
 
-#: scheduler/ipp.c:9333
+#: scheduler/ipp.c:9415
 #, c-format
 msgid "Job #%d is not complete!"
 msgstr ""
 
-#: scheduler/ipp.c:3675
+#: scheduler/ipp.c:3690
 #, c-format
 msgid "Job #%d is not held for authentication!"
 msgstr ""
 
-#: scheduler/ipp.c:9108
+#: scheduler/ipp.c:9190
 #, c-format
 msgid "Job #%d is not held!"
 msgstr ""
 
-#: scheduler/ipp.c:7784
+#: scheduler/ipp.c:7866
 #, c-format
 msgid "Job #%s does not exist!"
 msgstr ""
 
-#: scheduler/ipp.c:6247
+#: scheduler/ipp.c:6267
 #, c-format
 msgid "Job %d not found!"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1017
+#: cgi-bin/ipp-var.c:1031
 msgid "Job Completed"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1015
+#: cgi-bin/ipp-var.c:1029
 msgid "Job Created"
 msgstr ""
 
@@ -3923,11 +3924,11 @@ msgstr ""
 msgid "Job ID: "
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1021
+#: cgi-bin/ipp-var.c:1035
 msgid "Job Options Changed"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1019
+#: cgi-bin/ipp-var.c:1033
 msgid "Job Stopped"
 msgstr ""
 
@@ -3935,7 +3936,7 @@ msgstr ""
 msgid "Job UUID: "
 msgstr ""
 
-#: scheduler/ipp.c:10408
+#: scheduler/ipp.c:10490
 msgid "Job is completed and cannot be changed."
 msgstr ""
 
@@ -3943,11 +3944,11 @@ msgstr ""
 msgid "Job operation failed:"
 msgstr ""
 
-#: scheduler/ipp.c:10444 scheduler/ipp.c:10465 scheduler/ipp.c:10476
+#: scheduler/ipp.c:10526 scheduler/ipp.c:10547 scheduler/ipp.c:10558
 msgid "Job state cannot be changed."
 msgstr ""
 
-#: scheduler/ipp.c:9198
+#: scheduler/ipp.c:9280
 msgid "Job subscriptions cannot be renewed!"
 msgstr ""
 
@@ -3975,7 +3976,7 @@ msgstr ""
 msgid "Label Top"
 msgstr ""
 
-#: scheduler/ipp.c:2121 scheduler/ipp.c:6170
+#: scheduler/ipp.c:2138 scheduler/ipp.c:6190
 #, c-format
 msgid "Language \"%s\" not supported!"
 msgstr ""
@@ -4000,7 +4001,7 @@ msgstr ""
 msgid "Line longer than the maximum allowed (255 characters)"
 msgstr ""
 
-#: cgi-bin/admin.c:2342
+#: cgi-bin/admin.c:2356
 msgid "List Available Printers"
 msgstr ""
 
@@ -4048,23 +4049,23 @@ msgstr ""
 msgid "Media Type"
 msgstr ""
 
-#: backend/ipp.c:1643
+#: backend/ipp.c:1657
 msgid "Media jam!"
 msgstr ""
 
-#: backend/ipp.c:1662
+#: backend/ipp.c:1676
 msgid "Media tray almost empty."
 msgstr ""
 
-#: backend/ipp.c:1664
+#: backend/ipp.c:1678
 msgid "Media tray empty!"
 msgstr ""
 
-#: backend/ipp.c:1660
+#: backend/ipp.c:1674
 msgid "Media tray missing!"
 msgstr ""
 
-#: backend/ipp.c:1641
+#: backend/ipp.c:1655
 msgid "Media tray needs to be filled."
 msgstr ""
 
@@ -4084,7 +4085,7 @@ msgstr ""
 msgid "Missing asterisk in column 1"
 msgstr ""
 
-#: scheduler/ipp.c:6642
+#: scheduler/ipp.c:6662
 msgid "Missing document-number attribute!"
 msgstr ""
 
@@ -4093,20 +4094,20 @@ msgstr ""
 msgid "Missing double quote on line %d!"
 msgstr ""
 
-#: cgi-bin/admin.c:2054 cgi-bin/admin.c:2139 cgi-bin/admin.c:2775
-#: cgi-bin/admin.c:3029 cgi-bin/admin.c:3140 cgi-bin/admin.c:3818
+#: cgi-bin/admin.c:2068 cgi-bin/admin.c:2153 cgi-bin/admin.c:2789
+#: cgi-bin/admin.c:3043 cgi-bin/admin.c:3154 cgi-bin/admin.c:3832
 msgid "Missing form variable!"
 msgstr ""
 
-#: scheduler/ipp.c:7035
+#: scheduler/ipp.c:7062
 msgid "Missing notify-subscription-ids attribute!"
 msgstr ""
 
-#: scheduler/ipp.c:3797
+#: scheduler/ipp.c:3812
 msgid "Missing requesting-user-name attribute!"
 msgstr ""
 
-#: scheduler/ipp.c:461
+#: scheduler/ipp.c:465
 msgid "Missing required attributes!"
 msgstr ""
 
@@ -4152,16 +4153,16 @@ msgstr ""
 msgid "Move Job"
 msgstr ""
 
-#: cups/http-support.c:1194
+#: cups/http-support.c:1200
 msgid "Moved Permanently"
 msgstr ""
 
-#: backend/ipp.c:1051
+#: backend/ipp.c:1057
 #, c-format
 msgid "NOTICE: Print file accepted - job ID %d.\n"
 msgstr ""
 
-#: backend/ipp.c:1045
+#: backend/ipp.c:1051
 msgid "NOTICE: Print file accepted - job ID unknown.\n"
 msgstr ""
 
@@ -4189,11 +4190,11 @@ msgstr ""
 msgid "No"
 msgstr ""
 
-#: cups/http-support.c:1191
+#: cups/http-support.c:1197
 msgid "No Content"
 msgstr ""
 
-#: cups/util.c:1307
+#: cups/util.c:1308
 msgid "No PPD name!"
 msgstr ""
 
@@ -4209,16 +4210,16 @@ msgstr ""
 msgid "No active connection"
 msgstr ""
 
-#: scheduler/ipp.c:3977
+#: scheduler/ipp.c:3992
 #, c-format
 msgid "No active jobs on %s!"
 msgstr ""
 
-#: scheduler/ipp.c:304
+#: scheduler/ipp.c:308
 msgid "No attributes in request!"
 msgstr ""
 
-#: scheduler/ipp.c:3703
+#: scheduler/ipp.c:3718
 msgid "No authentication information provided!"
 msgstr ""
 
@@ -4226,11 +4227,11 @@ msgstr ""
 msgid "No community name"
 msgstr ""
 
-#: scheduler/ipp.c:6442
+#: scheduler/ipp.c:6462
 msgid "No default printer"
 msgstr ""
 
-#: scheduler/ipp.c:7555
+#: scheduler/ipp.c:7637
 msgid "No destinations added."
 msgstr ""
 
@@ -4242,7 +4243,7 @@ msgstr ""
 msgid "No error-status"
 msgstr ""
 
-#: scheduler/ipp.c:8492 scheduler/ipp.c:9787
+#: scheduler/ipp.c:8574 scheduler/ipp.c:9869
 msgid "No file!?!"
 msgstr ""
 
@@ -4258,15 +4259,15 @@ msgstr ""
 msgid "No printer name!"
 msgstr ""
 
-#: cups/util.c:1860
+#: cups/util.c:1861
 msgid "No printer-uri found for class!"
 msgstr ""
 
-#: cups/util.c:1875
+#: cups/util.c:1876
 msgid "No printer-uri found!"
 msgstr ""
 
-#: scheduler/ipp.c:6827
+#: scheduler/ipp.c:6847
 msgid "No printer-uri in request!"
 msgstr ""
 
@@ -4274,11 +4275,11 @@ msgstr ""
 msgid "No request-id"
 msgstr ""
 
-#: scheduler/ipp.c:6055
+#: scheduler/ipp.c:6075
 msgid "No subscription attributes in request!"
 msgstr ""
 
-#: scheduler/ipp.c:7869
+#: scheduler/ipp.c:7951
 msgid "No subscriptions found."
 msgstr ""
 
@@ -4302,11 +4303,11 @@ msgstr ""
 msgid "Normal"
 msgstr ""
 
-#: cups/http-support.c:1212
+#: cups/http-support.c:1218
 msgid "Not Found"
 msgstr ""
 
-#: cups/http-support.c:1224
+#: cups/http-support.c:1230
 msgid "Not Implemented"
 msgstr ""
 
@@ -4314,15 +4315,15 @@ msgstr ""
 msgid "Not Installed"
 msgstr ""
 
-#: cups/http-support.c:1200
+#: cups/http-support.c:1206
 msgid "Not Modified"
 msgstr ""
 
-#: cups/http-support.c:1227
+#: cups/http-support.c:1233
 msgid "Not Supported"
 msgstr ""
 
-#: scheduler/ipp.c:1500
+#: scheduler/ipp.c:1517
 msgid "Not allowed to print."
 msgstr ""
 
@@ -4330,15 +4331,15 @@ msgstr ""
 msgid "Note"
 msgstr ""
 
-#: cups/http-support.c:1182 cups/ppd.c:334
+#: cups/http-support.c:1188 cups/ppd.c:334
 msgid "OK"
 msgstr ""
 
-#: backend/ipp.c:1684
+#: backend/ipp.c:1698
 msgid "OPC almost at end-of-life."
 msgstr ""
 
-#: backend/ipp.c:1686
+#: backend/ipp.c:1700
 msgid "OPC at end-of-life!"
 msgstr ""
 
@@ -4367,11 +4368,11 @@ msgstr ""
 msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
 msgstr ""
 
-#: cgi-bin/admin.c:3589
+#: cgi-bin/admin.c:3603
 msgid "Operation Policy"
 msgstr ""
 
-#: cgi-bin/admin.c:3266 cgi-bin/admin.c:3326
+#: cgi-bin/admin.c:3280 cgi-bin/admin.c:3340
 msgid "Options Installed"
 msgstr ""
 
@@ -4379,7 +4380,7 @@ msgstr ""
 msgid "Options: "
 msgstr ""
 
-#: backend/ipp.c:1652
+#: backend/ipp.c:1666
 msgid "Out of toner!"
 msgstr ""
 
@@ -4387,11 +4388,11 @@ msgstr ""
 msgid "Output Mode"
 msgstr ""
 
-#: backend/ipp.c:1668
+#: backend/ipp.c:1682
 msgid "Output bin almost full."
 msgstr ""
 
-#: backend/ipp.c:1670
+#: backend/ipp.c:1684
 msgid "Output bin full!"
 msgstr ""
 
@@ -4415,7 +4416,7 @@ msgstr ""
 msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
 msgstr ""
 
-#: backend/ipp.c:1666
+#: backend/ipp.c:1680
 msgid "Output tray missing!"
 msgstr ""
 
@@ -4533,11 +4534,11 @@ msgstr ""
 msgid "Plain Paper"
 msgstr ""
 
-#: cgi-bin/admin.c:3284 cgi-bin/admin.c:3538
+#: cgi-bin/admin.c:3298 cgi-bin/admin.c:3552
 msgid "Policies"
 msgstr ""
 
-#: cgi-bin/admin.c:3291 cgi-bin/admin.c:3607 cgi-bin/admin.c:3620
+#: cgi-bin/admin.c:3305 cgi-bin/admin.c:3621 cgi-bin/admin.c:3634
 msgid "Port Monitor"
 msgstr ""
 
@@ -4573,7 +4574,7 @@ msgstr ""
 msgid "Print Speed"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:756
+#: cgi-bin/ipp-var.c:768
 msgid "Print Test Page"
 msgstr ""
 
@@ -4597,7 +4598,7 @@ msgstr ""
 msgid "Printed On: "
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1009
+#: cgi-bin/ipp-var.c:1023
 msgid "Printer Added"
 msgstr ""
 
@@ -4605,11 +4606,11 @@ msgstr ""
 msgid "Printer Default"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1013
+#: cgi-bin/ipp-var.c:1027
 msgid "Printer Deleted"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1011
+#: cgi-bin/ipp-var.c:1025
 msgid "Printer Modified"
 msgstr ""
 
@@ -4617,7 +4618,7 @@ msgstr ""
 msgid "Printer Name: "
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1007
+#: cgi-bin/ipp-var.c:1021
 msgid "Printer Paused"
 msgstr ""
 
@@ -4625,7 +4626,7 @@ msgstr ""
 msgid "Printer Settings"
 msgstr ""
 
-#: backend/ipp.c:1648
+#: backend/ipp.c:1662
 msgid "Printer offline."
 msgstr ""
 
@@ -4645,7 +4646,7 @@ msgstr ""
 msgid "Quarto"
 msgstr ""
 
-#: scheduler/ipp.c:1495
+#: scheduler/ipp.c:1512
 msgid "Quota limit reached."
 msgstr ""
 
@@ -4665,7 +4666,7 @@ msgstr ""
 msgid "Reprint After Error"
 msgstr ""
 
-#: cups/http-support.c:1215
+#: cups/http-support.c:1221
 msgid "Request Entity Too Large"
 msgstr ""
 
@@ -4706,7 +4707,7 @@ msgstr ""
 msgid "SEQUENCE uses indefinite length"
 msgstr ""
 
-#: cups/http-support.c:1197
+#: cups/http-support.c:1203
 msgid "See Other"
 msgstr ""
 
@@ -4716,44 +4717,44 @@ msgstr ""
 msgid "Serial Port #%d"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1023
+#: cgi-bin/ipp-var.c:1037
 msgid "Server Restarted"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1029
+#: cgi-bin/ipp-var.c:1043
 msgid "Server Security Auditing"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1025
+#: cgi-bin/ipp-var.c:1039
 msgid "Server Started"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:1027
+#: cgi-bin/ipp-var.c:1041
 msgid "Server Stopped"
 msgstr ""
 
-#: cups/http-support.c:1233
+#: cups/http-support.c:1239
 msgid "Service Unavailable"
 msgstr ""
 
-#: cgi-bin/admin.c:2776 cgi-bin/admin.c:2822 cgi-bin/admin.c:2979
-#: cgi-bin/admin.c:2998
+#: cgi-bin/admin.c:2790 cgi-bin/admin.c:2836 cgi-bin/admin.c:2993
+#: cgi-bin/admin.c:3012
 msgid "Set Allowed Users"
 msgstr ""
 
-#: cgi-bin/admin.c:3025
+#: cgi-bin/admin.c:3039
 msgid "Set As Server Default"
 msgstr ""
 
-#: cgi-bin/admin.c:3125
+#: cgi-bin/admin.c:3139
 msgid "Set Class Options"
 msgstr ""
 
-#: cgi-bin/admin.c:3125 cgi-bin/admin.c:3294 cgi-bin/admin.c:3649
+#: cgi-bin/admin.c:3139 cgi-bin/admin.c:3308 cgi-bin/admin.c:3663
 msgid "Set Printer Options"
 msgstr ""
 
-#: cgi-bin/admin.c:3819 cgi-bin/admin.c:3863 cgi-bin/admin.c:3881
+#: cgi-bin/admin.c:3833 cgi-bin/admin.c:3877 cgi-bin/admin.c:3895
 msgid "Set Publishing"
 msgstr ""
 
@@ -4777,7 +4778,7 @@ msgstr ""
 msgid "Standard"
 msgstr ""
 
-#: cgi-bin/admin.c:3512
+#: cgi-bin/admin.c:3526
 msgid "Starting Banner"
 msgstr ""
 
@@ -4805,7 +4806,7 @@ msgstr ""
 msgid "Super B/A3"
 msgstr ""
 
-#: cups/http-support.c:1179
+#: cups/http-support.c:1185
 msgid "Switching Protocols"
 msgstr ""
 
@@ -4829,12 +4830,12 @@ msgstr ""
 msgid "Tear-Off Adjust Position"
 msgstr ""
 
-#: scheduler/ipp.c:7282
+#: scheduler/ipp.c:7309
 #, c-format
 msgid "The PPD file \"%s\" could not be found."
 msgstr ""
 
-#: scheduler/ipp.c:7269
+#: scheduler/ipp.c:7296
 #, c-format
 msgid "The PPD file \"%s\" could not be opened: %s"
 msgstr ""
@@ -4843,11 +4844,11 @@ msgstr ""
 msgid "The class name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
 msgstr ""
 
-#: scheduler/ipp.c:2148
+#: scheduler/ipp.c:2165
 msgid "The notify-lease-duration attribute cannot be used with job subscriptions."
 msgstr ""
 
-#: scheduler/ipp.c:2131 scheduler/ipp.c:6180
+#: scheduler/ipp.c:2148 scheduler/ipp.c:6200
 #, c-format
 msgid "The notify-user-data value is too large (%d > 63 octets)!"
 msgstr ""
@@ -4856,34 +4857,35 @@ msgstr ""
 msgid "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
 msgstr ""
 
-#: scheduler/ipp.c:1330
+#: scheduler/ipp.c:1347
 msgid "The printer or class is not shared!"
 msgstr ""
 
-#: scheduler/ipp.c:855 scheduler/ipp.c:1161 scheduler/ipp.c:3833
-#: scheduler/ipp.c:3939 scheduler/ipp.c:5711 scheduler/ipp.c:6014
-#: scheduler/ipp.c:6327 scheduler/ipp.c:6864 scheduler/ipp.c:7487
-#: scheduler/ipp.c:7796 scheduler/ipp.c:8064 scheduler/ipp.c:8154
-#: scheduler/ipp.c:8187 scheduler/ipp.c:8507 scheduler/ipp.c:8898
-#: scheduler/ipp.c:8978 scheduler/ipp.c:10179 scheduler/ipp.c:10877
-#: scheduler/ipp.c:10944 scheduler/ipp.c:11227
+#: scheduler/ipp.c:872 scheduler/ipp.c:1178 scheduler/ipp.c:3848
+#: scheduler/ipp.c:3954 scheduler/ipp.c:5731 scheduler/ipp.c:6034
+#: scheduler/ipp.c:6347 scheduler/ipp.c:6884 scheduler/ipp.c:7514
+#: scheduler/ipp.c:7570 scheduler/ipp.c:7878 scheduler/ipp.c:8146
+#: scheduler/ipp.c:8236 scheduler/ipp.c:8269 scheduler/ipp.c:8589
+#: scheduler/ipp.c:8980 scheduler/ipp.c:9060 scheduler/ipp.c:10261
+#: scheduler/ipp.c:10714 scheduler/ipp.c:11042 scheduler/ipp.c:11109
+#: scheduler/ipp.c:11392
 msgid "The printer or class was not found."
 msgstr ""
 
-#: scheduler/ipp.c:961 scheduler/ipp.c:2338
+#: scheduler/ipp.c:978 scheduler/ipp.c:2355
 #, c-format
 msgid "The printer-uri \"%s\" contains invalid characters."
 msgstr ""
 
-#: scheduler/ipp.c:3778
+#: scheduler/ipp.c:3793
 msgid "The printer-uri attribute is required!"
 msgstr ""
 
-#: scheduler/ipp.c:945
+#: scheduler/ipp.c:962
 msgid "The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
 msgstr ""
 
-#: scheduler/ipp.c:2322
+#: scheduler/ipp.c:2339
 msgid "The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
 msgstr ""
 
@@ -4891,7 +4893,7 @@ msgstr ""
 msgid "The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#)."
 msgstr ""
 
-#: scheduler/ipp.c:6257
+#: scheduler/ipp.c:6277
 msgid "There are too many subscriptions."
 msgstr ""
 
@@ -4903,20 +4905,20 @@ msgstr ""
 msgid "Title: "
 msgstr ""
 
-#: backend/ipp.c:1650
+#: backend/ipp.c:1664
 msgid "Toner low."
 msgstr ""
 
-#: scheduler/ipp.c:1489
+#: scheduler/ipp.c:1506
 msgid "Too many active jobs."
 msgstr ""
 
-#: scheduler/ipp.c:1427
+#: scheduler/ipp.c:1444
 #, c-format
 msgid "Too many job-sheets values (%d > 2)!"
 msgstr ""
 
-#: scheduler/ipp.c:2642
+#: scheduler/ipp.c:2659
 #, c-format
 msgid "Too many printer-state-reasons values (%d > %d)!"
 msgstr ""
@@ -4945,7 +4947,7 @@ msgstr ""
 msgid "Tray 4"
 msgstr ""
 
-#: cups/http-support.c:1218
+#: cups/http-support.c:1224
 msgid "URI Too Long"
 msgstr ""
 
@@ -4986,7 +4988,7 @@ msgstr ""
 msgid "USB Serial Port #%d"
 msgstr ""
 
-#: cgi-bin/admin.c:1907 cgi-bin/admin.c:1920 cgi-bin/admin.c:1944
+#: cgi-bin/admin.c:1921 cgi-bin/admin.c:1934 cgi-bin/admin.c:1958
 msgid "Unable to access cupsd.conf file:"
 msgstr ""
 
@@ -4998,36 +5000,36 @@ msgstr ""
 msgid "Unable to add class:"
 msgstr ""
 
-#: scheduler/ipp.c:1533
+#: scheduler/ipp.c:1550
 #, c-format
 msgid "Unable to add job for destination \"%s\"!"
 msgstr ""
 
-#: cgi-bin/admin.c:939 cgi-bin/admin.c:1298
+#: cgi-bin/admin.c:953 cgi-bin/admin.c:1312
 msgid "Unable to add printer:"
 msgstr ""
 
-#: scheduler/ipp.c:1275
+#: scheduler/ipp.c:1292
 msgid "Unable to allocate memory for file types!"
 msgstr ""
 
-#: cgi-bin/admin.c:1404
+#: cgi-bin/admin.c:1418
 msgid "Unable to cancel RSS subscription:"
 msgstr ""
 
-#: cgi-bin/admin.c:3864
+#: cgi-bin/admin.c:3878
 msgid "Unable to change printer-is-shared attribute:"
 msgstr ""
 
-#: cgi-bin/admin.c:2980
+#: cgi-bin/admin.c:2994
 msgid "Unable to change printer:"
 msgstr ""
 
-#: cgi-bin/admin.c:1584 cgi-bin/admin.c:1748
+#: cgi-bin/admin.c:1598 cgi-bin/admin.c:1762
 msgid "Unable to change server settings:"
 msgstr ""
 
-#: cups/adminutil.c:941 cups/util.c:1671
+#: cups/adminutil.c:941 cups/util.c:1672
 msgid "Unable to connect to host."
 msgstr ""
 
@@ -5046,12 +5048,12 @@ msgstr ""
 msgid "Unable to copy CUPS printer driver files (%d)!"
 msgstr ""
 
-#: scheduler/ipp.c:2759
+#: scheduler/ipp.c:2776
 #, c-format
 msgid "Unable to copy PPD file - %s!"
 msgstr ""
 
-#: scheduler/ipp.c:2825
+#: scheduler/ipp.c:2842
 msgid "Unable to copy PPD file!"
 msgstr ""
 
@@ -5065,24 +5067,24 @@ msgstr ""
 msgid "Unable to copy Windows 9x printer driver files (%d)!"
 msgstr ""
 
-#: scheduler/ipp.c:2736
+#: scheduler/ipp.c:2753
 #, c-format
 msgid "Unable to copy interface script - %s!"
 msgstr ""
 
-#: cups/util.c:613 cups/util.c:1731
+#: cups/util.c:613 cups/util.c:1732
 msgid "Unable to create printer-uri!"
 msgstr ""
 
-#: cgi-bin/admin.c:1798 cgi-bin/admin.c:1810
+#: cgi-bin/admin.c:1812 cgi-bin/admin.c:1824
 msgid "Unable to create temporary file:"
 msgstr ""
 
-#: cgi-bin/admin.c:2101
+#: cgi-bin/admin.c:2115
 msgid "Unable to delete class:"
 msgstr ""
 
-#: cgi-bin/admin.c:2186
+#: cgi-bin/admin.c:2200
 msgid "Unable to delete printer:"
 msgstr ""
 
@@ -5090,7 +5092,7 @@ msgstr ""
 msgid "Unable to do maintenance command:"
 msgstr ""
 
-#: cgi-bin/admin.c:1922
+#: cgi-bin/admin.c:1936
 msgid "Unable to edit cupsd.conf files larger than 1MB!"
 msgstr ""
 
@@ -5098,7 +5100,7 @@ msgstr ""
 msgid "Unable to find destination for job!"
 msgstr ""
 
-#: cups/http-support.c:1424
+#: cups/http-support.c:1430
 msgid "Unable to find printer!\n"
 msgstr ""
 
@@ -5110,11 +5112,11 @@ msgstr ""
 msgid "Unable to get class status:"
 msgstr ""
 
-#: cgi-bin/admin.c:1199
+#: cgi-bin/admin.c:1213
 msgid "Unable to get list of printer drivers:"
 msgstr ""
 
-#: cgi-bin/admin.c:2830
+#: cgi-bin/admin.c:2844
 msgid "Unable to get printer attributes:"
 msgstr ""
 
@@ -5140,7 +5142,7 @@ msgstr ""
 msgid "Unable to modify class:"
 msgstr ""
 
-#: cgi-bin/admin.c:938 cgi-bin/admin.c:1297
+#: cgi-bin/admin.c:952 cgi-bin/admin.c:1311
 msgid "Unable to modify printer:"
 msgstr ""
 
@@ -5156,20 +5158,20 @@ msgstr ""
 msgid "Unable to open PPD file"
 msgstr ""
 
-#: cgi-bin/admin.c:3176
+#: cgi-bin/admin.c:3190
 msgid "Unable to open PPD file:"
 msgstr ""
 
-#: cgi-bin/admin.c:2556
+#: cgi-bin/admin.c:2570
 msgid "Unable to open cupsd.conf file:"
 msgstr ""
 
-#: scheduler/ipp.c:6662
+#: scheduler/ipp.c:6682
 #, c-format
 msgid "Unable to open document %d in job %d!"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:759
+#: cgi-bin/ipp-var.c:771
 msgid "Unable to print test page:"
 msgstr ""
 
@@ -5178,7 +5180,7 @@ msgstr ""
 msgid "Unable to run \"%s\": %s\n"
 msgstr ""
 
-#: cgi-bin/ipp-var.c:572 cgi-bin/ipp-var.c:590
+#: cgi-bin/ipp-var.c:575 cgi-bin/ipp-var.c:595
 msgid "Unable to send command to printer driver!"
 msgstr ""
 
@@ -5187,15 +5189,15 @@ msgstr ""
 msgid "Unable to set Windows printer driver (%d)!"
 msgstr ""
 
-#: cgi-bin/admin.c:3765
+#: cgi-bin/admin.c:3779
 msgid "Unable to set options:"
 msgstr ""
 
-#: cgi-bin/admin.c:3067
+#: cgi-bin/admin.c:3081
 msgid "Unable to set server default:"
 msgstr ""
 
-#: cgi-bin/admin.c:1860
+#: cgi-bin/admin.c:1874
 msgid "Unable to upload cupsd.conf file:"
 msgstr ""
 
@@ -5203,68 +5205,68 @@ msgstr ""
 msgid "Unable to use legacy USB class driver!\n"
 msgstr ""
 
-#: cups/http-support.c:1206
+#: cups/http-support.c:1212
 msgid "Unauthorized"
 msgstr ""
 
-#: cgi-bin/admin.c:3465
+#: cgi-bin/admin.c:3479
 msgid "Units"
 msgstr ""
 
-#: cups/http-support.c:1237 cups/ppd.c:359
+#: cups/http-support.c:1243 cups/ppd.c:359
 msgid "Unknown"
 msgstr ""
 
-#: backend/ipp.c:1697
+#: backend/ipp.c:1711
 #, c-format
 msgid "Unknown printer error (%s)!"
 msgstr ""
 
-#: scheduler/ipp.c:10750
+#: scheduler/ipp.c:10915
 #, c-format
 msgid "Unknown printer-error-policy \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:10734
+#: scheduler/ipp.c:10899
 #, c-format
 msgid "Unknown printer-op-policy \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:402
+#: scheduler/ipp.c:406
 #, c-format
 msgid "Unsupported character set \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:8473 scheduler/ipp.c:9768
+#: scheduler/ipp.c:8555 scheduler/ipp.c:9850
 #, c-format
 msgid "Unsupported compression \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:11180
+#: scheduler/ipp.c:11345
 #, c-format
 msgid "Unsupported compression attribute %s!"
 msgstr ""
 
-#: scheduler/ipp.c:11208
+#: scheduler/ipp.c:11373
 #, c-format
 msgid "Unsupported format \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:1393 scheduler/ipp.c:9902
+#: scheduler/ipp.c:1410 scheduler/ipp.c:9984
 #, c-format
 msgid "Unsupported format '%s'!"
 msgstr ""
 
-#: scheduler/ipp.c:8607 scheduler/ipp.c:9885
+#: scheduler/ipp.c:8689 scheduler/ipp.c:9967
 #, c-format
 msgid "Unsupported format '%s/%s'!"
 msgstr ""
 
-#: cups/snmp.c:1116
+#: cups/snmp.c:1111
 msgid "Unsupported value type"
 msgstr ""
 
-#: cups/http-support.c:1221
+#: cups/http-support.c:1227
 msgid "Upgrade Required"
 msgstr ""
 
@@ -5281,7 +5283,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: filter/pdftops.c:96
+#: filter/pdftops.c:93
 #, c-format
 msgid "Usage: %s job user title copies options [filename]\n"
 msgstr ""
@@ -5352,7 +5354,7 @@ msgid ""
 "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
 msgstr ""
 
-#: scheduler/main.c:2050
+#: scheduler/main.c:2057
 msgid ""
 "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
 "\n"
@@ -5589,7 +5591,7 @@ msgstr ""
 msgid "WARNING: number expected for status option \"%s\"\n"
 msgstr ""
 
-#: backend/ipp.c:574 backend/ipp.c:704 backend/lpd.c:828 backend/socket.c:318
+#: backend/ipp.c:578 backend/ipp.c:709 backend/lpd.c:828 backend/socket.c:318
 #, c-format
 msgid "WARNING: recoverable: Network host '%s' is busy; will retry in %d seconds...\n"
 msgstr ""
@@ -5602,7 +5604,7 @@ msgstr ""
 msgid "Yes"
 msgstr ""
 
-#: scheduler/client.c:2428
+#: scheduler/client.c:2419
 #, c-format
 msgid "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
 msgstr ""
@@ -5635,11 +5637,11 @@ msgstr ""
 msgid "convert: Use the -f option to specify a file to convert.\n"
 msgstr ""
 
-#: scheduler/ipp.c:6535
+#: scheduler/ipp.c:6555
 msgid "cups-deviced failed to execute."
 msgstr ""
 
-#: scheduler/ipp.c:7204 scheduler/ipp.c:7454
+#: scheduler/ipp.c:7231 scheduler/ipp.c:7481
 msgid "cups-driverd failed to execute."
 msgstr ""
 
@@ -5747,7 +5749,7 @@ msgstr ""
 msgid "idle"
 msgstr ""
 
-#: scheduler/ipp.c:8143
+#: scheduler/ipp.c:8225
 msgid "job-printer-uri attribute missing!"
 msgstr ""
 
@@ -6095,22 +6097,22 @@ msgstr ""
 msgid "no system default destination\n"
 msgstr ""
 
-#: scheduler/ipp.c:6229
+#: scheduler/ipp.c:6249
 msgid "notify-events not specified!"
 msgstr ""
 
-#: scheduler/ipp.c:2085 scheduler/ipp.c:6134
+#: scheduler/ipp.c:2102 scheduler/ipp.c:6154
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" is already used!"
 msgstr ""
 
-#: scheduler/ipp.c:2075 scheduler/ipp.c:6124
+#: scheduler/ipp.c:2092 scheduler/ipp.c:6144
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
 msgstr ""
 
-#: scheduler/ipp.c:4121 scheduler/ipp.c:7052 scheduler/ipp.c:7698
-#: scheduler/ipp.c:9187
+#: scheduler/ipp.c:4136 scheduler/ipp.c:7079 scheduler/ipp.c:7780
+#: scheduler/ipp.c:9269
 #, c-format
 msgid "notify-subscription-id %d no good!"
 msgstr ""
index 49d10ca4b7abdedf35cb8b9dab4370f82172942f..91afa2d6182da9471f7ef254314669eb867744c5 100644 (file)
@@ -16,7 +16,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.4\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2008-12-15 09:29-0800\n"
+"POT-Creation-Date: 2009-01-30 09:28-0800\n"
 "PO-Revision-Date: 2008-12-17 17:32+0100\n"
 "Last-Translator: Juan Pablo González Riopedre <riopedre13@yahoo.es>\n"
 "Language-Team: Spanish\n"
@@ -245,24 +245,31 @@ msgstr ""
 "                REF: Página 15, sección 3.2.\n"
 
 msgid "        WARN    Default choices conflicting!\n"
-msgstr "        ADVERTENCIA    Las preferencias predeterminadas están en conflicto.\n"
+msgstr ""
+"        ADVERTENCIA    Las preferencias predeterminadas están en conflicto.\n"
 
 #, c-format
 msgid ""
-"        WARN    Duplex option keyword %s may not work as expected and should be named Duplex!\n"
+"        WARN    Duplex option keyword %s may not work as expected and should "
+"be named Duplex!\n"
 "                REF: Page 122, section 5.17\n"
 msgstr ""
-"        ADVERTENCIA    La clave de opción Duplex %s puede que no funcione como se espera y debería llamarse Duplex.\n"
+"        ADVERTENCIA    La clave de opción Duplex %s puede que no funcione "
+"como se espera y debería llamarse Duplex.\n"
 "                REF: Página 122, sección 5.17\n"
 
-msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
-msgstr "        ADVERTENCIA    El archivo contiene una mezcla de líneas acabadas en CR, LF y CR LF.\n"
+msgid ""
+"        WARN    File contains a mix of CR, LF, and CR LF line endings!\n"
+msgstr ""
+"        ADVERTENCIA    El archivo contiene una mezcla de líneas acabadas en "
+"CR, LF y CR LF.\n"
 
 msgid ""
 "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
 "                REF: Pages 56-57, section 5.3.\n"
 msgstr ""
-"        ADVERTENCIA    Se necesita LanguageEncoding por especificación de PPD 4.3.\n"
+"        ADVERTENCIA    Se necesita LanguageEncoding por especificación de "
+"PPD 4.3.\n"
 "                REF: Páginas 56-57, sección 5.3.\n"
 
 #, c-format
@@ -273,7 +280,8 @@ msgid ""
 "        WARN    Manufacturer required by PPD 4.3 spec.\n"
 "                REF: Pages 58-59, section 5.3.\n"
 msgstr ""
-"        ADVERTENCIA    Se necesita Manufacturer por especificación de PPD 4.3.\n"
+"        ADVERTENCIA    Se necesita Manufacturer por especificación de PPD "
+"4.3.\n"
 "                REF: Páginas 58-59, sección 5.3.\n"
 
 #, c-format
@@ -284,8 +292,12 @@ msgstr "        ADVERTENCIA    Falta el archivo APDialogExtension \"%s\"\n"
 msgid "        WARN    Missing APPrinterIconPath file \"%s\"\n"
 msgstr "        ADVERTENCIA    Falta el archivo APPrinterIconPath \"%s\"\n"
 
-msgid "        WARN    Non-Windows PPD files should use lines ending with only LF, not CR LF!\n"
-msgstr "        ADVERTENCIA    Los archivos PPD que no sean de Windows deben tener líneas que acaben sólo en LF, no en CR LF.\n"
+msgid ""
+"        WARN    Non-Windows PPD files should use lines ending with only LF, "
+"not CR LF!\n"
+msgstr ""
+"        ADVERTENCIA    Los archivos PPD que no sean de Windows deben tener "
+"líneas que acaben sólo en LF, no en CR LF.\n"
 
 #, c-format
 msgid ""
@@ -299,28 +311,32 @@ msgid ""
 "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
 "                REF: Pages 61-62, section 5.3.\n"
 msgstr ""
-"        ADVERTENCIA    PCFileName es mas largo que 8.3 violando la especificación PPD.\n"
+"        ADVERTENCIA    PCFileName es mas largo que 8.3 violando la "
+"especificación PPD.\n"
 "                REF: Páginas 61-62, sección 5.3.\n"
 
 msgid ""
 "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
 "                REF: Pages 78-79, section 5.7.\n"
 msgstr ""
-"        ADVERTENCIA    Los protocolos contienen PJL pero no se especifican los atributos JCL.\n"
+"        ADVERTENCIA    Los protocolos contienen PJL pero no se especifican "
+"los atributos JCL.\n"
 "                REF: Páginas 78-79, sección 5.7.\n"
 
 msgid ""
 "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
 "                REF: Pages 78-79, section 5.7.\n"
 msgstr ""
-"        ADVERTENCIA    Los protocolos contienen a ambos, PJL y BCP; se esperaba TBCP.\n"
+"        ADVERTENCIA    Los protocolos contienen a ambos, PJL y BCP; se "
+"esperaba TBCP.\n"
 "                REF: Páginas 78-79, sección 5.7.\n"
 
 msgid ""
 "        WARN    ShortNickName required by PPD 4.3 spec.\n"
 "                REF: Pages 64-65, section 5.3.\n"
 msgstr ""
-"        ADVERTENCIA    Se necesita ShortNickName por especificación de PPD 4.3.\n"
+"        ADVERTENCIA    Se necesita ShortNickName por especificación de PPD "
+"4.3.\n"
 "                REF: Páginas 64-65, sección 5.3.\n"
 
 #, c-format
@@ -337,11 +353,15 @@ msgstr ""
 
 #, c-format
 msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s!\n"
-msgstr "      %s  Cadena de traducción UTF-8 \"%s\" incorrecta para opción %s.\n"
+msgstr ""
+"      %s  Cadena de traducción UTF-8 \"%s\" incorrecta para opción %s.\n"
 
 #, c-format
-msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
-msgstr "      %s  Cadena de traducción UTF-8 \"%s\" incorrecta para opción %s, preferencia %s.\n"
+msgid ""
+"      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s!\n"
+msgstr ""
+"      %s  Cadena de traducción UTF-8 \"%s\" incorrecta para opción %s, "
+"preferencia %s.\n"
 
 #, c-format
 msgid "      %s  Bad cupsFilter value \"%s\"!\n"
@@ -373,15 +393,18 @@ msgstr "      %s  Falta cadena de traducción \"%s\" para opción %s.\n"
 
 #, c-format
 msgid "      %s  Missing \"%s\" translation string for option %s, choice %s!\n"
-msgstr "      %s  Falta cadena de traducción \"%s\" para opción %s, preferencia %s.\n"
+msgstr ""
+"      %s  Falta cadena de traducción \"%s\" para opción %s, preferencia %s.\n"
 
 #, c-format
 msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"!\n"
-msgstr "      %s  Falta la preferencia *%s %s en UIConstraint \"*%s %s *%s %s\".\n"
+msgstr ""
+"      %s  Falta la preferencia *%s %s en UIConstraint \"*%s %s *%s %s\".\n"
 
 #, c-format
 msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\"!\n"
-msgstr "      %s  Falta la preferencia *%s %s en cupsUIConstraints %s: \"%s\".\n"
+msgstr ""
+"      %s  Falta la preferencia *%s %s en cupsUIConstraints %s: \"%s\".\n"
 
 #, c-format
 msgid "      %s  Missing cupsFilter file \"%s\"\n"
@@ -429,7 +452,9 @@ msgstr "      %s  cupsUIResolver %s genera un bucle.\n"
 
 #, c-format
 msgid "      **FAIL**  %s choice names %s and %s differ only by case!\n"
-msgstr "      **FALLO**  %s nombres de opción %s y %s se diferencian sólo en la capitalización.\n"
+msgstr ""
+"      **FALLO**  %s nombres de opción %s y %s se diferencian sólo en la "
+"capitalización.\n"
 
 #, c-format
 msgid ""
@@ -539,7 +564,8 @@ msgstr ""
 
 #, c-format
 msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
-msgstr "      **FALLO**  LanguageEncoding %s incorrecto: debería ser ISOLatin1.\n"
+msgstr ""
+"      **FALLO**  LanguageEncoding %s incorrecto: debería ser ISOLatin1.\n"
 
 #, c-format
 msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
@@ -547,19 +573,31 @@ msgstr "      **FALLO**  LanguageVersion %s incorrecto: debería ser Inglés.\n"
 
 #, c-format
 msgid "      **FAIL**  Default option code cannot be interpreted: %s\n"
-msgstr "      **FALLO**  El código de opción predeterminado no puede ser interpretado: %s\n"
+msgstr ""
+"      **FALLO**  El código de opción predeterminado no puede ser "
+"interpretado: %s\n"
 
 #, c-format
-msgid "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters!\n"
-msgstr "      **FALLO**  Cadena de traducción predeterminada para opción %s preferencia %s contiene caracteres de 8-bits.\n"
+msgid ""
+"      **FAIL**  Default translation string for option %s choice %s contains "
+"8-bit characters!\n"
+msgstr ""
+"      **FALLO**  Cadena de traducción predeterminada para opción %s "
+"preferencia %s contiene caracteres de 8-bits.\n"
 
 #, c-format
-msgid "      **FAIL**  Default translation string for option %s contains 8-bit characters!\n"
-msgstr "      **FALLO**  Cadena de traducción predeterminada para opción %s contiene caracteres de 8-bits.\n"
+msgid ""
+"      **FAIL**  Default translation string for option %s contains 8-bit "
+"characters!\n"
+msgstr ""
+"      **FALLO**  Cadena de traducción predeterminada para opción %s contiene "
+"caracteres de 8-bits.\n"
 
 #, c-format
 msgid "      **FAIL**  Group names %s and %s differ only by case!\n"
-msgstr "      **FALLO**  Nombres de grupo %s y %s se diferencian sólo en la capitalización.\n"
+msgstr ""
+"      **FALLO**  Nombres de grupo %s y %s se diferencian sólo en la "
+"capitalización.\n"
 
 #, c-format
 msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
@@ -567,7 +605,9 @@ msgstr "      **FALLO**  Múltiples apariciones de %s nombre de opción %s.\n"
 
 #, c-format
 msgid "      **FAIL**  Option names %s and %s differ only by case!\n"
-msgstr "      **FALLO**  Nombres de opción %s y %s se diferencian sólo en la capitalización.\n"
+msgstr ""
+"      **FALLO**  Nombres de opción %s y %s se diferencian sólo en la "
+"capitalización.\n"
 
 #, c-format
 msgid ""
@@ -934,8 +974,11 @@ msgid "%s: Don't know what to do!\n"
 msgstr "%s: No sé que hay que hacer.\n"
 
 #, c-format
-msgid "%s: Error - %s environment variable names non-existent destination \"%s\"!\n"
-msgstr "%s: Error - %s nombres de variables de entorno no existen en destino \"%s\".\n"
+msgid ""
+"%s: Error - %s environment variable names non-existent destination \"%s\"!\n"
+msgstr ""
+"%s: Error - %s nombres de variables de entorno no existen en destino \"%s"
+"\".\n"
 
 #, c-format
 msgid "%s: Error - bad job ID!\n"
@@ -943,11 +986,16 @@ msgstr "%s: Error - ID de trabajo incorrecta.\n"
 
 #, c-format
 msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
-msgstr "%s: Error - no se pueden imprimir archivos y alterar trabajos al mismo tiempo.\n"
+msgstr ""
+"%s: Error - no se pueden imprimir archivos y alterar trabajos al mismo "
+"tiempo.\n"
 
 #, c-format
-msgid "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
-msgstr "%s: Error - no se puede imprimir desde stdin si se proporcionan archivos o una ID de trabajo.\n"
+msgid ""
+"%s: Error - cannot print from stdin if files or a job ID are provided!\n"
+msgstr ""
+"%s: Error - no se puede imprimir desde stdin si se proporcionan archivos o "
+"una ID de trabajo.\n"
 
 #, c-format
 msgid "%s: Error - expected character set after '-S' option!\n"
@@ -1034,8 +1082,12 @@ msgid "%s: Error - expected value after '-%c' option!\n"
 msgstr "%s: Error - se esperaba un valor tras la opción '%c'.\n"
 
 #, c-format
-msgid "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' option!\n"
-msgstr "%s: Error - se necesita \"completed\", \"not completed\", o \"all\" tras la opción '-W'.\n"
+msgid ""
+"%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' "
+"option!\n"
+msgstr ""
+"%s: Error - se necesita \"completed\", \"not completed\", o \"all\" tras la "
+"opción '-W'.\n"
 
 #, c-format
 msgid "%s: Error - no default destination available.\n"
@@ -1095,7 +1147,8 @@ msgstr "%s: Cadena de filtro \"%s\" inválida\n"
 
 #, c-format
 msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
-msgstr "%s: Se necesita un ID de trabajo ('-i id_trabajo') antes de '-H restart'.\n"
+msgstr ""
+"%s: Se necesita un ID de trabajo ('-i id_trabajo') antes de '-H restart'.\n"
 
 #, c-format
 msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
@@ -1158,8 +1211,12 @@ msgid "%s: Unknown source MIME type %s/%s!\n"
 msgstr "%s: Tipo MIME de origen %s/%s desconocido.\n"
 
 #, c-format
-msgid "%s: Warning - '%c' format modifier not supported - output may not be correct!\n"
-msgstr "%s: Advertencia - no se admite el uso del modificador de formato '%c' - la salida puede no ser correcta.\n"
+msgid ""
+"%s: Warning - '%c' format modifier not supported - output may not be "
+"correct!\n"
+msgstr ""
+"%s: Advertencia - no se admite el uso del modificador de formato '%c' - la "
+"salida puede no ser correcta.\n"
 
 #, c-format
 msgid "%s: Warning - character set option ignored!\n"
@@ -1178,8 +1235,11 @@ msgid "%s: Warning - mode option ignored!\n"
 msgstr "%s: Advertencia - opción de modo no tenida en cuenta.\n"
 
 #, c-format
-msgid "%s: error - %s environment variable names non-existent destination \"%s\"!\n"
-msgstr "%s: error - %s nombres de variables de entorno no existen en destino \"%s\".\n"
+msgid ""
+"%s: error - %s environment variable names non-existent destination \"%s\"!\n"
+msgstr ""
+"%s: error - %s nombres de variables de entorno no existen en destino \"%s"
+"\".\n"
 
 #, c-format
 msgid "%s: error - expected option=value after '-o' option!\n"
@@ -1784,10 +1844,14 @@ msgid "?Invalid help command unknown\n"
 msgstr "?Comando de ayuda inválido desconocido\n"
 
 msgid "A Samba password is required to export printer drivers!"
-msgstr "Se requiere una contraseña Samba para exportar los controladores de impresora."
+msgstr ""
+"Se requiere una contraseña Samba para exportar los controladores de "
+"impresora."
 
 msgid "A Samba username is required to export printer drivers!"
-msgstr "Se requiere un nombre de usuario Samba para exportar los controladores de impresora."
+msgstr ""
+"Se requiere un nombre de usuario Samba para exportar los controladores de "
+"impresora."
 
 #, c-format
 msgid "A class named \"%s\" already exists!"
@@ -1907,7 +1971,9 @@ msgstr "Aplicador"
 
 #, c-format
 msgid "Attempt to set %s printer-state to bad value %d!"
-msgstr "Se ha intentado cambiar el valor printer-state de %s a un valor incorrecto %d."
+msgstr ""
+"Se ha intentado cambiar el valor printer-state de %s a un valor incorrecto %"
+"d."
 
 #, c-format
 msgid "Attribute groups are out of order (%x < %x)!"
@@ -2254,11 +2320,13 @@ msgstr "Dymo"
 
 #, c-format
 msgid "EMERG: Unable to allocate memory for page info: %s\n"
-msgstr "EMERG: No se ha podido asignar memoria para la información de página: %s\n"
+msgstr ""
+"EMERG: No se ha podido asignar memoria para la información de página: %s\n"
 
 #, c-format
 msgid "EMERG: Unable to allocate memory for pages array: %s\n"
-msgstr "EMERG: No se ha podido asignar memoria para la secuencia de páginas: %s\n"
+msgstr ""
+"EMERG: No se ha podido asignar memoria para la secuencia de páginas: %s\n"
 
 msgid "EPL1 Label Printer"
 msgstr "Impresora de etiquetas EPL1"
@@ -2347,7 +2415,9 @@ msgid "ERROR: Fatal USB error!\n"
 msgstr "ERROR: Error fatal de USB.\n"
 
 msgid "ERROR: Invalid HP-GL/2 command seen, unable to print file!\n"
-msgstr "ERROR: Se ha detectado un comando HP-GL/2 no válido; no se puede imprimir el archivo.\n"
+msgstr ""
+"ERROR: Se ha detectado un comando HP-GL/2 no válido; no se puede imprimir el "
+"archivo.\n"
 
 #, c-format
 msgid "ERROR: Missing %%EndProlog!\n"
@@ -2357,16 +2427,23 @@ msgstr "ERROR: Falta %%EndProlog.\n"
 msgid "ERROR: Missing %%EndSetup!\n"
 msgstr "ERROR: Falta %%EndSetup.\n"
 
-msgid "ERROR: Missing device URI on command-line and no DEVICE_URI environment variable!\n"
-msgstr "ERROR: Falta URI del dispositivo en la línea de comandos y no hay variable de entorno DEVICE_URI.\n"
+msgid ""
+"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
+"variable!\n"
+msgstr ""
+"ERROR: Falta URI del dispositivo en la línea de comandos y no hay variable "
+"de entorno DEVICE_URI.\n"
 
 #, c-format
 msgid "ERROR: Missing value on line %d of banner file!\n"
 msgstr "ERROR: Falta el valor en la línea %d del archivo de rótulo.\n"
 
 #, c-format
-msgid "ERROR: Need a msgid line before any translation strings on line %d of %s!\n"
-msgstr "ERROR: Se necesita una línea msgid antes de cualquier cadena de traducción en línea %d de %s.\n"
+msgid ""
+"ERROR: Need a msgid line before any translation strings on line %d of %s!\n"
+msgstr ""
+"ERROR: Se necesita una línea msgid antes de cualquier cadena de traducción "
+"en línea %d de %s.\n"
 
 #, c-format
 msgid "ERROR: No %%BoundingBox: comment in header!\n"
@@ -2376,8 +2453,12 @@ msgstr "ERROR: No hay comentario %%BoundingBox: en la cabecera.\n"
 msgid "ERROR: No %%Pages: comment in header!\n"
 msgstr "ERROR: No hay comentario %%Pages: en la cabecera.\n"
 
-msgid "ERROR: No device URI found in argv[0] or in DEVICE_URI environment variable!\n"
-msgstr "ERROR: No se ha encontrado el URI del dispositivo en argv[0] o en la variable de entorno DEVICE_URI.\n"
+msgid ""
+"ERROR: No device URI found in argv[0] or in DEVICE_URI environment "
+"variable!\n"
+msgstr ""
+"ERROR: No se ha encontrado el URI del dispositivo en argv[0] o en la "
+"variable de entorno DEVICE_URI.\n"
 
 #, c-format
 msgid "ERROR: No fonts in charset file %s\n"
@@ -2414,7 +2495,9 @@ msgid "ERROR: Remote host did not accept data file (%d)\n"
 msgstr "ERROR: El ordenador remoto no ha aceptado el archivo de datos (%d)\n"
 
 msgid "ERROR: There was a timeout error while sending data to the printer\n"
-msgstr "ERROR: Hay un error de tiempo de espera mientras se enviaban datos a la impresora\n"
+msgstr ""
+"ERROR: Hay un error de tiempo de espera mientras se enviaban datos a la "
+"impresora\n"
 
 #, c-format
 msgid "ERROR: Unable to add file %d to job: %s\n"
@@ -2432,7 +2515,9 @@ msgstr "ERROR: No se ha podido crear socket"
 
 #, c-format
 msgid "ERROR: Unable to create temporary compressed print file: %s\n"
-msgstr "ERROR: No se ha podido crear el archivo de impresión temporal comprimido: %s\n"
+msgstr ""
+"ERROR: No se ha podido crear el archivo de impresión temporal comprimido: %"
+"s\n"
 
 msgid "ERROR: Unable to create temporary file"
 msgstr "ERROR: No se ha podido crear el archivo temporal"
@@ -2467,7 +2552,9 @@ msgstr "ERROR: No se ha podido obtener una respuesta PAP"
 
 #, c-format
 msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
-msgstr "ERROR: No se ha podido obtener el archivo PPD para la impresora \"%s\" - %s.\n"
+msgstr ""
+"ERROR: No se ha podido obtener el archivo PPD para la impresora \"%s\" - %"
+"s.\n"
 
 msgid "ERROR: Unable to get default AppleTalk zone"
 msgstr "ERROR: No se ha podido conseguir la zona AppleTalk predeterminada"
@@ -2534,7 +2621,9 @@ msgstr "ERROR: No se ha podido abrir el archivo de impresión %s: %s\n"
 
 #, c-format
 msgid "ERROR: Unable to open temporary compressed print file: %s\n"
-msgstr "ERROR: No se ha podido abrir el archivo de impresión temporal comprimido: %s\n"
+msgstr ""
+"ERROR: No se ha podido abrir el archivo de impresión temporal comprimido: %"
+"s\n"
 
 msgid "ERROR: Unable to open temporary file"
 msgstr "ERROR: No se ha podido abrir el archivo temporal"
@@ -2571,7 +2660,8 @@ msgid "ERROR: Unable to send PAP tickle request"
 msgstr "ERROR: No se ha podido enviar una petición PAP"
 
 msgid "ERROR: Unable to send initial PAP send data request"
-msgstr "ERROR: No se ha podido enviar la petición inicial de datos de envío PAP"
+msgstr ""
+"ERROR: No se ha podido enviar la petición inicial de datos de envío PAP"
 
 #, c-format
 msgid "ERROR: Unable to send print data (%d)\n"
@@ -2609,14 +2699,16 @@ msgid "ERROR: Unable to write print data: %s\n"
 msgstr "ERROR: No se han podido escribir los datos de impresión: %s\n"
 
 msgid "ERROR: Unable to write raster data to driver!\n"
-msgstr "ERROR: No se ha podido escribir la trama de datos (raster) al controlador.\n"
+msgstr ""
+"ERROR: No se ha podido escribir la trama de datos (raster) al controlador.\n"
 
 msgid "ERROR: Unable to write to temporary file"
 msgstr "ERROR: No se ha podido escribir al archivo temporal"
 
 #, c-format
 msgid "ERROR: Unable to write uncompressed document data: %s\n"
-msgstr "ERROR: No se han podido escribir los datos de documento sin comprimir: %s\n"
+msgstr ""
+"ERROR: No se han podido escribir los datos de documento sin comprimir: %s\n"
 
 #, c-format
 msgid "ERROR: Unexpected text on line %d of %s!\n"
@@ -2660,19 +2752,28 @@ msgstr "ERROR: Valor gamma %s no permitido; usando gamma=1000.\n"
 
 #, c-format
 msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
-msgstr "ERROR: Valor de number-up (páginas por hoja) %d no permitido; usando number-up=1.\n"
+msgstr ""
+"ERROR: Valor de number-up (páginas por hoja) %d no permitido; usando number-"
+"up=1.\n"
 
 #, c-format
-msgid "ERROR: Unsupported number-up-layout value %s, using number-up-layout=lrtb!\n"
-msgstr "ERROR: Valor de number-up-layout (disposición de páginas por hoja) %s no permitido; usando number-up-layout=lrtb.\n"
+msgid ""
+"ERROR: Unsupported number-up-layout value %s, using number-up-layout=lrtb!\n"
+msgstr ""
+"ERROR: Valor de number-up-layout (disposición de páginas por hoja) %s no "
+"permitido; usando number-up-layout=lrtb.\n"
 
 #, c-format
 msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
-msgstr "ERROR: Valor de page-border (borde de página) %s no permitido; usando page-border=none (ninguno).\n"
+msgstr ""
+"ERROR: Valor de page-border (borde de página) %s no permitido; usando page-"
+"border=none (ninguno).\n"
 
 #, c-format
 msgid "ERROR: doc_printf overflow (%d bytes) detected, aborting!\n"
-msgstr "ERROR: Se ha detectado un desbordamiento de doc_printf (%d bytes); cancelando.\n"
+msgstr ""
+"ERROR: Se ha detectado un desbordamiento de doc_printf (%d bytes); "
+"cancelando.\n"
 
 #, c-format
 msgid "ERROR: pdftops filter crashed on signal %d!\n"
@@ -2690,8 +2791,12 @@ msgstr "ERROR: pictwpstops se ha cerrado con la señal %d.\n"
 msgid "ERROR: pictwpstops exited with status %d!\n"
 msgstr "ERROR: pictwpstops se ha cerrado con el estado %d.\n"
 
-msgid "ERROR: recoverable: Unable to connect to printer; will retry in 30 seconds...\n"
-msgstr "ERROR: recuperable: No se ha podido establecer conexión con la impresora; reintento en 30 segundos...\n"
+msgid ""
+"ERROR: recoverable: Unable to connect to printer; will retry in 30 "
+"seconds...\n"
+msgstr ""
+"ERROR: recuperable: No se ha podido establecer conexión con la impresora; "
+"reintento en 30 segundos...\n"
 
 msgid "ERROR: select() failed"
 msgstr "ERROR: select() ha fallado"
@@ -2717,8 +2822,14 @@ msgstr "Introduzca nuevamente la contraseña:"
 msgid "Enter password:"
 msgstr "Introduzca la contraseña:"
 
-msgid "Enter your username and password or the root username and password to access this page. If you are using Kerberos authentication, make sure you have a valid Kerberos ticket."
-msgstr "Introduzca su nombre de usuario y contraseña o el nombre de usuario y contraseña de root para poder acceder a esta página. Si está usando autentificación Kerberos, asegúrese de que tiene un ticket Kerberos válido."
+msgid ""
+"Enter your username and password or the root username and password to access "
+"this page. If you are using Kerberos authentication, make sure you have a "
+"valid Kerberos ticket."
+msgstr ""
+"Introduzca su nombre de usuario y contraseña o el nombre de usuario y "
+"contraseña de root para poder acceder a esta página. Si está usando "
+"autentificación Kerberos, asegúrese de que tiene un ticket Kerberos válido."
 
 msgid "Envelope Feed"
 msgstr "Alimentador de sobre"
@@ -2778,8 +2889,12 @@ msgid "File Folder - 9/16 x 3 7/16\""
 msgstr "Carpeta de archivosr - 9/16 x 3 7/16 pulg."
 
 #, c-format
-msgid "File device URIs have been disabled! To enable, see the FileDevice directive in \"%s/cupsd.conf\"."
-msgstr "Los URIs del dispositivo de archivo han sido deshabilitados. Para habilitarlos, vea la directiva FileDevice en \"%s/cupsd.conf\"."
+msgid ""
+"File device URIs have been disabled! To enable, see the FileDevice directive "
+"in \"%s/cupsd.conf\"."
+msgstr ""
+"Los URIs del dispositivo de archivo han sido deshabilitados. Para "
+"habilitarlos, vea la directiva FileDevice en \"%s/cupsd.conf\"."
 
 msgid "Folio"
 msgstr "Folio"
@@ -2861,7 +2976,9 @@ msgid "INFO: Opening connection\n"
 msgstr "INFO: Abriendo la conexión\n"
 
 msgid "INFO: Print file sent, waiting for printer to finish...\n"
-msgstr "INFO: Archivo de impresión enviado; esperando a que finalice la impresora...\n"
+msgstr ""
+"INFO: Archivo de impresión enviado; esperando a que finalice la "
+"impresora...\n"
 
 msgid "INFO: Printer busy; will retry in 10 seconds...\n"
 msgstr "INFO: Impresora ocupada; reintento en 10 segundos...\n"
@@ -2872,8 +2989,9 @@ msgstr "INFO: Impresora ocupada; reintento en 30 segundos...\n"
 msgid "INFO: Printer busy; will retry in 5 seconds...\n"
 msgstr "INFO: Impresora ocupada; reintento en 5 segundos...\n"
 
-msgid "INFO: Printer does not support IPP/1.1, trying IPP/1.0...\n"
-msgstr "INFO: La impresora no es compatible con IPP/1.1; probando IPP/1.0...\n"
+#, c-format
+msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
+msgstr ""
 
 msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
 msgstr "INFO: La impresora está ocupada; reintento en 5 segundos...\n"
@@ -2939,7 +3057,9 @@ msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
 msgstr "INFO: Guardando trabajo LPR en cola, %.0f%% completado...\n"
 
 msgid "INFO: Unable to contact printer, queuing on next printer in class...\n"
-msgstr "INFO: No se ha podido contactar con la impresora; poniendo en cola en la siguiente impresora de la clase...\n"
+msgstr ""
+"INFO: No se ha podido contactar con la impresora; poniendo en cola en la "
+"siguiente impresora de la clase...\n"
 
 #, c-format
 msgid "INFO: Using default AppleTalk zone \"%s\"\n"
@@ -3484,7 +3604,8 @@ msgstr "La salida de la impresora %s se ha enviado a %s\n"
 
 #, c-format
 msgid "Output for printer %s is sent to remote printer %s on %s\n"
-msgstr "La salida de la impresora %s se ha enviado a la impresora remota %s en %s\n"
+msgstr ""
+"La salida de la impresora %s se ha enviado a la impresora remota %s en %s\n"
 
 #, c-format
 msgid "Output for printer %s/%s is sent to %s\n"
@@ -3492,7 +3613,9 @@ msgstr "La salida de la impresora %s/%s se ha enviado a %s\n"
 
 #, c-format
 msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
-msgstr "La salida de la impresora %s/%s se ha enviado a la impresora remota %s en %s\n"
+msgstr ""
+"La salida de la impresora %s/%s se ha enviado a la impresora remota %s en %"
+"s\n"
 
 msgid "Output tray missing!"
 msgstr "Falta la bandeja de salida."
@@ -3673,8 +3796,10 @@ msgstr "Se ha alcanzado el límite de cuota."
 msgid "Rank    Owner   Job     File(s)                         Total Size\n"
 msgstr "Rango  Propiet. Trabajo Archivo(s)                      Tamaño total\n"
 
-msgid "Rank   Owner      Pri  Job        Files                       Total Size\n"
-msgstr "Rango  Propiet.   Pri  Trabajo    Archivos                    Tamaño total\n"
+msgid ""
+"Rank   Owner      Pri  Job        Files                       Total Size\n"
+msgstr ""
+"Rango  Propiet.   Pri  Trabajo    Archivos                    Tamaño total\n"
 
 msgid "Reject Jobs"
 msgstr "Rechazar trabajos"
@@ -3812,18 +3937,29 @@ msgstr "No se ha podido encontrar el archivo PPD \"%s\"."
 msgid "The PPD file \"%s\" could not be opened: %s"
 msgstr "No se ha podido abrir el archivo PPD \"%s\": %s"
 
-msgid "The class name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
-msgstr "El nombre de la clase sólo puede contener hasta 127 caracteres imprimibles y no puede contener espacios, barras (/), o la almohadilla (#)."
+msgid ""
+"The class name may only contain up to 127 printable characters and may not "
+"contain spaces, slashes (/), or the pound sign (#)."
+msgstr ""
+"El nombre de la clase sólo puede contener hasta 127 caracteres imprimibles y "
+"no puede contener espacios, barras (/), o la almohadilla (#)."
 
-msgid "The notify-lease-duration attribute cannot be used with job subscriptions."
-msgstr "El atributo notify-lease-duration no puede ser usado con subscripciones de trabajos."
+msgid ""
+"The notify-lease-duration attribute cannot be used with job subscriptions."
+msgstr ""
+"El atributo notify-lease-duration no puede ser usado con subscripciones de "
+"trabajos."
 
 #, c-format
 msgid "The notify-user-data value is too large (%d > 63 octets)!"
 msgstr "El valor notify-user-data es demasiado grande (%d > 63 octetos)."
 
-msgid "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
-msgstr "El nombre de la impresora sólo puede contener hasta 127 caracteres imprimibles y no puede contener espacios, barras (/), o la almohadilla (#)."
+msgid ""
+"The printer name may only contain up to 127 printable characters and may not "
+"contain spaces, slashes (/), or the pound sign (#)."
+msgstr ""
+"El nombre de la impresora sólo puede contener hasta 127 caracteres "
+"imprimibles y no puede contener espacios, barras (/), o la almohadilla (#)."
 
 msgid "The printer or class is not shared!"
 msgstr "La impresora o clase no está compartida."
@@ -3838,14 +3974,24 @@ msgstr "El printer-uri \"%s\" contiene caracteres incorrectos."
 msgid "The printer-uri attribute is required!"
 msgstr "Se necesita el atributo printer-uri."
 
-msgid "The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
-msgstr "El printer-uri debe ser de la forma \"ipp://NOMBRE_ORDENADOR/classes/NOMBRE_CLASE\"."
+msgid ""
+"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
+msgstr ""
+"El printer-uri debe ser de la forma \"ipp://NOMBRE_ORDENADOR/classes/"
+"NOMBRE_CLASE\"."
 
-msgid "The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
-msgstr "El printer-uri debe ser de la forma \"ipp://NOMBRE_ORDENADOR/printers/NOMBRE_IMPRESORA\"."
+msgid ""
+"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
+msgstr ""
+"El printer-uri debe ser de la forma \"ipp://NOMBRE_ORDENADOR/printers/"
+"NOMBRE_IMPRESORA\"."
 
-msgid "The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#)."
-msgstr "El nombre de la subscripción no puede contener espacios, barras (/), signos de interrogación (?), o la almohadilla (#)."
+msgid ""
+"The subscription name may not contain spaces, slashes (/), question marks "
+"(?), or the pound sign (#)."
+msgstr ""
+"El nombre de la subscripción no puede contener espacios, barras (/), signos "
+"de interrogación (?), o la almohadilla (#)."
 
 msgid "There are too many subscriptions."
 msgstr "Hay demasiadas subscripciones."
@@ -3955,15 +4101,21 @@ msgstr "No se ha podido conectar al servidor."
 
 #, c-format
 msgid "Unable to copy 64-bit CUPS printer driver files (%d)!"
-msgstr "No se han podido copiar los archivos del controlador de impresora de 64-bit de CUPS (%d)."
+msgstr ""
+"No se han podido copiar los archivos del controlador de impresora de 64-bit "
+"de CUPS (%d)."
 
 #, c-format
 msgid "Unable to copy 64-bit Windows printer driver files (%d)!"
-msgstr "No se han podido copiar los archivos del controlador de impresora de 64-bit de Windows (%d)."
+msgstr ""
+"No se han podido copiar los archivos del controlador de impresora de 64-bit "
+"de Windows (%d)."
 
 #, c-format
 msgid "Unable to copy CUPS printer driver files (%d)!"
-msgstr "No se han podido copiar los archivos del controlador de impresora de CUPS (%d)."
+msgstr ""
+"No se han podido copiar los archivos del controlador de impresora de CUPS (%"
+"d)."
 
 #, c-format
 msgid "Unable to copy PPD file - %s!"
@@ -3974,11 +4126,15 @@ msgstr "No se ha podido copiar el archivo PPD."
 
 #, c-format
 msgid "Unable to copy Windows 2000 printer driver files (%d)!"
-msgstr "No se han podido copiar los archivos del controlador de impresora de Windows 2000 (%d)."
+msgstr ""
+"No se han podido copiar los archivos del controlador de impresora de Windows "
+"2000 (%d)."
 
 #, c-format
 msgid "Unable to copy Windows 9x printer driver files (%d)!"
-msgstr "No se han podido copiar los archivos del controlador de impresora de Windows 9x (%d)."
+msgstr ""
+"No se han podido copiar los archivos del controlador de impresora de Windows "
+"9x (%d)."
 
 #, c-format
 msgid "Unable to copy interface script - %s!"
@@ -4028,11 +4184,15 @@ msgstr "No se ha podido obtener el estado de la impresora"
 
 #, c-format
 msgid "Unable to install Windows 2000 printer driver files (%d)!"
-msgstr "No se han podido instalar los archivos del controlador de impresora de Windows 2000 (%d)."
+msgstr ""
+"No se han podido instalar los archivos del controlador de impresora de "
+"Windows 2000 (%d)."
 
 #, c-format
 msgid "Unable to install Windows 9x printer driver files (%d)!"
-msgstr "No se han podido instalar los archivos del controlador de impresora de Windows 9x (%d)."
+msgstr ""
+"No se han podido instalar los archivos del controlador de impresora de "
+"Windows 9x (%d)."
 
 msgid "Unable to modify class:"
 msgstr "No se ha podido modificar la clase:"
@@ -4071,7 +4231,8 @@ msgstr "No se ha podido enviar un comando al controlador de la impresora."
 
 #, c-format
 msgid "Unable to set Windows printer driver (%d)!"
-msgstr "No se ha podido configurar el controlador de impresora de Windows (%d)."
+msgstr ""
+"No se ha podido configurar el controlador de impresora de Windows (%d)."
 
 msgid "Unable to set options:"
 msgstr "No se han podido cambiar las opciones:"
@@ -4190,10 +4351,14 @@ msgstr ""
 "\n"
 "Opciones:\n"
 "\n"
-"  -f nombrearchivo          Establece el archivo a convertir (de otro modo, stdin)\n"
-"  -o nombrearchivo          Establece el archivo a generar (de otro modo, stdout)\n"
-"  -i tipo/mime         Establece el tipo MIME de entrada (de otro modo, auto-tipado)\n"
-"  -j tipo/mime         Establece el tipo MIME de salida (de otro modo, application/pdf)\n"
+"  -f nombrearchivo          Establece el archivo a convertir (de otro modo, "
+"stdin)\n"
+"  -o nombrearchivo          Establece el archivo a generar (de otro modo, "
+"stdout)\n"
+"  -i tipo/mime         Establece el tipo MIME de entrada (de otro modo, auto-"
+"tipado)\n"
+"  -j tipo/mime         Establece el tipo MIME de salida (de otro modo, "
+"application/pdf)\n"
 "  -P nombrearchivo.ppd      Establece el archivo PPD\n"
 "  -a 'nombre=valor ...'  Establece opcion(es)\n"
 "  -U nombreusuario          Establece el nombre de usuario del trabajo\n"
@@ -4218,7 +4383,8 @@ msgstr ""
 "       cupsaddsmb [opciones] -a\n"
 "\n"
 "Opciones:\n"
-"  -E               Hace que se use encriptación en la conexión con el servidor\n"
+"  -E               Hace que se use encriptación en la conexión con el "
+"servidor\n"
 "  -H servidor_samba  Usa el servidor SAMBA especificado\n"
 "  -U usuario_samba    Autentifica usando el usuario SAMBA especificado\n"
 "  -a               Exporta todas las impresoras\n"
@@ -4253,8 +4419,10 @@ msgstr ""
 "    --[no-]remote-admin     Activar o desactivar la administración remota\n"
 "    --[no-]remote-any       Permitir o impedir el acceso desde Internet\n"
 "    --[no-]remote-printers  Mostrar u ocultar las impresoras remotas\n"
-"    --[no-]share-printers   Activar o desactivar la compartición de impresoras\n"
-"    --[no-]user-cancel-any  Permitir o impedir a los usuarios cancelar cualquier trabajo\n"
+"    --[no-]share-printers   Activar o desactivar la compartición de "
+"impresoras\n"
+"    --[no-]user-cancel-any  Permitir o impedir a los usuarios cancelar "
+"cualquier trabajo\n"
 
 msgid ""
 "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
@@ -4290,7 +4458,8 @@ msgstr ""
 "Opciones:\n"
 "\n"
 "  -c cupsd.conf    Establecer el archivo cupsd.conf a usar\n"
-"  -j id-trabajo[,N]    Filtrar el archivo N del trabajo especificado (valor predeterminado 1)\n"
+"  -j id-trabajo[,N]    Filtrar el archivo N del trabajo especificado (valor "
+"predeterminado 1)\n"
 "  -n copias        Establecer el número de copias\n"
 "  -o nombre=valor    Establecer las opciones\n"
 "  -p nombre_archivo.ppd  Especificar el archivo PPD\n"
@@ -4304,7 +4473,8 @@ msgid ""
 "\n"
 "    -h       Show program usage\n"
 "\n"
-"    Note: this program only validates the DSC comments, not the PostScript itself.\n"
+"    Note: this program only validates the DSC comments, not the PostScript "
+"itself.\n"
 msgstr ""
 "Uso: cupstestdsc [opciones] nombre_archivo.ps [... nombre_archivo.ps]\n"
 "       cupstestdsc [opciones] -\n"
@@ -4313,7 +4483,8 @@ msgstr ""
 "\n"
 "    -h       Muestra cómo se usa el programa\n"
 "\n"
-"    Nota: este programa sólo valida los comentarios DSC, no el PostScript en sí mismo.\n"
+"    Nota: este programa sólo valida los comentarios DSC, no el PostScript en "
+"sí mismo.\n"
 
 msgid ""
 "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
@@ -4329,7 +4500,8 @@ msgid ""
 "    -v                   Be slightly verbose\n"
 "    -vv                  Be very verbose\n"
 msgstr ""
-"Uso: cupstestppd [opciones] nombre_archivo1.ppd[.gz] [... nombre_archivoN.ppd[.gz]]\n"
+"Uso: cupstestppd [opciones] nombre_archivo1.ppd[.gz] [... nombre_archivoN.ppd"
+"[.gz]]\n"
 "       programa | cupstestppd [opciones] -\n"
 "\n"
 "Opciones:\n"
@@ -4368,8 +4540,11 @@ msgstr ""
 "       lppasswd [-g nombre_grupo] -a [nombre_usuario]\n"
 "       lppasswd [-g nombre_grupo] -x [nombre_usuario]\n"
 
-msgid "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
-msgstr "Uso: lpq (-P dest) (-U nombre_usuario) (-h nombre_ordenador(:puerto)) (-l) (+intervalo)\n"
+msgid ""
+"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]\n"
+msgstr ""
+"Uso: lpq (-P dest) (-U nombre_usuario) (-h nombre_ordenador(:puerto)) (-l) "
+"(+intervalo)\n"
 
 msgid ""
 "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
@@ -4440,7 +4615,8 @@ msgid ""
 "  -I include-dir    Add include directory to search path.\n"
 "  -v                Be verbose (more v's for more verbosity).\n"
 msgstr ""
-"Uso: ppdpo [opciones] -o nombre_archivo.po nombre_archivo.drv [ ... nombre_archivoN.drv ]\n"
+"Uso: ppdpo [opciones] -o nombre_archivo.po nombre_archivo.drv [ ... "
+"nombre_archivoN.drv ]\n"
 "Opciones:\n"
 "  -D nombre=valor        Establece la variable nombre al valor.\n"
 "  -I include-dir    Añade el directorio include a la ruta de búsqueda.\n"
@@ -4464,7 +4640,8 @@ msgstr "WARNING: Añadiendo sólo las primeras %d impresoras encontradas"
 
 #, c-format
 msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
-msgstr "WARNING: Se esperaba un valor booleano para la opción waiteof \"%s\".\n"
+msgstr ""
+"WARNING: Se esperaba un valor booleano para la opción waiteof \"%s\".\n"
 
 msgid "WARNING: Failed to read side-channel request!\n"
 msgstr "WARNING: No se ha podido leer la petición del canal lateral.\n"
@@ -4480,23 +4657,41 @@ msgid "WARNING: Printer sent unexpected EOF\n"
 msgstr "WARNING: La impresora envió un EOF inesperado\n"
 
 #, c-format
-msgid "WARNING: Remote host did not respond with command status byte after %d seconds!\n"
-msgstr "WARNING: El ordenador remoto no ha respondido con el byte de estado del comando después de %d segundos.\n"
+msgid ""
+"WARNING: Remote host did not respond with command status byte after %d "
+"seconds!\n"
+msgstr ""
+"WARNING: El ordenador remoto no ha respondido con el byte de estado del "
+"comando después de %d segundos.\n"
 
 #, c-format
-msgid "WARNING: Remote host did not respond with control status byte after %d seconds!\n"
-msgstr "WARNING: El ordenador remoto no ha respondido con el byte de estado de control después de %d segundos.\n"
+msgid ""
+"WARNING: Remote host did not respond with control status byte after %d "
+"seconds!\n"
+msgstr ""
+"WARNING: El ordenador remoto no ha respondido con el byte de estado de "
+"control después de %d segundos.\n"
 
 #, c-format
-msgid "WARNING: Remote host did not respond with data status byte after %d seconds!\n"
-msgstr "WARNING: El ordenador remoto no ha respondido con el byte de estado de los datos después de %d segundos.\n"
+msgid ""
+"WARNING: Remote host did not respond with data status byte after %d "
+"seconds!\n"
+msgstr ""
+"WARNING: El ordenador remoto no ha respondido con el byte de estado de los "
+"datos después de %d segundos.\n"
 
 #, c-format
 msgid "WARNING: SCSI command timed out (%d); retrying...\n"
-msgstr "WARNING: Agotado el tiempo de espera para el comando SCSI (%d); reintentando...\n"
+msgstr ""
+"WARNING: Agotado el tiempo de espera para el comando SCSI (%d); "
+"reintentando...\n"
 
-msgid "WARNING: This document does not conform to the Adobe Document Structuring Conventions and may not print correctly!\n"
-msgstr "WARNING: Este documento no se ajusta a las Convenciones de Estructuración de Documentos de Adobe y puede que no se imprima correctamente.\n"
+msgid ""
+"WARNING: This document does not conform to the Adobe Document Structuring "
+"Conventions and may not print correctly!\n"
+msgstr ""
+"WARNING: Este documento no se ajusta a las Convenciones de Estructuración de "
+"Documentos de Adobe y puede que no se imprima correctamente.\n"
 
 #, c-format
 msgid "WARNING: Unable to open \"%s:%s\": %s\n"
@@ -4530,18 +4725,28 @@ msgid "WARNING: number expected for status option \"%s\"\n"
 msgstr "WARNING: se esperaba un número para la opción de estado \"%s\"\n"
 
 #, c-format
-msgid "WARNING: recoverable: Network host '%s' is busy; will retry in %d seconds...\n"
-msgstr "WARNING: recuperable: El ordenador de red '%s' está ocupado; reintento en %d segundos...\n"
+msgid ""
+"WARNING: recoverable: Network host '%s' is busy; will retry in %d "
+"seconds...\n"
+msgstr ""
+"WARNING: recuperable: El ordenador de red '%s' está ocupado; reintento en %d "
+"segundos...\n"
 
 msgid "Warning, no Windows 2000 printer drivers are installed!"
-msgstr "Advertencia, no está instalado ningún controlador de impresora de Windows 2000."
+msgstr ""
+"Advertencia, no está instalado ningún controlador de impresora de Windows "
+"2000."
 
 msgid "Yes"
 msgstr "Si"
 
 #, c-format
-msgid "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
-msgstr "Debe acceder a esta página usando el URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
+msgid ""
+"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%"
+"s:%d%s</A>."
+msgstr ""
+"Debe acceder a esta página usando el URL <A HREF=\"https://%s:%d%s\">https://"
+"%s:%d%s</A>."
 
 msgid "You4 Envelope"
 msgstr "Sobre You4"
@@ -4587,7 +4792,9 @@ msgid "cupsctl: Unknown option \"-%c\"!\n"
 msgstr "cupsctl: Opción \"-%c\" desconocida.\n"
 
 msgid "cupsd: Expected config filename after \"-c\" option!\n"
-msgstr "cupsd: Se esperaba un nombre de archivo de configuración tras la opción \"-c\".\n"
+msgstr ""
+"cupsd: Se esperaba un nombre de archivo de configuración tras la opción \"-c"
+"\".\n"
 
 msgid "cupsd: Unable to get current directory!\n"
 msgstr "cupsd: No se ha podido obtener el directorio actual.\n"
@@ -4601,7 +4808,9 @@ msgid "cupsd: Unknown option \"%c\" - aborting!\n"
 msgstr "cupsd: Opción \"%c\" desconocida - cancelando.\n"
 
 msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
-msgstr "cupsd: el uso de launchd(8) no ha sido compilado, ejecutándose en modo normal.\n"
+msgstr ""
+"cupsd: el uso de launchd(8) no ha sido compilado, ejecutándose en modo "
+"normal.\n"
 
 #, c-format
 msgid "cupsfilter: Invalid document number %d!\n"
@@ -4655,7 +4864,8 @@ msgid "job-printer-uri attribute missing!"
 msgstr "Falta el atributo job-printer-uri."
 
 msgid "lpadmin: Class name can only contain printable characters!\n"
-msgstr "lpadmin: El nombre de la clase sólo puede contener caracteres imprimibles.\n"
+msgstr ""
+"lpadmin: El nombre de la clase sólo puede contener caracteres imprimibles.\n"
 
 msgid "lpadmin: Expected PPD after '-P' option!\n"
 msgstr "lpadmin: Se esperaba un PPD tras la opción '-P'.\n"
@@ -4714,7 +4924,9 @@ msgid "lpadmin: Printer %s is not a member of class %s.\n"
 msgstr "lpadmin: La impresora %s no es miembro de la clase %s.\n"
 
 msgid "lpadmin: Printer name can only contain printable characters!\n"
-msgstr "lpadmin: El nombre de la impresora sólo puede contener caracteres imprimibles.\n"
+msgstr ""
+"lpadmin: El nombre de la impresora sólo puede contener caracteres "
+"imprimibles.\n"
 
 msgid ""
 "lpadmin: Unable to add a printer to the class:\n"
@@ -4812,13 +5024,15 @@ msgid "lpadmin: Unknown option '%c'!\n"
 msgstr "lpadmin: Opción '%c' desconocida.\n"
 
 msgid "lpadmin: Warning - content type list ignored!\n"
-msgstr "lpadmin: Advertencia - lista de tipo de contenido no tenida en cuenta.\n"
+msgstr ""
+"lpadmin: Advertencia - lista de tipo de contenido no tenida en cuenta.\n"
 
 msgid "lpc> "
 msgstr "lpc> "
 
 msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
-msgstr "lpinfo: Se esperaba una cadena ID de dispositivo 1284 tras --device-id.\n"
+msgstr ""
+"lpinfo: Se esperaba una cadena ID de dispositivo 1284 tras --device-id.\n"
 
 msgid "lpinfo: Expected language after --language!\n"
 msgstr "lpinfo: Se esperaba un idioma tras --language.\n"
@@ -4918,7 +5132,9 @@ msgstr "lppasswd: No se ha podido escribir en el archivo de contraseñas: %s\n"
 
 #, c-format
 msgid "lppasswd: failed to backup old password file: %s\n"
-msgstr "lppasswd: falló al hacer una copia de seguridad del antiguo archivo de contraseñas: %s\n"
+msgstr ""
+"lppasswd: falló al hacer una copia de seguridad del antiguo archivo de "
+"contraseñas: %s\n"
 
 #, c-format
 msgid "lppasswd: failed to rename password file: %s\n"
@@ -4929,8 +5145,12 @@ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist.\n"
 msgstr "lppasswd: el usuario \"%s\" y el grupo \"%s\" no existen.\n"
 
 #, c-format
-msgid "lpstat: error - %s environment variable names non-existent destination \"%s\"!\n"
-msgstr "lpstat: error - Los nombre de variable de entorno %s no existen en el destino \"%s\".\n"
+msgid ""
+"lpstat: error - %s environment variable names non-existent destination \"%s"
+"\"!\n"
+msgstr ""
+"lpstat: error - Los nombre de variable de entorno %s no existen en el "
+"destino \"%s\".\n"
 
 #, c-format
 msgid "members of class %s:\n"
@@ -5006,7 +5226,8 @@ msgstr "ppdc: Se esperaba un valor lógico en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected charset after Font on line %d of %s!\n"
-msgstr "ppdc: Se esperaba un juego de caracteres tras Font en la línea %d de %s.\n"
+msgstr ""
+"ppdc: Se esperaba un juego de caracteres tras Font en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected choice code on line %d of %s.\n"
@@ -5018,7 +5239,8 @@ msgstr "ppdc: Se esperaba un nombre/texto apropiado en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected color order for ColorModel on line %d of %s!\n"
-msgstr "ppdc: Se esperaba un orden de color para ColorModel en la línea %d de %s.\n"
+msgstr ""
+"ppdc: Se esperaba un orden de color para ColorModel en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
@@ -5030,11 +5252,16 @@ msgstr "ppdc: Se esperaba compresión para ColorModel en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s!\n"
-msgstr "ppdc: Se esperaba una cadena de restricciones para UIConstraints en la línea %d de %s.\n"
+msgstr ""
+"ppdc: Se esperaba una cadena de restricciones para UIConstraints en la línea "
+"%d de %s.\n"
 
 #, c-format
-msgid "ppdc: Expected driver type keyword following DriverType on line %d of %s!\n"
-msgstr "ppdc: Se esperaba una clave de tipo de controlador tras DriverType en la línea %d de %s.\n"
+msgid ""
+"ppdc: Expected driver type keyword following DriverType on line %d of %s!\n"
+msgstr ""
+"ppdc: Se esperaba una clave de tipo de controlador tras DriverType en la "
+"línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
@@ -5046,7 +5273,8 @@ msgstr "ppdc: Se esperaba una codificación tras Font en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected filename after #po %s on line %d of %s!\n"
-msgstr "ppdc: Se esperaba un nombre de archivo tras #po %s en la línea %d de %s.\n"
+msgstr ""
+"ppdc: Se esperaba un nombre de archivo tras #po %s en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected group name/text on line %d of %s!\n"
@@ -5098,15 +5326,19 @@ msgstr "ppdc: Se esperaba un nombre/texto tras %s en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected name/text after Installable on line %d of %s!\n"
-msgstr "ppdc: Se esperaba un nombre/texto tras Installable en la línea %d de %s.\n"
+msgstr ""
+"ppdc: Se esperaba un nombre/texto tras Installable en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected name/text after Resolution on line %d of %s!\n"
-msgstr "ppdc: Se esperaba un nombre/texto tras Resolution en la línea %d de %s.\n"
+msgstr ""
+"ppdc: Se esperaba un nombre/texto tras Resolution en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s!\n"
-msgstr "ppdc: Se esperaba una combinación nombre/texto para ColorModel en la línea %d de %s.\n"
+msgstr ""
+"ppdc: Se esperaba una combinación nombre/texto para ColorModel en la línea %"
+"d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected option name/text on line %d of %s!\n"
@@ -5122,19 +5354,29 @@ msgstr "ppdc: Se esperaba un tipo de opción en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected override field after Resolution on line %d of %s!\n"
-msgstr "ppdc: Se esperaba un campo de anulación tras Resolution en la línea %d de %s.\n"
+msgstr ""
+"ppdc: Se esperaba un campo de anulación tras Resolution en la línea %d de %"
+"s.\n"
 
 #, c-format
 msgid "ppdc: Expected real number on line %d of %s!\n"
 msgstr "ppdc: Se esperaba un número real en la línea %d de %s.\n"
 
 #, c-format
-msgid "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s!\n"
-msgstr "ppdc: Se esperaba resolución/tipo de soporte tras ColorProfile en la línea %d de %s.\n"
+msgid ""
+"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %"
+"s!\n"
+msgstr ""
+"ppdc: Se esperaba resolución/tipo de soporte tras ColorProfile en la línea %"
+"d de %s.\n"
 
 #, c-format
-msgid "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d of %s!\n"
-msgstr "ppdc: Se esperaba resolución/tipo de soporte tras SimpleColorProfile en la línea %d de %s.\n"
+msgid ""
+"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
+"of %s!\n"
+msgstr ""
+"ppdc: Se esperaba resolución/tipo de soporte tras SimpleColorProfile en la "
+"línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Expected selector after %s on line %d of %s!\n"
@@ -5174,11 +5416,14 @@ msgstr "ppdc: Coste incorrecto para el filtro en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Invalid empty MIME type for filter on line %d of %s!\n"
-msgstr "ppdc: Tipo MIME vacío incorrecto para el filtro en la línea %d de %s.\n"
+msgstr ""
+"ppdc: Tipo MIME vacío incorrecto para el filtro en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Invalid empty program name for filter on line %d of %s!\n"
-msgstr "ppdc: Nombre de programa vacío incorrecto para el filtro en la línea %d de %s.\n"
+msgstr ""
+"ppdc: Nombre de programa vacío incorrecto para el filtro en la línea %d de %"
+"s.\n"
 
 #, c-format
 msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
@@ -5214,7 +5459,8 @@ msgstr "ppdc: No se ha proporcionado catálogo de mensajes para el idioma %s.\n"
 
 #, c-format
 msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
-msgstr "ppdc: La opción %s redefinida con un tipo diferente en la línea %d de %s.\n"
+msgstr ""
+"ppdc: La opción %s redefinida con un tipo diferente en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Option constraint must *name on line %d of %s!\n"
@@ -5242,11 +5488,14 @@ msgstr "ppdc: No se ha podido ejecutar cupstestppd: %s\n"
 
 #, c-format
 msgid "ppdc: Unable to find #po file %s on line %d of %s!\n"
-msgstr "ppdc: No se ha podido encontrar el archivo #po %s en la línea %d de %s.\n"
+msgstr ""
+"ppdc: No se ha podido encontrar el archivo #po %s en la línea %d de %s.\n"
 
 #, c-format
 msgid "ppdc: Unable to find include file \"%s\" on line %d of %s!\n"
-msgstr "ppdc: No se ha podido encontrar el archivo include \"%s\" en la línea %d de %s.\n"
+msgstr ""
+"ppdc: No se ha podido encontrar el archivo include \"%s\" en la línea %d de %"
+"s.\n"
 
 #, c-format
 msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
@@ -5277,8 +5526,11 @@ msgid "ppdc: Unknown token \"%s\" seen on line %d of %s!\n"
 msgstr "ppdc: Elemento desconocido \"%s\" visto en la línea %d de %s.\n"
 
 #, c-format
-msgid "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s!\n"
-msgstr "ppdc: Caracteres finales desconocidos en el número real \"%s\" en la línea %d de %s.\n"
+msgid ""
+"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s!\n"
+msgstr ""
+"ppdc: Caracteres finales desconocidos en el número real \"%s\" en la línea %"
+"d de %s.\n"
 
 #, c-format
 msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
@@ -5371,3 +5623,6 @@ msgstr "sin título"
 msgid "variable-bindings uses indefinite length"
 msgstr "variable-bindings usa una longitud indefinida"
 
+#~ msgid "INFO: Printer does not support IPP/1.1, trying IPP/1.0...\n"
+#~ msgstr ""
+#~ "INFO: La impresora no es compatible con IPP/1.1; probando IPP/1.0...\n"
index 8699687f00601d017ff395441eb1eaa55b42713c..1f4aa9f0a5a5397b78a2ebb7a82db381834c5dc7 100644 (file)
@@ -20,6 +20,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <cups/i18n.h>
+#include <cups/string.h>
 
 
 /*
@@ -47,15 +48,42 @@ int                                 /* O - Exit code */
 main(int  argc,                                /* I - Number of command-line args */
      char *argv[])                     /* I - Command-line arguments */
 {
+  int                  i;              /* Looping var */
   FILE                 *strings;       /* .strings file */
   cups_array_t         *po;            /* .po file */
   char                 iconv[1024];    /* iconv command */
   _cups_message_t      *msg;           /* Current message */
+  const char           *srcfile,       /* Source file */
+                       *dstfile;       /* Destination file */
+  int                  use_msgid;      /* Use msgid strings for msgstr? */
 
 
-  if (argc != 3)
+  srcfile   = NULL;
+  dstfile   = NULL;
+  use_msgid = 0;
+
+
+  for (i = 1; i < argc; i ++)
+    if (!strcmp(argv[i], "-m"))
+      use_msgid = 1;
+    else if (argv[i][0] == '-')
+    {
+      puts("Usage: po2strings [-m] filename.po filename.strings");
+      return (1);
+    }
+    else if (srcfile == NULL)
+      srcfile = argv[i];
+    else if (dstfile == NULL)
+      dstfile = argv[i];
+    else
+    {
+      puts("Usage: po2strings [-m] filename.po filename.strings");
+      return (1);
+    }
+
+  if (!srcfile || !dstfile)
   {
-    puts("Usage: po2strings filename.po filename.strings");
+    puts("Usage: po2strings [-m] filename.po filename.strings");
     return (1);
   }
 
@@ -63,9 +91,9 @@ main(int  argc,                               /* I - Number of command-line args */
   * Use the CUPS .po loader to get the message strings...
   */
 
-  if ((po = _cupsMessageLoad(argv[1])) == NULL)
+  if ((po = _cupsMessageLoad(srcfile)) == NULL)
   {
-    perror(argv[1]);
+    perror(srcfile);
     return (1);
   }
 
@@ -74,7 +102,7 @@ main(int  argc,                              /* I - Number of command-line args */
   * The .po file uses UTF-8...
   */
 
-  snprintf(iconv, sizeof(iconv), "iconv -f utf-8 -t utf-16 >'%s'", argv[2]);
+  snprintf(iconv, sizeof(iconv), "iconv -f utf-8 -t utf-16 >'%s'", dstfile);
   if ((strings = popen(iconv, "w")) == NULL)
   {
     perror(argv[2]);
@@ -88,7 +116,7 @@ main(int  argc,                              /* I - Number of command-line args */
   {
     write_string(strings, msg->id);
     fputs(" = ", strings);
-    write_string(strings, msg->str);
+    write_string(strings, use_msgid ? msg->id : msg->str);
     fputs(";\n", strings);
   }
 
index 60837fa0234715aa7e142d0235ba4e2e207e2b2b..ff9c67501656374ed7788f2e6fcca3468a4b17ee 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Man page to HTML conversion program.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2009 by Apple Inc.
  *   Copyright 2004-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -104,8 +104,8 @@ main(int  argc,                             /* I - Number of command-line args */
   * Read from input and write the output...
   */
 
-  fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" "
-        "\"http://www.w3.org/TR/REC-html40/loose.dtd\">\n"
+  fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" "
+        "\"http://www.w3.org/TR/html4/loose.dtd\">\n"
         "<html>\n"
        "<!-- SECTION: Man Pages -->\n"
        "<head>\n"
index 9dd3885838eba8ca55e6edfebaca3ea030af34a7..c76655c6704f9abe8c07167e2cd1d209226041bf 100644 (file)
@@ -107,12 +107,8 @@ UNIX
 %setup
 
 %build
-%ifarch x86_64
-./configure --enable-32bit %{_dbus} %{_php} %{_static}
-%else
 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_OPT_FLAGS" \
     ./configure %{_dbus} %{_php} %{_static}
-%endif
 # If we got this far, all prerequisite libraries must be here.
 make
 
@@ -246,6 +242,8 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/cups/templates/*
 %dir /usr/share/doc/cups
 /usr/share/doc/cups/*.*
+%dir /usr/share/doc/cups/es
+/usr/share/doc/cups/es/*
 %dir /usr/share/doc/cups/help
 /usr/share/doc/cups/help/accounting.html
 /usr/share/doc/cups/help/cgi.html
index b4e31fc52a11e837f23465a3ba29977991b56517..d431dc6b6ae27039a2ce37854c51018de47f87e9 100644 (file)
@@ -1665,7 +1665,9 @@ ppdcSource::get_po(ppdcFile *fp)  // I - File to read
     strcpy(basedir, ".");
 
   // Find the po file...
-  if (!pofilename[0] ||
+  pofilename[0] = '\0';
+
+  if (!poname[0] ||
       find_include(poname, basedir, pofilename, sizeof(pofilename)))
   {
     // Found it, so load it...
index 87a55f15747c441f5b2bcabf8b2506627095b67a..d9ea997583859f1c7bdb61d6246bef57ac0579f6 100644 (file)
@@ -454,7 +454,10 @@ cupsdLoadAllClasses(void)
       if (!strcasecmp(value, "idle"))
         p->state = IPP_PRINTER_IDLE;
       else if (!strcasecmp(value, "stopped"))
+      {
         p->state = IPP_PRINTER_STOPPED;
+       cupsdSetPrinterReasons(p, "+paused");
+      }
       else
        cupsdLogMessage(CUPSD_LOG_ERROR,
                        "Syntax error on line %d of classes.conf.",
index 40434d9be61d806498dad070ab68f113b32defb2..0f088bd18897415a7ac0380bbc76e9aec0000dec 100644 (file)
@@ -2431,8 +2431,8 @@ cupsdSendError(cupsd_client_t *con,       /* I - Connection */
       text = "";
 
     snprintf(message, sizeof(message),
-             "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" "
-            "\"http://www.w3.org/TR/REC-html40/loose.dtd\">\n"
+             "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" "
+            "\"http://www.w3.org/TR/html4/loose.dtd\">\n"
             "<HTML>\n"
             "<HEAD>\n"
              "\t<META HTTP-EQUIV=\"Content-Type\" "
index 54749128a86b0652fe4bcdd9d83c68baefc0257d..d876c5ac494281494c945c84f6a4d4c50bfd8d6f 100644 (file)
@@ -238,6 +238,10 @@ cupsdDeregisterPrinter(
   * Only deregister if browsing is enabled and it's a local printer...
   */
 
+  cupsdLogMessage(CUPSD_LOG_DEBUG,
+                  "cupsdDeregisterPrinter(p=%p(%s), removeit=%d)", p, p->name,
+                 removeit);
+
   if (!Browsing || !p->shared ||
       (p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT)))
     return;
@@ -281,6 +285,7 @@ cupsdDeregisterPrinter(
 void
 cupsdLoadRemoteCache(void)
 {
+  int                  i;              /* Looping var */
   cups_file_t          *fp;            /* remote.cache file */
   int                  linenum;        /* Current line number */
   char                 line[4096],     /* Line from file */
@@ -496,11 +501,18 @@ cupsdLoadRemoteCache(void)
     }
     else if (!strcasecmp(line, "Reason"))
     {
-      if (value &&
-          p->num_reasons < (int)(sizeof(p->reasons) / sizeof(p->reasons[0])))
+      if (value)
       {
-        p->reasons[p->num_reasons] = _cupsStrAlloc(value);
-       p->num_reasons ++;
+        for (i = 0 ; i < p->num_reasons; i ++)
+         if (!strcmp(value, p->reasons[i]))
+           break;
+
+        if (i >= p->num_reasons &&
+           p->num_reasons < (int)(sizeof(p->reasons) / sizeof(p->reasons[0])))
+       {
+         p->reasons[p->num_reasons] = _cupsStrAlloc(value);
+         p->num_reasons ++;
+       }
       }
       else
        cupsdLogMessage(CUPSD_LOG_ERROR,
@@ -515,7 +527,10 @@ cupsdLoadRemoteCache(void)
       if (value && !strcasecmp(value, "idle"))
         p->state = IPP_PRINTER_IDLE;
       else if (value && !strcasecmp(value, "stopped"))
+      {
         p->state = IPP_PRINTER_STOPPED;
+       cupsdSetPrinterReasons(p, "+paused");
+      }
       else
        cupsdLogMessage(CUPSD_LOG_ERROR,
                        "Syntax error on line %d of remote.cache.", linenum);
@@ -654,6 +669,9 @@ cupsdLoadRemoteCache(void)
 void
 cupsdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
 {
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdRegisterPrinter(p=%p(%s))", p,
+                  p->name);
+
   if (!Browsing || !BrowseLocalProtocols ||
       (p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT)))
     return;
@@ -2392,9 +2410,6 @@ dnssdDeregisterPrinter(
     p->ipp_ref = NULL;
   }
 
-  cupsArrayRemove(DNSSDPrinters, p);
-  cupsdClearString(&p->reg_name);
-
   if (p->ipp_txt)
   {
    /*
@@ -2404,6 +2419,30 @@ dnssdDeregisterPrinter(
     free(p->ipp_txt);
     p->ipp_txt = NULL;
   }
+
+  if (p->printer_ref)
+  {
+    DNSServiceRefDeallocate(p->printer_ref);
+    p->printer_ref = NULL;
+  }
+
+  if (p->printer_txt)
+  {
+   /*
+    * p->printer_txt is malloc'd, not _cupsStrAlloc'd...
+    */
+
+    free(p->printer_txt);
+    p->printer_txt = NULL;
+  }
+
+ /*
+  * Remove the printer from the array of DNS-SD printers, then clear the
+  * registered name...
+  */
+
+  cupsArrayRemove(DNSSDPrinters, p);
+  cupsdClearString(&p->reg_name);
 }
 
 
@@ -2487,8 +2526,9 @@ dnssdRegisterCallback(
                                        /* Current printer */
 
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterCallback(%s, %s) for %s",
-                  name, regtype, p ? p->name : "Web Interface");
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterCallback(%s, %s) for %s (%s)",
+                  name, regtype, p ? p->name : "Web Interface",
+                 p ? (p->reg_name ? p->reg_name : "(null)") : "NA");
 
   if (errorCode)
   {
@@ -2496,7 +2536,7 @@ dnssdRegisterCallback(
                    "DNSServiceRegister failed with error %d", (int)errorCode);
     return;
   }
-  else if (p && strcasecmp(name, p->reg_name))
+  else if (p && (!p->reg_name || strcasecmp(name, p->reg_name)))
   {
     cupsdLogMessage(CUPSD_LOG_INFO, "Using service name \"%s\" for \"%s\"",
                     name, p->name);
@@ -2603,6 +2643,39 @@ dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
   ipp_len = 0;                         /* anti-compiler-warning-code */
   ipp_txt = dnssdBuildTxtRecord(&ipp_len, p, 0);
 
+  if (p->ipp_ref &&
+      (ipp_len != p->ipp_len || memcmp(ipp_txt, p->ipp_txt, ipp_len)))
+  {
+   /*
+    * Update the existing registration...
+    */
+
+    /* A TTL of 0 means use record's original value (Radar 3176248) */
+    if ((se = DNSServiceUpdateRecord(p->ipp_ref, NULL, 0, ipp_len, ipp_txt,
+                                    0)) == kDNSServiceErr_NoError)
+    {
+      if (p->ipp_txt)
+       free(p->ipp_txt);
+
+      p->ipp_txt = ipp_txt;
+      p->ipp_len = ipp_len;
+      ipp_txt    = NULL;
+    }
+    else
+    {
+     /*
+      * Failed to update record, lets close this reference and move on...
+      */
+
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                     "Unable to update IPP DNS-SD record for %s - %d", p->name,
+                     se);
+
+      DNSServiceRefDeallocate(p->ipp_ref);
+      p->ipp_ref = NULL;
+    }
+  }
+
   if (!p->ipp_ref)
   {
    /*
@@ -2659,22 +2732,6 @@ dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
                       "DNS-SD IPP registration of \"%s\" failed: %d",
                      p->name, se);
   }
-  else if (ipp_len != p->ipp_len || memcmp(ipp_txt, p->ipp_txt, ipp_len))
-  {
-   /*
-    * Update the existing registration...
-    */
-
-    /* A TTL of 0 means use record's original value (Radar 3176248) */
-    DNSServiceUpdateRecord(p->ipp_ref, NULL, 0, ipp_len, ipp_txt, 0);
-
-    if (p->ipp_txt)
-      free(p->ipp_txt);
-
-    p->ipp_txt = ipp_txt;
-    p->ipp_len = ipp_len;
-    ipp_txt    = NULL;
-  }
 
   if (ipp_txt)
     free(ipp_txt);
@@ -2684,6 +2741,41 @@ dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
     printer_len = 0;                   /* anti-compiler-warning-code */
     printer_txt = dnssdBuildTxtRecord(&printer_len, p, 1);
 
+    if (p->printer_ref &&
+       (printer_len != p->printer_len ||
+        memcmp(printer_txt, p->printer_txt, printer_len)))
+    {
+     /*
+      * Update the existing registration...
+      */
+
+      /* A TTL of 0 means use record's original value (Radar 3176248) */
+      if ((se = DNSServiceUpdateRecord(p->printer_ref, NULL, 0, printer_len,
+                                      printer_txt,
+                                      0)) == kDNSServiceErr_NoError)
+      {
+       if (p->printer_txt)
+         free(p->printer_txt);
+
+       p->printer_txt = printer_txt;
+       p->printer_len = printer_len;
+       printer_txt    = NULL;
+      }
+      else
+      {
+       /*
+       * Failed to update record, lets close this reference and move on...
+       */
+
+       cupsdLogMessage(CUPSD_LOG_ERROR,
+                       "Unable to update LPD DNS-SD record for %s - %d",
+                       p->name, se);
+
+       DNSServiceRefDeallocate(p->printer_ref);
+       p->printer_ref = NULL;
+      }
+    }
+    
     if (!p->printer_ref)
     {
      /*
@@ -2712,24 +2804,6 @@ dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
                        "DNS-SD LPD registration of \"%s\" failed: %d",
                        p->name, se);
     }
-    else if (printer_len != p->printer_len ||
-             memcmp(printer_txt, p->printer_txt, printer_len))
-    {
-     /*
-      * Update the existing registration...
-      */
-
-      /* A TTL of 0 means use record's original value (Radar 3176248) */
-      DNSServiceUpdateRecord(p->printer_ref, NULL, 0, printer_len,
-                             printer_txt, 0);
-
-      if (p->printer_txt)
-       free(p->printer_txt);
-
-      p->printer_txt = printer_txt;
-      p->printer_len = printer_len;
-      printer_txt    = NULL;
-    }
 
     if (printer_txt)
       free(printer_txt);
index 9bb2f0e89f88f1c17474e4aa8ea9714e9e3da172..9286a4f5ecaa67f4a6630b849daa3227f6901366 100644 (file)
@@ -2641,6 +2641,7 @@ add_printer(cupsd_client_t  *con, /* I - Client connection */
       cupsdSetPrinterState(printer, (ipp_pstate_t)(attr->values[0].integer), 0);
     }
   }
+
   if ((attr = ippFindAttribute(con->request, "printer-state-message",
                                IPP_TAG_TEXT)) != NULL)
   {
@@ -2674,8 +2675,9 @@ add_printer(cupsd_client_t  *con, /* I - Client connection */
 
       printer->reasons[printer->num_reasons] =
           _cupsStrRetain(attr->values[i].string.text);
+      printer->num_reasons ++;
 
-      if (!strcmp(printer->reasons[printer->num_reasons], "paused") &&
+      if (!strcmp(attr->values[i].string.text, "paused") &&
           printer->state != IPP_PRINTER_STOPPED)
       {
        cupsdLogMessage(CUPSD_LOG_INFO,
@@ -2683,8 +2685,6 @@ add_printer(cupsd_client_t  *con, /* I - Client connection */
                        printer->name, IPP_PRINTER_STOPPED, printer->state);
        cupsdStopPrinter(printer, 0);
       }
-
-      printer->num_reasons ++;
     }
 
     if (PrintcapFormat == PRINTCAP_PLIST)
@@ -2972,8 +2972,7 @@ add_printer_state_reasons(
 
   if (p->num_reasons == 0)
     ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
-                 "printer-state-reasons", NULL,
-                p->state == IPP_PRINTER_STOPPED ? "paused" : "none");
+                 "printer-state-reasons", NULL, "none");
   else
     ippAddStrings(con->response, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
                   "printer-state-reasons", p->num_reasons, NULL,
@@ -3418,8 +3417,10 @@ apple_register_profiles(
     * Use the default colorspace...
     */
 
-    num_profiles = 2;
+    attr = ppdFindAttr(ppd, "DefaultColorSpace", NULL);
 
+    num_profiles = (attr && ppd->colorspace == PPD_CS_GRAY) ? 1 : 2;
+      
     if ((profiles = calloc(num_profiles, sizeof(CMDeviceProfileArray))) == NULL)
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
@@ -3447,8 +3448,11 @@ apple_register_profiles(
                             _ppdHashName("CMYK.."), "CMYK", "CMYK", NULL);
           break;
 
+      case PPD_CS_GRAY :
+          if (attr)
+           break;
+
       case PPD_CS_N :
-      default :
           apple_init_profile(ppd, NULL, profiles->profiles + 1,
                             _ppdHashName("DeviceN.."), "DeviceN", "DeviceN",
                             NULL);
index daf082a36ebd8eda7ae3c7fc3a9dd7125f7f01fc..752de5e5ef33ea3476d3680b2be140881c6a489d 100644 (file)
@@ -633,6 +633,14 @@ cupsdFinishJob(cupsd_job_t *job)   /* I - Job */
 
   cupsdSetPrinterReasons(printer, "-connecting-to-device");
 
+ /*
+  * Similarly, clear the "offline-report" reason for non-USB devices since we
+  * rarely have current information for network devices...
+  */
+
+  if (strncmp(printer->device_uri, "usb:", 4))
+    cupsdSetPrinterReasons(printer, "-offline-report");
+
   if (job->status < 0)
   {
    /*
index 7748afc99ad2493defd5d8b418c644571fd0cfc0..ed6c680d22b9e4126080d9cc6a99af716846ec13 100644 (file)
@@ -1655,7 +1655,7 @@ process_children(void)
 #endif /* HAVE_WAITPID */
   {
    /*
-    * Ignore SIGTERM errors - that comes when a job is canceled...
+    * Collect the name of the process that finished...
     */
 
     cupsdFinishProcess(pid, name, sizeof(name));
@@ -1740,13 +1740,17 @@ process_children(void)
       }
 
    /*
-    * Show the exit status as needed...
+    * Show the exit status as needed, ignoring SIGTERM and SIGKILL errors
+    * since they come when we kill/end a process...
     */
 
-    if (status == SIGTERM)
-      status = 0;
-
-    if (status)
+    if (status == SIGTERM || status == SIGKILL)
+    {
+      cupsdLogMessage(CUPSD_LOG_DEBUG,
+                      "PID %d (%s) was terminated normally with signal %d.",
+                      pid, name, status);
+    }
+    else if (status)
     {
       if (WIFEXITED(status))
        cupsdLogMessage(CUPSD_LOG_DEBUG, "PID %d (%s) stopped with status %d!",
index c6465aba955ac54f4b276bd72453974fdde1b54f..33ff540b89eab2e29c04b5038d8e48722a73a01f 100644 (file)
@@ -211,8 +211,7 @@ cupsdAddPrinterHistory(
 #endif /* __APPLE__ */
   if (p->num_reasons == 0)
     ippAddString(history, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
-                 "printer-state-reasons", NULL,
-                p->state == IPP_PRINTER_STOPPED ? "paused" : "none");
+                 "printer-state-reasons", NULL, "none");
   else
     ippAddStrings(history, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
                   "printer-state-reasons", p->num_reasons, NULL,
@@ -927,6 +926,7 @@ cupsdFreePrinterUsers(
 void
 cupsdLoadAllPrinters(void)
 {
+  int                  i;              /* Looping var */
   cups_file_t          *fp;            /* printers.conf file */
   int                  linenum;        /* Current line number */
   char                 line[4096],     /* Line from file */
@@ -1099,11 +1099,18 @@ cupsdLoadAllPrinters(void)
     }
     else if (!strcasecmp(line, "Reason"))
     {
-      if (value &&
-          p->num_reasons < (int)(sizeof(p->reasons) / sizeof(p->reasons[0])))
+      if (value)
       {
-        p->reasons[p->num_reasons] = _cupsStrAlloc(value);
-       p->num_reasons ++;
+        for (i = 0 ; i < p->num_reasons; i ++)
+         if (!strcmp(value, p->reasons[i]))
+           break;
+
+        if (i >= p->num_reasons &&
+           p->num_reasons < (int)(sizeof(p->reasons) / sizeof(p->reasons[0])))
+       {
+         p->reasons[p->num_reasons] = _cupsStrAlloc(value);
+         p->num_reasons ++;
+       }
       }
       else
        cupsdLogMessage(CUPSD_LOG_ERROR,
@@ -1118,7 +1125,10 @@ cupsdLoadAllPrinters(void)
       if (value && !strcasecmp(value, "idle"))
         p->state = IPP_PRINTER_IDLE;
       else if (value && !strcasecmp(value, "stopped"))
+      {
         p->state = IPP_PRINTER_STOPPED;
+       cupsdSetPrinterReasons(p, "+paused");
+      }
       else
        cupsdLogMessage(CUPSD_LOG_ERROR,
                        "Syntax error on line %d of printers.conf.", linenum);
@@ -1580,7 +1590,8 @@ cupsdSaveAllPrinters(void)
     cupsFilePrintf(fp, "StateTime %d\n", (int)printer->state_time);
 
     for (i = 0; i < printer->num_reasons; i ++)
-      if (strcmp(printer->reasons[i], "connecting-to-device"))
+      if (strcmp(printer->reasons[i], "connecting-to-device") &&
+          strcmp(printer->reasons[i], "cups-missing-filter-error"))
         cupsFilePutConf(fp, "Reason", printer->reasons[i]);
 
     cupsFilePrintf(fp, "Type %d\n", printer->type);
@@ -2378,6 +2389,8 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)/* I - Printer to setup */
       * Add filters for printer...
       */
 
+      cupsdSetPrinterReasons(p, "-cups-missing-filter-error");
+
       for (filter = (char *)cupsArrayFirst(p->filters);
           filter;
           filter = (char *)cupsArrayNext(p->filters))
@@ -2835,6 +2848,11 @@ cupsdSetPrinterState(
 #endif /* __sgi */
   }
 
+  if (s == IPP_PRINTER_STOPPED)
+    cupsdSetPrinterReasons(p, "+paused");
+  else
+    cupsdSetPrinterReasons(p, "-paused");
+
   cupsdAddPrinterHistory(p);
 
  /*
@@ -3573,7 +3591,6 @@ add_printer_filter(
                "Filter \"%s\" for printer \"%s\" not available: %s",
               program, p->name, strerror(errno));
       cupsdSetPrinterReasons(p, "+cups-missing-filter-error");
-      cupsdSetPrinterState(p, IPP_PRINTER_STOPPED, 0);
 
       cupsdLogMessage(CUPSD_LOG_ERROR, "%s", p->state_message);
     }
index c5defe41fac89c29c2d1aa6ac6f35fd2623c50c1..716b7d428d7a0dd1eb9a585e548fd1945598c978 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   RFC file to HTML conversion program.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2009 by Apple Inc.
  *   Copyright 2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -100,8 +100,8 @@ main(int  argc,                             /* I - Number of command-line args */
   */
 
   cupsFilePuts(outfile,
-              "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" "
-              "\"http://www.w3.org/TR/REC-html40/loose.dtd\">\n"
+              "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" "
+              "\"http://www.w3.org/TR/html4/loose.dtd\">\n"
               "<html>\n"
               "<!-- SECTION: Specifications -->\n"
               "<head>\n"
index 11c02524d6c0811cfbb0bcecb269fac9a6dfabf1..3c04f281b313bb7a01236d590401f1b82ca56520 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
index 305112a337342ad30986de08a061772354400bdd..f4d57d84df4f58fecfa5b5230ddada69d147f615 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
index 95a35bb701d78985f5e9b0f203fe74772281a54b..9e4534093305c66d67e96dba12005c36dd941de8 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
index 305112a337342ad30986de08a061772354400bdd..f4d57d84df4f58fecfa5b5230ddada69d147f615 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
 <HEAD>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
index ebad6767ed8cbf117f96b663b45672f9d814b50b..c4db0969680e49cf7e0eacf2354157cc0590b074 100644 (file)
@@ -3,6 +3,6 @@
 <H2 CLASS="title">{job_id?Move Job {job_id}:Move All Jobs}</H2>
 
 <P>{job_id?<A HREF="/jobs/{job_id}">Job {job_id}</A>:All jobs} moved to
-<A HREF="{job_printer_uri}">{job_printer_name}</A>.</P>
+<A HREF="/{is_class?classes:printers}/{job_printer_name}">{job_printer_name}</A>.</P>
 
 </DIV>