]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Merge changes from CUPS 1.4svn-r8177.
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Mon, 8 Dec 2008 23:45:00 +0000 (23:45 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Mon, 8 Dec 2008 23:45:00 +0000 (23:45 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@1084 a1ca3aef-8c08-0410-bb20-df032aa958be

114 files changed:
CHANGES-1.3.txt
CHANGES.txt
CREDITS.txt
backend/ipp.c
backend/lpd.c
backend/network.c
backend/parallel.c
backend/scsi-irix.c
backend/scsi-linux.c
backend/serial.c
backend/socket.c
backend/usb-libusb.c
backend/usb-unix.c
cups/Makefile
cups/http-support.c
doc/es/index.html.in [new file with mode: 0644]
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
filter/Makefile
filter/postscript-driver.header [new file with mode: 0644]
filter/postscript-driver.shtml [new file with mode: 0644]
filter/ppd-compiler.header [new file with mode: 0644]
filter/ppd-compiler.shtml [new file with mode: 0644]
filter/raster-driver.header [new file with mode: 0644]
filter/raster-driver.shtml [new file with mode: 0644]
locale/cups.header
locale/cups.pot
locale/cups_es.po [new file with mode: 0644]
man/cupsd.conf.man.in
packaging/cups.list.in
scheduler/cups-driverd.cxx
scheduler/ipp.c
scheduler/job.c
scheduler/printers.c
templates/es/add-class.tmpl [new file with mode: 0644]
templates/es/add-printer.tmpl [new file with mode: 0644]
templates/es/add-rss-subscription.tmpl [new file with mode: 0644]
templates/es/admin.tmpl [new file with mode: 0644]
templates/es/choose-device.tmpl [new file with mode: 0644]
templates/es/choose-make.tmpl [new file with mode: 0644]
templates/es/choose-model.tmpl [new file with mode: 0644]
templates/es/choose-serial.tmpl [new file with mode: 0644]
templates/es/choose-uri.tmpl [new file with mode: 0644]
templates/es/class-added.tmpl [new file with mode: 0644]
templates/es/class-confirm.tmpl [new file with mode: 0644]
templates/es/class-deleted.tmpl [new file with mode: 0644]
templates/es/class-jobs-header.tmpl [new file with mode: 0644]
templates/es/class-modified.tmpl [new file with mode: 0644]
templates/es/class.tmpl [new file with mode: 0644]
templates/es/classes-header.tmpl [new file with mode: 0644]
templates/es/classes.tmpl [new file with mode: 0644]
templates/es/command.tmpl [new file with mode: 0644]
templates/es/edit-config.tmpl [new file with mode: 0644]
templates/es/error-op.tmpl [new file with mode: 0644]
templates/es/error.tmpl [new file with mode: 0644]
templates/es/header.tmpl.in [new file with mode: 0644]
templates/es/help-header.tmpl [new file with mode: 0644]
templates/es/help-printable.tmpl [new file with mode: 0644]
templates/es/help-trailer.tmpl [new file with mode: 0644]
templates/es/job-cancel.tmpl [new file with mode: 0644]
templates/es/job-hold.tmpl [new file with mode: 0644]
templates/es/job-move.tmpl [new file with mode: 0644]
templates/es/job-moved.tmpl [new file with mode: 0644]
templates/es/job-release.tmpl [new file with mode: 0644]
templates/es/job-restart.tmpl [new file with mode: 0644]
templates/es/jobs-header.tmpl [new file with mode: 0644]
templates/es/jobs.tmpl [new file with mode: 0644]
templates/es/list-available-printers.tmpl [new file with mode: 0644]
templates/es/modify-class.tmpl [new file with mode: 0644]
templates/es/modify-printer.tmpl [new file with mode: 0644]
templates/es/norestart.tmpl [new file with mode: 0644]
templates/es/option-boolean.tmpl [new file with mode: 0644]
templates/es/option-conflict.tmpl [new file with mode: 0644]
templates/es/option-header.tmpl [new file with mode: 0644]
templates/es/option-pickmany.tmpl [new file with mode: 0644]
templates/es/option-pickone.tmpl [new file with mode: 0644]
templates/es/option-trailer.tmpl [new file with mode: 0644]
templates/es/pager.tmpl [new file with mode: 0644]
templates/es/printer-accept.tmpl [new file with mode: 0644]
templates/es/printer-added.tmpl [new file with mode: 0644]
templates/es/printer-configured.tmpl [new file with mode: 0644]
templates/es/printer-confirm.tmpl [new file with mode: 0644]
templates/es/printer-default.tmpl [new file with mode: 0644]
templates/es/printer-deleted.tmpl [new file with mode: 0644]
templates/es/printer-jobs-header.tmpl [new file with mode: 0644]
templates/es/printer-modified.tmpl [new file with mode: 0644]
templates/es/printer-purge.tmpl [new file with mode: 0644]
templates/es/printer-reject.tmpl [new file with mode: 0644]
templates/es/printer-start.tmpl [new file with mode: 0644]
templates/es/printer-stop.tmpl [new file with mode: 0644]
templates/es/printer.tmpl [new file with mode: 0644]
templates/es/printers-header.tmpl [new file with mode: 0644]
templates/es/printers.tmpl [new file with mode: 0644]
templates/es/restart.tmpl [new file with mode: 0644]
templates/es/samba-export.tmpl [new file with mode: 0644]
templates/es/samba-exported.tmpl [new file with mode: 0644]
templates/es/search.tmpl [new file with mode: 0644]
templates/es/set-printer-options-header.tmpl [new file with mode: 0644]
templates/es/set-printer-options-trailer.tmpl [new file with mode: 0644]
templates/es/subscription-added.tmpl [new file with mode: 0644]
templates/es/subscription-canceled.tmpl [new file with mode: 0644]
templates/es/test-page.tmpl [new file with mode: 0644]
templates/es/trailer.tmpl [new file with mode: 0644]
templates/es/users.tmpl [new file with mode: 0644]
tools/makedocset [new file with mode: 0644]

index 36a48d95ea336523a7ac48dec14c15daceb00ea2..df280b506f4daf29ac5c8d2aac89ad1d135e646c 100644 (file)
@@ -4,6 +4,11 @@ CHANGES-1.3.txt
 CHANGES IN CUPS V1.3.10
 
        - Documentation fixes (STR #2994, STR #2995, STR #3008)
+       - The backends did not return an OK status for the
+         CUPS_SC_CMD_GET_BIDI side-channel command (STR #3029)
+       - The scheduler did not purge jobs that were missing a
+         time-at-creation attribute, indicating a bad job control file
+         (STR #3030)
        - The "-o job-hold-until=week-end" option did not work properly
          (STR #3025)
        - The Solaris USB printer device does not support select or poll
index 290f90a8972e04a4b52c8ef55c434474f2ac1d79..7bf8ca79d48aa4f03d0cc8a276e080464914a706 100644 (file)
@@ -1,9 +1,12 @@
-CHANGES.txt - 2008-12-05
+CHANGES.txt - 2008-12-08
 ------------------------
 
 CHANGES IN CUPS V1.4b2
 
-       - Documentation updates (STR #2983, STR #2998)
+       - Documentation updates (STR #2983, STR #2998, STR #3021)
+       - Localized the device descriptions for the SCSI, serial,
+         and network backends (STR #3014)
+       - Added a Spanish localization (STR #3015)
        - Added support for marker-low-levels and marker-high-levels
          attributes.
        - The scheduler could hang writing a long log line.
index 7c08ee4d8edbca402df25012097b8526cbeeedd4..c7dbdfad3b0aee4a82d793c0521c78a1dd91d833 100644 (file)
@@ -1,4 +1,4 @@
-CREDITS.txt - 2008-06-16
+CREDITS.txt - 2008-12-08
 ------------------------
 
 Few projects are completed by one person, and CUPS is no exception.  We'd
@@ -34,7 +34,7 @@ like to thank the following individuals for their contributions:
     Kurt Pfeifle                   - Bug fixes, beta testing, evangelism.
     Vincenzo Reale                 - Italian localization.
     Petter Reinholdtsen            - HP-UX compiler stuff.
-    Juan Pablo González Riopedre   - Spanish localization.
+    Juan Pablo Gonz\87lez Riopedre   - Spanish localization.
     Opher Shachar                  - Hebrew localization.
     Stuart Stevens                 - HP JetDirect IPP information.
     Andrea Suatoni                 - IRIX desktop integration and testing.
index a1e83c923cd12021b55c1d7af8dcc4dce29034ba..b06aba7755ea58cc63a0a101a3945a083f7769be 100644 (file)
@@ -198,8 +198,9 @@ main(int  argc,                             /* I - Number of command-line args */
     else
       s = argv[0];
 
-    printf("network %s \"Unknown\" \"Internet Printing Protocol (%s)\"\n",
-           s, s);
+    printf("network %s \"Unknown\" \"%s (%s)\"\n",
+           s, _cupsLangString(cupsLangDefault(),
+                             _("Internet Printing Protocol")), s);
     return (CUPS_BACKEND_OK);
   }
   else if (argc < 6)
@@ -523,8 +524,9 @@ main(int  argc,                             /* I - Number of command-line args */
 
   do
   {
-    _cupsLangPrintf(stderr, _("INFO: Connecting to %s on port %d...\n"),
-                   hostname, port);
+    fprintf(stderr, "DEBUG: Connecting to %s:%d\n",
+           hostname, port);
+    _cupsLangPuts(stderr, _("INFO: Connecting to printer...\n"));
 
     if ((http = httpConnectEncrypt(hostname, port, cupsEncryption())) == NULL)
     {
@@ -609,7 +611,7 @@ main(int  argc,                             /* I - Number of command-line args */
   }
 
   fputs("STATE: -connecting-to-device\n", stderr);
-  _cupsLangPrintf(stderr, _("INFO: Connected to %s...\n"), hostname);
+  _cupsLangPuts(stderr, _("INFO: Connected to printer...\n"));
 
 #ifdef AF_INET6
   if (http->hostaddr->addr.sa_family == AF_INET6)
index 159effe60843ecdb958854571f4cac9193bca88a..4f9b06f87e0f9eee56565e60087a8b7590b44dc6 100644 (file)
@@ -174,7 +174,8 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
   if (argc == 1)
   {
-    puts("network lpd \"Unknown\" \"LPD/LPR Host or Printer\"");
+    printf("network lpd \"Unknown\" \"%s\"\n",
+           _cupsLangString(cupsLangDefault(), _("LPD/LPR Host or Printer")));
     return (CUPS_BACKEND_OK);
   }
   else if (argc < 6 || argc > 7)
@@ -695,9 +696,9 @@ lpd_queue(const char *hostname,             /* I - Host to connect to */
     */
 
     fputs("STATE: +connecting-to-device\n", stderr);
-    _cupsLangPrintf(stderr,
-                   _("INFO: Connecting to %s for printer %s\n"),
-                   hostname, printer);
+    fprintf(stderr, "DEBUG: Connecting to %s:%d for printer %s\n",
+           hostname, port, printer);
+    _cupsLangPuts(stderr, _("INFO: Connecting to printer...\n"));
 
     for (lport = reserve == RESERVE_RFC1179 ? 732 : 1024, addr = addrlist,
              delay = 5;;
@@ -864,7 +865,7 @@ lpd_queue(const char *hostname,             /* I - Host to connect to */
     }
 
     fputs("STATE: -connecting-to-device\n", stderr);
-    _cupsLangPrintf(stderr, _("INFO: Connected to %s...\n"), hostname);
+    _cupsLangPuts(stderr, _("INFO: Connected to printer...\n"));
 
 #ifdef AF_INET6
     if (addr->addr.addr.sa_family == AF_INET6)
index daf05cda501be5b2d835f992c666a9e7998f4f03..58f9503d998ffaf970102817a39ce9e48eac2984 100644 (file)
@@ -102,6 +102,7 @@ backendNetworkSideCB(
         break;
 
     case CUPS_SC_CMD_GET_BIDI :
+       status  = CUPS_SC_STATUS_OK;
         data[0] = use_bc;
         datalen = 1;
         break;
index e989bda1728eaa994bed8b73106c1644357867f7..41238a8e97acce9da3a9c9fcb6152a26b7a93913 100644 (file)
@@ -653,6 +653,7 @@ side_cb(int         print_fd,               /* I - Print file */
         break;
 
     case CUPS_SC_CMD_GET_BIDI :
+       status  = CUPS_SC_STATUS_OK;
         data[0] = use_bc;
         datalen = 1;
         break;
index 36fc9b02d9fe3f1b215ac72aeeddcc4129d1c077..639be46209eaf7bfab705e0d45e995f8bc55510b 100644 (file)
@@ -66,7 +66,8 @@
 void
 list_devices(void)
 {
-  puts("direct scsi \"Unknown\" \"SCSI Printer\"");
+  printf("direct scsi \"Unknown\" \"%s\"\n",
+         _cupsLangString(cupsLangDefault(), _("SCSI Printer")));
 }
 
 
index d0fc35cfc64dcaea2d2b5ec56f93dbff0fe50555..a5ad8652d79c1f4ffe0914f5f1ffedbded354faf 100644 (file)
@@ -79,7 +79,8 @@ int   print_device(const char *resource, int fd, int copies) { return (1); }
 void
 list_devices(void)
 {
-  puts("direct scsi \"Unknown\" \"SCSI Printer\"");
+  printf("direct scsi \"Unknown\" \"%s\"\n",
+         _cupsLangString(cupsLangDefault(), _("SCSI Printer")));
 }
 
 
index 25dfc8c4fe9a39e2dad02230eaaf48f92ddde35c..c0f8fae50c4e39d0e6ac6d488f91a0e673c6f6d2 100644 (file)
@@ -740,10 +740,12 @@ list_devices(void)
                                         * devices                           */
 #endif /* __hpux || __sgi || __sun || __FreeBSD__ || __OpenBSD__ || __FreeBSD_kernel__ */
 
+
 #ifdef __linux
   int                  i, j;           /* Looping vars */
   int                  fd;             /* File descriptor */
   char                 device[255];    /* Device filename */
+  char                 info[255];      /* Device info/description */
 #  ifdef TIOCGSERIAL
   struct serial_struct serinfo;        /* serial port info */
 #  endif /* TIOCGSERIAL */
@@ -778,32 +780,35 @@ list_devices(void)
 
       close(fd);
 
+      snprintf(info, sizeof(info),
+              _cupsLangString(cupsLangDefault(), _("Serial Port #%d")), i + 1);
+
 #  if defined(_ARCH_PPC) || defined(powerpc) || defined(__powerpc)
-      printf("serial serial:%s?baud=230400 \"Unknown\" \"Serial Port #%d\"\n",
-             device, i + 1);
+      printf("serial serial:%s?baud=230400 \"Unknown\" \"%s\"\n", device, info);
 #  else
-      printf("serial serial:%s?baud=115200 \"Unknown\" \"Serial Port #%d\"\n",
-             device, i + 1);
+      printf("serial serial:%s?baud=115200 \"Unknown\" \"%s\"\n", device, info);
 #  endif /* _ARCH_PPC || powerpc || __powerpc */
     }
   }
 
   for (i = 0; i < 16; i ++)
   {
+    snprintf(info, sizeof(info),
+            _cupsLangString(cupsLangDefault(), _("USB Serial Port #%d")),
+            i + 1);
+
     sprintf(device, "/dev/usb/ttyUSB%d", i);
     if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
     {
       close(fd);
-      printf("serial serial:%s?baud=230400 \"Unknown\" \"USB Serial Port #%d\"\n",
-             device, i + 1);
+      printf("serial serial:%s?baud=230400 \"Unknown\" \"%s\"\n", device, info);
     }
 
     sprintf(device, "/dev/ttyUSB%d", i);
     if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
     {
       close(fd);
-      printf("serial serial:%s?baud=230400 \"Unknown\" \"USB Serial Port #%d\"\n",
-             device, i + 1);
+      printf("serial serial:%s?baud=230400 \"Unknown\" \"%s\"\n", device, info);
     }
   }
 
@@ -815,9 +820,9 @@ list_devices(void)
       if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
       {
         close(fd);
+
         printf("serial serial:%s?baud=115200 \"Unknown\" "
-              "\"Equinox ESP %d Port #%d\"\n",
-               device, i, j + 1);
+              "\"Equinox ESP %d Port #%d\"\n", device, i, j + 1);
       }
     }
   }
@@ -920,8 +925,9 @@ list_devices(void)
        }
       }
 #elif defined(__sun)
-  int          i, j, n;        /* Looping vars */
-  char         device[255];    /* Device filename */
+  int          i, j, n;                /* Looping vars */
+  char         device[255];            /* Device filename */
+  char         info[255];              /* Device info/description */
 
 
  /*
@@ -931,14 +937,18 @@ list_devices(void)
   for (i = 0; i < 26; i ++)
   {
     sprintf(device, "/dev/cua/%c", 'a' + i);
-    if (access(device, 0) == 0)
+    if (!access(device, 0))
+    {
+      snprintf(info, sizeof(info),
+              _cupsLangString(cupsLangDefault(), _("Serial Port #%d")), i + 1);
+
 #  ifdef B115200
-      printf("serial serial:%s?baud=115200 \"Unknown\" \"Serial Port #%d\"\n",
+      printf("serial serial:%s?baud=115200 \"Unknown\" \"%s\"\n", device, info);
              device, i + 1);
 #  else
-      printf("serial serial:%s?baud=38400 \"Unknown\" \"Serial Port #%d\"\n",
-             device, i + 1);
+      printf("serial serial:%s?baud=38400 \"Unknown\" \"%s\"\n", device, info);
 #  endif /* B115200 */
+    }
   }
 
  /*
@@ -1035,9 +1045,10 @@ list_devices(void)
              device, i + 1);
   }
 #elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
-  int  i, j;           /* Looping vars */
-  int  fd;             /* File descriptor */
-  char device[255];    /* Device filename */
+  int  i, j;                           /* Looping vars */
+  int  fd;                             /* File descriptor */
+  char device[255];                    /* Device filename */
+  char info[255];                      /* Device info/description */
 
 
  /*
@@ -1050,8 +1061,11 @@ list_devices(void)
     if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
     {
       close(fd);
-      printf("serial serial:%s?baud=115200 \"Unknown\" \"Standard Serial Port #%d\"\n",
-             device, i + 1);
+
+      snprintf(info, sizeof(info),
+              _cupsLangString(cupsLangDefault(), _("Serial Port #%d")), i + 1);
+
+      printf("serial serial:%s?baud=115200 \"Unknown\" \"%s\"\n", device, info);
     }
   }
 
@@ -1125,9 +1139,10 @@ list_devices(void)
     }
   }
 #elif defined(__NetBSD__)
-  int  i, j;           /* Looping vars */
-  int  fd;             /* File descriptor */
-  char device[255];    /* Device filename */
+  int  i, j;                           /* Looping vars */
+  int  fd;                             /* File descriptor */
+  char device[255];                    /* Device filename */
+  char info[255];                      /* Device info/description */
 
 
  /*
@@ -1140,8 +1155,11 @@ list_devices(void)
     if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
     {
       close(fd);
-      printf("serial serial:%s?baud=115200 \"Unknown\" \"Serial Port #%d\"\n",
-             device, i + 1);
+
+      snprintf(info, sizeof(info),
+              _cupsLangString(cupsLangDefault(), _("Serial Port #%d")), i + 1);
+
+      printf("serial serial:%s?baud=115200 \"Unknown\" \"%s\"\n", device, info);
     }
   }
 
@@ -1282,6 +1300,7 @@ side_cb(int print_fd,                     /* I - Print file */
         break;
 
     case CUPS_SC_CMD_GET_BIDI :
+       status  = CUPS_SC_STATUS_OK;
         data[0] = use_bc;
         datalen = 1;
         break;
index 067d2d7391cbe2ace8c2a93bdbfb2f8edfa9f387..ec6368d942b025f7a6ab0eb3ed60642c4d0c6853 100644 (file)
@@ -121,7 +121,8 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
 
   if (argc == 1)
   {
-    puts("network socket \"Unknown\" \"AppSocket/HP JetDirect\"");
+    printf("network socket \"Unknown\" \"%s\"\n",
+           _cupsLangString(cupsLangDefault(), _("AppSocket/HP JetDirect")));
     return (CUPS_BACKEND_OK);
   }
   else if (argc < 6 || argc > 7)
@@ -266,9 +267,9 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
     return (CUPS_BACKEND_STOP);
   }
 
-  _cupsLangPrintf(stderr,
-                  _("INFO: Connecting to %s on port %d\n"),
-                  hostname, port);
+  fprintf(stderr, "DEBUG: Connecting to %s:%d\n",
+         hostname, port);
+  _cupsLangPuts(stderr, _("INFO: Connecting to printer...\n"));
 
   fputs("STATE: +connecting-to-device\n", stderr);
 
@@ -351,7 +352,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   }
 
   fputs("STATE: -connecting-to-device\n", stderr);
-  _cupsLangPrintf(stderr, _("INFO: Connected to %s...\n"), hostname);
+  _cupsLangPuts(stderr, _("INFO: Connected to printer...\n"));
 
 #ifdef AF_INET6
   if (addr->addr.addr.sa_family == AF_INET6)
index c70940c457444c9342ca7506f2d5cc1b10b7250e..2f6bdb83aa21bf8a270ab9542ab3143147299cf7 100644 (file)
@@ -766,6 +766,7 @@ side_cb(usb_printer_t *printer,             /* I - Printer */
         break;
 
     case CUPS_SC_CMD_GET_BIDI :
+       status  = CUPS_SC_STATUS_OK;
         data[0] = 0;                   /* TODO: Change to 1 when read supported */
         datalen = 1;
         break;
index b1e75b8202768775e8cda2d7b7af82ccea687bd4..9808f8c0a29786a0e28c4449a7e2f8a955ee833e 100644 (file)
@@ -598,6 +598,7 @@ side_cb(int         print_fd,               /* I - Print file */
         break;
 
     case CUPS_SC_CMD_GET_BIDI :
+       status  = CUPS_SC_STATUS_OK;
         data[0] = use_bc;
         datalen = 1;
         break;
index 3710985e5c6c8a43e15449004d3b8b8735b9d657..9a0a80638e247a99dc42afdd7068cfc48c501408 100644 (file)
@@ -614,6 +614,42 @@ framedhelp:
                backchannel.c backend.h backend.c sidechannel.c sidechannel.h
 
 
+docsets:
+       echo Generating CUPS API documentation sets...
+       ../tools/makedocset --docset org.cups.overview.docset \
+               --title "Introduction to CUPS Programming" \
+               --header api-overview.header --intro api-overview.shtml
+       ../tools/makedocset --docset org.cups.array.docset \
+               --title "Array API" \
+               --header api-array.header --intro api-array.shtml \
+               array.h array.c
+       ../tools/makedocset --docset org.cups.cups.docset \
+               --title "CUPS API" \
+               --header api-cups.header --intro api-cups.shtml \
+               cups.h dest.c language.c notify.c \
+               options.c tempfile.c usersys.c \
+               util.c
+       ../tools/makedocset --docset org.cups.filedir.docset \
+               --title "File and Directory APIs" \
+               --header api-filedir.header --intro api-filedir.shtml \
+               file.h file.c dir.h dir.c
+       ../tools/makedocset --docset org.cups.ppd.docset \
+               --title "PPD API" \
+               --header api-ppd.header --intro api-ppd.shtml \
+               ppd.h attr.c conflicts.c custom.c emit.c localize.c mark.c \
+               page.c ppd.c
+       ../tools/makedocset --docset org.cups.httpipp.docset \
+               --title "HTTP and IPP APIs" \
+               --header api-httpipp.header --intro api-httpipp.shtml \
+               http.h ipp.h auth.c getdevices.c getputfile.c encode.c \
+               http.c http-addr.c http-support.c ipp.c ipp-support.c \
+               md5passwd.c request.c
+       ../tools/makedocset --docset org.cups.filter.docset \
+               --title "Filter and Backend Programming" \
+               --header api-filter.header --intro api-filter.shtml \
+               backchannel.c backend.h backend.c sidechannel.c sidechannel.h
+
+
 #
 # Dependencies...
 #
index 4867759b7c14bab4f5b1e96cd52350cd6ebae3dc..063756926e4c674f40769411d7d5860ed687f29a 100644 (file)
@@ -1389,7 +1389,9 @@ _httpResolveURI(
     if (log)
     {
       fputs("STATE: +connecting-to-device\n", stderr);
-      _cupsLangPrintf(stderr, _("INFO: Looking for \"%s\"...\n"), hostname);
+      fprintf(stderr, "DEBUG: Resolving %s, regtype=%s, domain=%s...\n",
+              hostname, regtype, domain);
+      _cupsLangPuts(stderr, _("INFO: Looking for printer...\n"));
     }
 
     if (DNSServiceResolve(&ref, 0, 0, hostname, regtype, domain,
diff --git a/doc/es/index.html.in b/doc/es/index.html.in
new file mode 100644 (file)
index 0000000..7ccc119
--- /dev/null
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+       <TITLE>Inicio - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
+       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
+       <LINK REL="SHORTCUT ICON" HREF="/favicon.png" TYPE="image/png">
+</HEAD>
+<BODY>
+<TABLE CLASS="page" SUMMARY="{title}">
+<TR><TD CLASS="body">
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR HEIGHT="36">
+<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
+SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
+<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;Inicio&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Administraci&oacute;n&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Clases&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;Ayuda&nbsp;en&nbsp;l&iacute;nea&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Trabajos&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Impresoras&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
+TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
+AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
+<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
+</TR>
+</TABLE>
+
+<TABLE CLASS="indent" SUMMARY="">
+<TR><TD STYLE="padding-right: 20px;">
+
+<H1>Common UNIX Printing System @CUPS_VERSION@</H1>
+
+<P>CUPS es el sistema de impresi&oacute;n de c&oacute;digo abierto basado en
+est&aacute;ndares desarrollado por <A HREF="http://www.apple.com/">Apple Inc.</A> para Mac
+OS<SUP>&reg;</SUP> X y otros sistemas operativos tipo UNIX<SUP>&reg;</SUP>.</P>
+
+</TD>
+<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128"
+HEIGHT="128" ALT="CUPS"></A></TD>
+</TR>
+</TABLE>
+
+<TABLE CLASS="indent" SUMMARY="">
+<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
+
+<H2>CUPS para usuarios</H2>
+
+<P><A HREF="help/overview.html">Descripci&oacute;n de CUPS</A></P>
+
+<P><A HREF="help/options.html">Impresi&oacute;n desde la l&iacute;nea de comandos y opciones</A></P>
+
+<P><A HREF="help/whatsnew.html">Qu&eacute; hay de nuevo en CUPS 1.4</A></P>
+
+<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Foro de usuarios</A></P>
+
+</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;">
+
+<H2>CUPS para administradores</H2>
+
+<P><A HREF="admin">A&ntilde;adiendo impresoras y clases</A></P>
+
+<P><A HREF="help/policies.html">Gestionando pol&iacute;ticas de funcionamiento</A></P>
+
+<P><A HREF="help/accounting.html">Contabilidad b&aacute;sica de impresora</A></P>
+
+<P><A HREF="help/security.html">Seguridad del servidor</A></P>
+
+<P><A HREF="help/kerberos.html">Usando autentificaci&oacute;n Kerberos</A></P>
+
+<P><A HREF="help/network.html">Usando impresoras de red</A></P>
+
+<P><A HREF="help/ref-cupsd-conf.html">Referencia de cupsd.conf</A></P>
+
+<P><A HREF="http://www.cups.org/ppd.php">Encontrar controladores de impresora</A></P>
+
+</TD><TD VALIGN="top" STYLE="padding-left: 20px;">
+
+<H2>CUPS para desarrolladores</H2>
+
+<P><A HREF="help/api-overview.html">Introducci&oacute;n a la programación de CUPS</A></P>
+
+<P><A HREF="help/api-cups.html">La API de CUPS</A></P>
+
+<P><A HREF="help/api-filter.html">Programaci&oacute;n de filtros y programas de conexi&oacute;n</A></P>
+
+<P><A HREF="help/api-httpipp.html">Las APIs HTTP e IPP</A></P>
+
+<P><A HREF="help/api-ppd.html">La API PPD</A></P>
+
+<P><A HREF="help/api-raster.html">La API Raster</A></P>
+
+<P><A HREF="help/ref-ppdcfile.html">Referencia del archivo de informaci&oacute;n del compilador de controladores PPD</A></P>
+
+<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Foro de desarrollo</A></P>
+
+</TD></TR>
+</TABLE>
+
+</TD></TR>
+<TR><TD>&nbsp;</TD></TR>
+<TR><TD CLASS="trailer">Common UNIX Printing System, CUPS, y el logo de CUPS son
+marcas registradas de <A HREF="http://www.apple.com">Apple Inc.</A> Los derechos
+de copia de CUPS 2007-2008 son de Apple Inc. Todos los derechos reservados.</TD></TR>
+</TABLE>
+</BODY>
+</HTML>
index fe4a8c076765250859467acea5e9ae94353a90e0..300f41df5d350dee7c0498c783f50a76b68ab421 100644 (file)
@@ -4,7 +4,7 @@
 <head>
 <title>Array API</title>
 <meta name="keywords" content="Programming">
-<meta name="creator" content="Mini-XML v2.5">
+<meta name="creator" content="Mini-XML v2.6">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -331,7 +331,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-array.header 7266 2008-01-29 02:15:29Z mike $"
+  "$Id: api-array.header 8087 2008-10-27 21:37:05Z mike $"
 
   Array API header for the Common UNIX Printing System (CUPS).
 
@@ -364,7 +364,6 @@ div.contents ul.subcontents li {
 </table></div>
 <h2 class="title">Contents</h2>
 <ul class="contents">
-</li>
 <li><a href="#OVERVIEW">Overview</a><ul class="subcontents">
 <li><a href="#MANAGING_ARRAYS">Managing Arrays</a></li>
 <li><a href="#FINDING_AND_ENUMERATING">Finding and Enumerating Elements</a></li>
@@ -391,7 +390,7 @@ div.contents ul.subcontents li {
 <li><a href="#cupsArrayRestore" title="Reset the current element to the last <a href="#cupsArraySave"><code>cupsArraySave</code></a>.">cupsArrayRestore</a></li>
 <li><a href="#cupsArraySave" title="Mark the current element for a later <a href="#cupsArrayRestore"><code>cupsArrayRestore</code></a>.">cupsArraySave</a></li>
 <li><a href="#cupsArrayUserData" title="Return the user data for an array.">cupsArrayUserData</a></li>
-</ul>
+</ul></li>
 <li><a href="#TYPES">Data Types</a><ul class="code">
        <li><a href="#cups_ahash_func_t" title="Array hash function">cups_ahash_func_t</a></li>
        <li><a href="#cups_array_func_t" title="Array comparison function">cups_array_func_t</a></li>
index 181f66d9638be6233004c153678fe520ee64b91e..f8500af3bb7f31c8b24644cb96930199596890c4 100644 (file)
@@ -4,7 +4,7 @@
 <head>
 <title>CUPS API</title>
 <meta name="keywords" content="Programming">
-<meta name="creator" content="Mini-XML v2.5">
+<meta name="creator" content="Mini-XML v2.6">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -331,7 +331,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
+  "$Id: api-cups.header 8087 2008-10-27 21:37:05Z mike $"
 
   CUPS API header for the Common UNIX Printing System (CUPS).
 
@@ -370,7 +370,6 @@ div.contents ul.subcontents li {
 </table></div>
 <h2 class="title">Contents</h2>
 <ul class="contents">
-</li>
 <li><a href="#OVERVIEW">Overview</a><ul class="subcontents">
 <li><a href="#CLIENTS_AND_SERVERS">Clients and Servers</a></li>
 <li><a href="#PRINTERS_AND_CLASSES">Printers and Classes</a></li>
@@ -440,7 +439,7 @@ specified server.">cupsPrintFiles2</a></li>
 <li><a href="#cupsTempFile" title="Generates a temporary filename.">cupsTempFile</a></li>
 <li><a href="#cupsTempFile2" title="Creates a temporary CUPS file.">cupsTempFile2</a></li>
 <li><a href="#cupsUser" title="Return the current user's name.">cupsUser</a></li>
-</ul>
+</ul></li>
 <li><a href="#TYPES">Data Types</a><ul class="code">
        <li><a href="#cups_dest_t" title="Destination">cups_dest_t</a></li>
        <li><a href="#cups_device_cb_t" title="Device callback ">cups_device_cb_t</a></li>
index 0bb9eea2aed304a24d552cb6b32a743e97d11804..99418d5148021a7590614d512f270284e262f675 100644 (file)
@@ -4,7 +4,7 @@
 <head>
 <title>File and Directory APIs</title>
 <meta name="keywords" content="Programming">
-<meta name="creator" content="Mini-XML v2.5">
+<meta name="creator" content="Mini-XML v2.6">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -331,7 +331,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-filedir.header 7279 2008-01-31 01:50:44Z mike $"
+  "$Id: api-filedir.header 8087 2008-10-27 21:37:05Z mike $"
 
   File and Directory API header for the Common UNIX Printing System (CUPS).
 
@@ -366,7 +366,6 @@ div.contents ul.subcontents li {
 </table></div>
 <h2 class="title">Contents</h2>
 <ul class="contents">
-</li>
 <li><a href="#OVERVIEW">Overview</a></li>
 <li><a href="#FUNCTIONS">Functions</a><ul class="code">
 <li><a href="#cupsDirClose" title="Close a directory.">cupsDirClose</a></li>
@@ -402,7 +401,7 @@ file.">cupsFileRewind</a></li>
 <li><a href="#cupsFileTell" title="Return the current file position.">cupsFileTell</a></li>
 <li><a href="#cupsFileUnlock" title="Unlock access to a file.">cupsFileUnlock</a></li>
 <li><a href="#cupsFileWrite" title="Write to a file.">cupsFileWrite</a></li>
-</ul>
+</ul></li>
 <li><a href="#TYPES">Data Types</a><ul class="code">
        <li><a href="#cups_dentry_t" title="Directory entry type">cups_dentry_t</a></li>
        <li><a href="#cups_dir_t" title="Directory type">cups_dir_t</a></li>
index fa1c17a80da5becb6335d124d6fe6ee4389eb9d4..2d1a13d885dc3fe7d50f147ba13481521dd45ccb 100644 (file)
@@ -4,7 +4,7 @@
 <head>
 <title>Filter and Backend Programming</title>
 <meta name="keywords" content="Programming">
-<meta name="creator" content="Mini-XML v2.5">
+<meta name="creator" content="Mini-XML v2.6">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -331,7 +331,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-filter.header 7616 2008-05-28 00:34:13Z mike $"
+  "$Id: api-filter.header 8087 2008-10-27 21:37:05Z mike $"
 
   Filter and backend programming header for the Common UNIX Printing System
   (CUPS).
@@ -370,7 +370,6 @@ div.contents ul.subcontents li {
 </table></div>
 <h2 class="title">Contents</h2>
 <ul class="contents">
-</li>
 <li><a href="#OVERVIEW">Overview</a><ul class="subcontents">
 <li><a href="#SECURITY">Security Considerations</a></li>
 <li><a href="#TEMPFILES">Temporary Files</a></li>
@@ -392,7 +391,7 @@ div.contents ul.subcontents li {
 <li><a href="#cupsSideChannelSNMPGet" title="Query a SNMP OID's value.">cupsSideChannelSNMPGet</a></li>
 <li><a href="#cupsSideChannelSNMPWalk" title="Query multiple SNMP OID values.">cupsSideChannelSNMPWalk</a></li>
 <li><a href="#cupsSideChannelWrite" title="Write a side-channel message.">cupsSideChannelWrite</a></li>
-</ul>
+</ul></li>
 <li><a href="#TYPES">Data Types</a><ul class="code">
        <li><a href="#cups_backend_t" title="Backend exit codes">cups_backend_t</a></li>
        <li><a href="#cups_sc_bidi_t" title="Bidirectional capabilities">cups_sc_bidi_t</a></li>
index cb411fc3aa8f40728eecf480bbecf5e46604fec1..fd1f1bb7b6c0cfa2ca15117bab26adb18e6c2567 100644 (file)
@@ -4,7 +4,7 @@
 <head>
 <title>HTTP and IPP APIs</title>
 <meta name="keywords" content="Programming">
-<meta name="creator" content="Mini-XML v2.5">
+<meta name="creator" content="Mini-XML v2.6">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -331,7 +331,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-httpipp.header 7258 2008-01-28 00:15:05Z mike $"
+  "$Id: api-httpipp.header 8087 2008-10-27 21:37:05Z mike $"
 
   HTTP and IPP API header for the Common UNIX Printing System (CUPS).
 
@@ -367,7 +367,6 @@ div.contents ul.subcontents li {
 </table></div>
 <h2 class="title">Contents</h2>
 <ul class="contents">
-</li>
 <li><a href="#OVERVIEW">Overview</a><ul class="subcontents">
 <li><a href="#CREATING_URI_STRINGS">Creating URI Strings</a></li>
 <li><a href="#SENDING_REQUESTS_WITH_FILES">Sending Requests with Files</a></li>
@@ -505,7 +504,7 @@ in seconds.">ippDateToTime</a></li>
 <li><a href="#ippWrite" title="Write data for an IPP message to a HTTP connection.">ippWrite</a></li>
 <li><a href="#ippWriteFile" title="Write data for an IPP message to a file.">ippWriteFile</a></li>
 <li><a href="#ippWriteIO" title="Write data for an IPP message.">ippWriteIO</a></li>
-</ul>
+</ul></li>
 <li><a href="#TYPES">Data Types</a><ul class="code">
        <li><a href="#http_addrlist_t" title="Socket address list, which is
 used to enumerate all of the
@@ -1062,6 +1061,7 @@ to add the standard groups.
 ipp_status_t cupsGetDevices (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#http_t">http_t</a> *http,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int timeout,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *include_schemes,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *exclude_schemes,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;cups_device_cb_t callback,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;void *user_data<br>
@@ -1072,6 +1072,8 @@ ipp_status_t cupsGetDevices (<br>
 <dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
 <dt>timeout</dt>
 <dd class="description">Timeout in seconds or <code>CUPS_TIMEOUT_DEFAULT</code></dd>
+<dt>include_schemes</dt>
+<dd class="description">Comma-separated URI schemes to include or <code>CUPS_INCLUDE_ALL</code></dd>
 <dt>exclude_schemes</dt>
 <dd class="description">Comma-separated URI schemes to exclude or <code>CUPS_EXCLUDE_NONE</code></dd>
 <dt>callback</dt>
@@ -1084,8 +1086,9 @@ ipp_status_t cupsGetDevices (<br>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">This function sends a CUPS-Get-Devices request and streams the discovered
 devices to the specified callback function. The &quot;timeout&quot; parameter controls
-how long the request lasts, while the &quot;exclude_schemes&quot; parameter provides
-a comma-delimited list of backends to omit from the request.
+how long the request lasts, while the &quot;include_schemes&quot; and &quot;exclude_schemes&quot;
+parameters provide comma-delimited lists of backends to include or omit from
+the request respectively.
 
 </p>
 <h3 class="function"><span class="info">&nbsp;CUPS 1.1.20&nbsp;</span><a name="cupsGetFd">cupsGetFd</a></h3>
index 998cca91bf778cf4b72748c25df497d640f48771..11b34287ed3e9eb518d05f37459900be6aa63869 100644 (file)
@@ -4,7 +4,7 @@
 <head>
 <title>Introduction to CUPS Programming</title>
 <meta name="keywords" content="Programming">
-<meta name="creator" content="Mini-XML v2.5">
+<meta name="creator" content="Mini-XML v2.6">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -384,12 +384,11 @@ div.contents ul.subcontents li {
 </table></div>
 <h2 class="title">Contents</h2>
 <ul class="contents">
-</li>
 <li><a href="#OVERVIEW">Overview</a></li>
 <li><a href="#COMPILING">Compiling Programs</a><ul class="subcontents">
 <li><a href="#XCODE">Compiling with Xcode</a></li>
 <li><a href="#COMMANDLINE">Compiling with GCC</a></li>
-</ul class="subcontents"></li>
+</ul></li>
 <li><a href="#WHERETOGO">Where to Go Next</a></li>
 </ul>
 <!--
index d44fab422431a01092cef1b6edd8671b6c5ceebe..bf087b5b73ad268360855b3e7aa022d519f8eb0f 100644 (file)
@@ -4,7 +4,7 @@
 <head>
 <title>PPD API</title>
 <meta name="keywords" content="Programming">
-<meta name="creator" content="Mini-XML v2.5">
+<meta name="creator" content="Mini-XML v2.6">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -331,7 +331,7 @@ div.contents ul.subcontents li {
 <body>
 <div class='body'>
 <!--
-  "$Id: api-ppd.header 7616 2008-05-28 00:34:13Z mike $"
+  "$Id: api-ppd.header 8087 2008-10-27 21:37:05Z mike $"
 
   PPD API header for the Common UNIX Printing System (CUPS).
 
@@ -366,7 +366,6 @@ div.contents ul.subcontents li {
 </table></div>
 <h2 class="title">Contents</h2>
 <ul class="contents">
-</li>
 <li><a href="#OVERVIEW">Overview</a><ul class="subcontents">
 <li><a href="#LOADING">Loading a PPD File</a></li>
 <li><a href="#OPTIONS_AND_GROUPS">Options and Groups</a></li>
@@ -424,7 +423,7 @@ conflicts.">ppdMarkOption</a></li>
 <li><a href="#ppdPageSizeLimits" title="Return the custom page size limits.">ppdPageSizeLimits</a></li>
 <li><a href="#ppdPageWidth" title="Get the page width for the given size.">ppdPageWidth</a></li>
 <li><a href="#ppdSetConformance" title="Set the conformance level for PPD files.">ppdSetConformance</a></li>
-</ul>
+</ul></li>
 <li><a href="#TYPES">Data Types</a><ul class="code">
        <li><a href="#ppd_attr_t" title="PPD Attribute Structure ">ppd_attr_t</a></li>
        <li><a href="#ppd_choice_t" title="Option choices">ppd_choice_t</a></li>
index db6c3e60643227c6a3daeeaa042b424499bbd90f..80fdd1b7f8b311337f1c2b33ad8a7a61c6c6a7e7 100644 (file)
@@ -4,7 +4,7 @@
 <head>
 <title>Raster API</title>
 <meta name="keywords" content="Programming">
-<meta name="creator" content="Mini-XML v2.5">
+<meta name="creator" content="Mini-XML v2.6">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -367,7 +367,6 @@ div.contents ul.subcontents li {
 </table></div>
 <h2 class="title">Contents</h2>
 <ul class="contents">
-</li>
 <li><a href="#OVERVIEW">Overview</a></li>
 <li><a href="#TASKS">Functions by Task</a><ul class="subcontents">
 <li><a href="#OPENCLOSE">Opening and Closing Raster Streams</a></li>
@@ -388,7 +387,7 @@ header structure.">cupsRasterWriteHeader</a></li>
 <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2
 page header structure.">cupsRasterWriteHeader2</a></li>
 <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
-</ul>
+</ul></li>
 <li><a href="#TYPES">Data Types</a><ul class="code">
        <li><a href="#cups_adv_t" title="AdvanceMedia attribute values">cups_adv_t</a></li>
        <li><a href="#cups_bool_t" title="Types...">cups_bool_t</a></li>
index dd46cbd20219e57ae9eaa07f4a0e59f113e3bca9..bfe810bd2c551277fc7a2a8cfa5daa350e8ccc24 100644 (file)
-<HTML>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html>
 <!-- SECTION: Programming -->
-<HEAD>
-       <TITLE>Developing PostScript Printer Drivers</TITLE>
-</HEAD>
-<BODY>
-
+<head>
+<title>Developing PostScript Printer Drivers</title>
+<meta name="keywords" content="Programming">
+<meta name="creator" content="Mini-XML v2.6">
+<style type="text/css"><!--
+BODY {
+  font-family: lucida grande, geneva, helvetica, arial, sans-serif;
+}
+
+H1, H2, H3, H4, H5, H6, P, TD, TH {
+  font-family: lucida grande, geneva, helvetica, arial, sans-serif;
+}
+
+KBD {
+  font-family: monaco, courier, monospace;
+  font-weight: bold;
+}
+
+PRE {
+  font-family: monaco, courier, monospace;
+}
+
+PRE.command {
+  margin-left: 36pt;
+}
+
+P.example {
+  font-style: italic;
+  margin-left: 36pt;
+}
+  
+PRE.example {
+  background: #eeeeee;
+  border: dotted thin #999999;
+  margin-left: 36pt;
+  padding: 10px;
+}
+
+PRE.command EM, PRE.example EM {
+  font-family: lucida grande, geneva, helvetica, arial, sans-serif;
+}
+
+P.command {
+  font-family: monaco, courier, monospace;
+  margin-left: 36pt;
+}
+
+P.formula {
+  font-style: italic;
+  margin-left: 36pt;
+}
+
+BLOCKQUOTE {
+  background: #cccccc;
+  border: solid thin #999999;
+  padding: 10pt;
+}
+
+A IMG {
+  border: none;
+}
+
+A:link:hover IMG {
+  background: #f0f0f0;
+  border-radius: 10px;
+  -moz-border-radius: 10px;
+}
+
+A:link, A:visited {
+  font-weight: normal;
+  text-decoration: none;
+}
+
+A:link:hover, A:visited:hover, A:active {
+  text-decoration: underline;
+}
+
+SUB, SUP {
+  font-size: 50%;
+}
+
+TR.data, TD.data, TR.data TD {
+  margin-top: 10pt;
+  padding: 5pt;
+  border-bottom: solid 1pt #999999;
+}
+
+TR.data TH {
+  border-bottom: solid 1pt #999999;
+  padding-top: 10pt;
+  padding-left: 5pt;
+  text-align: left;
+}
+
+DIV.table TABLE {
+  border: solid thin #999999;
+  border-collapse: collapse;
+  border-spacing: 0;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+DIV.table CAPTION {
+  caption-side: top;
+  font-size: 120%;
+  font-style: italic;
+  font-weight: bold;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+DIV.table TABLE TD {
+  border: solid thin #cccccc;
+  padding-top: 5pt;
+}
+
+DIV.table TABLE TH {
+  background: #cccccc;
+  border: none;
+  border-bottom: solid thin #999999;
+}
+
+DIV.figure TABLE {
+  margin-left: auto;
+  margin-right: auto;
+}
+
+DIV.figure CAPTION {
+  caption-side: bottom;
+  font-size: 120%;
+  font-style: italic;
+  font-weight: bold;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+TH.label {
+  text-align: right;
+  vertical-align: top;
+}
+
+TH.sublabel {
+  text-align: right;
+  font-weight: normal;
+}
+
+HR {
+  border: solid thin;
+}
+
+SPAN.info {
+  background: black;
+  border: thin solid black;
+  color: white;
+  font-size: 80%;
+  font-style: italic;
+  font-weight: bold;
+  white-space: nowrap;
+}
+
+H2 SPAN.info, H3 SPAN.info, H4 SPAN.info {
+  float: right;
+  font-size: 100%;
+}
+
+H2.title, H3.title {
+  border-bottom: solid 2pt #000000;
+}
+
+DIV.indent, TABLE.indent {
+  margin-top: 2em;
+  margin-left: auto;
+  margin-right: auto;
+  width: 90%;
+}
+
+TABLE.indent {
+  border-collapse: collapse;
+}
+
+TABLE.indent TD, TABLE.indent TH {
+  padding: 0;
+}
+
+TABLE.list {
+  border-collapse: collapse;
+  margin-left: auto;
+  margin-right: auto;
+  width: 90%;
+}
+
+TABLE.list TH {
+  background: white;
+  border-bottom: solid thin #cccccc;
+  color: #444444;
+  padding-top: 10pt;
+  padding-left: 5pt;
+  text-align: left;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+
+TABLE.list TH A {
+  color: #4444cc;
+}
+
+TABLE.list TD {
+  border-bottom: solid thin #eeeeee;
+  padding-top: 5pt;
+  padding-left: 5pt;
+}
+
+TABLE.list TR:nth-child(even) {
+  background: #f8f8f8;
+}
+
+TABLE.list TR:nth-child(odd) {
+  background: #f4f4f4;
+}
+
+DT {
+  margin-left: 36pt;
+  margin-top: 12pt;
+}
+
+DD {
+  margin-left: 54pt;
+}
+
+DL.category DT {
+  font-weight: bold;
+}
+
+P.summary {
+  margin-left: 36pt;
+  font-family: monaco, courier, monospace;
+}
+
+DIV.summary TABLE {
+  border: solid thin #999999;
+  border-collapse: collapse;
+  border-spacing: 0;
+  margin: 10px;
+}
+
+DIV.summary TABLE TD, DIV.summary TABLE TH {
+  border: solid thin #999999;
+  padding: 5px;
+  text-align: left;
+  vertical-align: top;
+}
+
+DIV.summary TABLE THEAD TH {
+  background: #eeeeee;
+}
+
+/* API documentation styles... */
+div.body h1 {
+  margin: 0;
+}
+div.body h2 {
+  margin-top: 1.5em;
+}
+div.body h3, div.body h4, div.body h5 {
+  margin-bottom: 0.5em;
+  margin-top: 1.5em;
+}
+.class, .enumeration, .function, .struct, .typedef, .union {
+  border-bottom: solid thin #999999;
+  margin-bottom: 0;
+  margin-top: 2em;
+}
+.description {
+  margin-top: 0.5em;
+}
+code, p.code, pre, ul.code li {
+  font-family: monaco, courier, monospace;
+  font-size: 90%;
+}
+ul.code, ul.contents, ul.subcontents {
+  list-style-type: none;
+  margin: 0;
+  padding-left: 0;
+}
+ul.code li {
+  margin: 0;
+}
+ul.contents > li {
+  margin-top: 1em;
+}
+ul.contents li ul.code, ul.contents li ul.subcontents {
+  padding-left: 2em;
+}
+div.body dl {
+  margin-left: 0;
+  margin-top: 0;
+}
+div.body dt {
+  font-style: italic;
+  margin-left: 0;
+  margin-top: 0;
+}
+div.body dd {
+  margin-bottom: 0.5em;
+}
+
+/* This is just for the HTML files generated with the framedhelp target */
+div.contents {
+  background: #e8e8e8;
+  border: solid thin black;
+  padding: 10px;
+}
+div.contents h1 {
+  font-size: 110%;
+}
+div.contents h2 {
+  font-size: 100%;
+}
+div.contents ul.contents {
+  font-size: 80%;
+}
+div.contents ul.subcontents li {
+  margin-left: 1em;
+  text-indent: -1em;
+}
+--></style>
+</head>
+<body>
+<div class='body'>
 <p>This document describes how to develop printer drivers for PostScript printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#IMPORT'>importing existing PPD files</a>, <a href='#FILTERS'>using custom filters</a>, <a href='#COLOR'>implementing color management</a>, <a href='#MACOSX'>adding Mac OS X features</a>, and <a href='#DEPLOY'>deploying your driver</a>.</p>
 
 <div class='summary'><table summary='General Information'>
 </tr>
 </tbody>
 </table></div>
-
-
+<h2 class="title">Contents</h2>
+<ul class="contents">
+<li><a href="#BASICS">Printer Driver Basics</a></li>
+<li><a href="#CREATING">Creating New PPD Files</a><ul class="subcontents">
+<li><a href="#IMPORT">Importing Existing PPD Files</a></li>
+</ul></li>
+<li><a href="#FILTERS">Using Custom Filters</a></li>
+<li><a href="#COLOR">Implementing Color Management</a></li>
+<li><a href="#MACOSX">Adding Mac OS X Features</a></li>
+<li><a href="#DEPLOY">Deploying Your Driver</a></li>
+</ul>
 <h2 class='title'><a name='BASICS'>Printer Driver Basics</a></h2>
 
 <p>A CUPS PostScript printer driver consists of a PostScript Printer Description (PPD) file that describes the features and capabilities of the device, zero or more <em>filter</em> programs that prepare print data for the device, and zero or more support files for color management, online help, and so forth. The PPD file includes references to all of the filters and support files used by the driver.</p>
@@ -283,7 +617,6 @@ information file.</P>
 <h2 class='title'><a name='DEPLOY'>Deploying Your Driver</a></h2>
 
 <p>Talk about install locations, etc.</p>
-
-
+</div>
 </body>
 </html>
index aa52b882117cd0d6b49328d7ab700826f3ec3c0b..10e9c462b71a916dfc8c72c6afb518bae3c12367 100644 (file)
-<HTML>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html>
 <!-- SECTION: Programming -->
-<HEAD>
-       <TITLE>Introduction to the PPD Compiler</TITLE>
-</HEAD>
-<BODY>
+<head>
+<title>Introduction to the PPD Compiler</title>
+<meta name="keywords" content="Programming">
+<meta name="creator" content="Mini-XML v2.6">
+<style type="text/css"><!--
+BODY {
+  font-family: lucida grande, geneva, helvetica, arial, sans-serif;
+}
+
+H1, H2, H3, H4, H5, H6, P, TD, TH {
+  font-family: lucida grande, geneva, helvetica, arial, sans-serif;
+}
+
+KBD {
+  font-family: monaco, courier, monospace;
+  font-weight: bold;
+}
+
+PRE {
+  font-family: monaco, courier, monospace;
+}
+
+PRE.command {
+  margin-left: 36pt;
+}
+
+P.example {
+  font-style: italic;
+  margin-left: 36pt;
+}
+  
+PRE.example {
+  background: #eeeeee;
+  border: dotted thin #999999;
+  margin-left: 36pt;
+  padding: 10px;
+}
+
+PRE.command EM, PRE.example EM {
+  font-family: lucida grande, geneva, helvetica, arial, sans-serif;
+}
+
+P.command {
+  font-family: monaco, courier, monospace;
+  margin-left: 36pt;
+}
+
+P.formula {
+  font-style: italic;
+  margin-left: 36pt;
+}
+
+BLOCKQUOTE {
+  background: #cccccc;
+  border: solid thin #999999;
+  padding: 10pt;
+}
+
+A IMG {
+  border: none;
+}
+
+A:link:hover IMG {
+  background: #f0f0f0;
+  border-radius: 10px;
+  -moz-border-radius: 10px;
+}
+
+A:link, A:visited {
+  font-weight: normal;
+  text-decoration: none;
+}
+
+A:link:hover, A:visited:hover, A:active {
+  text-decoration: underline;
+}
+
+SUB, SUP {
+  font-size: 50%;
+}
+
+TR.data, TD.data, TR.data TD {
+  margin-top: 10pt;
+  padding: 5pt;
+  border-bottom: solid 1pt #999999;
+}
+
+TR.data TH {
+  border-bottom: solid 1pt #999999;
+  padding-top: 10pt;
+  padding-left: 5pt;
+  text-align: left;
+}
+
+DIV.table TABLE {
+  border: solid thin #999999;
+  border-collapse: collapse;
+  border-spacing: 0;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+DIV.table CAPTION {
+  caption-side: top;
+  font-size: 120%;
+  font-style: italic;
+  font-weight: bold;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+DIV.table TABLE TD {
+  border: solid thin #cccccc;
+  padding-top: 5pt;
+}
+
+DIV.table TABLE TH {
+  background: #cccccc;
+  border: none;
+  border-bottom: solid thin #999999;
+}
+
+DIV.figure TABLE {
+  margin-left: auto;
+  margin-right: auto;
+}
+
+DIV.figure CAPTION {
+  caption-side: bottom;
+  font-size: 120%;
+  font-style: italic;
+  font-weight: bold;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+TH.label {
+  text-align: right;
+  vertical-align: top;
+}
+
+TH.sublabel {
+  text-align: right;
+  font-weight: normal;
+}
+
+HR {
+  border: solid thin;
+}
+
+SPAN.info {
+  background: black;
+  border: thin solid black;
+  color: white;
+  font-size: 80%;
+  font-style: italic;
+  font-weight: bold;
+  white-space: nowrap;
+}
+
+H2 SPAN.info, H3 SPAN.info, H4 SPAN.info {
+  float: right;
+  font-size: 100%;
+}
 
+H2.title, H3.title {
+  border-bottom: solid 2pt #000000;
+}
+
+DIV.indent, TABLE.indent {
+  margin-top: 2em;
+  margin-left: auto;
+  margin-right: auto;
+  width: 90%;
+}
+
+TABLE.indent {
+  border-collapse: collapse;
+}
+
+TABLE.indent TD, TABLE.indent TH {
+  padding: 0;
+}
+
+TABLE.list {
+  border-collapse: collapse;
+  margin-left: auto;
+  margin-right: auto;
+  width: 90%;
+}
+
+TABLE.list TH {
+  background: white;
+  border-bottom: solid thin #cccccc;
+  color: #444444;
+  padding-top: 10pt;
+  padding-left: 5pt;
+  text-align: left;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+
+TABLE.list TH A {
+  color: #4444cc;
+}
+
+TABLE.list TD {
+  border-bottom: solid thin #eeeeee;
+  padding-top: 5pt;
+  padding-left: 5pt;
+}
+
+TABLE.list TR:nth-child(even) {
+  background: #f8f8f8;
+}
+
+TABLE.list TR:nth-child(odd) {
+  background: #f4f4f4;
+}
+
+DT {
+  margin-left: 36pt;
+  margin-top: 12pt;
+}
+
+DD {
+  margin-left: 54pt;
+}
+
+DL.category DT {
+  font-weight: bold;
+}
+
+P.summary {
+  margin-left: 36pt;
+  font-family: monaco, courier, monospace;
+}
+
+DIV.summary TABLE {
+  border: solid thin #999999;
+  border-collapse: collapse;
+  border-spacing: 0;
+  margin: 10px;
+}
+
+DIV.summary TABLE TD, DIV.summary TABLE TH {
+  border: solid thin #999999;
+  padding: 5px;
+  text-align: left;
+  vertical-align: top;
+}
+
+DIV.summary TABLE THEAD TH {
+  background: #eeeeee;
+}
+
+/* API documentation styles... */
+div.body h1 {
+  margin: 0;
+}
+div.body h2 {
+  margin-top: 1.5em;
+}
+div.body h3, div.body h4, div.body h5 {
+  margin-bottom: 0.5em;
+  margin-top: 1.5em;
+}
+.class, .enumeration, .function, .struct, .typedef, .union {
+  border-bottom: solid thin #999999;
+  margin-bottom: 0;
+  margin-top: 2em;
+}
+.description {
+  margin-top: 0.5em;
+}
+code, p.code, pre, ul.code li {
+  font-family: monaco, courier, monospace;
+  font-size: 90%;
+}
+ul.code, ul.contents, ul.subcontents {
+  list-style-type: none;
+  margin: 0;
+  padding-left: 0;
+}
+ul.code li {
+  margin: 0;
+}
+ul.contents > li {
+  margin-top: 1em;
+}
+ul.contents li ul.code, ul.contents li ul.subcontents {
+  padding-left: 2em;
+}
+div.body dl {
+  margin-left: 0;
+  margin-top: 0;
+}
+div.body dt {
+  font-style: italic;
+  margin-left: 0;
+  margin-top: 0;
+}
+div.body dd {
+  margin-bottom: 0.5em;
+}
+
+/* This is just for the HTML files generated with the framedhelp target */
+div.contents {
+  background: #e8e8e8;
+  border: solid thin black;
+  padding: 10px;
+}
+div.contents h1 {
+  font-size: 110%;
+}
+div.contents h2 {
+  font-size: 100%;
+}
+div.contents ul.contents {
+  font-size: 80%;
+}
+div.contents ul.subcontents li {
+  margin-left: 1em;
+  text-indent: -1em;
+}
+--></style>
+</head>
+<body>
+<div class='body'>
 <P>This document describes how to use the CUPS PostScript Printer Description
 (PPD) file compiler. The PPD compiler generates PPD files from simple text files
 that describe the features and capabilities of one or more printers.</P>
@@ -22,8 +347,19 @@ that describe the features and capabilities of one or more printers.</P>
 </tr>
 </tbody>
 </table></div>
-
-
+<h2 class="title">Contents</h2>
+<ul class="contents">
+<li><a href="#BASICS">The Basics</a></li>
+<li><a href="#DRV">Driver Information Files</a><ul class="subcontents">
+<li><a href="#SIMPLE">A Simple Example</a></li>
+<li><a href="#GROUPING">Grouping and Inheritance</a></li>
+<li><a href="#COLOR">Color Support</a></li>
+<li><a href="#OPTIONS">Defining Custom Options and Option Groups</a></li>
+<li><a href="#DEFINE">Defining Constants</a></li>
+<li><a href="#CONDITIONAL">Conditional Statements</a></li>
+<li><a href="#CONSTRAINTS">Defining Constraints</a></li>
+</ul></li>
+</ul>
 <h2 class='title'><a name='BASICS'>The Basics</a></h2>
 
 <P>The PPD compiler, <a href='man-ppdc.html'><code>ppdc(1)</code></a>, is a
@@ -834,6 +1170,6 @@ lines:</p>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> cupsUIConstraints DuplexOff "*Duplex *OptionDuplexer False"
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> cupsUIResolver DuplexOff "*Duplex None"
 </pre>
-
-</BODY>
-</HTML>
+</div>
+</body>
+</html>
index c2517e1e5eb68052ba071e09ea957c6df56a0655..59a5aca46bc143827b98abbe1ecc01bb49e02968 100644 (file)
-<HTML>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html>
 <!-- SECTION: Programming -->
-<HEAD>
-       <TITLE>Developing Raster Printer Drivers</TITLE>
-</HEAD>
-<BODY>
+<head>
+<title>Developing Raster Printer Drivers</title>
+<meta name="keywords" content="Programming">
+<meta name="creator" content="Mini-XML v2.6">
+<style type="text/css"><!--
+BODY {
+  font-family: lucida grande, geneva, helvetica, arial, sans-serif;
+}
+
+H1, H2, H3, H4, H5, H6, P, TD, TH {
+  font-family: lucida grande, geneva, helvetica, arial, sans-serif;
+}
+
+KBD {
+  font-family: monaco, courier, monospace;
+  font-weight: bold;
+}
+
+PRE {
+  font-family: monaco, courier, monospace;
+}
 
+PRE.command {
+  margin-left: 36pt;
+}
+
+P.example {
+  font-style: italic;
+  margin-left: 36pt;
+}
+  
+PRE.example {
+  background: #eeeeee;
+  border: dotted thin #999999;
+  margin-left: 36pt;
+  padding: 10px;
+}
+
+PRE.command EM, PRE.example EM {
+  font-family: lucida grande, geneva, helvetica, arial, sans-serif;
+}
+
+P.command {
+  font-family: monaco, courier, monospace;
+  margin-left: 36pt;
+}
+
+P.formula {
+  font-style: italic;
+  margin-left: 36pt;
+}
+
+BLOCKQUOTE {
+  background: #cccccc;
+  border: solid thin #999999;
+  padding: 10pt;
+}
+
+A IMG {
+  border: none;
+}
+
+A:link:hover IMG {
+  background: #f0f0f0;
+  border-radius: 10px;
+  -moz-border-radius: 10px;
+}
+
+A:link, A:visited {
+  font-weight: normal;
+  text-decoration: none;
+}
+
+A:link:hover, A:visited:hover, A:active {
+  text-decoration: underline;
+}
+
+SUB, SUP {
+  font-size: 50%;
+}
+
+TR.data, TD.data, TR.data TD {
+  margin-top: 10pt;
+  padding: 5pt;
+  border-bottom: solid 1pt #999999;
+}
+
+TR.data TH {
+  border-bottom: solid 1pt #999999;
+  padding-top: 10pt;
+  padding-left: 5pt;
+  text-align: left;
+}
+
+DIV.table TABLE {
+  border: solid thin #999999;
+  border-collapse: collapse;
+  border-spacing: 0;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+DIV.table CAPTION {
+  caption-side: top;
+  font-size: 120%;
+  font-style: italic;
+  font-weight: bold;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+DIV.table TABLE TD {
+  border: solid thin #cccccc;
+  padding-top: 5pt;
+}
+
+DIV.table TABLE TH {
+  background: #cccccc;
+  border: none;
+  border-bottom: solid thin #999999;
+}
+
+DIV.figure TABLE {
+  margin-left: auto;
+  margin-right: auto;
+}
+
+DIV.figure CAPTION {
+  caption-side: bottom;
+  font-size: 120%;
+  font-style: italic;
+  font-weight: bold;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+TH.label {
+  text-align: right;
+  vertical-align: top;
+}
+
+TH.sublabel {
+  text-align: right;
+  font-weight: normal;
+}
+
+HR {
+  border: solid thin;
+}
+
+SPAN.info {
+  background: black;
+  border: thin solid black;
+  color: white;
+  font-size: 80%;
+  font-style: italic;
+  font-weight: bold;
+  white-space: nowrap;
+}
+
+H2 SPAN.info, H3 SPAN.info, H4 SPAN.info {
+  float: right;
+  font-size: 100%;
+}
+
+H2.title, H3.title {
+  border-bottom: solid 2pt #000000;
+}
+
+DIV.indent, TABLE.indent {
+  margin-top: 2em;
+  margin-left: auto;
+  margin-right: auto;
+  width: 90%;
+}
+
+TABLE.indent {
+  border-collapse: collapse;
+}
+
+TABLE.indent TD, TABLE.indent TH {
+  padding: 0;
+}
+
+TABLE.list {
+  border-collapse: collapse;
+  margin-left: auto;
+  margin-right: auto;
+  width: 90%;
+}
+
+TABLE.list TH {
+  background: white;
+  border-bottom: solid thin #cccccc;
+  color: #444444;
+  padding-top: 10pt;
+  padding-left: 5pt;
+  text-align: left;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+
+TABLE.list TH A {
+  color: #4444cc;
+}
+
+TABLE.list TD {
+  border-bottom: solid thin #eeeeee;
+  padding-top: 5pt;
+  padding-left: 5pt;
+}
+
+TABLE.list TR:nth-child(even) {
+  background: #f8f8f8;
+}
+
+TABLE.list TR:nth-child(odd) {
+  background: #f4f4f4;
+}
+
+DT {
+  margin-left: 36pt;
+  margin-top: 12pt;
+}
+
+DD {
+  margin-left: 54pt;
+}
+
+DL.category DT {
+  font-weight: bold;
+}
+
+P.summary {
+  margin-left: 36pt;
+  font-family: monaco, courier, monospace;
+}
+
+DIV.summary TABLE {
+  border: solid thin #999999;
+  border-collapse: collapse;
+  border-spacing: 0;
+  margin: 10px;
+}
+
+DIV.summary TABLE TD, DIV.summary TABLE TH {
+  border: solid thin #999999;
+  padding: 5px;
+  text-align: left;
+  vertical-align: top;
+}
+
+DIV.summary TABLE THEAD TH {
+  background: #eeeeee;
+}
+
+/* API documentation styles... */
+div.body h1 {
+  margin: 0;
+}
+div.body h2 {
+  margin-top: 1.5em;
+}
+div.body h3, div.body h4, div.body h5 {
+  margin-bottom: 0.5em;
+  margin-top: 1.5em;
+}
+.class, .enumeration, .function, .struct, .typedef, .union {
+  border-bottom: solid thin #999999;
+  margin-bottom: 0;
+  margin-top: 2em;
+}
+.description {
+  margin-top: 0.5em;
+}
+code, p.code, pre, ul.code li {
+  font-family: monaco, courier, monospace;
+  font-size: 90%;
+}
+ul.code, ul.contents, ul.subcontents {
+  list-style-type: none;
+  margin: 0;
+  padding-left: 0;
+}
+ul.code li {
+  margin: 0;
+}
+ul.contents > li {
+  margin-top: 1em;
+}
+ul.contents li ul.code, ul.contents li ul.subcontents {
+  padding-left: 2em;
+}
+div.body dl {
+  margin-left: 0;
+  margin-top: 0;
+}
+div.body dt {
+  font-style: italic;
+  margin-left: 0;
+  margin-top: 0;
+}
+div.body dd {
+  margin-bottom: 0.5em;
+}
+
+/* This is just for the HTML files generated with the framedhelp target */
+div.contents {
+  background: #e8e8e8;
+  border: solid thin black;
+  padding: 10px;
+}
+div.contents h1 {
+  font-size: 110%;
+}
+div.contents h2 {
+  font-size: 100%;
+}
+div.contents ul.contents {
+  font-size: 80%;
+}
+div.contents ul.subcontents li {
+  margin-left: 1em;
+  text-indent: -1em;
+}
+--></style>
+</head>
+<body>
+<div class='body'>
 <p>This document describes how to develop printer drivers for raster printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#FILTERS'>using filters</a>, <a href='#COLOR'>implementing color management</a>, <a href='#MACOSX'>adding Mac OS X features</a>, and <a href='#DEPLOY'>deploying your driver</a>.</p>
 
 <div class='summary'><table summary='General Information'>
 </tr>
 </tbody>
 </table></div>
-
-
+<h2 class="title">Contents</h2>
+<ul class="contents">
+<li><a href="#BASICS">Printer Driver Basics</a></li>
+<li><a href="#CREATING">Creating New PPD Files</a></li>
+<li><a href="#FILTERS">Using Filters</a></li>
+<li><a href="#COLOR">Implementing Color Management</a></li>
+<li><a href="#MACOSX">Adding Mac OS X Features</a></li>
+<li><a href="#DEPLOY">Deploying Your Driver</a></li>
+</ul>
 <h2 class='title'><a name='BASICS'>Printer Driver Basics</a></h2>
 
 <p>A CUPS raster printer driver consists of a PostScript Printer Description (PPD) file that describes the features and capabilities of the device, one or more <em>filter</em> programs that prepare print data for the device, and zero or more support files for color management, online help, and so forth. The PPD file includes references to all of the filters and support files used by the driver.</p>
 <h2 class='title'><a name='DEPLOY'>Deploying Your Driver</a></h2>
 
 <p>Talk about install locations, etc.</p>
-
-
+</div>
 </body>
 </html>
index 45ae1ca7f83992fbf1bedb90e9487daa8a649692..d77e7cb0316565c1e0cb7bcff021af236f15119c 100644 (file)
@@ -223,6 +223,24 @@ apihelp:
                --header api-raster.header --intro api-raster.shtml \
                ../cups/raster.h interpret.c raster.c \
                >../doc/help/api-raster.html
+       mxmldoc --section "Programming" \
+               --title "Developing PostScript Printer Drivers" \
+               --css ../doc/cups-printable.css \
+               --header postscript-driver.header \
+               --intro postscript-driver.shtml \
+               >../doc/help/postscript-driver.html
+       mxmldoc --section "Programming" \
+               --title "Introduction to the PPD Compiler" \
+               --css ../doc/cups-printable.css \
+               --header ppd-compiler.header \
+               --intro ppd-compiler.shtml \
+               >../doc/help/ppd-compiler.html
+       mxmldoc --section "Programming" \
+               --title "Developing Raster Printer Drivers" \
+               --css ../doc/cups-printable.css \
+               --header raster-driver.header \
+               --intro raster-driver.shtml \
+               >../doc/help/raster-driver.html
 
 framedhelp:
        echo Generating CUPS API help files...
@@ -231,6 +249,43 @@ framedhelp:
                --css ../doc/cups-printable.css \
                --header api-raster.header --intro api-raster.shtml \
                ../cups/raster.h interpret.c raster.c
+       mxmldoc --section "Programming" \
+               --title "Developing PostScript Printer Drivers" \
+               --framed ../cups/postscript-driver \
+               --css ../doc/cups-printable.css \
+               --header postscript-driver.header \
+               --intro postscript-driver.shtml
+       mxmldoc --section "Programming" \
+               --title "Introduction to the PPD Compiler" \
+               --framed ../cups/ppd-compiler \
+               --css ../doc/cups-printable.css \
+               --header ppd-compiler.header \
+               --intro ppd-compiler.shtml
+       mxmldoc --section "Programming" \
+               --title "Developing Raster Printer Drivers" \
+               --framed ../cups/raster-driver \
+               --css ../doc/cups-printable.css \
+               --header raster-driver.header \
+               --intro raster-driver.shtml
+
+docsets:
+       echo Generating CUPS API documentation sets...
+       ../tools/makedocset --docset org.cups.raster.docset \
+               --title "Raster API" \
+               --header api-raster.header --intro api-raster.shtml \
+               ../cups/raster.h interpret.c raster.c
+       ../tools/makedocset --docset org.cups.postscript-driver.docset \
+               --title "Developing PostScript Printer Drivers" \
+               --header postscript-driver.header \
+               --intro postscript-driver.shtml
+       ../tools/makedocset --docset org.cups.ppd-compiler.docset \
+               --title "Introduction to the PPD Compiler" \
+               --header ppd-compiler.header \
+               --intro ppd-compiler.shtml
+       ../tools/makedocset --docset org.cups.raster-driver.docset \
+               --title "Developing Raster Printer Drivers" \
+               --header raster-driver.header \
+               --intro raster-driver.shtml
 
 
 #
diff --git a/filter/postscript-driver.header b/filter/postscript-driver.header
new file mode 100644 (file)
index 0000000..5eb2dd1
--- /dev/null
@@ -0,0 +1,15 @@
+<p>This document describes how to develop printer drivers for PostScript printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#IMPORT'>importing existing PPD files</a>, <a href='#FILTERS'>using custom filters</a>, <a href='#COLOR'>implementing color management</a>, <a href='#MACOSX'>adding Mac OS X features</a>, and <a href='#DEPLOY'>deploying your driver</a>.</p>
+
+<div class='summary'><table summary='General Information'>
+<tbody>
+<tr>
+       <th>See Also</th>
+       <td>Programming: <a href='raster-driver.html'>Developing Raster Printer Drivers</a><br>
+       Programming: <a href='api-filter.html'>Filter and Backend Programming</a><br>
+       Programming: <a href='ppd-compiler.html'>Introduction to the PPD Compiler</a><br>
+       Programming: <a href='api-raster.html'>Raster API</a><br>
+       References: <a href='ref-ppdcfile.html'>PPD Compiler Driver Information File Reference</a><br>
+       Specifications: <a href='spec-ppd.html'>CUPS PPD Extensions</a></td>
+</tr>
+</tbody>
+</table></div>
diff --git a/filter/postscript-driver.shtml b/filter/postscript-driver.shtml
new file mode 100644 (file)
index 0000000..4729d5e
--- /dev/null
@@ -0,0 +1,261 @@
+<h2 class='title'><a name='BASICS'>Printer Driver Basics</a></h2>
+
+<p>A CUPS PostScript printer driver consists of a PostScript Printer Description (PPD) file that describes the features and capabilities of the device, zero or more <em>filter</em> programs that prepare print data for the device, and zero or more support files for color management, online help, and so forth. The PPD file includes references to all of the filters and support files used by the driver.</p>
+
+<p>Every time a user prints something the scheduler program, <a href='man-cupsd.html'>cupsd(8)</a>, determines the format of the print job and the programs required to convert that job into something the printer understands. CUPS includes filter programs for many common formats, for example to convert Portable Document Format (PDF) files into device-independent PostScript, and then from device-independent PostScript to device-dependent PostScript. <a href='#FIGURE_1'>Figure 1</a> shows the data flow of a typical print job.</p>
+
+<div class='figure'><table summary='PostScript Filter Chain'>
+<caption>Figure 1: <a name='FIGURE_1'>PostScript Filter Chain</a></caption>
+<tr><td><img src='/images/cups-postscript-chain.png' width='700' height='150' alt='PostScript Filter Chain'></td></tr>
+</table></div>
+
+<p>The optional PostScript filter can be provided to add printer-specific commands to the PostScript output that cannot be represented in the PPD file or to reorganize the output for special printer features. Typically this is used to support advanced job management or finishing functions on the printer. CUPS includes a generic PostScript filter that handles all PPD-defined commands.</p>
+
+<p>The optional port monitor handles interface-specific protocol or encoding issues. For example, many PostScript printers support the Binary Communications Protocol (BCP) and Tagged Binary Communications Protocol (TBCP) to allow applications to print 8-bit ("binary") PostScript jobs. CUPS includes port monitors for BCP and TBCP, and you can supply your own port monitors as needed.</p>
+
+<p>The backend handles communications with the printer, sending print data from the last filter to the printer and relaying back-channel data from the printer to the upstream filters. CUPS includes backend programs for common direct-connect interfaces and network protocols, and you can provide your own backend to support custom interfaces and protocols.</p>
+
+<p>The scheduler also supports a special "command" file format for sending maintenance commands and status queries to a printer or printer driver. Command print jobs typically use a single command filter program defined in the PPD file to generate the appropriate printer commands and handle any responses from the printer. <a href='#FIGURE_2'>Figure 2</a> shows the data flow of a typical command job.</p>
+
+<div class='figure'><table summary='Command Filter Chain'>
+<caption>Figure 2: <a name='FIGURE_2'>Command Filter Chain</a></caption>
+<tr><td><img src='/images/cups-command-chain.png' width='575' height='150' alt='Command Filter Chain'></td></tr>
+</table></div>
+
+<p>PostScript printer drivers typically do not require their own command filter since CUPS includes a generic PostScript command filter that supports all of the standard functions using PPD-defined commands.</p>
+
+
+<h2 class='title'><a name='CREATING'>Creating New PPD Files</a></h2>
+
+<p>We recommend using the CUPS PPD compiler, <a href='man-ppdc.html'>ppdc(1)</a>, to create new PPD files since it manages many of the tedious (and error-prone!) details of paper sizes and localization for you. It also allows you to easily support multiple devices from a single source file. For more information see the "<a href='ppd-compiler.html'>Introduction to the PPD Compiler</a>" document. <a href='#LISTING_1'>Listing 1</a> shows a driver information file for a black-and-white PostScript printer.</p>
+
+<p class='example'>Listing 1: <a name='LISTING_1'>"examples/postscript.drv"</a></p>
+
+<pre class='example'>
+// Include standard font and media definitions
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;font.defs&gt;
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;media.defs&gt;
+
+// Specify this is a PostScript printer driver
+<a href='ref-ppdcfile.html#DriverType'>DriverType</a> ps
+
+// List the fonts that are supported, in this case all standard fonts
+<a href='ref-ppdcfile.html#Font'>Font</a> *
+
+// Manufacturer, model name, and version
+<a href='ref-ppdcfile.html#Manufacturer'>Manufacturer</a> "Foo"
+<a href='ref-ppdcfile.html#ModelName'>ModelName</a> "Foo LaserProofer 2000"
+<a href='ref-ppdcfile.html#Version'>Version</a> 1.0
+
+// PostScript printer attributes
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> DefaultColorSpace "" Gray
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> LandscapeOrientation "" Minus90
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> LanguageLevel "" "3"
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> Product "" "(Foo LaserProofer 2000)"
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> PSVersion "" "(3010) 0"
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> TTRasterizer "" Type42
+
+// Supported page sizes
+*<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Letter
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Legal
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> A4
+
+// Query command for page size
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> "?PageSize" "" "
+      save
+      currentpagedevice /PageSize get aload pop
+      2 copy gt {exch} if (Unknown)
+      23 dict
+              dup [612 792] (Letter) put
+              dup [612 1008] (Legal) put
+              dup [595 842] (A4) put
+              {exch aload pop 4 index sub abs 5 le exch 
+               5 index sub abs 5 le and
+              {exch pop exit} {pop} ifelse
+      } bind forall = flush pop pop
+      restore"
+
+// Specify the name of the PPD file we want to generate
+<a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "fooproof.ppd"
+</pre>
+
+<h3>Required Attributes</h3>
+
+<p>PostScript drivers require the attributes listed in <a href='#TABLE_1'>Table 1</a>. If not specified, the defaults for CUPS drivers are used. A typical PostScript driver information file would include the following attributes:</p>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> DefaultColorSpace "" Gray
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> LandscapeOrientation "" Minus90
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> LanguageLevel "" "3"
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> Product "" "(Foo LaserProofer 2000)"
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> PSVersion "" "(3010) 0"
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> TTRasterizer "" Type42
+</pre>
+
+<div class='table'><table summary='Required PostScript Printer Driver Attributes'>
+<caption>Table 1: <a name='TABLE_1'>Required PostScript Printer Driver Attributes</a></caption>
+<thead>
+<tr>
+       <th>Attribute</th>
+       <th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+       <td><tt>DefaultColorSpace</tt></td>
+       <td>The default colorspace:
+       <tt>Gray</tt>, <tt>RGB</tt>, <tt>CMY</tt>, or
+       <tt>CMYK</tt>. If not specified, then <tt>RGB</tt> is
+       assumed.</td>
+</tr>
+<tr>
+       <td><tt>LandscapeOrientation</tt></td>
+       <td>The preferred landscape
+       orientation: <tt>Plus90</tt>, <tt>Minus90</tt>, or
+       <tt>Any</tt>. If not specified, <tt>Plus90</tt> is
+       assumed.</td>
+</tr>
+<tr>
+       <td><tt>LanguageLevel</tt></td>
+       <td>The PostScript language
+       level supported by the device: 1, 2, or 3. If not
+       specified, 2 is assumed.</td>
+</tr>
+<tr>
+       <td><tt>Product</tt></td>
+       <td>The string returned by
+       the PostScript <tt>product</tt> operator, which
+       <i>must</i> include parenthesis to conform with
+       PostScript syntax rules for strings. Multiple
+       <tt>Product</tt> attributes may be specified to support
+       multiple products with the same PPD file. If not
+       specified, "(ESP Ghostscript)" and "(GNU Ghostscript)"
+       are assumed.</td>
+</tr>
+<tr>
+       <td><tt>PSVersion</tt></td>
+       <td>The PostScript
+       interpreter version numbers as returned by the
+       <tt>version</tt> and <tt>revision</tt> operators. The
+       required format is "(version) revision". Multiple
+       <tt>PSVersion</tt> attributes may be specified to
+       support multiple interpreter version numbers. If not
+       specified, "(3010) 705" and "(3010) 707" are
+       assumed.</td>
+</tr>
+<tr>
+       <td><tt>TTRasterizer</tt></td>
+       <td>The type of TrueType
+       font rasterizer supported by the device, if any. The
+       supported values are <tt>None</tt>, <tt>Accept68k</tt>,
+       <tt>Type42</tt>, and <tt>TrueImage</tt>. If not
+       specified, <tt>None</tt> is assumed.</td>
+</tr>
+</table></div>
+
+<h3>Query Commands</h3>
+
+<p>Most PostScript printer PPD files include query commands (<tt>?PageSize</tt>, etc.) that allow applications to query the printer for its current settings and configuration. Query commands are included in driver information files as attributes. For example, the example in <a href='#LISTING_1'>Listing 1</a> uses the following definition for the <tt>PageSize</tt> query command:</p>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> "?PageSize" "" "
+      save
+      currentpagedevice /PageSize get aload pop
+      2 copy gt {exch} if (Unknown)
+      23 dict
+              dup [612 792] (Letter) put
+              dup [612 1008] (Legal) put
+              dup [595 842] (A4) put
+              {exch aload pop 4 index sub abs 5 le exch 
+               5 index sub abs 5 le and
+              {exch pop exit} {pop} ifelse
+      } bind forall = flush pop pop
+      restore"
+</pre>
+
+<p>Query commands can span multiple lines, however no single line may contain more than 255 characters.</p>
+
+<h3><a name='IMPORT'>Importing Existing PPD Files</a></h3>
+
+<P>CUPS includes a utility called <a href='man-ppdi.html'>ppdi(1)</a>
+which allows you to import existing PPD files into the driver information file
+format used by the PPD compiler <a href='man-ppdc.html'>ppdc(1)</a>. Once
+imported, you can modify, localize, and regenerate the PPD files easily. Type
+the following command to import the PPD file <VAR>mydevice.ppd</VAR> into the
+driver information file <VAR>mydevice.drv</VAR>:</P>
+
+<pre class='command'>
+ppdi -o mydevice.drv mydevice.ppd
+</pre>
+
+<P>If you have a whole directory of PPD files that you would like to import,
+you can list multiple filenames or use shell wildcards to import more than one
+PPD file on the command-line:</P>
+
+<pre class='command'>
+ppdi -o mydevice.drv mydevice1.ppd mydevice2.ppd
+ppdi -o mydevice.drv *.ppd
+</pre>
+
+<P>If the driver information file already exists, the new PPD
+file entries are appended to the end of the file. Each PPD file
+is placed in its own group of curly braces within the driver
+information file.</P>
+
+
+<h2 class='title'><a name='FILTERS'>Using Custom Filters</a></h2>
+
+<p>Normally a PostScript printer driver will not utilize any additional print filters. For drivers that provide additional filters such as a CUPS command file filter for doing printer maintenance, you must also list the following <tt>Filter</tt> directive to handle printing PostScript files:</p>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-postscript 0 -
+</pre>
+
+<h3>Custom Command Filters</h3>
+
+<p>The <tt>application/vnd.cups-command</tt> file type is used for CUPS command files. Use the following <tt>Filter</tt> directive to handle CUPS command files:</p>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-command 100 /path/to/command/filter
+</pre>
+
+<p>To use the standard PostScript command filter, specify <var>commandtops</var> as the path to the command filter.</p>
+
+<h3>Custom PDF Filters</h3>
+
+<p>The <tt>application/pdf</tt> file type is used for unfiltered PDF files while the <tt>application/vnd.cups-pdf</tt> file type is used for filtered PDF files. Use the following <tt>Filter</tt> directive to handle filtered PDF files:</p>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-pdf 100 /path/to/pdf/filter
+</pre>
+
+<p>For unfiltered PDF files, use:</p>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/pdf 100 /path/to/pdf/filter
+</pre>
+
+<p>Custom PDF filters that accept filtered data do not need to perform number-up processing and other types of page imposition, while those that accept unfiltered data MUST do the number-up processing themselves.</p>
+
+<h3>Custom PostScript Filters</h3>
+
+<p>The <tt>application/vnd.cups-postscript</tt> file type is used for filtered PostScript files. Use the following <tt>Filter</tt> directive to handle PostScript files:</p>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-postscript 100 /path/to/postscript/filter
+</pre>
+
+
+<h2 class='title'><a name='COLOR'>Implementing Color Management</a></h2>
+
+<p>Talk about ICC color profiles and sRGB as two best options.</p>
+
+
+<h2 class='title'><a name='MACOSX'>Adding Mac OS X Features</a></h2>
+
+<p>Talk about help books, icons, and PDEs.</p>
+
+
+<h2 class='title'><a name='DEPLOY'>Deploying Your Driver</a></h2>
+
+<p>Talk about install locations, etc.</p>
diff --git a/filter/ppd-compiler.header b/filter/ppd-compiler.header
new file mode 100644 (file)
index 0000000..b975c92
--- /dev/null
@@ -0,0 +1,17 @@
+<P>This document describes how to use the CUPS PostScript Printer Description
+(PPD) file compiler. The PPD compiler generates PPD files from simple text files
+that describe the features and capabilities of one or more printers.</P>
+
+<div class='summary'><table summary='General Information'>
+<tbody>
+<tr>
+       <th>See Also</th>
+       <td>Programming: <a href='raster-driver.html'>Developing Raster Printer Drivers</a><br>
+       Programming: <a href='postscript-driver.html'>Developing PostScript Printer Drivers</a><br>
+       Programming: <a href='api-filter.html'>Filter and Backend Programming</a><br>
+       Programming: <a href='api-raster.html'>Raster API</a><br>
+       References: <a href='ref-ppdcfile.html'>PPD Compiler Driver Information File Reference</a><br>
+       Specifications: <a href='spec-ppd.html'>CUPS PPD Extensions</a></td>
+</tr>
+</tbody>
+</table></div>
diff --git a/filter/ppd-compiler.shtml b/filter/ppd-compiler.shtml
new file mode 100644 (file)
index 0000000..7004e3d
--- /dev/null
@@ -0,0 +1,810 @@
+<h2 class='title'><a name='BASICS'>The Basics</a></h2>
+
+<P>The PPD compiler, <a href='man-ppdc.html'><code>ppdc(1)</code></a>, is a
+simple command-line tool that takes a single <I>driver information file</I>,
+which by convention uses the extension <VAR>.drv</VAR>, and produces one or more
+PPD files that may be distributed with your printer drivers for use with CUPS.
+For example, you would run the following command to create the English language
+PPD files defined by the driver information file <VAR>mydrivers.drv</VAR>:</P>
+
+<pre class='command'>
+ppdc mydrivers.drv
+</pre>
+
+<P>The PPD files are placed in a subdirectory called
+<VAR>ppd</VAR>. The <TT>-d</TT> option is used to put the PPD
+files in a different location, for example:</p>
+
+<pre class='command'>
+ppdc -d myppds mydrivers.drv
+</pre>
+
+<P>places the PPD files in a subdirectory named
+<VAR>myppds</VAR>. Finally, use the <TT>-l</TT> option to
+specify the language localization for the PPD files that are
+created, for example:</P>
+
+<pre class='command'>
+ppdc -d myppds/de -l de mydrivers.drv
+ppdc -d myppds/en -l en mydrivers.drv
+ppdc -d myppds/es -l es mydrivers.drv
+ppdc -d myppds/fr -l fr mydrivers.drv
+ppdc -d myppds/it -l it mydrivers.drv
+</pre>
+
+<P>creates PPD files in German (de), English (en), Spanish (es),
+French (fr), and Italian (it) in the corresponding
+subdirectories. Specify multiple languages (separated by commas) to produce
+"globalized" PPD files:</p>
+
+<pre class='command'>
+ppdc -d myppds -l de,en,es,fr,it mydrivers.drv
+</pre>
+
+
+<h2 class='title'><a name='DRV'>Driver Information Files</a></h2>
+
+<P>The driver information files accepted by the PPD compiler are
+plain text files that define the various attributes and options
+that are included in the PPD files that are generated. A driver
+information file can define the information for one or more printers and
+their corresponding PPD files.</P>
+
+<p class='example'><a name="LISTING1">Listing 1: "examples/minimum.drv"</a></p>
+
+<pre class='example'>
+<I>// Include standard font and media definitions</I>
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;font.defs&gt;
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;media.defs&gt;
+
+<I>// List the fonts that are supported, in this case all standard fonts...</I>
+<a href='ref-ppdcfile.html#Font'>Font</a> *
+
+<I>// Manufacturer, model name, and version</I>
+<a href='ref-ppdcfile.html#Manufacturer'>Manufacturer</a> "Foo"
+<a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet 2000"
+<a href='ref-ppdcfile.html#Version'>Version</a> 1.0
+
+<I>// Each filter provided by the driver...</I>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-raster 100 rastertofoo
+
+<I>// Supported page sizes</I>
+*<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Letter
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> A4
+
+<I>// Supported resolutions</I>
+*<a href='ref-ppdcfile.html#Resolution'>Resolution</a> k 8 0 0 0 "600dpi/600 DPI"
+
+<I>// Specify the name of the PPD file we want to generate...</I>
+<a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "foojet2k.ppd"
+</pre>
+
+
+<h3><a name='SIMPLE'>A Simple Example</a></h3>
+
+<P>The example in <A HREF="#LISTING1">Listing 1</A> shows a driver information
+file which defines the minimum required attributes to provide a valid PPD file.
+The first part of the file includes standard definition files for fonts and
+media sizes:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;font.defs&gt;
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;media.defs&gt;
+</pre>
+
+<P>The <TT>#include</TT> directive works just like the C/C++ include directive;
+files included using the angle brackets (<TT>&lt;filename&gt;</TT>) are found
+in any of the standard include directories and files included using quotes
+(<TT>"filename"</TT>) are found in the same directory as the source or include
+file. The <TT>&lt;font.defs&gt;</TT> include file defines the standard fonts
+which are included with GPL Ghostscript and the Apple PDF RIP, while the
+<TT>&lt;media.defs&gt;</TT> include file defines the standard media sizes
+listed in Appendix B of the Adobe PostScript Printer Description File Format
+Specification.</P>
+
+<P>CUPS provides several other standard include files:</P>
+
+<UL>
+
+       <LI><TT>&lt;epson.h&gt;</TT> - Defines all of the rastertoepson driver
+       constants.</LI>
+
+       <LI><TT>&lt;escp.h&gt;</TT> - Defines all of the rastertoescpx driver
+       constants.</LI>
+
+       <LI><TT>&lt;hp.h&gt;</TT> - Defines all of the rastertohp driver
+       constants.</LI>
+
+       <LI><TT>&lt;label.h&gt;</TT> - Defines all of the rastertolabel driver
+       constants.</LI>
+
+       <LI><TT>&lt;pcl.h&gt;</TT> - Defines all of the rastertopclx driver
+       constants.</LI>
+
+       <LI><TT>&lt;raster.defs&gt;</TT> - Defines all of the CUPS raster format
+       constants.</LI>
+
+</UL>
+
+<P>Next we list all of the fonts that are available in the driver; for CUPS
+raster drivers, the following line is all that is usually supplied:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Font'>Font</a> *
+</pre>
+
+<P>The <TT>Font</TT> directive specifies the name of a single font or the
+asterisk to specify all fonts. For example, you would use the following line to
+define an additional bar code font that you are supplying with your printer
+driver:</P>
+
+<pre class='example'>
+<I>//   name         encoding  version  charset  status</I>
+<a href='ref-ppdcfile.html#Font'>Font</a> Barcode-Foo  Special   "(1.0)"  Special  ROM
+</pre>
+
+<P>The name of the font is <TT>Barcode-Foo</TT>. Since it is not a standard
+text font, the encoding and charset name <TT>Special</TT> is used. The version
+number is <TT>1.0</TT> and the status (where the font is located) is
+<TT>ROM</TT> to indicate that the font does not need to be embedded in
+documents that use the font for this printer.</P>
+
+<P>Third comes the manufacturer, model name, and version number information
+strings:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Manufacturer'>Manufacturer</a> "Foo"
+<a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet 2000"
+<a href='ref-ppdcfile.html#Version'>Version</a> 1.0
+</pre>
+
+<P>These strings are used when the user (or auto-configuration program) selects
+the printer driver for a newly connected device.</p>
+
+<P>The list of filters comes after the information strings; for the example in
+<A HREF="#LISTING1">Listing 1</A>, we have a single filter that takes CUPS
+raster data:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-raster 100 rastertofoo
+</pre>
+
+<P>Each filter specified in the driver information file is the equivalent of a
+printer driver for that format; if a user submits a print job in a different
+format, CUPS figures out the sequence of commands that will produce a supported
+format for the least relative cost.</P>
+
+<P>Once we have defined the driver information we specify the supported options.
+For the example driver we support a single resolution of 600 dots per inch and
+two media sizes, A4 and Letter:</P>
+
+<pre class='example'>
+*<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Letter
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> A4
+
+*<a href='ref-ppdcfile.html#Resolution'>Resolution</a> k 8 0 0 0 "600dpi/600 DPI"
+</pre>
+
+<P>The asterisk in front of the <TT>MediaSize</TT> and <TT>Resolution</TT>
+directives specify that those option choices are the default. The
+<TT>MediaSize</TT> directive is followed by a media size name which is normally
+defined in the <TT>&lt;media.defs&gt;</TT> file and corresponds to a standard
+Adobe media size name. If the default media size is <TT>Letter</TT>, the PPD
+compiler will override it to be <TT>A4</TT> for non-English localizations for
+you automatically.</P>
+
+<P>The <TT>Resolution</TT> directive accepts several values after it as
+follows:</P>
+
+<OL>
+
+       <LI>Colorspace for this resolution, if any. In the example file, the
+       colorspace <TT>k</TT> is used which corresponds to black. For printer
+       drivers that support color printing, this field is usually specified as
+       "-" for "no change".</LI>
+
+       <LI>Bits per color. In the example file, we define 8 bits per color, for
+       a continuous-tone grayscale output. All versions of CUPS support 1 and
+       8 bits per color.  CUPS 1.2 and higher (Mac OS X 10.5 and higher) also
+       supports 16 bits per color.</LI>
+
+       <LI>Rows per band. In the example file, we define 0 rows per band to
+       indicate that our printer driver does not process the page in
+       bands.</LI>
+
+       <LI>Row feed. In the example, we define the feed value to be 0 to
+       indicate that our printer driver does not interleave the output.</LI>
+
+       <LI>Row step. In the example, we define the step value to be 0 to
+       indicate that our printer driver does not interleave the output. This
+       value normally indicates the spacing between the nozzles of an inkjet
+       printer - when combined with the previous two values, it informs the
+       driver how to stagger the output on the page to produce interleaved
+       lines on the page for higher-resolution output.</LI>
+
+       <LI>Choice name and text. In the example, we define the choice name and
+       text to be <TT>"600dpi/600 DPI"</TT>. The name and text are separated by
+       slash (<TT>/</TT>) character; if no text is specified, then the name is
+       used as the text. The PPD compiler parses the name to determine the
+       actual resolution; the name can be of the form
+       <TT><I>RESOLUTION</I>dpi</TT> for resolutions that are equal
+       horizontally and vertically or <TT><I>HRES</I>x<I>VRES</I>dpi</TT> for
+       isometric resolutions. Only integer resolution values are supported, so
+       a resolution name of <TT>300dpi</TT> is valid while <TT>300.1dpi</TT> is
+       not.</LI>
+
+</OL>
+
+<P>Finally, the <TT>PCFileName</TT> directive specifies that the named PPD file
+should be written for the current driver definitions:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "foojet2k.ppd"
+</pre>
+
+<P>The filename follows the directive and <I>must</I> conform to the Adobe
+filename requirements in the Adobe Postscript Printer Description File Format
+Specification. Specifically, the filename may not exceed 8 characters followed
+by the extension <VAR>.ppd</VAR>. The <TT>FileName</TT> directive can be used to
+specify longer filenames:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#FileName'>FileName</a> "FooJet 2000"
+</pre>
+
+
+<h3><a name='GROUPING'>Grouping and Inheritance</a></h3>
+
+<P>The previous example created a single PPD file. Driver information files can
+also define multiple printers by using the PPD compiler grouping functionality.
+Directives are grouped using the curly braces (<TT>{</TT> and <TT>}</TT>) and
+every group that uses the <TT>PCFileName</TT> or <TT>FileName</TT> directives
+produces a PPD file with that name. <A HREF="#LISTING2">Listing 2</A> shows a
+variation of the original example that uses two groups to define two printers
+that share the same printer driver filter but provide two different resolution
+options.</P>
+
+<p class='example'><a name="LISTING2">Listing 2: "examples/grouping.drv"</a></p>
+
+<pre class='example'>
+
+<I>// Include standard font and media definitions</I>
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;font.defs&gt;
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;media.defs&gt;
+
+<I>// List the fonts that are supported, in this case all standard fonts...</I>
+<a href='ref-ppdcfile.html#Font'>Font</a> *
+
+<I>// Manufacturer and version</I>
+<a href='ref-ppdcfile.html#Manufacturer'>Manufacturer</a> "Foo"
+<a href='ref-ppdcfile.html#Version'>Version</a> 1.0
+
+<I>// Each filter provided by the driver...</I>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-raster 100 rastertofoo
+
+<I>// Supported page sizes</I>
+*<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Letter
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> A4
+
+{
+  <I>// Supported resolutions</I>
+  *<a href='ref-ppdcfile.html#Resolution'>Resolution</a> k 8 0 0 0 "600dpi/600 DPI"
+
+  <I>// Specify the model name and filename...</I>
+  <a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet 2000"
+  <a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "foojet2k.ppd"
+}
+
+{
+  <I>// Supported resolutions</I>
+  *<a href='ref-ppdcfile.html#Resolution'>Resolution</a> k 8 0 0 0 "1200dpi/1200 DPI"
+
+  <I>// Specify the model name and filename...</I>
+  <a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet 2001"
+  <a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "foojt2k1.ppd"
+}
+</pre>
+
+<P>The second example is essentially the same as the first, except that each
+printer model is defined inside of a pair of curly braces. For example, the
+first printer is defined using:</P>
+
+<pre class='example'>
+{
+  // Supported resolutions
+  *<a href='ref-ppdcfile.html#Resolution'>Resolution</a> k 8 0 0 0 "600dpi/600 DPI"
+
+  // Specify the model name and filename...
+  <a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet 2000"
+  <a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "foojet2k.ppd"
+}
+</pre>
+
+<P>The printer <I>inherits</I> all of the definitions from the parent group (the
+top part of the file) and adds the additional definitions inside the curly
+braces for that printer driver. When we define the second group, it also
+inherits the same definitions from the parent group but <I>none</I> of the
+definitions from the first driver. Groups can be nested to any number of levels
+to support variations of similar models without duplication of information.</P>
+
+
+<h3><a name='COLOR'>Color Support</a></h3>
+
+<P>For printer drivers that support color printing, the
+<TT>ColorDevice</TT> and <TT>ColorModel</TT> directives should be
+used to tell the printing system that color output is desired
+and in what formats. <A HREF="#LISTING3">Listing 3</A> shows a
+variation of the previous example which includes a color printer
+that supports printing at 300 and 600 DPI.</P>
+
+<P>The key changes are the addition of the <TT>ColorDevice</TT>
+directive:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#ColorDevice'>ColorDevice</a> true
+</pre>
+
+<P>which tells the printing system that the printer supports
+color printing, and the <TT>ColorModel</TT> directives:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#ColorModel'>ColorModel</a> Gray/Grayscale w chunky 0
+*<a href='ref-ppdcfile.html#ColorModel'>ColorModel</a> RGB/Color rgb chunky 0
+</pre>
+
+<P>which tell the printing system which colorspaces are supported by the printer
+driver for color printing. Each of the <TT>ColorModel</TT> directives is
+followed by the option name and text (<TT>Gray/Grayscale</TT> and
+<TT>RGB/Color</TT>), the colorspace name (<TT>w</TT> and <TT>rgb</TT>), the
+color organization (<TT>chunky</TT>), and the compression mode number
+(<TT>0</TT>) to be passed to the driver. The option name can be any of the
+standard Adobe <TT>ColorModel</TT> names:</P>
+
+<UL>
+
+       <LI><TT>Gray</TT> - Grayscale output.
+
+       <LI><TT>RGB</TT> - Color output, typically using the RGB
+       colorspace, but without a separate black channel.
+
+       <LI><TT>CMYK</TT> - Color output with a separate black
+       channel.
+
+</UL>
+
+<P>Custom names can be used, however it is recommended that you use your vendor
+prefix for any custom names, for example "fooName".</P>
+
+<P>The colorspace name can be any of the following universally supported
+colorspaces:</P>
+
+<UL>
+       <LI><TT>w</TT> - Luminance</LI>
+
+       <LI><TT>rgb</TT> - Red, green, blue</LI>
+
+       <LI><TT>k</TT> - Black</LI>
+
+       <LI><TT>cmy</TT> - Cyan, magenta, yellow</LI>
+
+       <LI><TT>cmyk</TT> - Cyan, magenta, yellow, black</LI>
+
+</UL>
+
+<P>The color organization can be any of the following values:</P>
+
+<UL>
+
+       <LI><TT>chunky</TT> - Color values are passed together on a line
+       as RGB RGB RGB RGB</LI>
+
+       <LI><TT>banded</TT> - Color values are passed separately
+       on a line as RRRR GGGG BBBB; not supported by the Apple
+       RIP filters</LI>
+
+       <LI><TT>planar</TT> - Color values are passed separately
+       on a page as RRRR RRRR RRRR ... GGGG GGGG GGGG ... BBBB
+       BBBB BBBB; not supported by the Apple RIP filters</LI>
+
+</UL>
+
+<P>The compression mode value is passed to the driver in the
+<TT>cupsCompression</TT> attribute. It is traditionally used to select an
+appropriate compression mode for the color model but can be used for any
+purpose, such as specifying a photo mode vs. standard mode.</P>
+
+<p class='example'><a name="LISTING3">Listing 3: "examples/color.drv"</a></p>
+
+<pre class='example'>
+
+<I>// Include standard font and media definitions</I>
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;font.defs&gt;
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;media.defs&gt;
+
+<I>// List the fonts that are supported, in this case all standard fonts...</I>
+<a href='ref-ppdcfile.html#Font'>Font</a> *
+
+<I>// Manufacturer and version</I>
+<a href='ref-ppdcfile.html#Manufacturer'>Manufacturer</a> "Foo"
+<a href='ref-ppdcfile.html#Version'>Version</a> 1.0
+
+<I>// Each filter provided by the driver...</I>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-raster 100 rastertofoo
+
+<I>// Supported page sizes</I>
+*<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Letter
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> A4
+
+{
+  <I>// Supported resolutions</I>
+  *<a href='ref-ppdcfile.html#Resolution'>Resolution</a> k 8 0 0 0 "600dpi/600 DPI"
+
+  <I>// Specify the model name and filename...</I>
+  <a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet 2000"
+  <a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "foojet2k.ppd"
+}
+
+{
+  <I>// Supports color printing</I>
+  <a href='ref-ppdcfile.html#ColorDevice'>ColorDevice</a> true
+
+  <I>// Supported colorspaces</I>
+  <a href='ref-ppdcfile.html#ColorModel'>ColorModel</a> Gray/Grayscale w chunky 0
+  *<a href='ref-ppdcfile.html#ColorModel'>ColorModel</a> RGB/Color rgb chunky 0
+
+  <I>// Supported resolutions</I>
+  *<a href='ref-ppdcfile.html#Resolution'>Resolution</a> - 8 0 0 0 "300dpi/300 DPI"
+  <a href='ref-ppdcfile.html#Resolution'>Resolution</a> - 8 0 0 0 "600dpi/600 DPI"
+
+  <I>// Specify the model name and filename...</I>
+  <a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet Color"
+  <a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "foojetco.ppd"
+}
+</pre>
+
+
+<h3><a name='OPTIONS'>Defining Custom Options and Option Groups</a></h3>
+
+<P>The <TT>Group</TT>, <TT>Option</TT>, and <TT>Choice</TT>
+directives are used to define or select a group, option, or
+choice. <A HREF="#LISTING4">Listing 4</A> shows a variation of
+the first example that provides two custom options in a group
+named "Footasm".</P>
+
+<p class='example'><a name="LISTING4">Listing 4: "examples/custom.drv"</a></p>
+
+<pre class='example'>
+
+<I>// Include standard font and media definitions</I>
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;font.defs&gt;
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;media.defs&gt;
+
+<I>// List the fonts that are supported, in this case all standard fonts...</I>
+<a href='ref-ppdcfile.html#Font'>Font</a> *
+
+<I>// Manufacturer, model name, and version</I>
+<a href='ref-ppdcfile.html#Manufacturer'>Manufacturer</a> "Foo"
+<a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet 2000"
+<a href='ref-ppdcfile.html#Version'>Version</a> 1.0
+
+<I>// Each filter provided by the driver...</I>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-raster 100 rastertofoo
+
+<I>// Supported page sizes</I>
+*<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Letter
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> A4
+
+<I>// Supported resolutions</I>
+*<a href='ref-ppdcfile.html#Resolution'>Resolution</a> k 8 0 0 0 "600dpi/600 DPI"
+
+<I>// Option Group</I>
+<a href='ref-ppdcfile.html#Group'>Group</a> "Footasm"
+
+  <I>// Boolean option</I>
+  <a href='ref-ppdcfile.html#Option'>Option</a> "fooEnhance/Resolution Enhancement" Boolean AnySetup 10
+    *<a href='ref-ppdcfile.html#Choice'>Choice</a> True/Yes "&lt;&lt;/cupsCompression 1&gt;&gt;setpagedevice"
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> False/No "&lt;&lt;/cupsCompression 0&gt;&gt;setpagedevice"
+
+  <I>// Multiple choice option</I>
+  <a href='ref-ppdcfile.html#Option'>Option</a> "fooOutputType/Output Quality" PickOne AnySetup 10
+    *<a href='ref-ppdcfile.html#Choice'>Choice</a> "Auto/Automatic Selection"
+            "&lt;&lt;/OutputType(Auto)&gt;&gt;setpagedevice""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "Text/Optimize for Text"
+            "&lt;&lt;/OutputType(Text)&gt;&gt;setpagedevice""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "Graph/Optimize for Graphics"
+            "&lt;&lt;/OutputType(Graph)&gt;&gt;setpagedevice""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "Photo/Optimize for Photos"
+            "&lt;&lt;/OutputType(Photo)&gt;&gt;setpagedevice""
+
+<I>// Specify the name of the PPD file we want to generate...</I>
+<a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "foojet2k.ppd"
+</pre>
+
+<P>The custom group is introduced by the <TT>Group</TT>
+directive which is followed by the name and optionally text for
+the user:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Group'>Group</a> "Footasm/Footastic Options"
+</pre>
+
+<P>The group name must conform to the PPD specification and
+cannot exceed 40 characters in length. If you specify user text,
+it cannot exceed 80 characters in length. The groups
+<TT>General</TT>, <TT>Extra</TT>, and
+<TT>InstallableOptions</TT> are predefined by CUPS; the general
+and extra groups are filled by the UI options defined by the PPD
+specification. The <TT>InstallableOptions</TT> group is reserved
+for options that define whether accessories for the printer
+(duplexer unit, finisher, stapler, etc.) are installed.</P>
+
+<P>Once the group is specified, the <TT>Option</TT> directive is
+used to introduce a new option:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Option'>Option</a> "fooEnhance/Resolution Enhancement" Boolean AnySetup 10
+</pre>
+
+<P>The directive is followed by the name of the option and any
+optional user text, the option type, the PostScript document group, and
+the sort order number. The option name must conform to the PPD specification
+and cannot exceed 40 characters in length. If you specify user text, it
+cannot exceed 80 characters in length.</P>
+
+<P>The option type can be <TT>Boolean</TT> for true/false
+selections, <TT>PickOne</TT> for picking one of many choices, or
+<TT>PickMany</TT> for picking zero or more choices. Boolean
+options can have at most two choices with the names
+<TT>False</TT> and <TT>True</TT>. Pick options can have any
+number of choices, although for Windows compatibility reasons
+the number of choices should not exceed 255.</P>
+
+<P>The PostScript document group is typically <TT>AnySetup</TT>,
+meaning that the option can be introduced at any point in the
+PostScript document. Other values include <TT>PageSetup</TT> to
+include the option before each page and <TT>DocumentSetup</TT>
+to include the option once at the beginning of the document.</P>
+
+<P>The sort order number is used to sort the printer commands
+associated with each option choice within the PostScript
+document. This allows you to setup certain options before others
+as required by the printer. For most CUPS raster printer
+drivers, the value <TT>10</TT> can be used for all options.</P>
+
+<P>Once the option is specified, each option choice can be
+listed using the <TT>Choice</TT> directive:</P>
+
+<pre class='example'>
+*<a href='ref-ppdcfile.html#Choice'>Choice</a> True/Yes "&lt;&lt;/cupsCompression 1&gt;&gt;setpagedevice"
+<a href='ref-ppdcfile.html#Choice'>Choice</a> False/No "&lt;&lt;/cupsCompression 0&gt;&gt;setpagedevice"
+</pre>
+
+<P>The directive is followed by the choice name and optionally
+user text, and the PostScript commands that should be inserted
+when printing a file to this printer. The option name must
+conform to the PPD specification and cannot exceed 40 characters
+in length. If you specify user text, it cannot exceed 80
+characters in length.</P>
+
+<P>The PostScript commands are also interpreted by any RIP
+filters, so these commands typically must be present for all
+option choices. Most commands take the form:</P>
+
+<pre class='example'>
+&lt;&lt;/name value&gt;&gt;setpagedevice
+</pre>
+
+<P>where <TT>name</TT> is the name of the PostScript page device
+attribute and <TT>value</TT> is the numeric or string value for
+that attribute.</P>
+
+
+<h3><a name='DEFINE'>Defining Constants</a></h3>
+
+<P>Sometimes you will want to define constants for your drivers
+so that you can share values in different groups within the same
+driver information file, or to share values between different
+driver information files using the <TT>#include</TT> directive.
+The <TT>#define</TT> directive is used to define constants for
+use in your printer definitions:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#_define'>#define</a> NAME value
+</pre>
+
+<P>The <TT>NAME</TT> is any sequence of letters, numbers, and
+the underscore. The <TT>value</TT> is a number or string; if the
+value contains spaces you must put double quotes around it, for
+example:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#_define'>#define</a> FOO "My String Value"
+</pre>
+
+<P>Constants can also be defined on the command-line using the <tt>-D</tt>
+option:</P>
+
+<pre class='command'>
+ppdc -DNAME="value" filename.drv
+</pre>
+
+<P>Once defined, you use the notation <TT>$NAME</TT> to substitute the value of
+the constant in the file, for example:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#_define'>#define</a> MANUFACTURER "Foo"
+<a href='ref-ppdcfile.html#_define'>#define</a> FOO_600      0
+<a href='ref-ppdcfile.html#_define'>#define</a> FOO_1200     1
+
+{
+  <a href='ref-ppdcfile.html#Manufacturer'>Manufacturer</a> "$MANUFACTURER"
+  <a href='ref-ppdcfile.html#ModelNumber'>ModelNumber</a> $FOO_600
+  <a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet 2000"
+  ...
+}
+
+{
+  <a href='ref-ppdcfile.html#Manufacturer'>Manufacturer</a> "$MANUFACTURER"
+  <a href='ref-ppdcfile.html#ModelNumber'>ModelNumber</a> $FOO_1200
+  <a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet 2001"
+  ...
+}
+</pre>
+
+<P>Numeric constants can be bitwise OR'd together by placing the constants
+inside parenthesis, for example:</P>
+
+<pre class='example'>
+<I>// ModelNumber capability bits</I>
+<a href='ref-ppdcfile.html#_define'>#define</a> DUPLEX 1
+<a href='ref-ppdcfile.html#_define'>#define</a> COLOR  2
+
+...
+
+{
+  <I>// Define a model number specifying the capabilities of the printer...</I>
+  <a href='ref-ppdcfile.html#ModelNumber'>ModelNumber</a> ($DUPLEX $COLOR)
+  ...
+}
+</pre>
+
+
+<h3><a name='CONDITIONAL'>Conditional Statements</a></h3>
+
+<p>The PPD compiler supports conditional compilation using the <tt>#if</tt>,
+<tt>#elif</tt>, <tt>#else</tt>, and <tt>#endif</tt> directives. The <tt>#if</tt>
+and <tt>#elif</tt> directives are followed by a constant name or an expression.
+For example, to include a group of options when "ADVANCED" is defined:</p>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#_if'>#if</a> ADVANCED
+<a href='ref-ppdcfile.html#Group'>Group</a> "Advanced/Advanced Options"
+  <a href='ref-ppdcfile.html#Option'>Option</a> "fooCyanAdjust/Cyan Adjustment"
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "plus10/+10%" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "plus5/+5%" ""
+    *<a href='ref-ppdcfile.html#Choice'>Choice</a> "none/No Adjustment" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "minus5/-5%" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "minus10/-10%" ""
+  <a href='ref-ppdcfile.html#Option'>Option</a> "fooMagentaAdjust/Magenta Adjustment"
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "plus10/+10%" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "plus5/+5%" ""
+    *<a href='ref-ppdcfile.html#Choice'>Choice</a> "none/No Adjustment" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "minus5/-5%" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "minus10/-10%" ""
+  <a href='ref-ppdcfile.html#Option'>Option</a> "fooYellowAdjust/Yellow Adjustment"
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "plus10/+10%" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "plus5/+5%" ""
+    *<a href='ref-ppdcfile.html#Choice'>Choice</a> "none/No Adjustment" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "minus5/-5%" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "minus10/-10%" ""
+  <a href='ref-ppdcfile.html#Option'>Option</a> "fooBlackAdjust/Black Adjustment"
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "plus10/+10%" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "plus5/+5%" ""
+    *<a href='ref-ppdcfile.html#Choice'>Choice</a> "none/No Adjustment" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "minus5/-5%" ""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "minus10/-10%" ""
+<a href='ref-ppdcfile.html#_endif'>#endif</a>
+</pre>
+
+
+<h3><a name='CONSTRAINTS'>Defining Constraints</a></h3>
+
+<P>Constraints are strings that are used to specify that one or more option
+choices are incompatible, for example two-sided printing on transparency media.
+Constraints are also used to prevent the use of uninstalled features such as the
+duplexer unit, additional media trays, and so forth.</P>
+
+<P>The <TT>UIConstraints</TT> directive is used to specify a constraint that is
+placed in the PPD file. The directive is followed by a string using one of the
+following formats:</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#UIConstraints'>UIConstraints</a> "*Option1 *Option2"
+<a href='ref-ppdcfile.html#UIConstraints'>UIConstraints</a> "*Option1 Choice1 *Option2"
+<a href='ref-ppdcfile.html#UIConstraints'>UIConstraints</a> "*Option1 *Option2 Choice2"
+<a href='ref-ppdcfile.html#UIConstraints'>UIConstraints</a> "*Option1 Choice1 *Option2 Choice2"
+</pre>
+
+<P>Each option name is preceded by the asterisk (<TT>*</TT>). If no choice is
+given for an option, then all choices <I>except</I> <TT>False</TT> and
+<TT>None</TT> will conflict with the other option and choice(s). Since the PPD
+compiler automatically adds reciprocal constraints (option A conflicts with
+option B, so therefore option B conflicts with option A), you need only specify
+the constraint once.</P>
+
+<p class='example'><a name="LISTING5">Listing 5: "examples/constraint.drv"</a></p>
+
+<pre class='example'>
+
+<I>// Include standard font and media definitions</I>
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;font.defs&gt;
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;media.defs&gt;
+
+<I>// List the fonts that are supported, in this case all standard fonts...</I>
+<a href='ref-ppdcfile.html#Font'>Font</a> *
+
+<I>// Manufacturer, model name, and version</I>
+<a href='ref-ppdcfile.html#Manufacturer'>Manufacturer</a> "Foo"
+<a href='ref-ppdcfile.html#ModelName'>ModelName</a> "FooJet 2000"
+<a href='ref-ppdcfile.html#Version'>Version</a> 1.0
+
+<I>// Each filter provided by the driver...</I>
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-raster 100 rastertofoo
+
+<I>// Supported page sizes</I>
+*<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Letter
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> A4
+
+<I>// Supported resolutions</I>
+*<a href='ref-ppdcfile.html#Resolution'>Resolution</a> k 8 0 0 0 "600dpi/600 DPI"
+
+<I>// Installable Option Group</I>
+<a href='ref-ppdcfile.html#Group'>Group</a> "InstallableOptions/Options Installed"
+
+  <I>// Duplexing unit option</I>
+  <a href='ref-ppdcfile.html#Option'>Option</a> "OptionDuplexer/Duplexing Unit" Boolean AnySetup 10
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> True/Installed ""
+    *<a href='ref-ppdcfile.html#Choice'>Choice</a> "False/Not Installed" ""
+
+<I>// General Option Group</I>
+<a href='ref-ppdcfile.html#Group'>Group</a> General
+
+  <I>// Duplexing option</I>
+  <a href='ref-ppdcfile.html#Option'>Option</a> "Duplex/Two-Sided Printing" PickOne AnySetup 10
+    *<a href='ref-ppdcfile.html#Choice'>Choice</a> "None/No" "&lt;&lt;/Duplex false&gt;&gt;setpagedevice""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "DuplexNoTumble/Long Edge Binding"
+           "&lt;&lt;/Duplex true/Tumble false&gt;&gt;setpagedevice""
+    <a href='ref-ppdcfile.html#Choice'>Choice</a> "DuplexTumble/Short Edge Binding"
+           "&lt;&lt;/Duplex true/Tumble true&gt;&gt;setpagedevice""
+
+<I>// Only allow duplexing if the duplexer is installed</I>
+<a href='ref-ppdcfile.html#UIConstraints'>UIConstraints</a> "*Duplex *OptionDuplexer False"
+
+<I>// Specify the name of the PPD file we want to generate...</I>
+<a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "foojet2k.ppd"
+</pre>
+
+<P><A HREF="#LISTING5">Listing 5</A> shows a variation of the first example with
+an added <TT>Duplex</TT> option and installable option for the duplexer,
+<TT>OptionDuplex</TT>. A constraint is added at the end to specify that any
+choice of the <TT>Duplex</TT> option that is not <TT>None</TT> is incompatible
+with the "Duplexer Installed" option set to "Not Installed"
+(<TT>False</TT>):</P>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#UIConstraints'>UIConstraints</a> "*Duplex *OptionDuplexer False"
+</pre>
+
+<h4>Enhanced Constraints</h4>
+
+<p>CUPS 1.4 supports constraints between 2 or more options using the
+<TT>Attribute</TT> directive. <TT>cupsUIConstraints</TT> attributes define
+the constraints, while <TT>cupsUIResolver</TT> attributes define option changes
+to resolve constraints. For example, we can specify the previous duplex
+constraint with a resolver that turns off duplexing with the following two
+lines:</p>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> cupsUIConstraints DuplexOff "*Duplex *OptionDuplexer False"
+<a href='ref-ppdcfile.html#Attribute'>Attribute</a> cupsUIResolver DuplexOff "*Duplex None"
+</pre>
diff --git a/filter/raster-driver.header b/filter/raster-driver.header
new file mode 100644 (file)
index 0000000..a90c2e3
--- /dev/null
@@ -0,0 +1,15 @@
+<p>This document describes how to develop printer drivers for raster printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#FILTERS'>using filters</a>, <a href='#COLOR'>implementing color management</a>, <a href='#MACOSX'>adding Mac OS X features</a>, and <a href='#DEPLOY'>deploying your driver</a>.</p>
+
+<div class='summary'><table summary='General Information'>
+<tbody>
+<tr>
+       <th>See Also</th>
+       <td>Programming: <a href='postscript-driver.html'>Developing PostScript Printer Drivers</a><br>
+       Programming: <a href='api-filter.html'>Filter and Backend Programming</a><br>
+       Programming: <a href='ppd-compiler.html'>Introduction to the PPD Compiler</a><br>
+       Programming: <a href='api-raster.html'>Raster API</a><br>
+       References: <a href='ref-ppdcfile.html'>PPD Compiler Driver Information File Reference</a><br>
+       Specifications: <a href='spec-ppd.html'>CUPS PPD Extensions</a></td>
+</tr>
+</tbody>
+</table></div>
diff --git a/filter/raster-driver.shtml b/filter/raster-driver.shtml
new file mode 100644 (file)
index 0000000..824ef37
--- /dev/null
@@ -0,0 +1,170 @@
+<h2 class='title'><a name='BASICS'>Printer Driver Basics</a></h2>
+
+<p>A CUPS raster printer driver consists of a PostScript Printer Description (PPD) file that describes the features and capabilities of the device, one or more <em>filter</em> programs that prepare print data for the device, and zero or more support files for color management, online help, and so forth. The PPD file includes references to all of the filters and support files used by the driver.</p>
+
+<p>Every time a user prints something the scheduler program, <a href='man-cupsd.html'>cupsd(8)</a>, determines the format of the print job and the programs required to convert that job into something the printer understands. CUPS includes filter programs for many common formats, for example to convert Portable Document Format (PDF) files into CUPS raster data. <a href='#FIGURE_1'>Figure 1</a> shows the data flow of a typical print job.</p>
+
+<div class='figure'><table summary='Raster Filter Chain'>
+<caption>Figure 1: <a name='FIGURE_1'>Raster Filter Chain</a></caption>
+<tr><td><img src='/images/cups-raster-chain.png' width='700' height='150' alt='Raster Filter Chain'></td></tr>
+</table></div>
+
+<p>The raster filter converts CUPS raster data into a format the printer understands, for example HP-PCL. CUPS includes several sample raster filters supporting standard page description languages (PDLs). <a href='#TABLE_1'>Table 1</a> shows the raster filters that are bundled with CUPS and the languages they support.</p>
+
+<div class='table'><table summary='Standard CUPS Raster Filters'>
+<caption>Table 1: <a name='TABLE_1'>Standard CUPS Raster Filters</a></caption>
+<thead>
+<tr><th>Filter</th><th>PDLs</th><th>ppdc DriverType</th><th>ppdc #include file</th></tr>
+</thead>
+<tbody>
+<tr><td>rastertoepson</td><td>ESC/P, ESC/P2</td><td>epson</td><td>epson.h</td></tr>
+<tr><td>rastertoescpx</td><td>ESC/P, ESC/P2, EPSON Remote Mode</td><td>escp</td><td>escp.h</td></tr>
+<tr><td>rastertohp</td><td>HP-PCL3, HP-PCL5</td><td>hp</td><td>hp.h</td></tr>
+<tr><td>rastertolabel</td><td>CPCL, Dymo, EPL1, EPL2, Intellitech PCL, ZPL</td><td>label</td><td>label.h</td></tr>
+<tr><td>rastertopclx</td><td>HP-RTL, HP-PCL3, HP-PCL3GUI, HP-PCL5, HP-PCL5c, HP-PCL5e</td><td>pcl</td><td>pcl.h</td></tr>
+</tbody>
+</table></div>
+
+<p>The optional port monitor handles interface-specific protocol or encoding issues. For example, some raster printers use the 1284.4 communications protocol.</p>
+
+<p>The backend handles communications with the printer, sending print data from the last filter to the printer and relaying back-channel data from the printer to the upstream filters. CUPS includes backend programs for common direct-connect interfaces and network protocols, and you can provide your own backend to support custom interfaces and protocols.</p>
+
+<p>The scheduler also supports a special "command" file format for sending maintenance commands and status queries to a printer or printer driver. Command print jobs typically use a single command filter program defined in the PPD file to generate the appropriate printer commands and handle any responses from the printer. <a href='#FIGURE_2'>Figure 2</a> shows the data flow of a typical command job.</p>
+
+<div class='figure'><table summary='Command Filter Chain'>
+<caption>Figure 2: <a name='FIGURE_2'>Command Filter Chain</a></caption>
+<tr><td><img src='/images/cups-command-chain.png' width='575' height='150' alt='Command Filter Chain'></td></tr>
+</table></div>
+
+<p>Raster printer drivers must provide their own command filter.</p>
+
+
+<h2 class='title'><a name='CREATING'>Creating New PPD Files</a></h2>
+
+<p>We recommend using the CUPS PPD compiler, <a href='man-ppdc.html'>ppdc(1)</a>, to create new PPD files since it manages many of the tedious (and error-prone!) details of paper sizes and localization for you. It also allows you to easily support multiple devices from a single source file. For more information see the "<a href='ppd-compiler.html'>Introduction to the PPD Compiler</a>" document. <a href='#LISTING_1'>Listing 1</a> shows a driver information file for several similar black-and-white HP-PCL5 laser printers.</p>
+
+<p class='example'>Listing 1: <a name='LISTING_1'>"examples/laserjet-basic.drv"</a></p>
+
+<pre class='example'>
+<I>// Include standard font and media definitions</I>
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;font.defs&gt;
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;media.defs&gt;
+
+<I>// Include HP-PCL driver definitions</I>
+<a href='ref-ppdcfile.html#_include'>#include</a> &lt;pcl.h&gt;
+
+<I>// Specify that this driver uses the HP-PCL driver...</I>
+<a href='ref-ppdcfile.html#DriverType'>DriverType</a> pcl
+
+<I>// Specify the driver options via the model number...</I>
+<a href='ref-ppdcfile.html#ModelNumber'>ModelNumber</a> ($PCL_PAPER_SIZE $PCL_PJL $PCL_PJL_RESOLUTION)
+
+<I>// List the fonts that are supported, in this case all standard fonts...</I>
+<a href='ref-ppdcfile.html#Font'>Font</a> *
+
+<I>// Manufacturer and driver version</I>
+<a href='ref-ppdcfile.html#Manufacturer'>Manufacturer</a> "HP"
+<a href='ref-ppdcfile.html#Version'>Version</a> 1.0
+
+<I>// Supported page sizes and their margins</I>
+<a href='ref-ppdcfile.html#HWMargins'>HWMargins</a> 18 12 18 12
+*<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Letter
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Legal
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Executive
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Monarch
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Statement
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> FanFoldGermanLegal
+
+<a href='ref-ppdcfile.html#HWMargins'>HWMargins</a> 18 12.72 18 12.72
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Env10
+
+<a href='ref-ppdcfile.html#HWMargins'>HWMargins</a> 9.72 12 9.72 12
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> A4
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> A5
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> B5
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> EnvC5
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> EnvDL
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> EnvISOB5
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> Postcard
+<a href='ref-ppdcfile.html#MediaSize'>MediaSize</a> DoublePostcard
+
+<I>// Only black-and-white output with mode 3 compression...</I>
+<a href='ref-ppdcfile.html#ColorModel'>ColorModel</a> Gray k chunky 3
+
+<I>// Supported resolutions</I>
+<a href='ref-ppdcfile.html#Resolution'>Resolution</a> - 1 0 0 0 "300dpi/300 DPI"
+*<a href='ref-ppdcfile.html#Resolution'>Resolution</a> - 8 0 0 0 "600dpi/600 DPI"
+
+<I>// Supported input slots</I>
+*<a href='ref-ppdcfile.html#InputSlot'>InputSlot</a> 7 "Auto/Automatic Selection"
+<a href='ref-ppdcfile.html#InputSlot'>InputSlot</a> 2 "Manual/Tray 1 - Manual Feed"
+<a href='ref-ppdcfile.html#InputSlot'>InputSlot</a> 4 "Upper/Tray 1"
+<a href='ref-ppdcfile.html#InputSlot'>InputSlot</a> 1 "Lower/Tray 2"
+<a href='ref-ppdcfile.html#InputSlot'>InputSlot</a> 5 "LargeCapacity/Tray 3"
+
+<I>// Tray 3 is an option...</I>
+<a href='ref-ppdcfile.html#Installable'>Installable</a> "OptionLargeCapacity/Tray 3 Installed"
+<a href='ref-ppdcfile.html#UIConstraints'>UIConstraints</a> "*OptionLargeCapacity False *InputSlot LargeCapacity"
+
+{
+  <I>// HP LaserJet 2100 Series</I>
+  <a href='ref-ppdcfile.html#Throughput'>Throughput</a> 10
+  <a href='ref-ppdcfile.html#ModelName'>ModelName</a> "LaserJet 2100 Series"
+  <a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "hpljt211.ppd"
+}
+
+{
+  <I>// LaserJet 2200 and 2300 series have duplexer option...</I>
+  <a href='ref-ppdcfile.html#Duplex'>Duplex</a> normal
+  <a href='ref-ppdcfile.html#Installable'>Installable</a> "OptionDuplex/Duplexer Installed"
+  <a href='ref-ppdcfile.html#UIConstraints'>UIConstraints</a> "*OptionDuplex False *Duplex"
+
+  {
+    <I>// HP LaserJet 2200 Series</I>
+    <a href='ref-ppdcfile.html#Throughput'>Throughput</a> 19
+    <a href='ref-ppdcfile.html#ModelName'>ModelName</a> "LaserJet 2200 Series"
+    <a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "hpljt221.ppd"
+  }
+
+  {
+    <I>// HP LaserJet 2300 Series</I>
+    <a href='ref-ppdcfile.html#Throughput'>Throughput</a> 25
+    <a href='ref-ppdcfile.html#ModelName'>ModelName</a> "LaserJet 2300 Series"
+    <a href='ref-ppdcfile.html#PCFileName'>PCFileName</a> "hpljt231.ppd"
+  }
+}
+</pre>
+
+
+<h2 class='title'><a name='FILTERS'>Using Filters</a></h2>
+
+<p>The standard CUPS raster filters can be specified using the
+<a href='ref-ppdcfile.html#DriverType'><tt>DriverType</tt></a> directive, for example:</p>
+
+<pre class='example'>
+<I>// Specify that this driver uses the HP-PCL driver...</I>
+<a href='ref-ppdcfile.html#DriverType'>DriverType</a> pcl
+</pre>
+
+<p><a href='#TABLE_1'>Table 1</a> shows the driver types for each of the standard CUPS raster filters. For drivers that do not use the standard raster filters, the "custom" type is used with <a href='ref-ppdcfile.html#Filter'><tt>Filter</tt></a> directives:</p>
+
+<pre class='example'>
+<a href='ref-ppdcfile.html#DriverType'>DriverType</a> custom
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-raster 100 /path/to/raster/filter
+<a href='ref-ppdcfile.html#Filter'>Filter</a> application/vnd.cups-command 100 /path/to/command/filter
+</pre>
+
+
+<h2 class='title'><a name='COLOR'>Implementing Color Management</a></h2>
+
+<p>Talk about ICC color profiles and sRGB as two best options.</p>
+
+
+<h2 class='title'><a name='MACOSX'>Adding Mac OS X Features</a></h2>
+
+<p>Talk about help books, icons, and PDEs.</p>
+
+
+<h2 class='title'><a name='DEPLOY'>Deploying Your Driver</a></h2>
+
+<p>Talk about install locations, etc.</p>
index 0bf25a4d76f37644237500ff5a9e88217952fc81..61bddb049babceeb997d20d31ffd75cf32ef1f18 100644 (file)
 #   file is missing or damaged, see the license at "http://www.cups.org/".
 #
 
-
-
+#
+# Notes for Translators:
+#
+# The following prefixes MUST NOT be translated: "ALERT:", "CRIT:", "INFO:",
+# "NOTICE:", and "WARNING:".
+#
+# The "checkpo" program located in the "lcoale" source directory can be used
+# to verify that your translations do not introduce formatting errors or other
+# problems.  Run with:
+#
+#    cd locale
+#    ./checkpo cups_LL.po
+#
+# where "LL" is your locale.
+#
index 5d5444aabcac91441682e82ae7585b5844374f7b..bd398d969833f47ef96c2ba5626e4e4394e28019 100644 (file)
 #   file is missing or damaged, see the license at "http://www.cups.org/".
 #
 
-
-
+#
+# Notes for Translators:
+#
+# The following prefixes MUST NOT be translated: "ALERT:", "CRIT:", "INFO:",
+# "NOTICE:", and "WARNING:".
+#
+# The "checkpo" program located in the "lcoale" source directory can be used
+# to verify that your translations do not introduce formatting errors or other
+# problems.  Run with:
+#
+#    cd locale
+#    ./checkpo cups_LL.po
+#
+# where "LL" is your locale.
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: CUPS 1.4\n"
+"Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2008-10-10 11:47-0700\n"
+"POT-Creation-Date: 2008-12-08 14:07-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"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: systemv/lpstat.c:1843 systemv/lpstat.c:1956
+#: systemv/lpstat.c:1848 systemv/lpstat.c:1961
 msgid "\t\t(all)\n"
 msgstr ""
 
-#: systemv/lpstat.c:1846 systemv/lpstat.c:1849 systemv/lpstat.c:1959
-#: systemv/lpstat.c:1962
+#: systemv/lpstat.c:1851 systemv/lpstat.c:1854 systemv/lpstat.c:1964
+#: systemv/lpstat.c:1967
 msgid "\t\t(none)\n"
 msgstr ""
 
@@ -41,88 +54,88 @@ msgstr ""
 msgid "\t%d entries\n"
 msgstr ""
 
-#: systemv/lpstat.c:1824 systemv/lpstat.c:1937
+#: systemv/lpstat.c:1829 systemv/lpstat.c:1942
 msgid "\tAfter fault: continue\n"
 msgstr ""
 
-#: systemv/lpstat.c:1456 systemv/lpstat.c:1790 systemv/lpstat.c:1903
+#: systemv/lpstat.c:1461 systemv/lpstat.c:1795 systemv/lpstat.c:1908
 msgid "\tAlerts:"
 msgstr ""
 
-#: systemv/lpstat.c:1847 systemv/lpstat.c:1960
+#: systemv/lpstat.c:1852 systemv/lpstat.c:1965
 msgid "\tBanner required\n"
 msgstr ""
 
-#: systemv/lpstat.c:1848 systemv/lpstat.c:1961
+#: systemv/lpstat.c:1853 systemv/lpstat.c:1966
 msgid "\tCharset sets:\n"
 msgstr ""
 
-#: systemv/lpstat.c:1813 systemv/lpstat.c:1926
+#: systemv/lpstat.c:1818 systemv/lpstat.c:1931
 msgid "\tConnection: direct\n"
 msgstr ""
 
-#: systemv/lpstat.c:1804 systemv/lpstat.c:1917
+#: systemv/lpstat.c:1809 systemv/lpstat.c:1922
 msgid "\tConnection: remote\n"
 msgstr ""
 
-#: systemv/lpstat.c:1851 systemv/lpstat.c:1964
+#: systemv/lpstat.c:1856 systemv/lpstat.c:1969
 msgid "\tDefault page size:\n"
 msgstr ""
 
-#: systemv/lpstat.c:1850 systemv/lpstat.c:1963
+#: systemv/lpstat.c:1855 systemv/lpstat.c:1968
 msgid "\tDefault pitch:\n"
 msgstr ""
 
-#: systemv/lpstat.c:1852 systemv/lpstat.c:1965
+#: systemv/lpstat.c:1857 systemv/lpstat.c:1970
 msgid "\tDefault port settings:\n"
 msgstr ""
 
-#: systemv/lpstat.c:1785 systemv/lpstat.c:1898
+#: systemv/lpstat.c:1790 systemv/lpstat.c:1903
 #, c-format
 msgid "\tDescription: %s\n"
 msgstr ""
 
-#: systemv/lpstat.c:1779 systemv/lpstat.c:1892
+#: systemv/lpstat.c:1784 systemv/lpstat.c:1897
 msgid ""
 "\tForm mounted:\n"
 "\tContent types: any\n"
 "\tPrinter types: unknown\n"
 msgstr ""
 
-#: systemv/lpstat.c:1845 systemv/lpstat.c:1958
+#: systemv/lpstat.c:1850 systemv/lpstat.c:1963
 msgid "\tForms allowed:\n"
 msgstr ""
 
-#: systemv/lpstat.c:1808 systemv/lpstat.c:1921
+#: systemv/lpstat.c:1813 systemv/lpstat.c:1926
 #, c-format
 msgid "\tInterface: %s.ppd\n"
 msgstr ""
 
-#: systemv/lpstat.c:1817 systemv/lpstat.c:1930
+#: systemv/lpstat.c:1822 systemv/lpstat.c:1935
 #, c-format
 msgid "\tInterface: %s/interfaces/%s\n"
 msgstr ""
 
-#: systemv/lpstat.c:1821 systemv/lpstat.c:1934
+#: systemv/lpstat.c:1826 systemv/lpstat.c:1939
 #, c-format
 msgid "\tInterface: %s/ppd/%s.ppd\n"
 msgstr ""
 
-#: systemv/lpstat.c:1799 systemv/lpstat.c:1912
+#: systemv/lpstat.c:1804 systemv/lpstat.c:1917
 #, c-format
 msgid "\tLocation: %s\n"
 msgstr ""
 
-#: systemv/lpstat.c:1823 systemv/lpstat.c:1936
+#: systemv/lpstat.c:1828 systemv/lpstat.c:1941
 msgid "\tOn fault: no alert\n"
 msgstr ""
 
-#: systemv/lpstat.c:1828 systemv/lpstat.c:1842 systemv/lpstat.c:1941
-#: systemv/lpstat.c:1955
+#: systemv/lpstat.c:1833 systemv/lpstat.c:1847 systemv/lpstat.c:1946
+#: systemv/lpstat.c:1960
 msgid "\tUsers allowed:\n"
 msgstr ""
 
-#: systemv/lpstat.c:1835 systemv/lpstat.c:1948
+#: systemv/lpstat.c:1840 systemv/lpstat.c:1953
 msgid "\tUsers denied:\n"
 msgstr ""
 
@@ -147,7 +160,7 @@ msgstr ""
 msgid "\tprinting is enabled\n"
 msgstr ""
 
-#: systemv/lpstat.c:1462
+#: systemv/lpstat.c:1467
 #, c-format
 msgid "\tqueued for %s\n"
 msgstr ""
@@ -160,7 +173,7 @@ msgstr ""
 msgid "\tqueuing is enabled\n"
 msgstr ""
 
-#: systemv/lpstat.c:1772 systemv/lpstat.c:1885
+#: systemv/lpstat.c:1777 systemv/lpstat.c:1890
 msgid "\treason unknown\n"
 msgstr ""
 
@@ -959,7 +972,7 @@ msgstr ""
 msgid "%s accepting requests since %s\n"
 msgstr ""
 
-#: scheduler/ipp.c:10321
+#: scheduler/ipp.c:10359
 #, c-format
 msgid "%s cannot be changed."
 msgstr ""
@@ -1023,7 +1036,7 @@ msgstr ""
 msgid "%s: Don't know what to do!\n"
 msgstr ""
 
-#: berkeley/lpr.c:356 systemv/lp.c:599
+#: berkeley/lpr.c:356 systemv/lp.c:603
 #, c-format
 msgid "%s: Error - %s environment variable names non-existent destination \"%s\"!\n"
 msgstr ""
@@ -1038,17 +1051,17 @@ msgstr ""
 msgid "%s: Error - cannot print files and alter jobs simultaneously!\n"
 msgstr ""
 
-#: systemv/lp.c:519
+#: systemv/lp.c:523
 #, c-format
 msgid "%s: Error - cannot print from stdin if files or a job ID are provided!\n"
 msgstr ""
 
-#: systemv/lp.c:473
+#: systemv/lp.c:477
 #, c-format
 msgid "%s: Error - expected character set after '-S' option!\n"
 msgstr ""
 
-#: systemv/lp.c:493
+#: systemv/lp.c:497
 #, c-format
 msgid "%s: Error - expected content type after '-T' option!\n"
 msgstr ""
@@ -1114,7 +1127,7 @@ msgstr ""
 msgid "%s: Error - expected option string after '-o' option!\n"
 msgstr ""
 
-#: systemv/lp.c:452
+#: systemv/lp.c:456
 #, c-format
 msgid "%s: Error - expected page list after '-P' option!\n"
 msgstr ""
@@ -1135,8 +1148,8 @@ msgid "%s: Error - expected title after '-t' option!\n"
 msgstr ""
 
 #: berkeley/lpq.c:117 berkeley/lpr.c:91 berkeley/lprm.c:110
-#: systemv/cancel.c:99 systemv/cupsaccept.c:108 systemv/lpadmin.c:471
-#: systemv/lp.c:122 systemv/lpstat.c:144
+#: systemv/cancel.c:99 systemv/cupsaccept.c:108 systemv/lp.c:122
+#: systemv/lpadmin.c:471 systemv/lpstat.c:144
 #, c-format
 msgid "%s: Error - expected username after '-U' option!\n"
 msgstr ""
@@ -1156,7 +1169,7 @@ msgstr ""
 msgid "%s: Error - need \"completed\", \"not-completed\", or \"all\" after '-W' option!\n"
 msgstr ""
 
-#: berkeley/lpr.c:361 systemv/lp.c:604
+#: berkeley/lpr.c:361 systemv/lp.c:608
 #, c-format
 msgid "%s: Error - no default destination available.\n"
 msgstr ""
@@ -1166,22 +1179,22 @@ msgstr ""
 msgid "%s: Error - priority must be between 1 and 100.\n"
 msgstr ""
 
-#: berkeley/lpr.c:365 systemv/lp.c:608
+#: berkeley/lpr.c:365 systemv/lp.c:612
 #, c-format
 msgid "%s: Error - scheduler not responding!\n"
 msgstr ""
 
-#: berkeley/lpr.c:317 systemv/lp.c:552
+#: berkeley/lpr.c:317 systemv/lp.c:556
 #, c-format
 msgid "%s: Error - too many files - \"%s\"\n"
 msgstr ""
 
-#: berkeley/lpr.c:299 systemv/lp.c:535
+#: berkeley/lpr.c:299 systemv/lp.c:539
 #, c-format
 msgid "%s: Error - unable to access \"%s\" - %s\n"
 msgstr ""
 
-#: berkeley/lpr.c:410 systemv/lp.c:641
+#: berkeley/lpr.c:410 systemv/lp.c:645
 #, c-format
 msgid "%s: Error - unable to queue from stdin - %s\n"
 msgstr ""
@@ -1197,7 +1210,7 @@ msgid "%s: Error - unknown destination \"%s/%s\"!\n"
 msgstr ""
 
 #: berkeley/lpr.c:286 berkeley/lprm.c:148 systemv/cancel.c:164
-#: systemv/cupsaccept.c:174 systemv/lp.c:510 systemv/lpstat.c:459
+#: systemv/cupsaccept.c:174 systemv/lp.c:514 systemv/lpstat.c:459
 #, c-format
 msgid "%s: Error - unknown option '%c'!\n"
 msgstr ""
@@ -1227,7 +1240,7 @@ msgstr ""
 msgid "%s: Invalid filter string \"%s\"\n"
 msgstr ""
 
-#: systemv/lp.c:428
+#: systemv/lp.c:432
 #, c-format
 msgid "%s: Need job ID ('-i jobid') before '-H restart'!\n"
 msgstr ""
@@ -1243,14 +1256,14 @@ msgid "%s: Operation failed: %s\n"
 msgstr ""
 
 #: berkeley/lpq.c:103 berkeley/lpr.c:77 berkeley/lprm.c:72 systemv/cancel.c:85
-#: systemv/cupsaccept.c:94 systemv/cupsaddsmb.c:91 systemv/lpadmin.c:277
-#: systemv/lp.c:108 systemv/lpinfo.c:91 systemv/lpmove.c:79
+#: systemv/cupsaccept.c:94 systemv/cupsaddsmb.c:91 systemv/lp.c:108
+#: systemv/lpadmin.c:277 systemv/lpinfo.c:94 systemv/lpmove.c:79
 #: systemv/lpstat.c:109
 #, c-format
 msgid "%s: Sorry, no encryption support compiled in!\n"
 msgstr ""
 
-#: berkeley/lpq.c:304 scheduler/cupsfilter.c:1068 systemv/cupsaddsmb.c:149
+#: berkeley/lpq.c:304 scheduler/cupsfilter.c:1073 systemv/cupsaddsmb.c:149
 #: systemv/cupsaddsmb.c:175
 #, c-format
 msgid "%s: Unable to connect to server\n"
@@ -1266,12 +1279,12 @@ msgstr ""
 msgid "%s: Unable to determine MIME type of \"%s\"!\n"
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:96
+#: ppdc/ppdmerge.cxx:99
 #, c-format
 msgid "%s: Unable to open %s - %s\n"
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:111
+#: ppdc/ppdmerge.cxx:113
 #, c-format
 msgid "%s: Unable to open %s - %s on line %d.\n"
 msgstr ""
@@ -1301,7 +1314,7 @@ msgstr ""
 msgid "%s: Unknown destination MIME type %s/%s!\n"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1276
+#: scheduler/cupsfilter.c:1281
 #, c-format
 msgid "%s: Unknown option '%c'!\n"
 msgstr ""
@@ -1316,12 +1329,12 @@ msgstr ""
 msgid "%s: Warning - '%c' format modifier not supported - output may not be correct!\n"
 msgstr ""
 
-#: systemv/lp.c:481
+#: systemv/lp.c:485
 #, c-format
 msgid "%s: Warning - character set option ignored!\n"
 msgstr ""
 
-#: systemv/lp.c:501
+#: systemv/lp.c:505
 #, c-format
 msgid "%s: Warning - content type option ignored!\n"
 msgstr ""
@@ -1607,7 +1620,7 @@ msgstr ""
 msgid "120x60dpi"
 msgstr ""
 
-#: ppdc/sample.c:220
+#: ppdc/sample.c:221
 msgid "120x72dpi"
 msgstr ""
 
@@ -1783,7 +1796,7 @@ msgstr ""
 msgid "24-Pin Series"
 msgstr ""
 
-#: ppdc/sample.c:221
+#: ppdc/sample.c:222
 msgid "240x72dpi"
 msgstr ""
 
@@ -1891,7 +1904,7 @@ msgstr ""
 msgid "35"
 msgstr ""
 
-#: ppdc/sample.c:223
+#: ppdc/sample.c:218
 msgid "360dpi"
 msgstr ""
 
@@ -2027,7 +2040,7 @@ msgstr ""
 msgid "60dpi"
 msgstr ""
 
-#: ppdc/sample.c:219
+#: ppdc/sample.c:220
 msgid "60x720dpi"
 msgstr ""
 
@@ -2127,7 +2140,7 @@ msgstr ""
 msgid "9 x 12\""
 msgstr ""
 
-#: ppdc/sample.c:218
+#: ppdc/sample.c:219
 msgid "9-Pin Series"
 msgstr ""
 
@@ -2143,15 +2156,15 @@ msgstr ""
 msgid "?Invalid help command unknown\n"
 msgstr ""
 
-#: cgi-bin/admin.c:2304
+#: cgi-bin/admin.c:2317
 msgid "A Samba password is required to export printer drivers!"
 msgstr ""
 
-#: cgi-bin/admin.c:2300
+#: cgi-bin/admin.c:2313
 msgid "A Samba username is required to export printer drivers!"
 msgstr ""
 
-#: scheduler/ipp.c:2360
+#: scheduler/ipp.c:2361
 #, c-format
 msgid "A class named \"%s\" already exists!"
 msgstr ""
@@ -2261,7 +2274,7 @@ msgstr ""
 msgid "ARCH E"
 msgstr ""
 
-#: cgi-bin/classes.c:150 cgi-bin/printers.c:153
+#: cgi-bin/classes.c:154 cgi-bin/printers.c:157
 msgid "Accept Jobs"
 msgstr ""
 
@@ -2269,16 +2282,16 @@ msgstr ""
 msgid "Accepted"
 msgstr ""
 
-#: cgi-bin/admin.c:477
+#: cgi-bin/admin.c:480
 msgid "Add Class"
 msgstr ""
 
-#: cgi-bin/admin.c:769
+#: cgi-bin/admin.c:772
 msgid "Add Printer"
 msgstr ""
 
-#: cgi-bin/admin.c:352 cgi-bin/admin.c:385 cgi-bin/admin.c:433
-#: cgi-bin/admin.c:443
+#: cgi-bin/admin.c:355 cgi-bin/admin.c:388 cgi-bin/admin.c:436
+#: cgi-bin/admin.c:446
 msgid "Add RSS Subscription"
 msgstr ""
 
@@ -2290,7 +2303,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:2722
+#: cgi-bin/admin.c:187 cgi-bin/admin.c:218 cgi-bin/admin.c:2735
 msgid "Administration"
 msgstr ""
 
@@ -2298,6 +2311,10 @@ msgstr ""
 msgid "Always"
 msgstr ""
 
+#: backend/socket.c:125
+msgid "AppSocket/HP JetDirect"
+msgstr ""
+
 #: ppdc/sample.c:422
 msgid "Applicator"
 msgstr ""
@@ -2398,17 +2415,17 @@ msgstr ""
 msgid "Bad device URI \"%s\"!\n"
 msgstr ""
 
-#: scheduler/ipp.c:2478
+#: scheduler/ipp.c:2479
 #, c-format
 msgid "Bad device-uri \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:2518
+#: scheduler/ipp.c:2519
 #, c-format
 msgid "Bad device-uri scheme \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:9742 scheduler/ipp.c:11134
+#: scheduler/ipp.c:9780 scheduler/ipp.c:11172
 #, c-format
 msgid "Bad document-format \"%s\"!"
 msgstr ""
@@ -2422,7 +2439,7 @@ msgstr ""
 msgid "Bad font attribute: %s\n"
 msgstr ""
 
-#: scheduler/ipp.c:10337
+#: scheduler/ipp.c:10375
 msgid "Bad job-priority value!"
 msgstr ""
 
@@ -2435,24 +2452,24 @@ msgstr ""
 msgid "Bad job-sheets value type!"
 msgstr ""
 
-#: scheduler/ipp.c:10367
+#: scheduler/ipp.c:10405
 msgid "Bad job-state value!"
 msgstr ""
 
-#: scheduler/ipp.c:3640 scheduler/ipp.c:4001 scheduler/ipp.c:6566
-#: scheduler/ipp.c:6708 scheduler/ipp.c:7889 scheduler/ipp.c:8170
-#: scheduler/ipp.c:9013 scheduler/ipp.c:9238 scheduler/ipp.c:9655
-#: scheduler/ipp.c:10230
+#: scheduler/ipp.c:3641 scheduler/ipp.c:4002 scheduler/ipp.c:6581
+#: scheduler/ipp.c:6723 scheduler/ipp.c:7927 scheduler/ipp.c:8208
+#: scheduler/ipp.c:9051 scheduler/ipp.c:9276 scheduler/ipp.c:9693
+#: scheduler/ipp.c:10268
 #, c-format
 msgid "Bad job-uri attribute \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:2100 scheduler/ipp.c:6127
+#: scheduler/ipp.c:2100 scheduler/ipp.c:6128
 #, c-format
 msgid "Bad notify-pull-method \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:2064 scheduler/ipp.c:6091
+#: scheduler/ipp.c:2064 scheduler/ipp.c:6092
 #, c-format
 msgid "Bad notify-recipient-uri URI \"%s\"!"
 msgstr ""
@@ -2472,12 +2489,12 @@ msgstr ""
 msgid "Bad page-ranges values %d-%d."
 msgstr ""
 
-#: scheduler/ipp.c:2562
+#: scheduler/ipp.c:2563
 #, c-format
 msgid "Bad port-monitor \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:2610
+#: scheduler/ipp.c:2611
 #, c-format
 msgid "Bad printer-state value %d!"
 msgstr ""
@@ -2487,11 +2504,11 @@ msgstr ""
 msgid "Bad request version number %d.%d!"
 msgstr ""
 
-#: cgi-bin/admin.c:1350
+#: cgi-bin/admin.c:1363
 msgid "Bad subscription ID!"
 msgstr ""
 
-#: cgi-bin/admin.c:3262 cgi-bin/admin.c:3485
+#: cgi-bin/admin.c:3275 cgi-bin/admin.c:3498
 msgid "Banners"
 msgstr ""
 
@@ -2559,16 +2576,16 @@ msgstr ""
 msgid "CPCL Label Printer"
 msgstr ""
 
-#: cgi-bin/admin.c:1351 cgi-bin/admin.c:1390 cgi-bin/admin.c:1400
+#: cgi-bin/admin.c:1364 cgi-bin/admin.c:1403 cgi-bin/admin.c:1413
 msgid "Cancel RSS Subscription"
 msgstr ""
 
-#: cgi-bin/admin.c:1569 cgi-bin/admin.c:1733 cgi-bin/admin.c:1745
-#: cgi-bin/admin.c:1756
+#: cgi-bin/admin.c:1582 cgi-bin/admin.c:1746 cgi-bin/admin.c:1758
+#: cgi-bin/admin.c:1769
 msgid "Change Settings"
 msgstr ""
 
-#: scheduler/ipp.c:2112 scheduler/ipp.c:6139
+#: scheduler/ipp.c:2112 scheduler/ipp.c:6140
 #, c-format
 msgid "Character set \"%s\" not supported!"
 msgstr ""
@@ -2581,11 +2598,11 @@ msgstr ""
 msgid "Chou4 Envelope"
 msgstr ""
 
-#: cgi-bin/classes.c:176 cgi-bin/classes.c:303
+#: cgi-bin/classes.c:180 cgi-bin/classes.c:307
 msgid "Classes"
 msgstr ""
 
-#: cgi-bin/printers.c:163
+#: cgi-bin/printers.c:167
 msgid "Clean Print Heads"
 msgstr ""
 
@@ -2616,12 +2633,12 @@ msgstr ""
 msgid "Continuous"
 msgstr ""
 
-#: scheduler/ipp.c:8463 scheduler/ipp.c:8479 scheduler/ipp.c:9758
+#: scheduler/ipp.c:8501 scheduler/ipp.c:8517 scheduler/ipp.c:9796
 #, c-format
 msgid "Could not scan type \"%s\"!"
 msgstr ""
 
-#: backend/ipp.c:1659
+#: backend/ipp.c:1662
 msgid "Cover open."
 msgstr ""
 
@@ -2669,11 +2686,11 @@ msgstr ""
 msgid "Darkness"
 msgstr ""
 
-#: cgi-bin/admin.c:2029 cgi-bin/admin.c:2040 cgi-bin/admin.c:2085
+#: cgi-bin/admin.c:2042 cgi-bin/admin.c:2053 cgi-bin/admin.c:2098
 msgid "Delete Class"
 msgstr ""
 
-#: cgi-bin/admin.c:2114 cgi-bin/admin.c:2125 cgi-bin/admin.c:2170
+#: cgi-bin/admin.c:2127 cgi-bin/admin.c:2138 cgi-bin/admin.c:2183
 msgid "Delete Printer"
 msgstr ""
 
@@ -2690,15 +2707,15 @@ msgstr ""
 msgid "Destination \"%s\" is not accepting jobs."
 msgstr ""
 
-#: backend/ipp.c:1693
+#: backend/ipp.c:1696
 msgid "Developer almost empty."
 msgstr ""
 
-#: backend/ipp.c:1695
+#: backend/ipp.c:1698
 msgid "Developer empty!"
 msgstr ""
 
-#: systemv/lpinfo.c:299
+#: systemv/lpinfo.c:305
 #, c-format
 msgid ""
 "Device: uri = %s\n"
@@ -2717,12 +2734,12 @@ msgstr ""
 msgid "Disabled"
 msgstr ""
 
-#: scheduler/ipp.c:6613
+#: scheduler/ipp.c:6628
 #, c-format
 msgid "Document %d not found in job %d."
 msgstr ""
 
-#: backend/ipp.c:1663
+#: backend/ipp.c:1666
 msgid "Door open."
 msgstr ""
 
@@ -2784,57 +2801,57 @@ msgstr ""
 msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
 msgstr ""
 
-#: backend/scsi-irix.c:99 backend/scsi-linux.c:113
+#: backend/scsi-irix.c:100 backend/scsi-linux.c:114
 #, c-format
 msgid "ERROR: Bad SCSI device file \"%s\"!\n"
 msgstr ""
 
-#: filter/pstext.c:273 filter/texttops.c:284 filter/texttops.c:295
+#: filter/pstext.c:276 filter/texttops.c:284 filter/texttops.c:295
 #, c-format
 msgid "ERROR: Bad charset file %s\n"
 msgstr ""
 
-#: filter/texttops.c:625
+#: filter/texttops.c:453
 #, c-format
 msgid "ERROR: Bad charset type %s\n"
 msgstr ""
 
-#: filter/textcommon.c:614
+#: filter/textcommon.c:613
 #, c-format
 msgid "ERROR: Bad columns value %d!\n"
 msgstr ""
 
-#: filter/textcommon.c:625
+#: filter/textcommon.c:624
 #, c-format
 msgid "ERROR: Bad cpi value %f!\n"
 msgstr ""
 
-#: filter/pstext.c:317 filter/pstext.c:354 filter/texttops.c:356
-#: filter/texttops.c:392 filter/texttops.c:520 filter/texttops.c:556
+#: filter/pstext.c:320 filter/pstext.c:357 filter/texttops.c:348
+#: filter/texttops.c:384
 #, c-format
 msgid "ERROR: Bad font description line: %s\n"
 msgstr ""
 
-#: filter/textcommon.c:636
+#: filter/textcommon.c:635
 #, c-format
 msgid "ERROR: Bad lpi value %f!\n"
 msgstr ""
 
-#: filter/imagetoraster.c:456
+#: filter/imagetoraster.c:460
 msgid "ERROR: Bad page setup!\n"
 msgstr ""
 
-#: filter/pstext.c:331 filter/texttops.c:369 filter/texttops.c:533
+#: filter/pstext.c:334 filter/texttops.c:361
 #, c-format
 msgid "ERROR: Bad text direction %s\n"
 msgstr ""
 
-#: filter/pstext.c:368 filter/texttops.c:405 filter/texttops.c:569
+#: filter/pstext.c:371 filter/texttops.c:397
 #, c-format
 msgid "ERROR: Bad text width %s\n"
 msgstr ""
 
-#: backend/ipp.c:736
+#: backend/ipp.c:738
 msgid "ERROR: Destination printer does not exist!\n"
 msgstr ""
 
@@ -2848,7 +2865,7 @@ msgstr ""
 msgid "ERROR: Duplicate %%Pages: comment seen!\n"
 msgstr ""
 
-#: backend/ipp.c:451 filter/pstops.c:302
+#: backend/ipp.c:452 filter/pstops.c:302
 msgid "ERROR: Empty print file!\n"
 msgstr ""
 
@@ -2857,7 +2874,7 @@ msgstr ""
 msgid "ERROR: Error %d sending PAPSendData request: %s\n"
 msgstr ""
 
-#: ppdc/ppdc-catalog.cxx:312 ppdc/ppdc-catalog.cxx:324
+#: ppdc/ppdc-catalog.cxx:335 ppdc/ppdc-catalog.cxx:347
 #, c-format
 msgid "ERROR: Expected quoted string on line %d of %s!\n"
 msgstr ""
@@ -2881,7 +2898,7 @@ msgstr ""
 msgid "ERROR: Missing %%EndSetup!\n"
 msgstr ""
 
-#: backend/ipp.c:241
+#: backend/ipp.c:242
 msgid "ERROR: Missing device URI on command-line and no DEVICE_URI environment variable!\n"
 msgstr ""
 
@@ -2890,7 +2907,7 @@ msgstr ""
 msgid "ERROR: Missing value on line %d of banner file!\n"
 msgstr ""
 
-#: ppdc/ppdc-catalog.cxx:390
+#: ppdc/ppdc-catalog.cxx:412
 #, c-format
 msgid "ERROR: Need a msgid line before any translation strings on line %d of %s!\n"
 msgstr ""
@@ -2909,7 +2926,7 @@ msgstr ""
 msgid "ERROR: No device URI found in argv[0] or in DEVICE_URI environment variable!\n"
 msgstr ""
 
-#: filter/pstext.c:430
+#: filter/pstext.c:433
 #, c-format
 msgid "ERROR: No fonts in charset file %s\n"
 msgstr ""
@@ -2919,15 +2936,15 @@ msgstr ""
 msgid "ERROR: No pages found!\n"
 msgstr ""
 
-#: backend/runloop.c:342
+#: backend/runloop.c:348
 msgid "ERROR: Out of paper!\n"
 msgstr ""
 
-#: backend/ipp.c:1783
+#: backend/ipp.c:1786
 msgid "ERROR: PRINTER environment variable not defined!\n"
 msgstr ""
 
-#: backend/ipp.c:1044
+#: backend/ipp.c:1046
 #, c-format
 msgid "ERROR: Print file was not accepted (%s)!\n"
 msgstr ""
@@ -2936,7 +2953,7 @@ msgstr ""
 msgid "ERROR: Printer not responding\n"
 msgstr ""
 
-#: backend/ipp.c:564 backend/ipp.c:703 backend/lpd.c:821 backend/socket.c:309
+#: backend/ipp.c:566 backend/ipp.c:705 backend/lpd.c:820 backend/socket.c:310
 msgid "ERROR: Printer not responding!\n"
 msgstr ""
 
@@ -2944,12 +2961,12 @@ msgstr ""
 msgid "ERROR: Printer sent unexpected EOF\n"
 msgstr ""
 
-#: backend/lpd.c:1035 backend/lpd.c:1182
+#: backend/lpd.c:1032 backend/lpd.c:1179
 #, c-format
 msgid "ERROR: Remote host did not accept control file (%d)\n"
 msgstr ""
 
-#: backend/lpd.c:1130
+#: backend/lpd.c:1127
 #, c-format
 msgid "ERROR: Remote host did not accept data file (%d)\n"
 msgstr ""
@@ -2958,12 +2975,12 @@ msgstr ""
 msgid "ERROR: There was a timeout error while sending data to the printer\n"
 msgstr ""
 
-#: backend/ipp.c:1107
+#: backend/ipp.c:1109
 #, c-format
 msgid "ERROR: Unable to add file %d to job: %s\n"
 msgstr ""
 
-#: backend/ipp.c:1348
+#: backend/ipp.c:1350
 #, c-format
 msgid "ERROR: Unable to cancel job %d: %s\n"
 msgstr ""
@@ -2972,30 +2989,30 @@ msgstr ""
 msgid "ERROR: Unable to copy PDF file"
 msgstr ""
 
-#: backend/lpd.c:745
+#: backend/lpd.c:744
 msgid "ERROR: Unable to create socket"
 msgstr ""
 
-#: backend/ipp.c:1437
+#: backend/ipp.c:1439
 #, c-format
 msgid "ERROR: Unable to create temporary compressed print file: %s\n"
 msgstr ""
 
-#: backend/ipp.c:418 backend/lpd.c:432
+#: backend/ipp.c:419 backend/lpd.c:433
 msgid "ERROR: Unable to create temporary file"
 msgstr ""
 
-#: backend/ipp.c:1805
+#: backend/ipp.c:1808
 #, c-format
 msgid "ERROR: Unable to create temporary file - %s.\n"
 msgstr ""
 
-#: filter/pstops.c:2706
+#: filter/pstops.c:2708
 #, c-format
 msgid "ERROR: Unable to create temporary file: %s\n"
 msgstr ""
 
-#: backend/ipp.c:1862
+#: backend/ipp.c:1865
 #, c-format
 msgid "ERROR: Unable to exec pictwpstops: %s\n"
 msgstr ""
@@ -3008,7 +3025,7 @@ msgstr ""
 msgid "ERROR: Unable to execute pdftops program"
 msgstr ""
 
-#: backend/ipp.c:1875
+#: backend/ipp.c:1878
 #, c-format
 msgid "ERROR: Unable to fork pictwpstops: %s\n"
 msgstr ""
@@ -3021,7 +3038,7 @@ msgstr ""
 msgid "ERROR: Unable to get PAP response"
 msgstr ""
 
-#: backend/ipp.c:1790
+#: backend/ipp.c:1793
 #, c-format
 msgid "ERROR: Unable to get PPD file for printer \"%s\" - %s.\n"
 msgstr ""
@@ -3030,17 +3047,17 @@ msgstr ""
 msgid "ERROR: Unable to get default AppleTalk zone"
 msgstr ""
 
-#: backend/ipp.c:1193
+#: backend/ipp.c:1195
 #, c-format
 msgid "ERROR: Unable to get job %d attributes (%s)!\n"
 msgstr ""
 
-#: backend/ipp.c:746
+#: backend/ipp.c:748
 #, c-format
 msgid "ERROR: Unable to get printer status (%s)!\n"
 msgstr ""
 
-#: backend/ipp.c:582 backend/lpd.c:677 backend/socket.c:264
+#: backend/ipp.c:584 backend/lpd.c:676 backend/socket.c:265
 #, c-format
 msgid "ERROR: Unable to locate printer '%s'!\n"
 msgstr ""
@@ -3057,12 +3074,12 @@ msgstr ""
 msgid "ERROR: Unable to make AppleTalk address"
 msgstr ""
 
-#: filter/pstext.c:244 filter/texttops.c:248
+#: filter/pstext.c:247 filter/texttops.c:248
 #, c-format
 msgid "ERROR: Unable to open \"%s\" - %s\n"
 msgstr ""
 
-#: filter/pstext.c:261 filter/texttops.c:268
+#: filter/pstext.c:264 filter/texttops.c:268
 #, c-format
 msgid "ERROR: Unable to open %s: %s\n"
 msgstr ""
@@ -3072,8 +3089,8 @@ msgstr ""
 msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
 msgstr ""
 
-#: backend/parallel.c:249 backend/scsi-irix.c:139 backend/scsi-linux.c:153
-#: backend/serial.c:262 backend/usb-unix.c:138
+#: backend/parallel.c:249 backend/scsi-irix.c:140 backend/scsi-linux.c:154
+#: backend/serial.c:262 backend/usb-unix.c:146
 #, c-format
 msgid "ERROR: Unable to open device file \"%s\": %s\n"
 msgstr ""
@@ -3088,12 +3105,12 @@ msgstr ""
 msgid "ERROR: Unable to open file \"%s\": %s\n"
 msgstr ""
 
-#: filter/imagetops.c:309 filter/imagetoraster.c:633
+#: filter/imagetops.c:313 filter/imagetoraster.c:637
 msgid "ERROR: Unable to open image file for printing!\n"
 msgstr ""
 
-#: backend/ipp.c:1453 backend/pap.c:249 backend/parallel.c:151
-#: backend/scsi.c:181 backend/serial.c:189 backend/socket.c:154
+#: backend/ipp.c:1455 backend/pap.c:249 backend/parallel.c:151
+#: backend/scsi.c:181 backend/serial.c:189 backend/socket.c:155
 #, c-format
 msgid "ERROR: Unable to open print file \"%s\": %s\n"
 msgstr ""
@@ -3103,17 +3120,17 @@ msgstr ""
 msgid "ERROR: Unable to open print file %s - %s\n"
 msgstr ""
 
-#: backend/lpd.c:461
+#: backend/lpd.c:462
 #, c-format
 msgid "ERROR: Unable to open print file %s: %s\n"
 msgstr ""
 
-#: backend/ipp.c:1445
+#: backend/ipp.c:1447
 #, c-format
 msgid "ERROR: Unable to open temporary compressed print file: %s\n"
 msgstr ""
 
-#: backend/ipp.c:424
+#: backend/ipp.c:425
 msgid "ERROR: Unable to open temporary file"
 msgstr ""
 
@@ -3135,7 +3152,7 @@ msgstr ""
 msgid "ERROR: Unable to read print data!\n"
 msgstr ""
 
-#: backend/lpd.c:762
+#: backend/lpd.c:761
 msgid "ERROR: Unable to reserve port"
 msgstr ""
 
@@ -3149,7 +3166,7 @@ msgstr ""
 msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
 msgstr ""
 
-#: backend/lpd.c:577
+#: backend/lpd.c:578
 msgid "ERROR: Unable to send LPD command"
 msgstr ""
 
@@ -3161,7 +3178,7 @@ msgstr ""
 msgid "ERROR: Unable to send initial PAP send data request"
 msgstr ""
 
-#: backend/scsi-irix.c:218 backend/scsi-linux.c:236
+#: backend/scsi-irix.c:219 backend/scsi-linux.c:237
 #, c-format
 msgid "ERROR: Unable to send print data (%d)\n"
 msgstr ""
@@ -3170,30 +3187,30 @@ msgstr ""
 msgid "ERROR: Unable to send print data!\n"
 msgstr ""
 
-#: backend/lpd.c:1086
+#: backend/lpd.c:1083
 msgid "ERROR: Unable to send print file to printer"
 msgstr ""
 
-#: backend/lpd.c:1100
+#: backend/lpd.c:1097
 msgid "ERROR: Unable to send trailing nul to printer"
 msgstr ""
 
-#: backend/ipp.c:1888
+#: backend/ipp.c:1891
 #, c-format
 msgid "ERROR: Unable to wait for pictwpstops: %s\n"
 msgstr ""
 
-#: backend/ipp.c:1464
+#: backend/ipp.c:1466
 #, c-format
 msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
 msgstr ""
 
-#: backend/usb-libusb.c:169 backend/usb-libusb.c:747
+#: backend/usb-libusb.c:169 backend/usb-libusb.c:748
 #, c-format
 msgid "ERROR: Unable to write %d bytes to printer!\n"
 msgstr ""
 
-#: backend/lpd.c:1016 backend/lpd.c:1163
+#: backend/lpd.c:1013 backend/lpd.c:1160
 msgid "ERROR: Unable to write control file"
 msgstr ""
 
@@ -3201,17 +3218,17 @@ msgstr ""
 msgid "ERROR: Unable to write print data"
 msgstr ""
 
-#: backend/runloop.c:122 backend/runloop.c:357
+#: backend/runloop.c:122 backend/runloop.c:363
 #, c-format
 msgid "ERROR: Unable to write print data: %s\n"
 msgstr ""
 
-#: filter/imagetoraster.c:1195 filter/imagetoraster.c:1291
-#: filter/imagetoraster.c:1331
+#: filter/imagetoraster.c:1199 filter/imagetoraster.c:1295
+#: filter/imagetoraster.c:1335
 msgid "ERROR: Unable to write raster data to driver!\n"
 msgstr ""
 
-#: backend/ipp.c:435 backend/lpd.c:439
+#: backend/ipp.c:436 backend/lpd.c:440
 msgid "ERROR: Unable to write to temporary file"
 msgstr ""
 
@@ -3220,42 +3237,42 @@ msgstr ""
 msgid "ERROR: Unable to write uncompressed document data: %s\n"
 msgstr ""
 
-#: ppdc/ppdc-catalog.cxx:405
+#: ppdc/ppdc-catalog.cxx:429
 #, c-format
 msgid "ERROR: Unexpected text on line %d of %s!\n"
 msgstr ""
 
-#: backend/ipp.c:349
+#: backend/ipp.c:350
 #, c-format
 msgid "ERROR: Unknown encryption option value \"%s\"!\n"
 msgstr ""
 
-#: backend/lpd.c:354
+#: backend/lpd.c:355
 #, c-format
 msgid "ERROR: Unknown file order \"%s\"\n"
 msgstr ""
 
-#: backend/lpd.c:326
+#: backend/lpd.c:327
 #, c-format
 msgid "ERROR: Unknown format character \"%c\"\n"
 msgstr ""
 
-#: ppdc/ppdc-catalog.cxx:437
+#: ppdc/ppdc-catalog.cxx:457
 #, c-format
 msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
 msgstr ""
 
-#: backend/ipp.c:391
+#: backend/ipp.c:392
 #, c-format
 msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
 msgstr ""
 
-#: backend/lpd.c:340
+#: backend/lpd.c:341
 #, c-format
 msgid "ERROR: Unknown print mode \"%s\"\n"
 msgstr ""
 
-#: backend/ipp.c:362
+#: backend/ipp.c:363
 #, c-format
 msgid "ERROR: Unknown version option value \"%s\"!\n"
 msgstr ""
@@ -3265,22 +3282,22 @@ msgstr ""
 msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
 msgstr ""
 
-#: filter/pstops.c:2474
+#: filter/pstops.c:2476
 #, c-format
 msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
 msgstr ""
 
-#: filter/pstops.c:2528
+#: filter/pstops.c:2530
 #, c-format
 msgid "ERROR: Unsupported number-up value %d, using number-up=1!\n"
 msgstr ""
 
-#: filter/pstops.c:2561
+#: filter/pstops.c:2563
 #, c-format
 msgid "ERROR: Unsupported number-up-layout value %s, using number-up-layout=lrtb!\n"
 msgstr ""
 
-#: filter/pstops.c:2611
+#: filter/pstops.c:2613
 #, c-format
 msgid "ERROR: Unsupported page-border value %s, using page-border=none!\n"
 msgstr ""
@@ -3300,17 +3317,17 @@ msgstr ""
 msgid "ERROR: pdftops filter exited with status %d!\n"
 msgstr ""
 
-#: backend/ipp.c:1907
+#: backend/ipp.c:1910
 #, c-format
 msgid "ERROR: pictwpstops exited on signal %d!\n"
 msgstr ""
 
-#: backend/ipp.c:1904
+#: backend/ipp.c:1907
 #, c-format
 msgid "ERROR: pictwpstops exited with status %d!\n"
 msgstr ""
 
-#: backend/ipp.c:592 backend/lpd.c:850 backend/socket.c:332
+#: backend/ipp.c:594 backend/lpd.c:849 backend/socket.c:333
 msgid "ERROR: recoverable: Unable to connect to printer; will retry in 30 seconds...\n"
 msgstr ""
 
@@ -3318,13 +3335,13 @@ msgstr ""
 msgid "ERROR: select() failed"
 msgstr ""
 
-#: backend/lpd.c:923
+#: backend/lpd.c:920
 msgid "ERROR: unable to stat print file"
 msgstr ""
 
-#: cgi-bin/admin.c:1784 cgi-bin/admin.c:1796 cgi-bin/admin.c:1850
-#: cgi-bin/admin.c:1857 cgi-bin/admin.c:1892 cgi-bin/admin.c:1905
-#: cgi-bin/admin.c:1929 cgi-bin/admin.c:2002
+#: 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
 msgid "Edit Configuration File"
 msgstr ""
 
@@ -3332,7 +3349,7 @@ msgstr ""
 msgid "Empty PPD file!"
 msgstr ""
 
-#: cgi-bin/admin.c:3506
+#: cgi-bin/admin.c:3519
 msgid "Ending Banner"
 msgstr ""
 
@@ -3348,7 +3365,7 @@ msgstr ""
 msgid "Enter password:"
 msgstr ""
 
-#: scheduler/client.c:2384
+#: scheduler/client.c:2418
 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 ""
 
@@ -3360,11 +3377,11 @@ msgstr ""
 msgid "Epson"
 msgstr ""
 
-#: cgi-bin/admin.c:3549
+#: cgi-bin/admin.c:3562
 msgid "Error Policy"
 msgstr ""
 
-#: systemv/lpinfo.c:112 systemv/lpmove.c:94
+#: systemv/lpinfo.c:109 systemv/lpmove.c:94
 msgid "Error: need hostname after '-h' option!\n"
 msgstr ""
 
@@ -3412,7 +3429,7 @@ msgstr ""
 msgid "Expectation Failed"
 msgstr ""
 
-#: cgi-bin/admin.c:2292 cgi-bin/admin.c:2311
+#: cgi-bin/admin.c:2305 cgi-bin/admin.c:2324
 msgid "Export Printers to Samba"
 msgstr ""
 
@@ -3434,7 +3451,7 @@ msgstr ""
 msgid "File Folder - 9/16 x 3 7/16\""
 msgstr ""
 
-#: scheduler/ipp.c:2498
+#: scheduler/ipp.c:2499
 #, c-format
 msgid "File device URIs have been disabled! To enable, see the FileDevice directive in \"%s/cupsd.conf\"."
 msgstr ""
@@ -3447,11 +3464,11 @@ msgstr ""
 msgid "Forbidden"
 msgstr ""
 
-#: backend/ipp.c:1685
+#: backend/ipp.c:1688
 msgid "Fuser temperature high!"
 msgstr ""
 
-#: backend/ipp.c:1687
+#: backend/ipp.c:1690
 msgid "Fuser temperature low!"
 msgstr ""
 
@@ -3479,9 +3496,9 @@ msgstr ""
 msgid "Glossy Paper"
 msgstr ""
 
-#: scheduler/ipp.c:3618 scheduler/ipp.c:3921 scheduler/ipp.c:6543
-#: scheduler/ipp.c:6685 scheduler/ipp.c:7866 scheduler/ipp.c:8990
-#: scheduler/ipp.c:9215 scheduler/ipp.c:9632 scheduler/ipp.c:10207
+#: scheduler/ipp.c:3619 scheduler/ipp.c:3922 scheduler/ipp.c:6558
+#: scheduler/ipp.c:6700 scheduler/ipp.c:7904 scheduler/ipp.c:9028
+#: scheduler/ipp.c:9253 scheduler/ipp.c:9670 scheduler/ipp.c:10245
 msgid "Got a printer-uri attribute but no job-id!"
 msgstr ""
 
@@ -3509,77 +3526,69 @@ msgstr ""
 msgid "INFO: AppleTalk disabled in System Preferences.\n"
 msgstr ""
 
-#: backend/ipp.c:1328
+#: backend/ipp.c:1330
 msgid "INFO: Canceling print job...\n"
 msgstr ""
 
-#: backend/ipp.c:612 backend/lpd.c:869 backend/socket.c:354
-#, c-format
-msgid "INFO: Connected to %s...\n"
+#: backend/ipp.c:614 backend/lpd.c:868 backend/socket.c:355
+msgid "INFO: Connected to printer...\n"
 msgstr ""
 
-#: backend/lpd.c:701
-#, c-format
-msgid "INFO: Connecting to %s for printer %s\n"
+#: backend/ipp.c:529 backend/lpd.c:701 backend/socket.c:272
+msgid "INFO: Connecting to printer...\n"
 msgstr ""
 
-#: backend/ipp.c:526 backend/socket.c:270
-#, c-format
-msgid "INFO: Connecting to %s on port %d...\n"
-msgstr ""
-
-#: backend/lpd.c:1038 backend/lpd.c:1185
+#: backend/lpd.c:1035 backend/lpd.c:1182
 msgid "INFO: Control file sent successfully\n"
 msgstr ""
 
-#: backend/lpd.c:1133
+#: backend/lpd.c:1130
 msgid "INFO: Data file sent successfully\n"
 msgstr ""
 
-#: filter/imagetoraster.c:1138
+#: filter/imagetoraster.c:1142
 #, c-format
 msgid "INFO: Formatting page %d...\n"
 msgstr ""
 
-#: filter/imagetoraster.c:619
+#: filter/imagetoraster.c:623
 msgid "INFO: Loading image file...\n"
 msgstr ""
 
-#: cups/http-support.c:1392
-#, c-format
-msgid "INFO: Looking for \"%s\"...\n"
+#: cups/http-support.c:1394
+msgid "INFO: Looking for printer...\n"
 msgstr ""
 
 #: backend/pap.c:928
 msgid "INFO: Opening connection\n"
 msgstr ""
 
-#: backend/socket.c:432
+#: backend/socket.c:433
 msgid "INFO: Print file sent, waiting for printer to finish...\n"
 msgstr ""
 
-#: backend/ipp.c:1027 backend/usb-unix.c:124
+#: backend/ipp.c:1029 backend/usb-unix.c:132
 msgid "INFO: Printer busy; will retry in 10 seconds...\n"
 msgstr ""
 
-#: backend/parallel.c:236 backend/scsi-irix.c:146 backend/scsi-linux.c:160
+#: backend/parallel.c:236 backend/scsi-irix.c:147 backend/scsi-linux.c:161
 #: backend/serial.c:256
 msgid "INFO: Printer busy; will retry in 30 seconds...\n"
 msgstr ""
 
-#: backend/usb-unix.c:419
+#: backend/usb-unix.c:437
 msgid "INFO: Printer busy; will retry in 5 seconds...\n"
 msgstr ""
 
-#: backend/ipp.c:729 backend/ipp.c:1038
+#: backend/ipp.c:731 backend/ipp.c:1040
 msgid "INFO: Printer does not support IPP/1.1, trying IPP/1.0...\n"
 msgstr ""
 
-#: backend/usb-unix.c:503
+#: backend/usb-unix.c:521
 msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
 msgstr ""
 
-#: backend/runloop.c:351
+#: backend/runloop.c:357
 msgid "INFO: Printer is currently off-line.\n"
 msgstr ""
 
@@ -3587,15 +3596,15 @@ msgstr ""
 msgid "INFO: Printer is currently offline.\n"
 msgstr ""
 
-#: backend/runloop.c:373 backend/usb-darwin.c:1143
+#: backend/runloop.c:379 backend/usb-darwin.c:1144
 msgid "INFO: Printer is now online.\n"
 msgstr ""
 
-#: backend/usb-darwin.c:1161
+#: backend/usb-darwin.c:1162
 msgid "INFO: Printer is offline.\n"
 msgstr ""
 
-#: backend/parallel.c:242 backend/usb-unix.c:131
+#: backend/parallel.c:242 backend/usb-unix.c:139
 msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
 msgstr ""
 
@@ -3605,22 +3614,22 @@ msgstr ""
 msgid "INFO: Printing page %d, %d%% complete...\n"
 msgstr ""
 
-#: filter/imagetops.c:804
+#: filter/imagetops.c:808
 #, c-format
 msgid "INFO: Printing page %d...\n"
 msgstr ""
 
-#: backend/socket.c:464 filter/rastertoepson.c:1126 filter/rastertohp.c:856
+#: backend/socket.c:465 filter/rastertoepson.c:1126 filter/rastertohp.c:856
 #: filter/rastertolabel.c:1281
 msgid "INFO: Ready to print.\n"
 msgstr ""
 
-#: backend/lpd.c:1157
+#: backend/lpd.c:1154
 #, c-format
 msgid "INFO: Sending control file (%lu bytes)\n"
 msgstr ""
 
-#: backend/lpd.c:1010
+#: backend/lpd.c:1007
 #, c-format
 msgid "INFO: Sending control file (%u bytes)\n"
 msgstr ""
@@ -3629,12 +3638,12 @@ msgstr ""
 msgid "INFO: Sending data\n"
 msgstr ""
 
-#: backend/lpd.c:1069
+#: backend/lpd.c:1066
 #, c-format
 msgid "INFO: Sending data file (%ld bytes)\n"
 msgstr ""
 
-#: backend/lpd.c:1067
+#: backend/lpd.c:1064
 #, c-format
 msgid "INFO: Sending data file (%lld bytes)\n"
 msgstr ""
@@ -3643,24 +3652,24 @@ msgstr ""
 msgid "INFO: Sending print data...\n"
 msgstr ""
 
-#: backend/parallel.c:294 backend/socket.c:411 backend/usb-unix.c:183
+#: backend/parallel.c:294 backend/socket.c:412 backend/usb-unix.c:201
 #, c-format
 msgid "INFO: Sent print file, %ld bytes...\n"
 msgstr ""
 
-#: backend/parallel.c:292 backend/socket.c:409 backend/usb-unix.c:181
+#: backend/parallel.c:292 backend/socket.c:410 backend/usb-unix.c:199
 #, c-format
 msgid "INFO: Sent print file, %lld bytes...\n"
 msgstr ""
 
-#: backend/lpd.c:1081
+#: backend/lpd.c:1078
 #, c-format
 msgid "INFO: Spooling LPR job, %.0f%% complete...\n"
 msgstr ""
 
-#: backend/ipp.c:544 backend/ipp.c:810 backend/lpd.c:802
-#: backend/parallel.c:221 backend/scsi-irix.c:124 backend/scsi-linux.c:138
-#: backend/serial.c:241 backend/socket.c:292 backend/usb-unix.c:109
+#: backend/ipp.c:546 backend/ipp.c:812 backend/lpd.c:801
+#: backend/parallel.c:221 backend/scsi-irix.c:125 backend/scsi-linux.c:139
+#: backend/serial.c:241 backend/socket.c:293 backend/usb-unix.c:117
 msgid "INFO: Unable to contact printer, queuing on next printer in class...\n"
 msgstr ""
 
@@ -3669,7 +3678,7 @@ msgstr ""
 msgid "INFO: Using default AppleTalk zone \"%s\"\n"
 msgstr ""
 
-#: backend/ipp.c:1132
+#: backend/ipp.c:1134
 msgid "INFO: Waiting for job to complete...\n"
 msgstr ""
 
@@ -3757,19 +3766,19 @@ msgstr ""
 msgid "Illegal whitespace character"
 msgstr ""
 
-#: backend/ipp.c:1677
+#: backend/ipp.c:1680
 msgid "Ink/toner almost empty."
 msgstr ""
 
-#: backend/ipp.c:1679
+#: backend/ipp.c:1682
 msgid "Ink/toner empty!"
 msgstr ""
 
-#: backend/ipp.c:1681
+#: backend/ipp.c:1684
 msgid "Ink/toner waste bin almost full."
 msgstr ""
 
-#: backend/ipp.c:1683
+#: backend/ipp.c:1686
 msgid "Ink/toner waste bin full!"
 msgstr ""
 
@@ -3789,7 +3798,7 @@ msgstr ""
 msgid "Intellitech"
 msgstr ""
 
-#: backend/ipp.c:1661
+#: backend/ipp.c:1664
 msgid "Interlock open."
 msgstr ""
 
@@ -3813,6 +3822,10 @@ msgstr ""
 msgid "Internet Postage 3-Part - 2 1/4 x 7\""
 msgstr ""
 
+#: backend/ipp.c:203
+msgid "Internet Printing Protocol"
+msgstr ""
+
 #: ppdc/sample.c:68
 msgid "Invite Envelope"
 msgstr ""
@@ -3825,60 +3838,60 @@ msgstr ""
 msgid "JCL"
 msgstr ""
 
-#: scheduler/ipp.c:9288
+#: scheduler/ipp.c:9326
 #, c-format
 msgid "Job #%d cannot be restarted - no files!"
 msgstr ""
 
-#: scheduler/ipp.c:3659 scheduler/ipp.c:4029 scheduler/ipp.c:6584
-#: scheduler/ipp.c:6726 scheduler/ipp.c:7743 scheduler/ipp.c:7907
-#: scheduler/ipp.c:8143 scheduler/ipp.c:8188 scheduler/ipp.c:9031
-#: scheduler/ipp.c:9256 scheduler/ipp.c:9673 scheduler/ipp.c:10248
+#: scheduler/ipp.c:3660 scheduler/ipp.c:4030 scheduler/ipp.c:6599
+#: scheduler/ipp.c:6741 scheduler/ipp.c:7781 scheduler/ipp.c:7945
+#: scheduler/ipp.c:8181 scheduler/ipp.c:8226 scheduler/ipp.c:9069
+#: scheduler/ipp.c:9294 scheduler/ipp.c:9711 scheduler/ipp.c:10286
 #, c-format
 msgid "Job #%d does not exist!"
 msgstr ""
 
-#: scheduler/ipp.c:4060
+#: scheduler/ipp.c:4061
 #, c-format
 msgid "Job #%d is already aborted - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:4054
+#: scheduler/ipp.c:4055
 #, c-format
 msgid "Job #%d is already canceled - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:4066
+#: scheduler/ipp.c:4067
 #, c-format
 msgid "Job #%d is already completed - can't cancel."
 msgstr ""
 
-#: scheduler/ipp.c:8230 scheduler/ipp.c:10263
+#: scheduler/ipp.c:8268 scheduler/ipp.c:10301
 #, c-format
 msgid "Job #%d is finished and cannot be altered!"
 msgstr ""
 
-#: scheduler/ipp.c:9270
+#: scheduler/ipp.c:9308
 #, c-format
 msgid "Job #%d is not complete!"
 msgstr ""
 
-#: scheduler/ipp.c:3674
+#: scheduler/ipp.c:3675
 #, c-format
 msgid "Job #%d is not held for authentication!"
 msgstr ""
 
-#: scheduler/ipp.c:9045
+#: scheduler/ipp.c:9083
 #, c-format
 msgid "Job #%d is not held!"
 msgstr ""
 
-#: scheduler/ipp.c:7721
+#: scheduler/ipp.c:7759
 #, c-format
 msgid "Job #%s does not exist!"
 msgstr ""
 
-#: scheduler/ipp.c:6225
+#: scheduler/ipp.c:6226
 #, c-format
 msgid "Job %d not found!"
 msgstr ""
@@ -3907,7 +3920,7 @@ msgstr ""
 msgid "Job UUID: "
 msgstr ""
 
-#: scheduler/ipp.c:10345
+#: scheduler/ipp.c:10383
 msgid "Job is completed and cannot be changed."
 msgstr ""
 
@@ -3915,11 +3928,11 @@ msgstr ""
 msgid "Job operation failed:"
 msgstr ""
 
-#: scheduler/ipp.c:10381 scheduler/ipp.c:10402 scheduler/ipp.c:10413
+#: scheduler/ipp.c:10419 scheduler/ipp.c:10440 scheduler/ipp.c:10451
 msgid "Job state cannot be changed."
 msgstr ""
 
-#: scheduler/ipp.c:9135
+#: scheduler/ipp.c:9173
 msgid "Job subscriptions cannot be renewed!"
 msgstr ""
 
@@ -3935,6 +3948,10 @@ msgstr ""
 msgid "Kaku3 Envelope"
 msgstr ""
 
+#: backend/lpd.c:178
+msgid "LPD/LPR Host or Printer"
+msgstr ""
+
 #: ppdc/sample.c:202
 msgid "Label Printer"
 msgstr ""
@@ -3943,7 +3960,7 @@ msgstr ""
 msgid "Label Top"
 msgstr ""
 
-#: scheduler/ipp.c:2121 scheduler/ipp.c:6148
+#: scheduler/ipp.c:2121 scheduler/ipp.c:6149
 #, c-format
 msgid "Language \"%s\" not supported!"
 msgstr ""
@@ -3968,7 +3985,7 @@ msgstr ""
 msgid "Line longer than the maximum allowed (255 characters)"
 msgstr ""
 
-#: cgi-bin/admin.c:2329
+#: cgi-bin/admin.c:2342
 msgid "List Available Printers"
 msgstr ""
 
@@ -4016,23 +4033,23 @@ msgstr ""
 msgid "Media Type"
 msgstr ""
 
-#: backend/ipp.c:1649
+#: backend/ipp.c:1651
 msgid "Media jam!"
 msgstr ""
 
-#: backend/ipp.c:1667
+#: backend/ipp.c:1670
 msgid "Media tray almost empty."
 msgstr ""
 
-#: backend/ipp.c:1669
+#: backend/ipp.c:1672
 msgid "Media tray empty!"
 msgstr ""
 
-#: backend/ipp.c:1665
+#: backend/ipp.c:1668
 msgid "Media tray missing!"
 msgstr ""
 
-#: backend/ipp.c:1647
+#: backend/ipp.c:1649
 msgid "Media tray needs to be filled."
 msgstr ""
 
@@ -4052,7 +4069,7 @@ msgstr ""
 msgid "Missing asterisk in column 1"
 msgstr ""
 
-#: scheduler/ipp.c:6606
+#: scheduler/ipp.c:6621
 msgid "Missing document-number attribute!"
 msgstr ""
 
@@ -4061,16 +4078,16 @@ msgstr ""
 msgid "Missing double quote on line %d!"
 msgstr ""
 
-#: cgi-bin/admin.c:2041 cgi-bin/admin.c:2126 cgi-bin/admin.c:2762
-#: cgi-bin/admin.c:3016 cgi-bin/admin.c:3127 cgi-bin/admin.c:3805
+#: 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
 msgid "Missing form variable!"
 msgstr ""
 
-#: scheduler/ipp.c:6994
+#: scheduler/ipp.c:7014
 msgid "Missing notify-subscription-ids attribute!"
 msgstr ""
 
-#: scheduler/ipp.c:3796
+#: scheduler/ipp.c:3797
 msgid "Missing requesting-user-name attribute!"
 msgstr ""
 
@@ -4087,7 +4104,7 @@ msgstr ""
 msgid "Missing value string"
 msgstr ""
 
-#: systemv/lpinfo.c:451
+#: systemv/lpinfo.c:475
 #, c-format
 msgid ""
 "Model:  name = %s\n"
@@ -4096,11 +4113,11 @@ msgid ""
 "        device-id = %s\n"
 msgstr ""
 
-#: cgi-bin/admin.c:477
+#: cgi-bin/admin.c:480
 msgid "Modify Class"
 msgstr ""
 
-#: cgi-bin/admin.c:769
+#: cgi-bin/admin.c:772
 msgid "Modify Printer"
 msgstr ""
 
@@ -4124,12 +4141,12 @@ msgstr ""
 msgid "Moved Permanently"
 msgstr ""
 
-#: backend/ipp.c:1057
+#: backend/ipp.c:1059
 #, c-format
 msgid "NOTICE: Print file accepted - job ID %d.\n"
 msgstr ""
 
-#: backend/ipp.c:1051
+#: backend/ipp.c:1053
 msgid "NOTICE: Print file accepted - job ID unknown.\n"
 msgstr ""
 
@@ -4173,11 +4190,11 @@ msgstr ""
 msgid "No Windows printer drivers are installed!"
 msgstr ""
 
-#: cups/request.c:501 cups/request.c:756
+#: cups/request.c:504 cups/request.c:763
 msgid "No active connection"
 msgstr ""
 
-#: scheduler/ipp.c:3976
+#: scheduler/ipp.c:3977
 #, c-format
 msgid "No active jobs on %s!"
 msgstr ""
@@ -4186,7 +4203,7 @@ msgstr ""
 msgid "No attributes in request!"
 msgstr ""
 
-#: scheduler/ipp.c:3702
+#: scheduler/ipp.c:3703
 msgid "No authentication information provided!"
 msgstr ""
 
@@ -4194,11 +4211,11 @@ msgstr ""
 msgid "No community name"
 msgstr ""
 
-#: scheduler/ipp.c:6416
+#: scheduler/ipp.c:6421
 msgid "No default printer"
 msgstr ""
 
-#: scheduler/ipp.c:7492
+#: scheduler/ipp.c:7530
 msgid "No destinations added."
 msgstr ""
 
@@ -4210,7 +4227,7 @@ msgstr ""
 msgid "No error-status"
 msgstr ""
 
-#: scheduler/ipp.c:8429 scheduler/ipp.c:9724
+#: scheduler/ipp.c:8467 scheduler/ipp.c:9762
 msgid "No file!?!"
 msgstr ""
 
@@ -4234,15 +4251,19 @@ msgstr ""
 msgid "No printer-uri found!"
 msgstr ""
 
+#: scheduler/ipp.c:6806
+msgid "No printer-uri in request!"
+msgstr ""
+
 #: cups/snmp.c:1041
 msgid "No request-id"
 msgstr ""
 
-#: scheduler/ipp.c:6033
+#: scheduler/ipp.c:6034
 msgid "No subscription attributes in request!"
 msgstr ""
 
-#: scheduler/ipp.c:7806
+#: scheduler/ipp.c:7844
 msgid "No subscriptions found."
 msgstr ""
 
@@ -4298,11 +4319,11 @@ msgstr ""
 msgid "OK"
 msgstr ""
 
-#: backend/ipp.c:1689
+#: backend/ipp.c:1692
 msgid "OPC almost at end-of-life."
 msgstr ""
 
-#: backend/ipp.c:1691
+#: backend/ipp.c:1694
 msgid "OPC at end-of-life!"
 msgstr ""
 
@@ -4331,11 +4352,11 @@ msgstr ""
 msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
 msgstr ""
 
-#: cgi-bin/admin.c:3576
+#: cgi-bin/admin.c:3589
 msgid "Operation Policy"
 msgstr ""
 
-#: cgi-bin/admin.c:3253 cgi-bin/admin.c:3313
+#: cgi-bin/admin.c:3266 cgi-bin/admin.c:3326
 msgid "Options Installed"
 msgstr ""
 
@@ -4343,7 +4364,7 @@ msgstr ""
 msgid "Options: "
 msgstr ""
 
-#: backend/ipp.c:1657
+#: backend/ipp.c:1660
 msgid "Out of toner!"
 msgstr ""
 
@@ -4351,11 +4372,11 @@ msgstr ""
 msgid "Output Mode"
 msgstr ""
 
-#: backend/ipp.c:1673
+#: backend/ipp.c:1676
 msgid "Output bin almost full."
 msgstr ""
 
-#: backend/ipp.c:1675
+#: backend/ipp.c:1678
 msgid "Output bin full!"
 msgstr ""
 
@@ -4379,7 +4400,7 @@ msgstr ""
 msgid "Output for printer %s/%s is sent to remote printer %s on %s\n"
 msgstr ""
 
-#: backend/ipp.c:1671
+#: backend/ipp.c:1674
 msgid "Output tray missing!"
 msgstr ""
 
@@ -4469,11 +4490,11 @@ msgstr ""
 msgid "Password for %s required to access %s via SAMBA: "
 msgstr ""
 
-#: cgi-bin/classes.c:148
+#: cgi-bin/classes.c:152
 msgid "Pause Class"
 msgstr ""
 
-#: cgi-bin/printers.c:151
+#: cgi-bin/printers.c:155
 msgid "Pause Printer"
 msgstr ""
 
@@ -4497,11 +4518,11 @@ msgstr ""
 msgid "Plain Paper"
 msgstr ""
 
-#: cgi-bin/admin.c:3271 cgi-bin/admin.c:3525
+#: cgi-bin/admin.c:3284 cgi-bin/admin.c:3538
 msgid "Policies"
 msgstr ""
 
-#: cgi-bin/admin.c:3278 cgi-bin/admin.c:3594 cgi-bin/admin.c:3607
+#: cgi-bin/admin.c:3291 cgi-bin/admin.c:3607 cgi-bin/admin.c:3620
 msgid "Port Monitor"
 msgstr ""
 
@@ -4529,7 +4550,7 @@ msgstr ""
 msgid "Print Rate"
 msgstr ""
 
-#: cgi-bin/printers.c:160
+#: cgi-bin/printers.c:164
 msgid "Print Self-Test Page"
 msgstr ""
 
@@ -4589,7 +4610,7 @@ msgstr ""
 msgid "Printer Settings"
 msgstr ""
 
-#: backend/ipp.c:1653
+#: backend/ipp.c:1656
 msgid "Printer offline."
 msgstr ""
 
@@ -4597,11 +4618,11 @@ msgstr ""
 msgid "Printer:"
 msgstr ""
 
-#: cgi-bin/printers.c:185 cgi-bin/printers.c:314
+#: cgi-bin/printers.c:189 cgi-bin/printers.c:317
 msgid "Printers"
 msgstr ""
 
-#: cgi-bin/classes.c:154 cgi-bin/printers.c:157
+#: cgi-bin/classes.c:158 cgi-bin/printers.c:161
 msgid "Purge Jobs"
 msgstr ""
 
@@ -4621,7 +4642,7 @@ msgstr ""
 msgid "Rank   Owner      Pri  Job        Files                       Total Size\n"
 msgstr ""
 
-#: cgi-bin/classes.c:152 cgi-bin/printers.c:155
+#: cgi-bin/classes.c:156 cgi-bin/printers.c:159
 msgid "Reject Jobs"
 msgstr ""
 
@@ -4637,11 +4658,11 @@ msgstr ""
 msgid "Resolution"
 msgstr ""
 
-#: cgi-bin/classes.c:146
+#: cgi-bin/classes.c:150
 msgid "Resume Class"
 msgstr ""
 
-#: cgi-bin/printers.c:148
+#: cgi-bin/printers.c:152
 msgid "Resume Printer"
 msgstr ""
 
@@ -4662,6 +4683,10 @@ msgstr ""
 msgid "Running command: %s %s -N -A %s -c '%s'\n"
 msgstr ""
 
+#: backend/scsi-irix.c:70 backend/scsi-linux.c:83
+msgid "SCSI Printer"
+msgstr ""
+
 #: cups/snmp.c:1018
 msgid "SEQUENCE uses indefinite length"
 msgstr ""
@@ -4670,6 +4695,12 @@ msgstr ""
 msgid "See Other"
 msgstr ""
 
+#: backend/serial.c:784 backend/serial.c:943 backend/serial.c:1066
+#: backend/serial.c:1160
+#, c-format
+msgid "Serial Port #%d"
+msgstr ""
+
 #: cgi-bin/ipp-var.c:1023
 msgid "Server Restarted"
 msgstr ""
@@ -4690,24 +4721,24 @@ msgstr ""
 msgid "Service Unavailable"
 msgstr ""
 
-#: cgi-bin/admin.c:2763 cgi-bin/admin.c:2809 cgi-bin/admin.c:2966
-#: cgi-bin/admin.c:2985
+#: cgi-bin/admin.c:2776 cgi-bin/admin.c:2822 cgi-bin/admin.c:2979
+#: cgi-bin/admin.c:2998
 msgid "Set Allowed Users"
 msgstr ""
 
-#: cgi-bin/admin.c:3012
+#: cgi-bin/admin.c:3025
 msgid "Set As Server Default"
 msgstr ""
 
-#: cgi-bin/admin.c:3112
+#: cgi-bin/admin.c:3125
 msgid "Set Class Options"
 msgstr ""
 
-#: cgi-bin/admin.c:3112 cgi-bin/admin.c:3281 cgi-bin/admin.c:3636
+#: cgi-bin/admin.c:3125 cgi-bin/admin.c:3294 cgi-bin/admin.c:3649
 msgid "Set Printer Options"
 msgstr ""
 
-#: cgi-bin/admin.c:3806 cgi-bin/admin.c:3850 cgi-bin/admin.c:3868
+#: cgi-bin/admin.c:3819 cgi-bin/admin.c:3863 cgi-bin/admin.c:3881
 msgid "Set Publishing"
 msgstr ""
 
@@ -4731,7 +4762,7 @@ msgstr ""
 msgid "Standard"
 msgstr ""
 
-#: cgi-bin/admin.c:3499
+#: cgi-bin/admin.c:3512
 msgid "Starting Banner"
 msgstr ""
 
@@ -4739,7 +4770,7 @@ msgstr ""
 msgid "Statement"
 msgstr ""
 
-#: ppdc/sample.c:222
+#: ppdc/sample.c:223
 msgid "Stylus Color Series"
 msgstr ""
 
@@ -4783,17 +4814,17 @@ msgstr ""
 msgid "Tear-Off Adjust Position"
 msgstr ""
 
-#: scheduler/ipp.c:7241
+#: scheduler/ipp.c:7261
 #, c-format
 msgid "The PPD file \"%s\" could not be found."
 msgstr ""
 
-#: scheduler/ipp.c:7228
+#: scheduler/ipp.c:7248
 #, c-format
 msgid "The PPD file \"%s\" could not be opened: %s"
 msgstr ""
 
-#: cgi-bin/admin.c:635
+#: cgi-bin/admin.c:638
 msgid "The class name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
 msgstr ""
 
@@ -4801,12 +4832,12 @@ msgstr ""
 msgid "The notify-lease-duration attribute cannot be used with job subscriptions."
 msgstr ""
 
-#: scheduler/ipp.c:2131 scheduler/ipp.c:6158
+#: scheduler/ipp.c:2131 scheduler/ipp.c:6159
 #, c-format
 msgid "The notify-user-data value is too large (%d > 63 octets)!"
 msgstr ""
 
-#: cgi-bin/admin.c:818
+#: cgi-bin/admin.c:821
 msgid "The printer name may only contain up to 127 printable characters and may not contain spaces, slashes (/), or the pound sign (#)."
 msgstr ""
 
@@ -4814,22 +4845,22 @@ msgstr ""
 msgid "The printer or class is not shared!"
 msgstr ""
 
-#: scheduler/ipp.c:855 scheduler/ipp.c:1161 scheduler/ipp.c:3832
-#: scheduler/ipp.c:3938 scheduler/ipp.c:5689 scheduler/ipp.c:5992
-#: scheduler/ipp.c:6300 scheduler/ipp.c:6823 scheduler/ipp.c:7424
-#: scheduler/ipp.c:7733 scheduler/ipp.c:8001 scheduler/ipp.c:8091
-#: scheduler/ipp.c:8124 scheduler/ipp.c:8444 scheduler/ipp.c:8835
-#: scheduler/ipp.c:8915 scheduler/ipp.c:10116 scheduler/ipp.c:10814
-#: scheduler/ipp.c:10881 scheduler/ipp.c:11164
+#: scheduler/ipp.c:855 scheduler/ipp.c:1161 scheduler/ipp.c:3833
+#: scheduler/ipp.c:3939 scheduler/ipp.c:5690 scheduler/ipp.c:5993
+#: scheduler/ipp.c:6306 scheduler/ipp.c:6843 scheduler/ipp.c:7462
+#: scheduler/ipp.c:7771 scheduler/ipp.c:8039 scheduler/ipp.c:8129
+#: scheduler/ipp.c:8162 scheduler/ipp.c:8482 scheduler/ipp.c:8873
+#: scheduler/ipp.c:8953 scheduler/ipp.c:10154 scheduler/ipp.c:10852
+#: scheduler/ipp.c:10919 scheduler/ipp.c:11202
 msgid "The printer or class was not found."
 msgstr ""
 
-#: scheduler/ipp.c:961 scheduler/ipp.c:2337
+#: scheduler/ipp.c:961 scheduler/ipp.c:2338
 #, c-format
 msgid "The printer-uri \"%s\" contains invalid characters."
 msgstr ""
 
-#: scheduler/ipp.c:3777
+#: scheduler/ipp.c:3778
 msgid "The printer-uri attribute is required!"
 msgstr ""
 
@@ -4837,14 +4868,18 @@ msgstr ""
 msgid "The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
 msgstr ""
 
-#: scheduler/ipp.c:2321
+#: scheduler/ipp.c:2322
 msgid "The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
 msgstr ""
 
-#: cgi-bin/admin.c:382
+#: cgi-bin/admin.c:385
 msgid "The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#)."
 msgstr ""
 
+#: scheduler/ipp.c:6236
+msgid "There are too many subscriptions."
+msgstr ""
+
 #: ppdc/sample.c:407
 msgid "Thermal Transfer Media"
 msgstr ""
@@ -4853,7 +4888,7 @@ msgstr ""
 msgid "Title: "
 msgstr ""
 
-#: backend/ipp.c:1655
+#: backend/ipp.c:1658
 msgid "Toner low."
 msgstr ""
 
@@ -4866,7 +4901,7 @@ msgstr ""
 msgid "Too many job-sheets values (%d > 2)!"
 msgstr ""
 
-#: scheduler/ipp.c:2641
+#: scheduler/ipp.c:2642
 #, c-format
 msgid "Too many printer-state-reasons values (%d > %d)!"
 msgstr ""
@@ -4931,15 +4966,20 @@ msgstr ""
 msgid "US Letter (Small)"
 msgstr ""
 
-#: cgi-bin/admin.c:1894 cgi-bin/admin.c:1907 cgi-bin/admin.c:1931
+#: backend/serial.c:797
+#, c-format
+msgid "USB Serial Port #%d"
+msgstr ""
+
+#: cgi-bin/admin.c:1907 cgi-bin/admin.c:1920 cgi-bin/admin.c:1944
 msgid "Unable to access cupsd.conf file:"
 msgstr ""
 
-#: cgi-bin/admin.c:434
+#: cgi-bin/admin.c:437
 msgid "Unable to add RSS subscription:"
 msgstr ""
 
-#: cgi-bin/admin.c:701
+#: cgi-bin/admin.c:704
 msgid "Unable to add class:"
 msgstr ""
 
@@ -4948,7 +4988,7 @@ msgstr ""
 msgid "Unable to add job for destination \"%s\"!"
 msgstr ""
 
-#: cgi-bin/admin.c:1285
+#: cgi-bin/admin.c:939 cgi-bin/admin.c:1298
 msgid "Unable to add printer:"
 msgstr ""
 
@@ -4956,19 +4996,19 @@ msgstr ""
 msgid "Unable to allocate memory for file types!"
 msgstr ""
 
-#: cgi-bin/admin.c:1391
+#: cgi-bin/admin.c:1404
 msgid "Unable to cancel RSS subscription:"
 msgstr ""
 
-#: cgi-bin/admin.c:3851
+#: cgi-bin/admin.c:3864
 msgid "Unable to change printer-is-shared attribute:"
 msgstr ""
 
-#: cgi-bin/admin.c:2967
+#: cgi-bin/admin.c:2980
 msgid "Unable to change printer:"
 msgstr ""
 
-#: cgi-bin/admin.c:1571 cgi-bin/admin.c:1735
+#: cgi-bin/admin.c:1584 cgi-bin/admin.c:1748
 msgid "Unable to change server settings:"
 msgstr ""
 
@@ -4991,12 +5031,12 @@ msgstr ""
 msgid "Unable to copy CUPS printer driver files (%d)!"
 msgstr ""
 
-#: scheduler/ipp.c:2758
+#: scheduler/ipp.c:2759
 #, c-format
 msgid "Unable to copy PPD file - %s!"
 msgstr ""
 
-#: scheduler/ipp.c:2824
+#: scheduler/ipp.c:2825
 msgid "Unable to copy PPD file!"
 msgstr ""
 
@@ -5010,7 +5050,7 @@ msgstr ""
 msgid "Unable to copy Windows 9x printer driver files (%d)!"
 msgstr ""
 
-#: scheduler/ipp.c:2735
+#: scheduler/ipp.c:2736
 #, c-format
 msgid "Unable to copy interface script - %s!"
 msgstr ""
@@ -5019,23 +5059,23 @@ msgstr ""
 msgid "Unable to create printer-uri!"
 msgstr ""
 
-#: cgi-bin/admin.c:1785 cgi-bin/admin.c:1797
+#: cgi-bin/admin.c:1798 cgi-bin/admin.c:1810
 msgid "Unable to create temporary file:"
 msgstr ""
 
-#: cgi-bin/admin.c:2088
+#: cgi-bin/admin.c:2101
 msgid "Unable to delete class:"
 msgstr ""
 
-#: cgi-bin/admin.c:2173
+#: cgi-bin/admin.c:2186
 msgid "Unable to delete printer:"
 msgstr ""
 
-#: cgi-bin/classes.c:241 cgi-bin/printers.c:250
+#: cgi-bin/classes.c:245 cgi-bin/printers.c:254
 msgid "Unable to do maintenance command:"
 msgstr ""
 
-#: cgi-bin/admin.c:1909
+#: cgi-bin/admin.c:1922
 msgid "Unable to edit cupsd.conf files larger than 1MB!"
 msgstr ""
 
@@ -5043,31 +5083,31 @@ msgstr ""
 msgid "Unable to find destination for job!"
 msgstr ""
 
-#: cups/http-support.c:1422
+#: cups/http-support.c:1424
 msgid "Unable to find printer!\n"
 msgstr ""
 
-#: cgi-bin/classes.c:431
+#: cgi-bin/classes.c:435
 msgid "Unable to get class list:"
 msgstr ""
 
-#: cgi-bin/classes.c:530
+#: cgi-bin/classes.c:534
 msgid "Unable to get class status:"
 msgstr ""
 
-#: cgi-bin/admin.c:1186
+#: cgi-bin/admin.c:1199
 msgid "Unable to get list of printer drivers:"
 msgstr ""
 
-#: cgi-bin/admin.c:2817
+#: cgi-bin/admin.c:2830
 msgid "Unable to get printer attributes:"
 msgstr ""
 
-#: cgi-bin/printers.c:449
+#: cgi-bin/printers.c:452
 msgid "Unable to get printer list:"
 msgstr ""
 
-#: cgi-bin/printers.c:551
+#: cgi-bin/printers.c:554
 msgid "Unable to get printer status:"
 msgstr ""
 
@@ -5081,11 +5121,11 @@ msgstr ""
 msgid "Unable to install Windows 9x printer driver files (%d)!"
 msgstr ""
 
-#: cgi-bin/admin.c:700
+#: cgi-bin/admin.c:703
 msgid "Unable to modify class:"
 msgstr ""
 
-#: cgi-bin/admin.c:1284
+#: cgi-bin/admin.c:938 cgi-bin/admin.c:1297
 msgid "Unable to modify printer:"
 msgstr ""
 
@@ -5101,15 +5141,15 @@ msgstr ""
 msgid "Unable to open PPD file"
 msgstr ""
 
-#: cgi-bin/admin.c:3163
+#: cgi-bin/admin.c:3176
 msgid "Unable to open PPD file:"
 msgstr ""
 
-#: cgi-bin/admin.c:2543
+#: cgi-bin/admin.c:2556
 msgid "Unable to open cupsd.conf file:"
 msgstr ""
 
-#: scheduler/ipp.c:6626
+#: scheduler/ipp.c:6641
 #, c-format
 msgid "Unable to open document %d in job %d!"
 msgstr ""
@@ -5132,19 +5172,19 @@ msgstr ""
 msgid "Unable to set Windows printer driver (%d)!"
 msgstr ""
 
-#: cgi-bin/admin.c:3752
+#: cgi-bin/admin.c:3765
 msgid "Unable to set options:"
 msgstr ""
 
-#: cgi-bin/admin.c:3054
+#: cgi-bin/admin.c:3067
 msgid "Unable to set server default:"
 msgstr ""
 
-#: cgi-bin/admin.c:1847
+#: cgi-bin/admin.c:1860
 msgid "Unable to upload cupsd.conf file:"
 msgstr ""
 
-#: backend/usb-darwin.c:1815 backend/usb-darwin.c:1837
+#: backend/usb-darwin.c:1816 backend/usb-darwin.c:1838
 msgid "Unable to use legacy USB class driver!\n"
 msgstr ""
 
@@ -5152,7 +5192,7 @@ msgstr ""
 msgid "Unauthorized"
 msgstr ""
 
-#: cgi-bin/admin.c:3452
+#: cgi-bin/admin.c:3465
 msgid "Units"
 msgstr ""
 
@@ -5160,17 +5200,17 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: backend/ipp.c:1702
+#: backend/ipp.c:1705
 #, c-format
 msgid "Unknown printer error (%s)!"
 msgstr ""
 
-#: scheduler/ipp.c:10687
+#: scheduler/ipp.c:10725
 #, c-format
 msgid "Unknown printer-error-policy \"%s\"."
 msgstr ""
 
-#: scheduler/ipp.c:10671
+#: scheduler/ipp.c:10709
 #, c-format
 msgid "Unknown printer-op-policy \"%s\"."
 msgstr ""
@@ -5180,27 +5220,27 @@ msgstr ""
 msgid "Unsupported character set \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:8410 scheduler/ipp.c:9705
+#: scheduler/ipp.c:8448 scheduler/ipp.c:9743
 #, c-format
 msgid "Unsupported compression \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:11117
+#: scheduler/ipp.c:11155
 #, c-format
 msgid "Unsupported compression attribute %s!"
 msgstr ""
 
-#: scheduler/ipp.c:11145
+#: scheduler/ipp.c:11183
 #, c-format
 msgid "Unsupported format \"%s\"!"
 msgstr ""
 
-#: scheduler/ipp.c:1393 scheduler/ipp.c:9839
+#: scheduler/ipp.c:1393 scheduler/ipp.c:9877
 #, c-format
 msgid "Unsupported format '%s'!"
 msgstr ""
 
-#: scheduler/ipp.c:8544 scheduler/ipp.c:9822
+#: scheduler/ipp.c:8582 scheduler/ipp.c:9860
 #, c-format
 msgid "Unsupported format '%s/%s'!"
 msgstr ""
@@ -5231,12 +5271,12 @@ msgstr ""
 msgid "Usage: %s job user title copies options [filename]\n"
 msgstr ""
 
-#: backend/ipp.c:208 backend/lpd.c:183 backend/pap.c:228
+#: backend/ipp.c:209 backend/lpd.c:184 backend/pap.c:228
 #: backend/parallel.c:127 backend/scsi.c:157 backend/serial.c:165
-#: backend/socket.c:130 backend/usb.c:183 filter/bannertops.c:118
+#: backend/socket.c:131 backend/usb.c:183 filter/bannertops.c:118
 #: filter/hpgl-main.c:148 filter/imagetops.c:115 filter/imagetoraster.c:207
 #: filter/pstops.c:254 filter/rastertoepson.c:985 filter/rastertohp.c:712
-#: filter/rastertolabel.c:1133 filter/textcommon.c:519
+#: filter/rastertolabel.c:1133 filter/textcommon.c:518
 #, c-format
 msgid "Usage: %s job-id user title copies options [file]\n"
 msgstr ""
@@ -5246,7 +5286,7 @@ msgstr ""
 msgid "Usage: %s job-id user title copies options file\n"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1292
+#: scheduler/cupsfilter.c:1297
 msgid ""
 "Usage: convert [ options ]\n"
 "\n"
@@ -5297,7 +5337,7 @@ msgid ""
 "    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
 msgstr ""
 
-#: scheduler/main.c:2024
+#: scheduler/main.c:2050
 msgid ""
 "Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
 "\n"
@@ -5308,7 +5348,7 @@ msgid ""
 "-l                  Run cupsd from launchd(8)\n"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1280
+#: scheduler/cupsfilter.c:1285
 msgid ""
 "Usage: cupsfilter -m mime/type [ options ] filename\n"
 "\n"
@@ -5411,7 +5451,7 @@ msgid ""
 "  -o filename.drv\n"
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:359
+#: ppdc/ppdmerge.cxx:370
 msgid ""
 "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
 "Options:\n"
@@ -5448,13 +5488,13 @@ msgstr ""
 msgid "WARNING: Adding only the first %d printers found"
 msgstr ""
 
-#: backend/pap.c:1460 backend/usb-darwin.c:1678
+#: backend/pap.c:1460 backend/usb-darwin.c:1679
 #, c-format
 msgid "WARNING: Boolean expected for waiteof option \"%s\"\n"
 msgstr ""
 
 #: backend/network.c:83 backend/pap.c:1293 backend/parallel.c:638
-#: backend/serial.c:1267 backend/usb-libusb.c:729 backend/usb-unix.c:565
+#: backend/serial.c:1285 backend/usb-libusb.c:730 backend/usb-unix.c:583
 msgid "WARNING: Failed to read side-channel request!\n"
 msgstr ""
 
@@ -5471,22 +5511,22 @@ msgstr ""
 msgid "WARNING: Printer sent unexpected EOF\n"
 msgstr ""
 
-#: backend/lpd.c:592
+#: backend/lpd.c:593
 #, c-format
 msgid "WARNING: Remote host did not respond with command status byte after %d seconds!\n"
 msgstr ""
 
-#: backend/lpd.c:1025 backend/lpd.c:1172
+#: backend/lpd.c:1022 backend/lpd.c:1169
 #, c-format
 msgid "WARNING: Remote host did not respond with control status byte after %d seconds!\n"
 msgstr ""
 
-#: backend/lpd.c:1117
+#: backend/lpd.c:1114
 #, c-format
 msgid "WARNING: Remote host did not respond with data status byte after %d seconds!\n"
 msgstr ""
 
-#: backend/scsi-irix.c:209 backend/scsi-linux.c:227
+#: backend/scsi-irix.c:210 backend/scsi-linux.c:228
 #, c-format
 msgid "WARNING: SCSI command timed out (%d); retrying...\n"
 msgstr ""
@@ -5534,7 +5574,7 @@ msgstr ""
 msgid "WARNING: number expected for status option \"%s\"\n"
 msgstr ""
 
-#: backend/ipp.c:571 backend/ipp.c:710 backend/lpd.c:828 backend/socket.c:316
+#: backend/ipp.c:573 backend/ipp.c:712 backend/lpd.c:827 backend/socket.c:317
 #, c-format
 msgid "WARNING: recoverable: Network host '%s' is busy; will retry in %d seconds...\n"
 msgstr ""
@@ -5547,7 +5587,7 @@ msgstr ""
 msgid "Yes"
 msgstr ""
 
-#: scheduler/client.c:2394
+#: scheduler/client.c:2428
 #, c-format
 msgid "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
 msgstr ""
@@ -5580,11 +5620,11 @@ msgstr ""
 msgid "convert: Use the -f option to specify a file to convert.\n"
 msgstr ""
 
-#: scheduler/ipp.c:6499
+#: scheduler/ipp.c:6514
 msgid "cups-deviced failed to execute."
 msgstr ""
 
-#: scheduler/ipp.c:7163 scheduler/ipp.c:7391
+#: scheduler/ipp.c:7183 scheduler/ipp.c:7429
 msgid "cups-driverd failed to execute."
 msgstr ""
 
@@ -5630,12 +5670,12 @@ msgstr ""
 msgid "cupsd: launchd(8) support not compiled in, running in normal mode.\n"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1056
+#: scheduler/cupsfilter.c:1061
 #, c-format
 msgid "cupsfilter: Invalid document number %d!\n"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1050
+#: scheduler/cupsfilter.c:1055
 #, c-format
 msgid "cupsfilter: Invalid job ID %d!\n"
 msgstr ""
@@ -5644,12 +5684,12 @@ msgstr ""
 msgid "cupsfilter: Only one filename can be specified!\n"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1084
+#: scheduler/cupsfilter.c:1089
 #, c-format
 msgid "cupsfilter: Unable to create temporary file: %s\n"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1100
+#: scheduler/cupsfilter.c:1105
 #, c-format
 msgid "cupsfilter: Unable to get job file - %s\n"
 msgstr ""
@@ -5692,7 +5732,7 @@ msgstr ""
 msgid "idle"
 msgstr ""
 
-#: scheduler/ipp.c:8080
+#: scheduler/ipp.c:8118
 msgid "job-printer-uri attribute missing!"
 msgstr ""
 
@@ -5884,42 +5924,45 @@ msgstr ""
 msgid "lpc> "
 msgstr ""
 
-#: systemv/lpinfo.c:173
+#: systemv/lpinfo.c:143
 msgid "lpinfo: Expected 1284 device ID string after --device-id!\n"
 msgstr ""
 
-#: systemv/lpinfo.c:190
+#: systemv/lpinfo.c:196
 msgid "lpinfo: Expected language after --language!\n"
 msgstr ""
 
-#: systemv/lpinfo.c:207
+#: systemv/lpinfo.c:213
 msgid "lpinfo: Expected make and model after --make-and-model!\n"
 msgstr ""
 
-#: systemv/lpinfo.c:224
+#: systemv/lpinfo.c:230
 msgid "lpinfo: Expected product string after --product!\n"
 msgstr ""
 
-#: systemv/lpinfo.c:241
-msgid "lpinfo: Expected timeout after --timeout!\n"
+#: systemv/lpinfo.c:161
+msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
 msgstr ""
 
-#: systemv/lpinfo.c:133 systemv/lpinfo.c:153
-#, c-format
-msgid "lpinfo: Unable to connect to server: %s\n"
+#: systemv/lpinfo.c:179
+msgid "lpinfo: Expected scheme list after --include-schemes!\n"
 msgstr ""
 
-#: systemv/lpinfo.c:264
+#: systemv/lpinfo.c:247
+msgid "lpinfo: Expected timeout after --timeout!\n"
+msgstr ""
+
+#: systemv/lpinfo.c:270
 #, c-format
 msgid "lpinfo: Unknown argument '%s'!\n"
 msgstr ""
 
-#: systemv/lpinfo.c:258
+#: systemv/lpinfo.c:264
 #, c-format
 msgid "lpinfo: Unknown option '%c'!\n"
 msgstr ""
 
-#: systemv/lpinfo.c:251
+#: systemv/lpinfo.c:257
 #, c-format
 msgid "lpinfo: Unknown option '%s'!\n"
 msgstr ""
@@ -6037,22 +6080,22 @@ msgstr ""
 msgid "no system default destination\n"
 msgstr ""
 
-#: scheduler/ipp.c:6207
+#: scheduler/ipp.c:6208
 msgid "notify-events not specified!"
 msgstr ""
 
-#: scheduler/ipp.c:2085 scheduler/ipp.c:6112
+#: scheduler/ipp.c:2085 scheduler/ipp.c:6113
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" is already used!"
 msgstr ""
 
-#: scheduler/ipp.c:2075 scheduler/ipp.c:6102
+#: scheduler/ipp.c:2075 scheduler/ipp.c:6103
 #, c-format
 msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
 msgstr ""
 
-#: scheduler/ipp.c:4120 scheduler/ipp.c:7011 scheduler/ipp.c:7635
-#: scheduler/ipp.c:9124
+#: scheduler/ipp.c:4121 scheduler/ipp.c:7031 scheduler/ipp.c:7673
+#: scheduler/ipp.c:9162
 #, c-format
 msgid "notify-subscription-id %d no good!"
 msgstr ""
@@ -6477,47 +6520,47 @@ msgstr ""
 msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:139
+#: ppdc/ppdmerge.cxx:138
 #, c-format
 msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:206
+#: ppdc/ppdmerge.cxx:178
 #, c-format
 msgid "ppdmerge: Ignoring PPD file %s...\n"
 msgstr ""
 
-#: ppdc/ppdmerge.cxx:163
+#: ppdc/ppdmerge.cxx:162
 #, c-format
 msgid "ppdmerge: Unable to backup %s to %s- %s\n"
 msgstr ""
 
-#: systemv/lpstat.c:1764
+#: systemv/lpstat.c:1769
 #, c-format
 msgid "printer %s disabled since %s -\n"
 msgstr ""
 
-#: systemv/lpstat.c:1753
+#: systemv/lpstat.c:1758
 #, c-format
 msgid "printer %s is idle.  enabled since %s\n"
 msgstr ""
 
-#: systemv/lpstat.c:1758
+#: systemv/lpstat.c:1763
 #, c-format
 msgid "printer %s now printing %s-%d.  enabled since %s\n"
 msgstr ""
 
-#: systemv/lpstat.c:1876
+#: systemv/lpstat.c:1881
 #, c-format
 msgid "printer %s/%s disabled since %s -\n"
 msgstr ""
 
-#: systemv/lpstat.c:1862
+#: systemv/lpstat.c:1867
 #, c-format
 msgid "printer %s/%s is idle.  enabled since %s\n"
 msgstr ""
 
-#: systemv/lpstat.c:1869
+#: systemv/lpstat.c:1874
 #, c-format
 msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
 msgstr ""
@@ -6526,7 +6569,7 @@ msgstr ""
 msgid "processing"
 msgstr ""
 
-#: systemv/lp.c:656
+#: systemv/lp.c:660
 #, c-format
 msgid "request id is %s-%d (%d file(s))\n"
 msgstr ""
@@ -6535,11 +6578,11 @@ msgstr ""
 msgid "request-id uses indefinite length"
 msgstr ""
 
-#: systemv/lpstat.c:2003
+#: systemv/lpstat.c:2008
 msgid "scheduler is not running\n"
 msgstr ""
 
-#: systemv/lpstat.c:1999
+#: systemv/lpstat.c:2004
 msgid "scheduler is running\n"
 msgstr ""
 
diff --git a/locale/cups_es.po b/locale/cups_es.po
new file mode 100644 (file)
index 0000000..7c18781
--- /dev/null
@@ -0,0 +1,5625 @@
+#
+# "$Id$"
+#
+#   Spanish message catalog for the Common UNIX Printing System (CUPS).
+#
+#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2005-2007 by Easy Software Products.
+#
+#   These coded instructions, statements, and computer programs are the
+#   property of Apple Inc. and are protected by Federal copyright
+#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+#   which should have been included with this file.  If this file is
+#   file is missing or damaged, see the license at "http://www.cups.org/".
+#
+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-08 14:07-0800\n"
+"PO-Revision-Date: 2008-11-12 16:53+0100\n"
+"Last-Translator: Juan Pablo González Riopedre <riopedre13@yahoo.es>\n"
+"Language-Team: Spanish\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "\t\t(all)\n"
+msgstr "\t\t(todos)\n"
+
+msgid "\t\t(none)\n"
+msgstr "\t\t(ninguno)\n"
+
+#, c-format
+msgid "\t%d entries\n"
+msgstr "\t%d entradas\n"
+
+msgid "\tAfter fault: continue\n"
+msgstr "\tTras fallo: continuar\n"
+
+msgid "\tAlerts:"
+msgstr "\tAlertas:"
+
+msgid "\tBanner required\n"
+msgstr "\tSe necesita un rótulo\n"
+
+msgid "\tCharset sets:\n"
+msgstr "\tAjustes del juego de caracteres:\n"
+
+msgid "\tConnection: direct\n"
+msgstr "\tConexión: directa\n"
+
+msgid "\tConnection: remote\n"
+msgstr "\tConexión: remota\n"
+
+msgid "\tDefault page size:\n"
+msgstr "\tTamaño de página predeterminado:\n"
+
+msgid "\tDefault pitch:\n"
+msgstr "\tPaso predeterminado:\n"
+
+msgid "\tDefault port settings:\n"
+msgstr "\tAjustes del puerto predeterminados:\n"
+
+#, c-format
+msgid "\tDescription: %s\n"
+msgstr "\tDescripción: %s\n"
+
+msgid ""
+"\tForm mounted:\n"
+"\tContent types: any\n"
+"\tPrinter types: unknown\n"
+msgstr ""
+"\tFormulario montado:\n"
+"\tTipos de contenido: cualquiera\n"
+"\tTipos de impresora: desconocido\n"
+
+msgid "\tForms allowed:\n"
+msgstr "\tFormularios permitidos:\n"
+
+#, c-format
+msgid "\tInterface: %s.ppd\n"
+msgstr "\tInterfaz: %s.ppd\n"
+
+#, c-format
+msgid "\tInterface: %s/interfaces/%s\n"
+msgstr "\tInterfaz: %s/interfaces/%s\n"
+
+#, c-format
+msgid "\tInterface: %s/ppd/%s.ppd\n"
+msgstr "\tInterfaz: %s/ppd/%s.ppd\n"
+
+#, c-format
+msgid "\tLocation: %s\n"
+msgstr "\tUbicación: %s\n"
+
+msgid "\tOn fault: no alert\n"
+msgstr "\tEn fallo: no alertar\n"
+
+msgid "\tUsers allowed:\n"
+msgstr "\tUsuarios permitidos:\n"
+
+msgid "\tUsers denied:\n"
+msgstr "\tUsuarios denegados:\n"
+
+msgid "\tdaemon present\n"
+msgstr "\tdemonio presente\n"
+
+msgid "\tno entries\n"
+msgstr "\tno hay entradas\n"
+
+#, c-format
+msgid "\tprinter is on device '%s' speed -1\n"
+msgstr "\tla impresora está conectada a '%s' velocidad -1\n"
+
+msgid "\tprinting is disabled\n"
+msgstr "\tla impresión está desactivada\n"
+
+msgid "\tprinting is enabled\n"
+msgstr "\tla impresión está activada\n"
+
+#, c-format
+msgid "\tqueued for %s\n"
+msgstr "\ten cola para %s\n"
+
+msgid "\tqueuing is disabled\n"
+msgstr "\tla cola está desactivada\n"
+
+msgid "\tqueuing is enabled\n"
+msgstr "\tla cola está activada\n"
+
+msgid "\treason unknown\n"
+msgstr "\trazón desconocida\n"
+
+msgid ""
+"\n"
+"    DETAILED CONFORMANCE TEST RESULTS\n"
+msgstr ""
+"\n"
+"    RESULTADOS DETALLADOS DE LA PRUEBA DE CONFORMIDAD\n"
+
+msgid "                REF: Page 15, section 3.1.\n"
+msgstr "                REF: Página 15, sección 3.1.\n"
+
+msgid "                REF: Page 15, section 3.2.\n"
+msgstr "                REF: Página 15, sección 3.2.\n"
+
+msgid "                REF: Page 19, section 3.3.\n"
+msgstr "                REF: Página 19, sección 3.3.\n"
+
+msgid "                REF: Page 20, section 3.4.\n"
+msgstr "                REF: Página 20, sección 3.4.\n"
+
+msgid "                REF: Page 27, section 3.5.\n"
+msgstr "                REF: Página 27, sección 3.5.\n"
+
+msgid "                REF: Page 42, section 5.2.\n"
+msgstr "                REF: Página 42, sección 5.2.\n"
+
+msgid "                REF: Pages 16-17, section 3.2.\n"
+msgstr "                REF: Páginas 16-17, sección 3.2.\n"
+
+msgid "                REF: Pages 42-45, section 5.2.\n"
+msgstr "                REF: Páginas 42-45, sección 5.2.\n"
+
+msgid "                REF: Pages 45-46, section 5.2.\n"
+msgstr "                REF: Páginas 45-46, sección 5.2.\n"
+
+msgid "                REF: Pages 48-49, section 5.2.\n"
+msgstr "                REF: Páginas 48-49, sección 5.2.\n"
+
+msgid "                REF: Pages 52-54, section 5.2.\n"
+msgstr "                REF: Páginas 52-54, sección 5.2.\n"
+
+#, c-format
+msgid "        %-39.39s %.0f bytes\n"
+msgstr "        %-39.39s %.0f bytes\n"
+
+#, c-format
+msgid "        PASS    Default%s\n"
+msgstr "        PASA    %s predeterminado\n"
+
+msgid "        PASS    DefaultImageableArea\n"
+msgstr "        PASA    DefaultImageableArea\n"
+
+msgid "        PASS    DefaultPaperDimension\n"
+msgstr "        PASA    DefaultPaperDimension\n"
+
+msgid "        PASS    FileVersion\n"
+msgstr "        PASA    FileVersion\n"
+
+msgid "        PASS    FormatVersion\n"
+msgstr "        PASA    FormatVersion\n"
+
+msgid "        PASS    LanguageEncoding\n"
+msgstr "        PASA    LanguageEncoding\n"
+
+msgid "        PASS    LanguageVersion\n"
+msgstr "        PASA    LanguageVersion\n"
+
+msgid "        PASS    Manufacturer\n"
+msgstr "        PASA    Manufacturer\n"
+
+msgid "        PASS    ModelName\n"
+msgstr "        PASA    ModelName\n"
+
+msgid "        PASS    NickName\n"
+msgstr "        PASA    NickName\n"
+
+msgid "        PASS    PCFileName\n"
+msgstr "        PASA    PCFileName\n"
+
+msgid "        PASS    PSVersion\n"
+msgstr "        PASA    PSVersion\n"
+
+msgid "        PASS    PageRegion\n"
+msgstr "        PASA    PageRegion\n"
+
+msgid "        PASS    PageSize\n"
+msgstr "        PASA    PageSize\n"
+
+msgid "        PASS    Product\n"
+msgstr "        PASA    Product\n"
+
+msgid "        PASS    ShortNickName\n"
+msgstr "        PASA    ShortNickName\n"
+
+#, c-format
+msgid ""
+"        WARN    \"%s %s\" conflicts with \"%s %s\"\n"
+"                (constraint=\"%s %s %s %s\")\n"
+msgstr ""
+"        ADVERTENCIA    \"%s %s\" está en conflicto con \"%s %s\"\n"
+"                (restricción=\"%s %s %s %s\")\n"
+
+#, c-format
+msgid "        WARN    %s has no corresponding options!\n"
+msgstr "        ADVERTENCIA    %s tiene opciones que no corresponden.\n"
+
+#, c-format
+msgid ""
+"        WARN    %s shares a common prefix with %s\n"
+"                REF: Page 15, section 3.2.\n"
+msgstr ""
+"        ADVERTENCIA    %s comparte un prefijo común con %s\n"
+"                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"
+
+#, c-format
+msgid ""
+"        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"
+"                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    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"
+"                REF: Páginas 56-57, sección 5.3.\n"
+
+#, c-format
+msgid "        WARN    Line %d only contains whitespace!\n"
+msgstr "        ADVERTENCIA    La línea %d solo contiene espacios en blanco.\n"
+
+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"
+"                REF: Páginas 58-59, sección 5.3.\n"
+
+#, c-format
+msgid "        WARN    Missing APDialogExtension file \"%s\"\n"
+msgstr "        ADVERTENCIA    Falta el archivo APDialogExtension \"%s\"\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid ""
+"        WARN    Obsolete PPD version %.1f!\n"
+"                REF: Page 42, section 5.2.\n"
+msgstr ""
+"        ADVERTENCIA    Versión de PPD %.1f anticuada.\n"
+"                REF: Página 42, sección 5.2.\n"
+
+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"
+"                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"
+"                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"
+"                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"
+"                REF: Páginas 64-65, sección 5.3.\n"
+
+#, c-format
+msgid "      %s  %s %s does not exist!\n"
+msgstr "      %s  %s %s no existe.\n"
+
+#, c-format
+msgid ""
+"      %s  Bad %s choice %s!\n"
+"                REF: Page 122, section 5.17\n"
+msgstr ""
+"      %s  Preferencia %s incorrecta %s.\n"
+"                REF: Página 122, sección 5.17\n"
+
+#, 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"
+
+#, 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"
+
+#, c-format
+msgid "      %s  Bad cupsFilter value \"%s\"!\n"
+msgstr "      %s  Valor cupsFilter \"%s\" incorrecto.\n"
+
+#, c-format
+msgid "      %s  Bad cupsICCProfile %s!\n"
+msgstr "      %s  cupsICCProfile %s incorrecto.\n"
+
+#, c-format
+msgid "      %s  Bad cupsPreFilter value \"%s\"!\n"
+msgstr "      %s  Valor cupsPreFilter \"%s\" incorrecto.\n"
+
+#, c-format
+msgid "      %s  Bad cupsUIConstraints %s: \"%s\"!\n"
+msgstr "      %s  cupsUIConstraints %s: \"%s\" incorrecto.\n"
+
+#, c-format
+msgid "      %s  Bad language \"%s\"!\n"
+msgstr "      %s  Idioma incorrecto \"%s\".\n"
+
+#, c-format
+msgid "      %s  Empty cupsUIConstraints %s!\n"
+msgstr "      %s  cupsUIConstraints %s vacío.\n"
+
+#, c-format
+msgid "      %s  Missing \"%s\" translation string for option %s!\n"
+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"
+
+#, 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"
+
+#, 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"
+
+#, c-format
+msgid "      %s  Missing cupsFilter file \"%s\"\n"
+msgstr "      %s  Falta archivo cupsFilter \"%s\"\n"
+
+#, c-format
+msgid "      %s  Missing cupsICCProfile file \"%s\"!\n"
+msgstr "      %s Falta el archivo cupsICCProfile \"%s\".\n"
+
+#, c-format
+msgid "      %s  Missing cupsPreFilter file \"%s\"\n"
+msgstr "      %s  Falta archivo cupsPreFilter \"%s\"\n"
+
+#, c-format
+msgid "      %s  Missing cupsUIResolver %s!\n"
+msgstr "      %s  Falta cupsUIResolver %s.\n"
+
+#, c-format
+msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"!\n"
+msgstr "      %s  Falta la opción %s en UIConstraints \"*%s %s *%s %s\".\n"
+
+#, c-format
+msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\"!\n"
+msgstr "      %s  Falta la opción %s en cupsUIConstraints %s: \"%s\".\n"
+
+#, c-format
+msgid "      %s  No base translation \"%s\" is included in file!\n"
+msgstr "      %s  No hay traducción base \"%s\" incluida en el archivo.\n"
+
+#, c-format
+msgid ""
+"      %s  REQUIRED %s does not define choice None!\n"
+"                REF: Page 122, section 5.17\n"
+msgstr ""
+"      %s  SE NECESITA %s no define preferencia Ninguna.\n"
+"                REF: Página 122, sección 5.17\n"
+
+#, c-format
+msgid "      %s  cupsICCProfile %s hash value collides with %s!\n"
+msgstr "      %s  valor hash de cupsICCProfile %s colisiona con %s!\n"
+
+#, c-format
+msgid "      %s  cupsUIResolver %s causes a loop!\n"
+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"
+
+#, c-format
+msgid ""
+"      **FAIL**  %s must be 1284DeviceID!\n"
+"                REF: Page 72, section 5.5\n"
+msgstr ""
+"      **FALLO**  %s debe ser 1284DeviceID.\n"
+"                REF: Página 72, sección 5.5\n"
+
+#, c-format
+msgid ""
+"      **FAIL**  BAD Default%s %s\n"
+"                REF: Page 40, section 4.5.\n"
+msgstr ""
+"      **FALLO**  Default%s %s incorrecto\n"
+"                REF: Página 40, sección 4.5.\n"
+
+#, c-format
+msgid ""
+"      **FAIL**  BAD DefaultImageableArea %s!\n"
+"                REF: Page 102, section 5.15.\n"
+msgstr ""
+"      **FALLO**  DefaultImageableArea %s incorrecto\n"
+"                REF: Página 102, sección 5.15.\n"
+
+#, c-format
+msgid ""
+"      **FAIL**  BAD DefaultPaperDimension %s!\n"
+"                REF: Page 103, section 5.15.\n"
+msgstr ""
+"      **FALLO**  DefaultPaperDimension %s incorrecto.\n"
+"                REF: Página 103, sección 5.15.\n"
+
+msgid ""
+"      **FAIL**  BAD JobPatchFile attribute in file\n"
+"                REF: Page 24, section 3.4.\n"
+msgstr ""
+"      **FALLO**  Atributo JobPatchFile en archivo, incorrecto\n"
+"                REF: Página 24, sección 3.4.\n"
+
+msgid ""
+"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
+"                REF: Page 211, table D.1.\n"
+msgstr ""
+"      **FALLO**  Fabricante INCORRECTO (debería ser \"HP\")\n"
+"                REF: Página 211, tabla D.1.\n"
+
+msgid ""
+"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
+"                REF: Page 211, table D.1.\n"
+msgstr ""
+"      **FALLO**  Fabricante INCORRECTO (debería ser \"Oki\")\n"
+"                REF: Página 211, tabla D.1.\n"
+
+#, c-format
+msgid ""
+"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
+"                REF: Pages 59-60, section 5.3.\n"
+msgstr ""
+"      **FALLO**  ModelName - \"%c\" incorrecto no permitido en la cadena.\n"
+"                REF: Páginas 59-60, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
+"                REF: Pages 62-64, section 5.3.\n"
+msgstr ""
+"      **FALLO**  PSVersion incorrecto- no es \"(string) int\".\n"
+"                REF: Páginas 62-64, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  BAD Product - not \"(string)\".\n"
+"                REF: Page 62, section 5.3.\n"
+msgstr ""
+"      **FALLO**  Product incorrecto - no es \"(string)\".\n"
+"                REF: Página 62, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
+"                REF: Pages 64-65, section 5.3.\n"
+msgstr ""
+"      **FALLO**  ShortNickName incorrecto - mayor de 31 caracteres.\n"
+"                REF: Páginas 64-65, sección 5.3.\n"
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad %s choice %s!\n"
+"                REF: Page 84, section 5.9\n"
+msgstr ""
+"      **FALLO**  Preferencia %s incorrecta %s.\n"
+"                REF: Página 84, sección 5.9\n"
+
+#, c-format
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1!\n"
+msgstr ""
+"      **FALLO**  LanguageEncoding %s incorrecto: debería ser ISOLatin1.\n"
+
+#, c-format
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English!\n"
+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"
+
+#, 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"
+
+#, 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"
+
+#, 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"
+
+#, c-format
+msgid "      **FAIL**  Multiple occurrences of %s choice name %s!\n"
+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"
+
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED Default%s\n"
+"                REF: Page 40, section 4.5.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA Default%s\n"
+"                REF: Página 40, sección 4.5.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED DefaultImageableArea\n"
+"                REF: Page 102, section 5.15.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA DefaultImageableArea\n"
+"                REF: Página 102, sección 5.15.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED DefaultPaperDimension\n"
+"                REF: Page 103, section 5.15.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA DefaultPaperDimension\n"
+"                REF: Página 103, sección 5.15.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED FileVersion\n"
+"                REF: Page 56, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA FileVersion\n"
+"                REF: Página 56, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED FormatVersion\n"
+"                REF: Page 56, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA FormatVersion\n"
+"                REF: Página 56, sección 5.3.\n"
+
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 102, section 5.15.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA ImageableArea para PageSize %s\n"
+"                REF: Página 41, sección 5.\n"
+"                REF: Página 102, sección 5.15.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED LanguageEncoding\n"
+"                REF: Pages 56-57, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA LanguageEncoding\n"
+"                REF: Páginas 56-57, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED LanguageVersion\n"
+"                REF: Pages 57-58, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA LanguageVersion\n"
+"                REF: Páginas 57-58, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED Manufacturer\n"
+"                REF: Pages 58-59, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA Manufacturer\n"
+"                REF: Páginas 58-59, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED ModelName\n"
+"                REF: Pages 59-60, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA ModelName\n"
+"                REF: Páginas 59-60, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED NickName\n"
+"                REF: Page 60, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA NickName\n"
+"                REF: Página 60, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED PCFileName\n"
+"                REF: Pages 61-62, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA PCFileName\n"
+"                REF: Páginas 61-62, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED PSVersion\n"
+"                REF: Pages 62-64, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA PSVersion\n"
+"                REF: Páginas 62-64, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED PageRegion\n"
+"                REF: Page 100, section 5.14.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA PageRegion\n"
+"                REF: Página 100, sección 5.14.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED PageSize\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 99, section 5.14.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA PageSize\n"
+"                REF: Página 41, sección 5.\n"
+"                REF: Página 99, sección 5.14.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED PageSize\n"
+"                REF: Pages 99-100, section 5.14.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA PageSize\n"
+"                REF: Páginas 99-100, sección 5.14.\n"
+
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 103, section 5.15.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA PaperDimension para PageSize %s\n"
+"                REF: Página 41, sección 5.\n"
+"                REF: Página 103, sección 5.15.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED Product\n"
+"                REF: Page 62, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA Product\n"
+"                REF: Página 62, sección 5.3.\n"
+
+msgid ""
+"      **FAIL**  REQUIRED ShortNickName\n"
+"                REF: Page 64-65, section 5.3.\n"
+msgstr ""
+"      **FALLO**  SE NECESITA ShortNickName\n"
+"                REF: Página 64-65, sección 5.3.\n"
+
+#, c-format
+msgid "    %d ERRORS FOUND\n"
+msgstr "    %d ERRORES ENCONTRADOS\n"
+
+#, c-format
+msgid ""
+"    Bad %%%%BoundingBox: on line %d!\n"
+"        REF: Page 39, %%%%BoundingBox:\n"
+msgstr ""
+"    %%%%BoundingBox: incorrecto en línea %d.\n"
+"        REF: Página 39, %%%%BoundingBox:\n"
+
+#, c-format
+msgid ""
+"    Bad %%%%Page: on line %d!\n"
+"        REF: Page 53, %%%%Page:\n"
+msgstr ""
+"    %%%%Page: incorrecto en línea %d.\n"
+"        REF: Página 53, %%%%Page:\n"
+
+#, c-format
+msgid ""
+"    Bad %%%%Pages: on line %d!\n"
+"        REF: Page 43, %%%%Pages:\n"
+msgstr ""
+"    %%%%Pages: incorrecto en línea %d.\n"
+"        REF: Página 43, %%%%Pages:\n"
+
+#, c-format
+msgid ""
+"    Line %d is longer than 255 characters (%d)!\n"
+"        REF: Page 25, Line Length\n"
+msgstr ""
+"    La línea %d es más larga de 255 caracteres (%d).\n"
+"        REF: Página 25, Longitud de Línea\n"
+
+msgid ""
+"    Missing %!PS-Adobe-3.0 on first line!\n"
+"        REF: Page 17, 3.1 Conforming Documents\n"
+msgstr ""
+"    Falta %!PS-Adobe-3.0 en la primera línea.\n"
+"        REF: Página 17, 3.1 Conformidad de documentos\n"
+
+#, c-format
+msgid ""
+"    Missing %%EndComments comment!\n"
+"        REF: Page 41, %%EndComments\n"
+msgstr ""
+"    Falta comentario %%EndComments.\n"
+"        REF: Página 41, %%EndComments\n"
+
+#, c-format
+msgid ""
+"    Missing or bad %%BoundingBox: comment!\n"
+"        REF: Page 39, %%BoundingBox:\n"
+msgstr ""
+"    Falta comentario %%BoundingBox: o incorrecto.\n"
+"        REF: Página 39, %%BoundingBox:\n"
+
+#, c-format
+msgid ""
+"    Missing or bad %%Page: comments!\n"
+"        REF: Page 53, %%Page:\n"
+msgstr ""
+"    Falta comentario %%Page: o incorrecto.\n"
+"        REF: Página 53, %%Page:\n"
+
+#, c-format
+msgid ""
+"    Missing or bad %%Pages: comment!\n"
+"        REF: Page 43, %%Pages:\n"
+msgstr ""
+"    Falta comentario %%Pages: o incorrecto.\n"
+"        REF: Página 43, %%Pages:\n"
+
+msgid "    NO ERRORS FOUND\n"
+msgstr "    NO SE HAN ENCONTRADO ERRORES\n"
+
+#, c-format
+msgid "    Saw %d lines that exceeded 255 characters!\n"
+msgstr "    Se han visto %d líneas que exceden de 255 caracteres.\n"
+
+#, c-format
+msgid "    Too many %%BeginDocument comments!\n"
+msgstr "    Demasiados comentarios %%BeginDocument.\n"
+
+#, c-format
+msgid "    Too many %%EndDocument comments!\n"
+msgstr "    Demasiados comentarios %%EndDocument.\n"
+
+msgid "    Warning: file contains binary data!\n"
+msgstr "    Advertencia: el archivo contiene datos binarios.\n"
+
+#, c-format
+msgid "    Warning: no %%EndComments comment in file!\n"
+msgstr "    Advertencia: no hay comentario %%EndComments en el archivo.\n"
+
+#, c-format
+msgid "    Warning: obsolete DSC version %.1f in file!\n"
+msgstr "    Advertencia: versión DSC %.1f obsoleta en el archivo.\n"
+
+msgid " FAIL\n"
+msgstr " FALLO\n"
+
+#, c-format
+msgid ""
+" FAIL\n"
+"      **FAIL**  Unable to open PPD file - %s\n"
+msgstr ""
+" FALLO\n"
+"      **FALLO**  No se ha podido abrir el archivo PPD - %s\n"
+
+#, c-format
+msgid ""
+" FAIL\n"
+"      **FAIL**  Unable to open PPD file - %s on line %d.\n"
+msgstr ""
+" FALLO\n"
+"      **FALLO**  No se ha podido abrir el archivo PPD - %s en la línea %d.\n"
+
+msgid " PASS\n"
+msgstr " PASA\n"
+
+msgid "#10 Envelope"
+msgstr "Sobre nº 10"
+
+msgid "#11 Envelope"
+msgstr "Sobre nº 11"
+
+msgid "#12 Envelope"
+msgstr "Sobre nº 12"
+
+msgid "#14 Envelope"
+msgstr "Sobre nº 14"
+
+msgid "#9 Envelope"
+msgstr "Sobre nº 9"
+
+#, c-format
+msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
+msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes\n"
+
+#, c-format
+msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
+msgstr "%-7s %-7.7s %-7d %-31.31s %.0f bytes\n"
+
+#, c-format
+msgid "%.0f x %.0f millimeters"
+msgstr "%.0f x %.0f milímetros"
+
+#, c-format
+msgid "%.0f x %.0f to %.0f x %.0f millimeters"
+msgstr "%.0f x %.0f a %.0f x %.0f milímetros"
+
+#, c-format
+msgid "%.2f x %.2f inches"
+msgstr "%.2f x %.2f pulgadas"
+
+#, c-format
+msgid "%.2f x %.2f to %.2f x %.2f inches"
+msgstr "%.2f x %.2f a %.2f x %.2f pulgadas"
+
+#, c-format
+msgid "%s accepting requests since %s\n"
+msgstr "%s aceptando peticiones desde %s\n"
+
+#, c-format
+msgid "%s cannot be changed."
+msgstr "%s no puede ser cambiado."
+
+#, c-format
+msgid "%s is not implemented by the CUPS version of lpc.\n"
+msgstr "%s no está implementado en la versión de CUPS de lpc.\n"
+
+#, c-format
+msgid "%s is not ready\n"
+msgstr "%s no está preparada\n"
+
+#, c-format
+msgid "%s is ready\n"
+msgstr "%s está preparada\n"
+
+#, c-format
+msgid "%s is ready and printing\n"
+msgstr "%s está preparada e imprimiendo\n"
+
+#, c-format
+msgid ""
+"%s not accepting requests since %s -\n"
+"\t%s\n"
+msgstr ""
+"%s no acepta peticiones desde %s -\n"
+"\t%s\n"
+
+#, c-format
+msgid "%s not supported!"
+msgstr "No se admite el uso de %s."
+
+#, c-format
+msgid "%s/%s accepting requests since %s\n"
+msgstr "%s/%s aceptando peticiones desde %s\n"
+
+#, c-format
+msgid ""
+"%s/%s not accepting requests since %s -\n"
+"\t%s\n"
+msgstr ""
+"%s/%s no acepta peticiones desde %s -\n"
+"\t%s\n"
+
+#, c-format
+msgid "%s: %-33.33s [job %d localhost]\n"
+msgstr "%s: %-33.33s [trabajo %d localhost]\n"
+
+#, c-format
+msgid "%s: %s failed: %s\n"
+msgstr "%s: %s ha fallado: %s\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid "%s: Error - bad job ID!\n"
+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"
+
+#, 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"
+
+#, c-format
+msgid "%s: Error - expected character set after '-S' option!\n"
+msgstr "%s: Error - se esperaba un juego de caracteres tras la opción '-S'.\n"
+
+#, c-format
+msgid "%s: Error - expected content type after '-T' option!\n"
+msgstr "%s: Error - se esperaba un tipo de contenido tras la opción '-T'.\n"
+
+#, c-format
+msgid "%s: Error - expected copies after '-n' option!\n"
+msgstr "%s: Error -  se esperaba número de copias tras la opción '-n'.\n"
+
+#, c-format
+msgid "%s: Error - expected copy count after '-#' option!\n"
+msgstr "%s: Error - se esperaba un número de copias tras la opción '-#'.\n"
+
+#, c-format
+msgid "%s: Error - expected destination after '-P' option!\n"
+msgstr "%s: Error - se esperaba un destino tras la opción '-P'.\n"
+
+#, c-format
+msgid "%s: Error - expected destination after '-b' option!\n"
+msgstr "%s: Error - se esperaba un destino tras la opción '-b'.\n"
+
+#, c-format
+msgid "%s: Error - expected destination after '-d' option!\n"
+msgstr "%s: Error -  se esperaba un destino tras la opción '-d'.\n"
+
+#, c-format
+msgid "%s: Error - expected form after '-f' option!\n"
+msgstr "%s: Error - se esperaba un formulario tras la opción '-f'.\n"
+
+#, c-format
+msgid "%s: Error - expected hold name after '-H' option!\n"
+msgstr "%s: Error - se esperaba un nombre de retención tras la opción '-H'.\n"
+
+#, c-format
+msgid "%s: Error - expected hostname after '-H' option!\n"
+msgstr "%s: Error - se esperaba un nombre de ordenador tras la opción '-H'.\n"
+
+#, c-format
+msgid "%s: Error - expected hostname after '-h' option!\n"
+msgstr "%s: Error - se esperaba un nombre de ordenador tras la opción '-h'.\n"
+
+#, c-format
+msgid "%s: Error - expected mode list after '-y' option!\n"
+msgstr "%s: Error - se esperaba una lista de modos tras la opción '-y'.\n"
+
+#, c-format
+msgid "%s: Error - expected name after '-%c' option!\n"
+msgstr "%s: Error - se esperaba un nombre tras la opción '%c'.\n"
+
+#, c-format
+msgid "%s: Error - expected option string after '-o' option!\n"
+msgstr "%s: Error - se esperaba una cadena de opciones tras la opción '-o'.\n"
+
+#, c-format
+msgid "%s: Error - expected page list after '-P' option!\n"
+msgstr "%s: Error - se esperaba una lista de páginas tras la opción '-P'.\n"
+
+#, c-format
+msgid "%s: Error - expected priority after '-%c' option!\n"
+msgstr "%s: Error - se esperaba un valor de prioridad tras la opción '-%c'.\n"
+
+#, c-format
+msgid "%s: Error - expected reason text after '-r' option!\n"
+msgstr "%s: Error - se esperaba un texto con una razón tras la opción '-r'.\n"
+
+#, c-format
+msgid "%s: Error - expected title after '-t' option!\n"
+msgstr "%s: Error - se esperaba un título tras la opción '-t'.\n"
+
+#, c-format
+msgid "%s: Error - expected username after '-U' option!\n"
+msgstr "%s: Error - se esperaba un nombre de usuario tras la opción '-U'.\n"
+
+#, c-format
+msgid "%s: Error - expected username after '-u' option!\n"
+msgstr "%s: Error - se esperaba un nombre de usuario tras la opción '-u'.\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid "%s: Error - no default destination available.\n"
+msgstr "%s: Error - destino predeterminado no disponible.\n"
+
+#, c-format
+msgid "%s: Error - priority must be between 1 and 100.\n"
+msgstr "%s: Error - la prioridad debe estar entre 1 y 100.\n"
+
+#, c-format
+msgid "%s: Error - scheduler not responding!\n"
+msgstr "%s: Error - el programa planificador de tareas no responde.\n"
+
+#, c-format
+msgid "%s: Error - too many files - \"%s\"\n"
+msgstr "%s: Error - demasiados archivos - \"%s\"\n"
+
+#, c-format
+msgid "%s: Error - unable to access \"%s\" - %s\n"
+msgstr "%s: Error - no se ha podido acceder a \"%s\" - %s\n"
+
+#, c-format
+msgid "%s: Error - unable to queue from stdin - %s\n"
+msgstr "%s: Error - no se ha podido poner en cola desde stdin - %s\n"
+
+#, c-format
+msgid "%s: Error - unknown destination \"%s\"!\n"
+msgstr "%s: Error - destino \"%s\" desconocido.\n"
+
+#, c-format
+msgid "%s: Error - unknown destination \"%s/%s\"!\n"
+msgstr "%s: Error - destino \"%s/%s\" desconocido.\n"
+
+#, c-format
+msgid "%s: Error - unknown option '%c'!\n"
+msgstr "%s: Error - opción '%c' desconocida.\n"
+
+#, c-format
+msgid "%s: Error - unknown option '%s'!\n"
+msgstr "%s: Error: opción '%s' desconocida.\n"
+
+#, c-format
+msgid "%s: Expected job ID after '-i' option!\n"
+msgstr "%s : Se esperaba una ID de trabajo tras la opción '-i'.\n"
+
+#, c-format
+msgid "%s: Filter \"%s\" not available: %s\n"
+msgstr "%s: Filtro \"%s\" no disponible: %s\n"
+
+#, c-format
+msgid "%s: Invalid destination name in list \"%s\"!\n"
+msgstr "%s: Nombre de destino no válido en la lista \"%s\".\n"
+
+#, c-format
+msgid "%s: Invalid filter string \"%s\"\n"
+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"
+
+#, c-format
+msgid "%s: No filter to convert from %s/%s to %s/%s!\n"
+msgstr "%s: No hay ningún filtro que convertir de %s/%s a %s/%s.\n"
+
+#, c-format
+msgid "%s: Operation failed: %s\n"
+msgstr "%s: La operación ha fallado: %s\n"
+
+#, c-format
+msgid "%s: Sorry, no encryption support compiled in!\n"
+msgstr "%s: Lo siento, no está compilado con la opción de encriptación.\n"
+
+#, c-format
+msgid "%s: Unable to connect to server\n"
+msgstr "%s: No se ha podido conectar al servidor\n"
+
+#, c-format
+msgid "%s: Unable to contact server!\n"
+msgstr "%s: No se ha podido contactar con el servidor.\n"
+
+#, c-format
+msgid "%s: Unable to determine MIME type of \"%s\"!\n"
+msgstr "%s: No se ha podido determinar el tipo MIME de \"%s\".\n"
+
+#, c-format
+msgid "%s: Unable to open %s - %s\n"
+msgstr "%s: No se pudo abrir %s - %s\n"
+
+#, c-format
+msgid "%s: Unable to open %s - %s on line %d.\n"
+msgstr "%s: No se pudo abrir %s - %s en línea %d.\n"
+
+#, c-format
+msgid "%s: Unable to open %s: %s\n"
+msgstr "%s: No se pudo abrir %s: %s\n"
+
+#, c-format
+msgid "%s: Unable to open PPD file: %s on line %d\n"
+msgstr "%s: No se pudo abrir archivo PPD: %s en línea %d\n"
+
+#, c-format
+msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"!\n"
+msgstr "%s: No se pudo leer base de datos MIME desde \"%s\" o \"%s\".\n"
+
+#, c-format
+msgid "%s: Unknown destination \"%s\"!\n"
+msgstr "%s: Destino \"%s\" desconocido.\n"
+
+#, c-format
+msgid "%s: Unknown destination MIME type %s/%s!\n"
+msgstr "%s: Tipo MIME de destino %s/%s desconocido.\n"
+
+#, c-format
+msgid "%s: Unknown option '%c'!\n"
+msgstr "%s: Opción '%c' desconocida.\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid "%s: Warning - character set option ignored!\n"
+msgstr "%s: Advertencia - opción de juego de caracteres no tenida en cuenta.\n"
+
+#, c-format
+msgid "%s: Warning - content type option ignored!\n"
+msgstr "%s: Advertencia - opción de tipo de contenido no tenida en cuenta.\n"
+
+#, c-format
+msgid "%s: Warning - form option ignored!\n"
+msgstr "%s: Advertencia - opción de formulario no tenida en cuenta.\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid "%s: error - expected option=value after '-o' option!\n"
+msgstr "%s: error - se esperaba opción=valor tras la opción '-o'.\n"
+
+#, c-format
+msgid "%s: error - no default destination available.\n"
+msgstr "%s: error - destino predeterminado no disponible.\n"
+
+msgid "-1"
+msgstr "-1"
+
+msgid "-10"
+msgstr "-10"
+
+msgid "-100"
+msgstr "-100"
+
+msgid "-105"
+msgstr "-105"
+
+msgid "-11"
+msgstr "-11"
+
+msgid "-110"
+msgstr "-110"
+
+msgid "-115"
+msgstr "-115"
+
+msgid "-12"
+msgstr "-12"
+
+msgid "-120"
+msgstr "-120"
+
+msgid "-13"
+msgstr "-13"
+
+msgid "-14"
+msgstr "-14"
+
+msgid "-15"
+msgstr "-15"
+
+msgid "-2"
+msgstr "-2"
+
+msgid "-20"
+msgstr "-20"
+
+msgid "-25"
+msgstr "-25"
+
+msgid "-3"
+msgstr "-3"
+
+msgid "-30"
+msgstr "-30"
+
+msgid "-35"
+msgstr "-35"
+
+msgid "-4"
+msgstr "-4"
+
+msgid "-40"
+msgstr "-40"
+
+msgid "-45"
+msgstr "-45"
+
+msgid "-5"
+msgstr "-5"
+
+msgid "-50"
+msgstr "-50"
+
+msgid "-55"
+msgstr "-55"
+
+msgid "-6"
+msgstr "-6"
+
+msgid "-60"
+msgstr "-60"
+
+msgid "-65"
+msgstr "-65"
+
+msgid "-7"
+msgstr "-7"
+
+msgid "-70"
+msgstr "-70"
+
+msgid "-75"
+msgstr "-75"
+
+msgid "-8"
+msgstr "-8"
+
+msgid "-80"
+msgstr "-80"
+
+msgid "-85"
+msgstr "-85"
+
+msgid "-9"
+msgstr "-9"
+
+msgid "-90"
+msgstr "-90"
+
+msgid "-95"
+msgstr "-95"
+
+msgid "0"
+msgstr "0"
+
+msgid "1"
+msgstr "1"
+
+msgid "1 inch/sec."
+msgstr "1 pulg./seg"
+
+msgid "1.25x0.25\""
+msgstr "1.25x0.25 pulg."
+
+msgid "1.25x2.25\""
+msgstr "1.25x2.25 pulg."
+
+msgid "1.5 inch/sec."
+msgstr "1.5 pulg./seg"
+
+msgid "1.50x0.25\""
+msgstr "1.50x0.25 pulg."
+
+msgid "1.50x0.50\""
+msgstr "1.50x0.50 pulg."
+
+msgid "1.50x1.00\""
+msgstr "1.50x1.00 pulg."
+
+msgid "1.50x2.00\""
+msgstr "1.50x2.00 pulg."
+
+msgid "10"
+msgstr "10"
+
+msgid "10 inches/sec."
+msgstr "10 pulg./seg"
+
+msgid "10 x 11\""
+msgstr "10 x 11 pulg."
+
+msgid "10 x 13\""
+msgstr "10 x 13 pulg."
+
+msgid "10 x 14\""
+msgstr "10 x 14 pulg."
+
+msgid "100"
+msgstr "100"
+
+msgid "100 mm/sec."
+msgstr "100 mm/seg"
+
+msgid "105"
+msgstr "105"
+
+msgid "11"
+msgstr "11"
+
+msgid "11 inches/sec."
+msgstr "11 pulg./seg"
+
+msgid "110"
+msgstr "110"
+
+msgid "115"
+msgstr "115"
+
+msgid "12"
+msgstr "12"
+
+msgid "12 inches/sec."
+msgstr "12 pulg./seg"
+
+msgid "12 x 11\""
+msgstr "12 x 11 pulg."
+
+msgid "120"
+msgstr "120"
+
+msgid "120 mm/sec."
+msgstr "120 mm/seg"
+
+msgid "120x60dpi"
+msgstr "120x60ppp"
+
+msgid "120x72dpi"
+msgstr "120x72ppp"
+
+msgid "13"
+msgstr "13"
+
+msgid "136dpi"
+msgstr "136ppp"
+
+msgid "14"
+msgstr "14"
+
+msgid "15"
+msgstr "15"
+
+msgid "15 mm/sec."
+msgstr "15 mm/seg"
+
+msgid "15 x 11\""
+msgstr "15 x 11 pulg."
+
+msgid "150 mm/sec."
+msgstr "150 mm/seg"
+
+msgid "150dpi"
+msgstr "150ppp"
+
+msgid "16"
+msgstr "16"
+
+msgid "17"
+msgstr "17"
+
+msgid "18"
+msgstr "18"
+
+msgid "180dpi"
+msgstr "180ppp"
+
+msgid "19"
+msgstr "19"
+
+msgid "2"
+msgstr "2"
+
+msgid "2 inches/sec."
+msgstr "2 pulg./seg"
+
+msgid "2-Sided Printing"
+msgstr "Dúplex"
+
+msgid "2.00x0.37\""
+msgstr "2.00x0.37 pulg."
+
+msgid "2.00x0.50\""
+msgstr "2.00x0.50 pulg."
+
+msgid "2.00x1.00\""
+msgstr "2.00x1.00 pulg."
+
+msgid "2.00x1.25\""
+msgstr "2.00x1.25 pulg."
+
+msgid "2.00x2.00\""
+msgstr "2.00x2.00 pulg."
+
+msgid "2.00x3.00\""
+msgstr "2.00x3.00 pulg."
+
+msgid "2.00x4.00\""
+msgstr "2.00x4.00 pulg."
+
+msgid "2.00x5.50\""
+msgstr "2.00x5.50 pulg."
+
+msgid "2.25x0.50\""
+msgstr "2.25x0.50 pulg."
+
+msgid "2.25x1.25\""
+msgstr "2.25x1.25 pulg."
+
+msgid "2.25x4.00\""
+msgstr "2.25x4.00 pulg."
+
+msgid "2.25x5.50\""
+msgstr "2.25x5.50 pulg."
+
+msgid "2.38x5.50\""
+msgstr "2.38x5.50 pulg."
+
+msgid "2.5 inches/sec."
+msgstr "2.5 pulg./seg"
+
+msgid "2.50x1.00\""
+msgstr "2.50x1.00 pulg."
+
+msgid "2.50x2.00\""
+msgstr "2.50x2.00 pulg."
+
+msgid "2.75x1.25\""
+msgstr "2.75x1.25 pulg."
+
+msgid "2.9 x 1\""
+msgstr "2.9 x 1 pulg."
+
+msgid "20"
+msgstr "20"
+
+msgid "20 mm/sec."
+msgstr "20 mm/seg"
+
+msgid "200 mm/sec."
+msgstr "200 mm/seg"
+
+msgid "203dpi"
+msgstr "203ppp"
+
+msgid "21"
+msgstr "21"
+
+msgid "22"
+msgstr "22"
+
+msgid "23"
+msgstr "23"
+
+msgid "24"
+msgstr "24"
+
+msgid "24-Pin Series"
+msgstr "24-Pin Series"
+
+msgid "240x72dpi"
+msgstr "240x72ppp"
+
+msgid "25"
+msgstr "25"
+
+msgid "250 mm/sec."
+msgstr "250 mm/seg"
+
+msgid "26"
+msgstr "26"
+
+msgid "27"
+msgstr "27"
+
+msgid "28"
+msgstr "28"
+
+msgid "29"
+msgstr "29"
+
+msgid "3"
+msgstr "3"
+
+msgid "3 inches/sec."
+msgstr "3 pulg./seg"
+
+msgid "3.00x1.00\""
+msgstr "3.00x1.00 pulg."
+
+msgid "3.00x1.25\""
+msgstr "3.00x1.25 pulg."
+
+msgid "3.00x2.00\""
+msgstr "3.00x2.00 pulg."
+
+msgid "3.00x3.00\""
+msgstr "3.00x3.00 pulg."
+
+msgid "3.00x5.00\""
+msgstr "3.00x5.00 pulg."
+
+msgid "3.25x2.00\""
+msgstr "3.25x2.00 pulg."
+
+msgid "3.25x5.00\""
+msgstr "3.25x5.00 pulg."
+
+msgid "3.25x5.50\""
+msgstr "3.25x5.50 pulg."
+
+msgid "3.25x5.83\""
+msgstr "3.25x5.83 pulg."
+
+msgid "3.25x7.83\""
+msgstr "3.25x7.83 pulg."
+
+msgid "3.5\" Disk"
+msgstr "Disco de 3.5 pulg."
+
+msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
+msgstr "Disco de 3.5 pulg. - 2 1/8 x 2 3/4 pulg."
+
+msgid "3.50x1.00\""
+msgstr "3.50x1.00 pulg."
+
+msgid "30"
+msgstr "30"
+
+msgid "30 mm/sec."
+msgstr "30 mm/seg"
+
+msgid "300 mm/sec."
+msgstr "300 mm/seg"
+
+msgid "300dpi"
+msgstr "300ppp"
+
+msgid "35"
+msgstr "35"
+
+msgid "360dpi"
+msgstr "360ppp"
+
+msgid "360x180dpi"
+msgstr "360x180ppp"
+
+msgid "4"
+msgstr "4"
+
+msgid "4 inches/sec."
+msgstr "4 pulg./seg"
+
+msgid "4.00x1.00\""
+msgstr "4.00x1.00 pulg."
+
+msgid "4.00x13.00\""
+msgstr "4.00x13.00 pulg."
+
+msgid "4.00x2.00\""
+msgstr "4.00x2.00 pulg."
+
+msgid "4.00x2.50\""
+msgstr "4.00x2.50 pulg."
+
+msgid "4.00x3.00\""
+msgstr "4.00x3.00 pulg."
+
+msgid "4.00x4.00\""
+msgstr "4.00x4.00 pulg."
+
+msgid "4.00x5.00\""
+msgstr "4.00x5.00 pulg."
+
+msgid "4.00x6.00\""
+msgstr "4.00x6.00 pulg."
+
+msgid "4.00x6.50\""
+msgstr "4.00x6.50 pulg."
+
+msgid "40"
+msgstr "40"
+
+msgid "40 mm/sec."
+msgstr "40 mm/seg"
+
+msgid "45"
+msgstr "45"
+
+msgid "5"
+msgstr "5"
+
+msgid "5 inches/sec."
+msgstr "5 pulg./seg"
+
+msgid "50"
+msgstr "50"
+
+msgid "55"
+msgstr "55"
+
+msgid "6"
+msgstr "6"
+
+msgid "6 inches/sec."
+msgstr "6 pulg./seg"
+
+msgid "6.00x1.00\""
+msgstr "6.00x1.00 pulg."
+
+msgid "6.00x2.00\""
+msgstr "6.00x2.00 pulg."
+
+msgid "6.00x3.00\""
+msgstr "6.00x3.00 pulg."
+
+msgid "6.00x4.00\""
+msgstr "6.00x4.00 pulg."
+
+msgid "6.00x5.00\""
+msgstr "6.00x5.00 pulg."
+
+msgid "6.00x6.00\""
+msgstr "6.00x6.00 pulg."
+
+msgid "6.00x6.50\""
+msgstr "6.00x6.50 pulg."
+
+msgid "60"
+msgstr "60"
+
+msgid "60 mm/sec."
+msgstr "60 mm/seg"
+
+msgid "600 DPI Grayscale"
+msgstr "600 PPP escala de grises"
+
+msgid "600dpi"
+msgstr "600ppp"
+
+msgid "60dpi"
+msgstr "60ppp"
+
+msgid "60x720dpi"
+msgstr "60x720ppp"
+
+msgid "65"
+msgstr "65"
+
+msgid "7"
+msgstr "7"
+
+msgid "7 inches/sec."
+msgstr "7 pulg./seg"
+
+msgid "7 x 9\""
+msgstr "7 x 9 pulg."
+
+msgid "70"
+msgstr "70"
+
+msgid "720dpi"
+msgstr "720ppp"
+
+msgid "75"
+msgstr "75"
+
+msgid "8"
+msgstr "8"
+
+msgid "8 inches/sec."
+msgstr "8 pulg./seg"
+
+msgid "8 x 10\""
+msgstr "8 x 10 pulg."
+
+msgid "8.00x1.00\""
+msgstr "8.00x1.00 pulg."
+
+msgid "8.00x2.00\""
+msgstr "8.00x2.00 pulg."
+
+msgid "8.00x3.00\""
+msgstr "8.00x3.00 pulg."
+
+msgid "8.00x4.00\""
+msgstr "8.00x4.00 pulg."
+
+msgid "8.00x5.00\""
+msgstr "8.00x5.00 pulg."
+
+msgid "8.00x6.00\""
+msgstr "8.00x6.00 pulg."
+
+msgid "8.00x6.50\""
+msgstr "8.00x6.50 pulg."
+
+msgid "80"
+msgstr "80"
+
+msgid "80 mm/sec."
+msgstr "80 mm/seg"
+
+msgid "85"
+msgstr "85"
+
+msgid "9"
+msgstr "9"
+
+msgid "9 inches/sec."
+msgstr "9 pulg./seg"
+
+msgid "9 x 11\""
+msgstr "9 x 11 pulg."
+
+msgid "9 x 12\""
+msgstr "9 x 12 pulg."
+
+msgid "9-Pin Series"
+msgstr "9-Pin Series"
+
+msgid "90"
+msgstr "90"
+
+msgid "95"
+msgstr "95"
+
+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."
+
+msgid "A Samba username is required to export printer drivers!"
+msgstr ""
+"Se requiere un nombre de usuario Samba para exportar los controladores de "
+"impresora."
+
+#, c-format
+msgid "A class named \"%s\" already exists!"
+msgstr "Ya existe una clase llamada \"%s\"."
+
+#, c-format
+msgid "A printer named \"%s\" already exists!"
+msgstr "Ya existe una impresora llamada \"%s\"."
+
+msgid "A0"
+msgstr "A0"
+
+msgid "A1"
+msgstr "A1"
+
+msgid "A10"
+msgstr "A10"
+
+msgid "A2"
+msgstr "A2"
+
+msgid "A3"
+msgstr "A3"
+
+msgid "A3 (Oversize)"
+msgstr "A3 (extragrande)"
+
+msgid "A4"
+msgstr "A4"
+
+msgid "A4 (Oversize)"
+msgstr "A4 (extragrande)"
+
+msgid "A4 (Small)"
+msgstr "A4 (pequeño)"
+
+msgid "A5"
+msgstr "A5"
+
+msgid "A5 (Oversize)"
+msgstr "A5 (extragrande)"
+
+msgid "A6"
+msgstr "A6"
+
+msgid "A7"
+msgstr "A7"
+
+msgid "A8"
+msgstr "A8"
+
+msgid "A9"
+msgstr "A9"
+
+msgid "ANSI A"
+msgstr "ANSI A"
+
+msgid "ANSI B"
+msgstr "ANSI B"
+
+msgid "ANSI C"
+msgstr "ANSI C"
+
+msgid "ANSI D"
+msgstr "ANSI D"
+
+msgid "ANSI E"
+msgstr "ANSI E"
+
+msgid "ARCH A"
+msgstr "ARCH A"
+
+msgid "ARCH B"
+msgstr "ARCH B"
+
+msgid "ARCH C"
+msgstr "ARCH C"
+
+msgid "ARCH D"
+msgstr "ARCH D"
+
+msgid "ARCH E"
+msgstr "ARCH E"
+
+msgid "Accept Jobs"
+msgstr "Aceptar trabajos"
+
+msgid "Accepted"
+msgstr "Aceptado"
+
+msgid "Add Class"
+msgstr "Añadir clase"
+
+msgid "Add Printer"
+msgstr "Añadir impresora"
+
+msgid "Add RSS Subscription"
+msgstr "Añadir subscripción RSS"
+
+msgid "Address"
+msgstr "Dirección"
+
+msgid "Address - 1 1/8 x 3 1/2\""
+msgstr "Dirección - 1 1/8 x 3 1/2 pulg."
+
+msgid "Administration"
+msgstr "Administración"
+
+msgid "Always"
+msgstr "Siempre"
+
+msgid "AppSocket/HP JetDirect"
+msgstr ""
+
+msgid "Applicator"
+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."
+
+#, c-format
+msgid "Attribute groups are out of order (%x < %x)!"
+msgstr "Los grupos de atributos están desordenados (%x < %x)."
+
+msgid "B0"
+msgstr "B0"
+
+msgid "B1"
+msgstr "B1"
+
+msgid "B10"
+msgstr "B10"
+
+msgid "B2"
+msgstr "B2"
+
+msgid "B3"
+msgstr "B3"
+
+msgid "B4"
+msgstr "B4"
+
+msgid "B5"
+msgstr "B5"
+
+msgid "B6"
+msgstr "B6"
+
+msgid "B7"
+msgstr "B7"
+
+msgid "B8"
+msgstr "B8"
+
+msgid "B9"
+msgstr "B9"
+
+msgid "Bad NULL dests pointer"
+msgstr "Puntero destino NULLincorrecto"
+
+msgid "Bad OpenGroup"
+msgstr "OpenGroup incorrecto"
+
+msgid "Bad OpenUI/JCLOpenUI"
+msgstr "OpenUI/JCLOpenUI incorrecto"
+
+msgid "Bad OrderDependency"
+msgstr "OrderDependency incorrecto"
+
+msgid "Bad Request"
+msgstr "Petición incorrecta"
+
+msgid "Bad SNMP version number"
+msgstr "Número de versión SNMP incorrecto"
+
+msgid "Bad UIConstraints"
+msgstr "UIConstraints incorrecto"
+
+#, c-format
+msgid "Bad copies value %d."
+msgstr "Valor de copias %d incorrecto."
+
+msgid "Bad custom parameter"
+msgstr "Parámetro a medida incorrecto"
+
+#, c-format
+msgid "Bad device URI \"%s\"!\n"
+msgstr "URI de dispositivoi \"%s\" incorrecto.\n"
+
+#, c-format
+msgid "Bad device-uri \"%s\"!"
+msgstr "device-uri \"%s\" incorrecto."
+
+#, c-format
+msgid "Bad device-uri scheme \"%s\"!"
+msgstr "Esquema device-uri \"%s\" incorrecto."
+
+#, c-format
+msgid "Bad document-format \"%s\"!"
+msgstr "document-format \"%s\" incorrecto."
+
+msgid "Bad filename buffer!"
+msgstr "Nombre de archivo del búfer incorrecto."
+
+#, c-format
+msgid "Bad font attribute: %s\n"
+msgstr "Atributo de fuente: %s incorrecto\n"
+
+msgid "Bad job-priority value!"
+msgstr "Valor job-priority incorrecto."
+
+#, c-format
+msgid "Bad job-sheets value \"%s\"!"
+msgstr "Valor de job-sheets \"%s\" incorrecto."
+
+msgid "Bad job-sheets value type!"
+msgstr "Tipo de valor de job-sheets incorrecto."
+
+msgid "Bad job-state value!"
+msgstr "Valor job-state incorrecto."
+
+#, c-format
+msgid "Bad job-uri attribute \"%s\"!"
+msgstr "Atributo job-uri \"%s\" incorrecto."
+
+#, c-format
+msgid "Bad notify-pull-method \"%s\"!"
+msgstr "notify-pull-method \"%s\" incorrecto."
+
+#, c-format
+msgid "Bad notify-recipient-uri URI \"%s\"!"
+msgstr "URI notify-recipient-uri \"%s\" incorrecto."
+
+#, c-format
+msgid "Bad number-up value %d."
+msgstr "Valor number-up (páginas por hoja) %d incorrecto."
+
+#, c-format
+msgid "Bad option + choice on line %d!"
+msgstr "Opción + preferencia incorrectas en línea %d."
+
+#, c-format
+msgid "Bad page-ranges values %d-%d."
+msgstr "Valores de page-ranges %d-%d incorrectos."
+
+#, c-format
+msgid "Bad port-monitor \"%s\"!"
+msgstr "port-monitor \"%s\" incorrecto."
+
+#, c-format
+msgid "Bad printer-state value %d!"
+msgstr "Valor printer-state %d incorrecto."
+
+#, c-format
+msgid "Bad request version number %d.%d!"
+msgstr "Petición incorrecta de número de versión %d.%d."
+
+msgid "Bad subscription ID!"
+msgstr "ID de subscripción incorrecto."
+
+msgid "Banners"
+msgstr "Rótulos"
+
+msgid "Billing Information: "
+msgstr "Información de facturación:"
+
+msgid "Bond Paper"
+msgstr "Papel de cartas"
+
+msgid "C0 Envelope"
+msgstr "Sobre C0"
+
+msgid "C1 Envelope"
+msgstr "Sobre C1"
+
+msgid "C2 Envelope"
+msgstr "Sobre C2"
+
+msgid "C3 Envelope"
+msgstr "Sobre C3"
+
+msgid "C4"
+msgstr "C4"
+
+msgid "C4 Envelope"
+msgstr "Sobre C4"
+
+msgid "C5"
+msgstr "C5"
+
+msgid "C5 Envelope"
+msgstr "Sobre C5"
+
+msgid "C6"
+msgstr "C6"
+
+msgid "C6 Envelope"
+msgstr "Sobre C6"
+
+msgid "C65 Envelope"
+msgstr "Sobre C65"
+
+msgid "C7 Envelope"
+msgstr "Sobre C7"
+
+msgid "CMYK"
+msgstr "CMYK"
+
+msgid "CPCL Label Printer"
+msgstr "Impresora de etiquetas CPCL"
+
+msgid "Cancel RSS Subscription"
+msgstr "Cancelar subscripción RSS"
+
+msgid "Change Settings"
+msgstr "Cambiar configuración"
+
+#, c-format
+msgid "Character set \"%s\" not supported!"
+msgstr "No se admite el uso del juego de caracteres \"%s\"."
+
+msgid "Chou3 Envelope"
+msgstr "Sobre Chou3"
+
+msgid "Chou4 Envelope"
+msgstr "Sobre Chou4"
+
+msgid "Classes"
+msgstr "Clases"
+
+msgid "Clean Print Heads"
+msgstr "Limpiar cabezales de impresión"
+
+msgid "Color"
+msgstr "Color"
+
+msgid "Color Mode"
+msgstr "Modo de color"
+
+msgid ""
+"Commands may be abbreviated.  Commands are:\n"
+"\n"
+"exit    help    quit    status  ?\n"
+msgstr ""
+"Los comandos se pueden abreviar.  Los comandos son:\n"
+"\n"
+"exit    help    quit    status  ?\n"
+
+msgid "Community name uses indefinite length"
+msgstr "Nombre de comunidad usa una longitud indefinida"
+
+msgid "Continue"
+msgstr "Continuar"
+
+msgid "Continuous"
+msgstr "Continuo"
+
+#, c-format
+msgid "Could not scan type \"%s\"!"
+msgstr "No se puede analizar el tipo \"%s\"."
+
+msgid "Cover open."
+msgstr "Cubierta abierta."
+
+msgid "Created"
+msgstr "Creado"
+
+msgid "Created On: "
+msgstr "Creado en:"
+
+msgid "Custom"
+msgstr "A medida"
+
+msgid "CustominCutInterval"
+msgstr "CustominCutInterval"
+
+msgid "CustominTearInterval"
+msgstr "CustominTearInterval"
+
+msgid "Cut"
+msgstr "Cortar"
+
+msgid "Cutter"
+msgstr "Cortadora"
+
+msgid "DL"
+msgstr "DL"
+
+msgid "DL Envelope"
+msgstr "Sobre DL"
+
+msgid "Dark"
+msgstr "Oscuro"
+
+msgid "Darkness"
+msgstr "Oscuridad"
+
+msgid "Delete Class"
+msgstr "Borrar clase"
+
+msgid "Delete Printer"
+msgstr "Borrar impresora"
+
+msgid "Description: "
+msgstr "Descripción:"
+
+msgid "DeskJet Series"
+msgstr "DeskJet Series"
+
+#, c-format
+msgid "Destination \"%s\" is not accepting jobs."
+msgstr "El destino %s no acepta trabajos."
+
+msgid "Developer almost empty."
+msgstr "Revelador casi vacío."
+
+msgid "Developer empty!"
+msgstr "Revelador vacío."
+
+#, c-format
+msgid ""
+"Device: uri = %s\n"
+"        class = %s\n"
+"        info = %s\n"
+"        make-and-model = %s\n"
+"        device-id = %s\n"
+"        location = %s\n"
+msgstr ""
+"Dispositivo: uri = %s\n"
+"        clase = %s\n"
+"        info = %s\n"
+"        marca y modelo = %s\n"
+"        id dispositivo= %s\n"
+"        ubicación = %s\n"
+
+msgid "Direct Thermal Media"
+msgstr "Soporte térmico directo"
+
+msgid "Disabled"
+msgstr "Deshabilitado"
+
+#, c-format
+msgid "Document %d not found in job %d."
+msgstr "No se encuentra el documento %d en el trabajo %d."
+
+msgid "Door open."
+msgstr "Puerta abierta."
+
+msgid "Double Postcard"
+msgstr "Postal doble"
+
+msgid "Driver Name: "
+msgstr "Nombre de controlador:"
+
+msgid "Driver Version: "
+msgstr "Versión de controlador:"
+
+msgid "Duplexer"
+msgstr "Unidad de impresión dúplex"
+
+msgid "Dymo"
+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"
+
+#, 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"
+
+msgid "EPL1 Label Printer"
+msgstr "Impresora de etiquetas EPL1"
+
+msgid "EPL2 Label Printer"
+msgstr "Impresora de etiquetas EPL2"
+
+#, c-format
+msgid "ERROR: Bad %%BoundingBox: comment seen!\n"
+msgstr "ERROR: Se ha detectado un comentario %%BoundingBox: incorrecto.\n"
+
+#, c-format
+msgid "ERROR: Bad %%IncludeFeature: comment!\n"
+msgstr "ERROR: Comentario %%IncludeFeature: incorrecto.\n"
+
+#, c-format
+msgid "ERROR: Bad %%Page: comment in file!\n"
+msgstr "ERROR: Comentario %%Page: incorrecto en el archivo.\n"
+
+#, c-format
+msgid "ERROR: Bad %%PageBoundingBox: comment in file!\n"
+msgstr "ERROR: Comentario %%PageBoundingBox: incorrecto en el archivo.\n"
+
+#, c-format
+msgid "ERROR: Bad SCSI device file \"%s\"!\n"
+msgstr "ERROR: archivo de dispositivo SCSI \"%s\" incorrecto.\n"
+
+#, c-format
+msgid "ERROR: Bad charset file %s\n"
+msgstr "ERROR: Archivo de juego de caracteres incorrecto %s\n"
+
+#, c-format
+msgid "ERROR: Bad charset type %s\n"
+msgstr "ERROR: Tipo de juego de caracteres incorrecto %s\n"
+
+#, c-format
+msgid "ERROR: Bad columns value %d!\n"
+msgstr "ERROR: Valor de columnas %d incorrecto.\n"
+
+#, c-format
+msgid "ERROR: Bad cpi value %f!\n"
+msgstr "ERROR: Valor de cpi %f incorrecto.\n"
+
+#, c-format
+msgid "ERROR: Bad font description line: %s\n"
+msgstr "ERROR: Línea de descripción tipográfica incorrecta: %s\n"
+
+#, c-format
+msgid "ERROR: Bad lpi value %f!\n"
+msgstr "ERROR: Valor de lpi %f incorrecto.\n"
+
+msgid "ERROR: Bad page setup!\n"
+msgstr "ERROR: Ajuste de página incorrecto.\n"
+
+#, c-format
+msgid "ERROR: Bad text direction %s\n"
+msgstr "ERROR: Dirección de texto incorrecta %s\n"
+
+#, c-format
+msgid "ERROR: Bad text width %s\n"
+msgstr "ERROR: Anchura de texto incorrecta %s\n"
+
+msgid "ERROR: Destination printer does not exist!\n"
+msgstr "ERROR: La impresora destino no existe.\n"
+
+#, c-format
+msgid "ERROR: Duplicate %%BoundingBox: comment seen!\n"
+msgstr "ERROR: Se ha detectado un comentario %%BoundingBox: duplicado.\n"
+
+#, c-format
+msgid "ERROR: Duplicate %%Pages: comment seen!\n"
+msgstr "ERROR: Se ha detectado un comentario %%Pages: duplicado.\n"
+
+msgid "ERROR: Empty print file!\n"
+msgstr "ERROR: Archivo de impresión vacío.\n"
+
+#, c-format
+msgid "ERROR: Error %d sending PAPSendData request: %s\n"
+msgstr "ERROR: Error %d enviando petición PAPSendData: %s\n"
+
+#, c-format
+msgid "ERROR: Expected quoted string on line %d of %s!\n"
+msgstr "ERROR: Se esperaba una cadena entrecomillada en la línea %d de %s.\n"
+
+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"
+
+#, c-format
+msgid "ERROR: Missing %%EndProlog!\n"
+msgstr "ERROR: Falta %%EndProlog.\n"
+
+#, c-format
+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"
+
+#, 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"
+
+#, c-format
+msgid "ERROR: No %%BoundingBox: comment in header!\n"
+msgstr "ERROR: No hay comentario %%BoundingBox: en la cabecera.\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid "ERROR: No fonts in charset file %s\n"
+msgstr "ERROR: No hay fuentes en el archivo de juego de caracteres %s\n"
+
+msgid "ERROR: No pages found!\n"
+msgstr "ERROR: No se han encontrado páginas.\n"
+
+msgid "ERROR: Out of paper!\n"
+msgstr "ERROR: No hay papel.\n"
+
+msgid "ERROR: PRINTER environment variable not defined!\n"
+msgstr "ERROR: Variable de entorno PRINTER no definida.\n"
+
+#, c-format
+msgid "ERROR: Print file was not accepted (%s)!\n"
+msgstr "ERROR: No se ha aceptado la impresión del archivo (%s).\n"
+
+msgid "ERROR: Printer not responding\n"
+msgstr "ERROR: La impresora no responde\n"
+
+msgid "ERROR: Printer not responding!\n"
+msgstr "ERROR: La impresora no responde.\n"
+
+msgid "ERROR: Printer sent unexpected EOF\n"
+msgstr "ERROR: La impresora envió un inesperado EOF\n"
+
+#, c-format
+msgid "ERROR: Remote host did not accept control file (%d)\n"
+msgstr "ERROR: El ordenador remoto no ha aceptado el archivo de control (%d)\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid "ERROR: Unable to add file %d to job: %s\n"
+msgstr "ERROR: No se ha podido añadir el archivo %d al trabajo: %s\n"
+
+#, c-format
+msgid "ERROR: Unable to cancel job %d: %s\n"
+msgstr "ERROR: No se ha podido cancelar el trabajo %d: %s\n"
+
+msgid "ERROR: Unable to copy PDF file"
+msgstr "ERROR: No se ha podido copiar el archivo PDF"
+
+msgid "ERROR: Unable to create socket"
+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"
+
+msgid "ERROR: Unable to create temporary file"
+msgstr "ERROR: No se ha podido crear el archivo temporal"
+
+#, c-format
+msgid "ERROR: Unable to create temporary file - %s.\n"
+msgstr "ERROR: No se ha podido crear el archivo temporal - %s.\n"
+
+#, c-format
+msgid "ERROR: Unable to create temporary file: %s\n"
+msgstr "ERROR: No se ha podido crear el archivo temporal: %s\n"
+
+#, c-format
+msgid "ERROR: Unable to exec pictwpstops: %s\n"
+msgstr "ERROR: No se ha podido ejecutar pictwpstops: %s\n"
+
+msgid "ERROR: Unable to execute gs program"
+msgstr "ERROR: No se ha podido ejecutar el programa gs"
+
+msgid "ERROR: Unable to execute pdftops program"
+msgstr "ERROR: No se ha podido ejecutar el programa pdftops"
+
+#, c-format
+msgid "ERROR: Unable to fork pictwpstops: %s\n"
+msgstr "ERROR: No se ha podido bifurcar (fork) pictwpstops: %s\n"
+
+msgid "ERROR: Unable to get PAP request"
+msgstr "ERROR: No se ha podido obtener una petición PAP"
+
+msgid "ERROR: Unable to get PAP response"
+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"
+
+msgid "ERROR: Unable to get default AppleTalk zone"
+msgstr "ERROR: No se ha podido conseguir la zona AppleTalk predeterminada"
+
+#, c-format
+msgid "ERROR: Unable to get job %d attributes (%s)!\n"
+msgstr "ERROR: No se han podido obtener los atributos del trabajo %d (%s).\n"
+
+#, c-format
+msgid "ERROR: Unable to get printer status (%s)!\n"
+msgstr "ERROR: No se ha podido obtener el estado de la impresora (%s).\n"
+
+#, c-format
+msgid "ERROR: Unable to locate printer '%s'!\n"
+msgstr "ERROR: No se ha podido localizar la impresora '%s'.\n"
+
+msgid "ERROR: Unable to look for PAP response"
+msgstr "ERROR: No se ha podido buscar una respuesta PAP"
+
+msgid "ERROR: Unable to lookup AppleTalk printers"
+msgstr "ERROR: No se han podido mirar las impresoras AppleTalk"
+
+msgid "ERROR: Unable to make AppleTalk address"
+msgstr "ERROR: No se ha podido crear la dirección AppleTalk"
+
+#, c-format
+msgid "ERROR: Unable to open \"%s\" - %s\n"
+msgstr "ERROR: No se ha podido abrir \"%s\" - %s\n"
+
+#, c-format
+msgid "ERROR: Unable to open %s: %s\n"
+msgstr "ERROR: No se ha podido abrir %s: %s\n"
+
+#, c-format
+msgid "ERROR: Unable to open banner file \"%s\" - %s\n"
+msgstr "ERROR: No se ha podido abrir el archivo de rótulo \"%s\" - %s\n"
+
+#, c-format
+msgid "ERROR: Unable to open device file \"%s\": %s\n"
+msgstr "ERROR: No se ha podido abrir el archivo de dispositivo \"%s\": %s\n"
+
+#, c-format
+msgid "ERROR: Unable to open file \"%s\" - %s\n"
+msgstr "ERROR: No se ha podido abrir el archivo \"%s\" - %s\n"
+
+#, c-format
+msgid "ERROR: Unable to open file \"%s\": %s\n"
+msgstr "ERROR: No se ha podido abrir el archivo \"%s\": %s\n"
+
+msgid "ERROR: Unable to open image file for printing!\n"
+msgstr "ERROR: No se ha podido abrir el archivo de imagen para imprimirlo.\n"
+
+#, c-format
+msgid "ERROR: Unable to open print file \"%s\": %s\n"
+msgstr "ERROR: No se ha podido abrir el archivo de impresión \"%s\": %s\n"
+
+#, c-format
+msgid "ERROR: Unable to open print file %s - %s\n"
+msgstr "ERROR: No se ha podido abrir el archivo de impresión %s - %s\n"
+
+#, c-format
+msgid "ERROR: Unable to open print file %s: %s\n"
+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"
+
+msgid "ERROR: Unable to open temporary file"
+msgstr "ERROR: No se ha podido abrir el archivo temporal"
+
+#, c-format
+msgid "ERROR: Unable to print %d text columns!\n"
+msgstr "ERROR: No se ha podido imprimir %d columnas de texto.\n"
+
+#, c-format
+msgid "ERROR: Unable to print %dx%d text page!\n"
+msgstr "ERROR: No se ha podido imprimir %dx%d páginas de texto.\n"
+
+msgid "ERROR: Unable to read print data"
+msgstr "ERROR: No se han podido leer los datos de impresión"
+
+msgid "ERROR: Unable to read print data!\n"
+msgstr "ERROR: No se han podido leer los datos de impresión.\n"
+
+msgid "ERROR: Unable to reserve port"
+msgstr "ERROR: No se ha podido reservar puerto"
+
+#, c-format
+msgid "ERROR: Unable to seek to offset %ld in file - %s\n"
+msgstr "ERROR: No se ha podido alcanzar la posición %ld en el archivo - %s\n"
+
+#, c-format
+msgid "ERROR: Unable to seek to offset %lld in file - %s\n"
+msgstr "ERROR: No se ha podido alcanzar la posición %lld en el archivo - %s\n"
+
+msgid "ERROR: Unable to send LPD command"
+msgstr "ERROR: No se ha podido enviar comando LPD"
+
+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"
+
+#, c-format
+msgid "ERROR: Unable to send print data (%d)\n"
+msgstr "ERROR: No se han podido enviar los datos de impresión (%d)\n"
+
+msgid "ERROR: Unable to send print data!\n"
+msgstr "ERROR: No se han podido enviar los datos de impresión.\n"
+
+msgid "ERROR: Unable to send print file to printer"
+msgstr "ERROR: No se ha podido imprimir el archivo en la impresora"
+
+msgid "ERROR: Unable to send trailing nul to printer"
+msgstr "ERROR: No se ha podido enviar carácter nulo del final a la impresora"
+
+#, c-format
+msgid "ERROR: Unable to wait for pictwpstops: %s\n"
+msgstr "ERROR: No se puede esperar por pictwpstops: %s\n"
+
+#, c-format
+msgid "ERROR: Unable to write %d bytes to \"%s\": %s\n"
+msgstr "ERROR: No se han podido escribir %d bytes a \"%s\": %s\n"
+
+#, c-format
+msgid "ERROR: Unable to write %d bytes to printer!\n"
+msgstr "ERROR: No se han podido escribir %d bytes a la impresora.\n"
+
+msgid "ERROR: Unable to write control file"
+msgstr "ERROR: No se ha podido escribir el archivo de control"
+
+msgid "ERROR: Unable to write print data"
+msgstr "ERROR: No se han podido escribir los datos de impresión"
+
+#, c-format
+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"
+
+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"
+
+#, c-format
+msgid "ERROR: Unexpected text on line %d of %s!\n"
+msgstr "ERROR: Texto inesperado en la línea %d del %s.\n"
+
+#, c-format
+msgid "ERROR: Unknown encryption option value \"%s\"!\n"
+msgstr "ERROR: Valor de opción de encriptación \"%s\" desconocida.\n"
+
+#, c-format
+msgid "ERROR: Unknown file order \"%s\"\n"
+msgstr "ERROR: Orden de archivos \"%s\" desconocido\n"
+
+#, c-format
+msgid "ERROR: Unknown format character \"%c\"\n"
+msgstr "ERROR: Carácter de formato \"%c\" desconocido\n"
+
+#, c-format
+msgid "ERROR: Unknown message catalog format for \"%s\"!\n"
+msgstr "ERROR: Formato del catálogo de mensajes para \"%s\" desconocido.\n"
+
+#, c-format
+msgid "ERROR: Unknown option \"%s\" with value \"%s\"!\n"
+msgstr "ERROR: Opción \"%s\" con valor \"%s\" desconocida.\n"
+
+#, c-format
+msgid "ERROR: Unknown print mode \"%s\"\n"
+msgstr "ERROR: Modo de impresión \"%s\" desconocido\n"
+
+#, c-format
+msgid "ERROR: Unknown version option value \"%s\"!\n"
+msgstr "ERROR: Valor de opción de versión \"%s\" desconocida.\n"
+
+#, c-format
+msgid "ERROR: Unsupported brightness value %s, using brightness=100!\n"
+msgstr "ERROR: Valor de brillo %s no permitido; usando brillo=100.\n"
+
+#, c-format
+msgid "ERROR: Unsupported gamma value %s, using gamma=1000!\n"
+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"
+
+#, 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"
+
+#, 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"
+
+#, 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"
+
+#, c-format
+msgid "ERROR: pdftops filter crashed on signal %d!\n"
+msgstr "ERROR: filtro pdftops se ha colgado con la señal %d.\n"
+
+#, c-format
+msgid "ERROR: pdftops filter exited with status %d!\n"
+msgstr "ERROR: filtro pdftops se ha cerrado con el estado %d.\n"
+
+#, c-format
+msgid "ERROR: pictwpstops exited on signal %d!\n"
+msgstr "ERROR: pictwpstops se ha cerrado con la señal %d.\n"
+
+#, c-format
+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: select() failed"
+msgstr "ERROR: select() ha fallado"
+
+msgid "ERROR: unable to stat print file"
+msgstr "ERROR: no se ha podido ejecutar 'stat' sobre el archivo de impresión"
+
+msgid "Edit Configuration File"
+msgstr "Editar archivo de configuración"
+
+msgid "Empty PPD file!"
+msgstr "Archivo PPD vacío."
+
+msgid "Ending Banner"
+msgstr "Rótulo final"
+
+msgid "Enter old password:"
+msgstr "Introduzca la contraseña antigua:"
+
+msgid "Enter password again:"
+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 "Envelope Feed"
+msgstr "Alimentador de sobre"
+
+msgid "Epson"
+msgstr "Epson"
+
+msgid "Error Policy"
+msgstr "Directiva de error"
+
+msgid "Error: need hostname after '-h' option!\n"
+msgstr "Error: se necesita un nombre de ordenador tras la opción '-h'.\n"
+
+msgid "Every 10 Labels"
+msgstr "Cada 10 etiquetas"
+
+msgid "Every 2 Labels"
+msgstr "Cada 2 etiquetas"
+
+msgid "Every 3 Labels"
+msgstr "Cada 3 etiquetas"
+
+msgid "Every 4 Labels"
+msgstr "Cada 4 etiquetas"
+
+msgid "Every 5 Labels"
+msgstr "Cada 5 etiquetas"
+
+msgid "Every 6 Labels"
+msgstr "Cada 6 etiquetas"
+
+msgid "Every 7 Labels"
+msgstr "Cada 7 etiquetas"
+
+msgid "Every 8 Labels"
+msgstr "Cada 8 etiquetas"
+
+msgid "Every 9 Labels"
+msgstr "Cada 9 etiquetas"
+
+msgid "Every Label"
+msgstr "Cada etiqueta"
+
+msgid "Expectation Failed"
+msgstr "Lo que se esperaba, falló."
+
+msgid "Export Printers to Samba"
+msgstr "Exportar impresoras a Samba"
+
+msgid "FAIL\n"
+msgstr "FALLO\n"
+
+msgid "File Folder"
+msgstr "Carpeta de archivos"
+
+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 "Folio"
+msgstr "Folio"
+
+msgid "Forbidden"
+msgstr "Prohibido"
+
+msgid "Fuser temperature high!"
+msgstr "Temperatura del fusor alta."
+
+msgid "Fuser temperature low!"
+msgstr "Temperatura del fusor baja."
+
+msgid "General"
+msgstr "General"
+
+msgid "Generic"
+msgstr "Genérico"
+
+msgid "German FanFold"
+msgstr "FanFold alemán"
+
+msgid "German FanFold Legal"
+msgstr "FanFold Legal alemán"
+
+msgid "Get-Response-PDU uses indefinite length"
+msgstr "Get-Response-PDU usa una longitud indefinida"
+
+msgid "Glossy Paper"
+msgstr "Papel satinado"
+
+msgid "Got a printer-uri attribute but no job-id!"
+msgstr "Se ha obtenido el atributo printer-uri pero no el job-id."
+
+msgid "Grayscale"
+msgstr "Escale de grises"
+
+msgid "HP"
+msgstr "HP"
+
+msgid "Hanging Folder"
+msgstr "Carpeta colgante"
+
+msgid "Hanging Folder - 9/16 x 2\""
+msgstr "Carpeta colgante - 9/16 x 2 pulg."
+
+msgid "INFO: AppleTalk disabled in System Preferences\n"
+msgstr "INFO: AppleTalk desactivado en Preferencias del sistema\n"
+
+msgid "INFO: AppleTalk disabled in System Preferences.\n"
+msgstr "INFO: AppleTalk desactivado en Preferencias del sistema.\n"
+
+msgid "INFO: Canceling print job...\n"
+msgstr "INFO: Cancelando trabajo de impresión...\n"
+
+msgid "INFO: Connected to printer...\n"
+msgstr ""
+
+msgid "INFO: Connecting to printer...\n"
+msgstr ""
+
+msgid "INFO: Control file sent successfully\n"
+msgstr "INFO: Archivo de control enviado correctamente\n"
+
+msgid "INFO: Data file sent successfully\n"
+msgstr "INFO: Archivo de datos enviado correctamente\n"
+
+#, c-format
+msgid "INFO: Formatting page %d...\n"
+msgstr "INFO: Formateando página %d...\n"
+
+msgid "INFO: Loading image file...\n"
+msgstr "INFO: Cargando archivo de imagen...\n"
+
+msgid "INFO: Looking for printer...\n"
+msgstr ""
+
+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"
+
+msgid "INFO: Printer busy; will retry in 10 seconds...\n"
+msgstr "INFO: Impresora ocupada; reintento en 10 segundos...\n"
+
+msgid "INFO: Printer busy; will retry in 30 seconds...\n"
+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"
+
+msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
+msgstr "INFO: La impresora está ocupada; reintento en 5 segundos...\n"
+
+msgid "INFO: Printer is currently off-line.\n"
+msgstr "INFO: La impresora está actualmente fuera de línea.\n"
+
+msgid "INFO: Printer is currently offline.\n"
+msgstr "INFO: La impresora está sin conexión en estos momentos.\n"
+
+msgid "INFO: Printer is now online.\n"
+msgstr "INFO: La impresora ya tiene conexión.\n"
+
+msgid "INFO: Printer is offline.\n"
+msgstr "INFO: La impresora está sin conexión.\n"
+
+msgid "INFO: Printer not connected; will retry in 30 seconds...\n"
+msgstr "INFO: Impresora no conectada; reintento en 30 segundos...\n"
+
+#, c-format
+msgid "INFO: Printing page %d, %d%% complete...\n"
+msgstr "INFO: Imprimiendo página %d, %d%% completado...\n"
+
+#, c-format
+msgid "INFO: Printing page %d...\n"
+msgstr "INFO: Imprimiendo página %d...\n"
+
+msgid "INFO: Ready to print.\n"
+msgstr "INFO: Lista para imprimir.\n"
+
+#, c-format
+msgid "INFO: Sending control file (%lu bytes)\n"
+msgstr "INFO: Enviando archivo de control (%lu bytes)\n"
+
+#, c-format
+msgid "INFO: Sending control file (%u bytes)\n"
+msgstr "INFO: Enviando archivo de control (%u bytes)\n"
+
+msgid "INFO: Sending data\n"
+msgstr "INFO: Enviando datos\n"
+
+#, c-format
+msgid "INFO: Sending data file (%ld bytes)\n"
+msgstr "INFO: Enviando archivo de datos (%ld bytes)\n"
+
+#, c-format
+msgid "INFO: Sending data file (%lld bytes)\n"
+msgstr "INFO: Enviando archivo de datos (%lld bytes)\n"
+
+msgid "INFO: Sending print data...\n"
+msgstr "INFO: Enviando datos de impresión...\n"
+
+#, c-format
+msgid "INFO: Sent print file, %ld bytes...\n"
+msgstr "INFO: Archivo de impresión enviado, %ld bytes...\n"
+
+#, c-format
+msgid "INFO: Sent print file, %lld bytes...\n"
+msgstr "INFO: Archivo de impresión enviado, %lld bytes...\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid "INFO: Using default AppleTalk zone \"%s\"\n"
+msgstr "INFO: Usando zona AppleTalk predeterminada \"%s\"\n"
+
+msgid "INFO: Waiting for job to complete...\n"
+msgstr "INFO: Esperando a que finalice el trabajo...\n"
+
+msgid "INFO: Waiting for printer to become available...\n"
+msgstr "INFO: Esperando a que la impresora esté disponible...\n"
+
+msgid "ISO B0"
+msgstr "ISO B0"
+
+msgid "ISO B1"
+msgstr "ISO B1"
+
+msgid "ISO B10"
+msgstr "ISO B10"
+
+msgid "ISO B2"
+msgstr "ISO B2"
+
+msgid "ISO B3"
+msgstr "ISO B3"
+
+msgid "ISO B4"
+msgstr "ISO B4"
+
+msgid "ISO B4 Envelope"
+msgstr "Sobre ISO B4"
+
+msgid "ISO B5"
+msgstr "ISO B5"
+
+msgid "ISO B5 (Oversize)"
+msgstr "ISO B5 (extragrande)"
+
+msgid "ISO B5 Envelope"
+msgstr "Sobre ISO B5"
+
+msgid "ISO B6"
+msgstr "ISO B6"
+
+msgid "ISO B6 Envelope"
+msgstr "Sobre ISO B6"
+
+msgid "ISO B7"
+msgstr "ISO B7"
+
+msgid "ISO B8"
+msgstr "ISO B8"
+
+msgid "ISO B9"
+msgstr "ISO B9"
+
+msgid "Illegal control character"
+msgstr "Carácter de control ilegal"
+
+msgid "Illegal main keyword string"
+msgstr "Cadena de clave principal ilegal"
+
+msgid "Illegal option keyword string"
+msgstr "Cadena de clave de opción ilegal"
+
+msgid "Illegal translation string"
+msgstr "Cadena de traducción ilegal"
+
+msgid "Illegal whitespace character"
+msgstr "Carácter de espacio en blanco ilegal"
+
+msgid "Ink/toner almost empty."
+msgstr "Tinta/toner casi vacíos."
+
+msgid "Ink/toner empty!"
+msgstr "Tinta/toner vacíos."
+
+msgid "Ink/toner waste bin almost full."
+msgstr "Recipiente de residuos de tinta/tóner casi lleno."
+
+msgid "Ink/toner waste bin full!"
+msgstr "Recipiente de residuos de tinta/tóner lleno."
+
+msgid "Installable Options"
+msgstr "Opciones instalables"
+
+msgid "Installed"
+msgstr "Instalada"
+
+msgid "IntelliBar Label Printer"
+msgstr "Impresora de etiquetas IntelliBar"
+
+msgid "Intellitech"
+msgstr "Intellitech"
+
+msgid "Interlock open."
+msgstr "Dispositivo de seguridad abierto."
+
+msgid "Internal error"
+msgstr "Error interno"
+
+msgid "Internet Postage 2-Part"
+msgstr "Correo por Internet Parte-2"
+
+msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
+msgstr "Correo por Internet Parte-2 - 2 1/4 x 7 1/2 pulg."
+
+msgid "Internet Postage 3-Part"
+msgstr "Correo por Internet Parte-3"
+
+msgid "Internet Postage 3-Part - 2 1/4 x 7\""
+msgstr "Correo por Internet Parte-3 - 2 1/4 x 7 pulg."
+
+msgid "Internet Printing Protocol"
+msgstr ""
+
+msgid "Invite Envelope"
+msgstr "Sobre de invitación"
+
+msgid "Italian Envelope"
+msgstr "Sobre Italiano"
+
+msgid "JCL"
+msgstr "JCL"
+
+#, c-format
+msgid "Job #%d cannot be restarted - no files!"
+msgstr "El trabajo #%d no puede ser reiniciado - no hay archivos."
+
+#, c-format
+msgid "Job #%d does not exist!"
+msgstr "El trabajo #%d no existe."
+
+#, c-format
+msgid "Job #%d is already aborted - can't cancel."
+msgstr "El trabajo #%d ya está anulado - no se puede cancelar."
+
+#, c-format
+msgid "Job #%d is already canceled - can't cancel."
+msgstr "El trabajo #%d ya está cancelado - no se puede cancelar."
+
+#, c-format
+msgid "Job #%d is already completed - can't cancel."
+msgstr "El trabajo #%d ya ha sido completado - no se puede cancelar."
+
+#, c-format
+msgid "Job #%d is finished and cannot be altered!"
+msgstr "El trabajo #%d ha terminado y no puede ser modificado."
+
+#, c-format
+msgid "Job #%d is not complete!"
+msgstr "El trabajo #%d no ha sido completado."
+
+#, c-format
+msgid "Job #%d is not held for authentication!"
+msgstr "El trabajo #%d no está retenido para autentificación."
+
+#, c-format
+msgid "Job #%d is not held!"
+msgstr "El trabajo #%d no está retenido."
+
+#, c-format
+msgid "Job #%s does not exist!"
+msgstr "El trabajo #%s no existe."
+
+#, c-format
+msgid "Job %d not found!"
+msgstr "No se ha encontrado el trabajo %d."
+
+msgid "Job Completed"
+msgstr "Trabajo completado"
+
+msgid "Job Created"
+msgstr "Trabajo creado"
+
+msgid "Job ID: "
+msgstr "ID del trabajo: "
+
+msgid "Job Options Changed"
+msgstr "Opciones de trabajo cambiadas"
+
+msgid "Job Stopped"
+msgstr "Trabajo detenido"
+
+msgid "Job UUID: "
+msgstr "UUID de trabajo:"
+
+msgid "Job is completed and cannot be changed."
+msgstr "El trabajo está terminado y no puede ser cambiado."
+
+msgid "Job operation failed:"
+msgstr "La operación del trabajo ha fallado:"
+
+msgid "Job state cannot be changed."
+msgstr "No se puede cambiar el estado del trabajo."
+
+msgid "Job subscriptions cannot be renewed!"
+msgstr "Las suscripciones de trabajos no han podido ser renovadas."
+
+msgid "Jobs"
+msgstr "Trabajos"
+
+msgid "Kaku2 Envelope"
+msgstr "Sobre Kaku2"
+
+msgid "Kaku3 Envelope"
+msgstr "Sobre Kaku3"
+
+msgid "LPD/LPR Host or Printer"
+msgstr ""
+
+msgid "Label Printer"
+msgstr "Impresora de etiquetas"
+
+msgid "Label Top"
+msgstr "Parte superior de la etiqueta"
+
+#, c-format
+msgid "Language \"%s\" not supported!"
+msgstr "No se admite el uso del idioma \"%s\"."
+
+msgid "Large Address"
+msgstr "Dirección grande"
+
+msgid "Large Address - 1 4/10 x 3 1/2\""
+msgstr "Dirección grande - 1 4/10 x 3 1/2 pulg."
+
+msgid "LaserJet Series PCL 4/5"
+msgstr "LaserJet Series PCL 4/5"
+
+msgid "Light"
+msgstr "Ligero"
+
+msgid "Line longer than the maximum allowed (255 characters)"
+msgstr "Línea más larga que el máximo permitido (255 caracteres)"
+
+msgid "List Available Printers"
+msgstr "Listar impresoras disponibles"
+
+msgid "Location: "
+msgstr "Ubicación:"
+
+msgid "Long-Edge (Portrait)"
+msgstr "Lado largo (retrato)"
+
+msgid "Make and Model: "
+msgstr "Marca y modelo:"
+
+msgid "Manual Feed"
+msgstr "Alimentación manual"
+
+msgid "Media Dimensions: "
+msgstr "Dimensiones del papel:"
+
+msgid "Media Limits: "
+msgstr "Límites del papel:"
+
+msgid "Media Name: "
+msgstr "Nombre del soporte"
+
+msgid "Media Size"
+msgstr "Tamaño de papel"
+
+msgid "Media Source"
+msgstr "Fuente del papel"
+
+msgid "Media Tracking"
+msgstr "Seguimiento del medio"
+
+msgid "Media Type"
+msgstr "Tipo de papel"
+
+msgid "Media jam!"
+msgstr "Atasco de papel."
+
+msgid "Media tray almost empty."
+msgstr "Bandeja de papel casi vacía."
+
+msgid "Media tray empty!"
+msgstr "Bandeja de papel vacía."
+
+msgid "Media tray missing!"
+msgstr "Falta la bandeja de papel."
+
+msgid "Media tray needs to be filled."
+msgstr "Hay que poner papel en la bandeja."
+
+msgid "Medium"
+msgstr "Media"
+
+msgid "Memory allocation error"
+msgstr "Error de reserva de memoria"
+
+msgid "Missing PPD-Adobe-4.x header"
+msgstr "Falta cabecera PPD-Adobe-4.x"
+
+msgid "Missing asterisk in column 1"
+msgstr "Falta un asterisco en la columna 1"
+
+msgid "Missing document-number attribute!"
+msgstr "Falta el atributo document-number."
+
+#, c-format
+msgid "Missing double quote on line %d!"
+msgstr "Faltan dobles comillas en línea %d."
+
+msgid "Missing form variable!"
+msgstr "Variable de formulario desaparecida."
+
+msgid "Missing notify-subscription-ids attribute!"
+msgstr "Atributo notify-subscription-ids desaparecido."
+
+msgid "Missing requesting-user-name attribute!"
+msgstr "Falta el atributo requesting-user-name."
+
+msgid "Missing required attributes!"
+msgstr "Faltan atributos necesarios."
+
+#, c-format
+msgid "Missing value on line %d!"
+msgstr "Falta un valor en la línea %d."
+
+msgid "Missing value string"
+msgstr "Falta cadena de valores"
+
+#, c-format
+msgid ""
+"Model:  name = %s\n"
+"        natural_language = %s\n"
+"        make-and-model = %s\n"
+"        device-id = %s\n"
+msgstr ""
+"Modelo:  nombre = %s\n"
+"        natural_language = %s\n"
+"        make-and-model = %s\n"
+"        device-id = %s\n"
+
+msgid "Modify Class"
+msgstr "Modificar clase"
+
+msgid "Modify Printer"
+msgstr "Modificar impresora"
+
+msgid "Monarch"
+msgstr "Monarch"
+
+msgid "Monarch Envelope"
+msgstr "Sobre Monarch"
+
+msgid "Move All Jobs"
+msgstr "Mover todos los trabajos"
+
+msgid "Move Job"
+msgstr "Mover trabajo"
+
+msgid "Moved Permanently"
+msgstr "Movido permanentemente"
+
+#, c-format
+msgid "NOTICE: Print file accepted - job ID %d.\n"
+msgstr "NOTICE: Archivo de impresión aceptado: ID de trabajo %d.\n"
+
+msgid "NOTICE: Print file accepted - job ID unknown.\n"
+msgstr "NOTICE: Archivo de impresión aceptado: ID de trabajo desconocido.\n"
+
+msgid "NULL PPD file pointer"
+msgstr "Puntero de archivo PPD NULO"
+
+msgid "Name OID uses indefinite length"
+msgstr "Nombre OID usa una longitud indefinida"
+
+msgid "Never"
+msgstr "Nunca"
+
+msgid "New Stylus Color Series"
+msgstr "Nueva Stylus Color Series"
+
+msgid "New Stylus Photo Series"
+msgstr "Nueva Stylus Photo Series"
+
+msgid "No"
+msgstr "No"
+
+msgid "No Content"
+msgstr "No hay contenido"
+
+msgid "No PPD name!"
+msgstr "No hay nombre de PPD."
+
+msgid "No VarBind SEQUENCE"
+msgstr "No hay Varbind SEQUENCE"
+
+msgid "No Windows printer drivers are installed!"
+msgstr "No está instalado ningún controlador de impresora de Windows."
+
+msgid "No active connection"
+msgstr "No hay conexión activa"
+
+#, c-format
+msgid "No active jobs on %s!"
+msgstr "No hay trabajos activos en %s."
+
+msgid "No attributes in request!"
+msgstr "No hay atributos en la solicitud."
+
+msgid "No authentication information provided!"
+msgstr "No se ha proporcionado información de autentificación."
+
+msgid "No community name"
+msgstr "No hay nombre de comunidad"
+
+msgid "No default printer"
+msgstr "No hay impresora predeterminada"
+
+msgid "No destinations added."
+msgstr "No se han añadido destinos."
+
+msgid "No error-index"
+msgstr "No hay error-index"
+
+msgid "No error-status"
+msgstr "No hay error-status"
+
+msgid "No file!?!"
+msgstr "¡¿¡No hay archivo!?!"
+
+msgid "No modification time!"
+msgstr "No hay tiempo de modificación."
+
+msgid "No name OID"
+msgstr "No hay nombre OID"
+
+msgid "No printer name!"
+msgstr "No hay nombre de impresora."
+
+msgid "No printer-uri found for class!"
+msgstr "No se encontró printer-uri para la clase."
+
+msgid "No printer-uri found!"
+msgstr "No se encontró printer-uri."
+
+msgid "No printer-uri in request!"
+msgstr ""
+
+msgid "No request-id"
+msgstr "No hay request-id"
+
+msgid "No subscription attributes in request!"
+msgstr "No hay atributos de subscripción en la solicitud."
+
+msgid "No subscriptions found."
+msgstr "No se han encontrado subscripciones."
+
+msgid "No variable-bindings SEQUENCE"
+msgstr "No hay variable-bindings SEQUENCE"
+
+msgid "No version number"
+msgstr "No hay número de versión"
+
+msgid "Non-continuous (Mark sensing)"
+msgstr "No continuo (sensible a señal)"
+
+msgid "Non-continuous (Web sensing)"
+msgstr "No continuo (sensible a web)"
+
+msgid "Normal"
+msgstr "Normal"
+
+msgid "Not Found"
+msgstr "No encontrado"
+
+msgid "Not Implemented"
+msgstr "No implementado"
+
+msgid "Not Installed"
+msgstr "No instalado"
+
+msgid "Not Modified"
+msgstr "No modificado"
+
+msgid "Not Supported"
+msgstr "No permitido"
+
+msgid "Not allowed to print."
+msgstr "No se permite imprimir."
+
+msgid "Note"
+msgstr "Nota"
+
+msgid "OK"
+msgstr "OK"
+
+msgid "OPC almost at end-of-life."
+msgstr "OPC prácticamente agotado."
+
+msgid "OPC at end-of-life!"
+msgstr "OPC agotado."
+
+msgid "Off (1-Sided)"
+msgstr "Desactivado (1 cara)"
+
+msgid "Oki"
+msgstr "Oki"
+
+msgid "Online Help"
+msgstr "Ayuda en línea"
+
+#, c-format
+msgid "Open of %s failed: %s"
+msgstr "La apertura de %s ha fallado: %s"
+
+msgid "OpenGroup without a CloseGroup first"
+msgstr "OpenGroup sin un CloseGroup previo"
+
+msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
+msgstr "OpenUI/JCLOpenUI sin un CloseUI/JCLCloseUI previo"
+
+msgid "Operation Policy"
+msgstr "Directiva de operación"
+
+msgid "Options Installed"
+msgstr "Opciones instaladas"
+
+msgid "Options: "
+msgstr "Opciones:"
+
+msgid "Out of toner!"
+msgstr "No hay toner."
+
+msgid "Output Mode"
+msgstr "Modo de salida"
+
+msgid "Output bin almost full."
+msgstr "Recipiente de salida casi lleno."
+
+msgid "Output bin full!"
+msgstr "Recipiente de salida lleno."
+
+#, c-format
+msgid "Output for printer %s is sent to %s\n"
+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"
+
+#, c-format
+msgid "Output for printer %s/%s is sent to %s\n"
+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"
+
+msgid "Output tray missing!"
+msgstr "Falta la bandeja de salida."
+
+msgid "PASS\n"
+msgstr "PASA\n"
+
+msgid "PCL Laser Printer"
+msgstr "Impresora Laser PCL"
+
+msgid "PRC1 Envelope"
+msgstr "Sobre PRC1"
+
+msgid "PRC10 Envelope"
+msgstr "Sobre PRC10"
+
+msgid "PRC16K"
+msgstr "PRC16K"
+
+msgid "PRC2 Envelope"
+msgstr "Sobre PRC2"
+
+msgid "PRC3 Envelope"
+msgstr "Sobre PRC3"
+
+msgid "PRC32K"
+msgstr "PRC32K"
+
+msgid "PRC32K (Oversize)"
+msgstr "PRC32K (extragrande)"
+
+msgid "PRC4 Envelope"
+msgstr "Sobre PRC4"
+
+msgid "PRC5 Envelope"
+msgstr "Sobre PRC5"
+
+msgid "PRC6 Envelope"
+msgstr "Sobre PRC6"
+
+msgid "PRC7 Envelope"
+msgstr "Sobre PRC7"
+
+msgid "PRC8 Envelope"
+msgstr "Sobre PRC8"
+
+msgid "PRC9 Envelope"
+msgstr "Sobre PRC9"
+
+msgid "Packet does not contain a Get-Response-PDU"
+msgstr "El paquete no contiene un Get-Response-PDU"
+
+msgid "Packet does not start with SEQUENCE"
+msgstr "El paquete no empieza por SEQUENCE"
+
+msgid "ParamCustominCutInterval"
+msgstr "ParamCustominCutInterval"
+
+msgid "ParamCustominTearInterval"
+msgstr "ParamCustominTearInterval"
+
+#, c-format
+msgid "Password for %s on %s? "
+msgstr "¿Contraseña de %s en %s? "
+
+#, c-format
+msgid "Password for %s required to access %s via SAMBA: "
+msgstr "Se requiere la contraseña de %s para acceder a %s vía SAMBA: "
+
+msgid "Pause Class"
+msgstr "Pausar clase"
+
+msgid "Pause Printer"
+msgstr "Pausar impresora"
+
+msgid "Peel-Off"
+msgstr "Despegar"
+
+msgid "Personal Envelope"
+msgstr "Sobre personal"
+
+msgid "Photo"
+msgstr "Foto"
+
+msgid "Photo Labels"
+msgstr "Foto pequeña"
+
+msgid "Plain Paper"
+msgstr "Papel normal"
+
+msgid "Policies"
+msgstr "Reglas"
+
+msgid "Port Monitor"
+msgstr "Monitor de puerto"
+
+msgid "PostScript Printer"
+msgstr "Impresora PostScript"
+
+msgid "Postcard"
+msgstr "Postal"
+
+msgid "Print Density"
+msgstr "Densidad de impresión"
+
+msgid "Print Job:"
+msgstr "Imprimir trabajo:"
+
+msgid "Print Mode"
+msgstr "Modo de impresión"
+
+msgid "Print Rate"
+msgstr "Tasa de impresión"
+
+msgid "Print Self-Test Page"
+msgstr "Iimprimir página de auto-prueba"
+
+msgid "Print Speed"
+msgstr "Velocidad de impresión"
+
+msgid "Print Test Page"
+msgstr "Imprimir página de prueba"
+
+msgid "Print and Cut"
+msgstr "Imprimir y cortar"
+
+msgid "Print and Tear"
+msgstr "Imprimir y romper"
+
+msgid "Printed For: "
+msgstr "Impreso para:"
+
+msgid "Printed From: "
+msgstr "Impreso desde:"
+
+msgid "Printed On: "
+msgstr "Impreso en:"
+
+msgid "Printer Added"
+msgstr "Impresora añadida"
+
+msgid "Printer Default"
+msgstr "Predeterminado de la impresora"
+
+msgid "Printer Deleted"
+msgstr "Impresora borrada"
+
+msgid "Printer Modified"
+msgstr "Impresora modificada"
+
+msgid "Printer Name: "
+msgstr "Nombre de la impresora:"
+
+msgid "Printer Paused"
+msgstr "Impresora en pausa"
+
+msgid "Printer Settings"
+msgstr "Configuración de la impresora"
+
+msgid "Printer offline."
+msgstr "Impresora desconectada."
+
+msgid "Printer:"
+msgstr "Impresora:"
+
+msgid "Printers"
+msgstr "Impresoras"
+
+msgid "Purge Jobs"
+msgstr "Purgar trabajos"
+
+msgid "Quarto"
+msgstr "Quarto"
+
+msgid "Quota limit reached."
+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 "Reject Jobs"
+msgstr "Rechazar trabajos"
+
+msgid "Reprint After Error"
+msgstr "Volver a imprimir tras un error"
+
+msgid "Request Entity Too Large"
+msgstr "La entidad requerida es demasiado larga"
+
+msgid "Resolution"
+msgstr "Resolución"
+
+msgid "Resume Class"
+msgstr "Reanudar clase"
+
+msgid "Resume Printer"
+msgstr "Reanudar impresora"
+
+msgid "Return Address"
+msgstr "Remite"
+
+msgid "Return Address - 3/4 x 2\""
+msgstr "Remite - 3/4 x 2 pulg."
+
+msgid "Rewind"
+msgstr "Rebobinar"
+
+#, c-format
+msgid "Running command: %s %s -N -A %s -c '%s'\n"
+msgstr "Ejecutando comando: %s %s -N -A '%s -c '%s'\n"
+
+msgid "SCSI Printer"
+msgstr ""
+
+msgid "SEQUENCE uses indefinite length"
+msgstr "SEQUENCE usa una longitud indefinida"
+
+msgid "See Other"
+msgstr "Ver otros"
+
+#, c-format
+msgid "Serial Port #%d"
+msgstr ""
+
+msgid "Server Restarted"
+msgstr "Servidor reiniciado"
+
+msgid "Server Security Auditing"
+msgstr "Auditoría de seguridad del servidor"
+
+msgid "Server Started"
+msgstr "Servidor iniciado"
+
+msgid "Server Stopped"
+msgstr "Servidor parado"
+
+msgid "Service Unavailable"
+msgstr "Servicio no disponible"
+
+msgid "Set Allowed Users"
+msgstr "Establecer usuarios permitidos"
+
+msgid "Set As Server Default"
+msgstr "Establecer como predeterminada del servidor"
+
+msgid "Set Class Options"
+msgstr "Cambiar opciones clase"
+
+msgid "Set Printer Options"
+msgstr "Cambiar opciones impresora"
+
+msgid "Set Publishing"
+msgstr "Hacer pública"
+
+msgid "Shipping Address"
+msgstr "Dirección de envío"
+
+msgid "Shipping Address - 2 5/16 x 4\""
+msgstr "Dirección de envío - 2 5/16 x 4 pulg."
+
+msgid "Short-Edge (Landscape)"
+msgstr "Lado corto (apaisado)"
+
+msgid "Special Paper"
+msgstr "Papel especial"
+
+msgid "Standard"
+msgstr "Estándar"
+
+msgid "Starting Banner"
+msgstr "Rótulo inicial"
+
+msgid "Statement"
+msgstr "Declaración"
+
+msgid "Stylus Color Series"
+msgstr "Stylus Color Series"
+
+msgid "Stylus Photo Series"
+msgstr "Stylus Photo Series"
+
+msgid "Super A"
+msgstr "Super A"
+
+msgid "Super B"
+msgstr "Super B (13 x 19  pulg.)"
+
+msgid "Super B/A3"
+msgstr "Super B/A3"
+
+msgid "Switching Protocols"
+msgstr "Protocolos de conexión"
+
+msgid "Tabloid"
+msgstr "Tabloide"
+
+msgid "Tabloid (Oversize)"
+msgstr "Tabloide (extragrande)"
+
+msgid "Tear"
+msgstr "Pestaña"
+
+msgid "Tear-Off"
+msgstr "Pestaña desprendible"
+
+msgid "Tear-Off Adjust Position"
+msgstr "Ajuste de posición de la pestaña desprendible"
+
+#, c-format
+msgid "The PPD file \"%s\" could not be found."
+msgstr "No se ha podido encontrar el archivo PPD \"%s\"."
+
+#, c-format
+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 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 or class is not shared!"
+msgstr "La impresora o clase no está compartida."
+
+msgid "The printer or class was not found."
+msgstr "No se ha encontrado la impresora o la clase."
+
+#, c-format
+msgid "The printer-uri \"%s\" contains invalid characters."
+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/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 "There are too many subscriptions."
+msgstr ""
+
+msgid "Thermal Transfer Media"
+msgstr "Soporte de transferencia térmica"
+
+msgid "Title: "
+msgstr "Título:"
+
+msgid "Toner low."
+msgstr "Toner bajo."
+
+msgid "Too many active jobs."
+msgstr "Demasiados trabajos activos."
+
+#, c-format
+msgid "Too many job-sheets values (%d > 2)!"
+msgstr "Demasiados valores de job-sheets (%d > 2)."
+
+#, c-format
+msgid "Too many printer-state-reasons values (%d > %d)!"
+msgstr "Demasiados valores printer-state-reasons (%d > %d)."
+
+msgid "Transparency"
+msgstr "Transparencia"
+
+msgid "Tray"
+msgstr "Bandeja"
+
+msgid "Tray 1"
+msgstr "Bandeja 1"
+
+msgid "Tray 2"
+msgstr "Bandeja 2"
+
+msgid "Tray 3"
+msgstr "Bandeja 3"
+
+msgid "Tray 4"
+msgstr "Bandeja 4"
+
+msgid "URI Too Long"
+msgstr "URI demasiado largo"
+
+msgid "US Executive"
+msgstr "Ejecutivo de EE.UU"
+
+msgid "US Fanfold"
+msgstr "FanFold de EE.UU"
+
+msgid "US Ledger"
+msgstr "Libro Mayor, 17 x 11 pulg."
+
+msgid "US Legal"
+msgstr "Legal EE.UU."
+
+msgid "US Legal (Oversize)"
+msgstr "Legal EE.UU. (extragrande)"
+
+msgid "US Letter"
+msgstr "Carta EE.UU."
+
+msgid "US Letter (Oversize)"
+msgstr "Carta EE.UU. (extragrande)"
+
+msgid "US Letter (Small)"
+msgstr "Carta EE.UU. (pequeña)"
+
+#, c-format
+msgid "USB Serial Port #%d"
+msgstr ""
+
+msgid "Unable to access cupsd.conf file:"
+msgstr "No se ha podido acceder al archivo cupsd.conf"
+
+msgid "Unable to add RSS subscription:"
+msgstr "No se ha podido añadir la subscripción RSS:"
+
+msgid "Unable to add class:"
+msgstr "No se ha podido añadir la clase:"
+
+#, c-format
+msgid "Unable to add job for destination \"%s\"!"
+msgstr "No se ha podido añadir el trabajo para el destino \"%s\"."
+
+msgid "Unable to add printer:"
+msgstr "No se ha podido añadir la impresora:"
+
+msgid "Unable to allocate memory for file types!"
+msgstr "No se ha podido reservar memoria para tipos de archivo."
+
+msgid "Unable to cancel RSS subscription:"
+msgstr "No se ha podido cancelar la subscripción RSS:"
+
+msgid "Unable to change printer-is-shared attribute:"
+msgstr "No se ha podido cambiar el atributo printer-is-shared:"
+
+msgid "Unable to change printer:"
+msgstr "No se ha podido cambiar la impresora:"
+
+msgid "Unable to change server settings:"
+msgstr "No se ha podido cambiar la configuración del servidor:"
+
+msgid "Unable to connect to host."
+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)."
+
+#, 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)."
+
+#, 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)."
+
+#, c-format
+msgid "Unable to copy PPD file - %s!"
+msgstr "No se ha podido copiar el archivo PPD - %s."
+
+msgid "Unable to copy PPD file!"
+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)."
+
+#, 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)."
+
+#, c-format
+msgid "Unable to copy interface script - %s!"
+msgstr "No se ha podido copiar el script de interfaz - %s."
+
+msgid "Unable to create printer-uri!"
+msgstr "No se ha podido crear printer-uri."
+
+msgid "Unable to create temporary file:"
+msgstr "No se ha podido crear el archivo temporal:"
+
+msgid "Unable to delete class:"
+msgstr "No se ha podido borrar la clase:"
+
+msgid "Unable to delete printer:"
+msgstr "No se ha podido borrar la impresora:"
+
+msgid "Unable to do maintenance command:"
+msgstr "No se ha podido realizar el comando de mantenimiento:"
+
+msgid "Unable to edit cupsd.conf files larger than 1MB!"
+msgstr "No se pueden editar archivos cupsd.conf mayores de 1MB."
+
+msgid "Unable to find destination for job!"
+msgstr "No se ha podido encontrar destino para el trabajo."
+
+msgid "Unable to find printer!\n"
+msgstr "No se ha podido encontrar la impresora.\n"
+
+msgid "Unable to get class list:"
+msgstr "No se ha podido obtener la lista de clases:"
+
+msgid "Unable to get class status:"
+msgstr "No se ha podido obtener el estado de la clase:"
+
+msgid "Unable to get list of printer drivers:"
+msgstr "No se ha podido obtener la lista de controladores de impresora:"
+
+msgid "Unable to get printer attributes:"
+msgstr "No se han podido obtener los atributos de la impresora:"
+
+msgid "Unable to get printer list:"
+msgstr "No se ha podido obtener la lista de impresoras:"
+
+msgid "Unable to get printer status:"
+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)."
+
+#, 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)."
+
+msgid "Unable to modify class:"
+msgstr "No se ha podido modificar la clase:"
+
+msgid "Unable to modify printer:"
+msgstr "No se ha podido modificar la impresora:"
+
+msgid "Unable to move job"
+msgstr "No se ha podido mover el trabajo"
+
+msgid "Unable to move jobs"
+msgstr "No se han podido mover los trabajos"
+
+msgid "Unable to open PPD file"
+msgstr "No se ha podido abrir el archivo PPD"
+
+msgid "Unable to open PPD file:"
+msgstr "No se ha podido abrir el archivo PPD:"
+
+msgid "Unable to open cupsd.conf file:"
+msgstr "No se ha podido abrir el archivo cupsd.conf:"
+
+#, c-format
+msgid "Unable to open document %d in job %d!"
+msgstr "No se ha podido abrir el documento %d del trabajo %d."
+
+msgid "Unable to print test page:"
+msgstr "No se ha podido imprimir la página de prueba:"
+
+#, c-format
+msgid "Unable to run \"%s\": %s\n"
+msgstr "No se ha podido ejecutar \"%s\": %s\n"
+
+msgid "Unable to send command to printer driver!"
+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)."
+
+msgid "Unable to set options:"
+msgstr "No se han podido cambiar las opciones:"
+
+msgid "Unable to set server default:"
+msgstr "No se han podido cambiar los ajustes predeterminados del servidor:"
+
+msgid "Unable to upload cupsd.conf file:"
+msgstr "No se ha podido copiar el archivo cupsd.conf:"
+
+msgid "Unable to use legacy USB class driver!\n"
+msgstr "No se ha podido usar el controlador de dispositivo USB obsoleto.\n"
+
+msgid "Unauthorized"
+msgstr "No autorizado"
+
+msgid "Units"
+msgstr "Unidades"
+
+msgid "Unknown"
+msgstr "Desconocido"
+
+#, c-format
+msgid "Unknown printer error (%s)!"
+msgstr "Error de impresión desconocido (%s)."
+
+#, c-format
+msgid "Unknown printer-error-policy \"%s\"."
+msgstr "printer-error-policy \"%s\" incorrecto."
+
+#, c-format
+msgid "Unknown printer-op-policy \"%s\"."
+msgstr "printer-op-policy \"%s\" incorrecto."
+
+#, c-format
+msgid "Unsupported character set \"%s\"!"
+msgstr "Juego de caracteres \"%s\" no permitido."
+
+#, c-format
+msgid "Unsupported compression \"%s\"!"
+msgstr "No se admite el uso de la compresión \"%s\"."
+
+#, c-format
+msgid "Unsupported compression attribute %s!"
+msgstr "No se admite el uso del atributo de compresión %s."
+
+#, c-format
+msgid "Unsupported format \"%s\"!"
+msgstr "No se admite el uso del formato \"%s\"."
+
+#, c-format
+msgid "Unsupported format '%s'!"
+msgstr "No se admite el uso del formato '%s'."
+
+#, c-format
+msgid "Unsupported format '%s/%s'!"
+msgstr "No se admite el uso del formato '%s/%s'."
+
+msgid "Unsupported value type"
+msgstr "Tipo de valor no permitido"
+
+msgid "Upgrade Required"
+msgstr "Se requiere actualización"
+
+msgid ""
+"Usage:\n"
+"\n"
+"    lpadmin [-h server] -d destination\n"
+"    lpadmin [-h server] -x destination\n"
+"    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n"
+"                       [-r remove-class] [-v device] [-D description]\n"
+"                       [-P ppd-file] [-o name=value]\n"
+"                       [-u allow:user,user] [-u deny:user,user]\n"
+"\n"
+msgstr ""
+"Uso:\n"
+"\n"
+"    lpadmin [-h servidor] -d destino\n"
+"    lpadmin [-h servidor] -x destino\n"
+"    lpadmin [-h servidor] -p impresora [-c clase] [-i interfaz] [-m modelo]\n"
+"                       [-r clase] [-v dispositivo] [-D descripción]\n"
+"                       [-P archivo_ppd] [-o nombre=valor]\n"
+"                       [-u allow:usuario,usuario] [-u deny:usuario,usuario]\n"
+"\n"
+
+#, c-format
+msgid "Usage: %s job user title copies options [filename]\n"
+msgstr "Uso: %s trabajo usuario título copias opciones [archivo]\n"
+
+#, c-format
+msgid "Usage: %s job-id user title copies options [file]\n"
+msgstr "Uso: %s job-id usuario título copias opciones [archivo]\n"
+
+#, c-format
+msgid "Usage: %s job-id user title copies options file\n"
+msgstr "Uso: %s job-id usuario título copias opciones archivo\n"
+
+msgid ""
+"Usage: convert [ options ]\n"
+"\n"
+"Options:\n"
+"\n"
+"  -f filename          Set file to be converted (otherwise stdin)\n"
+"  -o filename          Set file to be generated (otherwise stdout)\n"
+"  -i mime/type         Set input MIME type (otherwise auto-typed)\n"
+"  -j mime/type         Set output MIME type (otherwise application/pdf)\n"
+"  -P filename.ppd      Set PPD file\n"
+"  -a 'name=value ...'  Set option(s)\n"
+"  -U username          Set username for job\n"
+"  -J title             Set title\n"
+"  -c copies            Set number of copies\n"
+"  -u                   Remove the PPD file when finished\n"
+"  -D                   Remove the input file when finished\n"
+msgstr ""
+"Uso: convert [ opciones ]\n"
+"\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"
+"  -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"
+"  -J título             Establece el título\n"
+"  -c copias            Establece el número de copias\n"
+"  -u                   Borra el archivo PPD después de terminar\n"
+"  -D                   Borra el archivo de entrada después de terminar\n"
+
+msgid ""
+"Usage: cupsaddsmb [options] printer1 ... printerN\n"
+"       cupsaddsmb [options] -a\n"
+"\n"
+"Options:\n"
+"  -E               Encrypt the connection to the server\n"
+"  -H samba-server  Use the named SAMBA server\n"
+"  -U samba-user    Authenticate using the named SAMBA user\n"
+"  -a               Export all printers\n"
+"  -h cups-server   Use the named CUPS server\n"
+"  -v               Be verbose (show commands)\n"
+msgstr ""
+"Uso: cupsaddsmb [opciones] impresora1 ... impresoraN\n"
+"       cupsaddsmb [opciones] -a\n"
+"\n"
+"Opciones:\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"
+"  -h servidor_cups   Usa el servidor CUPS especificado\n"
+"  -v               Ser detallado (mostrar comandos)\n"
+
+msgid ""
+"Usage: cupsctl [options] [param=value ... paramN=valueN]\n"
+"\n"
+"Options:\n"
+"\n"
+"    -E                      Enable encryption\n"
+"    -U username             Specify username\n"
+"    -h server[:port]        Specify server address\n"
+"\n"
+"    --[no-]debug-logging    Turn debug logging on/off\n"
+"    --[no-]remote-admin     Turn remote administration on/off\n"
+"    --[no-]remote-any       Allow/prevent access from the Internet\n"
+"    --[no-]remote-printers  Show/hide remote printers\n"
+"    --[no-]share-printers   Turn printer sharing on/off\n"
+"    --[no-]user-cancel-any  Allow/prevent users to cancel any job\n"
+msgstr ""
+"Uso: cupsctl [opciones] [param=valor ... paramN=valorN]\n"
+"\n"
+"Opciones:\n"
+"\n"
+"    -E                      Activar encriptación\n"
+"    -U nombre_usuario             Especificar nombre de usuario\n"
+"    -h servidor[:puerto]        Especificar la dirección del servidor\n"
+"\n"
+"    --[no-]debug-logging    Activar o desactivar el registro de depuración\n"
+"    --[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"
+
+msgid ""
+"Usage: cupsd [-c config-file] [-f] [-F] [-h] [-l]\n"
+"\n"
+"-c config-file      Load alternate configuration file\n"
+"-f                  Run in the foreground\n"
+"-F                  Run in the foreground but detach\n"
+"-h                  Show this usage message\n"
+"-l                  Run cupsd from launchd(8)\n"
+msgstr ""
+"Uso: cupsd (-c archivo-configuración) (-f) (-F) (-h) (-l)\n"
+"\n"
+"-c archivo-configuración      Carga un archivo de configuración alternativo\n"
+"-f                  Se ejecuta en primer plano\n"
+"-F                  Se ejecuta en primer plano pero separado\n"
+"-h                  Muestra este mensaje de cómo se usa\n"
+"-l                  Ejecuta cupsd desde launchd(8)\n"
+
+msgid ""
+"Usage: cupsfilter -m mime/type [ options ] filename\n"
+"\n"
+"Options:\n"
+"\n"
+"  -c cupsd.conf    Set cupsd.conf file to use\n"
+"  -j job-id[,N]    Filter file N from the specified job (default is file 1)\n"
+"  -n copies        Set number of copies\n"
+"  -o name=value    Set option(s)\n"
+"  -p filename.ppd  Set PPD file\n"
+"  -t title         Set title\n"
+msgstr ""
+"Uso: cupsfilter -m tipo/mime [ opciones ] nombre_archivo\n"
+"\n"
+"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"
+"  -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"
+"  -t título         Establecer el título\n"
+
+msgid ""
+"Usage: cupstestdsc [options] filename.ps [... filename.ps]\n"
+"       cupstestdsc [options] -\n"
+"\n"
+"Options:\n"
+"\n"
+"    -h       Show program usage\n"
+"\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"
+"\n"
+"Opciones:\n"
+"\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"
+
+msgid ""
+"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]\n"
+"       program | cupstestppd [options] -\n"
+"\n"
+"Options:\n"
+"\n"
+"    -R root-directory    Set alternate root\n"
+"    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
+"                         Issue warnings instead of errors\n"
+"    -q                   Run silently\n"
+"    -r                   Use 'relaxed' open mode\n"
+"    -v                   Be slightly verbose\n"
+"    -vv                  Be very verbose\n"
+msgstr ""
+"Uso: cupstestppd [opciones] nombre_archivo1.ppd[.gz] [... nombre_archivoN.ppd"
+"[.gz]]\n"
+"       programa | cupstestppd [opciones] -\n"
+"\n"
+"Opciones:\n"
+"\n"
+"    -R directorio-raíz    Establecer el directorio raíz alternativo\n"
+"    -W {all,none,constraints,defaults,duplex,filters,translations}\n"
+"                         Emitir avisos en vez de errores\n"
+"    -q                   Ejecutar en modo silencioso\n"
+"    -r                   Usar el modo de apertura 'relajado'\n"
+"    -v                   Ligeramente detallado\n"
+"    -vv                  Muy detallado\n"
+
+msgid "Usage: lpmove job/src dest\n"
+msgstr "Uso: lpmove trabajo/fuente destino\n"
+
+msgid ""
+"Usage: lpoptions [-h server] [-E] -d printer\n"
+"       lpoptions [-h server] [-E] [-p printer] -l\n"
+"       lpoptions [-h server] [-E] -p printer -o option[=value] ...\n"
+"       lpoptions [-h server] [-E] -x printer\n"
+msgstr ""
+"Uso: lpoptions [-h servidor] [-E] -d impresora\n"
+"       lpoptions [-h servidor] [-E] [-p impresora] -l\n"
+"       lpoptions [-h servidor] [-E] -p impresora -o opción[=valor] ...\n"
+"       lpoptions [-h servidor] [-E] -x impresora\n"
+
+msgid "Usage: lppasswd [-g groupname]\n"
+msgstr "Usage: lppasswd [-g nombre_grupo]\n"
+
+msgid ""
+"Usage: lppasswd [-g groupname] [username]\n"
+"       lppasswd [-g groupname] -a [username]\n"
+"       lppasswd [-g groupname] -x [username]\n"
+msgstr ""
+"Usage: lppasswd [-g nombre_grupo] [nombre_usuario]\n"
+"       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: ppdc [options] filename.drv [ ... filenameN.drv ]\n"
+"Options:\n"
+"  -D name=value        Set named variable to value.\n"
+"  -I include-dir       Add include directory to search path.\n"
+"  -c catalog.po        Load the specified message catalog.\n"
+"  -d output-dir        Specify the output directory.\n"
+"  -l lang[,lang,...]   Specify the output language(s) (locale).\n"
+"  -m                   Use the ModelName value as the filename.\n"
+"  -t                   Test PPDs instead of generating them.\n"
+"  -v                   Be verbose (more v's for more verbosity).\n"
+"  -z                   Compress PPD files using GNU zip.\n"
+"  --cr                 End lines with CR (Mac OS 9).\n"
+"  --crlf               End lines with CR + LF (Windows).\n"
+"  --lf                 End lines with LF (UNIX/Linux/Mac OS X).\n"
+msgstr ""
+"Uso: ppdc [opciones] nombre_archivo.drv [ ... nombre_archivoN.drv ]\n"
+"Options:\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"
+"  -c catálogo.po        Carga el catálogo de mensajes especificado.\n"
+"  -d dir-salida        Especifica el directorio de salida.\n"
+"  -l idioma[,idioma,...]   Especifica el/los idioma(s) de salida.\n"
+"  -m                   Usa el valor ModelName como nombre de archivo.\n"
+"  -t                   Chequea el PPDs en vez de generarlo.\n"
+"  -v                   Detallado (más v's para más detalle).\n"
+"  -z                   Comprime los archivos PPD usando GNU zip.\n"
+"  --cr                 Termina las líneas con CR (Mac OS 9).\n"
+"  --crlf               Termina las líneas con CR + LF (Windows).\n"
+"  --lf                 Termina las líneas con LF (UNIX/Linux/Mac OS X).\n"
+
+msgid ""
+"Usage: ppdhtml [options] filename.drv >filename.html\n"
+"  -D name=value        Set named variable to value.\n"
+"Options:\n"
+"  -I include-dir    Add include directory to search path.\n"
+msgstr ""
+"Uso: ppdhtml [opciones] nombre_archivo.drv >nombre_archivo.html\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"
+
+msgid ""
+"Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]\n"
+"Options:\n"
+"  -I include-dir\n"
+"  -o filename.drv\n"
+msgstr ""
+"Uso: ppdi [opciones] nombre_archivo.ppd [ ... nombre_archivoN.ppd ]\n"
+"Opciones:\n"
+"  -I include-dir\n"
+"  -o nombre_archivo.drv\n"
+
+msgid ""
+"Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]\n"
+"Options:\n"
+"  -o filename.ppd[.gz]\n"
+msgstr ""
+"Uso: ppdmerge [opciones] nombre_archivo.ppd [ ... nombre_archivoN.ppd ]\n"
+"Opciones:\n"
+"  -o nombre_archivo.ppd[.gz]\n"
+
+msgid ""
+"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]\n"
+"Options:\n"
+"  -D name=value        Set named variable to value.\n"
+"  -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"
+"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"
+"  -v                Con detalle (más v's para más detalle).\n"
+
+msgid "Usage: snmp [host-or-ip-address]\n"
+msgstr "Uso: snmp [ordenador-o-dirección-ip]\n"
+
+msgid "Value uses indefinite length"
+msgstr "Valor usa una longitud indefinida"
+
+msgid "VarBind uses indefinite length"
+msgstr "VarBind usa una longitud indefinida"
+
+msgid "Version uses indefinite length"
+msgstr "Versión usa una longitud indefinida"
+
+#, c-format
+msgid "WARNING: Adding only the first %d printers found"
+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"
+
+msgid "WARNING: Failed to read side-channel request!\n"
+msgstr "WARNING: No se ha podido leer la petición del canal lateral.\n"
+
+#, c-format
+msgid "WARNING: Option \"%s\" cannot be included via IncludeFeature!\n"
+msgstr "WARNING: La opción \"%s\" no puede incluirse con IncludeFeature.\n"
+
+msgid "WARNING: Printer not responding\n"
+msgstr "WARNING: La impresora no responde\n"
+
+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"
+
+#, 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"
+
+#, 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"
+
+#, 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"
+
+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"
+msgstr "WARNING: No se ha podido abrir \"%s:%s\": %s\n"
+
+msgid "WARNING: Unable to send PAP status request"
+msgstr "WARNING: No se ha podido enviar la petición de estado PAP"
+
+#, c-format
+msgid "WARNING: Unexpected PAP packet of type %d\n"
+msgstr "WARNING: Paquete PAP de tipo %d no esperado\n"
+
+#, c-format
+msgid "WARNING: Unknown PAP packet of type %d\n"
+msgstr "WARNING: Paquete PAP de tipo %d desconocido\n"
+
+#, c-format
+msgid "WARNING: Unknown choice \"%s\" for option \"%s\"!\n"
+msgstr "WARNING: Preferencia \"%s\" desconocida para la opción \"%s\".\n"
+
+#, c-format
+msgid "WARNING: Unknown option \"%s\"!\n"
+msgstr "WARNING: Opción \"%s\" desconocida.\n"
+
+#, c-format
+msgid "WARNING: Unsupported baud rate %s!\n"
+msgstr "WARNING: No se admite el uso de la velocidad en baudios %s.\n"
+
+#, c-format
+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, no Windows 2000 printer drivers are installed!"
+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 "You4 Envelope"
+msgstr "Sobre You4"
+
+msgid "ZPL Label Printer"
+msgstr "Impresora de etiquetas ZPL"
+
+msgid "Zebra"
+msgstr "Zebra"
+
+msgid "aborted"
+msgstr "cancelado"
+
+msgid "canceled"
+msgstr "cancelado"
+
+msgid "completed"
+msgstr "completado"
+
+msgid "convert: Use the -f option to specify a file to convert.\n"
+msgstr "convert: Use la opción -f para especificar el fichero a convertir.\n"
+
+msgid "cups-deviced failed to execute."
+msgstr "Ha fallado al ejecutarse cups-deviced."
+
+msgid "cups-driverd failed to execute."
+msgstr "Ha fallado al ejecutarse cups-driverd."
+
+#, c-format
+msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s\n"
+msgstr "cupsaddsmb: No hay archivo PPD para la impresora \"%s\" - %s\n"
+
+#, c-format
+msgid "cupsctl: Unable to connect to server: %s\n"
+msgstr "cupsctl: No se ha podido conectar al servidor: %s\n"
+
+#, c-format
+msgid "cupsctl: Unknown option \"%s\"!\n"
+msgstr "cupsctl: Opción \"%s\" desconocida.\n"
+
+#, c-format
+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"
+
+msgid "cupsd: Unable to get current directory!\n"
+msgstr "cupsd: No se ha podido obtener el directorio actual.\n"
+
+#, c-format
+msgid "cupsd: Unknown argument \"%s\" - aborting!\n"
+msgstr "cupsd: Argumento \"%s\" desconocido - cancelando.\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid "cupsfilter: Invalid document number %d!\n"
+msgstr "cupsfilter: Número de documento %d inválido.\n"
+
+#, c-format
+msgid "cupsfilter: Invalid job ID %d!\n"
+msgstr "cupsfilter: ID de trabajo %d inválida.\n"
+
+msgid "cupsfilter: Only one filename can be specified!\n"
+msgstr "cupsfilter: Solo se puede especificar un nombre de archivo.\n"
+
+#, c-format
+msgid "cupsfilter: Unable to create temporary file: %s\n"
+msgstr "cupsfilter: No se ha podido crear el archivo temporal: %s\n"
+
+#, c-format
+msgid "cupsfilter: Unable to get job file - %s\n"
+msgstr "cupsfilter: No se ha podido obtener el archivo del trabajo - %s\n"
+
+msgid "cupstestppd: The -q option is incompatible with the -v option.\n"
+msgstr "cupstestppd: La opción -q es incompatible con la opción -v.\n"
+
+msgid "cupstestppd: The -v option is incompatible with the -q option.\n"
+msgstr "cupstestppd: La opción -v es incompatible con la opción -q.\n"
+
+#, c-format
+msgid "device for %s/%s: %s\n"
+msgstr "tipo de conexión para %s/%s: %s\n"
+
+#, c-format
+msgid "device for %s: %s\n"
+msgstr "tipo de conexión para %s: %s\n"
+
+msgid "error-index uses indefinite length"
+msgstr "error-index usa una longitud indefinida"
+
+msgid "error-status uses indefinite length"
+msgstr "error-status usa una longitud indefinida"
+
+msgid "held"
+msgstr "retenido"
+
+msgid "help\t\tget help on commands\n"
+msgstr "help\t\tproporciona ayuda sobre los comandos\n"
+
+msgid "idle"
+msgstr "inactiva"
+
+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"
+
+msgid "lpadmin: Expected PPD after '-P' option!\n"
+msgstr "lpadmin: Se esperaba un PPD tras la opción '-P'.\n"
+
+msgid "lpadmin: Expected allow/deny:userlist after '-u' option!\n"
+msgstr "lpadmin: Se esperaba allow/deny:lista_usuarios tras la opción '-u'.\n"
+
+msgid "lpadmin: Expected class after '-r' option!\n"
+msgstr "lpadmin: Se esperaba una clase tras la opción '-r'\n"
+
+msgid "lpadmin: Expected class name after '-c' option!\n"
+msgstr "lpadmin: Se esperaba un nombre de clase tras la opción '-c'\n"
+
+msgid "lpadmin: Expected description after '-D' option!\n"
+msgstr "lpadmin: Se esperaba una descripción tras la opción '-D'.\n"
+
+msgid "lpadmin: Expected device URI after '-v' option!\n"
+msgstr "lpadmin: Se esperaba un URI de dispositivo tras la opción '-v'.\n"
+
+msgid "lpadmin: Expected file type(s) after '-I' option!\n"
+msgstr "lpadmin: Se esperaba tipo(s) de archivo(s) tras la opción '-l'.\n"
+
+msgid "lpadmin: Expected hostname after '-h' option!\n"
+msgstr "lpadmin: Se esperaba un nombre de ordenador tras la opción '-h'.\n"
+
+msgid "lpadmin: Expected interface after '-i' option!\n"
+msgstr "lpadmin: Se esperaba una interfaz tras la opción '-i'.\n"
+
+msgid "lpadmin: Expected location after '-L' option!\n"
+msgstr "lpadmin: Se esperaba una ubicación tras la opción '-L'.\n"
+
+msgid "lpadmin: Expected model after '-m' option!\n"
+msgstr "lpadmin: Se esperaba un modelo tras la opción '-m'.\n"
+
+msgid "lpadmin: Expected name=value after '-o' option!\n"
+msgstr "lpadmin: Se esperaba un nombre=valor tras la opción '-o'.\n"
+
+msgid "lpadmin: Expected printer after '-p' option!\n"
+msgstr "lpadmin: Se esperaba una impresora tras la opción '-p'.\n"
+
+msgid "lpadmin: Expected printer name after '-d' option!\n"
+msgstr "lpadmin: Se esperaba un nombre de impresora tras la opción '-d'\n"
+
+msgid "lpadmin: Expected printer or class after '-x' option!\n"
+msgstr "lpadmin: Se esperaba una impresora o clase tras la opción '-x'.\n"
+
+msgid "lpadmin: No member names were seen!\n"
+msgstr "lpadmin: No se han visto nombres de miembros.\n"
+
+#, c-format
+msgid "lpadmin: Printer %s is already a member of class %s.\n"
+msgstr "lpadmin: La impresora %s ya es miembro de la clase %s.\n"
+
+#, c-format
+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"
+
+msgid ""
+"lpadmin: Unable to add a printer to the class:\n"
+"         You must specify a printer name first!\n"
+msgstr ""
+"lpadmin: No se ha podido añadir una impresora a la clase:\n"
+"         Debe especificar un nombre de impresora primero.\n"
+
+#, c-format
+msgid "lpadmin: Unable to connect to server: %s\n"
+msgstr "lpadmin: No se ha podido conectar al servidor: %s\n"
+
+#, c-format
+msgid "lpadmin: Unable to create temporary file - %s\n"
+msgstr "lpadmin: No se ha podido crear el archivo temporal - %s\n"
+
+#, c-format
+msgid "lpadmin: Unable to create temporary file: %s\n"
+msgstr "lpadmin: No se ha podido crear el archivo temporal: %s\n"
+
+#, c-format
+msgid "lpadmin: Unable to open PPD file \"%s\" - %s\n"
+msgstr "lpadmin: No se ha podido abrir el archivo PPD \"%s\" - %s\n"
+
+#, c-format
+msgid "lpadmin: Unable to open file \"%s\": %s\n"
+msgstr "lpadmin: No se ha podido abrir el archivo \"%s\": %s\n"
+
+msgid ""
+"lpadmin: Unable to remove a printer from the class:\n"
+"         You must specify a printer name first!\n"
+msgstr ""
+"lpadmin: No se ha podido quitar una impresora de la clase:\n"
+"         Primero debe especificar un nombre de impresora.\n"
+
+msgid ""
+"lpadmin: Unable to set the PPD file:\n"
+"         You must specify a printer name first!\n"
+msgstr ""
+"lpadmin: No se ha podido establecer el archivo PPD:\n"
+"         Primero debe especificar un nombre de impresora.\n"
+
+msgid ""
+"lpadmin: Unable to set the device URI:\n"
+"         You must specify a printer name first!\n"
+msgstr ""
+"lpadmin: No se ha podido ajustar el URI de dispositivo:\n"
+"         Primero debe especificar un nombre de impresora.\n"
+
+msgid ""
+"lpadmin: Unable to set the interface script or PPD file:\n"
+"         You must specify a printer name first!\n"
+msgstr ""
+"lpadmin: No se ha podido establecer el script de interfaz o el archivo PPD:\n"
+"         Primero debe especificar un nombre de impresora.\n"
+
+msgid ""
+"lpadmin: Unable to set the interface script:\n"
+"         You must specify a printer name first!\n"
+msgstr ""
+"lpadmin: No se ha podido establecer el script de interfaz:\n"
+"         Primero debe especificar un nombre de impresora.\n"
+
+msgid ""
+"lpadmin: Unable to set the printer description:\n"
+"         You must specify a printer name first!\n"
+msgstr ""
+"lpadmin: No se ha podido establecer la descripción de la impresora:\n"
+"         Primero debe especificar un nombre de impresora.\n"
+
+msgid ""
+"lpadmin: Unable to set the printer location:\n"
+"         You must specify a printer name first!\n"
+msgstr ""
+"lpadmin: No se ha podido establecer la ubicación de la impresora:\n"
+"         Primero debe especificar un nombre de impresora.\n"
+
+msgid ""
+"lpadmin: Unable to set the printer options:\n"
+"         You must specify a printer name first!\n"
+msgstr ""
+"lpadmin: No se han podido establecer las opciones de impresora:\n"
+"         Primero debe especificar un nombre de impresora.\n"
+
+#, c-format
+msgid "lpadmin: Unknown allow/deny option \"%s\"!\n"
+msgstr "lpadmin: Opción allow/deny desconocida \"%s\".\n"
+
+#, c-format
+msgid "lpadmin: Unknown argument '%s'!\n"
+msgstr "lpadmin: Argumento '%s' desconocido.\n"
+
+#, c-format
+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"
+
+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"
+
+msgid "lpinfo: Expected language after --language!\n"
+msgstr "lpinfo: Se esperaba un idioma tras --language.\n"
+
+msgid "lpinfo: Expected make and model after --make-and-model!\n"
+msgstr "lpinfo: Se esperaba marca y modelo tras --make-and-model.\n"
+
+msgid "lpinfo: Expected product string after --product!\n"
+msgstr "lpinfo: Se esperaba una cadena de producto tras --product.\n"
+
+msgid "lpinfo: Expected scheme list after --exclude-schemes!\n"
+msgstr ""
+
+msgid "lpinfo: Expected scheme list after --include-schemes!\n"
+msgstr ""
+
+msgid "lpinfo: Expected timeout after --timeout!\n"
+msgstr "lpinfo: Se esperaba un tiempo tras --timeout.\n"
+
+#, c-format
+msgid "lpinfo: Unknown argument '%s'!\n"
+msgstr "lpinfo Argumento '%s' desconocido.\n"
+
+#, c-format
+msgid "lpinfo: Unknown option '%c'!\n"
+msgstr "lpinfo: Opción '%c' desconocida.\n"
+
+#, c-format
+msgid "lpinfo: Unknown option '%s'!\n"
+msgstr "lpinfo: Opción desconocida '%s'.\n"
+
+#, c-format
+msgid "lpmove: Unable to connect to server: %s\n"
+msgstr "lpmove: No se ha podido conectar al servidor: %s\n"
+
+#, c-format
+msgid "lpmove: Unknown argument '%s'!\n"
+msgstr "lpmove: Argumento '%s' desconocido.\n"
+
+#, c-format
+msgid "lpmove: Unknown option '%c'!\n"
+msgstr "lpmove: Opción '%c' desconocida.\n"
+
+msgid "lpoptions: No printers!?!\n"
+msgstr "lpoptions: ¡¿¡No hay impresoras!?!\n"
+
+#, c-format
+msgid "lpoptions: Unable to add printer or instance: %s\n"
+msgstr "lpoptions: No se ha podido añadir la impresora o la instancia: %s\n"
+
+#, c-format
+msgid "lpoptions: Unable to get PPD file for %s: %s\n"
+msgstr "lpoptions: No se ha podido obtener el archivo PPD para %s: %s\n"
+
+#, c-format
+msgid "lpoptions: Unable to open PPD file for %s!\n"
+msgstr "lpoptions: No se ha podido abrir el archivo PPD para %s.\n"
+
+msgid "lpoptions: Unknown printer or class!\n"
+msgstr "lpoptions: Impresora o clase desconocida.\n"
+
+msgid "lppasswd: Only root can add or delete passwords!\n"
+msgstr "lppasswd: Solo el usuario root puede añadir o borrar contraseñas.\n"
+
+msgid "lppasswd: Password file busy!\n"
+msgstr "lppasswd: Archivo de contraseñas ocupado.\n"
+
+msgid "lppasswd: Password file not updated!\n"
+msgstr "lppasswd: Archivo de contraseñas no actualizado.\n"
+
+msgid "lppasswd: Sorry, password doesn't match!\n"
+msgstr "lppasswd: Lo siento, las contraseñas no coinciden.\n"
+
+msgid ""
+"lppasswd: Sorry, password rejected.\n"
+"Your password must be at least 6 characters long, cannot contain\n"
+"your username, and must contain at least one letter and number.\n"
+msgstr ""
+"lppasswd: Lo siento, se ha rechazado la contraseña.\n"
+"Su contraseña debe tener al menos 6 caracteres, no puede contener\n"
+"su nombre de usuario, y debe tener al menos una letra y un número.\n"
+
+msgid "lppasswd: Sorry, passwords don't match!\n"
+msgstr "lppasswd: Lo siento, las contraseñas no coinciden.\n"
+
+#, c-format
+msgid "lppasswd: Unable to copy password string: %s\n"
+msgstr "lppasswd: No se ha podido copiar la cadena de contraseña: %s\n"
+
+#, c-format
+msgid "lppasswd: Unable to open password file: %s\n"
+msgstr "lppasswd: No se ha podido abrir el archivo de contraseñas: %s\n"
+
+#, c-format
+msgid "lppasswd: Unable to write to password file: %s\n"
+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"
+
+#, c-format
+msgid "lppasswd: failed to rename password file: %s\n"
+msgstr "lppasswd: falló al cambiar de nombre al archivo de contraseñas: %s\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid "members of class %s:\n"
+msgstr "miembros de la clase %s:\n"
+
+msgid "no entries\n"
+msgstr "no hay entradas\n"
+
+msgid "no system default destination\n"
+msgstr "no hay un destino predeterminado del sistema\n"
+
+msgid "notify-events not specified!"
+msgstr "notify-events no especificado."
+
+#, c-format
+msgid "notify-recipient-uri URI \"%s\" is already used!"
+msgstr "El URI notify-recipient-uri \"%s\" ya está usado."
+
+#, c-format
+msgid "notify-recipient-uri URI \"%s\" uses unknown scheme!"
+msgstr "El URI notify-recipient-uri \"%s\" usa un esquema desconocido."
+
+#, c-format
+msgid "notify-subscription-id %d no good!"
+msgstr "notify-subscription-id %d incorrecto."
+
+msgid "pending"
+msgstr "pendiente"
+
+#, c-format
+msgid "ppdc: Adding include directory \"%s\"...\n"
+msgstr "ppdc: Añadiendo directorio include \"%s\"...\n"
+
+#, c-format
+msgid "ppdc: Adding/updating UI text from %s...\n"
+msgstr "ppdc: Añadiendo/actualizando texto UI desde %s...\n"
+
+#, c-format
+msgid "ppdc: Bad boolean value (%s) on line %d of %s.\n"
+msgstr "ppdc: Valor lógico (%s) incorrecto en línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Bad resolution name \"%s\" on line %d of %s!\n"
+msgstr "ppdc: Resolución de nombre \"%s\" incorrecta en línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Bad status keyword %s on line %d of %s!\n"
+msgstr "ppdc: Clave de estado %s incorrecta en línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Bad variable substitution ($%c) on line %d of %s.\n"
+msgstr "ppdc: Sustitución de variable ($%c) errónea en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Choice found on line %d of %s with no Option!\n"
+msgstr "ppdc: Selección encontrada en línea %d de %s sin opciones.\n"
+
+#, c-format
+msgid "ppdc: Duplicate #po for locale %s on line %d of %s!\n"
+msgstr "ppdc: #po duplicado para código regional %s en línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected a filter definition on line %d of %s!\n"
+msgstr "ppdc: Se esperaba una definición de filtro en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected a program name on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un nombre de programa en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected boolean value on line %d of %s.\n"
+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"
+
+#, c-format
+msgid "ppdc: Expected choice code on line %d of %s.\n"
+msgstr "ppdc: Se esperaba un código apropiado en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected choice name/text on line %d of %s.\n"
+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"
+
+#, c-format
+msgid "ppdc: Expected colorspace for ColorModel on line %d of %s!\n"
+msgstr "ppdc: Se esperaba colorspace para ColorModel en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected compression for ColorModel on line %d of %s!\n"
+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"
+
+#, 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"
+
+#, c-format
+msgid "ppdc: Expected duplex type after Duplex on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un tipo dúplex tras Duplex en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected encoding after Font on line %d of %s!\n"
+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"
+
+#, c-format
+msgid "ppdc: Expected group name/text on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un nombre/texto de grupo en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected include filename on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un nombre de archivo include en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected integer on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un número entero en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected locale after #po on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un código regional tras #po en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected name after %s on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un nombre tras %s en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected name after FileName on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un nombre tras FileName en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected name after Font on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un nombre tras Font en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected name after Manufacturer on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un nombre tras Manufacturer en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected name after MediaSize on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un nombre tras MediaSize en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected name after ModelName on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un nombre tras ModelName en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected name after PCFileName on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un nombre tras PCFileName en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected name/text after %s on line %d of %s!\n"
+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"
+
+#, 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"
+
+#, 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"
+
+#, c-format
+msgid "ppdc: Expected option name/text on line %d of %s!\n"
+msgstr "ppdc: Se esperaba una opción de nombre/texto en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected option section on line %d of %s!\n"
+msgstr "ppdc: Se esperaba una sección de opciones en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected option type on line %d of %s!\n"
+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"
+
+#, 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"
+
+#, 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"
+
+#, c-format
+msgid "ppdc: Expected selector after %s on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un selector tras %s en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected status after Font on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un estado tras Font en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected string after Copyright on line %d of %s!\n"
+msgstr "ppdc: Se esperaba una cadena tras Copyright en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected string after Version on line %d of %s!\n"
+msgstr "ppdc: Se esperaba una cadena tras Version en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected two option names on line %d of %s!\n"
+msgstr "ppdc: Se esperaban dos nombres de opciones en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected value after %s on line %d of %s!\n"
+msgstr "ppdc: Se esperaba un valor tras %s en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Expected version after Font on line %d of %s!\n"
+msgstr "ppdc: Se esperaba una versión tras Font en la línea %d de %s'.\n"
+
+#, c-format
+msgid "ppdc: Invalid #include/#po filename \"%s\"!\n"
+msgstr "ppdc: Nombre de fichero #include/#po incorrecto \"%s\".\n"
+
+#, c-format
+msgid "ppdc: Invalid cost for filter on line %d of %s!\n"
+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"
+
+#, 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"
+
+#, c-format
+msgid "ppdc: Invalid option section \"%s\" on line %d of %s!\n"
+msgstr "ppdc: Sección de opción incorrecta \"%s\" en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Invalid option type \"%s\" on line %d of %s!\n"
+msgstr "ppdc: Tipo de opción incorrecta \"%s\" en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Loading driver information file \"%s\"...\n"
+msgstr "ppdc: Cargando archivo de información de controlador \"%s\"...\n"
+
+#, c-format
+msgid "ppdc: Loading messages for locale \"%s\"...\n"
+msgstr "ppdc: Cargando mensajes del idioma \"%s\"...\n"
+
+#, c-format
+msgid "ppdc: Loading messages from \"%s\"...\n"
+msgstr "ppdc: Cargando mensajes desde \"%s\"...\n"
+
+#, c-format
+msgid "ppdc: Missing #endif at end of \"%s\"!\n"
+msgstr "ppdc: Falta un #endif al final de \"%s\".\n"
+
+#, c-format
+msgid "ppdc: Missing #if on line %d of %s!\n"
+msgstr "ppdc: Falta un #if en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: No message catalog provided for locale %s!\n"
+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"
+
+#, c-format
+msgid "ppdc: Option constraint must *name on line %d of %s!\n"
+msgstr "ppdc: Opción de restricción debe *name en línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Too many nested #if's on line %d of %s!\n"
+msgstr "ppdc: Demasiados #if anidados en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Unable to create PPD file \"%s\" - %s.\n"
+msgstr "ppdc: No se ha podido crear el archivo PPD \"%s\" - %s.\n"
+
+#, c-format
+msgid "ppdc: Unable to create output directory %s: %s\n"
+msgstr "ppdc: No se ha podido crear el directorio de salida %s: %s\n"
+
+#, c-format
+msgid "ppdc: Unable to create output pipes: %s\n"
+msgstr "ppdc: No se han podido crear canales (pipes) de salida: %s\n"
+
+#, c-format
+msgid "ppdc: Unable to execute cupstestppd: %s\n"
+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"
+
+#, 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"
+
+#, c-format
+msgid "ppdc: Unable to find localization for \"%s\" - %s\n"
+msgstr "ppdc: No se ha podido encontrar localización para \"%s\" - %s\n"
+
+#, c-format
+msgid "ppdc: Unable to load localization file \"%s\" - %s\n"
+msgstr "ppdc: No se ha podido cargar el archivo de localización \"%s\" - %s\n"
+
+#, c-format
+msgid "ppdc: Undefined variable (%s) on line %d of %s.\n"
+msgstr "ppdc: Variable no definida (%s) en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Unknown driver type %s on line %d of %s!\n"
+msgstr "ppdc: Tipo de controlador desconocido %s en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s!\n"
+msgstr "ppdc: Tipo dúplex desconocido \"%s\" en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Unknown media size \"%s\" on line %d of %s!\n"
+msgstr "ppdc: Tamaño de papel desconocido \"%s\" en la línea %d de %s.\n"
+
+#, c-format
+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"
+
+#, c-format
+msgid "ppdc: Unterminated string starting with %c on line %d of %s!\n"
+msgstr "ppdc: Cadena que comienza por %c sin terminar en la línea %d de %s.\n"
+
+#, c-format
+msgid "ppdc: Writing %s...\n"
+msgstr "ppdc: Escribiendo %s...\n"
+
+#, c-format
+msgid "ppdc: Writing PPD files to directory \"%s\"...\n"
+msgstr "ppdc: Escribiendo archivos PPD al directorio \"%s\"...\n"
+
+#, c-format
+msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s!\n"
+msgstr "ppdmerge: LanguageVersion \"%s\" incorrecto en %s.\n"
+
+#, c-format
+msgid "ppdmerge: Ignoring PPD file %s...\n"
+msgstr "ppdmerge: Ignorando archivo PPD %s...\n"
+
+#, c-format
+msgid "ppdmerge: Unable to backup %s to %s- %s\n"
+msgstr "ppdmerge: No se ha podido hacer copia de seguridad de %s a %s- %s\n"
+
+#, c-format
+msgid "printer %s disabled since %s -\n"
+msgstr "la impresora %s está deshabilitada desde %s -\n"
+
+#, c-format
+msgid "printer %s is idle.  enabled since %s\n"
+msgstr "la impresora %s está inactiva.  activada desde %s\n"
+
+#, c-format
+msgid "printer %s now printing %s-%d.  enabled since %s\n"
+msgstr "la impresora %s está imprimiendo %s-%d.  activada desde %s\n"
+
+#, c-format
+msgid "printer %s/%s disabled since %s -\n"
+msgstr "la impresora %s/%s está desactivada desde %s -\n"
+
+#, c-format
+msgid "printer %s/%s is idle.  enabled since %s\n"
+msgstr "la impresora %s/%s está inactiva.  activada desde %s\n"
+
+#, c-format
+msgid "printer %s/%s now printing %s-%d.  enabled since %s\n"
+msgstr "la impresora %s/%s está imprimiendo %s-%d.  activada desde %s\n"
+
+msgid "processing"
+msgstr "en proceso"
+
+#, c-format
+msgid "request id is %s-%d (%d file(s))\n"
+msgstr "la id solicitada es %s-%d (%d archivo(s))\n"
+
+msgid "request-id uses indefinite length"
+msgstr "request-id usa una longitud indefinida"
+
+msgid "scheduler is not running\n"
+msgstr "el planificador de tareas no se está ejecutando\n"
+
+msgid "scheduler is running\n"
+msgstr "el planificador de tareas se está ejecutando\n"
+
+#, c-format
+msgid "stat of %s failed: %s"
+msgstr "estado de %s ha fallado: %s"
+
+msgid "status\t\tshow status of daemon and queue\n"
+msgstr "status\t\tmuestra el estado del demonio y la cola\n"
+
+msgid "stopped"
+msgstr "parada"
+
+#, c-format
+msgid "system default destination: %s\n"
+msgstr "destino predeterminado del sistema: %s\n"
+
+#, c-format
+msgid "system default destination: %s/%s\n"
+msgstr "destino predeterminado del sistema: %s/%s\n"
+
+msgid "unknown"
+msgstr "desconocido"
+
+msgid "untitled"
+msgstr "sin título"
+
+msgid "variable-bindings uses indefinite length"
+msgstr "Variable-bindings usa una longitud indefinida"
+
+#~ msgid "INFO: Attempting to connect to host %s for printer %s\n"
+#~ msgstr "INFO: Intentando conectar al ordenador %s para la impresora %s\n"
+
+#~ msgid "INFO: Attempting to connect to host %s on port %d\n"
+#~ msgstr "INFO: Intentando conectar al ordenador %s en el puerto %d\n"
+
+#~ msgid "INFO: Connected to %s...\n"
+#~ msgstr "INFO: Conectado a %s...\n"
+
+#~ msgid "INFO: Connecting to %s on port %d...\n"
+#~ msgstr "INFO: Conectando con %s en el puerto %d...\n"
+
+#~ msgid "INFO: Looking for \"%s\"...\n"
+#~ msgstr "INFO: Buscando \"%s\"...\n"
+
+#~ msgid "lpinfo: Unable to connect to server: %s\n"
+#~ msgstr "lpinfo: No se ha podido conectar al servidor: %s\n"
index e218fd096ffade7d2750695e11c868ec60eee4fc..b4c0c5fbe232409c414e58d958257d8ebf2a683c 100644 (file)
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH cupsd.conf 5 "Common UNIX Printing System" "8 September 2008" "Apple Inc."
+.TH cupsd.conf 5 "Common UNIX Printing System" "8 December 2008" "Apple Inc."
 .SH NAME
 cupsd.conf \- server configuration file for cups
 .SH DESCRIPTION
@@ -256,6 +256,14 @@ DefaultCharset charset
 .br
 Specifies the default character set to use for text.
 .TP 5
+DefaultEncryption Never
+.TP 5
+DefaultEncryption IfRequested
+.TP 5
+DefaultEncryption Required
+.br
+Specifies the type of encryption to use for authenticated requests.
+.TP 5
 DefaultLanguage locale
 .br
 Specifies the default language to use for text and web content.
index 19667785105fd0b3894f6b763fe15cea3a352928..27765501cde8bb96ee248925e25a1c8b2ea83547 100644 (file)
@@ -469,60 +469,25 @@ d 0755 root $CUPS_GROUP $STATEDIR -
 d 0511 root $CUPS_PRIMARY_SYSTEM_GROUP $STATEDIR/certs -
 
 # Data files
-f 0644 root sys $LOCALEDIR/da/cups_da.po locale/cups_da.po
-f 0644 root sys $LOCALEDIR/da/ppdc_da.po locale/ppdc_da.po
-
-f 0644 root sys $LOCALEDIR/de/cups_de.po locale/cups_de.po
-f 0644 root sys $LOCALEDIR/de/ppdc_de.po locale/ppdc_de.po
-
+#f 0644 root sys $LOCALEDIR/da/cups_da.po locale/cups_da.po
+#f 0644 root sys $LOCALEDIR/de/cups_de.po locale/cups_de.po
 f 0644 root sys $LOCALEDIR/es/cups_es.po locale/cups_es.po
-f 0644 root sys $LOCALEDIR/es/ppdc_es.po locale/ppdc_es.po
-
-f 0644 root sys $LOCALEDIR/et/cups_et.po locale/cups_et.po
-f 0644 root sys $LOCALEDIR/et/ppdc_et.po locale/ppdc_et.po
-
-f 0644 root sys $LOCALEDIR/fi/cups_fi.po locale/cups_fi.po
-f 0644 root sys $LOCALEDIR/fi/ppdc_fi.po locale/ppdc_fi.po
-
-f 0644 root sys $LOCALEDIR/fr/cups_fr.po locale/cups_fr.po
-f 0644 root sys $LOCALEDIR/fr/ppdc_fr.po locale/ppdc_fr.po
-
-f 0644 root sys $LOCALEDIR/he/cups_he.po locale/cups_he.po
-f 0644 root sys $LOCALEDIR/he/ppdc_he.po locale/ppdc_he.po
-
-f 0644 root sys $LOCALEDIR/it/cups_it.po locale/cups_it.po
-f 0644 root sys $LOCALEDIR/it/ppdc_it.po locale/ppdc_it.po
-
-f 0644 root sys $LOCALEDIR/ja/cups_ja.po locale/cups_ja.po
-f 0644 root sys $LOCALEDIR/ja/ppdc_ja.po locale/ppdc_ja.po
-
-f 0644 root sys $LOCALEDIR/ko/cups_ko.po locale/cups_ko.po
-f 0644 root sys $LOCALEDIR/ko/ppdc_ko.po locale/ppdc_ko.po
-
-f 0644 root sys $LOCALEDIR/nl/cups_nl.po locale/cups_nl.po
-f 0644 root sys $LOCALEDIR/nl/ppdc_nl.po locale/ppdc_nl.po
-
-f 0644 root sys $LOCALEDIR/no/cups_no.po locale/cups_no.po
-f 0644 root sys $LOCALEDIR/no/ppdc_no.po locale/ppdc_no.po
-
-f 0644 root sys $LOCALEDIR/pl/cups_pl.po locale/cups_pl.po
-f 0644 root sys $LOCALEDIR/pl/ppdc_pl.po locale/ppdc_pl.po
-
-f 0644 root sys $LOCALEDIR/pt/cups_pt.po locale/cups_pt.po
-f 0644 root sys $LOCALEDIR/pt/ppdc_pt.po locale/ppdc_pt.po
-f 0644 root sys $LOCALEDIR/pt_BR/cups_pt_BR.po locale/cups_pt_BR.po
-f 0644 root sys $LOCALEDIR/pt_BR/ppdc_pt_BR.po locale/ppdc_pt_BR.po
-
-f 0644 root sys $LOCALEDIR/ru/cups_ru.po locale/cups_ru.po
-f 0644 root sys $LOCALEDIR/ru/ppdc_ru.po locale/ppdc_ru.po
-
-f 0644 root sys $LOCALEDIR/sv/cups_sv.po locale/cups_sv.po
-f 0644 root sys $LOCALEDIR/sv/ppdc_sv.po locale/ppdc_sv.po
-
-f 0644 root sys $LOCALEDIR/zh/cups_zh.po locale/cups_zh.po
-f 0644 root sys $LOCALEDIR/zh/ppdc_zh.po locale/ppdc_zh.po
-f 0644 root sys $LOCALEDIR/zh_TW/cups_zh_TW.po locale/cups_zh_TW.po
-f 0644 root sys $LOCALEDIR/zh_TW/ppdc_zh_TW.po locale/ppdc_zh_TW.po
+#f 0644 root sys $LOCALEDIR/et/cups_et.po locale/cups_et.po
+#f 0644 root sys $LOCALEDIR/fi/cups_fi.po locale/cups_fi.po
+#f 0644 root sys $LOCALEDIR/fr/cups_fr.po locale/cups_fr.po
+#f 0644 root sys $LOCALEDIR/he/cups_he.po locale/cups_he.po
+#f 0644 root sys $LOCALEDIR/it/cups_it.po locale/cups_it.po
+#f 0644 root sys $LOCALEDIR/ja/cups_ja.po locale/cups_ja.po
+#f 0644 root sys $LOCALEDIR/ko/cups_ko.po locale/cups_ko.po
+#f 0644 root sys $LOCALEDIR/nl/cups_nl.po locale/cups_nl.po
+#f 0644 root sys $LOCALEDIR/no/cups_no.po locale/cups_no.po
+#f 0644 root sys $LOCALEDIR/pl/cups_pl.po locale/cups_pl.po
+#f 0644 root sys $LOCALEDIR/pt/cups_pt.po locale/cups_pt.po
+#f 0644 root sys $LOCALEDIR/pt_BR/cups_pt_BR.po locale/cups_pt_BR.po
+#f 0644 root sys $LOCALEDIR/ru/cups_ru.po locale/cups_ru.po
+#f 0644 root sys $LOCALEDIR/sv/cups_sv.po locale/cups_sv.po
+#f 0644 root sys $LOCALEDIR/zh/cups_zh.po locale/cups_zh.po
+#f 0644 root sys $LOCALEDIR/zh_TW/cups_zh_TW.po locale/cups_zh_TW.po
 
 d 0755 root sys $DATADIR -
 
@@ -571,8 +536,8 @@ f 0644 root sys $DATADIR/templates templates/*.tmpl
 #d 0755 root sys $DATADIR/templates/de
 #f 0644 root sys $DATADIR/templates/de templates/de/*.tmpl
 
-#d 0755 root sys $DATADIR/templates/es
-#f 0644 root sys $DATADIR/templates/es templates/es/*.tmpl
+d 0755 root sys $DATADIR/templates/es
+f 0644 root sys $DATADIR/templates/es templates/es/*.tmpl
 
 #d 0755 root sys $DATADIR/templates/et
 #f 0644 root sys $DATADIR/templates/et templates/et/*.tmpl
@@ -678,8 +643,8 @@ f 0644 root sys $DOCDIR/robots.txt doc/robots.txt
 #d 0755 root sys $DOCDIR/de
 #f 0644 root sys $DOCDIR/de doc/de/*.html
 
-#d 0755 root sys $DOCDIR/es
-#f 0644 root sys $DOCDIR/es doc/es/*.html
+d 0755 root sys $DOCDIR/es
+f 0644 root sys $DOCDIR/es doc/es/*.html
 
 #d 0755 root sys $DOCDIR/et
 #f 0644 root sys $DOCDIR/et doc/et/*.html
index f902d309f6f9f2ca326ed5cd06431ce77077defd..dfe7b5b0e4e06351f0b68c36f766c5586f4f8120 100644 (file)
@@ -942,9 +942,13 @@ list_ppds(int        request_id,   /* I - Request ID */
   num_options = cupsParseOptions(opt, 0, &options);
   exclude     = cupsdCreateStringsArray(cupsGetOption("exclude-schemes",
                                                       num_options, options));
-  include     = cupsdCreateStringsArray(cupsGetOption("exclude-schemes",
+  include     = cupsdCreateStringsArray(cupsGetOption("include-schemes",
                                                      num_options, options));
 
+  for (i = 0; i < num_options; i ++)
+    fprintf(stderr, "DEBUG: [cups-driverd] %s=%s\n", options[i].name,
+            options[i].value);
+
   load_drivers(include, exclude);
 
  /*
@@ -1051,7 +1055,7 @@ list_ppds(int        request_id,  /* I - Request ID */
     count = limit;
 
   if (device_id || language || make || make_and_model || model_number_str ||
-      product || include || exclude)
+      product)
   {
     matches = cupsArrayNew((cups_array_func_t)compare_matches, NULL);
 
@@ -1170,6 +1174,29 @@ list_ppds(int        request_id, /* I - Request ID */
       }
     }
   }
+  else if (include || exclude)
+  {
+    matches = cupsArrayNew((cups_array_func_t)compare_ppds, NULL);
+
+    for (ppd = (ppd_info_t *)cupsArrayFirst(PPDsByMakeModel);
+        ppd;
+        ppd = (ppd_info_t *)cupsArrayNext(PPDsByMakeModel))
+    {
+     /*
+      * Filter PPDs based on the include/exclude lists.
+      */
+
+      if (ppd->record.type < PPD_TYPE_POSTSCRIPT ||
+         ppd->record.type >= PPD_TYPE_DRV)
+       continue;
+
+      if (cupsArrayFind(exclude, ppd->record.scheme) ||
+          (include && !cupsArrayFind(include, ppd->record.scheme)))
+        continue;
+
+      cupsArrayAdd(matches, ppd);
+    }
+  }
   else
     matches = PPDsByMakeModel;
 
@@ -1929,7 +1956,9 @@ load_drivers(cups_array_t *include,       /* I - Drivers to include */
   int          i;                      /* Looping var */
   char         *start,                 /* Start of value */
                *ptr;                   /* Pointer into string */
-  const char   *server_bin;            /* CUPS_SERVERBIN env variable */
+  const char   *server_bin,            /* CUPS_SERVERBIN env variable */
+               *scheme,                /* Scheme for this driver */
+               *scheme_end;            /* Pointer to end of scheme */
   char         drivers[1024];          /* Location of driver programs */
   int          pid;                    /* Process ID for driver program */
   cups_file_t  *fp;                    /* Pipe to driver program */
@@ -1987,9 +2016,61 @@ load_drivers(cups_array_t *include,      /* I - Drivers to include */
     * Include/exclude specific drivers...
     */
 
-    if (cupsArrayFind(exclude, dent->filename) ||
-       (include && !cupsArrayFind(include, dent->filename)))
-      continue;
+    if (exclude)
+    {
+     /*
+      * Look for "scheme" or "scheme*" (prefix match), and skip any matches.
+      */
+
+      for (scheme = (char *)cupsArrayFirst(exclude);
+          scheme;
+          scheme = (char *)cupsArrayNext(exclude))
+      {
+        fprintf(stderr, "DEBUG: [cups-driverd] Exclude \"%s\" with \"%s\"?\n",
+               dent->filename, scheme);
+       scheme_end = scheme + strlen(scheme) - 1;
+
+       if ((scheme_end > scheme && *scheme_end == '*' &&
+            !strncmp(scheme, dent->filename, scheme_end - scheme)) ||
+           !strcmp(scheme, dent->filename))
+       {
+         fputs("DEBUG: [cups-driverd] Yes, exclude!\n", stderr);
+         break;
+       }
+      }
+
+      if (scheme)
+        continue;
+    }
+
+    if (include)
+    {
+     /*
+      * Look for "scheme" or "scheme*" (prefix match), and skip any non-matches.
+      */
+
+      for (scheme = (char *)cupsArrayFirst(include);
+          scheme;
+          scheme = (char *)cupsArrayNext(include))
+      {
+        fprintf(stderr, "DEBUG: [cups-driverd] Include \"%s\" with \"%s\"?\n",
+               dent->filename, scheme);
+       scheme_end = scheme + strlen(scheme) - 1;
+
+       if ((scheme_end > scheme && *scheme_end == '*' &&
+            !strncmp(scheme, dent->filename, scheme_end - scheme)) ||
+           !strcmp(scheme, dent->filename))
+       {
+         fputs("DEBUG: [cups-driverd] Yes, include!\n", stderr);
+         break;
+       }
+      }
+
+      if (!scheme)
+        continue;
+    }
+    else
+      scheme = dent->filename;
 
    /*
     * Run the driver with no arguments and collect the output...
@@ -2056,7 +2137,7 @@ load_drivers(cups_array_t *include,       /* I - Drivers to include */
          }
 
           ppd = add_ppd("", name, languages, make, make_and_model, device_id,
-                       product, psversion, 0, 0, 0, type, dent->filename);
+                       product, psversion, 0, 0, 0, type, scheme);
 
           if (!ppd)
          {
index 86db35441d3e921e913ad859e227095c8c11198f..5a92c7d3ae9fe7e2c928d4f01e390f62adbdf90f 100644 (file)
@@ -7335,6 +7335,10 @@ get_ppds(cupsd_client_t *con)            /* I - Client connection */
   type         = ippFindAttribute(con->request, "ppd-type", IPP_TAG_KEYWORD);
   requested    = ippFindAttribute(con->request, "requested-attributes",
                                   IPP_TAG_KEYWORD);
+  exclude      = ippFindAttribute(con->request, "exclude-schemes",
+                                  IPP_TAG_NAME);
+  include      = ippFindAttribute(con->request, "include-schemes",
+                                  IPP_TAG_NAME);
 
   if (requested)
     url_encode_attr(requested, requested_str, sizeof(requested_str));
index 64fbfd6eb3af1a4bb1696b3b255e99d9c82a51ee..f86e967a30f1d5fcff04e308bc7d118b84d4e5d9 100644 (file)
@@ -1112,6 +1112,17 @@ cupsdLoadJob(cupsd_job_t *job)           /* I - Job */
   * Copy attribute data to the job object...
   */
 
+  if (!ippFindAttribute(job->attrs, "time-at-creation", IPP_TAG_INTEGER))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                   "[Job %d] Missing or bad time-at-creation attribute in "
+                   "control file!", job->id);
+    ippDelete(job->attrs);
+    job->attrs = NULL;
+    unlink(jobfile);
+    return;
+  }
+
   if ((job->state = ippFindAttribute(job->attrs, "job-state",
                                      IPP_TAG_ENUM)) == NULL)
   {
index db3f5773f8b1c76ee79e72a216fc3087d3d14eb0..cbe1c547c4865a48c5979f4fb4530242b90d5cba 100644 (file)
@@ -3837,6 +3837,8 @@ load_ppd(cupsd_printer_t *p)              /* I - Printer */
   * Reload PPD attributes from disk...
   */
 
+  cupsdMarkDirty(CUPSD_DIRTY_PRINTERS);
+
   cupsdLogMessage(CUPSD_LOG_DEBUG, "load_ppd: Loading %s...", ppd_name);
 
   delete_string_array(&(p->filters));
diff --git a/templates/es/add-class.tmpl b/templates/es/add-class.tmpl
new file mode 100644 (file)
index 0000000..bc2db61
--- /dev/null
@@ -0,0 +1,39 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">A&ntilde;adir clase</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Nombre:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Puede contener cualquier car&aacute;cter imprimible excepto "/", "#", y espacio)</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Descripci&oacute;n:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Descripci&oacute;n f&aacute;cilmente le&iacute;ble tal como "HP LaserJet de doble cara")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Ubicaci&oacute;n:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Ubicaci&oacute;n f&aacute;cilmente le&iacute;ble tal como "Lab 1")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Miembros:</TH>
+<TD>
+<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
+{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="A&ntilde;adir clase"></TD>
+</TR>
+</TABLE>
+
+</FORM>
+</DIV>
diff --git a/templates/es/add-printer.tmpl b/templates/es/add-printer.tmpl
new file mode 100644 (file)
index 0000000..32fddd5
--- /dev/null
@@ -0,0 +1,42 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">A&ntilde;adir impresora</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{?current_make!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE" VALUE="{current_make}">:}
+{?current_make_and_model!?<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{current_make_and_model}">:}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Nombre:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
+<SMALL>(Puede contener cualquier car&aacute;cter imprimible excepto "/", "#", y espacio)</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Descripci&oacute;n:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
+<SMALL>(Descripci&oacute;n f&aacute;cilmente le&iacute;ble tal como "HP LaserJet de doble cara")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Ubicaci&oacute;n:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
+<SMALL>(Ubicaci&oacute;n f&aacute;cilmente le&iacute;ble tal como "Lab 1")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Conexi&oacute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Compartici&oacute;n:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}">
+Compartir esta impresora</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
+</TR>
+</TABLE>
+
+</FORM>
+</DIV>
diff --git a/templates/es/add-rss-subscription.tmpl b/templates/es/add-rss-subscription.tmpl
new file mode 100644 (file)
index 0000000..91c2b06
--- /dev/null
@@ -0,0 +1,43 @@
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
+
+<H2 CLASS="title">A&ntilde;adir subscripci&oacute;n RSS</H2>
+
+<TABLE SUMMARY="Add RSS Subscription form">
+<TR>
+<TH CLASS="label">Nombre:</TH>
+<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
+<SMALL>(Puede contener cualquier car&aacute;cter imprimible excepto espacio, "/", "?", y "#"))</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Cola:</TH>
+<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>Todas las colas</OPTION>{[printer_name]<OPTION VALUE="{printer_uri_supported}"{?PRINTER_URI={printer_uri_supported}? SELECTED:}>{printer_name}</OPTION>}</SELECT></TD>
+</TR>
+<TR VALIGN="TOP">
+<TH CLASS="label">Eventos:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CREATED" {?EVENT_JOB_CREATED}>Trabajo creado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Trabajo completado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Trabajo parado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Opciones de trabajo cambiadas</TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Cola parada<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Cola a&ntilde;adida<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Cola modificada<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Cola borrada</TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STARTED" {?EVENT_SERVER_STARTED}>Servidor iniciado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_STOPPED" {?EVENT_SERVER_STOPPED}>Servidor parado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_RESTARTED" {?EVENT_SERVER_RESTARTED}>Servidor reiniciado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_SERVER_AUDIT" {?EVENT_SERVER_AUDIT}>Auditoría de seguridad del servidor</TD>
+</TR>
+<TR>
+<TH CLASS="label">N&uacute;mero m&aacute;ximo de eventos del canal:</TH>
+<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="MAX_EVENTS" SIZE="4" MAXLENGTH="4" VALUE="{MAX_EVENTS?{MAX_EVENTS}:20}"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD COLSPAN="5"><INPUT TYPE="SUBMIT" VALUE="A&ntilde;adir subscripci&oacute;n RSS"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/es/admin.tmpl b/templates/es/admin.tmpl
new file mode 100644 (file)
index 0000000..e50409e
--- /dev/null
@@ -0,0 +1,109 @@
+<TABLE CLASS="indent" SUMMARY="Tareas de administraci&oacute;n">
+<TR><TD VALIGN="TOP">
+
+<H2 CLASS="title">Impresoras</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="A&ntilde;adir impresora"></FORM>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Encontrar nuevas impresoras"></FORM>
+<FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Administrar impresoras"></FORM>
+{have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Exportar impresoras a Samba"></FORM>:}
+</P>
+
+<H2 CLASS="title">Clases</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="A&ntilde;adir clase"></FORM>
+<FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Administrar clases"></FORM>
+</P>
+
+<H2 CLASS="title">Trabajos</H2>
+
+<P>
+<FORM ACTION="/jobs/" METHDO="GET"><INPUT TYPE="SUBMIT" VALUE="Administrar trabajos"></FORM>
+</P>
+
+</TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
+
+<H2 CLASS="title">Servidor</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Editar archivo configuraci&oacute;n"></FORM>
+<FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ver archivo de registro de accesos"></FORM>
+<FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ver archivo de registro de errores"></FORM>
+<FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ver archivo de registro de p&aacute;ginas"></FORM>
+</P>
+
+{SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
+<BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
+
+<FORM METHOD="POST" ACTION="/admin">
+
+{ADVANCEDSETTINGS?<P><B>Configuraci&oacute;n del servidor\:</B></P>
+
+<P><A HREF="/admin/">Avanzada <SMALL>&#x25bc;</SMALL></A><BR>
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+<INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
+<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Mostrar impresoras compartidas por otros sistemas<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protocolos\:
+<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_CUPS" {?browse_remote_cups}> CUPS
+{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_LDAP" {?browse_remote_ldap}> LDAP:}
+{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_REMOTE_SLP" {?browse_remote_slp}> SLP:}<BR>
+<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Compartir impresoras conectadas a este sistema<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N&uacute;mero m&aacute;ximo de clientes\:
+<INPUT TYPE="TEXT" NAME="MAX_CLIENTS" VALUE="{?max_clients}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protocolos\:
+<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_CUPS" {?browse_local_cups}> CUPS
+{HAVE_DNSSD?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_DNSSD" {?browse_local_dnssd}> DNS-SD:}
+{HAVE_LDAP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_LDAP" {?browse_local_ldap}> LDAP:}
+{HAVE_LIBSLP?<INPUT TYPE="CHECKBOX" NAME="BROWSE_LOCAL_SLP" {?browse_local_slp}> SLP:}<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Permitir la impresi&oacute;n desde Internet<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Anunciar la interfaz web<BR>
+<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Permitir administraci&oacute;n remota<BR>
+{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Usar autentificaci&oacute;n Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
+<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Permitir a los usuarios cancelar cualquier trabajo (no s&oacute;lo los suyos propios)<BR>
+<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_HISTORY" {?preserve_job_history}> Preservar el historial de trabajos<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N&uacute;mero de trabajos\:
+<INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOB_FILES" {?preserve_job_files}> Preservar los archivos de impresi&oacute;n de trabajos<BR>
+<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Guardar informaci&oacute;n de depuraci&oacute;n para b&uacute;squeda de problemas<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tama&ntilde;o m&aacute;ximo del archivo de registro\:
+<INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
+
+:<P><B>Configuraci&oacute;n del servidor:</B></P>
+
+<P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Avanzada <SMALL>&#x25b6;</SMALL></A><BR>
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+<INPUT TYPE="CHECKBOX" NAME="REMOTE_PRINTERS" {?remote_printers}> Mostrar impresoras compartidas por otros sistemas<BR>
+<INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Compartir impresoras conectadas a este sistema<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Permitir la impresi&oacute;n desde Internet<BR>
+<INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Permitir administraci&oacute;n remota<BR>
+{have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Usar autentificaci&oacute;n Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
+<INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Permitir a los usuarios cancelar cualquier trabajo (no s&oacute;lo los suyos propios)<BR>
+<INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Guardar informaci&oacute;n de depuraci&oacute;n para b&uacute;squeda de problemas</P>
+
+}
+<P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Cambiar configuración"></P>
+
+</FORM>}
+
+</TD></TR>
+</TABLE>
+
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Subscripciones RSS</H2>
+
+<P>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="A&ntilde;adir subscripci&oacute;n RSS"></FORM>
+</P>
+
+</DIV>
+
+{notify_subscription_id?<TABLE CLASS="list" SUMMARY="Subscripciones RSS">
+<THEAD><TR><TH>Nombre</TH><TH>Eventos</TH><TH>Nombre de la cola</TH></TR></THEAD>
+<TBODY>{[notify_subscription_id]
+<TR><TD><A HREF="{notify_recipient_uri}">{notify_recipient_name}</A><BR>
+<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Cancelar subscripci&oacute;n RSS"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:Todas las colas}</TD></TR>}
+</TBODY>
+</TABLE>:}
diff --git a/templates/es/choose-device.tmpl b/templates/es/choose-device.tmpl
new file mode 100644 (file)
index 0000000..79ac494
--- /dev/null
@@ -0,0 +1,53 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:A&ntilde;adir impresora}</H2>
+
+{CUPS_GET_DEVICES_DONE?:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Busy Indicator"> Buscando impresoras...</P>}
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+
+<TABLE>
+{op=add-printer?:<TR>
+<TH CLASS="label">Conexi&oacute;n actual:</TH>
+<TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
+{current_device_uri}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Impresoras locales:</TH>
+<TD>
+{[device_uri]{device_class!network?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
+VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
+{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
+:}}
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">Impresoras en red descubiertas:</TH>
+<TD>
+{[device_uri]{device_class=network?{device_uri~[a-z]+://?<INPUT TYPE="RADIO" NAME="DEVICE_URI"
+VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
+{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
+:}:}}
+</TD>
+</TR>
+<TR>
+<TR>
+<TH CLASS="label">Otras impresoras en red:</TH>
+<TD>
+{[device_uri]{device_class=network?{device_uri~[a-z]+://?:<INPUT TYPE="RADIO" NAME="DEVICE_URI"
+VALUE="{device_uri}{?device_make_and_model!Unknown?|{device_make_and_model}:}">
+{device_info} {?device_make_and_model!Unknown?({device_make_and_model}):}<BR>
+}:}}
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
+</TR>
+</TABLE>
+
+</FORM>
+</DIV>
diff --git a/templates/es/choose-make.tmpl b/templates/es/choose-make.tmpl
new file mode 100644 (file)
index 0000000..370db23
--- /dev/null
@@ -0,0 +1,63 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:A&ntilde;adir impresora}</H2>
+
+<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
+<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
+<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
+<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
+
+<TABLE>
+{op=modify-printer?:<TR>
+<TH CLASS="label">Nombre:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Descripci&oacute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Ubicaci&oacute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Conexi&oacute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Compartici&oacute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
+{?printer_is_shared=?No:{?printer_is_shared=0?No:}} compartir esta impresora</TD>
+</TR>
+<TR>
+<TH CLASS="label">Marca:</TH>
+<TD>
+<SELECT NAME="PPD_MAKE" SIZE="10">
+{[ppd_make]<OPTION VALUE="{ppd_make}" {?current_make={ppd_make}?SELECTED:}>{ppd_make}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>&nbsp;</TD>
+</TR>
+<TR>
+<TH CLASS="label">O proporcione un archivo PPD:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
+TYPE="FILE" NAME="PPD_FILE"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?A&ntilde;adir impresora:Modificar impresora}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
+</DIV>
diff --git a/templates/es/choose-model.tmpl b/templates/es/choose-model.tmpl
new file mode 100644 (file)
index 0000000..8338da2
--- /dev/null
@@ -0,0 +1,59 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:A&ntilde;adir impresora}</H2>
+
+<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+<INPUT TYPE="HIDDEN" NAME="BAUDRATE" VALUE="{?baudrate}">
+<INPUT TYPE="HIDDEN" NAME="BITS" VALUE="{?bits}">
+<INPUT TYPE="HIDDEN" NAME="PARITY" VALUE="{?parity}">
+<INPUT TYPE="HIDDEN" NAME="FLOW" VALUE="{?flow}">
+<TABLE>
+{op=modify-printer?:<TR>
+<TH CLASS="label">Nombre:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Descripci&oacute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Ubicaci&oacute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Conexi&oacute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Compartici&oacute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
+{?printer_is_shared=?No:{?printer_is_shared=0?No:}} compartir esta impresora</TD>
+</TR>
+<TR>
+<TH CLASS="label">Marca:</TH>
+<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Seleccione otra marca/fabricante"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Modelo:</TH>
+<TD>
+<SELECT NAME="PPD_NAME" SIZE="10">
+{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Controlador actual - {current_make_and_model}</OPTION>:}
+{[ppd_name]<OPTION VALUE="{ppd_name}" {op=modify-printer?:{?current_make_and_model={ppd_make_and_model}?SELECTED:}}>{ppd_make_and_model} ({ppd_natural_language})
+}</SELECT>
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">O proporcione un archivo PPD:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="262144"><INPUT
+TYPE="FILE" NAME="PPD_FILE"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{op=add-printer?A&ntilde;adir impresora:Modificar impresora}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
+</DIV>
diff --git a/templates/es/choose-serial.tmpl b/templates/es/choose-serial.tmpl
new file mode 100644 (file)
index 0000000..513d0a2
--- /dev/null
@@ -0,0 +1,51 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:A&ntilde;adir impresora}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Conexi&ocaute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Baudios:</TH>
+<TD><SELECT NAME="BAUDRATE">
+{[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Paridad:</TH>
+<TD><SELECT NAME="PARITY">
+<OPTION VALUE="none" {?parity=none?SELECTED:}>Sin paridad
+<OPTION VALUE="even" {?parity=even?SELECTED:}>Par
+<OPTION VALUE="odd" {?parity=odd?SELECTED:}>Impar
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Bits de datos:</TH>
+<TD><SELECT NAME="BITS">
+<OPTION {?bits=8?SELECTED:}>8
+<OPTION {?bits=7?SELECTED:}>7
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Control de flujo:</TH>
+<TD><SELECT NAME="FLOW">
+<OPTION VALUE="none" {?flow=none?SELECTED:}>Ninguno
+<OPTION VALUE="soft" {?flow=soft?SELECTED:}>XON/XOFF (Software)
+<OPTION VALUE="hard" {?flow=hard?SELECTED:}>RTS/CTS (Hardware)
+<OPTION VALUE="dtrdsr" {?flow=dtrdsr?SELECTED:}>DTR/DSR (Hardware)
+</SELECT></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
+</TR>
+</TABLE>
+
+</FORM>
+</DIV>
\ No newline at end of file
diff --git a/templates/es/choose-uri.tmpl b/templates/es/choose-uri.tmpl
new file mode 100644 (file)
index 0000000..eddf281
--- /dev/null
@@ -0,0 +1,43 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:A&ntilde;adir impresora}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+<INPUT TYPE="HIDDEN" NAME="CURRENT_MAKE_AND_MODEL" VALUE="{?current_make_and_model}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Conexi&oacute;n:</TH>
+<TD><INPUT TYPE="TEXT" SIZE="60" MAXLENGTH="1024" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>Ejemplos:
+<PRE>
+    http://nombre_ordenador:631/ipp/
+    http://nombre_ordenador:631/ipp/puerto1
+
+    ipp://nombre_ordenador/ipp/
+    ipp://nombre_ordenador/ipp/puerto1
+
+    lpd://nombre_ordenador/cola
+
+    socket://nombre_ordenador
+    socket://nombre_ordenador:9100
+</PRE>
+
+<P>Vea <A HREF="/help/network.html" TARGET="_blank">"Impresoras
+en red"</A> para escoger el URI adecuado a usar con su impresora.</P>
+
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
+</TR>
+</TABLE>
+
+</FORM>
+</DIV>
\ No newline at end of file
diff --git a/templates/es/class-added.tmpl b/templates/es/class-added.tmpl
new file mode 100644 (file)
index 0000000..867c8d9
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">A&ntilde;adir clase</H2>
+
+<P>Se ha a&ntilde;adido con &eacute;xito la clase <A HREF="/classes/{printer_name}">{printer_name}</A>.
+
+</DIV>
diff --git a/templates/es/class-confirm.tmpl b/templates/es/class-confirm.tmpl
new file mode 100644 (file)
index 0000000..f55f1c6
--- /dev/null
@@ -0,0 +1,10 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Borrar clase {printer_name}</H2>
+
+<P><B>Advertencia:</B> &iquest;Est&aacute; seguro de querer borrar la clase
+{printer_name}?</P>
+
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Borrar clase"></FORM></P>
+
+</DIV>
diff --git a/templates/es/class-deleted.tmpl b/templates/es/class-deleted.tmpl
new file mode 100644 (file)
index 0000000..ced78ad
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Borrar clase {printer_name}</H2>
+
+<P>Se ha borrado con &eacute;xito la clase {printer_name}.
+
+</DIV>
\ No newline at end of file
diff --git a/templates/es/class-jobs-header.tmpl b/templates/es/class-jobs-header.tmpl
new file mode 100644 (file)
index 0000000..f25951b
--- /dev/null
@@ -0,0 +1,3 @@
+<DIV CLASS="indent">
+<H3 CLASS="title">Trabajos</H3>
+</DIV>
diff --git a/templates/es/class-modified.tmpl b/templates/es/class-modified.tmpl
new file mode 100644 (file)
index 0000000..d5ae2a7
--- /dev/null
@@ -0,0 +1,6 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Modificar clase {printer_name}</H2>
+
+<P>Se ha modificado con &eacute;xito la clase <A HREF="/classes/{printer_name}">{printer_name}</A>.
+</DIV>
\ No newline at end of file
diff --git a/templates/es/class.tmpl b/templates/es/class.tmpl
new file mode 100644 (file)
index 0000000..9b511ae
--- /dev/null
@@ -0,0 +1,41 @@
+<DIV CLASS="indent">
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?inactiva:{printer_state=4?procesando:en pausa}},
+{printer_is_accepting_jobs=0?rechazando trabajos:aceptando trabajos},
+{server_is_sharing_printers=0?no:{printer_is_shared=0?no:}} compartida{default_name={printer_name}?, predeterminada del servidor:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Mantenimiento</OPTION>
+<OPTION VALUE="print-test-page">Imprimir p&aacute;gina de prueba</OPTION>
+{printer_state=5?<OPTION VALUE="start-class">Reanudar impresora</OPTION>:<OPTION VALUE="stop-class">Pausar impresora</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Aceptar trabajos</OPTION>:<OPTION VALUE="reject-jobs">Rechazar trabajos</OPTION>}
+<OPTION VALUE="move-jobs">Mover todos los trabajos</OPTION>
+<OPTION VALUE="purge-jobs">Cancelar todos los trabajos</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Administraci&oacute;n</OPTION>
+<OPTION VALUE="modify-class">Modificar clase</OPTION>
+<OPTION VALUE="delete-class">Borrar clase</OPTION>
+<OPTION VALUE="set-class-options">Establecer opciones predeterminadas</OPTION>
+<OPTION VALUE="set-as-default">Poner como predeterminada del servidor</OPTION>
+<OPTION VALUE="set-allowed-users">Establecer usuarios permitidos</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Descripci&oacute;n:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Ubicaci&oacute;n:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Miembros:</TH><TD>{?member_uris=?Ninguno:{member_uris}}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Opciones predeterminadas:</TH><TD>job-sheets={job_sheets_default}
+media={media_default?{media_default}:desconocido}
+{sides_default?sides={sides_default}:}</TD></TR>
+</TABLE>
+
+</DIV>
diff --git a/templates/es/classes-header.tmpl b/templates/es/classes-header.tmpl
new file mode 100644 (file)
index 0000000..714ab89
--- /dev/null
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?No hay clases:Mostrando {#printer_name} de {total} clase{total=1?:s}}.</P>
diff --git a/templates/es/classes.tmpl b/templates/es/classes.tmpl
new file mode 100644 (file)
index 0000000..6fde7bf
--- /dev/null
@@ -0,0 +1,11 @@
+{#printer_name=0?:
+<TABLE CLASS="list" SUMMARY="Lista de clases">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Nombre de la cola <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Nombre de la cola <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Descripci&oacute;n</TH><TH>Ubicaci&oacute;n</TH><TH>Miembros</TH><TH>Estado</TH></TR>
+</THEAD>
+<TBODY>
+{[printer_name]
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{?member_uris=?Ninguna:{member_uris}}</TD><TD>{printer_state=3?Inactiva:{printer_state=4?Procesando:En pausa}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+}
+</TBODY>
+</TABLE></DIV>}
diff --git a/templates/es/command.tmpl b/templates/es/command.tmpl
new file mode 100644 (file)
index 0000000..ba50560
--- /dev/null
@@ -0,0 +1,12 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{title} en {printer_name}</H2>
+
+<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
+ALIGN="ABSMIDDLE" ALT="Indicador de ocupado"> }Trabajo de comando de impresora
+{job_state=3?pendiente:{job_state=4?retenido:
+{job_state=5?procesando:{job_state=6?parado:
+{job_state=7?cancelado:{job_state=8?anulado:completado}}}}}}{job_state=9?:{job_printer_state_message?,
+<EM>"{job_printer_state_message}"</EM>:}}</P>
+
+</DIV>
diff --git a/templates/es/edit-config.tmpl b/templates/es/edit-config.tmpl
new file mode 100644 (file)
index 0000000..cfa4ac9
--- /dev/null
@@ -0,0 +1,24 @@
+<SCRIPT TYPE="text/javascript">
+function reset_config()
+{
+  document.cups.CUPSDCONF.value = "{?cupsdconf_default}";
+}
+</SCRIPT>
+
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Editar archivo de configuraci&oacute;n</H2>
+
+<FORM NAME="cups" METHOD="POST" ACTION="/admin/">
+
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+
+<TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
+
+<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Guardar cambios">
+<INPUT TYPE="BUTTON" VALUE="Usar archivo de configuraci&oacute;n predeterminado"
+onClick="reset_config();"></P>
+
+</FORM>
+
+</DIV>
diff --git a/templates/es/error-op.tmpl b/templates/es/error-op.tmpl
new file mode 100644 (file)
index 0000000..80b20fd
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Error {?title} {?printer_name}</H2>
+
+<P>Error:</P>
+
+<BLOCKQUOTE>Operaci&oacute;n desconocida "{op}"!</BLOCKQUOTE>
+
+</DIV>
diff --git a/templates/es/error.tmpl b/templates/es/error.tmpl
new file mode 100644 (file)
index 0000000..ff30a4c
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{?title} {?printer_name} Error</H2>
+
+<P>{?message?{message}:Error:}</P>
+
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
+
+</DIV>
diff --git a/templates/es/header.tmpl.in b/templates/es/header.tmpl.in
new file mode 100644 (file)
index 0000000..11c0252
--- /dev/null
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+       <TITLE>{title} - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
+       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
+       <LINK REL="SHORTCUT ICON" HREF="/favicon.png" TYPE="image/png">
+       {refresh_page?<META HTTP-EQUIV="Refresh" CONTENT="{refresh_page}">:}
+</HEAD>
+<BODY>
+<TABLE CLASS="page" SUMMARY="{title}">
+<TR><TD CLASS="body">
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR HEIGHT="36">
+<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
+SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
+<TD CLASS="unsel"><A HREF="/">&nbsp;&nbsp;Inicio&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=admin?:un}sel"><A HREF="/admin">&nbsp;&nbsp;Administraci&oacute;n&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=classes?:un}sel"><A HREF="/classes/">&nbsp;&nbsp;Clases&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=help?:un}sel"><A HREF="/help/">&nbsp;&nbsp;Ayuda&nbsp;en&nbsp;l&iacute;nea&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=jobs?:un}sel"><A HREF="/jobs/">&nbsp;&nbsp;Trabajos&nbsp;&nbsp;</A></TD>
+<TD CLASS="{SECTION=printers?:un}sel"><A HREF="/printers/">&nbsp;&nbsp;Impresoras&nbsp;&nbsp;</A></TD>
+<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
+TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Buscar en la ayuda"
+VALUE="{SECTION=help?{?QUERY}:}" AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
+<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
+</TR>
+<TR><TD COLSPAN="9">&nbsp;</TD></TR>
+</TABLE>
diff --git a/templates/es/help-header.tmpl b/templates/es/help-header.tmpl
new file mode 100644 (file)
index 0000000..d513ca3
--- /dev/null
@@ -0,0 +1,51 @@
+<DIV CLASS="indent">
+<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
+{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
+
+<P ALIGN="CENTER"><B>Buscar en
+{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:todos los documentos}}:</B> <INPUT
+TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
+AUTOSAVE="org.cups.help" RESULTS="20">
+<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Buscar">
+<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Borrar"></P>
+
+</FORM>
+
+<!-- Bookmarks -->
+<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Contenidos">
+<TR><TD>
+
+<H3 CLASS="title">Documentos de ayuda en l&iacute;nea</H3>
+
+<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Todos los documentos</A></P>
+<HR>
+
+{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
+}
+</TD></TR>
+</TABLE></DIV>
+
+{QUERY?<P>Buscar resultados en {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:todos los documentos}}\:</P>
+{QTEXT?<UL>
+{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (in <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
+{QTEXT?</UL>:}
+:<P>No hay coincidencias.</P>}
+<HR NOSHADE>:}
+{HELPTITLE?<H1>{HELPTITLE}</H1>
+<FORM ACTION="/help/{?HELPFILE}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="PRINTABLE" VALUE="YES"><INPUT TYPE="SUBMIT" VALUE="Ver versi&oacute;n imprimible"></FORM>:
+
+<H1>Ayuda en l&iacute;nea</H1>
+
+<P>Esta es la interfaz de ayuda en l&iacute;nea de CUPS. Introduzca las palabras
+a buscar aqu&iacute; encima o haga clic en cualquiera de los enlaces de la
+documentaci&oacute;n para visualizar la informaci&oacute;n de ayuda en l&iacute;nea.</P>
+
+<P>Si es nuevo en CUPS, lea la p&aacute;gina "<a
+href="/help/overview.html">Informaci&oacute;n general de CUPS</a>". Los usuarios veteranos
+deber&iacute;an leer la p&aacute;gina "<a href="/help/whatsnew.html">Qu&eacute; hay de nuevo en CUPS
+1.4</a>".</P>
+
+<P>La <A HREF="http://www.cups.org/">p&aacute;gina de inicio de CUPS</A> tambi&eacute;n
+proporciona muchos recursos, incluyendo foros de discusi&oacute;n de usuarios, respuestas
+a preguntas frecuentes, y un formulario para el env&iacute;o de informes de errores y
+peticiones de mejoras.</P>}
diff --git a/templates/es/help-printable.tmpl b/templates/es/help-printable.tmpl
new file mode 100644 (file)
index 0000000..305112a
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+       <TITLE>{HELPTITLE}</TITLE>
+       <LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups-printable.css">
+       <LINK REL="SHORTCUT ICON" HREF="/favicon.ico" TYPE="image/x-icon">
+</HEAD>
+<BODY>
+
+<H1>{HELPTITLE}</H1>
diff --git a/templates/es/help-trailer.tmpl b/templates/es/help-trailer.tmpl
new file mode 100644 (file)
index 0000000..4c1ebed
--- /dev/null
@@ -0,0 +1 @@
+</DIV>
diff --git a/templates/es/job-cancel.tmpl b/templates/es/job-cancel.tmpl
new file mode 100644 (file)
index 0000000..6a41427
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Cancelar trabajo {job_id}</H2>
+
+<P>Se ha cancelado el <A HREF="{job_printer_uri}">Trabajo {job_id}</A>.
+
+</DIV>
diff --git a/templates/es/job-hold.tmpl b/templates/es/job-hold.tmpl
new file mode 100644 (file)
index 0000000..3136f9d
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Retener trabajo {job_id}</H2>
+
+<P>Se ha retenido el <A HREF="{job_printer_uri}">Trabajo {job_id}</A>.
+
+</DIV>
diff --git a/templates/es/job-move.tmpl b/templates/es/job-move.tmpl
new file mode 100644 (file)
index 0000000..30919df
--- /dev/null
@@ -0,0 +1,26 @@
+<DIV CLASS="indent">
+
+<FORM METHOD="POST" ACTION="/{SECTION}/{job_id?:{printer_name}}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{job_id?<INPUT TYPE="HIDDEN" NAME="JOB_ID" VALUE="{job_id}">:}
+
+<H2 CLASS="title">{job_id?Mover trabajo {job_id}:Mover todos los trabajos}</H2>
+
+<TABLE>
+<TR>
+<TH CLASS="label">Nuevo destino:</TH>
+<TD>
+<SELECT NAME="JOB_PRINTER_URI" SIZE="10">
+{[job_printer_uri]<OPTION VALUE="{job_printer_uri}">{job_printer_name}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="{job_id?Mover trabajo:Mover trabajos}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
+
+</DIV>
diff --git a/templates/es/job-moved.tmpl b/templates/es/job-moved.tmpl
new file mode 100644 (file)
index 0000000..8eb7a98
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">{job_id?Mover trabajo {job_id}:Mover todos los trabajos}</H2>
+
+<P>Se {job_id?ha movido el <A HREF="/jobs/{job_id}">Trabajo {job_id}</A>:han movido todos los trabajos} a
+<A HREF="{job_printer_uri}">{job_printer_name}</A>.</P>
+
+</DIV>
diff --git a/templates/es/job-release.tmpl b/templates/es/job-release.tmpl
new file mode 100644 (file)
index 0000000..d925e5f
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Liberar trabajo {job_id}</H2>
+
+<P>Se ha liberado el <A HREF="{job_printer_uri}">Trabajo {job_id}</A>.
+
+</DIV>
diff --git a/templates/es/job-restart.tmpl b/templates/es/job-restart.tmpl
new file mode 100644 (file)
index 0000000..ee6c8e5
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Reimprimir trabajo {job_id}</H2>
+
+<P>Se ha reiniciado el <A HREF="{job_printer_uri}">Trabajo {job_id}</A>.
+
+</DIV>
diff --git a/templates/es/jobs-header.tmpl b/templates/es/jobs-header.tmpl
new file mode 100644 (file)
index 0000000..fe8b51f
--- /dev/null
@@ -0,0 +1,5 @@
+<DIV CLASS="indent">{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Mostrar trabajos activos"></FORM>}
+{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="completed"><INPUT TYPE="SUBMIT" VALUE="Mostrar trabajos completados"></FORM>}
+{?which_jobs=all?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="all"><INPUT TYPE="SUBMIT" VALUE="Mostrar todos los trabajos"></FORM>}</DIV>
+
+<P ALIGN="CENTER">{total=0?No hay trabajos:Mostrando {#job_id} de {total} trabajo{total=1?:s}{?which_jobs=? activo{total=1?:s}:{which_jobs=all?: completado{total=1?:s}}}}.</P>
diff --git a/templates/es/jobs.tmpl b/templates/es/jobs.tmpl
new file mode 100644 (file)
index 0000000..26d1e7a
--- /dev/null
@@ -0,0 +1,37 @@
+{#job_id=0?:
+<TABLE CLASS="list" SUMMARY="Lista de trabajos">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> ID <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Nombre</TH><TH>Usuario</TH><TH>Tama&ntilde;o</TH><TH>P&aacute;ginas</TH><TH>Estado</TH><TH>Control</TH></TR>
+</THEAD>
+<TBODY>
+{[job_id]
+<TR VALIGN="TOP">
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}&nbsp;</TD>
+<TD>{?job_name=?Desconocido:{job_name}}&nbsp;</TD>
+<TD>{job_originating_user_name}&nbsp;</TD>
+<TD>{job_k_octets}k&nbsp;</TD>
+<TD>{job_media_sheets_completed=0?Desconocido:{?job_media_sheets_completed}}&nbsp;</TD>
+<TD>{job_state=3?pendiente desde<BR>{time_at_creation}:{job_state=4?retenido desde<BR>{time_at_creation}:
+{job_state=5?en proceso desde<BR>{time_at_processing}:{job_state=6?parado:
+{job_state=7?cancelado el<BR>{time_at_completed}:{job_state=8?anulado:completado el<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
+<EM>"{job_printer_state_message}"</EM>:}</TD>
+<TD>
+{job_preserved>0?{job_state>5?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="restart-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Reimprimir trabajo"></FORM>:}:}
+{job_state=4?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="release-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Liberar trabajo"></FORM>:}
+{job_state=3?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="hold-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Retener trabajo"></FORM>:}
+{job_state<7?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="HIDDEN" NAME="job_printer_uri" VALUE="{job_printer_uri}">
+<INPUT TYPE="SUBMIT" VALUE="Cancelar trabajo"></FORM>
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Mover trabajo"></FORM>:}
+&nbsp;</TD>
+</TR>
+}
+</TBODY>
+</TABLE>
+}
diff --git a/templates/es/list-available-printers.tmpl b/templates/es/list-available-printers.tmpl
new file mode 100644 (file)
index 0000000..b4ea626
--- /dev/null
@@ -0,0 +1,11 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Impresoras disponibles</H2>
+
+{#device_uri=0?<P>No se encuentran impresoras.</P>
+:<UL>{[device_uri]
+<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="HIDDEN" NAME="TEMPLATE_NAME" VALUE="{template_name}"><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="Local Printer"><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{device_make_and_model}"><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}"><INPUT TYPE="SUBMIT" VALUE="A&ntilde;adir esta impresora"></FORM>
+{device_make_and_model} ({device_info})</LI>
+}</UL>}
+
+</DIV>
diff --git a/templates/es/modify-class.tmpl b/templates/es/modify-class.tmpl
new file mode 100644 (file)
index 0000000..02eb7aa
--- /dev/null
@@ -0,0 +1,32 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Modificar clase {printer_name}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Descripci&oacute;n:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Ubicaci&oacute;n:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Miembros:</TH>
+<TD>
+<SELECT NAME="MEMBER_URIS" SIZE="10" MULTIPLE>
+{[member_uris]<OPTION VALUE="{member_uris}" {?member_selected}>{member_names}}
+</SELECT>
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Modificar clase"></TD>
+</TR>
+</TABLE>
+
+</FORM>
+</DIV>
\ No newline at end of file
diff --git a/templates/es/modify-printer.tmpl b/templates/es/modify-printer.tmpl
new file mode 100644 (file)
index 0000000..9936b5b
--- /dev/null
@@ -0,0 +1,37 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Modificar {printer_name}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Descripci&oacute;n:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Descripci&oacute;n f&aacute;cilmente le&iacute;ble tal como "HP LaserJet de doble cara")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Ubicaci&oacute;n:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Ubicaci&oacute;n f&aacute;cilmente le&iacute;ble tal como "Lab 1")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Conexi&oacute;n:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Compartida:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}">
+Compartir esta impresora</TD>
+</TR>
+<TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Siguiente"></TD>
+</TR>
+</TABLE>
+
+</FORM>
+</DIV>
diff --git a/templates/es/norestart.tmpl b/templates/es/norestart.tmpl
new file mode 100644 (file)
index 0000000..ac0f96b
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Cambiar especificaciones</H2>
+
+<p>No se ha reiniciado el servidor debido a que no se han hecho
+cambios en la configuraci&oacute;n...</p>
+
+</DIV>
diff --git a/templates/es/option-boolean.tmpl b/templates/es/option-boolean.tmpl
new file mode 100644 (file)
index 0000000..2d0dd55
--- /dev/null
@@ -0,0 +1,6 @@
+<TR>
+<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
+<TD>
+{[choices]<INPUT TYPE="RADIO" NAME="{keyword}" {choices={defchoice}?CHECKED:} VALUE="{choices}">{text}}
+</TD>
+</TR>
diff --git a/templates/es/option-conflict.tmpl b/templates/es/option-conflict.tmpl
new file mode 100644 (file)
index 0000000..6db0267
--- /dev/null
@@ -0,0 +1,7 @@
+<P><B>Error:</B> Las siguientes opciones est&aacute;n en conflicto:</P>
+
+<UL>
+{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A></LI>
+}</UL>
+
+<P>Cambie una o m&aacute;s de las opciones para resolver el problema.</P>
diff --git a/templates/es/option-header.tmpl b/templates/es/option-header.tmpl
new file mode 100644 (file)
index 0000000..464726a
--- /dev/null
@@ -0,0 +1,5 @@
+<DIV CLASS="tab" ID="{group_id}">
+
+<H3 ALIGN="CENTER">{group}</H3>
+
+<TABLE WIDTH="100%">
diff --git a/templates/es/option-pickmany.tmpl b/templates/es/option-pickmany.tmpl
new file mode 100644 (file)
index 0000000..067075a
--- /dev/null
@@ -0,0 +1,6 @@
+<TR>
+<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
+<TD><SELECT NAME="{keyword}" MULTIPLE SIZE="10">
+{[choices]<OPTION {choices={defchoice}?SELECTED:} VALUE="{choices}">{text}}
+</SELECT></TD>
+</TR>
diff --git a/templates/es/option-pickone.tmpl b/templates/es/option-pickone.tmpl
new file mode 100644 (file)
index 0000000..618ee9d
--- /dev/null
@@ -0,0 +1,18 @@
+<TR>
+<TH {conflicted=1?CLASS="conflict":CLASS="label"} WIDTH="50%"><A NAME="{keyword}">{keytext}</A>:</TH>
+<TD><SELECT NAME="{keyword}" ID="select-{keyword}" ONCHANGE="update_paramtable('{keyword}')">
+{[choices]<OPTION {choices={defchoice}?SELECTED:} VALUE="{choices}">{text}}
+</SELECT>
+{iscustom=1?<TABLE NAME="paramtable" id="{keyword}-params">{[params]
+<TR><TH CLASS="sublabel">{paramtext}:</TH>
+<TD>{params=Units?<SELECT NAME="{keyword}.{params}">
+<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Puntos</OPTION>
+<OPTION VALUE="mm"{paramvalue=mm? SELECTED:}>Mil&iacute;metros</OPTION>
+<OPTION VALUE="cm"{paramvalue=cm? SELECTED:}>Cent&iacute;metros</OPTION>
+<OPTION VALUE="in"{paramvalue=in? SELECTED:}>Pulgadas</OPTION>
+<OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>Pies</OPTION>
+<OPTION VALUE="m"{paramvalue=m? SELECTED:}>Metros</OPTION>
+</SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword}.{params}" VALUE="{paramvalue}">}</TD></TR>
+}</TABLE>
+</TD>:}
+</TR>
diff --git a/templates/es/option-trailer.tmpl b/templates/es/option-trailer.tmpl
new file mode 100644 (file)
index 0000000..ff8f2b2
--- /dev/null
@@ -0,0 +1,5 @@
+</TABLE>
+
+<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Cambiar opciones predeterminadas"></P>
+
+</DIV>
\ No newline at end of file
diff --git a/templates/es/pager.tmpl b/templates/es/pager.tmpl
new file mode 100644 (file)
index 0000000..5f27c10
--- /dev/null
@@ -0,0 +1,6 @@
+<TABLE CLASS="inset" SUMMARY="Barra de paginaci&oacute;n">
+<TR>
+       <TD WIDTH="50%">{PREV?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Mostrar anteriores"></FORM>:&nbsp;}</TD>
+       <TD WIDTH="50%" ALIGN="RIGHT">{NEXT?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{?ORDER}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Mostrar siguientes &#x25b6;"></FORM>:&nbsp;}</TD>
+</TR>
+</TABLE>
diff --git a/templates/es/printer-accept.tmpl b/templates/es/printer-accept.tmpl
new file mode 100644 (file)
index 0000000..63fab1b
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Aceptar trabajos de la {is_class?clase:impresora} {printer_name}</H2>
+
+<P>La {is_class?clase:impresora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+ahora acepta trabajos.</P>
+
+</DIV>
diff --git a/templates/es/printer-added.tmpl b/templates/es/printer-added.tmpl
new file mode 100644 (file)
index 0000000..88c565b
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">A&ntilde;adir impresora</H2>
+
+<P>Se ha a&ntilde;adido con &eacute;xito la impresora <A HREF="/printers/{printer_name}">{printer_name}</A>.
+
+</DIV>
diff --git a/templates/es/printer-configured.tmpl b/templates/es/printer-configured.tmpl
new file mode 100644 (file)
index 0000000..22cb3ec
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Cambiar opciones predeterminadas de {printer_name}</H2>
+
+<P>{OP=set-class-options?Class <A HREF="/classes/{printer_name}">:Printer <A HREF="/printers/{printer_name}">}{printer_name}</A>
+default options have been set successfully.
+
+</DIV>
diff --git a/templates/es/printer-confirm.tmpl b/templates/es/printer-confirm.tmpl
new file mode 100644 (file)
index 0000000..bd97f50
--- /dev/null
@@ -0,0 +1,10 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Borrar impresora {printer_name}</H2>
+
+<P><B>Advertencia:</B> &iquest;Est&aacute; seguro de querer borrar la impresora
+{printer_name}?</P>
+
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Borrar impresora"></FORM></P>
+
+</DIV>
diff --git a/templates/es/printer-default.tmpl b/templates/es/printer-default.tmpl
new file mode 100644 (file)
index 0000000..68b61f2
--- /dev/null
@@ -0,0 +1,13 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Poner la {is_class?clase:impresora} {printer_name} como predeterminada</H2>
+
+<P>Se ha puesto como predeterminada en el servidor la {is_class?clase:impresora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>.</P>
+
+<BLOCKQUOTE><B>Nota:</B> cualquier opci&oacute;n de usuario
+que haya sido activada por mediaci&oacute;n del comando
+<TT>lpoptions</TT> tiene mayor preferencia que este ajuste 
+predeterminado.</BLOCKQUOTE>
+
+</DIV>
diff --git a/templates/es/printer-deleted.tmpl b/templates/es/printer-deleted.tmpl
new file mode 100644 (file)
index 0000000..8bf7db6
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Borrar impresora {printer_name}</H2>
+
+<P>Se ha borrado con &eacute;xito la impresora {printer_name}.
+
+</DIV>
diff --git a/templates/es/printer-jobs-header.tmpl b/templates/es/printer-jobs-header.tmpl
new file mode 100644 (file)
index 0000000..f25951b
--- /dev/null
@@ -0,0 +1,3 @@
+<DIV CLASS="indent">
+<H3 CLASS="title">Trabajos</H3>
+</DIV>
diff --git a/templates/es/printer-modified.tmpl b/templates/es/printer-modified.tmpl
new file mode 100644 (file)
index 0000000..9035dce
--- /dev/null
@@ -0,0 +1,7 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Modificar impresora {printer_name}</H2>
+
+<P>Se ha modificado con &eacute;xito la impresora <A HREF="/printers/{printer_name}">{printer_name}</A>.
+
+</DIV>
\ No newline at end of file
diff --git a/templates/es/printer-purge.tmpl b/templates/es/printer-purge.tmpl
new file mode 100644 (file)
index 0000000..b26bb46
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Purgar trabajos de la {is_class?clase:impresora} {printer_name}</H2>
+
+<P>Se han purgado todos los trabajos de la {is_class?clase:impresora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>.</P>
+
+</DIV>
\ No newline at end of file
diff --git a/templates/es/printer-reject.tmpl b/templates/es/printer-reject.tmpl
new file mode 100644 (file)
index 0000000..637e13e
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Rechazar trabajos de la {is_class?clase:impresora} {printer_name}</H2>
+
+<P>La {is_class?clase:impresora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+ya no acepta trabajos.</P>
+
+</DIV>
diff --git a/templates/es/printer-start.tmpl b/templates/es/printer-start.tmpl
new file mode 100644 (file)
index 0000000..117afcd
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Reanudar la {is_class?clase:impresora} {printer_name}</H2>
+
+<P>La {is_class?clase:impresora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+ha sido reanudada.</P>
+
+</DIV>
\ No newline at end of file
diff --git a/templates/es/printer-stop.tmpl b/templates/es/printer-stop.tmpl
new file mode 100644 (file)
index 0000000..af37494
--- /dev/null
@@ -0,0 +1,9 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Pausar la {is_class?clase:impresora} {printer_name}</H2>
+
+<P>La {is_class?clase:impresora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+ha sido puesta en pausa.</P>
+
+</DIV>
\ No newline at end of file
diff --git a/templates/es/printer.tmpl b/templates/es/printer.tmpl
new file mode 100644 (file)
index 0000000..26344b8
--- /dev/null
@@ -0,0 +1,45 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?inactiva:{printer_state=4?procesando:en pausa}},
+{printer_is_accepting_jobs=0?rechazando trabajos:aceptando trabajos},
+{server_is_sharing_printers=0?no:{printer_is_shared=0?no:}} compartida{default_name={printer_name}?, predeterminada del servidor:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Mantenimiento</OPTION>
+<OPTION VALUE="print-test-page">Imprimir p&aacute;gina de prueba</OPTION>
+{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Limpiar cabezales de impresi&oacute;n</OPTION>:}
+{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Imprimir p&aacute;gina de auto prueba</OPTION>:}
+{printer_state=5?<OPTION VALUE="start-printer">Reanudar impresora</OPTION>:<OPTION VALUE="stop-printer">Pausar impresora</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Aceptar trabajos</OPTION>:<OPTION VALUE="reject-jobs">Rechazar trabajos</OPTION>}
+<OPTION VALUE="move-jobs">Mover todos los trabajos</OPTION>
+<OPTION VALUE="purge-jobs">Cancelar todos los trabajos</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Administraci&oacute;n</OPTION>
+<OPTION VALUE="modify-printer">Modificar impresora</OPTION>
+<OPTION VALUE="delete-printer">Borrar impresora</OPTION>
+<OPTION VALUE="set-printer-options">Establecer opciones predeterminadas</OPTION>
+<OPTION VALUE="set-as-default">Poner como predeterminada del servidor</OPTION>
+<OPTION VALUE="set-allowed-users">Establecer usuarios permitidos</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Go" STYLE="display: none;">
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Descripci&oacute;n:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Ubicaci&oacute;n:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Controlador:</TH><TD>{printer_make_and_model} ({color_supported=1?color:escala de grises}{sides_supported?, dúplex:})<BR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Conexi&oacute;n:</TH><TD>{device_uri}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Opciones predeterminadas:</TH><TD>job-sheets={job_sheets_default}
+media={media_default?{media_default}:desconocido}
+{sides_default?sides={sides_default}:}</TD></TR>
+</TABLE>
+
+</DIV>
diff --git a/templates/es/printers-header.tmpl b/templates/es/printers-header.tmpl
new file mode 100644 (file)
index 0000000..7280687
--- /dev/null
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?No hay impresoras:Mostrando {#printer_name} de {total} impresora{total=1?:s}}.</P>
diff --git a/templates/es/printers.tmpl b/templates/es/printers.tmpl
new file mode 100644 (file)
index 0000000..6b97fd9
--- /dev/null
@@ -0,0 +1,11 @@
+{#printer_name=0?:
+<TABLE CLASS="list" SUMMARY="Lista de impresoras">
+<THEAD>
+<TR><TH><A HREF="{THISURL}?QUERY={?QUERY}&amp;WHICH_JOBS={?WHICH_JOBS}&amp;FIRST={FIRST}&amp;ORDER={ORDER=dec?asc:dec}">{ORDER=dec?<SMALL>&#x25b2;</SMALL> Nombre de la cola <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Nombre de la cola <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Descripci&oacute;n</TH><TH>Ubicaci&oacute;n</TH><TH>Marca y modelo</TH><TH>Estado</TH></TR>
+</THEAD>
+<TBODY>
+{[printer_name]
+<TR><TD><A HREF="{printer_uri_supported}">{printer_name}</A></TD><TD>{printer_info}</TD><TD>{printer_location}</TD><TD>{printer_make_and_model}</TD><TD>{printer_state=3?Inactiva:{printer_state=4?Procesando:En pausa}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+}
+</TBODY>
+</TABLE></DIV>}
diff --git a/templates/es/restart.tmpl b/templates/es/restart.tmpl
new file mode 100644 (file)
index 0000000..607351d
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Cambiar especificaciones</H2>
+
+<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Indicador de ocupado"> Por favor espere mientras se reinicia el servidor...</P>
+
+</DIV>
diff --git a/templates/es/samba-export.tmpl b/templates/es/samba-export.tmpl
new file mode 100644 (file)
index 0000000..8898f6e
--- /dev/null
@@ -0,0 +1,54 @@
+<SCRIPT TYPE="text/javascript"><!--
+function select_printers() {
+  var list = document.export_samba.EXPORT_NAME;
+  var sel = document.export_samba.EXPORT_ALL.checked;
+
+  for (i = 0; i < list.length; i ++) {
+    list.options[i].selected = sel;
+  }
+}
+--></SCRIPT>
+
+<FORM METHOD="POST" ACTION="/admin/" NAME="export_samba">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
+
+<H2 CLASS="title">Exportar impresoras a Samba</H2>
+
+{error?<P>No se han podido exportar las impresoras a Samba\:</P>
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
+<P>Consulte el archivo <A HREF="/admin/log/error_log"
+TARGET="_blank">error_log</A> para m&aacute;s informaci&oacute;n.</P>:
+<P>Esta p&aacute;gina le permite exportar las impresoras a Samba para que
+los clientes Windows puedan acceder a ellas por los iconos de su
+escritorio <VAR>Entorno de red</VAR> o <VAR>Sitios de red</VAR>. Debe haber instalado
+previamente el controlador de impresora PostScript de Windows
+como se describe en la p&aacute;gina del manual
+<A HREF="/help/man-cupsaddsmb.html"
+TARGET="_blank">cupsaddsmb(8)</A>.</P>}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Impresoras:</TH>
+<TD>
+<SELECT NAME="EXPORT_NAME" SIZE="10" MULTIPLE>
+{[printer_name]<OPTION VALUE="{printer_name}"{export_all? SELECTED:{printer_export? SELECTED:}}>{printer_name}}
+</SELECT><BR>
+<INPUT TYPE="CHECKBOX" NAME="EXPORT_ALL"{export_all? CHECKED:}
+onChange="select_printers()"> Exportar todas las impresoras
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">Nombre de usuario Samba:</TH>
+<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (necesario)</TD>
+</TR>
+<TR>
+<TH CLASS="label">Contrase&ntilde;a Samba:</TH>
+<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (necesaria)</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Exportar impresoras a Samba"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/es/samba-exported.tmpl b/templates/es/samba-exported.tmpl
new file mode 100644 (file)
index 0000000..a54925d
--- /dev/null
@@ -0,0 +1 @@
+<P>Se han exportado las impresoras a samba con &eacute;xito.</P>
diff --git a/templates/es/search.tmpl b/templates/es/search.tmpl
new file mode 100644 (file)
index 0000000..8d812a3
--- /dev/null
@@ -0,0 +1,10 @@
+<FORM ACTION="{THIS_URL}" METHOD="GET">
+{WHICH_JOBS?<INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{WHICH_JOBS}">:}
+{ORDER?<INPUT TYPE="HIDDEN" NAME="ORDER" VALUE="{ORDER}">:}
+
+<P ALIGN="CENTER"><B>Buscar en
+{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?clases:{SECTION=jobs?trabajos:impresoras}}}:</B>
+<INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40"  PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
+TYPE="SUBMIT" VALUE="Buscar"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Borrar"></P>
+
+</FORM>
diff --git a/templates/es/set-printer-options-header.tmpl b/templates/es/set-printer-options-header.tmpl
new file mode 100644 (file)
index 0000000..fed4592
--- /dev/null
@@ -0,0 +1,25 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Establecer opciones predeterminadas de {printer_name}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{HAVE_AUTOCONFIGURE?<INPUT TYPE="SUBMIT" NAME="AUTOCONFIGURE" VALUE="Consultar a la impresora las opciones predeterminadas">:}
+
+<SCRIPT TYPE="text/javascript"><!--
+function update_paramtable(option)
+{
+  var cb = document.getElementById("select-" + option)
+  var paramstable = document.getElementById(option + "-params");
+  if (cb.value == "Custom")
+    paramstable.style.display = "table";
+  else
+    paramstable.style.display = "none";
+}
+--></SCRIPT>
+
+<H3 CLASS="title">{[group_id]
+<A HREF="#{group_id}">{group}</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</H3>
+
+<DIV CLASS="tabs">
diff --git a/templates/es/set-printer-options-trailer.tmpl b/templates/es/set-printer-options-trailer.tmpl
new file mode 100644 (file)
index 0000000..11adc70
--- /dev/null
@@ -0,0 +1,16 @@
+</DIV>
+
+<SCRIPT TYPE="text/javascript"><!--
+// Hide custom options parameters for browsers that understand Javascript
+var paramtables = document.getElementsByName("paramtable");
+for (var i = 0; i < paramtables.length; i++)
+{
+  var opt = paramtables[i].id.substr(0, paramtables[i].id.lastIndexOf("-"));
+  var cb = document.getElementById("select-" + opt);
+  if (cb.value != "Custom")
+    paramtables[i].style.display = "none";
+}
+--></SCRIPT>
+</FORM>
+
+</DIV>
diff --git a/templates/es/subscription-added.tmpl b/templates/es/subscription-added.tmpl
new file mode 100644 (file)
index 0000000..87ce96a
--- /dev/null
@@ -0,0 +1,5 @@
+<DIV CLASS="indent">
+
+<P>Se ha a&ntilde;adido con &eacute;xito la subscripci&oacute;n {subscription_name}.</P>
+
+</DIV>
diff --git a/templates/es/subscription-canceled.tmpl b/templates/es/subscription-canceled.tmpl
new file mode 100644 (file)
index 0000000..d6ac171
--- /dev/null
@@ -0,0 +1,5 @@
+<DIV CLASS="indent">
+
+<P>La subscripci&oacute;n #{notify_subscription_id} ha sido cancelada.</P>
+
+</DIV>
diff --git a/templates/es/test-page.tmpl b/templates/es/test-page.tmpl
new file mode 100644 (file)
index 0000000..a36ef8f
--- /dev/null
@@ -0,0 +1,8 @@
+<DIV CLASS="indent">
+
+<H2 CLASS="title">Imprimir página de prueba en {printer_name}</H2>
+
+<P>P&aacute;gina de prueba enviada; el n&uacute;mero del trabajo es el <A HREF="/{SECTION}/{printer_name}">
+{printer_name}-{job_id}</A>.</P>
+
+</DIV>
diff --git a/templates/es/trailer.tmpl b/templates/es/trailer.tmpl
new file mode 100644 (file)
index 0000000..e981337
--- /dev/null
@@ -0,0 +1,9 @@
+</TD></TR>
+<TR><TD>&nbsp;</TD></TR>
+<TR><TD CLASS="trailer">Common UNIX Printing System, CUPS, y el logo de CUPS son
+marcas registradas de <A HREF="http://www.apple.com">Apple, Inc.</A> Los
+derechos de copia de CUPS 2007-2008 son de Apple Inc.
+Todos los derechos reservados.</TD></TR>
+</TABLE>
+</BODY>
+</HTML>
diff --git a/templates/es/users.tmpl b/templates/es/users.tmpl
new file mode 100644 (file)
index 0000000..1b30842
--- /dev/null
@@ -0,0 +1,29 @@
+<DIV CLASS="indent">
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{OP}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+{IS_CLASS?<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="{IS_CLASS}">:}
+
+<H2 CLASS="title">Usuarios permitidos para {printer_name}</H2>
+
+<TABLE>
+<TR>
+<TH CLASS="label">Usuarios:</TH>
+<TD>
+<INPUT TYPE='TEXT' NAME='users' SIZE='60' VALUE='{?requesting_user_name_allowed}{?requesting_user_name_denied}'>
+<BR>
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-allowed' {requesting_user_name_allowed?checked:}>Permitir a estos usuarios imprimir
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Evitar que estos usuarios impriman
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>
+<INPUT TYPE="SUBMIT" VALUE="Establecer usuarios permitidos">
+</TD>
+</TR>
+</TABLE>
+
+</FORM>
+</DIV>
diff --git a/tools/makedocset b/tools/makedocset
new file mode 100644 (file)
index 0000000..46c8787
--- /dev/null
@@ -0,0 +1,72 @@
+#!/bin/sh
+#
+# "$Id$"
+#
+# Script to make Xcode documentation sets.
+#
+
+docversion="1.4.`svnversion . | sed -e '1,$s/[a-zA-Z]//g'`"
+docset=""
+sources=""
+header=""
+intro=""
+title=""
+
+while test $# -gt 0; do
+       arg="$1"
+       shift
+
+       case "$arg" in
+               --docset)
+                       docset="$1"
+                       shift
+                       ;;
+               --header)
+                       header="$1"
+                       shift
+                       ;;
+               --intro)
+                       intro="$1"
+                       shift
+                       ;;
+               --title)
+                       title="$1"
+                       shift
+                       ;;
+               *)
+                       sources="$sources $arg"
+                       ;;
+       esac
+done
+
+echo "<h1>$title</h1>" >"$header.ds"
+sed -e '1,$s/<a href='"'"'/<a href='"'"'http:\/\/www.cups.org\/documentation.php\//g' < "$header" >>"$header.ds"
+sed -e '1,$s/\/images\///g' -e '1,$s/<a href='"'"'/<a href='"'"'http:\/\/www.cups.org\/documentation.php\//g'  <"$intro" >"$intro.tmp"
+sed -e '1,$s/http:\/\/www.cups.org\/documentation\.php\/#/#/g' <"$intro.tmp" >"$intro.ds"
+
+mxmldoc --docset "$docset" --docversion "$docversion" \
+       --feedname cups.org --feedurl http://www.cups.org/docsets.atom \
+       --title "$title" --css ../doc/cups-printable.css \
+       --header "$header.ds" --intro "$intro.ds" $sources || exit 1
+rm -f "$header.ds" "$intro.ds" "$intro.tmp"
+
+if test ! -d ../docsets; then
+       mkdir ../docsets
+fi
+
+for image in `grep /images "$intro" | sed -e '1,$s/^.*\/images\///' -e '1,$s/\.png.*$/.png/'`; do
+       cp ../doc/images/$image "$docset/Contents/Resources/Documentation"
+done
+
+xar="`basename \"$docset\" .docset`.xar"
+
+/Developer/usr/bin/docsetutil package --output "../docsets/$xar" \
+       --atom ../docsets/docsets.atom \
+       --download-url "http://www.cups.org/docsets/$xar" "$docset" || exit 1
+
+rm -rf "$docset"
+
+
+#
+# End of "$Id$".
+#