]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Merge pull request #4818 from jschwender/master
authorMichael R Sweet <michaelrsweet@gmail.com>
Thu, 26 May 2016 11:21:50 +0000 (07:21 -0400)
committerMichael R Sweet <michaelrsweet@gmail.com>
Thu, 26 May 2016 11:21:50 +0000 (07:21 -0400)
add some missing translation

173 files changed:
CHANGES-2.1.txt
CHANGES.txt
Makefile
backend/Makefile
berkeley/lpq.c
berkeley/lpr.c
berkeley/lprm.c
cgi-bin/classes.c
cgi-bin/ipp-var.c
cgi-bin/printers.c
config-scripts/cups-common.m4
config.h.in
configure
cups/Makefile
cups/api-admin.header [new file with mode: 0644]
cups/api-admin.shtml [new file with mode: 0644]
cups/api-filter.header
cups/api-filter.shtml
cups/api-httpipp.header
cups/api-overview.header
cups/cups-private.h
cups/globals.c
cups/http-addrlist.c
cups/ppd-cache.c
cups/tls-darwin.c
cups/tls-gnutls.c
cups/usersys.c
desktop/cups.desktop.in
doc/Makefile
doc/help/api-admin.html [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/man-client.conf.html
doc/help/man-lp.html
doc/help/man-lpr.html
doc/help/options.html
doc/help/postscript-driver.html
doc/help/ppd-compiler.html
doc/help/raster-driver.html
doc/help/spec-ppd.html
doc/pt_BR/index.html.in [new file with mode: 0644]
filter/Makefile
locale/cups.pot
locale/cups.strings
locale/cups_ca.po
locale/cups_cs.po
locale/cups_de.po
locale/cups_es.po
locale/cups_fr.po
locale/cups_it.po
locale/cups_ja.po
locale/cups_pt_BR.po [new file with mode: 0644]
locale/cups_ru.po
man/client.conf.man.in
man/lp.man
man/lpinfo.man
man/lpr.man
scheduler/auth.c
scheduler/ipp.c
scheduler/job.c
scheduler/log.c
scheduler/printers.c
systemv/cancel.c
systemv/cupsaccept.c
systemv/lp.c
systemv/lpadmin.c
systemv/lpinfo.c
systemv/lpmove.c
systemv/lpoptions.c
systemv/lpstat.c
templates/classes.tmpl
templates/de/classes.tmpl
templates/de/jobs.tmpl
templates/de/pager.tmpl
templates/de/printers.tmpl
templates/es/classes.tmpl
templates/es/jobs.tmpl
templates/es/pager.tmpl
templates/es/printers.tmpl
templates/ja/classes.tmpl
templates/ja/jobs.tmpl
templates/ja/pager.tmpl
templates/ja/printers.tmpl
templates/jobs.tmpl
templates/pager.tmpl
templates/printers.tmpl
templates/pt_BR/add-class.tmpl [new file with mode: 0644]
templates/pt_BR/add-printer.tmpl [new file with mode: 0644]
templates/pt_BR/add-rss-subscription.tmpl [new file with mode: 0644]
templates/pt_BR/admin.tmpl [new file with mode: 0644]
templates/pt_BR/choose-device.tmpl [new file with mode: 0644]
templates/pt_BR/choose-make.tmpl [new file with mode: 0644]
templates/pt_BR/choose-model.tmpl [new file with mode: 0644]
templates/pt_BR/choose-serial.tmpl [new file with mode: 0644]
templates/pt_BR/choose-uri.tmpl [new file with mode: 0644]
templates/pt_BR/class-added.tmpl [new file with mode: 0644]
templates/pt_BR/class-confirm.tmpl [new file with mode: 0644]
templates/pt_BR/class-deleted.tmpl [new file with mode: 0644]
templates/pt_BR/class-jobs-header.tmpl [new file with mode: 0644]
templates/pt_BR/class-modified.tmpl [new file with mode: 0644]
templates/pt_BR/class.tmpl [new file with mode: 0644]
templates/pt_BR/classes-header.tmpl [new file with mode: 0644]
templates/pt_BR/classes.tmpl [new file with mode: 0644]
templates/pt_BR/command.tmpl [new file with mode: 0644]
templates/pt_BR/edit-config.tmpl [new file with mode: 0644]
templates/pt_BR/error-op.tmpl [new file with mode: 0644]
templates/pt_BR/error.tmpl [new file with mode: 0644]
templates/pt_BR/header.tmpl.in [new file with mode: 0644]
templates/pt_BR/help-header.tmpl [new file with mode: 0644]
templates/pt_BR/help-printable.tmpl [new file with mode: 0644]
templates/pt_BR/help-trailer.tmpl [new file with mode: 0644]
templates/pt_BR/job-cancel.tmpl [new file with mode: 0644]
templates/pt_BR/job-hold.tmpl [new file with mode: 0644]
templates/pt_BR/job-move.tmpl [new file with mode: 0644]
templates/pt_BR/job-moved.tmpl [new file with mode: 0644]
templates/pt_BR/job-release.tmpl [new file with mode: 0644]
templates/pt_BR/job-restart.tmpl [new file with mode: 0644]
templates/pt_BR/jobs-header.tmpl [new file with mode: 0644]
templates/pt_BR/jobs.tmpl [new file with mode: 0644]
templates/pt_BR/list-available-printers.tmpl [new file with mode: 0644]
templates/pt_BR/modify-class.tmpl [new file with mode: 0644]
templates/pt_BR/modify-printer.tmpl [new file with mode: 0644]
templates/pt_BR/norestart.tmpl [new file with mode: 0644]
templates/pt_BR/option-boolean.tmpl [new file with mode: 0644]
templates/pt_BR/option-conflict.tmpl [new file with mode: 0644]
templates/pt_BR/option-header.tmpl [new file with mode: 0644]
templates/pt_BR/option-pickmany.tmpl [new file with mode: 0644]
templates/pt_BR/option-pickone.tmpl [new file with mode: 0644]
templates/pt_BR/option-trailer.tmpl [new file with mode: 0644]
templates/pt_BR/pager.tmpl [new file with mode: 0644]
templates/pt_BR/printer-accept.tmpl [new file with mode: 0644]
templates/pt_BR/printer-added.tmpl [new file with mode: 0644]
templates/pt_BR/printer-cancel-jobs.tmpl [new file with mode: 0644]
templates/pt_BR/printer-configured.tmpl [new file with mode: 0644]
templates/pt_BR/printer-confirm.tmpl [new file with mode: 0644]
templates/pt_BR/printer-default.tmpl [new file with mode: 0644]
templates/pt_BR/printer-deleted.tmpl [new file with mode: 0644]
templates/pt_BR/printer-jobs-header.tmpl [new file with mode: 0644]
templates/pt_BR/printer-modified.tmpl [new file with mode: 0644]
templates/pt_BR/printer-reject.tmpl [new file with mode: 0644]
templates/pt_BR/printer-start.tmpl [new file with mode: 0644]
templates/pt_BR/printer-stop.tmpl [new file with mode: 0644]
templates/pt_BR/printer.tmpl [new file with mode: 0644]
templates/pt_BR/printers-header.tmpl [new file with mode: 0644]
templates/pt_BR/printers.tmpl [new file with mode: 0644]
templates/pt_BR/restart.tmpl [new file with mode: 0644]
templates/pt_BR/samba-export.tmpl [new file with mode: 0644]
templates/pt_BR/samba-exported.tmpl [new file with mode: 0644]
templates/pt_BR/search.tmpl [new file with mode: 0644]
templates/pt_BR/set-printer-options-header.tmpl [new file with mode: 0644]
templates/pt_BR/set-printer-options-trailer.tmpl [new file with mode: 0644]
templates/pt_BR/subscription-added.tmpl [new file with mode: 0644]
templates/pt_BR/subscription-canceled.tmpl [new file with mode: 0644]
templates/pt_BR/test-page.tmpl [new file with mode: 0644]
templates/pt_BR/trailer.tmpl [new file with mode: 0644]
templates/pt_BR/users.tmpl [new file with mode: 0644]
templates/ru/classes.tmpl
templates/ru/jobs.tmpl
templates/ru/pager.tmpl
templates/ru/printers.tmpl
test/run-stp-tests.sh
vcnet/README.txt
vcnet/config.h
vcnet/cups.sln
vcnet/sw-ippeveselfcert10.vdproj [deleted file]
xcode/CUPS.xcodeproj/project.pbxproj
xcode/config.h

index 7da5150ff38b541eba94e964ee57a5084aa389e9..58ef329cab653736062f40ac92534ed5e829949d 100644 (file)
@@ -3,6 +3,9 @@ CHANGES-2.1.txt
 
 CHANGES IN CUPS V2.1.4
 
+       - Fixed printing of multiple files to raw queues (Issue #4782)
+       - The scheduler did not implement the Hold-New-Jobs opertion correctly
+         (Issue #4767)
        - The ipptool program truncated values at 8k (Issue #4786)
        - The ipptool program did not correctly report uriScheme values in plist
          output (Issue #4785)
index fb9d09940137b42f53743e714aeca14fb48708d0..3fe44e5f637d9f5a7e916fcc0edbe9a557be549b 100644 (file)
@@ -1,8 +1,19 @@
-CHANGES.txt - 2.2b1 - 2016-04-14
+CHANGES.txt - 2.2b1 - 2016-05-25
 --------------------------------
 
 CHANGES IN CUPS V2.2b1
 
+       - All CUPS commands now support POSIX options (Issue #4813)
+       - Improved performance of web interface with large numbers of jobs
+         (Issue #3819)
+       - Encrypted printing can now be limited to only trusted printers and
+         servers (<rdar://problem/25711658>)
+       - The scheduler now advertises PWG Raster attributes for IPP Everywhere
+         clients (Issue #4428)
+       - The scheduler now logs informational messages for jobs at LogLevel
+         "info" (Issue #4815)
+       - The scheduler now uses the getgrouplist function when available
+         (Issue #4611)
        - The IPP backend no longer enables compression by default except for
          certain raster formats that generally benefit from it
          (<rdar://problem/25166952>)
@@ -28,5 +39,5 @@ CHANGES IN CUPS V2.2b1
        - Added a new cupsHashData API and support for hashed job passwords
          (<rdar://problem/20221502>)
        - Localization fixes (<rdar://problem/25292403>,
-         <rdar://problem/25461517>)
-       - Documentation changes (Issue #4781)
+         <rdar://problem/25461517>, Issue #4041, Issue #4796)
+       - Documentation changes (Issue #4624, Issue #4781)
index 1bc05d4f634d4aa4900c701588bb43d2328f0aa5..1698bd44a1b7da3dd505cb94f8898b7486bd8a39 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -271,12 +271,6 @@ apihelp:
                (cd $$dir; $(MAKE) $(MFLAGS) apihelp) || exit 1;\
        done
 
-framedhelp:
-       for dir in cups filter; do\
-               echo Generating framed API help in $$dir... ;\
-               (cd $$dir; $(MAKE) $(MFLAGS) framedhelp) || exit 1;\
-       done
-
 
 #
 # Create an Xcode docset using Mini-XML's mxmldoc (http://www.msweet.org/)...
index a4017bf77ef67f6fe4fe3ef10e99ef34de8c80cd..ae08947fb969163ec23fa3e051271b9afdbb8df3 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Backend makefile for CUPS.
 #
-# Copyright 2007-2014 by Apple Inc.
+# Copyright 2007-2016 by Apple Inc.
 # Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 # These coded instructions, statements, and computer programs are the
@@ -86,7 +86,7 @@ unittests:    $(UNITTESTS)
 #
 
 clean:
-       $(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http https ipps mdns
+       $(RM) $(OBJS) $(TARGETS) $(UNITTESTS) $(LIBOBJS) http https ipps mdns socket-static
 
 
 #
@@ -293,6 +293,12 @@ socket:    socket.o ../cups/$(LIBCUPS) libbackend.a
        echo Linking $@...
        $(CC) $(LDFLAGS) -o socket socket.o libbackend.a $(LIBS)
 
+socket-static: socket.o  ../cups/$(LIBCUPSSTATIC) libbackend.a
+       echo Linking $@...
+       $(CC) $(LDFLAGS) -o socket-static socket.o libbackend.a \
+               ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ)
+
 
 #
 # usb
index 592a83665c0fc2c28d76c6939a846367ccbef3ac..f01168ca5b7c29b0baeb7bcd9fdfc5ccb1666561 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "lpq" command for CUPS.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -39,7 +39,8 @@ main(int  argc,                               /* I - Number of command-line arguments */
 {
   int          i;                      /* Looping var */
   http_t       *http;                  /* Connection to server */
-  const char   *dest,                  /* Desired printer */
+  const char   *opt,                   /* Option pointer */
+               *dest,                  /* Desired printer */
                *user,                  /* Desired user */
                *val;                   /* Environment variable name */
   char         *instance;              /* Printer instance */
@@ -65,128 +66,138 @@ main(int  argc,                           /* I - Number of command-line arguments */
   all        = 0;
 
   for (i = 1; i < argc; i ++)
+  {
     if (argv[i][0] == '+')
+    {
       interval = atoi(argv[i] + 1);
+    }
     else if (argv[i][0] == '-')
     {
-      switch (argv[i][1])
+      for (opt = argv[i] + 1; *opt; opt ++)
       {
-        case 'E' : /* Encrypt */
+       switch (*opt)
+       {
+         case 'E' : /* Encrypt */
 #ifdef HAVE_SSL
-           cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
+             cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 
-           if (http)
-             httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
+             if (http)
+               httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
-                           argv[0]);
+             _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
 #endif /* HAVE_SSL */
-           break;
-
-        case 'U' : /* Username */
-           if (argv[i][2] != '\0')
-             cupsSetUser(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
+             break;
+
+         case 'U' : /* Username */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected username after "
-                                 "\"-U\" option."), argv[0]);
-               return (1);
+               cupsSetUser(opt + 1);
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), argv[0]);
+                 return (1);
+               }
 
-              cupsSetUser(argv[i]);
-           }
-           break;
-
-        case 'P' : /* Printer */
-           if (argv[i][2])
-             dest = argv[i] + 2;
-           else
-           {
-             i ++;
+               cupsSetUser(argv[i]);
+             }
+             break;
 
-             if (i >= argc)
+         case 'P' : /* Printer */
+             if (opt[1] != '\0')
              {
-               httpClose(http);
+               dest = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+
+               if (i >= argc)
+               {
+                 httpClose(http);
+
+                 usage();
+               }
 
-               usage();
+               dest = argv[i];
              }
 
-             dest = argv[i];
-           }
-
-           if ((instance = strchr(dest, '/')) != NULL)
-             *instance++ = '\0';
-
-            http = connect_server(argv[0], http);
-
-            if ((named_dest = cupsGetNamedDest(http, dest, instance)) == NULL)
-           {
-             if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
-                 cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - add '/version=1.1' to server "
-                                 "name."), argv[0]);
-             else if (instance)
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - unknown destination \"%s/%s\"."),
-                               argv[0], dest, instance);
-              else
-               _cupsLangPrintf(stderr, _("%s: Unknown destination \"%s\"."),
-                               argv[0], dest);
-
-             return (1);
-           }
-
-           cupsFreeDests(1, named_dest);
-           break;
-
-       case 'a' : /* All printers */
-           all = 1;
-           break;
-
-        case 'h' : /* Connect to host */
-           if (http)
-           {
-             httpClose(http);
-             http = NULL;
-           }
+             if ((instance = strchr(dest, '/')) != NULL)
+               *instance++ = '\0';
 
-           if (argv[i][2] != '\0')
-              cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
+             http = connect_server(argv[0], http);
 
-             if (i >= argc)
+             if ((named_dest = cupsGetNamedDest(http, dest, instance)) == NULL)
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected hostname after "
-                                 "\"-h\" option."), argv[0]);
+               if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+                   cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
+                 _cupsLangPrintf(stderr, _("%s: Error - add '/version=1.1' to server name."), argv[0]);
+               else if (instance)
+                 _cupsLangPrintf(stderr, _("%s: Error - unknown destination \"%s/%s\"."), argv[0], dest, instance);
+               else
+                 _cupsLangPrintf(stderr, _("%s: Unknown destination \"%s\"."), argv[0], dest);
+
                return (1);
-              }
+             }
+
+             cupsFreeDests(1, named_dest);
+             break;
+
+         case 'a' : /* All printers */
+             all = 1;
+             break;
+
+         case 'h' : /* Connect to host */
+             if (http)
+             {
+               httpClose(http);
+               http = NULL;
+             }
+
+             if (opt[1] != '\0')
+             {
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
+             }
              else
-                cupsSetServer(argv[i]);
-           }
-           break;
+             {
+               i ++;
 
-       case 'l' : /* Long status */
-           longstatus = 1;
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected hostname after \"-h\" option."), argv[0]);
+                 return (1);
+               }
+               else
+                 cupsSetServer(argv[i]);
+             }
+             break;
 
-       default :
-           httpClose(http);
+         case 'l' : /* Long status */
+             longstatus = 1;
+             break;
 
-           usage();
+         default :
+             httpClose(http);
+
+             usage();
+       }
       }
     }
     else if (isdigit(argv[i][0] & 255))
+    {
       id = atoi(argv[i]);
+    }
     else
+    {
       user = argv[i];
+    }
+  }
 
   http = connect_server(argv[0], http);
 
index eb58c8bd9f76180123c3eb1ce1970c3fca2658a0..418ef4b5545d91acdc3e49044700850f8367f8c5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "lpr" command for CUPS.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -30,7 +30,8 @@ main(int  argc,                               /* I - Number of command-line arguments */
   int          job_id;                 /* Job ID */
   char         ch;                     /* Option character */
   char         *printer,               /* Destination printer or class */
-               *instance;              /* Instance */
+               *instance,              /* Instance */
+               *opt;                   /* Option pointer */
   const char   *title,                 /* Job title */
                *val;                   /* Environment variable name */
   int          num_copies;             /* Number of copies per file */
@@ -54,229 +55,235 @@ main(int  argc,                           /* I - Number of command-line arguments */
   title       = NULL;
 
   for (i = 1; i < argc; i ++)
+  {
     if (argv[i][0] == '-')
     {
-      switch (ch = argv[i][1])
+      for (opt = argv[i] + 1; *opt; opt ++)
       {
-        case 'E' : /* Encrypt */
+       switch (ch = *opt)
+       {
+         case 'E' : /* Encrypt */
 #ifdef HAVE_SSL
-           cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
+             cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
-                           argv[0]);
+             _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
 #endif /* HAVE_SSL */
-           break;
-
-        case 'U' : /* Username */
-           if (argv[i][2] != '\0')
-             cupsSetUser(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
+             break;
+
+         case 'U' : /* Username */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected username after "
-                                 "\"-U\" option."), argv[0]);
-               return (1);
+               cupsSetUser(opt + 1);
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), argv[0]);
+                 return (1);
+               }
+
+               cupsSetUser(argv[i]);
+             }
+             break;
 
-              cupsSetUser(argv[i]);
-           }
-           break;
-
-        case 'H' : /* Connect to host */
-           if (argv[i][2] != '\0')
-              cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
+         case 'H' : /* Connect to host */
+             if (opt[1] != '\0')
+             {
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected hostname after \"-H\" option."), argv[0]);
+                 return (1);
+               }
+               else
+                 cupsSetServer(argv[i]);
+             }
+             break;
+
+         case '1' : /* TROFF font set 1 */
+         case '2' : /* TROFF font set 2 */
+         case '3' : /* TROFF font set 3 */
+         case '4' : /* TROFF font set 4 */
+         case 'i' : /* indent */
+         case 'w' : /* width */
+             if (opt[1] != '\0')
+             {
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr,
+                                 _("%s: Error - expected value after \"-%c\" "
+                                   "option."), argv[0], ch);
+                 return (1);
+               }
+             }
 
-             if (i >= argc)
+         case 'c' : /* CIFPLOT */
+         case 'd' : /* DVI */
+         case 'f' : /* FORTRAN */
+         case 'g' : /* plot */
+         case 'n' : /* Ditroff */
+         case 't' : /* Troff */
+         case 'v' : /* Raster image */
+             _cupsLangPrintf(stderr, _("%s: Warning - \"%c\" format modifier not supported - output may not be correct."), argv[0], ch);
+             break;
+
+         case 'o' : /* Option */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected hostname after "
-                                 "\"-H\" option."), argv[0]);
-               return (1);
-              }
+               num_options = cupsParseOptions(opt + 1, num_options, &options);
+               opt += strlen(opt) - 1;
+             }
              else
-                cupsSetServer(argv[i]);
-           }
-           break;
-
-       case '1' : /* TROFF font set 1 */
-       case '2' : /* TROFF font set 2 */
-       case '3' : /* TROFF font set 3 */
-       case '4' : /* TROFF font set 4 */
-       case 'i' : /* indent */
-       case 'w' : /* width */
-           if (argv[i][2] == '\0')
-           {
-             i ++;
-
-             if (i >= argc)
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected value after \"-%c\" "
-                                 "option."), argv[0], ch);
-               return (1);
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected option=value after \"-o\" option."), argv[0]);
+                 return (1);
+               }
+
+               num_options = cupsParseOptions(argv[i], num_options, &options);
              }
-           }
-
-        case 'c' : /* CIFPLOT */
-       case 'd' : /* DVI */
-       case 'f' : /* FORTRAN */
-       case 'g' : /* plot */
-       case 'n' : /* Ditroff */
-       case 't' : /* Troff */
-       case 'v' : /* Raster image */
-           _cupsLangPrintf(stderr,
-                           _("%s: Warning - \"%c\" format modifier not "
-                             "supported - output may not be correct."),
-                           argv[0], ch);
-           break;
-
-       case 'o' : /* Option */
-           if (argv[i][2] != '\0')
-             num_options = cupsParseOptions(argv[i] + 2, num_options, &options);
-           else
-           {
-             i ++;
-             if (i >= argc)
+             break;
+
+         case 'l' : /* Literal/raw */
+             num_options = cupsAddOption("raw", "true", num_options, &options);
+             break;
+
+         case 'p' : /* Prettyprint */
+             num_options = cupsAddOption("prettyprint", "true", num_options, &options);
+             break;
+
+         case 'h' : /* Suppress burst page */
+             num_options = cupsAddOption("job-sheets", "none", num_options, &options);
+             break;
+
+         case 's' : /* Don't use symlinks */
+             break;
+
+         case 'm' : /* Mail on completion */
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected option=value after "
-                                 "\"-o\" option."), argv[0]);
-               return (1);
+               char    email[1024];    /* EMail address */
+
+               snprintf(email, sizeof(email), "mailto:%s@%s", cupsUser(), httpGetHostname(NULL, buffer, sizeof(buffer)));
+               num_options = cupsAddOption("notify-recipient-uri", email, num_options, &options);
+             }
+             break;
+
+         case 'q' : /* Queue file but don't print */
+             num_options = cupsAddOption("job-hold-until", "indefinite", num_options, &options);
+             break;
+
+         case 'r' : /* Remove file after printing */
+             deletefile = 1;
+             break;
+
+         case 'P' : /* Destination printer or class */
+             if (opt[1] != '\0')
+             {
+               printer = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected destination after \"-P\" option."), argv[0]);
+                 return (1);
+               }
+
+               printer = argv[i];
              }
 
-             num_options = cupsParseOptions(argv[i], num_options, &options);
-           }
-           break;
-
-       case 'l' : /* Literal/raw */
-            num_options = cupsAddOption("raw", "true", num_options, &options);
-           break;
-
-       case 'p' : /* Prettyprint */
-            num_options = cupsAddOption("prettyprint", "true", num_options,
-                                       &options);
-           break;
-
-       case 'h' : /* Suppress burst page */
-            num_options = cupsAddOption("job-sheets", "none", num_options,
-                                       &options);
-           break;
-
-       case 's' : /* Don't use symlinks */
-           break;
-
-       case 'm' : /* Mail on completion */
-           {
-             char      email[1024];    /* EMail address */
-
-
-             snprintf(email, sizeof(email), "mailto:%s@%s", cupsUser(),
-                      httpGetHostname(NULL, buffer, sizeof(buffer)));
-             num_options = cupsAddOption("notify-recipient-uri", email,
-                                         num_options, &options);
-           }
-           break;
-
-       case 'q' : /* Queue file but don't print */
-            num_options = cupsAddOption("job-hold-until", "indefinite",
-                                       num_options, &options);
-           break;
-
-       case 'r' : /* Remove file after printing */
-           deletefile = 1;
-           break;
-
-        case 'P' : /* Destination printer or class */
-           if (argv[i][2] != '\0')
-             printer = argv[i] + 2;
-           else
-           {
-             i ++;
-             if (i >= argc)
+             if ((instance = strrchr(printer, '/')) != NULL)
+               *instance++ = '\0';
+
+             if ((dest = cupsGetNamedDest(NULL, printer, instance)) != NULL)
+             {
+               for (j = 0; j < dest->num_options; j ++)
+                 if (cupsGetOption(dest->options[j].name, num_options,
+                                   options) == NULL)
+                   num_options = cupsAddOption(dest->options[j].name,
+                                               dest->options[j].value,
+                                               num_options, &options);
+             }
+             else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+                      cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected destination after "
-                                 "\"-P\" option."), argv[0]);
+               _cupsLangPrintf(stderr, _("%s: Error - add '/version=1.1' to server name."), argv[0]);
                return (1);
              }
+             break;
 
-             printer = argv[i];
-           }
-
-            if ((instance = strrchr(printer, '/')) != NULL)
-             *instance++ = '\0';
-
-            if ((dest = cupsGetNamedDest(NULL, printer, instance)) != NULL)
-           {
-             for (j = 0; j < dest->num_options; j ++)
-               if (cupsGetOption(dest->options[j].name, num_options,
-                                 options) == NULL)
-                 num_options = cupsAddOption(dest->options[j].name,
-                                             dest->options[j].value,
-                                             num_options, &options);
-           }
-           else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
-                    cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
-           {
-             _cupsLangPrintf(stderr,
-                             _("%s: Error - add '/version=1.1' to server "
-                               "name."), argv[0]);
-             return (1);
-           }
-           break;
-
-       case '#' : /* Number of copies */
-           if (argv[i][2] != '\0')
-             num_copies = atoi(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
+         case '#' : /* Number of copies */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected copies after "
-                                 "\"-#\" option."), argv[0]);
-               return (1);
+               num_copies = atoi(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected copies after \"-#\" option."), argv[0]);
+                 return (1);
+               }
+
+               num_copies = atoi(argv[i]);
              }
 
-             num_copies = atoi(argv[i]);
-           }
-
-            sprintf(buffer, "%d", num_copies);
-            num_options = cupsAddOption("copies", buffer, num_options, &options);
-           break;
-
-       case 'C' : /* Class */
-       case 'J' : /* Job name */
-       case 'T' : /* Title */
-           if (argv[i][2] != '\0')
-             title = argv[i] + 2;
-           else
-           {
-             i ++;
-             if (i >= argc)
+             if (num_copies < 1)
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected name after \"-%c\" "
-                                 "option."), argv[0], ch);
+               _cupsLangPrintf(stderr, _("%s: Error - copies must be 1 or more."), argv[0]);
                return (1);
              }
 
-             title = argv[i];
-           }
-           break;
+             sprintf(buffer, "%d", num_copies);
+             num_options = cupsAddOption("copies", buffer, num_options, &options);
+             break;
+
+         case 'C' : /* Class */
+         case 'J' : /* Job name */
+         case 'T' : /* Title */
+             if (opt[1] != '\0')
+             {
+               title = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected name after \"-%c\" option."), argv[0], ch);
+                 return (1);
+               }
+
+               title = argv[i];
+             }
+             break;
 
-       default :
-           _cupsLangPrintf(stderr,
-                           _("%s: Error - unknown option \"%c\"."), argv[0],
-                           argv[i][1]);
-           return (1);
+         default :
+             _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."), argv[0], *opt);
+             return (1);
+       }
       }
     }
     else if (num_files < 1000)
@@ -305,9 +312,11 @@ main(int  argc,                            /* I - Number of command-line arguments */
       }
     }
     else
-      _cupsLangPrintf(stderr,
-                      _("%s: Error - too many files - \"%s\"."), argv[0],
-                     argv[i]);
+    {
+      _cupsLangPrintf(stderr, _("%s: Error - too many files - \"%s\"."), argv[0], argv[i]);
+    }
+  }
+
  /*
   * See if we have any files to print; if not, print from stdin...
   */
index 981b94b55386121ab3cad5988b22e8cab5173ebe..2271d48720ec584f453db3554cba09b173d37915 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "lprm" command for CUPS.
  *
- * Copyright 2007-2010 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -29,7 +29,8 @@ main(int  argc,                       /* I - Number of command-line arguments */
   int          i;              /* Looping var */
   int          job_id;         /* Job ID */
   const char   *name;          /* Destination printer */
-  char         *instance;      /* Pointer to instance name */
+  char         *instance,      /* Pointer to instance name */
+               *opt;           /* Option pointer */
   cups_dest_t  *dest,          /* Destination */
                *defdest;       /* Default destination */
   int          did_cancel;     /* Did we cancel something? */
@@ -50,90 +51,96 @@ main(int  argc,                     /* I - Number of command-line arguments */
   */
 
   for (i = 1; i < argc; i ++)
+  {
     if (argv[i][0] == '-' && argv[i][1] != '\0')
-      switch (argv[i][1])
+    {
+      for (opt = argv[i] + 1; *opt; opt ++)
       {
-        case 'E' : /* Encrypt */
+       switch (*opt)
+       {
+         case 'E' : /* Encrypt */
 #ifdef HAVE_SSL
-           cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
+             cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support."), argv[0]);
+             _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
 #endif /* HAVE_SSL */
-           break;
-
-        case 'P' : /* Cancel jobs on a printer */
-           if (argv[i][2])
-             name = argv[i] + 2;
-           else
-           {
-             i ++;
-             name = argv[i];
-           }
-
-           if ((instance = strchr(name, '/')) != NULL)
-             *instance = '\0';
-
-           if ((dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, name,
-                                        NULL)) == NULL)
-           {
-             _cupsLangPrintf(stderr,
-                             _("%s: Error - unknown destination \"%s\"."),
-                             argv[0], name);
-              goto error;
-           }
-
-           cupsFreeDests(1, dest);
-           break;
-
-        case 'U' : /* Username */
-           if (argv[i][2] != '\0')
-             cupsSetUser(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
+             break;
+
+         case 'P' : /* Cancel jobs on a printer */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected username after "
-                                 "\"-U\" option."), argv[0]);
-               goto error;
+               name = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               name = argv[i];
              }
 
-              cupsSetUser(argv[i]);
-           }
-           break;
-
-        case 'h' : /* Connect to host */
-           if (argv[i][2] != '\0')
-              cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
+             if ((instance = strchr(name, '/')) != NULL)
+               *instance = '\0';
 
-             if (i >= argc)
+             if ((dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, name, NULL)) == NULL)
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected hostname after "
-                                 "\"-h\" option."), argv[0]);
+               _cupsLangPrintf(stderr, _("%s: Error - unknown destination \"%s\"."), argv[0], name);
                goto error;
-              }
+             }
+
+             cupsFreeDests(1, dest);
+             break;
+
+         case 'U' : /* Username */
+             if (opt[1] != '\0')
+             {
+               cupsSetUser(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), argv[0]);
+                 goto error;
+               }
+
+               cupsSetUser(argv[i]);
+             }
+             break;
+
+         case 'h' : /* Connect to host */
+             if (opt[1] != '\0')
+             {
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
+             }
              else
-                cupsSetServer(argv[i]);
-           }
+             {
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected hostname after \"-h\" option."), argv[0]);
+                 goto error;
+               }
+               else
+                 cupsSetServer(argv[i]);
+             }
 
-            if (defdest)
-             cupsFreeDests(1, defdest);
+             if (defdest)
+               cupsFreeDests(1, defdest);
 
-           defdest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, NULL, NULL);
-           name    = defdest ? defdest->name : NULL;
-           break;
+             defdest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, NULL, NULL);
+             name    = defdest ? defdest->name : NULL;
+             break;
 
-       default :
-           _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."),
-                           argv[0], argv[i][1]);
-            goto error;
+         default :
+             _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."), argv[0], *opt);
+             goto error;
+       }
       }
+    }
     else
     {
      /*
@@ -176,6 +183,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
 
       did_cancel = 1;
     }
+  }
 
  /*
   * If nothing has been canceled yet, cancel the current job on the specified
index 7c4ac9d25fafa44ec7b6c84a00b1317404b49232..ae76a0c9fc24bc5e5a2f1f46dbfdc6bd6944d6d0 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Class status CGI for CUPS.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -297,8 +297,7 @@ show_all_classes(http_t     *http,  /* I - Connection to server */
                        *response;      /* IPP response */
   cups_array_t         *classes;       /* Array of class objects */
   ipp_attribute_t      *pclass;        /* Class object */
-  int                  ascending,      /* Order of classes (0 = descending) */
-                       first,          /* First class to show */
+  int                  first,          /* First class to show */
                        count;          /* Number of classes */
   const char           *var;           /* Form variable */
   void                 *search;        /* Search data */
@@ -370,25 +369,10 @@ show_all_classes(http_t     *http,        /* I - Connection to server */
     sprintf(val, "%d", count);
     cgiSetVariable("TOTAL", val);
 
-    if ((var = cgiGetVariable("ORDER")) != NULL && *var)
-      ascending = !_cups_strcasecmp(var, "asc");
-    else
-      ascending = 1;
-
-    if (ascending)
-    {
-      for (i = 0, pclass = (ipp_attribute_t *)cupsArrayIndex(classes, first);
-          i < CUPS_PAGE_MAX && pclass;
-          i ++, pclass = (ipp_attribute_t *)cupsArrayNext(classes))
-        cgiSetIPPObjectVars(pclass, NULL, i);
-    }
-    else
-    {
-      for (i = 0, pclass = (ipp_attribute_t *)cupsArrayIndex(classes, count - first - 1);
-          i < CUPS_PAGE_MAX && pclass;
-          i ++, pclass = (ipp_attribute_t *)cupsArrayPrev(classes))
-        cgiSetIPPObjectVars(pclass, NULL, i);
-    }
+    for (i = 0, pclass = (ipp_attribute_t *)cupsArrayIndex(classes, first);
+        i < CUPS_PAGE_MAX && pclass;
+        i ++, pclass = (ipp_attribute_t *)cupsArrayNext(classes))
+      cgiSetIPPObjectVars(pclass, NULL, i);
 
    /*
     * Save navigation URLs...
@@ -408,6 +392,12 @@ show_all_classes(http_t     *http, /* I - Connection to server */
       cgiSetVariable("NEXT", val);
     }
 
+    if (count > CUPS_PAGE_MAX)
+    {
+      snprintf(val, sizeof(val), "%d", CUPS_PAGE_MAX * (count / CUPS_PAGE_MAX));
+      cgiSetVariable("LAST", val);
+    }
+
    /*
     * Then show everything...
     */
index 827c55cfb3e86e86a15aeff21ee5c9da450de2c3..877d37c28de555b94cc8183458b150acf974022d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * CGI <-> IPP variable routines for CUPS.
  *
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -1358,8 +1358,7 @@ cgiShowJobs(http_t     *http,             /* I - Connection to server */
                        *response;      /* IPP response */
   cups_array_t         *jobs;          /* Array of job objects */
   ipp_attribute_t      *job;           /* Job object */
-  int                  ascending,      /* Order of jobs (0 = descending) */
-                       first,          /* First job to show */
+  int                  first,          /* First job to show */
                        count;          /* Number of jobs */
   const char           *var,           /* Form variable */
                        *query,         /* Query string */
@@ -1395,6 +1394,17 @@ cgiShowJobs(http_t     *http,            /* I - Connection to server */
     ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
                  NULL, which_jobs);
 
+  if ((var = cgiGetVariable("FIRST")) != NULL)
+  {
+    if ((first = atoi(var)) < 0)
+      first = 0;
+  }
+  else
+    first = 0;
+
+  if (first > 0)
+    ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER, "first-index", first + 1);
+
   cgiGetAttributes(request, "jobs.tmpl");
 
  /*
@@ -1417,7 +1427,7 @@ cgiShowJobs(http_t     *http,             /* I - Connection to server */
     }
 
     jobs  = cgiGetIPPObjects(response, search);
-    count = cupsArrayCount(jobs);
+    count = cupsArrayCount(jobs) + first;
 
     if (search)
       cgiFreeSearch(search);
@@ -1426,25 +1436,6 @@ cgiShowJobs(http_t     *http,            /* I - Connection to server */
     * Figure out which jobs to display...
     */
 
-    if ((var = cgiGetVariable("FIRST")) != NULL)
-      first = atoi(var);
-    else
-      first = 0;
-
-    if (first >= count)
-      first = count - CUPS_PAGE_MAX;
-
-    first = (first / CUPS_PAGE_MAX) * CUPS_PAGE_MAX;
-
-    if (first < 0)
-      first = 0;
-
-    if ((var = cgiGetVariable("ORDER")) != NULL && *var)
-      ascending = !_cups_strcasecmp(var, "asc");
-    else
-      ascending = !which_jobs || !*which_jobs ||
-                  !_cups_strcasecmp(which_jobs, "not-completed");
-
     section = cgiGetVariable("SECTION");
 
     cgiClearVariables();
@@ -1452,8 +1443,6 @@ cgiShowJobs(http_t     *http,             /* I - Connection to server */
     if (query)
       cgiSetVariable("QUERY", query);
 
-    cgiSetVariable("ORDER", ascending ? "asc" : "dec");
-
     cgiSetVariable("SECTION", section);
 
     sprintf(val, "%d", count);
@@ -1462,20 +1451,10 @@ cgiShowJobs(http_t     *http,           /* I - Connection to server */
     if (which_jobs)
       cgiSetVariable("WHICH_JOBS", which_jobs);
 
-    if (ascending)
-    {
-      for (i = 0, job = (ipp_attribute_t *)cupsArrayIndex(jobs, first);
-          i < CUPS_PAGE_MAX && job;
-          i ++, job = (ipp_attribute_t *)cupsArrayNext(jobs))
-        cgiSetIPPObjectVars(job, NULL, i);
-    }
-    else
-    {
-      for (i = 0, job = (ipp_attribute_t *)cupsArrayIndex(jobs, count - first - 1);
-          i < CUPS_PAGE_MAX && job;
-          i ++, job = (ipp_attribute_t *)cupsArrayPrev(jobs))
-        cgiSetIPPObjectVars(job, NULL, i);
-    }
+    for (i = 0, job = (ipp_attribute_t *)cupsArrayFirst(jobs);
+        i < CUPS_PAGE_MAX && job;
+        i ++, job = (ipp_attribute_t *)cupsArrayNext(jobs))
+      cgiSetIPPObjectVars(job, NULL, i);
 
    /*
     * Save navigation URLs...
@@ -1504,6 +1483,12 @@ cgiShowJobs(http_t     *http,            /* I - Connection to server */
       cgiSetVariable("NEXT", val);
     }
 
+    if (count > CUPS_PAGE_MAX)
+    {
+      snprintf(val, sizeof(val), "%d", CUPS_PAGE_MAX * (count / CUPS_PAGE_MAX));
+      cgiSetVariable("LAST", val);
+    }
+
    /*
     * Then show everything...
     */
index 7d2d5d6bee3707455735d02c380c010b8c27145f..932c699954ab8d06f552f52a8b3474a8ddf395d7 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Printer status CGI for CUPS.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -304,8 +304,7 @@ show_all_printers(http_t     *http, /* I - Connection to server */
                        *response;      /* IPP response */
   cups_array_t         *printers;      /* Array of printer objects */
   ipp_attribute_t      *printer;       /* Printer object */
-  int                  ascending,      /* Order of printers (0 = descending) */
-                       first,          /* First printer to show */
+  int                  first,          /* First printer to show */
                        count;          /* Number of printers */
   const char           *var;           /* Form variable */
   void                 *search;        /* Search data */
@@ -387,25 +386,10 @@ show_all_printers(http_t     *http,       /* I - Connection to server */
     sprintf(val, "%d", count);
     cgiSetVariable("TOTAL", val);
 
-    if ((var = cgiGetVariable("ORDER")) != NULL && *var)
-      ascending = !_cups_strcasecmp(var, "asc");
-    else
-      ascending = 1;
-
-    if (ascending)
-    {
-      for (i = 0, printer = (ipp_attribute_t *)cupsArrayIndex(printers, first);
-          i < CUPS_PAGE_MAX && printer;
-          i ++, printer = (ipp_attribute_t *)cupsArrayNext(printers))
-        cgiSetIPPObjectVars(printer, NULL, i);
-    }
-    else
-    {
-      for (i = 0, printer = (ipp_attribute_t *)cupsArrayIndex(printers, count - first - 1);
-          i < CUPS_PAGE_MAX && printer;
-          i ++, printer = (ipp_attribute_t *)cupsArrayPrev(printers))
-        cgiSetIPPObjectVars(printer, NULL, i);
-    }
+    for (i = 0, printer = (ipp_attribute_t *)cupsArrayIndex(printers, first);
+        i < CUPS_PAGE_MAX && printer;
+        i ++, printer = (ipp_attribute_t *)cupsArrayNext(printers))
+      cgiSetIPPObjectVars(printer, NULL, i);
 
    /*
     * Save navigation URLs...
@@ -425,6 +409,12 @@ show_all_printers(http_t     *http,        /* I - Connection to server */
       cgiSetVariable("NEXT", val);
     }
 
+    if (count > CUPS_PAGE_MAX)
+    {
+      snprintf(val, sizeof(val), "%d", CUPS_PAGE_MAX * (count / CUPS_PAGE_MAX));
+      cgiSetVariable("LAST", val);
+    }
+
    /*
     * Then show everything...
     */
index 3a912478c9477517ea5d5074ac84b93529eb33be..fbba71503a8fc451b079f7f078298c176c5e23da 100644 (file)
@@ -199,6 +199,9 @@ AC_CHECK_FUNCS(waitpid wait3)
 dnl Check for posix_spawn
 AC_CHECK_FUNCS(posix_spawn)
 
+dnl Check for getgrouplist
+AC_CHECK_FUNCS(getgrouplist)
+
 dnl See if the tm structure has the tm_gmtoff member...
 AC_MSG_CHECKING(for tm_gmtoff member in tm structure)
 AC_TRY_COMPILE([#include <time.h>],[struct tm t;
index e242d561185169b2e802bda50a2b7e96936157da..37cfc4cd1543f6320a204664ec32885e06eee7d0 100644 (file)
 #undef HAVE_SCDYNAMICSTORECOPYCOMPUTERNAME
 
 
+/*
+ * Do we have the getgrouplist() function?
+ */
+
+#undef HAVE_GETGROUPLIST
+
 /*
  * Do we have OS X 10.4's mbr_XXX functions?
  */
index c3af70dd1c2f525b7daa71222865a2e175eb98f9..38b2e9eb962a1b539989f67d3534f6f8765d5a4b 100755 (executable)
--- a/configure
+++ b/configure
@@ -5307,6 +5307,18 @@ fi
 done
 
 
+for ac_func in getgrouplist
+do :
+  ac_fn_c_check_func "$LINENO" "getgrouplist" "ac_cv_func_getgrouplist"
+if test "x$ac_cv_func_getgrouplist" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_GETGROUPLIST 1
+_ACEOF
+
+fi
+done
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tm_gmtoff member in tm structure" >&5
 $as_echo_n "checking for tm_gmtoff member in tm structure... " >&6; }
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
index 593113abccfa06113324b847a695760855f6d1ba..d5c5df71c7698b8e2d269070d5488df424e36941 100644 (file)
@@ -1,7 +1,7 @@
 #
 # API library Makefile for CUPS.
 #
-# Copyright 2007-2015 by Apple Inc.
+# Copyright 2007-2016 by Apple Inc.
 # Copyright 1997-2006 by Easy Software Products, all rights reserved.
 #
 # These coded instructions, statements, and computer programs are the
@@ -564,6 +564,13 @@ apihelp:
                --css ../doc/cups-printable.css \
                --header api-overview.header --intro api-overview.shtml \
                >../doc/help/api-overview.html
+       mxmldoc --section "Programming" --title "Administration APIs" \
+               --css ../doc/cups-printable.css \
+               --header api-admin.header --intro api-admin.shtml \
+               api-admin.xml \
+               adminutil.c adminutil.h getdevices.c >../doc/help/api-admin.html
+       mxmldoc --tokens help/api-admin.html api-admin.xml >../doc/help/api-admin.tokens
+       $(RM) api-admin.xml
        mxmldoc --section "Programming" --title "Array API" \
                --css ../doc/cups-printable.css \
                --header api-array.header --intro api-array.shtml \
@@ -612,50 +619,6 @@ apihelp:
        mxmldoc --tokens help/api-filter.html api-filter.xml >../doc/help/api-filter.tokens
        $(RM) api-filter.xml
 
-framedhelp:
-       echo Generating CUPS API help files...
-       mxmldoc --framed api-overview \
-               --section "Programming" \
-               --title "Introduction to CUPS Programming" \
-               --css ../doc/cups-printable.css \
-               --header api-overview.header --intro api-overview.shtml
-       mxmldoc --framed api-array \
-               --section "Programming" --title "Array API" \
-               --css ../doc/cups-printable.css \
-               --header api-array.header --intro api-array.shtml \
-               array.h array.c
-       mxmldoc --framed api-cups \
-               --section "Programming" --title "CUPS API" \
-               --css ../doc/cups-printable.css \
-               --header api-cups.header --intro api-cups.shtml \
-               cups.h adminutil.c dest*.c language.c notify.c \
-               options.c tempfile.c usersys.c \
-               util.c
-       mxmldoc --framed api-filedir \
-               --section "Programming" --title "File and Directory APIs" \
-               --css ../doc/cups-printable.css \
-               --header api-filedir.header --intro api-filedir.shtml \
-               file.h file.c dir.h dir.c
-       mxmldoc --framed api-ppd \
-               --section "Programming" --title "PPD API (DEPRECATED)" \
-               --css ../doc/cups-printable.css \
-               --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
-       mxmldoc --framed api-httpipp \
-               --section "Programming" --title "HTTP and IPP APIs" \
-               --css ../doc/cups-printable.css \
-               --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
-       mxmldoc --framed api-filter \
-               --section "Programming" \
-               --title "Filter and Backend Programming" \
-               --css ../doc/cups-printable.css \
-               --header api-filter.header --intro api-filter.shtml \
-               backchannel.c backend.h backend.c sidechannel.c sidechannel.h
-
 
 #
 # Lines of code computation...
diff --git a/cups/api-admin.header b/cups/api-admin.header
new file mode 100644 (file)
index 0000000..a3ce3b1
--- /dev/null
@@ -0,0 +1,34 @@
+<!--
+  Administrative API header for CUPS.
+
+  Copyright 2016 by Apple Inc.
+
+  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/".
+-->
+
+<h1 class='title'>Administrative APIs</h1>
+
+<div class='summary'><table summary='General Information'>
+<thead>
+<tr>
+       <th>Header</th>
+       <th>cups/adminutil.h</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+       <th>Library</th>
+       <td>-lcups</td>
+</tr>
+<tr>
+       <th>See Also</th>
+       <td>Programming: <a href='api-overview.html' target='_top'>Introduction to CUPS Programming</a><br>
+       Programming: <a href='api-cups.html' target='_top'>CUPS API</a><br>
+       Programming: <a href='api-httpipp.html' target='_top'>HTTP and IPP APIs</a></td>
+</tr>
+</tbody>
+</table></div>
diff --git a/cups/api-admin.shtml b/cups/api-admin.shtml
new file mode 100644 (file)
index 0000000..8928e47
--- /dev/null
@@ -0,0 +1,96 @@
+<!--
+  Administrative API documentation for CUPS.
+
+  Copyright 2016 by Apple Inc.
+
+  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/".
+-->
+
+<h2 class="title"><a name="OVERVIEW">Overview</a></h2>
+
+<p>The administrative APIs provide convenience functions to perform certain administrative functions with the CUPS scheduler.</p>
+
+<blockquote><b>Note:<b>
+  <p>Administrative functions normally require administrative privileges to execute and must not be used in ordinary user applications!</p>
+</blockquote>
+
+<h3><a name="SETTINGS">Scheduler Settings</a></h3>
+
+<p>The <a href="#cupsAdminGetServerSettings"><code>cupsAdminGetServerSettings</code></a> and <a href="#cupsAdminSetServerSettings"><code>cupsAdminSetServerSettings</code></a> functions allow you to get and set simple directives and their values, respectively, in the <var>cupsd.conf</var> file for the CUPS scheduler. Settings are stored in CUPS option arrays which provide a simple list of string name/value pairs. While any simple <var>cupsd.conf</var> directive name can be specified, the following convenience names are also defined to control common complex directives:</p>
+
+<ul>
+  <li><code>CUPS_SERVER_DEBUG_LOGGING</code></li>: For <code>cupsAdminGetServerSettings</code>, a value of "1" means that the <code>LogLevel</code> directive is set to <code>debug</code> or <code>debug2</code> while a value of "0" means it is set to any other value. For <code>cupsAdminSetServerSettings</code> a value of "1" sets the <code>LogLeveL</code> to <code>debug</code> while a value of "0" sets it to <code>warn</code>.</li>
+  <li><code>CUPS_SERVER_REMOTE_ADMIN</code></li>: A value of "1" specifies that administrative requests are accepted from remote addresses while "0" specifies that requests are only accepted from local addresses (loopback interface and domain sockets).</li>
+  <li><code>CUPS_SERVER_REMOTE_ANY</code></li>: A value of "1" specifies that requests are accepts from any address while "0" specifies that requests are only accepted from the local subnet (when sharing is enabled) or local addresses (loopback interface and domain sockets).</li>
+  <li><code>CUPS_SERVER_SHARE_PRINTERS</code></li>: A value of "1" specifies that printer sharing is enabled for selected printers and remote requests are accepted while a value of "0" specifies that printer sharing is disables and remote requests are not accepted.</li>
+  <li><code>CUPS_SERVER_USER_CANCEL_ANY</code></li>: A value of "1" specifies that the default security policy allows any user to cancel any print job, regardless of the owner. A value of "0" specifies that only administrative users can cancel other user's jobs.</li>
+</ul>
+
+<blockquote><b>Note:</b>
+  <p>Changing settings will restart the CUPS scheduler.</p>
+  <p>When printer sharing or the web interface are enabled, the scheduler's launch-on-demand functionality is effectively disabled. This can affect power usage, system performance, and the security profile of a system.</p>
+</blockquote>
+
+<p>The recommended way to make changes to the <var>cupsd.conf</var> is to first call <a href="#cupsAdminGetServerSettings"><code>cupsAdminGetServerSettings</code></a>, make any changes to the returned option array, and then call <a href="#cupsAdminSetServerSettings"><code>cupsAdminSetServerSettings</code></a> to save those settings. For example, to enable the web interface:</p>
+
+<pre class="example">
+#include &lt;cups/cups.h&gt;
+#include &lt;cups/adminutil.h&gt;
+
+void
+enable_web_interface(void)
+{
+  int num_settings = 0;           /* Number of settings */
+  cups_option_t *settings = NULL; /* Settings */
+
+
+  if (!<a href="#cupsAdminGetServerSettings">cupsAdminGetServerSettings</a>(CUPS_HTTP_DEFAULT, &amp;num_settings, &amp;settings))
+  {
+    fprintf(stderr, "ERROR: Unable to get server settings: %s\n", cupsLastErrorString());
+    return;
+  }
+
+  num_settings = <a href="api-cups.html#cupsAddOption">cupsAddOption</a>("WebInterface", "Yes", num_settings, &amp;settings);
+
+  if (!<a href="#cupsAdminSetServerSettings">cupsAdminSetServerSettings</a>(CUPS_HTTP_DEFAULT, num_settings, settings))
+  {
+    fprintf(stderr, "ERROR: Unable to set server settings: %s\n", cupsLastErrorString());
+  }
+
+  <a href="api-cups.html#cupsFreeOptions">cupsFreeOptions</a>(num_settings, settings);
+}
+</pre>
+
+<h3><a name="DEVICES">Devices</a></h3>
+
+<p>Printers can be discovered through the CUPS scheduler using the <a href="#cupsGetDevices"><code>cupsGetDevices</code></a> API. Typically this API is used to locate printers to add the the system. Each device that is found will cause a supplied callback function to be executed. For example, to list the available printer devices that can be found within 30 seconds:</p>
+
+<pre class="example">
+#include &lt;cups/cups.h&gt;
+#include &lt;cups/adminutil.h&gt;
+
+
+void
+get_devices_cb(
+    const char *device_class,           /* I - Class */
+    const char *device_id,              /* I - 1284 device ID */
+    const char *device_info,            /* I - Description */
+    const char *device_make_and_model,  /* I - Make and model */
+    const char *device_uri,             /* I - Device URI */
+    const char *device_location,        /* I - Location */
+    void       *user_data)              /* I - User data */
+{
+  puts(device_uri);
+}
+
+
+void
+show_devices(void)
+{
+  <a href="#cupsGetDevices">cupsGetDevices</a>(CUPS_HTTP_DEFAULT, 30, NULL, NULL, get_devices_cb, NULL);
+}
+</pre>
index d2cca7af2684b0274606779b58d8a204df5027cd..f08bc71b7681cbba77012bd78c67584f58dc303b 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   Filter and backend programming header for CUPS.
 
-  Copyright 2008-2014 by Apple Inc.
+  Copyright 2008-2016 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
@@ -17,6 +17,7 @@
 <tr>
        <th>Headers</th>
        <th>cups/backend.h<br>
+       cups/ppd.h<br>
        cups/sidechannel.h</th>
 </tr>
 </thead>
index d61b140f3815833a56f522fc47f661751b6e1bd4..ed24604087a8370f82bfacdf9202e5d0052cc010 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   Filter and backend programming introduction for CUPS.
 
-  Copyright 2007-2014 by Apple Inc.
+  Copyright 2007-2016 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -285,7 +285,7 @@ prefix strings:</p>
        <dd>Sets or clears printer-state-reason keywords for the current queue.
        Typically this is used to indicate persistent media, ink, toner, and
        configuration conditions or errors on a printer.
-       <a href='#TABLE2'>Table 2</a> lists the standard state keywords -
+       <a href='#TABLE2'>Table 2</a> lists some of the standard "printer-state-reasons" keywords from the <a href="http://www.iana.org/assignments/ipp-registrations/ipp-registrations.xhtml#ipp-registrations-4">IANA IPP Registry</a> -
        use vendor-prefixed ("com.example.foo") keywords for custom states. See
        <a href="#MANAGING_STATE">Managing Printer State in a Filter</a> for more
        information.
index 844b67835f978eee775031e4abb65dca8010e417..cbede8f68b0122cd7f3dc21fdc74f1980181ddac 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   HTTP and IPP API header for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2016 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
 <div class='summary'><table summary='General Information'>
 <thead>
 <tr>
-       <th>Header</th>
-       <th>cups/cups.h</th>
+       <th>Headers</th>
+       <th>cups/cups.h<br>
+       cups/http.h<br>
+       cups/ipp.h</th>
 </tr>
 </thead>
 <tbody>
index a42c7fb22a4f39937c23e81ab14a9c497ba153da..b96cd075b8f0bc851ad4619a36e14f7e2ea44fc0 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   Introduction to CUPS programming header for CUPS.
 
-  Copyright 2008-2011 by Apple Inc.
+  Copyright 2008-2016 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
 <tr>
        <th>Headers</th>
        <th>cups/cups.h<br>
+       cups/adminutil.h<br>
        cups/array.h<br>
-       cups/backend.h<br>
        cups/dir.h<br>
        cups/file.h<br>
+       cups/http.h<br>
+       cups/ipp.h<br>
+       cups/language.h<br>
        cups/ppd.h<br>
-       cups/raster.h<br>
-       cups/sidechannel.h</th>
+       cups/pwg.h<br>
+       cups/raster.h</th>
 </tr>
 </thead>
 <tbody>
 <tr>
        <th>Libraries</th>
-       <td>-lcups<br>
-       -lcupsimage</td>
+       <td>-lcups</td>
 </tr>
 <tr>
        <th>See Also</th>
        Programming: <a href='postscript-driver.html' target='_top'>Developing PostScript Printer Drivers</a><br>
        Programming: <a href='api-filter.html' target='_top'>Filter and Backend Programming</a><br>
        Programming: <a href='ppd-compiler.html' target='_top'>Introduction to the PPD Compiler</a><br>
+       Programming: <a href='api-admin.html' target='_top'>Administrative APIs</a><br>
        Programming: <a href='api-array.html' target='_top'>Array API</a><br>
        Programming: <a href='api-cups.html' target='_top'>CUPS API</a><br>
        Programming: <a href='api-filedir.html' target='_top'>File and Directory APIs</a><br>
        Programming: <a href='api-httpipp.html' target='_top'>HTTP and IPP APIs</a><br>
-       Programming: <a href='api-ppd.html' target='_top'>PPD API</a><br>
+       Programming: <a href='api-ppd.html' target='_top'>PPD API (DEPRECATED)</a><br>
        Programming: <a href='api-raster.html' target='_top'>Raster API</a><br>
        References: <a href='ref-ppdcfile.html' target='_top'>PPD Compiler Driver Information File Reference</a><br>
        Specifications: <a href='spec-ppd.html' target='_top'>CUPS PPD Extensions</a></td>
index 134aa8b039a7ea6459f55818a52808abe1512875..998aeec946f4aa019a1972e7368040b82ea2887f 100644 (file)
@@ -158,6 +158,7 @@ typedef struct _cups_globals_s              /**** CUPS global state data ****/
   void                 *server_cert_data;
                                        /* Server certificate user data */
   int                  server_version, /* Server IPP version */
+                       trust_first,    /* Trust on first use? */
                        any_root,       /* Allow any (e.g., self-signed) root */
                        expired_certs,  /* Allow expired certs */
                        validate_certs; /* Validate certificates */
index 6131a5cfbc3e6b5d86f50003db4e74b71f46484d..276bbcf5bfda592cff369164cfa2873520b702ed 100644 (file)
@@ -202,6 +202,7 @@ cups_globals_alloc(void)
   memset(cg, 0, sizeof(_cups_globals_t));
   cg->encryption     = (http_encryption_t)-1;
   cg->password_cb    = (cups_password_cb2_t)_cupsGetPassword;
+  cg->trust_first    = -1;
   cg->any_root       = -1;
   cg->expired_certs  = -1;
   cg->validate_certs = -1;
index c68b629ddbb8f6a7666b99a576718919f7475860..f74d9ed7a659d2998a3b03f2acb65ed763ea72c5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * HTTP address list routines for CUPS.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * These coded instructions, statements, and computer programs are the
@@ -62,8 +62,6 @@ httpAddrConnect2(
 {
   int                  val;            /* Socket option value */
 #ifdef O_NONBLOCK
-  socklen_t            len;            /* Length of value */
-  http_addr_t          peer;           /* Peer address */
   int                  flags,          /* Socket flags */
                        remaining;      /* Remaining timeout */
   int                  i,              /* Looping var */
@@ -81,6 +79,8 @@ httpAddrConnect2(
 #  endif /* HAVE_POLL */
 #endif /* O_NONBLOCK */
 #ifdef DEBUG
+  socklen_t            len;            /* Length of value */
+  http_addr_t          peer;           /* Peer address */
   char                 temp[256];      /* Temporary address string */
 #endif /* DEBUG */
 
@@ -104,7 +104,10 @@ httpAddrConnect2(
   * Loop through each address until we connect or run out of addresses...
   */
 
-  for (nfds = 0; addrlist && nfds < (int)(sizeof(fds) / sizeof(fds[0])); addrlist = addrlist->next)
+  nfds      = 0;
+  remaining = msec;
+
+  while (remaining > 0)
   {
     if (cancel && *cancel)
     {
@@ -117,116 +120,125 @@ httpAddrConnect2(
       return (NULL);
     }
 
-   /*
-    * Create the socket...
-    */
-
-    DEBUG_printf(("2httpAddrConnect2: Trying %s:%d...", httpAddrString(&(addrlist->addr), temp, sizeof(temp)), httpAddrPort(&(addrlist->addr))));
-
-    if ((fds[nfds] = (int)socket(httpAddrFamily(&(addrlist->addr)), SOCK_STREAM, 0)) < 0)
+    if (addrlist && nfds < (int)(sizeof(fds) / sizeof(fds[0])))
     {
      /*
-      * Don't abort yet, as this could just be an issue with the local
-      * system not being configured with IPv4/IPv6/domain socket enabled...
+      * Create the socket...
       */
 
-      continue;
-    }
+      DEBUG_printf(("2httpAddrConnect2: Trying %s:%d...", httpAddrString(&(addrlist->addr), temp, sizeof(temp)), httpAddrPort(&(addrlist->addr))));
 
-   /*
-    * Set options...
-    */
+      if ((fds[nfds] = (int)socket(httpAddrFamily(&(addrlist->addr)), SOCK_STREAM, 0)) < 0)
+      {
+       /*
+       * Don't abort yet, as this could just be an issue with the local
+       * system not being configured with IPv4/IPv6/domain socket enabled.
+       *
+       * Just skip this address...
+       */
 
-    val = 1;
-    setsockopt(fds[nfds], SOL_SOCKET, SO_REUSEADDR, CUPS_SOCAST &val, sizeof(val));
+        addrlist = addrlist->next;
+       continue;
+      }
+
+     /*
+      * Set options...
+      */
+
+      val = 1;
+      setsockopt(fds[nfds], SOL_SOCKET, SO_REUSEADDR, CUPS_SOCAST &val, sizeof(val));
 
 #ifdef SO_REUSEPORT
-    val = 1;
-    setsockopt(fds[nfds], SOL_SOCKET, SO_REUSEPORT, CUPS_SOCAST &val, sizeof(val));
+      val = 1;
+      setsockopt(fds[nfds], SOL_SOCKET, SO_REUSEPORT, CUPS_SOCAST &val, sizeof(val));
 #endif /* SO_REUSEPORT */
 
 #ifdef SO_NOSIGPIPE
-    val = 1;
-    setsockopt(fds[nfds], SOL_SOCKET, SO_NOSIGPIPE, CUPS_SOCAST &val, sizeof(val));
+      val = 1;
+      setsockopt(fds[nfds], SOL_SOCKET, SO_NOSIGPIPE, CUPS_SOCAST &val, sizeof(val));
 #endif /* SO_NOSIGPIPE */
 
-   /*
-    * Using TCP_NODELAY improves responsiveness, especially on systems
-    * with a slow loopback interface...
-    */
+     /*
+      * Using TCP_NODELAY improves responsiveness, especially on systems
+      * with a slow loopback interface...
+      */
 
-    val = 1;
-    setsockopt(fds[nfds], IPPROTO_TCP, TCP_NODELAY, CUPS_SOCAST &val, sizeof(val));
+      val = 1;
+      setsockopt(fds[nfds], IPPROTO_TCP, TCP_NODELAY, CUPS_SOCAST &val, sizeof(val));
 
 #ifdef FD_CLOEXEC
-   /*
-    * Close this socket when starting another process...
-    */
+     /*
+      * Close this socket when starting another process...
+      */
 
-    fcntl(fds[nfds], F_SETFD, FD_CLOEXEC);
+      fcntl(fds[nfds], F_SETFD, FD_CLOEXEC);
 #endif /* FD_CLOEXEC */
 
 #ifdef O_NONBLOCK
-   /*
-    * Do an asynchronous connect by setting the socket non-blocking...
-    */
+     /*
+      * Do an asynchronous connect by setting the socket non-blocking...
+      */
 
-    DEBUG_printf(("httpAddrConnect2: Setting non-blocking connect()"));
+      DEBUG_printf(("httpAddrConnect2: Setting non-blocking connect()"));
 
-    flags = fcntl(fds[nfds], F_GETFL, 0);
-    fcntl(fds[nfds], F_SETFL, flags | O_NONBLOCK);
+      flags = fcntl(fds[nfds], F_GETFL, 0);
+      fcntl(fds[nfds], F_SETFL, flags | O_NONBLOCK);
 #endif /* O_NONBLOCK */
 
-   /*
-    * Then connect...
-    */
+     /*
+      * Then connect...
+      */
 
-    if (!connect(fds[nfds], &(addrlist->addr.addr), (socklen_t)httpAddrLength(&(addrlist->addr))))
-    {
-      DEBUG_printf(("1httpAddrConnect2: Connected to %s:%d...", httpAddrString(&(addrlist->addr), temp, sizeof(temp)), httpAddrPort(&(addrlist->addr))));
+      if (!connect(fds[nfds], &(addrlist->addr.addr), (socklen_t)httpAddrLength(&(addrlist->addr))))
+      {
+       DEBUG_printf(("1httpAddrConnect2: Connected to %s:%d...", httpAddrString(&(addrlist->addr), temp, sizeof(temp)), httpAddrPort(&(addrlist->addr))));
 
 #ifdef O_NONBLOCK
-      fcntl(fds[nfds], F_SETFL, flags);
+       fcntl(fds[nfds], F_SETFL, flags);
 #endif /* O_NONBLOCK */
 
-      *sock = fds[nfds];
+       *sock = fds[nfds];
 
-      while (nfds > 0)
-      {
-        nfds --;
-       httpAddrClose(NULL, fds[nfds]);
-      }
+       while (nfds > 0)
+       {
+         nfds --;
+         httpAddrClose(NULL, fds[nfds]);
+       }
 
-      return (addrlist);
-    }
+       return (addrlist);
+      }
 
 #ifdef WIN32
-    if (WSAGetLastError() != WSAEINPROGRESS && WSAGetLastError() != WSAEWOULDBLOCK)
+      if (WSAGetLastError() != WSAEINPROGRESS && WSAGetLastError() != WSAEWOULDBLOCK)
 #else
-    if (errno != EINPROGRESS && errno != EWOULDBLOCK)
+      if (errno != EINPROGRESS && errno != EWOULDBLOCK)
 #endif /* WIN32 */
-    {
-      DEBUG_printf(("1httpAddrConnect2: Unable to connect to %s:%d: %s", httpAddrString(&(addrlist->addr), temp, sizeof(temp)), httpAddrPort(&(addrlist->addr)), strerror(errno)));
-      httpAddrClose(NULL, fds[nfds]);
-      continue;
-    }
+      {
+       DEBUG_printf(("1httpAddrConnect2: Unable to connect to %s:%d: %s", httpAddrString(&(addrlist->addr), temp, sizeof(temp)), httpAddrPort(&(addrlist->addr)), strerror(errno)));
+       httpAddrClose(NULL, fds[nfds]);
+       addrlist = addrlist->next;
+       continue;
+      }
 
-    fcntl(fds[nfds], F_SETFL, flags);
+      fcntl(fds[nfds], F_SETFL, flags);
 
 #ifndef HAVE_POLL
-    if (fds[nfds] > max_fd)
-      max_fd = fds[nfds];
+      if (fds[nfds] > max_fd)
+       max_fd = fds[nfds];
 #endif /* !HAVE_POLL */
 
-    addrs[nfds] = addrlist;
-    nfds ++;
-  }
+      addrs[nfds] = addrlist;
+      nfds ++;
+      addrlist = addrlist->next;
+    }
+
+   /*
+    * See if we can connect to any of the addresses so far...
+    */
 
 #ifdef O_NONBLOCK
-  DEBUG_puts("1httpAddrConnect2: Finishing async connect()");
+    DEBUG_puts("1httpAddrConnect2: Finishing async connect()");
 
-  for (remaining = msec; remaining > 0; remaining -= 250)
-  {
     do
     {
       if (cancel && *cancel)
@@ -251,22 +263,22 @@ httpAddrConnect2(
 #  ifdef HAVE_POLL
       for (i = 0; i < nfds; i ++)
       {
-        pfds[i].fd     = fds[i];
-        pfds[i].events = POLLIN | POLLOUT;
+       pfds[i].fd     = fds[i];
+       pfds[i].events = POLLIN | POLLOUT;
       }
 
-      result = poll(pfds, (nfds_t)nfds, remaining > 250 ? 250 : remaining);
+      result = poll(pfds, (nfds_t)nfds, addrlist ? 100 : remaining > 250 ? 250 : remaining);
 
       DEBUG_printf(("1httpAddrConnect2: poll() returned %d (%d)", result, errno));
 
 #  else
       FD_ZERO(&input_set);
       for (i = 0; i < nfds; i ++)
-        FD_SET(fds[i], &input_set);
+       FD_SET(fds[i], &input_set);
       output_set = input_set;
 
       timeout.tv_sec  = 0;
-      timeout.tv_usec = (remaining > 250 ? 250 : remaining) * 1000;
+      timeout.tv_usec = (addrlist ? 100 : remaining > 250 ? 250 : remaining) * 1000;
 
       result = select(max_fd + 1, &input_set, &output_set, NULL, &timeout);
 
@@ -284,20 +296,20 @@ httpAddrConnect2(
       for (i = 0; i < nfds; i ++)
       {
 #  ifdef HAVE_POLL
-        DEBUG_printf(("pfds[%d].revents=%x\n", i, pfds[i].revents));
-        if (pfds[i].revents)
+       DEBUG_printf(("pfds[%d].revents=%x\n", i, pfds[i].revents));
+       if (pfds[i].revents)
 #  else
-        if (FD_ISSET(fds[i], &input))
+       if (FD_ISSET(fds[i], &input))
 #  endif /* HAVE_POLL */
-        {
-         *sock = fds[i];
+       {
+         *sock    = fds[i];
+         addrlist = addrs[i];
+
+#  ifdef DEBUG
          len   = sizeof(peer);
          if (!getpeername(fds[i], (struct sockaddr *)&peer, &len))
-         {
            DEBUG_printf(("1httpAddrConnect2: Connected to %s:%d...", httpAddrString(&peer, temp, sizeof(temp)), httpAddrPort(&peer)));
-
-           addrlist = addrs[i];
-         }
+#  endif /* DEBUG */
        }
        else
          httpAddrClose(NULL, fds[i]);
@@ -305,9 +317,14 @@ httpAddrConnect2(
 
       return (addrlist);
     }
-  }
 #endif /* O_NONBLOCK */
 
+    if (addrlist)
+      remaining -= 100;
+    else
+      remaining -= 250;
+  }
+
   while (nfds > 0)
   {
     nfds --;
index 0f12870b66d7873c1cb8b0356fcc87839716c621..f3a66f6c049e168c6ccac6f16f013494b6660276 100644 (file)
@@ -2947,8 +2947,73 @@ _ppdCreateFromIPP(char   *buffer,        /* I - Filename buffer */
                        top;            /* Largest top margin */
   pwg_media_t          *pwg;           /* PWG media size */
   int                  xres, yres;     /* Resolution values */
+  cups_lang_t          *lang = cupsLangDefault();
+                                       /* Localization info */
   struct lconv         *loc = localeconv();
                                        /* Locale data */
+  static const char * const finishings[][2] =
+  {                                    /* Finishings strings */
+    { "bale", _("Bale") },
+    { "bind", _("Bind") },
+    { "bind-bottom", _("Bind (Reverse Landscape)") },
+    { "bind-left", _("Bind (Portrait)") },
+    { "bind-right", _("Bind (Reverse Portrait)") },
+    { "bind-top", _("Bind (Landscape)") },
+    { "booklet-maker", _("Booklet Maker") },
+    { "coat", _("Coat") },
+    { "cover", _("Cover") },
+    { "edge-stitch", _("Staple Edge") },
+    { "edge-stitch-bottom", _("Staple Edge (Reverse Landscape)") },
+    { "edge-stitch-left", _("Staple Edge (Portrait)") },
+    { "edge-stitch-right", _("Staple Edge (Reverse Portrait)") },
+    { "edge-stitch-top", _("Staple Edge (Landscape)") },
+    { "fold", _("Fold") },
+    { "fold-accordian", _("Accordian Fold") },
+    { "fold-double-gate", _("Double Gate Fold") },
+    { "fold-gate", _("Gate Fold") },
+    { "fold-half", _("Half Fold") },
+    { "fold-half-z", _("Half Z Fold") },
+    { "fold-left-gate", _("Left Gate Fold") },
+    { "fold-letter", _("Letter Fold") },
+    { "fold-parallel", _("Parallel Fold") },
+    { "fold-poster", _("Poster Fold") },
+    { "fold-right-gate", _("Right Gate Fold") },
+    { "fold-z", _("Z Fold") },
+    { "jog-offset", _("Jog") },
+    { "laminate", _("Laminate") },
+    { "punch", _("Punch") },
+    { "punch-bottom-left", _("Single Punch (Reverse Landscape)") },
+    { "punch-bottom-right", _("Single Punch (Reverse Portrait)") },
+    { "punch-double-bottom", _("2-Hole Punch (Reverse Portrait)") },
+    { "punch-double-left", _("2-Hole Punch (Reverse Landscape)") },
+    { "punch-double-right", _("2-Hole Punch (Landscape)") },
+    { "punch-double-top", _("2-Hole Punch (Portrait)") },
+    { "punch-quad-bottom", _("4-Hole Punch (Reverse Landscape)") },
+    { "punch-quad-left", _("4-Hole Punch (Portrait)") },
+    { "punch-quad-right", _("4-Hole Punch (Reverse Portrait)") },
+    { "punch-quad-top", _("4-Hole Punch (Landscape)") },
+    { "punch-top-left", _("Single Punch (Portrait)") },
+    { "punch-top-right", _("Single Punch (Landscape)") },
+    { "punch-triple-bottom", _("3-Hole Punch (Reverse Landscape)") },
+    { "punch-triple-left", _("3-Hole Punch (Portrait)") },
+    { "punch-triple-right", _("3-Hole Punch (Reverse Portrait)") },
+    { "punch-triple-top", _("3-Hole Punch (Landscape)") },
+    { "saddle-stitch", _("Saddle Stitch") },
+    { "staple", _("Staple") },
+    { "staple-bottom-left", _("Single Staple (Reverse Landscape)") },
+    { "staple-bottom-right", _("Single Staple (Reverse Portrait)") },
+    { "staple-dual-bottom", _("Double Staple (Reverse Landscape)") },
+    { "staple-dual-left", _("Double Staple (Portrait)") },
+    { "staple-dual-right", _("Double Staple (Reverse Portrait)") },
+    { "staple-dual-top", _("Double Staple (Landscape)") },
+    { "staple-top-left", _("Single Staple (Portrait)") },
+    { "staple-top-right", _("Single Staple (Landscape)") },
+    { "staple-triple-bottom", _("Triple Staple (Reverse Landscape)") },
+    { "staple-triple-left", _("Triple Staple (Portrait)") },
+    { "staple-triple-right", _("Triple Staple (Reverse Portrait)") },
+    { "staple-triple-top", _("Triple Staple (Landscape)") },
+    { "trim", _("Cut Media") }
+  };
 
 
  /*
@@ -3188,56 +3253,56 @@ _ppdCreateFromIPP(char   *buffer,       /* I - Filename buffer */
   {
     static const char * const sources[][2] =
     {
-      { "Auto", "Automatic" },
-      { "Main", "Main" },
-      { "Alternate", "Alternate" },
-      { "LargeCapacity", "Large Capacity" },
-      { "Manual", "Manual" },
-      { "Envelope", "Envelope" },
-      { "Disc", "Disc" },
-      { "Photo", "Photo" },
-      { "Hagaki", "Hagaki" },
-      { "MainRoll", "Main Roll" },
-      { "AlternateRoll", "Alternate Roll" },
-      { "Top", "Top" },
-      { "Middle", "Middle" },
-      { "Bottom", "Bottom" },
-      { "Side", "Side" },
-      { "Left", "Left" },
-      { "Right", "Right" },
-      { "Center", "Center" },
-      { "Rear", "Rear" },
-      { "ByPassTray", "Multipurpose" },
-      { "Tray1", "Tray 1" },
-      { "Tray2", "Tray 2" },
-      { "Tray3", "Tray 3" },
-      { "Tray4", "Tray 4" },
-      { "Tray5", "Tray 5" },
-      { "Tray6", "Tray 6" },
-      { "Tray7", "Tray 7" },
-      { "Tray8", "Tray 8" },
-      { "Tray9", "Tray 9" },
-      { "Tray10", "Tray 10" },
-      { "Tray11", "Tray 11" },
-      { "Tray12", "Tray 12" },
-      { "Tray13", "Tray 13" },
-      { "Tray14", "Tray 14" },
-      { "Tray15", "Tray 15" },
-      { "Tray16", "Tray 16" },
-      { "Tray17", "Tray 17" },
-      { "Tray18", "Tray 18" },
-      { "Tray19", "Tray 19" },
-      { "Tray20", "Tray 20" },
-      { "Roll1", "Roll 1" },
-      { "Roll2", "Roll 2" },
-      { "Roll3", "Roll 3" },
-      { "Roll4", "Roll 4" },
-      { "Roll5", "Roll 5" },
-      { "Roll6", "Roll 6" },
-      { "Roll7", "Roll 7" },
-      { "Roll8", "Roll 8" },
-      { "Roll9", "Roll 9" },
-      { "Roll10", "Roll 10" }
+      { "Auto", _("Automatic") },
+      { "Main", _("Main") },
+      { "Alternate", _("Alternate") },
+      { "LargeCapacity", _("Large Capacity") },
+      { "Manual", _("Manual") },
+      { "Envelope", _("Envelope") },
+      { "Disc", _("Disc") },
+      { "Photo", _("Photo") },
+      { "Hagaki", _("Hagaki") },
+      { "MainRoll", _("Main Roll") },
+      { "AlternateRoll", _("Alternate Roll") },
+      { "Top", _("Top") },
+      { "Middle", _("Middle") },
+      { "Bottom", _("Bottom") },
+      { "Side", _("Side") },
+      { "Left", _("Left") },
+      { "Right", _("Right") },
+      { "Center", _("Center") },
+      { "Rear", _("Rear") },
+      { "ByPassTray", _("Multipurpose") },
+      { "Tray1", _("Tray 1") },
+      { "Tray2", _("Tray 2") },
+      { "Tray3", _("Tray 3") },
+      { "Tray4", _("Tray 4") },
+      { "Tray5", _("Tray 5") },
+      { "Tray6", _("Tray 6") },
+      { "Tray7", _("Tray 7") },
+      { "Tray8", _("Tray 8") },
+      { "Tray9", _("Tray 9") },
+      { "Tray10", _("Tray 10") },
+      { "Tray11", _("Tray 11") },
+      { "Tray12", _("Tray 12") },
+      { "Tray13", _("Tray 13") },
+      { "Tray14", _("Tray 14") },
+      { "Tray15", _("Tray 15") },
+      { "Tray16", _("Tray 16") },
+      { "Tray17", _("Tray 17") },
+      { "Tray18", _("Tray 18") },
+      { "Tray19", _("Tray 19") },
+      { "Tray20", _("Tray 20") },
+      { "Roll1", _("Roll 1") },
+      { "Roll2", _("Roll 2") },
+      { "Roll3", _("Roll 3") },
+      { "Roll4", _("Roll 4") },
+      { "Roll5", _("Roll 5") },
+      { "Roll6", _("Roll 6") },
+      { "Roll7", _("Roll 7") },
+      { "Roll8", _("Roll 8") },
+      { "Roll9", _("Roll 9") },
+      { "Roll10", _("Roll 10") }
     };
 
     cupsFilePrintf(fp, "*OpenUI *InputSlot: PickOne\n"
@@ -3250,7 +3315,7 @@ _ppdCreateFromIPP(char   *buffer, /* I - Filename buffer */
       for (j = 0; j < (int)(sizeof(sources) / sizeof(sources[0])); j ++)
         if (!strcmp(sources[j][0], ppdname))
        {
-         cupsFilePrintf(fp, "*InputSlot %s/%s: \"<</MediaPosition %d>>setpagedevice\"\n", ppdname, sources[j][1], j);
+         cupsFilePrintf(fp, "*InputSlot %s/%s: \"<</MediaPosition %d>>setpagedevice\"\n", ppdname, _cupsLangString(lang, sources[j][1]), j);
          break;
        }
     }
@@ -3270,21 +3335,21 @@ _ppdCreateFromIPP(char   *buffer,       /* I - Filename buffer */
   {
     static const char * const types[][2] =
     {                                  /* Media type strings (far from complete) */
-      { "Auto", "Automatic" },
-      { "Cardstock", "Cardstock" },
-      { "Disc", "CD/DVD/Bluray" },
-      { "Envelope", "Envelope" },
-      { "Labels", "Label" },
-      { "Other", "Other" },
-      { "Photographic", "Photo" },
-      { "PhotographicGlossy", "Glossy Photo" },
-      { "PhotographicHighGloss", "High-Gloss Photo" },
-      { "PhotographicMatte", "Matte Photo" },
-      { "PhotographicSatin", "Satin Photo" },
-      { "PhotographicSemiGloss", "Semi-Gloss Photo" },
-      { "Stationery", "Plain Paper" },
-      { "StationeryLetterhead", "Letterhead" },
-      { "Transparency", "Transparency" }
+      { "Auto", _("Automatic") },
+      { "Cardstock", _("Cardstock") },
+      { "Disc", _("CD/DVD/Bluray") },
+      { "Envelope", _("Envelope") },
+      { "Labels", _("Label") },
+      { "Other", _("Other") },
+      { "Photographic", _("Photo") },
+      { "PhotographicGlossy", _("Glossy Photo") },
+      { "PhotographicHighGloss", _("High-Gloss Photo") },
+      { "PhotographicMatte", _("Matte Photo") },
+      { "PhotographicSatin", _("Satin Photo") },
+      { "PhotographicSemiGloss", _("Semi-Gloss Photo") },
+      { "Stationery", _("Plain Paper") },
+      { "StationeryLetterhead", _("Letterhead") },
+      { "Transparency", _("Transparency") }
     };
 
     cupsFilePrintf(fp, "*OpenUI *MediaType: PickOne\n"
@@ -3297,7 +3362,7 @@ _ppdCreateFromIPP(char   *buffer, /* I - Filename buffer */
       for (j = 0; j < (int)(sizeof(types) / sizeof(types[0])); j ++)
         if (!strcmp(types[j][0], ppdname))
        {
-         cupsFilePrintf(fp, "*MediaType %s/%s: \"<</MediaType(%s)>>setpagedevice\"\n", ppdname, types[j][1], ppdname);
+         cupsFilePrintf(fp, "*MediaType %s/%s: \"<</MediaType(%s)>>setpagedevice\"\n", ppdname, _cupsLangString(lang, types[j][1]), ppdname);
          break;
        }
 
@@ -3327,10 +3392,10 @@ _ppdCreateFromIPP(char   *buffer,       /* I - Filename buffer */
       if (!strcmp(keyword, "black_1") || !strcmp(keyword, "bi-level") || !strcmp(keyword, "process-bi-level"))
       {
         if (!default_color)
-         cupsFilePuts(fp, "*OpenUI *ColorModel/Color Mode: PickOne\n"
-                          "*OrderDependency: 10 AnySetup *ColorModel\n");
+         cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n"
+                            "*OrderDependency: 10 AnySetup *ColorModel\n", _cupsLangString(lang, _("Color Mode")));
 
-        cupsFilePuts(fp, "*ColorModel FastGray/Fast Grayscale: \"<</cupsColorSpace 3/cupsBitsPerColor 1/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n");
+        cupsFilePrintf(fp, "*ColorModel FastGray/%s: \"<</cupsColorSpace 3/cupsBitsPerColor 1/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", _cupsLangString(lang, _("Fast Grayscale")));
 
         if (!default_color)
          default_color = "FastGray";
@@ -3338,10 +3403,10 @@ _ppdCreateFromIPP(char   *buffer,       /* I - Filename buffer */
       else if (!strcmp(keyword, "sgray_8") || !strcmp(keyword, "monochrome") || !strcmp(keyword, "process-monochrome"))
       {
         if (!default_color)
-         cupsFilePuts(fp, "*OpenUI *ColorModel/Color Mode: PickOne\n"
-                          "*OrderDependency: 10 AnySetup *ColorModel\n");
+         cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n"
+                            "*OrderDependency: 10 AnySetup *ColorModel\n", _cupsLangString(lang, _("Color Mode")));
 
-        cupsFilePuts(fp, "*ColorModel Gray/Grayscale: \"<</cupsColorSpace 18/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n");
+        cupsFilePrintf(fp, "*ColorModel Gray/%s: \"<</cupsColorSpace 18/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", _cupsLangString(lang, _("Grayscale")));
 
         if (!default_color || !strcmp(default_color, "FastGray"))
          default_color = "Gray";
@@ -3349,10 +3414,10 @@ _ppdCreateFromIPP(char   *buffer,       /* I - Filename buffer */
       else if (!strcmp(keyword, "srgb_8") || !strcmp(keyword, "color"))
       {
         if (!default_color)
-         cupsFilePuts(fp, "*OpenUI *ColorModel/Color Mode: PickOne\n"
-                          "*OrderDependency: 10 AnySetup *ColorModel\n");
+         cupsFilePrintf(fp, "*OpenUI *ColorModel/%s: PickOne\n"
+                            "*OrderDependency: 10 AnySetup *ColorModel\n", _cupsLangString(lang, _("Color Mode")));
 
-        cupsFilePuts(fp, "*ColorModel RGB/Color: \"<</cupsColorSpace 19/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n");
+        cupsFilePrintf(fp, "*ColorModel RGB/%s: \"<</cupsColorSpace 19/cupsBitsPerColor 8/cupsColorOrder 0/cupsCompression 0>>setpagedevice\"\n", _cupsLangString(lang, _("Color")));
 
        default_color = "RGB";
       }
@@ -3371,13 +3436,13 @@ _ppdCreateFromIPP(char   *buffer,       /* I - Filename buffer */
 
   if ((attr = ippFindAttribute(response, "sides-supported", IPP_TAG_KEYWORD)) != NULL && ippContainsString(attr, "two-sided-long-edge"))
   {
-    cupsFilePuts(fp, "*OpenUI *Duplex/2-Sided Printing: PickOne\n"
-                     "*OrderDependency: 10 AnySetup *Duplex\n"
-                     "*DefaultDuplex: None\n"
-                     "*Duplex None/Off (1-Sided): \"<</Duplex false>>setpagedevice\"\n"
-                     "*Duplex DuplexNoTumble/Long-Edge (Portrait): \"<</Duplex true/Tumble false>>setpagedevice\"\n"
-                     "*Duplex DuplexTumble/Short-Edge (Landscape): \"<</Duplex true/Tumble true>>setpagedevice\"\n"
-                     "*CloseUI: *Duplex\n");
+    cupsFilePrintf(fp, "*OpenUI *Duplex/%s: PickOne\n"
+                      "*OrderDependency: 10 AnySetup *Duplex\n"
+                      "*DefaultDuplex: None\n"
+                      "*Duplex None/%s: \"<</Duplex false>>setpagedevice\"\n"
+                      "*Duplex DuplexNoTumble/%s: \"<</Duplex true/Tumble false>>setpagedevice\"\n"
+                      "*Duplex DuplexTumble/%s: \"<</Duplex true/Tumble true>>setpagedevice\"\n"
+                      "*CloseUI: *Duplex\n", _cupsLangString(lang, _("2-Sided Printing")), _cupsLangString(lang, _("Off (1-Sided)")), _cupsLangString(lang, _("Long-Edge (Portrait)")), _cupsLangString(lang, _("Short-Edge (Landscape)")));
 
     if ((attr = ippFindAttribute(response, "pwg-raster-document-sheet-back", IPP_TAG_KEYWORD)) != NULL)
     {
@@ -3424,6 +3489,92 @@ _ppdCreateFromIPP(char   *buffer,        /* I - Filename buffer */
     }
   }
 
+ /*
+  * Finishing options...
+  */
+
+  if ((attr = ippFindAttribute(response, "finishings-col-database", IPP_TAG_BEGIN_COLLECTION)) != NULL)
+  {
+    ipp_t              *col;           /* Collection value */
+    ipp_attribute_t    *template;      /* "finishing-template" member */
+    const char         *name;          /* String name */
+    int                        value;          /* Enum value, if any */
+    cups_array_t       *names;         /* Names we've added */
+
+    count = ippGetCount(attr);
+    names = cupsArrayNew3((cups_array_func_t)strcmp, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free);
+
+    cupsFilePrintf(fp, "*OpenUI *cupsFinishingTemplate/%s: PickMany\n"
+                      "*OrderDependency: 10 AnySetup *cupsFinishingTemplate\n"
+                      "*DefaultcupsFinishingTemplate: none\n"
+                      "*cupsFinishingTemplate none/%s: \"\"\n"
+                      "*cupsIPPFinishings 3/none: \"*cupsFinishingTemplate none\"\n", _cupsLangString(lang, _("Finishing")), _cupsLangString(lang, _("No Finishing")));
+
+    for (i = 0; i < count; i ++)
+    {
+      col      = ippGetCollection(attr, i);
+      template = ippFindAttribute(col, "finishing-template", IPP_TAG_ZERO);
+
+      if ((name = ippGetString(template, 0, NULL)) == NULL || !strcmp(name, "none"))
+        continue;
+
+      if (cupsArrayFind(names, (char *)name))
+        continue;                      /* Already did this finishing template */
+
+      cupsArrayAdd(names, (char *)name);
+
+      for (j = 0; j < (int)(sizeof(finishings) / sizeof(finishings[0])); j ++)
+      {
+        if (!strcmp(finishings[j][0], name))
+       {
+          cupsFilePrintf(fp, "*cupsFinishingTemplate %s/%s: \"\"\n", name, _cupsLangString(lang, finishings[j][1]));
+
+         value = ippEnumValue("finishings", name);
+
+         if (value)
+           cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*cupsFinishingTemplate %s\"\n", value, name, name);
+          break;
+       }
+      }
+    }
+
+    cupsArrayDelete(names);
+
+    cupsFilePuts(fp, "*CloseUI: *cupsFinishingTemplate\n");
+  }
+  else if ((attr = ippFindAttribute(response, "finishings-supported", IPP_TAG_ENUM)) != NULL && (count = ippGetCount(attr)) > 1 )
+  {
+    const char         *name;          /* String name */
+    int                        value;          /* Enum value, if any */
+
+    count = ippGetCount(attr);
+
+    cupsFilePrintf(fp, "*OpenUI *cupsFinishingTemplate/%s: PickMany\n"
+                      "*OrderDependency: 10 AnySetup *cupsFinishingTemplate\n"
+                      "*DefaultcupsFinishingTemplate: none\n"
+                      "*cupsFinishingTemplate none/%s: \"\"\n"
+                      "*cupsIPPFinishings 3/none: \"*cupsFinishingTemplate none\"\n", _cupsLangString(lang, _("Finishing")), _cupsLangString(lang, _("No Finishing")));
+
+    for (i = 0; i < count; i ++)
+    {
+      if ((value = ippGetInteger(attr, i)) == 3)
+        continue;
+
+      name = ippEnumString("finishings", value);
+      for (j = 0; j < (int)(sizeof(finishings) / sizeof(finishings[0])); j ++)
+      {
+        if (!strcmp(finishings[j][0], name))
+       {
+          cupsFilePrintf(fp, "*cupsFinishingTemplate %s/%s: \"\"\n", name, _cupsLangString(lang, finishings[j][1]));
+         cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*cupsFinishingTemplate %s\"\n", value, name, name);
+          break;
+       }
+      }
+    }
+
+    cupsFilePuts(fp, "*CloseUI: *cupsFinishingTemplate\n");
+  }
+
  /*
   * cupsPrintQuality and DefaultResolution...
   */
@@ -3435,20 +3586,20 @@ _ppdCreateFromIPP(char   *buffer,       /* I - Filename buffer */
     pwg_ppdize_resolution(attr, count / 2, &xres, &yres, ppdname, sizeof(ppdname));
     cupsFilePrintf(fp, "*DefaultResolution: %s\n", ppdname);
 
-    cupsFilePuts(fp, "*OpenUI *cupsPrintQuality/Print Quality: PickOne\n"
-                     "*OrderDependency: 10 AnySetup *cupsPrintQuality\n"
-                     "*DefaultcupsPrintQuality: Normal\n");
+    cupsFilePrintf(fp, "*OpenUI *cupsPrintQuality/%s: PickOne\n"
+                      "*OrderDependency: 10 AnySetup *cupsPrintQuality\n"
+                      "*DefaultcupsPrintQuality: Normal\n", _cupsLangString(lang, _("Print Quality")));
     if (count > 2)
     {
       pwg_ppdize_resolution(attr, 0, &xres, &yres, NULL, 0);
-      cupsFilePrintf(fp, "*cupsPrintQuality Draft: \"<</HWResolution[%d %d]>>setpagedevice\"\n", xres, yres);
+      cupsFilePrintf(fp, "*cupsPrintQuality Draft/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Draft")), xres, yres);
     }
     pwg_ppdize_resolution(attr, count / 2, &xres, &yres, NULL, 0);
-    cupsFilePrintf(fp, "*cupsPrintQuality Normal: \"<</HWResolution[%d %d]>>setpagedevice\"\n", xres, yres);
+    cupsFilePrintf(fp, "*cupsPrintQuality Normal/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Normal")), xres, yres);
     if (count > 1)
     {
       pwg_ppdize_resolution(attr, count - 1, &xres, &yres, NULL, 0);
-      cupsFilePrintf(fp, "*cupsPrintQuality High: \"<</HWResolution[%d %d]>>setpagedevice\"\n", xres, yres);
+      cupsFilePrintf(fp, "*cupsPrintQuality High/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("High")), xres, yres);
     }
 
     cupsFilePuts(fp, "*CloseUI: *cupsPrintQuality\n");
@@ -3489,14 +3640,14 @@ _ppdCreateFromIPP(char   *buffer,       /* I - Filename buffer */
 
       cupsFilePrintf(fp, "*DefaultResolution: %ddpi\n", lowdpi);
 
-      cupsFilePuts(fp, "*OpenUI *cupsPrintQuality/Print Quality: PickOne\n"
-                      "*OrderDependency: 10 AnySetup *cupsPrintQuality\n"
-                      "*DefaultcupsPrintQuality: Normal\n");
+      cupsFilePrintf(fp, "*OpenUI *cupsPrintQuality/%s: PickOne\n"
+                        "*OrderDependency: 10 AnySetup *cupsPrintQuality\n"
+                        "*DefaultcupsPrintQuality: Normal\n", _cupsLangString(lang, _("Print Quality")));
       if ((lowdpi & 1) == 0)
-       cupsFilePrintf(fp, "*cupsPrintQuality Draft: \"<</HWResolution[%d %d]>>setpagedevice\"\n", lowdpi, lowdpi / 2);
-      cupsFilePrintf(fp, "*cupsPrintQuality Normal: \"<</HWResolution[%d %d]>>setpagedevice\"\n", lowdpi, lowdpi);
+       cupsFilePrintf(fp, "*cupsPrintQuality Draft/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Draft")), lowdpi, lowdpi / 2);
+      cupsFilePrintf(fp, "*cupsPrintQuality Normal/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("Normal")), lowdpi, lowdpi);
       if (hidpi > lowdpi)
-       cupsFilePrintf(fp, "*cupsPrintQuality High: \"<</HWResolution[%d %d]>>setpagedevice\"\n", hidpi, hidpi);
+       cupsFilePrintf(fp, "*cupsPrintQuality High/%s: \"<</HWResolution[%d %d]>>setpagedevice\"\n", _cupsLangString(lang, _("High")), hidpi, hidpi);
       cupsFilePuts(fp, "*CloseUI: *cupsPrintQuality\n");
     }
   }
index aad2db4900dbb82f0109beb56e9123aee2100aab..ab9fedc6a88f51df81e99a7b2c3e6e8d3b5e3961 100644 (file)
@@ -629,8 +629,15 @@ httpCredentialsGetTrust(
       * credentials and allow if the new ones have a later expiration...
       */
 
-      if (httpCredentialsGetExpiration(credentials) <= httpCredentialsGetExpiration(tcreds) ||
-          !httpCredentialsAreValidForName(credentials, common_name))
+      if (!cg->trust_first)
+      {
+       /*
+        * Do not trust certificates on first use...
+       */
+
+        trust = HTTP_TRUST_INVALID;
+      }
+      else if (httpCredentialsGetExpiration(credentials) <= httpCredentialsGetExpiration(tcreds) || !httpCredentialsAreValidForName(credentials, common_name))
       {
        /*
         * Either the new credentials are not newly issued, or the common name
@@ -660,6 +667,8 @@ httpCredentialsGetTrust(
     trust = HTTP_TRUST_EXPIRED;
   else if (!cg->any_root && cupsArrayCount(credentials) == 1)
     trust = HTTP_TRUST_INVALID;
+  else if (!cg->trust_first)
+    trust = HTTP_TRUST_INVALID;
 
   CFRelease(secCert);
 
index be81894c7abe7bb33f517a272c766b2fd2d950fd..81c6122afeaf11c54b1070c20e75491262a2e8e1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * TLS support code for CUPS using GNU TLS.
  *
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * These coded instructions, statements, and computer programs are the
@@ -30,6 +30,7 @@ static int            tls_auto_create = 0;
                                        /* Auto-create self-signed certs? */
 static char            *tls_common_name = NULL;
                                        /* Default common name */
+static gnutls_x509_crl_t tls_crl = NULL;/* Certificate revocation list */
 static char            *tls_keypath = NULL;
                                        /* Server cert keychain path */
 static _cups_mutex_t   tls_mutex = _CUPS_MUTEX_INITIALIZER;
@@ -43,6 +44,7 @@ static int            tls_options = -1;/* Options for TLS connections */
 
 static gnutls_x509_crt_t http_gnutls_create_credential(http_credential_t *credential);
 static const char      *http_gnutls_default_path(char *buffer, size_t bufsize);
+static void            http_gnutls_load_crl(void);
 static const char      *http_gnutls_make_path(char *buffer, size_t bufsize, const char *dirname, const char *filename, const char *ext);
 static ssize_t         http_gnutls_read(gnutls_transport_ptr_t ptr, void *data, size_t length);
 static ssize_t         http_gnutls_write(gnutls_transport_ptr_t ptr, const void *data, size_t length);
@@ -373,6 +375,39 @@ httpCredentialsAreValidForName(
   if (cert)
   {
     result = gnutls_x509_crt_check_hostname(cert, common_name) != 0;
+
+    if (result)
+    {
+      int              i,              /* Looping var */
+                       count;          /* Number of revoked certificates */
+      unsigned char    cserial[1024],  /* Certificate serial number */
+                       rserial[1024];  /* Revoked serial number */
+      size_t           cserial_size,   /* Size of cert serial number */
+                       rserial_size;   /* Size of revoked serial number */
+
+      _cupsMutexLock(&tls_mutex);
+
+      count = gnutls_x509_crl_get_crt_count(tls_crl);
+
+      if (count > 0)
+      {
+        cserial_size = sizeof(cserial);
+        gnutls_x509_crt_get_serial(cert, cserial, &cserial_size);
+
+        for (i = 0; i < count; i ++)
+       {
+         rserial_size = sizeof(rserial);
+          if (!gnutls_x509_crl_get_crt_serial(tls_crl, i, rserial, &rserial_size, NULL) && cserial_size == rserial_size && !memcmp(cserial, rserial, rserial_size))
+         {
+           result = 0;
+           break;
+         }
+       }
+      }
+
+      _cupsMutexUnlock(&tls_mutex);
+    }
+
     gnutls_x509_crt_deinit(cert);
   }
 
@@ -406,7 +441,10 @@ httpCredentialsGetTrust(
     return (HTTP_TRUST_UNKNOWN);
 
   if (cg->any_root < 0)
+  {
     _cupsSetDefaults();
+    http_gnutls_load_crl();
+  }
 
  /*
   * Look this common name up in the default keychains...
@@ -429,8 +467,15 @@ httpCredentialsGetTrust(
       * credentials and allow if the new ones have a later expiration...
       */
 
-      if (httpCredentialsGetExpiration(credentials) <= httpCredentialsGetExpiration(tcreds) ||
-          !httpCredentialsAreValidForName(credentials, common_name))
+      if (!cg->trust_first)
+      {
+       /*
+        * Do not trust certificates on first use...
+       */
+
+        trust = HTTP_TRUST_INVALID;
+      }
+      else if (httpCredentialsGetExpiration(credentials) <= httpCredentialsGetExpiration(tcreds) || !httpCredentialsAreValidForName(credentials, common_name))
       {
        /*
         * Either the new credentials are not newly issued, or the common name
@@ -822,6 +867,101 @@ http_gnutls_default_path(char   *buffer,/* I - Path buffer */
 }
 
 
+/*
+ * 'http_gnutls_load_crl()' - Load the certificate revocation list, if any.
+ */
+
+static void
+http_gnutls_load_crl(void)
+{
+  _cupsMutexLock(&tls_mutex);
+
+  if (!gnutls_x509_crl_init(&tls_crl))
+  {
+    cups_file_t                *fp;            /* CRL file */
+    char               filename[1024], /* site.crl */
+                       line[256];      /* Base64-encoded line */
+    unsigned char      *data = NULL;   /* Buffer for cert data */
+    size_t             alloc_data = 0, /* Bytes allocated */
+                       num_data = 0;   /* Bytes used */
+    int                        decoded;        /* Bytes decoded */
+    gnutls_datum_t     datum;          /* Data record */
+
+
+    http_gnutls_make_path(filename, sizeof(filename), CUPS_SERVERROOT, "site", "crl");
+
+    if ((fp = cupsFileOpen(filename, "r")) != NULL)
+    {
+      while (cupsFileGets(fp, line, sizeof(line)))
+      {
+       if (!strcmp(line, "-----BEGIN X509 CRL-----"))
+       {
+         if (num_data)
+         {
+          /*
+           * Missing END X509 CRL...
+           */
+
+           break;
+         }
+       }
+       else if (!strcmp(line, "-----END X509 CRL-----"))
+       {
+         if (!num_data)
+         {
+          /*
+           * Missing data...
+           */
+
+           break;
+         }
+
+          datum.data = data;
+         datum.size = num_data;
+
+         gnutls_x509_crl_import(tls_crl, &datum, GNUTLS_X509_FMT_PEM);
+
+         num_data = 0;
+       }
+       else
+       {
+         if (alloc_data == 0)
+         {
+           data       = malloc(2048);
+           alloc_data = 2048;
+
+           if (!data)
+             break;
+         }
+         else if ((num_data + strlen(line)) >= alloc_data)
+         {
+           unsigned char *tdata = realloc(data, alloc_data + 1024);
+                                           /* Expanded buffer */
+
+           if (!tdata)
+             break;
+
+           data       = tdata;
+           alloc_data += 1024;
+         }
+
+         decoded = alloc_data - num_data;
+         httpDecode64_2((char *)data + num_data, &decoded, line);
+         num_data += (size_t)decoded;
+       }
+      }
+
+      cupsFileClose(fp);
+
+      if (data)
+       free(data);
+    }
+  }
+
+  _cupsMutexUnlock(&tls_mutex);
+}
+
+
 /*
  * 'http_gnutls_make_path()' - Format a filename for a certificate or key file.
  */
index 5389668723b810087cc1ca4ae95f66c2f32bdaec..bf7d789ccf2e2558dc40b90fb4c54a12f4be25f9 100644 (file)
  * Local constants...
  */
 
+#ifdef __APPLE__
+#  define kCUPSPrintingPrefs   CFSTR("org.cups.PrintingPrefs")
+#  define kAllowAnyRootKey     CFSTR("AllowAnyRoot")
+#  define kAllowExpiredCertsKey        CFSTR("AllowExpiredCerts")
+#  define kEncryptionKey       CFSTR("Encryption")
+#  define kGSSServiceNameKey   CFSTR("GSSServiceName")
+#  define kSSLOptionsKey       CFSTR("SSLOptions")
+#  define kTrustOnFirstUseKey  CFSTR("TrustOnFirstUse")
+#  define kValidateCertsKey    CFSTR("ValidateCerts")
+#endif /* __APPLE__ */
+
 #define _CUPS_PASSCHAR '*'             /* Character that is echoed for password */
 
 
@@ -45,7 +56,8 @@ typedef struct _cups_client_conf_s    /**** client.conf config data ****/
 #ifdef HAVE_SSL
   int                  ssl_options;    /* SSLOptions values */
 #endif /* HAVE_SSL */
-  int                  any_root,       /* Allow any (e.g., self-signed) root */
+  int                  trust_first,    /* Trust on first use? */
+                       any_root,       /* Allow any (e.g., self-signed) root */
                        expired_certs,  /* Allow expired certs */
                        validate_certs; /* Validate certificates */
   http_encryption_t    encryption;     /* Encryption setting */
@@ -63,6 +75,11 @@ typedef struct _cups_client_conf_s   /**** client.conf config data ****/
  * Local functions...
  */
 
+#ifdef __APPLE__
+static int     cups_apple_get_boolean(CFStringRef key, int *value);
+static int     cups_apple_get_string(CFStringRef key, char *value, size_t valsize);
+#endif /* __APPLE__ */
+static int     cups_boolean_value(const char *value);
 static void    cups_finalize_client_conf(_cups_client_conf_t *cc);
 static void    cups_init_client_conf(_cups_client_conf_t *cc);
 static void    cups_read_client_conf(cups_file_t *fp, _cups_client_conf_t *cc);
@@ -923,6 +940,9 @@ _cupsSetDefaults(void)
     strlcpy(cg->gss_service_name, cc.gss_service_name, sizeof(cg->gss_service_name));
 #endif /* HAVE_GSSAPI */
 
+  if (cg->trust_first < 0)
+    cg->trust_first = cc.trust_first;
+
   if (cg->any_root < 0)
     cg->any_root = cc.any_root;
 
@@ -938,6 +958,57 @@ _cupsSetDefaults(void)
 }
 
 
+#ifdef __APPLE__
+/*
+ * 'cups_apple_get_boolean()' - Get a boolean setting from the CUPS preferences.
+ */
+
+static int                             /* O - 1 if set, 0 otherwise */
+cups_apple_get_boolean(
+    CFStringRef key,                   /* I - Key (name) */
+    int         *value)                        /* O - Boolean value */
+{
+  Boolean      bval,                   /* Preference value */
+               bval_set;               /* Value is set? */
+
+
+  bval = CFPreferencesGetAppBooleanValue(key, kCUPSPrintingPrefs, &bval_set);
+
+  if (bval_set)
+    *value = (int)bval;
+
+  return ((int)bval_set);
+}
+
+
+/*
+ * 'cups_apple_get_string()' - Get a string setting from the CUPS preferences.
+ */
+
+static int                             /* O - 1 if set, 0 otherwise */
+cups_apple_get_string(
+    CFStringRef key,                   /* I - Key (name) */
+    char        *value,                        /* O - String value */
+    size_t      valsize)               /* I - Size of value buffer */
+{
+  CFStringRef  sval;                   /* String value */
+
+
+  if ((sval = CFPreferencesCopyAppValue(key, kCUPSPrintingPrefs)) != NULL)
+  {
+    Boolean result = CFStringGetCString(sval, value, (CFIndex)valsize, kCFStringEncodingUTF8);
+
+    CFRelease(sval);
+
+    if (result)
+      return (1);
+  }
+
+  return (0);
+}
+#endif /* __APPLE__ */
+
+
 /*
  * 'cups_boolean_value()' - Convert a string to a boolean value.
  */
@@ -960,6 +1031,9 @@ cups_finalize_client_conf(
   const char   *value;                 /* Environment variable */
 
 
+  if ((value = getenv("CUPS_TRUSTFIRST")) != NULL)
+    cc->trust_first = cups_boolean_value(value);
+
   if ((value = getenv("CUPS_ANYROOT")) != NULL)
     cc->any_root = cups_boolean_value(value);
 
@@ -987,6 +1061,9 @@ cups_finalize_client_conf(
   * Then apply defaults for those values that haven't been set...
   */
 
+  if (cc->trust_first < 0)
+    cc->trust_first = 1;
+
   if (cc->any_root < 0)
     cc->any_root = 1;
 
@@ -994,7 +1071,7 @@ cups_finalize_client_conf(
     cc->encryption = HTTP_ENCRYPTION_IF_REQUESTED;
 
   if (cc->expired_certs < 0)
-    cc->expired_certs = 1;
+    cc->expired_certs = 0;
 
 #ifdef HAVE_GSSAPI
   if (!cc->gss_service_name[0])
@@ -1084,9 +1161,38 @@ cups_init_client_conf(
   memset(cc, 0, sizeof(_cups_client_conf_t));
 
   cc->encryption     = (http_encryption_t)-1;
+  cc->trust_first    = -1;
   cc->any_root       = -1;
   cc->expired_certs  = -1;
   cc->validate_certs = -1;
+
+ /*
+  * Load settings from the org.cups.PrintingPrefs plist (which trump
+  * everything...)
+  */
+
+#ifdef __APPLE__
+  char sval[1024];                     /* String value */
+  int  bval;                           /* Boolean value */
+
+  if (cups_apple_get_boolean(kAllowAnyRootKey, &bval))
+    cc->any_root = bval;
+
+  if (cups_apple_get_boolean(kAllowExpiredCertsKey, &bval))
+    cc->expired_certs = bval;
+
+  if (cups_apple_get_string(kEncryptionKey, sval, sizeof(sval)))
+    cups_set_encryption(cc, sval);
+
+  if (cups_apple_get_string(kSSLOptionsKey, sval, sizeof(sval)))
+    cups_set_ssl_options(cc, sval);
+
+  if (cups_apple_get_boolean(kTrustOnFirstUseKey, &bval))
+    cc->trust_first = bval;
+
+  if (cups_apple_get_boolean(kValidateCertsKey, &bval))
+    cc->validate_certs = bval;
+#endif /* __APPLE__ */
 }
 
 
@@ -1123,6 +1229,8 @@ cups_read_client_conf(
 #endif /* !__APPLE__ */
     else if (!_cups_strcasecmp(line, "User") && value)
       cups_set_user(cc, value);
+    else if (!_cups_strcasecmp(line, "TrustOnFirstUse") && value)
+      cc->trust_first = cups_boolean_value(value);
     else if (!_cups_strcasecmp(line, "AllowAnyRoot") && value)
       cc->any_root = cups_boolean_value(value);
     else if (!_cups_strcasecmp(line, "AllowExpiredCerts") &&
index 2d521fa2f2a69481d1c6b87e74d79bfec14a1a4e..2587543a4519d81289a519890673ad845822c2d2 100644 (file)
@@ -33,6 +33,8 @@ Name[ja]=印刷の管理
 Comment[ja]=CUPS Web インタフェース
 Name[pl]=Zarządzanie drukowaniem
 Comment[pl]=Interfejs WWW CUPS
+Name[pt_BR]=Gerenciador de impressão
+Comment[pt_BR]=Interface web do CUPS
 Name[ru]=Настройка печати
 Comment[ru]=Настройка CUPS
 Name[sv]=Hantera skrivare
index cccb68a3f4d7151bfea51919857b14ceee928af9..dc5add425dbb66f3faa8dc3d29e70f393e390ef0 100644 (file)
@@ -44,6 +44,7 @@ HELPIMAGES    =       \
                        images/smiley.jpg
 HELPFILES      =       \
                        help/accounting.html \
+                       help/api-admin.html \
                        help/api-array.html \
                        help/api-cups.html \
                        help/api-filedir.html \
diff --git a/doc/help/api-admin.html b/doc/help/api-admin.html
new file mode 100644 (file)
index 0000000..b69b19d
--- /dev/null
@@ -0,0 +1,642 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- SECTION: Programming -->
+<head>
+       <title>Administration APIs      </title>
+       <meta name="keywords" content="Programming">
+       <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+       <meta name="creator" content="Mini-XML v2.8">
+<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 {
+  border: dotted thin #7f7f7f;
+  margin-left: 36pt;
+  padding: 10px;
+}
+
+P.compact {
+  margin: 0;
+}
+
+P.example {
+  font-style: italic;
+  margin-left: 36pt;
+}
+
+DL.man DD {
+  margin-left: 5em;
+}
+
+DL.man DT {
+  margin-left: 0;
+}
+
+PRE.man {
+  margin: 0;
+}
+
+PRE.example {
+  background: #eeeeee;
+  border: dotted thin #999999;
+  margin-left: 36pt;
+  padding: 10pt;
+}
+
+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: #eeeeee;
+  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: inherit;
+  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%;
+}
+
+H1.title {
+}
+
+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'>
+<!--
+  Administrative API header for CUPS.
+
+  Copyright 2016 by Apple Inc.
+
+  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/".
+-->
+
+<h1 class='title'>Administrative APIs</h1>
+
+<div class='summary'><table summary='General Information'>
+<thead>
+<tr>
+       <th>Header</th>
+       <th>cups/adminutil.h</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+       <th>Library</th>
+       <td>-lcups</td>
+</tr>
+<tr>
+       <th>See Also</th>
+       <td>Programming: <a href='api-overview.html' target='_top'>Introduction to CUPS Programming</a><br>
+       Programming: <a href='api-cups.html' target='_top'>CUPS API</a><br>
+       Programming: <a href='api-httpipp.html' target='_top'>HTTP and IPP APIs</a></td>
+</tr>
+</tbody>
+</table></div>
+<h2 class="title">Contents</h2>
+<ul class="contents">
+<li><a href="#OVERVIEW">Overview</a><ul class="subcontents">
+       <li><a href="#SETTINGS">Scheduler Settings</a></li>
+       <li><a href="#DEVICES">Devices</a></li>
+</ul></li>
+<li><a href="#FUNCTIONS">Functions</a><ul class="code">
+       <li><a href="#cupsAdminCreateWindowsPPD" title="Create the Windows PPD file for a printer.">cupsAdminCreateWindowsPPD</a></li>
+       <li><a href="#cupsAdminExportSamba" title="Export a printer to Samba.">cupsAdminExportSamba</a></li>
+       <li><a href="#cupsAdminGetServerSettings" title="Get settings from the server.">cupsAdminGetServerSettings</a></li>
+       <li><a href="#cupsAdminSetServerSettings" title="Set settings on the server.">cupsAdminSetServerSettings</a></li>
+       <li><a href="#cupsGetDevices" title="Get available printer devices.">cupsGetDevices</a></li>
+</ul></li>
+<li><a href="#TYPES">Data Types</a><ul class="code">
+       <li><a href="#cups_device_cb_t" title="Device callback
+">cups_device_cb_t</a></li>
+</ul></li>
+</ul>
+<!--
+  Administrative API documentation for CUPS.
+
+  Copyright 2016 by Apple Inc.
+
+  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/".
+-->
+
+<h2 class="title"><a name="OVERVIEW">Overview</a></h2>
+
+<p>The administrative APIs provide convenience functions to perform certain administrative functions with the CUPS scheduler.</p>
+
+<blockquote><b>Note:<b>
+  <p>Administrative functions normally require administrative privileges to execute and must not be used in ordinary user applications!</p>
+</blockquote>
+
+<h3><a name="SETTINGS">Scheduler Settings</a></h3>
+
+<p>The <a href="#cupsAdminGetServerSettings"><code>cupsAdminGetServerSettings</code></a> and <a href="#cupsAdminSetServerSettings"><code>cupsAdminSetServerSettings</code></a> functions allow you to get and set simple directives and their values, respectively, in the <var>cupsd.conf</var> file for the CUPS scheduler. Settings are stored in CUPS option arrays which provide a simple list of string name/value pairs. While any simple <var>cupsd.conf</var> directive name can be specified, the following convenience names are also defined to control common complex directives:</p>
+
+<ul>
+  <li><code>CUPS_SERVER_DEBUG_LOGGING</code></li>: For <code>cupsAdminGetServerSettings</code>, a value of "1" means that the <code>LogLevel</code> directive is set to <code>debug</code> or <code>debug2</code> while a value of "0" means it is set to any other value. For <code>cupsAdminSetServerSettings</code> a value of "1" sets the <code>LogLeveL</code> to <code>debug</code> while a value of "0" sets it to <code>warn</code>.</li>
+  <li><code>CUPS_SERVER_REMOTE_ADMIN</code></li>: A value of "1" specifies that administrative requests are accepted from remote addresses while "0" specifies that requests are only accepted from local addresses (loopback interface and domain sockets).</li>
+  <li><code>CUPS_SERVER_REMOTE_ANY</code></li>: A value of "1" specifies that requests are accepts from any address while "0" specifies that requests are only accepted from the local subnet (when sharing is enabled) or local addresses (loopback interface and domain sockets).</li>
+  <li><code>CUPS_SERVER_SHARE_PRINTERS</code></li>: A value of "1" specifies that printer sharing is enabled for selected printers and remote requests are accepted while a value of "0" specifies that printer sharing is disables and remote requests are not accepted.</li>
+  <li><code>CUPS_SERVER_USER_CANCEL_ANY</code></li>: A value of "1" specifies that the default security policy allows any user to cancel any print job, regardless of the owner. A value of "0" specifies that only administrative users can cancel other user's jobs.</li>
+</ul>
+
+<blockquote><b>Note:</b>
+  <p>Changing settings will restart the CUPS scheduler.</p>
+  <p>When printer sharing or the web interface are enabled, the scheduler's launch-on-demand functionality is effectively disabled. This can affect power usage, system performance, and the security profile of a system.</p>
+</blockquote>
+
+<p>The recommended way to make changes to the <var>cupsd.conf</var> is to first call <a href="#cupsAdminGetServerSettings"><code>cupsAdminGetServerSettings</code></a>, make any changes to the returned option array, and then call <a href="#cupsAdminSetServerSettings"><code>cupsAdminSetServerSettings</code></a> to save those settings. For example, to enable the web interface:</p>
+
+<pre class="example">
+#include &lt;cups/cups.h&gt;
+#include &lt;cups/adminutil.h&gt;
+
+void
+enable_web_interface(void)
+{
+  int num_settings = 0;           /* Number of settings */
+  cups_option_t *settings = NULL; /* Settings */
+
+
+  if (!<a href="#cupsAdminGetServerSettings">cupsAdminGetServerSettings</a>(CUPS_HTTP_DEFAULT, &amp;num_settings, &amp;settings))
+  {
+    fprintf(stderr, "ERROR: Unable to get server settings: %s\n", cupsLastErrorString());
+    return;
+  }
+
+  num_settings = <a href="api-cups.html#cupsAddOption">cupsAddOption</a>("WebInterface", "Yes", num_settings, &amp;settings);
+
+  if (!<a href="#cupsAdminSetServerSettings">cupsAdminSetServerSettings</a>(CUPS_HTTP_DEFAULT, num_settings, settings))
+  {
+    fprintf(stderr, "ERROR: Unable to set server settings: %s\n", cupsLastErrorString());
+  }
+
+  <a href="api-cups.html#cupsFreeOptions">cupsFreeOptions</a>(num_settings, settings);
+}
+</pre>
+
+<h3><a name="DEVICES">Devices</a></h3>
+
+<p>Printers can be discovered through the CUPS scheduler using the <a href="#cupsGetDevices"><code>cupsGetDevices</code></a> API. Typically this API is used to locate printers to add the the system. Each device that is found will cause a supplied callback function to be executed. For example, to list the available printer devices that can be found within 30 seconds:</p>
+
+<pre class="example">
+#include &lt;cups/cups.h&gt;
+#include &lt;cups/adminutil.h&gt;
+
+
+void
+get_devices_cb(
+    const char *device_class,           /* I - Class */
+    const char *device_id,              /* I - 1284 device ID */
+    const char *device_info,            /* I - Description */
+    const char *device_make_and_model,  /* I - Make and model */
+    const char *device_uri,             /* I - Device URI */
+    const char *device_location,        /* I - Location */
+    void       *user_data)              /* I - User data */
+{
+  puts(device_uri);
+}
+
+
+void
+show_devices(void)
+{
+  <a href="#cupsGetDevices">cupsGetDevices</a>(CUPS_HTTP_DEFAULT, 30, NULL, NULL, get_devices_cb, NULL);
+}
+</pre>
+<h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
+<h3 class="function"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></h3>
+<p class="description">Create the Windows PPD file for a printer.</p>
+<p class="code">
+char *cupsAdminCreateWindowsPPD (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;char *buffer,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int bufsize<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
+<dt>dest</dt>
+<dd class="description">Printer or class</dd>
+<dt>buffer</dt>
+<dd class="description">Filename buffer</dd>
+<dt>bufsize</dt>
+<dd class="description">Size of filename buffer</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">PPD file or NULL</p>
+<h3 class="function"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cupsAdminExportSamba">cupsAdminExportSamba</a></h3>
+<p class="description">Export a printer to Samba.</p>
+<p class="code">
+int cupsAdminExportSamba (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *dest,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *ppd,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *samba_server,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *samba_user,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *samba_password,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;FILE *logfile<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>dest</dt>
+<dd class="description">Destination to export</dd>
+<dt>ppd</dt>
+<dd class="description">PPD file</dd>
+<dt>samba_server</dt>
+<dd class="description">Samba server</dd>
+<dt>samba_user</dt>
+<dd class="description">Samba username</dd>
+<dt>samba_password</dt>
+<dd class="description">Samba password</dd>
+<dt>logfile</dt>
+<dd class="description">Log file, if any</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
+<p class="description">Get settings from the server.</p>
+<p class="code">
+int cupsAdminGetServerSettings (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int *num_settings,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;cups_option_t **settings<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
+<dt>num_settings</dt>
+<dd class="description">Number of settings</dd>
+<dt>settings</dt>
+<dd class="description">Settings</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The returned settings should be freed with cupsFreeOptions() when
+you are done with them.
+
+</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
+<p class="description">Set settings on the server.</p>
+<p class="code">
+int cupsAdminSetServerSettings (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *http,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int num_settings,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;cups_option_t *settings<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<dd class="description">Connection to server or <code>CUPS_HTTP_DEFAULT</code></dd>
+<dt>num_settings</dt>
+<dd class="description">Number of settings</dd>
+<dt>settings</dt>
+<dd class="description">Settings</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">1 on success, 0 on failure</p>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetDevices">cupsGetDevices</a></h3>
+<p class="description">Get available printer devices.</p>
+<p class="code">
+ipp_status_t cupsGetDevices (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;http_t *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;<a href="#cups_device_cb_t">cups_device_cb_t</a> callback,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void *user_data<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>http</dt>
+<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>
+<dd class="description">Callback function</dd>
+<dt>user_data</dt>
+<dd class="description">User data pointer</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Request status - <code>IPP_OK</code> on success.</p>
+<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;include_schemes&quot; and &quot;exclude_schemes&quot;
+parameters provide comma-delimited lists of backends to include or omit from
+the request respectively.
+
+</p>
+<h2 class="title"><a name="TYPES">Data Types</a></h2>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cups_device_cb_t">cups_device_cb_t</a></h3>
+<p class="description">Device callback
+</p>
+<p class="code">
+typedef void (*cups_device_cb_t)(const char *device_class, const char *device_id, const char *device_info, const char *device_make_and_model, const char *device_uri, const char *device_location, void *user_data);
+</p>
+</div>
+</body>
+</html>
index f1e367ce68b1fef0e11be782adc3e055d3f4ad39..1c1decb90390f1abdbab2a81f5b9b99867ef128e 100644 (file)
@@ -5,7 +5,7 @@
        <title>Array API        </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
index 648ad04c1f1e9fdc551f3b7114511fc424566ed3..3e685a3ce00ba30b9c30a61400b2b4dfb559db76 100644 (file)
@@ -5,7 +5,7 @@
        <title>CUPS API </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -518,8 +518,6 @@ attributes.">pwgInitSize</a></li>
        <li><a href="#cups_dest_cb_t" title="Destination enumeration callback
 ">cups_dest_cb_t</a></li>
        <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>
        <li><a href="#cups_dinfo_t" title="Destination capability and status
 information ">cups_dinfo_t</a></li>
        <li><a href="#cups_job_t" title="Job">cups_job_t</a></li>
@@ -3336,12 +3334,6 @@ typedef int (*cups_dest_cb_t)(void *user_data, unsigned flags, <a href="#cups_de
 <p class="code">
 typedef struct <a href="#cups_dest_s">cups_dest_s</a> cups_dest_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cups_device_cb_t">cups_device_cb_t</a></h3>
-<p class="description">Device callback
-</p>
-<p class="code">
-typedef void (*cups_device_cb_t)(const char *device_class, const char *device_id, const char *device_info, const char *device_make_and_model, const char *device_uri, const char *device_location, void *user_data);
-</p>
 <h3 class="typedef"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_dinfo_t">cups_dinfo_t</a></h3>
 <p class="description">Destination capability and status
 information </p>
index a3d517e96598ebda3ffa3f1592a87bd89866e4f0..fcc2cdf8245feeb4707df7d7b2e49a48d225ac26 100644 (file)
@@ -5,7 +5,7 @@
        <title>File and Directory APIs  </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
index ec59df70d56f5c50920151121d38dec91e35bc37..22ea732c23688735fa32a89475d214003ac23bc6 100644 (file)
@@ -5,7 +5,7 @@
        <title>Filter and Backend Programming   </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -355,7 +355,7 @@ div.contents ul.subcontents li {
 <!--
   Filter and backend programming header for CUPS.
 
-  Copyright 2008-2014 by Apple Inc.
+  Copyright 2008-2016 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
@@ -371,6 +371,7 @@ div.contents ul.subcontents li {
 <tr>
        <th>Headers</th>
        <th>cups/backend.h<br>
+       cups/ppd.h<br>
        cups/sidechannel.h</th>
 </tr>
 </thead>
@@ -439,7 +440,7 @@ div.contents ul.subcontents li {
 <!--
   Filter and backend programming introduction for CUPS.
 
-  Copyright 2007-2014 by Apple Inc.
+  Copyright 2007-2016 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -723,7 +724,7 @@ prefix strings:</p>
        <dd>Sets or clears printer-state-reason keywords for the current queue.
        Typically this is used to indicate persistent media, ink, toner, and
        configuration conditions or errors on a printer.
-       <a href='#TABLE2'>Table 2</a> lists the standard state keywords -
+       <a href='#TABLE2'>Table 2</a> lists some of the standard "printer-state-reasons" keywords from the <a href="http://www.iana.org/assignments/ipp-registrations/ipp-registrations.xhtml#ipp-registrations-4">IANA IPP Registry</a> -
        use vendor-prefixed ("com.example.foo") keywords for custom states. See
        <a href="#MANAGING_STATE">Managing Printer State in a Filter</a> for more
        information.
index faefc02bc3d4bf295964a07f995a0c4394fcc095..8aba40dc85451461ba106aeae7be97bbcb32b5e8 100644 (file)
@@ -5,7 +5,7 @@
        <title>HTTP and IPP APIs        </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -355,7 +355,7 @@ div.contents ul.subcontents li {
 <!--
   HTTP and IPP API header for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2016 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -370,8 +370,10 @@ div.contents ul.subcontents li {
 <div class='summary'><table summary='General Information'>
 <thead>
 <tr>
-       <th>Header</th>
-       <th>cups/cups.h</th>
+       <th>Headers</th>
+       <th>cups/cups.h<br>
+       cups/http.h<br>
+       cups/ipp.h</th>
 </tr>
 </thead>
 <tbody>
index 685dc57786c62548066705d9a81b860124a5eb95..5960924cf3ca67ad72d839e26caa9f632025e678 100644 (file)
@@ -5,7 +5,7 @@
        <title>Introduction to CUPS Programming </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
@@ -355,7 +355,7 @@ div.contents ul.subcontents li {
 <!--
   Introduction to CUPS programming header for CUPS.
 
-  Copyright 2008-2011 by Apple Inc.
+  Copyright 2008-2016 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
@@ -371,20 +371,22 @@ div.contents ul.subcontents li {
 <tr>
        <th>Headers</th>
        <th>cups/cups.h<br>
+       cups/adminutil.h<br>
        cups/array.h<br>
-       cups/backend.h<br>
        cups/dir.h<br>
        cups/file.h<br>
+       cups/http.h<br>
+       cups/ipp.h<br>
+       cups/language.h<br>
        cups/ppd.h<br>
-       cups/raster.h<br>
-       cups/sidechannel.h</th>
+       cups/pwg.h<br>
+       cups/raster.h</th>
 </tr>
 </thead>
 <tbody>
 <tr>
        <th>Libraries</th>
-       <td>-lcups<br>
-       -lcupsimage</td>
+       <td>-lcups</td>
 </tr>
 <tr>
        <th>See Also</th>
@@ -392,11 +394,12 @@ div.contents ul.subcontents li {
        Programming: <a href='postscript-driver.html' target='_top'>Developing PostScript Printer Drivers</a><br>
        Programming: <a href='api-filter.html' target='_top'>Filter and Backend Programming</a><br>
        Programming: <a href='ppd-compiler.html' target='_top'>Introduction to the PPD Compiler</a><br>
+       Programming: <a href='api-admin.html' target='_top'>Administrative APIs</a><br>
        Programming: <a href='api-array.html' target='_top'>Array API</a><br>
        Programming: <a href='api-cups.html' target='_top'>CUPS API</a><br>
        Programming: <a href='api-filedir.html' target='_top'>File and Directory APIs</a><br>
        Programming: <a href='api-httpipp.html' target='_top'>HTTP and IPP APIs</a><br>
-       Programming: <a href='api-ppd.html' target='_top'>PPD API</a><br>
+       Programming: <a href='api-ppd.html' target='_top'>PPD API (DEPRECATED)</a><br>
        Programming: <a href='api-raster.html' target='_top'>Raster API</a><br>
        References: <a href='ref-ppdcfile.html' target='_top'>PPD Compiler Driver Information File Reference</a><br>
        Specifications: <a href='spec-ppd.html' target='_top'>CUPS PPD Extensions</a></td>
index 2b35702f8b457972dc03261c1df57b7f346ec3e7..ee57da5aaf7770ff04ad3e540697affc171f1557 100644 (file)
@@ -5,7 +5,7 @@
        <title>PPD API (DEPRECATED)     </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
index 19038d41ce43f3a981063774e001151f9eeffac3..7dfcf57c59eaa1663cc751028eb3349b0aff266c 100644 (file)
@@ -5,7 +5,7 @@
        <title>Raster API       </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
index edf4470b612cfccb5ea8fab3885679905646eeea..97b618a5f63e6b64e41411d77bbd9655da524afe 100644 (file)
@@ -8,12 +8,14 @@
 <body>
 <h1 class="title">client.conf(5)</h1>
 <h2 class="title"><a name="NAME">Name</a></h2>
-client.conf - client configuration file for cups (deprecated)
+client.conf - client configuration file for cups
 <h2 class="title"><a name="DESCRIPTION">Description</a></h2>
 The <b>client.conf</b> file configures the CUPS client and is normally located in the <i>/etc/cups</i> and/or <i>~/.cups</i> directories.
 Each line in the file can be a configuration directive, a blank line, or a comment. Comment lines start with the # character.
 <p><b>Note:</b> Starting with OS X 10.7, this file is only used by command-line and X11 applications plus the IPP backend.
 The <b>ServerName</b> directive is not supported on OS X at all.
+Starting with OS X 10.TODO, all applications can access these settings in the <i>/Library/Preferences/org.cups.PrintingPrefs.plist</i> file instead.
+See the NOTES section below for more information.
 <h3><a name="DIRECTIVES">Directives</a></h3>
 The following directives are understood by the client. Consult the online help for detailed descriptions:
 <dl class="man">
@@ -24,7 +26,7 @@ The default is "Yes".
 <dt><b>AllowExpiredCerts Yes</b>
 <dd style="margin-left: 5.0em"><dt><b>AllowExpiredCerts No</b>
 <dd style="margin-left: 5.0em">Specifies whether to allow TLS with expired certificates.
-The default is "Yes".
+The default is "No".
 <dt><b>Encryption IfRequested</b>
 <dd style="margin-left: 5.0em"><dt><b>Encryption Never</b>
 <dd style="margin-left: 5.0em"><dt><b>Encryption Required</b>
@@ -46,6 +48,10 @@ The <i>AllowDH</i> option enables cipher suites using plain Diffie-Hellman key n
 The <i>AllowRC4</i> option enables the 128-bit RC4 cipher suites, which are required for some older clients that do not implement newer ones.
 The <i>AllowSSL3</i> option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0.
 The <i>DenyTLS1.0</i> option disables TLS v1.0 support - this sets the minimum protocol version to TLS v1.1.
+<dt><b>TrustOnFirstUse Yes</b>
+<dd style="margin-left: 5.0em"><dt><b>TrustOnFirstUse No</b>
+<dd style="margin-left: 5.0em">Specifies whether to trust new TLS certificates by default.
+The default is "Yes".
 <dt><b>User </b><i>name</i>
 <dd style="margin-left: 5.0em">Specifies the default user name to use for requests.
 <dt><b>ValidateCerts Yes</b>
@@ -54,12 +60,23 @@ The <i>DenyTLS1.0</i> option disables TLS v1.0 support - this sets the minimum p
 The default is "No".
 </dl>
 <h2 class="title"><a name="NOTES">Notes</a></h2>
-The <b>client.conf</b> file is deprecated and will no longer be supported in a future version of CUPS.
+The <b>client.conf</b> file is deprecated on OS X and will no longer be supported in a future version of CUPS.
+Configuration settings can instead be viewed or changed using the
+<b>defaults</b>(1)
+command:
+<pre class="man">
+defaults write /Library/Preferences/org.cups.PrintingPrefs.plist Encryption Required
+defaults write /Library/Preferences/org.cups.PrintingPrefs.plist TrustOnFirstUse -bool NO
+
+defaults read /Library/Preferences/org.cups.PrintingPrefs.plist Encryption
+</pre>
+On Linux and other systems using GNU TLS, the <i>/etc/cups/ssl/site.crl</i> file, if present, provides a list of revoked X.509 certificates and is used when validating certificates.
 <h2 class="title"><a name="SEE_ALSO">See Also</a></h2>
 <a href="man-cups.html?TOPIC=Man+Pages"><b>cups</b>(1),</a>
+<b>default</b>(1),
 CUPS Online Help (<a href="http://localhost:631/help">http://localhost:631/help</a>)
 <h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
-Copyright &copy; 2007-2015 by Apple Inc.
+Copyright &copy; 2007-2016 by Apple Inc.
 
 </body>
 </html>
index 73d7c2d93767b4c75731c7f0af8c45e876c3c1a0..788e25a723f540a6abb9216ec995d290bbc673ff 100644 (file)
@@ -114,6 +114,7 @@ In CUPS, print files are always sent to the scheduler via IPP which has the same
 <dd style="margin-left: 5.0em">Sets the number of copies to print.
 <dt><b>-o "</b><i>name</i><b>=</b><i>value </i>[ ... <i>name</i><b>=</b><i>value </i>]<b>"</b>
 <dd style="margin-left: 5.0em">Sets one or more job options.
+See "COMMON JOB OPTIONS" below.
 <dt><b>-q </b><i>priority</i>
 <dd style="margin-left: 5.0em">Sets the job priority from 1 (lowest) to 100 (highest).
 The default priority is 50.
@@ -140,20 +141,54 @@ Aside from the printer-specific options reported by the
 <a href="man-lpoptions.html?TOPIC=Man+Pages"><b>lpoptions</b>(1)</a>
 command, the following generic options are available:
 <dl class="man">
+<dt><b>-o collate=true</b>
+<dd style="margin-left: 5.0em">Prints collated copies.
+<dt><b>-o fit-to-page</b>
+<dd style="margin-left: 5.0em">Scales the print file to fit on the page.
+<dt><b>-o job-hold-until=</b><i>when</i>
+<dd style="margin-left: 5.0em">Holds the job until the specified local time.
+"when" can be "indefinite" to hold the until released, "day-time" to print the job between 6am and 6pm local time, "night" to print the job between 6pm and 6am local time, "second-shift" to print the job between 4pm and 12am local time, "third-shift" to print the job between 12am and 8am local time, or "weekend" to print the job on Saturday or Sunday.
+<dt><b>-o job-hold-until=</b><i>hh:mm</i>
+<dd style="margin-left: 5.0em">Holds the job until the specified time in hours and minutes UTC.
+<dt><b>-o job-priority=</b><i>priority</i>
+<dd style="margin-left: 5.0em">Set the priority to a value from 1 (lowest) to 100 (highest), which influences when a job is scheduled for printing.
+The default priority is typically 50.
+<dt><b>-o job-sheets=</b><i>name</i>
+<dd style="margin-left: 5.0em">Prints a cover page (banner) with the document.
+The "name" can be "classified", "confidential", "secret", "standard", "topsecret", or "unclassified".
+<dt><b>-o job-sheets=</b><i>start-name,end-name</i>
+<dd style="margin-left: 5.0em">Prints cover pages (banners) with the document.
 <dt><b>-o media=</b><i>size</i>
 <dd style="margin-left: 5.0em">Sets the page size to <i>size</i>. Most printers support at least the size names "a4", "letter", and "legal".
+<dt><b>-o mirror</b>
+<dd style="margin-left: 5.0em">Mirrors each page.
+<dt><b>-o number-up=</b>{<i>2|4|6|9|16</i>}
+<dd style="margin-left: 5.0em">Prints 2, 4, 6, 9, or 16 document (input) pages on each output page.
+<dt><b>-o number-up-layout=</b><i>layout</i>
+<dd style="margin-left: 5.0em">Specifies the layout of pages with the "number-up" option.
+The "layout" string can be "btlr", "btrl", "lrbt", "lrtb", "rlbt", "rltb", "tblr", or "tbrl" - the first two letters determine the column order while the second two letters determine the row order.
+"bt" is bottom-to-top, "lr" is left-to-right, "rl" is right-to-left, and "tb" is top-to-bottom.
 <dt><b>-o orientation-requested=4</b>
-<dd style="margin-left: 5.0em">Prints the job in landscape (rotated 90 degrees).
+<dd style="margin-left: 5.0em">Prints the job in landscape (rotated 90 degrees counter-clockwise).
+<dt><b>-o orientation-requested=5</b>
+<dd style="margin-left: 5.0em">Prints the job in landscape (rotated 90 degrees clockwise).
+<dt><b>-o orientation-requested=6</b>
+<dd style="margin-left: 5.0em">Prints the job in reverse portrait (rotated 180 degrees).
+<dt><b>-o outputorder=reverse</b>
+<dd style="margin-left: 5.0em">Prints pages in reverse order.
+<dt><b>-o page-border=</b><i>border</i>
+<dd style="margin-left: 5.0em">Prints a border around each document page.
+"border" is "double", "double-thick", "single", or "single-thick".
+<dt><b>-o page-ranges=</b><i>page-list</i>
+<dd style="margin-left: 5.0em">Specifies which pages to print in the document.
+The list can contain a list of numbers and ranges (#-#) separated by commas, e.g., "1,3-5,16".
+The page numbers refer to the output pages and not the document's original pages - options like "number-up" can affect the numbering of the pages.
 <dt><b>-o sides=one-sided</b>
 <dd style="margin-left: 5.0em">Prints on one side of the paper.
 <dt><b>-o sides=two-sided-long-edge</b>
 <dd style="margin-left: 5.0em">Prints on both sides of the paper for portrait output.
 <dt><b>-o sides=two-sided-short-edge</b>
 <dd style="margin-left: 5.0em">Prints on both sides of the paper for landscape output.
-<dt><b>-o fit-to-page</b>
-<dd style="margin-left: 5.0em">Scales the print file to fit on the page.
-<dt><b>-o number-up=</b>{<i>2|4|6|9|16</i>}
-<dd style="margin-left: 5.0em">Prints 2, 4, 6, 9, or 16 document (input) pages on each output page.
 </dl>
 <h2 class="title"><a name="CONFORMING_TO">Conforming To</a></h2>
 Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#".
@@ -187,7 +222,7 @@ Print a presentation document 2-up to a printer called "foo":
 <a href="man-lpstat.html?TOPIC=Man+Pages"><b>lpstat</b>(1),</a>
 CUPS Online Help (<a href="http://localhost:631/help">http://localhost:631/help</a>)
 <h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
-Copyright &copy; 2007-2015 by Apple Inc.
+Copyright &copy; 2007-2016 by Apple Inc.
 
 </body>
 </html>
index 98fc7c638321731c224c494c1ae4e966ee19f01f..0e4801e2d9c30a48fb6a70090a1d97296c4c48a7 100644 (file)
@@ -86,6 +86,7 @@ This option is equivalent to <i>-o raw</i>.
 <dd style="margin-left: 5.0em">Send an email on job completion.
 <dt><b>-o </b><i>option</i>[<b>=</b><i>value</i>]
 <dd style="margin-left: 5.0em">Sets a job option.
+See "COMMON JOB OPTIONS" below.
 <dt><b>-p</b>
 <dd style="margin-left: 5.0em">Specifies that the print file should be formatted with a shaded header with the date, time, job name, and page number.
 This option is equivalent to <i>-o prettyprint</i> and is only useful when printing text files.
@@ -94,6 +95,60 @@ This option is equivalent to <i>-o prettyprint</i> and is only useful when print
 <dt><b>-r</b>
 <dd style="margin-left: 5.0em">Specifies that the named print files should be deleted after submitting them.
 </dl>
+<h3><a name="COMMON_JOB_OPTIONS">Common Job Options</a></h3>
+Aside from the printer-specific options reported by the
+<a href="man-lpoptions.html?TOPIC=Man+Pages"><b>lpoptions</b>(1)</a>
+command, the following generic options are available:
+<dl class="man">
+<dt><b>-o collate=true</b>
+<dd style="margin-left: 5.0em">Prints collated copies.
+<dt><b>-o fit-to-page</b>
+<dd style="margin-left: 5.0em">Scales the print file to fit on the page.
+<dt><b>-o job-hold-until=</b><i>when</i>
+<dd style="margin-left: 5.0em">Holds the job until the specified local time.
+"when" can be "indefinite" to hold the until released, "day-time" to print the job between 6am and 6pm local time, "night" to print the job between 6pm and 6am local time, "second-shift" to print the job between 4pm and 12am local time, "third-shift" to print the job between 12am and 8am local time, or "weekend" to print the job on Saturday or Sunday.
+<dt><b>-o job-hold-until=</b><i>hh:mm</i>
+<dd style="margin-left: 5.0em">Holds the job until the specified time in hours and minutes UTC.
+<dt><b>-o job-priority=</b><i>priority</i>
+<dd style="margin-left: 5.0em">Set the priority to a value from 1 (lowest) to 100 (highest), which influences when a job is scheduled for printing.
+The default priority is typically 50.
+<dt><b>-o job-sheets=</b><i>name</i>
+<dd style="margin-left: 5.0em">Prints a cover page (banner) with the document.
+The "name" can be "classified", "confidential", "secret", "standard", "topsecret", or "unclassified".
+<dt><b>-o job-sheets=</b><i>start-name,end-name</i>
+<dd style="margin-left: 5.0em">Prints cover pages (banners) with the document.
+<dt><b>-o media=</b><i>size</i>
+<dd style="margin-left: 5.0em">Sets the page size to <i>size</i>. Most printers support at least the size names "a4", "letter", and "legal".
+<dt><b>-o mirror</b>
+<dd style="margin-left: 5.0em">Mirrors each page.
+<dt><b>-o number-up=</b>{<i>2|4|6|9|16</i>}
+<dd style="margin-left: 5.0em">Prints 2, 4, 6, 9, or 16 document (input) pages on each output page.
+<dt><b>-o number-up-layout=</b><i>layout</i>
+<dd style="margin-left: 5.0em">Specifies the layout of pages with the "number-up" option.
+The "layout" string can be "btlr", "btrl", "lrbt", "lrtb", "rlbt", "rltb", "tblr", or "tbrl" - the first two letters determine the column order while the second two letters determine the row order.
+"bt" is bottom-to-top, "lr" is left-to-right, "rl" is right-to-left, and "tb" is top-to-bottom.
+<dt><b>-o orientation-requested=4</b>
+<dd style="margin-left: 5.0em">Prints the job in landscape (rotated 90 degrees counter-clockwise).
+<dt><b>-o orientation-requested=5</b>
+<dd style="margin-left: 5.0em">Prints the job in landscape (rotated 90 degrees clockwise).
+<dt><b>-o orientation-requested=6</b>
+<dd style="margin-left: 5.0em">Prints the job in reverse portrait (rotated 180 degrees).
+<dt><b>-o outputorder=reverse</b>
+<dd style="margin-left: 5.0em">Prints pages in reverse order.
+<dt><b>-o page-border=</b><i>border</i>
+<dd style="margin-left: 5.0em">Prints a border around each document page.
+"border" is "double", "double-thick", "single", or "single-thick".
+<dt><b>-o page-ranges=</b><i>page-list</i>
+<dd style="margin-left: 5.0em">Specifies which pages to print in the document.
+The list can contain a list of numbers and ranges (#-#) separated by commas, e.g., "1,3-5,16".
+The page numbers refer to the output pages and not the document's original pages - options like "number-up" can affect the numbering of the pages.
+<dt><b>-o sides=one-sided</b>
+<dd style="margin-left: 5.0em">Prints on one side of the paper.
+<dt><b>-o sides=two-sided-long-edge</b>
+<dd style="margin-left: 5.0em">Prints on both sides of the paper for portrait output.
+<dt><b>-o sides=two-sided-short-edge</b>
+<dd style="margin-left: 5.0em">Prints on both sides of the paper for landscape output.
+</dl>
 <h2 class="title"><a name="NOTES">Notes</a></h2>
 The <i>-c</i>, <i>-d</i>, <i>-f</i>, <i>-g</i>, <i>-i</i>, <i>-n</i>, <i>-t</i>, <i>-v</i>, and <i>-w</i> options are not supported by CUPS and produce a warning message if used.
 <h2 class="title"><a name="EXAMPLES">Examples</a></h2>
@@ -124,7 +179,7 @@ Print a presentation document 2-up to a printer called "foo":
 <a href="man-lpstat.html?TOPIC=Man+Pages"><b>lpstat</b>(1),</a>
 CUPS Online Help (<a href="http://localhost:631/help">http://localhost:631/help</a>)
 <h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
-Copyright &copy; 2007-2015 by Apple Inc.
+Copyright &copy; 2007-2016 by Apple Inc.
 
 </body>
 </html>
index 9f3a81a11f3fda52500f5f7b2fc84befe82ac0ad..044cdb612092d53992e4fee1d62920712bda01f1 100644 (file)
@@ -145,11 +145,11 @@ lpr -#<EM>num-copies</EM> filename
 </PRE>
 
 <P>Copies are normally <EM>not</EM> collated for you. Use the
-<CODE>-o Collate=True</CODE> option to get collated copies:</P>
+<CODE>-o collate=true</CODE> option to get collated copies:</P>
 
 <PRE CLASS="command">
-lp -n <EM>num-copies</EM> -o Collate=True filename
-lpr -#<EM>num-copies</EM> -o Collate=True filename
+lp -n <EM>num-copies</EM> -o collate=true filename
+lpr -#<EM>num-copies</EM> -o collate=true filename
 </PRE>
 
 
@@ -452,18 +452,6 @@ can make the output page numbering not match the document page numbers.</p>
 </blockquote>
 
 
-<H3><A NAME="PAGESET">Selecting Even or Odd Pages</A></H3>
-
-<P>Use the <CODE>-o page-set=set</CODE> option to select the even or odd pages:</P>
-
-<PRE CLASS="command">
-lp -o page-set=odd filename
-lp -o page-set=even filename
-lpr -o page-set=even filename
-</PRE>
-
-<P>The default is to print all pages.
-
 <H3><A NAME="NUMBERUP">N-Up Printing</A></H3>
 
 <P>The <CODE>-o number-up=value</CODE> option selects N-Up
@@ -577,78 +565,5 @@ lpr -o raw filename
 lpr -l filename
 </PRE>
 
-
-<H2 CLASS="title"><A NAME="TEXTOPTIONS">Text Options</A></H2>
-
-<P>CUPS supports several options that are only used when printing
-plain text files. These options have absolutely no effect on
-PostScript, PDF, HP-GL/2, or image files.</P>
-
-<H3><A NAME="CPI">Setting the Number of Characters Per Inch</A></H3>
-
-<P>The <CODE>-o cpi=value</CODE> option sets the number of
-characters per inch:</P>
-
-<PRE CLASS="command">
-lp -o cpi=10 filename
-lp -o cpi=12 filename
-lpr -o cpi=17 filename
-</PRE>
-
-<P>The default characters per inch is 10.</P>
-
-<H3><A NAME="LPI">Setting the Number of Lines Per Inch</A></H3>
-
-<P>The <CODE>-o lpi=value</CODE> option sets the number of lines
-per inch:</P>
-
-<PRE CLASS="command">
-lp -o lpi=6 filename
-lpr -o lpi=8 filename
-</PRE>
-
-<P>The default lines per inch is 6.</P>
-
-<H3><A NAME="MARGINS">Setting the Page Margins</A></H3>
-
-<P>Normally the page margins are set to the hard limits of the
-printer. Use the <CODE>-o page-left=value</CODE>, <CODE>-o
-page-right=value</CODE>, <CODE>-o page-top=value</CODE>, and
-<CODE>-o page-bottom=value</CODE> options to adjust the page
-margins:</P>
-
-<PRE CLASS="command">
-lp -o page-left=<EM>value</EM> filename
-lp -o page-right=<EM>value</EM> filename
-lp -o page-top=<EM>value</EM> filename
-lp -o page-bottom=<EM>value</EM> filename
-lpr -o page-left=<EM>value</EM> -o page-right=<EM>value</EM> -o page-top=<EM>value</EM> -o page-bottom=<EM>value</EM> filename
-</PRE>
-
-<P>The <CODE>value</CODE> argument is the margin in points; each
-point is 1/72 inch or 0.35mm.</P>
-
-<H3><A NAME="PRETTYPRINT">Pretty Printing</A></H3>
-
-<P>The <CODE>-o prettyprint</CODE> option puts a header at the
-top of each page with the page number, job title (usually the
-filename), and the date. Also, C and C++ keywords are
-highlighted, and comment lines are italicized:</P>
-
-<PRE CLASS="command">
-lp -o prettyprint filename
-lpr -o prettyprint filename
-</PRE>
-
-<H3><A NAME="WRAP">Turning Off Text Wrapping</A></H3>
-
-<P>The <CODE>-o nowrap</CODE> option disables wrapping of long lines:</P>
-
-<PRE CLASS="command">
-lp -o nowrap filename
-lpr -o nowrap filename
-</PRE>
-
-
 </BODY>
 </HTML>
index 36a5e19fb462dc9b75bae01692a91fa90a1706be..065d8824a656fd199193cd1bf687bd10bdfcf7ce 100644 (file)
@@ -5,7 +5,7 @@
        <title>Developing PostScript Printer Drivers    </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
index 9e601f8425d884a041ce531a6137fd4be8370269..7cfa2f7650200e1d3973c59dff2e5b5d1415f54a 100644 (file)
@@ -5,7 +5,7 @@
        <title>Introduction to the PPD Compiler </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
index a44a16b094bdd64c33fae6fad5c95a674933dbdd..69e92144528c32b2a5bd786db681798b1dc1d3a7 100644 (file)
@@ -5,7 +5,7 @@
        <title>Developing Raster Printer Drivers        </title>
        <meta name="keywords" content="Programming">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
index b8e3fe83cb02b6c0854912302ad048414c130b42..4f6c641ff8f80196fa5f8cfd27f85d116fd6867f 100644 (file)
@@ -5,7 +5,7 @@
        <title>CUPS PPD Extensions      </title>
        <meta name="keywords" content="Specifications">
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-       <meta name="creator" content="Mini-XML v2.7">
+       <meta name="creator" content="Mini-XML v2.8">
 <style type="text/css"><!--
 BODY {
   font-family: lucida grande, geneva, helvetica, arial, sans-serif;
diff --git a/doc/pt_BR/index.html.in b/doc/pt_BR/index.html.in
new file mode 100644 (file)
index 0000000..9aa5d31
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <link rel="stylesheet" href="/cups.css" type="text/css">
+    <link rel="shortcut icon" href="/apple-touch-icon.png" type="image/png">
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=9">
+    <meta name="viewport" content="width=device-width">
+    <title>In&iacute;cio - CUPS @CUPS_VERSION@@CUPS_REVISION@</title>
+  </head>
+  <body>
+    <div class="header">
+      <ul>
+       <li><a href="http://www.cups.org/" target="_blank">CUPS.org</a></li>
+       <li><a class="active" href="/">In&iacute;cio</a></li>
+       <li><a href="/admin">Administra&ccedil;&atilde;o</a></li>
+       <li><a href="/classes/">Classes</a></li>
+       <li><a href="/help/">Ajuda</a></li>
+       <li><a href="/jobs/">Trabalhos</a></li>
+       <li><a href="/printers/">Impressoras</a></li>
+      </ul>
+    </div>
+    <div class="body">
+      <div class="row">
+       <h1>CUPS @CUPS_VERSION@</h1>
+       
+       <p>CUPS &eacute; o sistema de impress&atilde;o baseado em padr&otilde;es e de c&oacute;digo aberto desenvolvido pela <a href="http://www.apple.com/">Apple Inc.</a> para OS X<sup>&reg;</sup> e outros sistemas operacionais similares ao UNIX<sup>&reg;</sup>.</p>
+      </div>
+      <div class="row">
+       <div class="thirds">
+         <h2>CUPS para usu&aacute;rios</h2>
+         <p><a href="help/overview.html">Vis&atilde;o geral do CUPS</a></p>
+         <p><a href="help/options.html">Impress&atilde;o e op&ccedil;&otilde;es em linha de comando</a></p>
+         <p><a href="http://www.cups.org/lists.php?LIST=cups">F&oacute;rum de usu&aacute;rios</a></p>
+       </div>
+       <div class="thirds">
+         <h2>CUPS para administradores</h2>
+         <p><a href="admin">Adicionar impressoras e classes</a></p>
+         <p><a href="help/policies.html">Gerenciar pol&iacute;ticas de opera&ccedil;&atilde;o</a></p>
+         <p><a href="help/network.html">Usar impressoras de rede</a></p>
+         <p><a href="help/man-cupsd.conf.html">Refer&ecirc;ncia para o cupsd.conf</a></p>
+       </div>
+       <div class="thirds">
+         <h2>CUPS para desenvolvedores</h2>
+         <p><a href="help/api-overview.html">Introdu&ccedil;&atilde;o &agrave; programa&ccedil;&atilde;o do CUPS</a></p>
+         <p><a href="help/api-cups.html">API do CUPS</a></p>
+         <p><a href="help/api-filter.html">Programa&ccedil;&atilde;o de filtros e backend</a></p>
+         <p><a href="help/api-httpipp.html">APIs HTTP e IPP</a></p>
+         <p><a href="http://www.cups.org/lists.php?LIST=cups-devel">F&oacute;rum de desenvolvedores</a></p>
+       </div>
+      </div>
+    </div>
+    <div class="footer">CUPS e o logo do CUPS s&atilde;o marcas registradas da <a href="http://www.apple.com">Apple Inc.</a> Copyright &copy; 2007-2015 Apple Inc. Todos os direitos reservados.</div>
+  </body>
+</html>
index 09fe5559a620cafdc5b5e987ca436b6e4309d128..152bc90cf7c13dabce356f4296cc4110cafda913 100644 (file)
@@ -209,38 +209,6 @@ apihelp:
                --intro spec-ppd.shtml \
                >../doc/help/spec-ppd.html
 
-framedhelp:
-       echo Generating CUPS API help files...
-       mxmldoc --section "Programming" --title "Raster API" \
-               --framed ../cups/api-raster \
-               --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
-       mxmldoc --section "Specifications" \
-               --title "CUPS PPD Extensions" \
-               --framed ../cups/spec-ppd \
-               --css ../doc/cups-printable.css \
-               --header spec-ppd.header \
-               --intro spec-ppd.shtml \
-
 
 #
 # commandtops
index 33d494f58b6c2617bcd377c4ae525b0ca5a3fbf0..bca9240f4eb2edb7d320e8c50df5d193875415c7 100644 (file)
@@ -28,7 +28,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2016-04-11 20:30-0400\n"
+"POT-Creation-Date: 2016-05-02 18:01-0400\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"
@@ -1204,10 +1204,6 @@ msgstr ""
 msgid "  -X                      Produce XML plist instead of plain text."
 msgstr ""
 
-#: test/ippdiscover.c:813
-msgid "  -a                      Browse for all services."
-msgstr ""
-
 #: systemv/cupsaddsmb.c:281
 msgid "  -a                      Export all printers."
 msgstr ""
@@ -1228,10 +1224,6 @@ msgstr ""
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr ""
 
-#: test/ippdiscover.c:814
-msgid "  -d domain               Browse/resolve in specified domain."
-msgstr ""
-
 #: test/ipptool.c:4954
 msgid "  -d name=value           Set named variable to value."
 msgstr ""
@@ -1340,10 +1332,6 @@ msgstr ""
 msgid "  -p filename.ppd         Set PPD file."
 msgstr ""
 
-#: test/ippdiscover.c:815
-msgid "  -p program              Run specified program for each service."
-msgstr ""
-
 #: test/ippfind.c:2768
 msgid "  -q                      Quietly report match via exit code."
 msgstr ""
@@ -1388,10 +1376,6 @@ msgstr ""
 msgid "  -t title                Set title."
 msgstr ""
 
-#: test/ippdiscover.c:816
-msgid "  -t type                 Browse/resolve with specified type."
-msgstr ""
-
 #: scheduler/cupsfilter.c:1495
 msgid "  -u                      Remove the PPD file when finished."
 msgstr ""
@@ -2104,7 +2088,7 @@ msgstr ""
 
 #: berkeley/lpq.c:81 berkeley/lpr.c:65 berkeley/lprm.c:61 systemv/cancel.c:76
 #: systemv/cupsaccept.c:82 systemv/cupsaddsmb.c:78 systemv/lp.c:94
-#: systemv/lpadmin.c:228 systemv/lpinfo.c:79 systemv/lpmove.c:66
+#: systemv/lpadmin.c:228 systemv/lpinfo.c:80 systemv/lpmove.c:66
 #: systemv/lpstat.c:86 test/ipptool.c:282 test/ipptool.c:326
 #, c-format
 msgid "%s: Sorry, no encryption support."
@@ -2536,7 +2520,23 @@ msgstr ""
 msgid "2 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:262
+#: cups/ppd-cache.c:2989
+msgid "2-Hole Punch (Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2990
+msgid "2-Hole Punch (Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:2988
+msgid "2-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2987
+msgid "2-Hole Punch (Reverse Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:3445 ppdc/sample.c:262
 msgid "2-Sided Printing"
 msgstr ""
 
@@ -2688,6 +2688,22 @@ msgstr ""
 msgid "3 x 5"
 msgstr ""
 
+#: cups/ppd-cache.c:3000
+msgid "3-Hole Punch (Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2998
+msgid "3-Hole Punch (Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:2997
+msgid "3-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2999
+msgid "3-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 #: ppdc/sample.c:195
 msgid "3.00x1.00\""
 msgstr ""
@@ -2776,6 +2792,22 @@ msgstr ""
 msgid "4 inches/sec."
 msgstr ""
 
+#: cups/ppd-cache.c:2994
+msgid "4-Hole Punch (Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2992
+msgid "4-Hole Punch (Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:2991
+msgid "4-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2993
+msgid "4-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 #: ppdc/sample.c:206
 msgid "4.00x1.00\""
 msgstr ""
@@ -3170,6 +3202,10 @@ msgstr ""
 msgid "Accepted"
 msgstr ""
 
+#: cups/ppd-cache.c:2971
+msgid "Accordian Fold"
+msgstr ""
+
 #: cgi-bin/admin.c:544
 msgid "Add Class"
 msgstr ""
@@ -3191,6 +3227,14 @@ msgstr ""
 msgid "Administration"
 msgstr ""
 
+#: cups/ppd-cache.c:3258
+msgid "Alternate"
+msgstr ""
+
+#: cups/ppd-cache.c:3266
+msgid "Alternate Roll"
+msgstr ""
+
 #: ppdc/sample.c:424
 msgid "Always"
 msgstr ""
@@ -3223,6 +3267,10 @@ msgstr ""
 msgid "Attribute groups are out of order (%x < %x)."
 msgstr ""
 
+#: cups/ppd-cache.c:3256 cups/ppd-cache.c:3338
+msgid "Automatic"
+msgstr ""
+
 #: ppdc/sample.c:126
 msgid "B0"
 msgstr ""
@@ -3473,23 +3521,59 @@ msgstr ""
 msgid "Bad/empty URI"
 msgstr ""
 
+#: cups/ppd-cache.c:2956
+msgid "Bale"
+msgstr ""
+
 #: cgi-bin/admin.c:3274 cgi-bin/admin.c:3520
 msgid "Banners"
 msgstr ""
 
+#: cups/ppd-cache.c:2957
+msgid "Bind"
+msgstr ""
+
+#: cups/ppd-cache.c:2961
+msgid "Bind (Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2959
+msgid "Bind (Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:2958
+msgid "Bind (Reverse Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2960
+msgid "Bind (Reverse Portrait)"
+msgstr ""
+
 #: ppdc/sample.c:282
 msgid "Bond Paper"
 msgstr ""
 
-#: backend/usb-darwin.c:2046
+#: cups/ppd-cache.c:2962
+msgid "Booklet Maker"
+msgstr ""
+
+#: backend/usb-darwin.c:2014
 #, c-format
 msgid "Boolean expected for waiteof option \"%s\"."
 msgstr ""
 
+#: cups/ppd-cache.c:3269
+msgid "Bottom"
+msgstr ""
+
 #: filter/pstops.c:2032
 msgid "Buffer overflow detected, aborting."
 msgstr ""
 
+#: cups/ppd-cache.c:3340
+msgid "CD/DVD/Bluray"
+msgstr ""
+
 #: ppdc/sample.c:277
 msgid "CMYK"
 msgstr ""
@@ -3518,10 +3602,18 @@ msgstr ""
 msgid "Cannot share a remote Kerberized printer."
 msgstr ""
 
+#: cups/ppd-cache.c:3339
+msgid "Cardstock"
+msgstr ""
+
 #: ppdc/sample.c:271
 msgid "Cassette"
 msgstr ""
 
+#: cups/ppd-cache.c:3273
+msgid "Center"
+msgstr ""
+
 #: cgi-bin/admin.c:1639 cgi-bin/admin.c:1781 cgi-bin/admin.c:1794
 #: cgi-bin/admin.c:1805
 msgid "Change Settings"
@@ -3544,10 +3636,15 @@ msgstr ""
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr ""
 
-#: ppdc/sample.c:276
+#: cups/ppd-cache.c:2963
+msgid "Coat"
+msgstr ""
+
+#: cups/ppd-cache.c:3420 ppdc/sample.c:276
 msgid "Color"
 msgstr ""
 
+#: cups/ppd-cache.c:3396 cups/ppd-cache.c:3407 cups/ppd-cache.c:3418
 #: ppdc/sample.c:274
 msgid "Color Mode"
 msgstr ""
@@ -3587,6 +3684,10 @@ msgstr ""
 msgid "Copying print data."
 msgstr ""
 
+#: cups/ppd-cache.c:2964
+msgid "Cover"
+msgstr ""
+
 #: cups/http-support.c:1348
 msgid "Created"
 msgstr ""
@@ -3607,6 +3708,10 @@ msgstr ""
 msgid "Cut"
 msgstr ""
 
+#: cups/ppd-cache.c:3015
+msgid "Cut Media"
+msgstr ""
+
 #: ppdc/sample.c:446
 msgid "Cutter"
 msgstr ""
@@ -3640,7 +3745,7 @@ msgstr ""
 msgid "Destination \"%s\" is not accepting jobs."
 msgstr ""
 
-#: systemv/lpinfo.c:291
+#: systemv/lpinfo.c:292
 #, c-format
 msgid ""
 "Device: uri = %s\n"
@@ -3684,11 +3789,39 @@ msgstr ""
 msgid "Disabled"
 msgstr ""
 
+#: cups/ppd-cache.c:3262
+msgid "Disc"
+msgstr ""
+
 #: scheduler/ipp.c:6226
 #, c-format
 msgid "Document #%d does not exist in job #%d."
 msgstr ""
 
+#: cups/ppd-cache.c:2972
+msgid "Double Gate Fold"
+msgstr ""
+
+#: cups/ppd-cache.c:3008
+msgid "Double Staple (Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:3006
+msgid "Double Staple (Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:3005
+msgid "Double Staple (Reverse Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:3007
+msgid "Double Staple (Reverse Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:3595 cups/ppd-cache.c:3647
+msgid "Draft"
+msgstr ""
+
 #: ppdc/sample.c:267
 msgid "Duplexer"
 msgstr ""
@@ -3732,6 +3865,10 @@ msgstr ""
 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 ""
 
+#: cups/ppd-cache.c:3261 cups/ppd-cache.c:3341
+msgid "Envelope"
+msgstr ""
+
 #: ppdc/sample.c:73
 msgid "Envelope #10"
 msgstr ""
@@ -3965,7 +4102,7 @@ msgstr ""
 msgid "Error sending raster data."
 msgstr ""
 
-#: systemv/lpinfo.c:94 systemv/lpmove.c:81
+#: systemv/lpinfo.c:95 systemv/lpmove.c:81
 msgid "Error: need hostname after \"-h\" option."
 msgstr ""
 
@@ -4047,6 +4184,10 @@ msgstr ""
 msgid "Fanfold US"
 msgstr ""
 
+#: cups/ppd-cache.c:3398
+msgid "Fast Grayscale"
+msgstr ""
+
 #: cups/file.c:260
 #, c-format
 msgid "File \"%s\" contains a relative path."
@@ -4087,6 +4228,14 @@ msgstr ""
 msgid "Finished page %d."
 msgstr ""
 
+#: cups/ppd-cache.c:3511 cups/ppd-cache.c:3556
+msgid "Finishing"
+msgstr ""
+
+#: cups/ppd-cache.c:2970
+msgid "Fold"
+msgstr ""
+
 #: ppdc/sample.c:125
 msgid "Folio"
 msgstr ""
@@ -4095,6 +4244,10 @@ msgstr ""
 msgid "Forbidden"
 msgstr ""
 
+#: cups/ppd-cache.c:2973
+msgid "Gate Fold"
+msgstr ""
+
 #: cups/ppd.c:767 cups/ppd.c:1325
 msgid "General"
 msgstr ""
@@ -4111,6 +4264,10 @@ msgstr ""
 msgid "Glossy Paper"
 msgstr ""
 
+#: cups/ppd-cache.c:3345
+msgid "Glossy Photo"
+msgstr ""
+
 #: scheduler/ipp.c:2929 scheduler/ipp.c:3339 scheduler/ipp.c:3877
 #: scheduler/ipp.c:6155 scheduler/ipp.c:6302 scheduler/ipp.c:7800
 #: scheduler/ipp.c:8934 scheduler/ipp.c:9158 scheduler/ipp.c:9510
@@ -4118,7 +4275,7 @@ msgstr ""
 msgid "Got a printer-uri attribute but no job-id."
 msgstr ""
 
-#: ppdc/sample.c:275
+#: cups/ppd-cache.c:3409 ppdc/sample.c:275
 msgid "Grayscale"
 msgstr ""
 
@@ -4126,6 +4283,18 @@ msgstr ""
 msgid "HP"
 msgstr ""
 
+#: cups/ppd-cache.c:3264
+msgid "Hagaki"
+msgstr ""
+
+#: cups/ppd-cache.c:2974
+msgid "Half Fold"
+msgstr ""
+
+#: cups/ppd-cache.c:2975
+msgid "Half Z Fold"
+msgstr ""
+
 #: ppdc/sample.c:170
 msgid "Hanging Folder"
 msgstr ""
@@ -4138,6 +4307,14 @@ msgstr ""
 msgid "Help file not in index."
 msgstr ""
 
+#: cups/ppd-cache.c:3602 cups/ppd-cache.c:3650
+msgid "High"
+msgstr ""
+
+#: cups/ppd-cache.c:3346
+msgid "High-Gloss Photo"
+msgstr ""
+
 #: cups/ipp.c:3143 cups/ipp.c:3170 cups/ipp.c:3193
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr ""
@@ -4453,10 +4630,18 @@ msgstr ""
 msgid "Jobs"
 msgstr ""
 
+#: cups/ppd-cache.c:2982
+msgid "Jog"
+msgstr ""
+
 #: backend/lpd.c:173
 msgid "LPD/LPR Host or Printer"
 msgstr ""
 
+#: cups/ppd-cache.c:3342
+msgid "Label"
+msgstr ""
+
 #: ppdc/sample.c:230
 msgid "Label Printer"
 msgstr ""
@@ -4465,6 +4650,10 @@ msgstr ""
 msgid "Label Top"
 msgstr ""
 
+#: cups/ppd-cache.c:2983
+msgid "Laminate"
+msgstr ""
+
 #: scheduler/ipp.c:2051 scheduler/ipp.c:5737
 #, c-format
 msgid "Language \"%s\" not supported."
@@ -4474,10 +4663,26 @@ msgstr ""
 msgid "Large Address"
 msgstr ""
 
+#: cups/ppd-cache.c:3259
+msgid "Large Capacity"
+msgstr ""
+
 #: ppdc/sample.c:286
 msgid "LaserJet Series PCL 4/5"
 msgstr ""
 
+#: cups/ppd-cache.c:3271
+msgid "Left"
+msgstr ""
+
+#: cups/ppd-cache.c:2976
+msgid "Left Gate Fold"
+msgstr ""
+
+#: cups/ppd-cache.c:2977
+msgid "Letter Fold"
+msgstr ""
+
 #: ppdc/sample.c:43
 msgid "Letter Oversize"
 msgstr ""
@@ -4486,6 +4691,10 @@ msgstr ""
 msgid "Letter Oversize Long Edge"
 msgstr ""
 
+#: cups/ppd-cache.c:3351
+msgid "Letterhead"
+msgstr ""
+
 #: ppdc/sample.c:236
 msgid "Light"
 msgstr ""
@@ -4506,7 +4715,7 @@ msgstr ""
 msgid "Local printer created."
 msgstr ""
 
-#: ppdc/sample.c:264
+#: cups/ppd-cache.c:3445 ppdc/sample.c:264
 msgid "Long-Edge (Portrait)"
 msgstr ""
 
@@ -4514,10 +4723,26 @@ msgstr ""
 msgid "Looking for printer..."
 msgstr ""
 
+#: cups/ppd-cache.c:3257
+msgid "Main"
+msgstr ""
+
+#: cups/ppd-cache.c:3265
+msgid "Main Roll"
+msgstr ""
+
+#: cups/ppd-cache.c:3260
+msgid "Manual"
+msgstr ""
+
 #: ppdc/sample.c:260
 msgid "Manual Feed"
 msgstr ""
 
+#: cups/ppd-cache.c:3347
+msgid "Matte Photo"
+msgstr ""
+
 #: cups/ppd.c:814 cups/ppd.c:1380
 msgid "Media Size"
 msgstr ""
@@ -4542,6 +4767,10 @@ msgstr ""
 msgid "Memory allocation error"
 msgstr ""
 
+#: cups/ppd-cache.c:3268
+msgid "Middle"
+msgstr ""
+
 #: cups/ppd.c:336
 msgid "Missing CloseGroup"
 msgstr ""
@@ -4627,7 +4856,7 @@ msgstr ""
 msgid "Missing y-dimension in media-size."
 msgstr ""
 
-#: systemv/lpinfo.c:461
+#: systemv/lpinfo.c:462
 #, c-format
 msgid ""
 "Model:  name = %s\n"
@@ -4660,6 +4889,10 @@ msgstr ""
 msgid "Moved Permanently"
 msgstr ""
 
+#: cups/ppd-cache.c:3275
+msgid "Multipurpose"
+msgstr ""
+
 #: cups/ppd.c:315
 msgid "NULL PPD file pointer"
 msgstr ""
@@ -4684,6 +4917,10 @@ msgstr ""
 msgid "No Content"
 msgstr ""
 
+#: cups/ppd-cache.c:3511 cups/ppd-cache.c:3556
+msgid "No Finishing"
+msgstr ""
+
 #: cups/ppd-util.c:451
 msgid "No PPD name"
 msgstr ""
@@ -4814,7 +5051,7 @@ msgstr ""
 msgid "Non-continuous (Web sensing)"
 msgstr ""
 
-#: ppdc/sample.c:238
+#: cups/ppd-cache.c:3598 cups/ppd-cache.c:3648 ppdc/sample.c:238
 msgid "Normal"
 msgstr ""
 
@@ -4854,7 +5091,7 @@ msgstr ""
 msgid "OK"
 msgstr ""
 
-#: ppdc/sample.c:263
+#: cups/ppd-cache.c:3445 ppdc/sample.c:263
 msgid "Off (1-Sided)"
 msgstr ""
 
@@ -4904,6 +5141,10 @@ msgstr ""
 msgid "Options:"
 msgstr ""
 
+#: cups/ppd-cache.c:3343
+msgid "Other"
+msgstr ""
+
 #: cups/ppd-cache.c:464
 msgid "Out of date PPD cache file."
 msgstr ""
@@ -4984,6 +5225,10 @@ msgstr ""
 msgid "Paper tray is missing."
 msgstr ""
 
+#: cups/ppd-cache.c:2978
+msgid "Parallel Fold"
+msgstr ""
+
 #: ppdc/sample.c:355
 msgid "ParamCustominCutInterval"
 msgstr ""
@@ -5014,7 +5259,7 @@ msgstr ""
 msgid "Peel-Off"
 msgstr ""
 
-#: ppdc/sample.c:160
+#: cups/ppd-cache.c:3263 cups/ppd-cache.c:3344 ppdc/sample.c:160
 msgid "Photo"
 msgstr ""
 
@@ -5022,7 +5267,7 @@ msgstr ""
 msgid "Photo Labels"
 msgstr ""
 
-#: ppdc/sample.c:281
+#: cups/ppd-cache.c:3350 ppdc/sample.c:281
 msgid "Plain Paper"
 msgstr ""
 
@@ -5054,6 +5299,10 @@ msgstr ""
 msgid "Postcard Long Edge"
 msgstr ""
 
+#: cups/ppd-cache.c:2979
+msgid "Poster Fold"
+msgstr ""
+
 #: backend/ipp.c:968 backend/ipp.c:976
 msgid "Preparing to print."
 msgstr ""
@@ -5070,6 +5319,10 @@ msgstr ""
 msgid "Print Mode"
 msgstr ""
 
+#: cups/ppd-cache.c:3591 cups/ppd-cache.c:3645
+msgid "Print Quality"
+msgstr ""
+
 #: ppdc/sample.c:378
 msgid "Print Rate"
 msgstr ""
@@ -5161,6 +5414,10 @@ msgstr ""
 msgid "Printing page %d, %u%% complete."
 msgstr ""
 
+#: cups/ppd-cache.c:2984
+msgid "Punch"
+msgstr ""
+
 #: ppdc/sample.c:155
 msgid "Quarto"
 msgstr ""
@@ -5173,6 +5430,10 @@ msgstr ""
 msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr ""
 
+#: cups/ppd-cache.c:3274
+msgid "Rear"
+msgstr ""
+
 #: cgi-bin/classes.c:161 cgi-bin/printers.c:164
 msgid "Reject Jobs"
 msgstr ""
@@ -5215,6 +5476,54 @@ msgstr ""
 msgid "Rewind"
 msgstr ""
 
+#: cups/ppd-cache.c:3272
+msgid "Right"
+msgstr ""
+
+#: cups/ppd-cache.c:2980
+msgid "Right Gate Fold"
+msgstr ""
+
+#: cups/ppd-cache.c:3296
+msgid "Roll 1"
+msgstr ""
+
+#: cups/ppd-cache.c:3305
+msgid "Roll 10"
+msgstr ""
+
+#: cups/ppd-cache.c:3297
+msgid "Roll 2"
+msgstr ""
+
+#: cups/ppd-cache.c:3298
+msgid "Roll 3"
+msgstr ""
+
+#: cups/ppd-cache.c:3299
+msgid "Roll 4"
+msgstr ""
+
+#: cups/ppd-cache.c:3300
+msgid "Roll 5"
+msgstr ""
+
+#: cups/ppd-cache.c:3301
+msgid "Roll 6"
+msgstr ""
+
+#: cups/ppd-cache.c:3302
+msgid "Roll 7"
+msgstr ""
+
+#: cups/ppd-cache.c:3303
+msgid "Roll 8"
+msgstr ""
+
+#: cups/ppd-cache.c:3304
+msgid "Roll 9"
+msgstr ""
+
 #: cups/adminutil.c:2083
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
@@ -5228,6 +5537,14 @@ msgstr ""
 msgid "SSL/TLS Negotiation Error"
 msgstr ""
 
+#: cups/ppd-cache.c:3001
+msgid "Saddle Stitch"
+msgstr ""
+
+#: cups/ppd-cache.c:3348
+msgid "Satin Photo"
+msgstr ""
+
 #: cups/http-support.c:1360
 msgid "See Other"
 msgstr ""
@@ -5236,7 +5553,11 @@ msgstr ""
 msgid "See remote printer."
 msgstr ""
 
-#: backend/usb-darwin.c:564 backend/usb-libusb.c:346
+#: cups/ppd-cache.c:3349
+msgid "Semi-Gloss Photo"
+msgstr ""
+
+#: backend/usb-darwin.c:572 backend/usb-libusb.c:346
 msgid "Sending data to printer."
 msgstr ""
 
@@ -5256,7 +5577,7 @@ msgstr ""
 msgid "Server Stopped"
 msgstr ""
 
-#: cups/tls-darwin.c:1057 cups/tls-gnutls.c:1047
+#: cups/tls-darwin.c:1092 cups/tls-gnutls.c:1047
 msgid "Server credentials not set."
 msgstr ""
 
@@ -5289,10 +5610,46 @@ msgstr ""
 msgid "Shipping Address"
 msgstr ""
 
-#: ppdc/sample.c:265
+#: cups/ppd-cache.c:3445 ppdc/sample.c:265
 msgid "Short-Edge (Landscape)"
 msgstr ""
 
+#: cups/ppd-cache.c:3270
+msgid "Side"
+msgstr ""
+
+#: cups/ppd-cache.c:2996
+msgid "Single Punch (Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2995
+msgid "Single Punch (Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:2985
+msgid "Single Punch (Reverse Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2986
+msgid "Single Punch (Reverse Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:3010
+msgid "Single Staple (Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:3009
+msgid "Single Staple (Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:3003
+msgid "Single Staple (Reverse Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:3004
+msgid "Single Staple (Reverse Portrait)"
+msgstr ""
+
 #: ppdc/sample.c:283
 msgid "Special Paper"
 msgstr ""
@@ -5306,6 +5663,30 @@ msgstr ""
 msgid "Standard"
 msgstr ""
 
+#: cups/ppd-cache.c:3002
+msgid "Staple"
+msgstr ""
+
+#: cups/ppd-cache.c:2965
+msgid "Staple Edge"
+msgstr ""
+
+#: cups/ppd-cache.c:2969
+msgid "Staple Edge (Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2967
+msgid "Staple Edge (Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:2966
+msgid "Staple Edge (Reverse Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:2968
+msgid "Staple Edge (Reverse Portrait)"
+msgstr ""
+
 #. TRANSLATORS: Banner/cover sheet before the print job.
 #: cgi-bin/admin.c:3536
 msgid "Starting Banner"
@@ -5479,11 +5860,11 @@ msgstr ""
 msgid "The printer is now connected."
 msgstr ""
 
-#: backend/usb-darwin.c:1363
+#: backend/usb-darwin.c:1348
 msgid "The printer is now online."
 msgstr ""
 
-#: backend/usb-darwin.c:1402
+#: backend/usb-darwin.c:1387
 msgid "The printer is offline."
 msgstr ""
 
@@ -5576,8 +5957,8 @@ msgstr ""
 msgid "There are too many subscriptions."
 msgstr ""
 
-#: backend/usb-darwin.c:398 backend/usb-darwin.c:457 backend/usb-darwin.c:526
-#: backend/usb-darwin.c:547 backend/usb-libusb.c:271 backend/usb-libusb.c:325
+#: backend/usb-darwin.c:399 backend/usb-darwin.c:465 backend/usb-darwin.c:534
+#: backend/usb-darwin.c:555 backend/usb-libusb.c:271 backend/usb-libusb.c:325
 msgid "There was an unrecoverable USB error."
 msgstr ""
 
@@ -5599,7 +5980,11 @@ msgstr ""
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr ""
 
-#: ppdc/sample.c:284
+#: cups/ppd-cache.c:3267
+msgid "Top"
+msgstr ""
+
+#: cups/ppd-cache.c:3352 ppdc/sample.c:284
 msgid "Transparency"
 msgstr ""
 
@@ -5607,22 +5992,102 @@ msgstr ""
 msgid "Tray"
 msgstr ""
 
-#: ppdc/sample.c:256
+#: cups/ppd-cache.c:3276 ppdc/sample.c:256
 msgid "Tray 1"
 msgstr ""
 
-#: ppdc/sample.c:257
+#: cups/ppd-cache.c:3285
+msgid "Tray 10"
+msgstr ""
+
+#: cups/ppd-cache.c:3286
+msgid "Tray 11"
+msgstr ""
+
+#: cups/ppd-cache.c:3287
+msgid "Tray 12"
+msgstr ""
+
+#: cups/ppd-cache.c:3288
+msgid "Tray 13"
+msgstr ""
+
+#: cups/ppd-cache.c:3289
+msgid "Tray 14"
+msgstr ""
+
+#: cups/ppd-cache.c:3290
+msgid "Tray 15"
+msgstr ""
+
+#: cups/ppd-cache.c:3291
+msgid "Tray 16"
+msgstr ""
+
+#: cups/ppd-cache.c:3292
+msgid "Tray 17"
+msgstr ""
+
+#: cups/ppd-cache.c:3293
+msgid "Tray 18"
+msgstr ""
+
+#: cups/ppd-cache.c:3294
+msgid "Tray 19"
+msgstr ""
+
+#: cups/ppd-cache.c:3277 ppdc/sample.c:257
 msgid "Tray 2"
 msgstr ""
 
-#: ppdc/sample.c:258
+#: cups/ppd-cache.c:3295
+msgid "Tray 20"
+msgstr ""
+
+#: cups/ppd-cache.c:3278 ppdc/sample.c:258
 msgid "Tray 3"
 msgstr ""
 
-#: ppdc/sample.c:259
+#: cups/ppd-cache.c:3279 ppdc/sample.c:259
 msgid "Tray 4"
 msgstr ""
 
+#: cups/ppd-cache.c:3280
+msgid "Tray 5"
+msgstr ""
+
+#: cups/ppd-cache.c:3281
+msgid "Tray 6"
+msgstr ""
+
+#: cups/ppd-cache.c:3282
+msgid "Tray 7"
+msgstr ""
+
+#: cups/ppd-cache.c:3283
+msgid "Tray 8"
+msgstr ""
+
+#: cups/ppd-cache.c:3284
+msgid "Tray 9"
+msgstr ""
+
+#: cups/ppd-cache.c:3014
+msgid "Triple Staple (Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:3012
+msgid "Triple Staple (Portrait)"
+msgstr ""
+
+#: cups/ppd-cache.c:3011
+msgid "Triple Staple (Reverse Landscape)"
+msgstr ""
+
+#: cups/ppd-cache.c:3013
+msgid "Triple Staple (Reverse Portrait)"
+msgstr ""
+
 #: cups/http-support.c:1382
 msgid "URI Too Long"
 msgstr ""
@@ -5789,7 +6254,7 @@ msgstr ""
 msgid "Unable to create printer."
 msgstr ""
 
-#: cups/tls-darwin.c:1317 cups/tls-gnutls.c:1179
+#: cups/tls-darwin.c:1353 cups/tls-gnutls.c:1179
 msgid "Unable to create server credentials."
 msgstr ""
 
@@ -5813,35 +6278,35 @@ msgstr ""
 msgid "Unable to edit cupsd.conf files larger than 1MB"
 msgstr ""
 
-#: cups/tls-darwin.c:1484
+#: cups/tls-darwin.c:1520
 msgid "Unable to establish a secure connection to host (certificate chain invalid)."
 msgstr ""
 
-#: cups/tls-darwin.c:1474
+#: cups/tls-darwin.c:1510
 msgid "Unable to establish a secure connection to host (certificate not yet valid)."
 msgstr ""
 
-#: cups/tls-darwin.c:1469
+#: cups/tls-darwin.c:1505
 msgid "Unable to establish a secure connection to host (expired certificate)."
 msgstr ""
 
-#: cups/tls-darwin.c:1479
+#: cups/tls-darwin.c:1515
 msgid "Unable to establish a secure connection to host (host name mismatch)."
 msgstr ""
 
-#: cups/tls-darwin.c:1489
+#: cups/tls-darwin.c:1525
 msgid "Unable to establish a secure connection to host (peer dropped connection before responding)."
 msgstr ""
 
-#: cups/tls-darwin.c:1464
+#: cups/tls-darwin.c:1500
 msgid "Unable to establish a secure connection to host (self-signed certificate)."
 msgstr ""
 
-#: cups/tls-darwin.c:1459
+#: cups/tls-darwin.c:1495
 msgid "Unable to establish a secure connection to host (untrusted certificate)."
 msgstr ""
 
-#: cups/tls-darwin.c:1516 cups/tls-sspi.c:1277 cups/tls-sspi.c:1294
+#: cups/tls-darwin.c:1552 cups/tls-sspi.c:1277 cups/tls-sspi.c:1294
 msgid "Unable to establish a secure connection to host."
 msgstr ""
 
@@ -5853,7 +6318,7 @@ msgstr ""
 msgid "Unable to find printer."
 msgstr ""
 
-#: cups/tls-darwin.c:1330
+#: cups/tls-darwin.c:1366
 msgid "Unable to find server credentials."
 msgstr ""
 
@@ -5965,8 +6430,8 @@ msgstr ""
 msgid "Unable to print test page"
 msgstr ""
 
-#: backend/runloop.c:83 backend/runloop.c:312 backend/usb-darwin.c:634
-#: backend/usb-darwin.c:678 backend/usb-libusb.c:416 backend/usb-libusb.c:451
+#: backend/runloop.c:83 backend/runloop.c:312 backend/usb-darwin.c:642
+#: backend/usb-darwin.c:686 backend/usb-libusb.c:416 backend/usb-libusb.c:451
 msgid "Unable to read print data."
 msgstr ""
 
@@ -5991,7 +6456,7 @@ msgstr ""
 msgid "Unable to send command to printer driver"
 msgstr ""
 
-#: backend/usb-darwin.c:756 backend/usb-libusb.c:527
+#: backend/usb-darwin.c:764 backend/usb-libusb.c:527
 msgid "Unable to send data to printer."
 msgstr ""
 
@@ -6016,7 +6481,7 @@ msgstr ""
 msgid "Unable to upload cupsd.conf file"
 msgstr ""
 
-#: backend/usb-darwin.c:2188 backend/usb-darwin.c:2212
+#: backend/usb-darwin.c:2156 backend/usb-darwin.c:2180
 msgid "Unable to use legacy USB class driver."
 msgstr ""
 
@@ -6106,7 +6571,7 @@ msgstr ""
 msgid "Unknown scheme in URI"
 msgstr ""
 
-#: cups/http-addrlist.c:758
+#: cups/http-addrlist.c:771
 msgid "Unknown service name."
 msgstr ""
 
@@ -6234,14 +6699,6 @@ msgstr ""
 msgid "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
 msgstr ""
 
-#: test/ippdiscover.c:809
-msgid ""
-"Usage: ippdiscover [options] -a\n"
-"       ippdiscover [options] \"service name\"\n"
-"\n"
-"Options:"
-msgstr ""
-
 #: test/ippfind.c:2744
 msgid ""
 "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
@@ -6310,7 +6767,7 @@ msgstr ""
 msgid "Waiting for job to complete."
 msgstr ""
 
-#: backend/usb-darwin.c:481 backend/usb-libusb.c:223
+#: backend/usb-darwin.c:430 backend/usb-darwin.c:489 backend/usb-libusb.c:223
 msgid "Waiting for printer to become available."
 msgstr ""
 
@@ -6335,6 +6792,10 @@ msgstr ""
 msgid "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
 msgstr ""
 
+#: cups/ppd-cache.c:2981
+msgid "Z Fold"
+msgstr ""
+
 #: ppdc/sample.c:434
 msgid "ZPL Label Printer"
 msgstr ""
@@ -6774,45 +7235,45 @@ msgstr ""
 msgid "lpc> "
 msgstr ""
 
-#: systemv/lpinfo.c:128
+#: systemv/lpinfo.c:129
 msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
 msgstr ""
 
-#: systemv/lpinfo.c:181
+#: systemv/lpinfo.c:182
 msgid "lpinfo: Expected language after \"--language\"."
 msgstr ""
 
-#: systemv/lpinfo.c:198
+#: systemv/lpinfo.c:199
 msgid "lpinfo: Expected make and model after \"--make-and-model\"."
 msgstr ""
 
-#: systemv/lpinfo.c:215
+#: systemv/lpinfo.c:216
 msgid "lpinfo: Expected product string after \"--product\"."
 msgstr ""
 
-#: systemv/lpinfo.c:146
+#: systemv/lpinfo.c:147
 msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
 msgstr ""
 
-#: systemv/lpinfo.c:164
+#: systemv/lpinfo.c:165
 msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
 msgstr ""
 
-#: systemv/lpinfo.c:232
+#: systemv/lpinfo.c:233
 msgid "lpinfo: Expected timeout after \"--timeout\"."
 msgstr ""
 
-#: systemv/lpinfo.c:256
+#: systemv/lpinfo.c:257
 #, c-format
 msgid "lpinfo: Unknown argument \"%s\"."
 msgstr ""
 
-#: systemv/lpinfo.c:250
+#: systemv/lpinfo.c:251
 #, c-format
 msgid "lpinfo: Unknown option \"%c\"."
 msgstr ""
 
-#: systemv/lpinfo.c:243
+#: systemv/lpinfo.c:244
 #, c-format
 msgid "lpinfo: Unknown option \"%s\"."
 msgstr ""
@@ -7101,7 +7562,7 @@ msgstr ""
 msgid "ppdc: Expected override field after Resolution on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-catalog.cxx:387 ppdc/ppdc-catalog.cxx:399
+#: ppdc/ppdc-catalog.cxx:389 ppdc/ppdc-catalog.cxx:401
 #, c-format
 msgid "ppdc: Expected quoted string on line %d of %s."
 msgstr ""
@@ -7212,7 +7673,7 @@ msgstr ""
 msgid "ppdc: Missing #if on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-catalog.cxx:464
+#: ppdc/ppdc-catalog.cxx:466
 #, c-format
 msgid "ppdc: Need a msgid line before any translation strings on line %d of %s."
 msgstr ""
@@ -7294,7 +7755,7 @@ msgstr ""
 msgid "ppdc: Undefined variable (%s) on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-catalog.cxx:481
+#: ppdc/ppdc-catalog.cxx:483
 #, c-format
 msgid "ppdc: Unexpected text on line %d of %s."
 msgstr ""
@@ -7314,7 +7775,7 @@ msgstr ""
 msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-catalog.cxx:509
+#: ppdc/ppdc-catalog.cxx:511
 #, c-format
 msgid "ppdc: Unknown message catalog format for \"%s\"."
 msgstr ""
index 04c15ba9068e4b0db83df9543d6b4da3ad15d49a..892d87fe6377eb41fcca67a9d77a95ddc545def7 100644 (file)
 "  -V version              Set default IPP version." = "  -V version              Set default IPP version.";
 "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}" = "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}";
 "  -X                      Produce XML plist instead of plain text." = "  -X                      Produce XML plist instead of plain text.";
-"  -a                      Browse for all services." = "  -a                      Browse for all services.";
 "  -a                      Export all printers." = "  -a                      Export all printers.";
 "  -c                      Produce CSV output." = "  -c                      Produce CSV output.";
 "  -c catalog.po           Load the specified message catalog." = "  -c catalog.po           Load the specified message catalog.";
 "  -c cups-files.conf      Set cups-files.conf file to use." = "  -c cups-files.conf      Set cups-files.conf file to use.";
 "  -c cupsd.conf           Set cupsd.conf file to use." = "  -c cupsd.conf           Set cupsd.conf file to use.";
-"  -d domain               Browse/resolve in specified domain." = "  -d domain               Browse/resolve in specified domain.";
 "  -d name=value           Set named variable to value." = "  -d name=value           Set named variable to value.";
 "  -d output-dir           Specify the output directory." = "  -d output-dir           Specify the output directory.";
 "  -d printer              Use the named printer." = "  -d printer              Use the named printer.";
 "  -o name=value           Set option(s)." = "  -o name=value           Set option(s).";
 "  -p                      Print URI if true." = "  -p                      Print URI if true.";
 "  -p filename.ppd         Set PPD file." = "  -p filename.ppd         Set PPD file.";
-"  -p program              Run specified program for each service." = "  -p program              Run specified program for each service.";
 "  -q                      Quietly report match via exit code." = "  -q                      Quietly report match via exit code.";
 "  -q                      Run silently." = "  -q                      Run silently.";
 "  -r                      True if service is remote." = "  -r                      True if service is remote.";
 "  -t                      Test the configuration file." = "  -t                      Test the configuration file.";
 "  -t key                  True if the TXT record contains the key." = "  -t key                  True if the TXT record contains the key.";
 "  -t title                Set title." = "  -t title                Set title.";
-"  -t type                 Browse/resolve with specified type." = "  -t type                 Browse/resolve with specified type.";
 "  -u                      Remove the PPD file when finished." = "  -u                      Remove the PPD file when finished.";
 "  -u regex                Match URI to regular expression." = "  -u regex                Match URI to regular expression.";
 "  -v                      Be verbose." = "  -v                      Be verbose.";
 "19" = "19";
 "2" = "2";
 "2 inches/sec." = "2 inches/sec.";
+"2-Hole Punch (Landscape)" = "2-Hole Punch (Landscape)";
+"2-Hole Punch (Portrait)" = "2-Hole Punch (Portrait)";
+"2-Hole Punch (Reverse Landscape)" = "2-Hole Punch (Reverse Landscape)";
+"2-Hole Punch (Reverse Portrait)" = "2-Hole Punch (Reverse Portrait)";
 "2-Sided Printing" = "2-Sided Printing";
 "2.00x0.37\"" = "2.00x0.37\"";
 "2.00x0.50\"" = "2.00x0.50\"";
 "3" = "3";
 "3 inches/sec." = "3 inches/sec.";
 "3 x 5" = "3 x 5";
+"3-Hole Punch (Landscape)" = "3-Hole Punch (Landscape)";
+"3-Hole Punch (Portrait)" = "3-Hole Punch (Portrait)";
+"3-Hole Punch (Reverse Landscape)" = "3-Hole Punch (Reverse Landscape)";
+"3-Hole Punch (Reverse Portrait)" = "3-Hole Punch (Reverse Portrait)";
 "3.00x1.00\"" = "3.00x1.00\"";
 "3.00x1.25\"" = "3.00x1.25\"";
 "3.00x2.00\"" = "3.00x2.00\"";
 "360x180dpi" = "360x180dpi";
 "4" = "4";
 "4 inches/sec." = "4 inches/sec.";
+"4-Hole Punch (Landscape)" = "4-Hole Punch (Landscape)";
+"4-Hole Punch (Portrait)" = "4-Hole Punch (Portrait)";
+"4-Hole Punch (Reverse Landscape)" = "4-Hole Punch (Reverse Landscape)";
+"4-Hole Punch (Reverse Portrait)" = "4-Hole Punch (Reverse Portrait)";
 "4.00x1.00\"" = "4.00x1.00\"";
 "4.00x13.00\"" = "4.00x13.00\"";
 "4.00x2.00\"" = "4.00x2.00\"";
 "ARCH E Long Edge" = "ARCH E Long Edge";
 "Accept Jobs" = "Accept Jobs";
 "Accepted" = "Accepted";
+"Accordian Fold" = "Accordian Fold";
 "Add Class" = "Add Class";
 "Add Printer" = "Add Printer";
 "Add RSS Subscription" = "Add RSS Subscription";
 "Address" = "Address";
 "Administration" = "Administration";
+"Alternate" = "Alternate";
+"Alternate Roll" = "Alternate Roll";
 "Always" = "Always";
 "AppSocket/HP JetDirect" = "AppSocket/HP JetDirect";
 "Applicator" = "Applicator";
 "Attribute \"%s\" is in the wrong group." = "Attribute “%s” is in the wrong group.";
 "Attribute \"%s\" is the wrong value type." = "Attribute “%s” is the wrong value type.";
 "Attribute groups are out of order (%x < %x)." = "Attribute groups are out of order (%x < %x).";
+"Automatic" = "Automatic";
 "B0" = "B0";
 "B1" = "B1";
 "B10" = "B10";
 "Bad username in URI" = "Bad username in URI";
 "Bad value string" = "Bad value string";
 "Bad/empty URI" = "Bad/empty URI";
+"Bale" = "Bale";
 "Banners" = "Banners";
+"Bind" = "Bind";
+"Bind (Landscape)" = "Bind (Landscape)";
+"Bind (Portrait)" = "Bind (Portrait)";
+"Bind (Reverse Landscape)" = "Bind (Reverse Landscape)";
+"Bind (Reverse Portrait)" = "Bind (Reverse Portrait)";
 "Bond Paper" = "Bond Paper";
+"Booklet Maker" = "Booklet Maker";
 "Boolean expected for waiteof option \"%s\"." = "Boolean expected for waiteof option “%s”.";
+"Bottom" = "Bottom";
 "Buffer overflow detected, aborting." = "Buffer overflow detected, aborting.";
+"CD/DVD/Bluray" = "CD/DVD/Bluray";
 "CMYK" = "CMYK";
 "CPCL Label Printer" = "CPCL Label Printer";
 "Cancel Jobs" = "Cancel Jobs";
 "Canceling print job." = "Canceling print job.";
 "Cannot change printer-is-shared for remote queues." = "Cannot change printer-is-shared for remote queues.";
 "Cannot share a remote Kerberized printer." = "Cannot share a remote Kerberized printer.";
+"Cardstock" = "Cardstock";
 "Cassette" = "Cassette";
+"Center" = "Center";
 "Change Settings" = "Change Settings";
 "Character set \"%s\" not supported." = "Character set “%s” not supported.";
 "Classes" = "Classes";
 "Clean Print Heads" = "Clean Print Heads";
 "Close-Job doesn't support the job-uri attribute." = "Close-Job doesn't support the job-uri attribute.";
+"Coat" = "Coat";
 "Color" = "Color";
 "Color Mode" = "Color Mode";
 "Commands may be abbreviated.  Commands are:\n\nexit    help    quit    status  ?" = "Commands may be abbreviated.  Commands are:\n\nexit    help    quit    status  ?";
 "Continuous" = "Continuous";
 "Control file sent successfully." = "Control file sent successfully.";
 "Copying print data." = "Copying print data.";
+"Cover" = "Cover";
 "Created" = "Created";
 "Custom" = "Custom";
 "CustominCutInterval" = "CustominCutInterval";
 "CustominTearInterval" = "CustominTearInterval";
 "Cut" = "Cut";
+"Cut Media" = "Cut Media";
 "Cutter" = "Cutter";
 "Dark" = "Dark";
 "Darkness" = "Darkness";
 "Directory \"%s\" not available: %s" = "Directory “%s” not available: %s";
 "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)." = "Directory “%s” permissions OK (0%o/uid=%d/gid=%d).";
 "Disabled" = "Disabled";
+"Disc" = "Disc";
 "Document #%d does not exist in job #%d." = "Document #%d does not exist in job #%d.";
+"Double Gate Fold" = "Double Gate Fold";
+"Double Staple (Landscape)" = "Double Staple (Landscape)";
+"Double Staple (Portrait)" = "Double Staple (Portrait)";
+"Double Staple (Reverse Landscape)" = "Double Staple (Reverse Landscape)";
+"Double Staple (Reverse Portrait)" = "Double Staple (Reverse Portrait)";
+"Draft" = "Draft";
 "Duplexer" = "Duplexer";
 "Dymo" = "Dymo";
 "EPL1 Label Printer" = "EPL1 Label Printer";
 "Ending Banner" = "Ending Banner";
 "English" = "English";
 "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." = "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.";
+"Envelope" = "Envelope";
 "Envelope #10" = "Envelope #10";
 "Envelope #11" = "Envelope #11";
 "Envelope #12" = "Envelope #12";
 "FanFold German" = "FanFold German";
 "FanFold Legal German" = "FanFold Legal German";
 "Fanfold US" = "Fanfold US";
+"Fast Grayscale" = "Fast Grayscale";
 "File \"%s\" contains a relative path." = "File “%s” contains a relative path.";
 "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)." = "File “%s” has insecure permissions (0%o/uid=%d/gid=%d).";
 "File \"%s\" is a directory." = "File “%s” is a directory.";
 "File Folder" = "File Folder";
 "File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cups-files.conf\"." = "File device URIs have been disabled. To enable, see the FileDevice directive in “%s/cups-files.conf”.";
 "Finished page %d." = "Finished page %d.";
+"Finishing" = "Finishing";
+"Fold" = "Fold";
 "Folio" = "Folio";
 "Forbidden" = "Forbidden";
+"Gate Fold" = "Gate Fold";
 "General" = "General";
 "Generic" = "Generic";
 "Get-Response-PDU uses indefinite length" = "Get-Response-PDU uses indefinite length";
 "Glossy Paper" = "Glossy Paper";
+"Glossy Photo" = "Glossy Photo";
 "Got a printer-uri attribute but no job-id." = "Got a printer-uri attribute but no job-id.";
 "Grayscale" = "Grayscale";
 "HP" = "HP";
+"Hagaki" = "Hagaki";
+"Half Fold" = "Half Fold";
+"Half Z Fold" = "Half Z Fold";
 "Hanging Folder" = "Hanging Folder";
 "Hash buffer too small." = "Hash buffer too small.";
 "Help file not in index." = "Help file not in index.";
+"High" = "High";
+"High-Gloss Photo" = "High-Gloss Photo";
 "IPP 1setOf attribute with incompatible value tags." = "IPP 1setOf attribute with incompatible value tags.";
 "IPP attribute has no name." = "IPP attribute has no name.";
 "IPP attribute is not a member of the message." = "IPP attribute is not a member of the message.";
 "Job state cannot be changed." = "Job state cannot be changed.";
 "Job subscriptions cannot be renewed." = "Job subscriptions cannot be renewed.";
 "Jobs" = "Jobs";
+"Jog" = "Jog";
 "LPD/LPR Host or Printer" = "LPD/LPR Host or Printer";
+"Label" = "Label";
 "Label Printer" = "Label Printer";
 "Label Top" = "Label Top";
+"Laminate" = "Laminate";
 "Language \"%s\" not supported." = "Language “%s” not supported.";
 "Large Address" = "Large Address";
+"Large Capacity" = "Large Capacity";
 "LaserJet Series PCL 4/5" = "LaserJet Series PCL 4/5";
+"Left" = "Left";
+"Left Gate Fold" = "Left Gate Fold";
+"Letter Fold" = "Letter Fold";
 "Letter Oversize" = "Letter Oversize";
 "Letter Oversize Long Edge" = "Letter Oversize Long Edge";
+"Letterhead" = "Letterhead";
 "Light" = "Light";
 "Line longer than the maximum allowed (255 characters)" = "Line longer than the maximum allowed (255 characters)";
 "List Available Printers" = "List Available Printers";
 "Local printer created." = "Local printer created.";
 "Long-Edge (Portrait)" = "Long-Edge (Portrait)";
 "Looking for printer..." = "Looking for printer…";
+"Main" = "Main";
+"Main Roll" = "Main Roll";
+"Manual" = "Manual";
 "Manual Feed" = "Manual Feed";
+"Matte Photo" = "Matte Photo";
 "Media Size" = "Media Size";
 "Media Source" = "Media Source";
 "Media Tracking" = "Media Tracking";
 "Media Type" = "Media Type";
 "Medium" = "Medium";
 "Memory allocation error" = "Memory allocation error";
+"Middle" = "Middle";
 "Missing CloseGroup" = "Missing CloseGroup";
 "Missing PPD-Adobe-4.x header" = "Missing PPD-Adobe-4.x header";
 "Missing asterisk in column 1" = "Missing asterisk in column 1";
 "Move All Jobs" = "Move All Jobs";
 "Move Job" = "Move Job";
 "Moved Permanently" = "Moved Permanently";
+"Multipurpose" = "Multipurpose";
 "NULL PPD file pointer" = "NULL PPD file pointer";
 "Name OID uses indefinite length" = "Name OID uses indefinite length";
 "Nested classes are not allowed." = "Nested classes are not allowed.";
 "Never" = "Never";
 "No" = "No";
 "No Content" = "No Content";
+"No Finishing" = "No Finishing";
 "No PPD name" = "No PPD name";
 "No VarBind SEQUENCE" = "No VarBind SEQUENCE";
 "No Windows printer drivers are installed." = "No Windows printer drivers are installed.";
 "Option \"%s\" cannot be included via %%%%IncludeFeature." = "Option “%s” cannot be included via %%%%IncludeFeature.";
 "Options Installed" = "Options Installed";
 "Options:" = "Options:";
+"Other" = "Other";
 "Out of date PPD cache file." = "Out of date PPD cache file.";
 "Out of memory." = "Out of memory.";
 "Output Mode" = "Output Mode";
 "Paper tray is almost empty." = "Paper tray is almost empty.";
 "Paper tray is empty." = "Paper tray is empty.";
 "Paper tray is missing." = "Paper tray is missing.";
+"Parallel Fold" = "Parallel Fold";
 "ParamCustominCutInterval" = "ParamCustominCutInterval";
 "ParamCustominTearInterval" = "ParamCustominTearInterval";
 "Password for %s on %s? " = "Password for %s on %s? ";
 "Postcard Double" = "Postcard Double";
 "Postcard Double Long Edge" = "Postcard Double Long Edge";
 "Postcard Long Edge" = "Postcard Long Edge";
+"Poster Fold" = "Poster Fold";
 "Preparing to print." = "Preparing to print.";
 "Print Density" = "Print Density";
 "Print Job:" = "Print Job:";
 "Print Mode" = "Print Mode";
+"Print Quality" = "Print Quality";
 "Print Rate" = "Print Rate";
 "Print Self-Test Page" = "Print Self-Test Page";
 "Print Speed" = "Print Speed";
 "Printer:" = "Printer:";
 "Printers" = "Printers";
 "Printing page %d, %u%% complete." = "Printing page %d, %u%% complete.";
+"Punch" = "Punch";
 "Quarto" = "Quarto";
 "Quota limit reached." = "Quota limit reached.";
 "Rank    Owner   Job     File(s)                         Total Size" = "Rank    Owner   Job     File(s)                         Total Size";
+"Rear" = "Rear";
 "Reject Jobs" = "Reject Jobs";
 "Remote host did not accept control file (%d)." = "Remote host did not accept control file (%d).";
 "Remote host did not accept data file (%d)." = "Remote host did not accept data file (%d).";
 "Resume Printer" = "Resume Printer";
 "Return Address" = "Return Address";
 "Rewind" = "Rewind";
+"Right" = "Right";
+"Right Gate Fold" = "Right Gate Fold";
+"Roll 1" = "Roll 1";
+"Roll 10" = "Roll 10";
+"Roll 2" = "Roll 2";
+"Roll 3" = "Roll 3";
+"Roll 4" = "Roll 4";
+"Roll 5" = "Roll 5";
+"Roll 6" = "Roll 6";
+"Roll 7" = "Roll 7";
+"Roll 8" = "Roll 8";
+"Roll 9" = "Roll 9";
 "Running command: %s %s -N -A %s -c '%s'" = "Running command: %s %s -N -A %s -c '%s'";
 "SEQUENCE uses indefinite length" = "SEQUENCE uses indefinite length";
 "SSL/TLS Negotiation Error" = "SSL/TLS Negotiation Error";
+"Saddle Stitch" = "Saddle Stitch";
+"Satin Photo" = "Satin Photo";
 "See Other" = "See Other";
 "See remote printer." = "See remote printer.";
+"Semi-Gloss Photo" = "Semi-Gloss Photo";
 "Sending data to printer." = "Sending data to printer.";
 "Server Restarted" = "Server Restarted";
 "Server Security Auditing" = "Server Security Auditing";
 "Set Publishing" = "Set Publishing";
 "Shipping Address" = "Shipping Address";
 "Short-Edge (Landscape)" = "Short-Edge (Landscape)";
+"Side" = "Side";
+"Single Punch (Landscape)" = "Single Punch (Landscape)";
+"Single Punch (Portrait)" = "Single Punch (Portrait)";
+"Single Punch (Reverse Landscape)" = "Single Punch (Reverse Landscape)";
+"Single Punch (Reverse Portrait)" = "Single Punch (Reverse Portrait)";
+"Single Staple (Landscape)" = "Single Staple (Landscape)";
+"Single Staple (Portrait)" = "Single Staple (Portrait)";
+"Single Staple (Reverse Landscape)" = "Single Staple (Reverse Landscape)";
+"Single Staple (Reverse Portrait)" = "Single Staple (Reverse Portrait)";
 "Special Paper" = "Special Paper";
 "Spooling job, %.0f%% complete." = "Spooling job, %.0f%% complete.";
 "Standard" = "Standard";
+"Staple" = "Staple";
+"Staple Edge" = "Staple Edge";
+"Staple Edge (Landscape)" = "Staple Edge (Landscape)";
+"Staple Edge (Portrait)" = "Staple Edge (Portrait)";
+"Staple Edge (Reverse Landscape)" = "Staple Edge (Reverse Landscape)";
+"Staple Edge (Reverse Portrait)" = "Staple Edge (Reverse Portrait)";
 // TRANSLATORS: Banner/cover sheet before the print job.
 "Starting Banner" = "Starting Banner";
 "Starting page %d." = "Starting page %d.";
 "Too many active jobs." = "Too many active jobs.";
 "Too many job-sheets values (%d > 2)." = "Too many job-sheets values (%d > 2).";
 "Too many printer-state-reasons values (%d > %d)." = "Too many printer-state-reasons values (%d > %d).";
+"Top" = "Top";
 "Transparency" = "Transparency";
 "Tray" = "Tray";
 "Tray 1" = "Tray 1";
+"Tray 10" = "Tray 10";
+"Tray 11" = "Tray 11";
+"Tray 12" = "Tray 12";
+"Tray 13" = "Tray 13";
+"Tray 14" = "Tray 14";
+"Tray 15" = "Tray 15";
+"Tray 16" = "Tray 16";
+"Tray 17" = "Tray 17";
+"Tray 18" = "Tray 18";
+"Tray 19" = "Tray 19";
 "Tray 2" = "Tray 2";
+"Tray 20" = "Tray 20";
 "Tray 3" = "Tray 3";
 "Tray 4" = "Tray 4";
+"Tray 5" = "Tray 5";
+"Tray 6" = "Tray 6";
+"Tray 7" = "Tray 7";
+"Tray 8" = "Tray 8";
+"Tray 9" = "Tray 9";
+"Triple Staple (Landscape)" = "Triple Staple (Landscape)";
+"Triple Staple (Portrait)" = "Triple Staple (Portrait)";
+"Triple Staple (Reverse Landscape)" = "Triple Staple (Reverse Landscape)";
+"Triple Staple (Reverse Portrait)" = "Triple Staple (Reverse Portrait)";
 "URI Too Long" = "URI Too Long";
 "URI too large" = "URI too large";
 "US Ledger" = "US Ledger";
 "Usage: cupsfilter [ options ] [ -- ] filename" = "Usage: cupsfilter [ options ] [ -- ] filename";
 "Usage: cupstestdsc [options] filename.ps [... filename.ps]" = "Usage: cupstestdsc [options] filename.ps [… filename.ps]";
 "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]" = "Usage: cupstestppd [options] filename1.ppd[.gz] [… filenameN.ppd[.gz]]";
-"Usage: ippdiscover [options] -a\n       ippdiscover [options] \"service name\"\n\nOptions:" = "Usage: ippdiscover [options] -a\n       ippdiscover [options] “service name”\n\nOptions:";
 "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n       ippfind [options] name[.regtype[.domain.]] ... [expression]\n       ippfind --help\n       ippfind --version" = "Usage: ippfind [options] regtype[,subtype][.domain.] … [expression]\n       ippfind [options] name[.regtype[.domain.]] … [expression]\n       ippfind --help\n       ippfind --version";
 "Usage: ipptool [options] URI filename [ ... filenameN ]" = "Usage: ipptool [options] URI filename [ … filenameN ]";
 "Usage: lpmove job/src dest" = "Usage: lpmove job/src dest";
 "Web Interface is Disabled" = "Web Interface is Disabled";
 "Yes" = "Yes";
 "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>." = "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>.";
+"Z Fold" = "Z Fold";
 "ZPL Label Printer" = "ZPL Label Printer";
 "Zebra" = "Zebra";
 "aborted" = "aborted";
index 94cc3cd78cb49868de66846b7e3508bfb10089bd..e9b0c4006826b347aeea64a7afdf86d23980ee80 100644 (file)
@@ -32,7 +32,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.4.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2016-04-11 20:30-0400\n"
+"POT-Creation-Date: 2016-05-02 18:01-0400\n"
 "PO-Revision-Date: 2012-09-29 11:21+0200\n"
 "Last-Translator: Àngel Mompó <mecatxis@gmail.com>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -1124,9 +1124,6 @@ msgid "  -X                      Produce XML plist instead of plain text."
 msgstr ""
 "  -X                      Retorna els plist en XML en comptes de text pla."
 
-msgid "  -a                      Browse for all services."
-msgstr ""
-
 msgid "  -a                      Export all printers."
 msgstr "  -a                      Exporta totes les impressores."
 
@@ -1143,9 +1140,6 @@ msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr ""
 "  -c cupsd.conf           Estableix el fitxer cupsd.conf que cal fer servir."
 
-msgid "  -d domain               Browse/resolve in specified domain."
-msgstr ""
-
 msgid "  -d name=value           Set named variable to value."
 msgstr "  -d nom=valor           Estableix la variable indicada al valor."
 
@@ -1251,9 +1245,6 @@ msgstr ""
 msgid "  -p filename.ppd         Set PPD file."
 msgstr "  -p nomfitxer.ppd         Estableix el fitxer PPD."
 
-msgid "  -p program              Run specified program for each service."
-msgstr ""
-
 msgid "  -q                      Quietly report match via exit code."
 msgstr ""
 
@@ -1287,9 +1278,6 @@ msgstr ""
 msgid "  -t title                Set title."
 msgstr "  -t títol                Estableix el títol."
 
-msgid "  -t type                 Browse/resolve with specified type."
-msgstr ""
-
 msgid "  -u                      Remove the PPD file when finished."
 msgstr "  -u                      Elimina el fitxer PPD quan ha acabat."
 
@@ -2171,6 +2159,18 @@ msgstr "2"
 msgid "2 inches/sec."
 msgstr "2 polzades/seg."
 
+msgid "2-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "2-Sided Printing"
 msgstr "Impressió a doble cara"
 
@@ -2285,6 +2285,18 @@ msgstr "3 polzades/seg."
 msgid "3 x 5"
 msgstr "3 x 5"
 
+msgid "3-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "3.00x1.00\""
 msgstr "3.00x1.00\""
 
@@ -2351,6 +2363,18 @@ msgstr "4"
 msgid "4 inches/sec."
 msgstr "4 polzades/seg."
 
+msgid "4-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "4.00x1.00\""
 msgstr "4.00x1.00\""
 
@@ -2651,6 +2675,9 @@ msgstr "Accepta feines"
 msgid "Accepted"
 msgstr "Acceptada"
 
+msgid "Accordian Fold"
+msgstr ""
+
 msgid "Add Class"
 msgstr "Afegeix una classe"
 
@@ -2666,6 +2693,12 @@ msgstr "Adreça"
 msgid "Administration"
 msgstr "Administració"
 
+msgid "Alternate"
+msgstr ""
+
+msgid "Alternate Roll"
+msgstr ""
+
 msgid "Always"
 msgstr "Sempre"
 
@@ -2692,6 +2725,9 @@ msgstr ""
 msgid "Attribute groups are out of order (%x < %x)."
 msgstr "Grups d'atribut desordenats (%x < %x)."
 
+msgid "Automatic"
+msgstr ""
+
 msgid "B0"
 msgstr "B0"
 
@@ -2875,19 +2911,46 @@ msgstr "El valor de la cadena és incorrecte"
 msgid "Bad/empty URI"
 msgstr ""
 
+msgid "Bale"
+msgstr ""
+
 msgid "Banners"
 msgstr "Bàners"
 
+msgid "Bind"
+msgstr ""
+
+msgid "Bind (Landscape)"
+msgstr ""
+
+msgid "Bind (Portrait)"
+msgstr ""
+
+msgid "Bind (Reverse Landscape)"
+msgstr ""
+
+msgid "Bind (Reverse Portrait)"
+msgstr ""
+
 msgid "Bond Paper"
 msgstr "Paper de valors"
 
+msgid "Booklet Maker"
+msgstr ""
+
 #, c-format
 msgid "Boolean expected for waiteof option \"%s\"."
 msgstr "S'esperava un booleà per l'opció waiteof «%s»."
 
+msgid "Bottom"
+msgstr ""
+
 msgid "Buffer overflow detected, aborting."
 msgstr "S'ha detectat un desbordament la memòria cau. S'interromp."
 
+msgid "CD/DVD/Bluray"
+msgstr ""
+
 msgid "CMYK"
 msgstr "CMYK"
 
@@ -2909,9 +2972,15 @@ msgstr ""
 msgid "Cannot share a remote Kerberized printer."
 msgstr "No es pot compartir una impressora remota sobre Kerberos."
 
+msgid "Cardstock"
+msgstr ""
+
 msgid "Cassette"
 msgstr "Classet"
 
+msgid "Center"
+msgstr ""
+
 msgid "Change Settings"
 msgstr "Canvia la configuració"
 
@@ -2928,6 +2997,9 @@ msgstr "Neteja els capçals de la impressora"
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr "Close-Job no permet l'ús de l'atribut job-uri."
 
+msgid "Coat"
+msgstr ""
+
 msgid "Color"
 msgstr "Color"
 
@@ -2964,6 +3036,9 @@ msgstr "El fitxer de control s'ha enviat correctament."
 msgid "Copying print data."
 msgstr "Es copien les dades d'impressió."
 
+msgid "Cover"
+msgstr ""
+
 msgid "Created"
 msgstr "Creat"
 
@@ -2979,6 +3054,9 @@ msgstr "CustominTearInterval"
 msgid "Cut"
 msgstr "Tall"
 
+msgid "Cut Media"
+msgstr ""
+
 msgid "Cutter"
 msgstr "Ganiveta"
 
@@ -3046,10 +3124,31 @@ msgstr "El directori «%s» té els permisos correctes (0%o/uid=%d/gid=%d)."
 msgid "Disabled"
 msgstr "Desabilitat"
 
+msgid "Disc"
+msgstr ""
+
 #, c-format
 msgid "Document #%d does not exist in job #%d."
 msgstr "No s'ha trobat el document #%d a la feina #%d."
 
+msgid "Double Gate Fold"
+msgstr ""
+
+msgid "Double Staple (Landscape)"
+msgstr ""
+
+msgid "Double Staple (Portrait)"
+msgstr ""
+
+msgid "Double Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Double Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "Draft"
+msgstr ""
+
 msgid "Duplexer"
 msgstr "Unitat d'impressió a dues cares"
 
@@ -3088,6 +3187,9 @@ msgstr ""
 "l'autenticació Kerberos, assegureu-vos de tenir un tiquet Kerberos que sigui "
 "vàlid."
 
+msgid "Envelope"
+msgstr ""
+
 msgid "Envelope #10"
 msgstr ""
 
@@ -3319,6 +3421,9 @@ msgstr "Paper continu legal alemany"
 msgid "Fanfold US"
 msgstr "Paper continu americà"
 
+msgid "Fast Grayscale"
+msgstr ""
+
 #, c-format
 msgid "File \"%s\" contains a relative path."
 msgstr "El fitxer «%s» conté un camí relatiu."
@@ -3352,12 +3457,21 @@ msgstr ""
 msgid "Finished page %d."
 msgstr "S'ha acabat la pàgina %d."
 
+msgid "Finishing"
+msgstr ""
+
+msgid "Fold"
+msgstr ""
+
 msgid "Folio"
 msgstr "Foli"
 
 msgid "Forbidden"
 msgstr "Prohibit"
 
+msgid "Gate Fold"
+msgstr ""
+
 msgid "General"
 msgstr "General"
 
@@ -3370,6 +3484,9 @@ msgstr "La Get-Response-PDU fa servir una longitud indefinida"
 msgid "Glossy Paper"
 msgstr "Paper fotogràfic"
 
+msgid "Glossy Photo"
+msgstr ""
+
 msgid "Got a printer-uri attribute but no job-id."
 msgstr "S'ha obtingut l'atribut printer-uri però no el job-id."
 
@@ -3379,6 +3496,15 @@ msgstr "Escala de grisos"
 msgid "HP"
 msgstr "HP"
 
+msgid "Hagaki"
+msgstr ""
+
+msgid "Half Fold"
+msgstr ""
+
+msgid "Half Z Fold"
+msgstr ""
+
 msgid "Hanging Folder"
 msgstr "Carpeta per penjar"
 
@@ -3388,6 +3514,12 @@ msgstr ""
 msgid "Help file not in index."
 msgstr "El fitxer d'ajuda no és a l'índex."
 
+msgid "High"
+msgstr ""
+
+msgid "High-Gloss Photo"
+msgstr ""
+
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr ""
 "L'atribut 1setOf del IPP té etiquetes amb valors que no són compatibles."
@@ -3626,15 +3758,24 @@ msgstr "Les subscripcions a les feines no es poden renovar."
 msgid "Jobs"
 msgstr "Feines"
 
+msgid "Jog"
+msgstr ""
+
 msgid "LPD/LPR Host or Printer"
 msgstr "Amfitrió o impressora LPD/LPR"
 
+msgid "Label"
+msgstr ""
+
 msgid "Label Printer"
 msgstr "Impressora d'etiquetes"
 
 msgid "Label Top"
 msgstr "Capçalera de l'etiqueta"
 
+msgid "Laminate"
+msgstr ""
+
 #, c-format
 msgid "Language \"%s\" not supported."
 msgstr "L'idioma «%s» no està disponible."
@@ -3642,15 +3783,30 @@ msgstr "L'idioma «%s» no està disponible."
 msgid "Large Address"
 msgstr "Adreça gran"
 
+msgid "Large Capacity"
+msgstr ""
+
 msgid "LaserJet Series PCL 4/5"
 msgstr "Sèrie Laser Jet PCL 4/5"
 
+msgid "Left"
+msgstr ""
+
+msgid "Left Gate Fold"
+msgstr ""
+
+msgid "Letter Fold"
+msgstr ""
+
 msgid "Letter Oversize"
 msgstr "Carta gran"
 
 msgid "Letter Oversize Long Edge"
 msgstr "Carta americà gran costat llarg"
 
+msgid "Letterhead"
+msgstr ""
+
 msgid "Light"
 msgstr "Lluminós"
 
@@ -3672,9 +3828,21 @@ msgstr "Costat-llarg (vertical)"
 msgid "Looking for printer..."
 msgstr ""
 
+msgid "Main"
+msgstr ""
+
+msgid "Main Roll"
+msgstr ""
+
+msgid "Manual"
+msgstr ""
+
 msgid "Manual Feed"
 msgstr "Alimentació manual"
 
+msgid "Matte Photo"
+msgstr ""
+
 msgid "Media Size"
 msgstr "Mida del paper"
 
@@ -3693,6 +3861,9 @@ msgstr "Mitjà"
 msgid "Memory allocation error"
 msgstr "S'ha produït un error d'ubicació de memòria"
 
+msgid "Middle"
+msgstr ""
+
 msgid "Missing CloseGroup"
 msgstr "Falta el CloseGroup"
 
@@ -3786,6 +3957,9 @@ msgstr "Mou la feina"
 msgid "Moved Permanently"
 msgstr "S'ha mogut de manera permanent"
 
+msgid "Multipurpose"
+msgstr ""
+
 msgid "NULL PPD file pointer"
 msgstr "Punter del fitxer PPD NUL"
 
@@ -3804,6 +3978,9 @@ msgstr "No"
 msgid "No Content"
 msgstr "No hi ha contingut"
 
+msgid "No Finishing"
+msgstr ""
+
 msgid "No PPD name"
 msgstr "El PPD no té nom"
 
@@ -3971,6 +4148,9 @@ msgstr "Opcions instal·lades"
 msgid "Options:"
 msgstr "Opcions:"
 
+msgid "Other"
+msgstr ""
+
 msgid "Out of date PPD cache file."
 msgstr "El fitxer de memòria cau del PPD no està actualitzat."
 
@@ -4031,6 +4211,9 @@ msgstr ""
 msgid "Paper tray is missing."
 msgstr ""
 
+msgid "Parallel Fold"
+msgstr ""
+
 msgid "ParamCustominCutInterval"
 msgstr "ParamCustominCutInterval"
 
@@ -4084,6 +4267,9 @@ msgstr "Postal doble costat llarg"
 msgid "Postcard Long Edge"
 msgstr "Postal costat llarg"
 
+msgid "Poster Fold"
+msgstr ""
+
 msgid "Preparing to print."
 msgstr ""
 
@@ -4096,6 +4282,9 @@ msgstr "Feina d'impressió:"
 msgid "Print Mode"
 msgstr "Mode d'impressió"
 
+msgid "Print Quality"
+msgstr ""
+
 msgid "Print Rate"
 msgstr "Ritme d'impressió"
 
@@ -4164,6 +4353,9 @@ msgstr "Impressores"
 msgid "Printing page %d, %u%% complete."
 msgstr ""
 
+msgid "Punch"
+msgstr ""
+
 msgid "Quarto"
 msgstr "Quart"
 
@@ -4174,6 +4366,9 @@ msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr ""
 "Rang    Propietari   Feina     Fitxer(s)                         Mida total"
 
+msgid "Rear"
+msgstr ""
+
 msgid "Reject Jobs"
 msgstr "Rebutja feines"
 
@@ -4206,6 +4401,42 @@ msgstr "Remitent"
 msgid "Rewind"
 msgstr "Rebobina"
 
+msgid "Right"
+msgstr ""
+
+msgid "Right Gate Fold"
+msgstr ""
+
+msgid "Roll 1"
+msgstr ""
+
+msgid "Roll 10"
+msgstr ""
+
+msgid "Roll 2"
+msgstr ""
+
+msgid "Roll 3"
+msgstr ""
+
+msgid "Roll 4"
+msgstr ""
+
+msgid "Roll 5"
+msgstr ""
+
+msgid "Roll 6"
+msgstr ""
+
+msgid "Roll 7"
+msgstr ""
+
+msgid "Roll 8"
+msgstr ""
+
+msgid "Roll 9"
+msgstr ""
+
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
 msgstr "S'està executant l'ordre: %s %s -N -A %s -c «%s»"
@@ -4216,12 +4447,21 @@ msgstr "SEQUENCE té una longitud indefinida"
 msgid "SSL/TLS Negotiation Error"
 msgstr "S'ha produït un error mentre es negociava el SSL/TLS"
 
+msgid "Saddle Stitch"
+msgstr ""
+
+msgid "Satin Photo"
+msgstr ""
+
 msgid "See Other"
 msgstr "Vegeu altres"
 
 msgid "See remote printer."
 msgstr ""
 
+msgid "Semi-Gloss Photo"
+msgstr ""
+
 msgid "Sending data to printer."
 msgstr "S'envien les dades a la impressora."
 
@@ -4264,6 +4504,33 @@ msgstr "Adreça de lliurament"
 msgid "Short-Edge (Landscape)"
 msgstr "Costat curt (horitzontal)"
 
+msgid "Side"
+msgstr ""
+
+msgid "Single Punch (Landscape)"
+msgstr ""
+
+msgid "Single Punch (Portrait)"
+msgstr ""
+
+msgid "Single Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "Single Staple (Landscape)"
+msgstr ""
+
+msgid "Single Staple (Portrait)"
+msgstr ""
+
+msgid "Single Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "Special Paper"
 msgstr "Paper especial"
 
@@ -4274,6 +4541,24 @@ msgstr "S'està posant a la cua la feina. S'ha completat el %.0f%%."
 msgid "Standard"
 msgstr "Estàndard"
 
+msgid "Staple"
+msgstr ""
+
+msgid "Staple Edge"
+msgstr ""
+
+msgid "Staple Edge (Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Portrait)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Portrait)"
+msgstr ""
+
 #. TRANSLATORS: Banner/cover sheet before the print job.
 msgid "Starting Banner"
 msgstr "Bàner inicial"
@@ -4516,6 +4801,9 @@ msgstr "Hi ha massa valors de job-sheets (%d > 2)."
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr "Hi ha massa valors de printer-state-reasons (%d > %d)."
 
+msgid "Top"
+msgstr ""
+
 msgid "Transparency"
 msgstr "Transparència"
 
@@ -4525,15 +4813,75 @@ msgstr "Safata"
 msgid "Tray 1"
 msgstr "Safata 1"
 
+msgid "Tray 10"
+msgstr ""
+
+msgid "Tray 11"
+msgstr ""
+
+msgid "Tray 12"
+msgstr ""
+
+msgid "Tray 13"
+msgstr ""
+
+msgid "Tray 14"
+msgstr ""
+
+msgid "Tray 15"
+msgstr ""
+
+msgid "Tray 16"
+msgstr ""
+
+msgid "Tray 17"
+msgstr ""
+
+msgid "Tray 18"
+msgstr ""
+
+msgid "Tray 19"
+msgstr ""
+
 msgid "Tray 2"
 msgstr "Safata 2"
 
+msgid "Tray 20"
+msgstr ""
+
 msgid "Tray 3"
 msgstr "Safata 3"
 
 msgid "Tray 4"
 msgstr "Safata 4"
 
+msgid "Tray 5"
+msgstr ""
+
+msgid "Tray 6"
+msgstr ""
+
+msgid "Tray 7"
+msgstr ""
+
+msgid "Tray 8"
+msgstr ""
+
+msgid "Tray 9"
+msgstr ""
+
+msgid "Triple Staple (Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Portrait)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "URI Too Long"
 msgstr "L'URI és massa llarg"
 
@@ -5042,13 +5390,6 @@ msgid ""
 msgstr ""
 "Sintaxi: cupstestppd [opcions] nomfitxer1.ppd[.gz] [... nomfitxerN.ppd[.gz]]"
 
-msgid ""
-"Usage: ippdiscover [options] -a\n"
-"       ippdiscover [options] \"service name\"\n"
-"\n"
-"Options:"
-msgstr ""
-
 msgid ""
 "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
 "       ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
@@ -5134,6 +5475,9 @@ msgstr ""
 "Heu d'accedir a aquesta pagina a través de la URL <A HREF=\"https://%s:%d%s"
 "\">https://%s:%d%s</A>."
 
+msgid "Z Fold"
+msgstr ""
+
 msgid "ZPL Label Printer"
 msgstr "Impressora d'etiquetes ZPL"
 
index db85aa8244ce7d7f6e69025763e8b9036eaa56c9..03633423428c2bc30cbed200275dd595c537d416 100644 (file)
@@ -29,7 +29,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2016-04-11 20:30-0400\n"
+"POT-Creation-Date: 2016-05-02 18:01-0400\n"
 "PO-Revision-Date: 2012-09-14 10:26+0100\n"
 "Last-Translator: Jan Bartos <jan.bartos@madeta.cz>\n"
 "Language-Team: Czech\n"
@@ -967,9 +967,6 @@ msgstr ""
 msgid "  -X                      Produce XML plist instead of plain text."
 msgstr ""
 
-msgid "  -a                      Browse for all services."
-msgstr ""
-
 msgid "  -a                      Export all printers."
 msgstr ""
 
@@ -985,9 +982,6 @@ msgstr ""
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr ""
 
-msgid "  -d domain               Browse/resolve in specified domain."
-msgstr ""
-
 msgid "  -d name=value           Set named variable to value."
 msgstr ""
 
@@ -1075,9 +1069,6 @@ msgstr ""
 msgid "  -p filename.ppd         Set PPD file."
 msgstr ""
 
-msgid "  -p program              Run specified program for each service."
-msgstr ""
-
 msgid "  -q                      Quietly report match via exit code."
 msgstr ""
 
@@ -1111,9 +1102,6 @@ msgstr ""
 msgid "  -t title                Set title."
 msgstr ""
 
-msgid "  -t type                 Browse/resolve with specified type."
-msgstr ""
-
 msgid "  -u                      Remove the PPD file when finished."
 msgstr ""
 
@@ -1983,6 +1971,18 @@ msgstr "2"
 msgid "2 inches/sec."
 msgstr "2 palce/sek."
 
+msgid "2-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "2-Sided Printing"
 msgstr "oboustranný tisk"
 
@@ -2097,6 +2097,18 @@ msgstr "3 palce/sek."
 msgid "3 x 5"
 msgstr ""
 
+msgid "3-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "3.00x1.00\""
 msgstr "3.00x1.00\""
 
@@ -2163,6 +2175,18 @@ msgstr "4"
 msgid "4 inches/sec."
 msgstr "4 palce/sek."
 
+msgid "4-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "4.00x1.00\""
 msgstr "4.00x1.00\""
 
@@ -2459,6 +2483,9 @@ msgstr "Příjem úloh"
 msgid "Accepted"
 msgstr "Přijatý"
 
+msgid "Accordian Fold"
+msgstr ""
+
 msgid "Add Class"
 msgstr "Přidat třídu"
 
@@ -2474,6 +2501,12 @@ msgstr "Adresa"
 msgid "Administration"
 msgstr "Administrace"
 
+msgid "Alternate"
+msgstr ""
+
+msgid "Alternate Roll"
+msgstr ""
+
 msgid "Always"
 msgstr "Vždy"
 
@@ -2499,6 +2532,9 @@ msgstr ""
 msgid "Attribute groups are out of order (%x < %x)."
 msgstr ""
 
+msgid "Automatic"
+msgstr ""
+
 msgid "B0"
 msgstr "B0"
 
@@ -2682,19 +2718,46 @@ msgstr ""
 msgid "Bad/empty URI"
 msgstr ""
 
+msgid "Bale"
+msgstr ""
+
 msgid "Banners"
 msgstr "Banery"
 
+msgid "Bind"
+msgstr ""
+
+msgid "Bind (Landscape)"
+msgstr ""
+
+msgid "Bind (Portrait)"
+msgstr ""
+
+msgid "Bind (Reverse Landscape)"
+msgstr ""
+
+msgid "Bind (Reverse Portrait)"
+msgstr ""
+
 msgid "Bond Paper"
 msgstr "Kancelářský papír"
 
+msgid "Booklet Maker"
+msgstr ""
+
 #, c-format
 msgid "Boolean expected for waiteof option \"%s\"."
 msgstr ""
 
+msgid "Bottom"
+msgstr ""
+
 msgid "Buffer overflow detected, aborting."
 msgstr ""
 
+msgid "CD/DVD/Bluray"
+msgstr ""
+
 msgid "CMYK"
 msgstr "CMYK"
 
@@ -2716,9 +2779,15 @@ msgstr ""
 msgid "Cannot share a remote Kerberized printer."
 msgstr ""
 
+msgid "Cardstock"
+msgstr ""
+
 msgid "Cassette"
 msgstr ""
 
+msgid "Center"
+msgstr ""
+
 msgid "Change Settings"
 msgstr "Změna nastavení"
 
@@ -2735,6 +2804,9 @@ msgstr "Vyčištění tiskových hlav"
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr ""
 
+msgid "Coat"
+msgstr ""
+
 msgid "Color"
 msgstr "Barva"
 
@@ -2768,6 +2840,9 @@ msgstr ""
 msgid "Copying print data."
 msgstr ""
 
+msgid "Cover"
+msgstr ""
+
 msgid "Created"
 msgstr "Vytvořeno"
 
@@ -2783,6 +2858,9 @@ msgstr "CustominTearInterval"
 msgid "Cut"
 msgstr "Snížit"
 
+msgid "Cut Media"
+msgstr ""
+
 msgid "Cutter"
 msgstr "Výstřižek"
 
@@ -2844,10 +2922,31 @@ msgstr ""
 msgid "Disabled"
 msgstr "Zakázaný"
 
+msgid "Disc"
+msgstr ""
+
 #, c-format
 msgid "Document #%d does not exist in job #%d."
 msgstr ""
 
+msgid "Double Gate Fold"
+msgstr ""
+
+msgid "Double Staple (Landscape)"
+msgstr ""
+
+msgid "Double Staple (Portrait)"
+msgstr ""
+
+msgid "Double Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Double Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "Draft"
+msgstr ""
+
 msgid "Duplexer"
 msgstr "Duplexní jednotka"
 
@@ -2885,6 +2984,9 @@ msgstr ""
 "administrátora pro přístup na tuto stránku. Pokud používáte ověřování "
 "Kerberos, ujistěte se, že máte platný ticket Kerberosu."
 
+msgid "Envelope"
+msgstr ""
+
 msgid "Envelope #10"
 msgstr ""
 
@@ -3116,6 +3218,9 @@ msgstr ""
 msgid "Fanfold US"
 msgstr ""
 
+msgid "Fast Grayscale"
+msgstr ""
+
 #, c-format
 msgid "File \"%s\" contains a relative path."
 msgstr ""
@@ -3149,12 +3254,21 @@ msgstr ""
 msgid "Finished page %d."
 msgstr ""
 
+msgid "Finishing"
+msgstr ""
+
+msgid "Fold"
+msgstr ""
+
 msgid "Folio"
 msgstr "Fólie"
 
 msgid "Forbidden"
 msgstr "Zakázaný"
 
+msgid "Gate Fold"
+msgstr ""
+
 msgid "General"
 msgstr "Obecný"
 
@@ -3167,6 +3281,9 @@ msgstr "\"Get-Response-PDU\" má neomezenou délku"
 msgid "Glossy Paper"
 msgstr "Lesklý papír"
 
+msgid "Glossy Photo"
+msgstr ""
+
 msgid "Got a printer-uri attribute but no job-id."
 msgstr ""
 
@@ -3176,6 +3293,15 @@ msgstr "Stupně šedi"
 msgid "HP"
 msgstr "HP"
 
+msgid "Hagaki"
+msgstr ""
+
+msgid "Half Fold"
+msgstr ""
+
+msgid "Half Z Fold"
+msgstr ""
+
 msgid "Hanging Folder"
 msgstr "Závěsná složka"
 
@@ -3185,6 +3311,12 @@ msgstr ""
 msgid "Help file not in index."
 msgstr ""
 
+msgid "High"
+msgstr ""
+
+msgid "High-Gloss Photo"
+msgstr ""
+
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr ""
 
@@ -3420,15 +3552,24 @@ msgstr ""
 msgid "Jobs"
 msgstr "Úlohy"
 
+msgid "Jog"
+msgstr ""
+
 msgid "LPD/LPR Host or Printer"
 msgstr "LPD/LPR hostitel nebo tiskárna"
 
+msgid "Label"
+msgstr ""
+
 msgid "Label Printer"
 msgstr "Tiskárna štítků"
 
 msgid "Label Top"
 msgstr "Horní štítek"
 
+msgid "Laminate"
+msgstr ""
+
 #, c-format
 msgid "Language \"%s\" not supported."
 msgstr ""
@@ -3436,15 +3577,30 @@ msgstr ""
 msgid "Large Address"
 msgstr "Plná adresa"
 
+msgid "Large Capacity"
+msgstr ""
+
 msgid "LaserJet Series PCL 4/5"
 msgstr "LaserJet Serie PCL 4/5"
 
+msgid "Left"
+msgstr ""
+
+msgid "Left Gate Fold"
+msgstr ""
+
+msgid "Letter Fold"
+msgstr ""
+
 msgid "Letter Oversize"
 msgstr ""
 
 msgid "Letter Oversize Long Edge"
 msgstr ""
 
+msgid "Letterhead"
+msgstr ""
+
 msgid "Light"
 msgstr "Světlý"
 
@@ -3466,9 +3622,21 @@ msgstr "Delší okraj (na výšku)"
 msgid "Looking for printer..."
 msgstr ""
 
+msgid "Main"
+msgstr ""
+
+msgid "Main Roll"
+msgstr ""
+
+msgid "Manual"
+msgstr ""
+
 msgid "Manual Feed"
 msgstr "Ruční podávání"
 
+msgid "Matte Photo"
+msgstr ""
+
 msgid "Media Size"
 msgstr "Velikost média"
 
@@ -3487,6 +3655,9 @@ msgstr "Střední"
 msgid "Memory allocation error"
 msgstr "Chyba přidělení paměti"
 
+msgid "Middle"
+msgstr ""
+
 msgid "Missing CloseGroup"
 msgstr ""
 
@@ -3576,6 +3747,9 @@ msgstr "Přesun úlohy"
 msgid "Moved Permanently"
 msgstr "Trvale přesunuto"
 
+msgid "Multipurpose"
+msgstr ""
+
 msgid "NULL PPD file pointer"
 msgstr "Prázdný ukazatel PPD souboru"
 
@@ -3594,6 +3768,9 @@ msgstr "Ne"
 msgid "No Content"
 msgstr "Žádný obsah"
 
+msgid "No Finishing"
+msgstr ""
+
 msgid "No PPD name"
 msgstr ""
 
@@ -3758,6 +3935,9 @@ msgstr "Instalované možnosti"
 msgid "Options:"
 msgstr ""
 
+msgid "Other"
+msgstr ""
+
 msgid "Out of date PPD cache file."
 msgstr ""
 
@@ -3818,6 +3998,9 @@ msgstr ""
 msgid "Paper tray is missing."
 msgstr ""
 
+msgid "Parallel Fold"
+msgstr ""
+
 msgid "ParamCustominCutInterval"
 msgstr "ParamCustominCutInterval"
 
@@ -3871,6 +4054,9 @@ msgstr ""
 msgid "Postcard Long Edge"
 msgstr ""
 
+msgid "Poster Fold"
+msgstr ""
+
 msgid "Preparing to print."
 msgstr ""
 
@@ -3883,6 +4069,9 @@ msgstr "Tisk úlohy:"
 msgid "Print Mode"
 msgstr "Režim tisku"
 
+msgid "Print Quality"
+msgstr ""
+
 msgid "Print Rate"
 msgstr "Kvalita tisku"
 
@@ -3951,6 +4140,9 @@ msgstr "Tiskárny"
 msgid "Printing page %d, %u%% complete."
 msgstr ""
 
+msgid "Punch"
+msgstr ""
+
 msgid "Quarto"
 msgstr "Quarto"
 
@@ -3960,6 +4152,9 @@ msgstr "Kvóta byla překročena."
 msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr ""
 
+msgid "Rear"
+msgstr ""
+
 msgid "Reject Jobs"
 msgstr "Odmítnutí úloh"
 
@@ -3992,6 +4187,42 @@ msgstr "Návrat adresy"
 msgid "Rewind"
 msgstr "Přetočit"
 
+msgid "Right"
+msgstr ""
+
+msgid "Right Gate Fold"
+msgstr ""
+
+msgid "Roll 1"
+msgstr ""
+
+msgid "Roll 10"
+msgstr ""
+
+msgid "Roll 2"
+msgstr ""
+
+msgid "Roll 3"
+msgstr ""
+
+msgid "Roll 4"
+msgstr ""
+
+msgid "Roll 5"
+msgstr ""
+
+msgid "Roll 6"
+msgstr ""
+
+msgid "Roll 7"
+msgstr ""
+
+msgid "Roll 8"
+msgstr ""
+
+msgid "Roll 9"
+msgstr ""
+
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
 msgstr ""
@@ -4002,12 +4233,21 @@ msgstr "\"SEQUENCE\" má neomezenou délku"
 msgid "SSL/TLS Negotiation Error"
 msgstr ""
 
+msgid "Saddle Stitch"
+msgstr ""
+
+msgid "Satin Photo"
+msgstr ""
+
 msgid "See Other"
 msgstr "Viz další"
 
 msgid "See remote printer."
 msgstr ""
 
+msgid "Semi-Gloss Photo"
+msgstr ""
+
 msgid "Sending data to printer."
 msgstr ""
 
@@ -4050,6 +4290,33 @@ msgstr "Doručovací adresa"
 msgid "Short-Edge (Landscape)"
 msgstr "Kratší okraj (na šířku)"
 
+msgid "Side"
+msgstr ""
+
+msgid "Single Punch (Landscape)"
+msgstr ""
+
+msgid "Single Punch (Portrait)"
+msgstr ""
+
+msgid "Single Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "Single Staple (Landscape)"
+msgstr ""
+
+msgid "Single Staple (Portrait)"
+msgstr ""
+
+msgid "Single Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "Special Paper"
 msgstr "Speciální papír"
 
@@ -4060,6 +4327,24 @@ msgstr ""
 msgid "Standard"
 msgstr "Standardní"
 
+msgid "Staple"
+msgstr ""
+
+msgid "Staple Edge"
+msgstr ""
+
+msgid "Staple Edge (Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Portrait)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Portrait)"
+msgstr ""
+
 #. TRANSLATORS: Banner/cover sheet before the print job.
 msgid "Starting Banner"
 msgstr "Spuštění baneru"
@@ -4292,6 +4577,9 @@ msgstr ""
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr ""
 
+msgid "Top"
+msgstr ""
+
 msgid "Transparency"
 msgstr "Průhlednost"
 
@@ -4301,15 +4589,75 @@ msgstr "Podavač"
 msgid "Tray 1"
 msgstr "Podavač 1"
 
+msgid "Tray 10"
+msgstr ""
+
+msgid "Tray 11"
+msgstr ""
+
+msgid "Tray 12"
+msgstr ""
+
+msgid "Tray 13"
+msgstr ""
+
+msgid "Tray 14"
+msgstr ""
+
+msgid "Tray 15"
+msgstr ""
+
+msgid "Tray 16"
+msgstr ""
+
+msgid "Tray 17"
+msgstr ""
+
+msgid "Tray 18"
+msgstr ""
+
+msgid "Tray 19"
+msgstr ""
+
 msgid "Tray 2"
 msgstr "Podavač 2"
 
+msgid "Tray 20"
+msgstr ""
+
 msgid "Tray 3"
 msgstr "Podavač 3"
 
 msgid "Tray 4"
 msgstr "Podavač 4"
 
+msgid "Tray 5"
+msgstr ""
+
+msgid "Tray 6"
+msgstr ""
+
+msgid "Tray 7"
+msgstr ""
+
+msgid "Tray 8"
+msgstr ""
+
+msgid "Tray 9"
+msgstr ""
+
+msgid "Triple Staple (Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Portrait)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "URI Too Long"
 msgstr "URI je příliš dlouhá"
 
@@ -4779,13 +5127,6 @@ msgid ""
 "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
 msgstr ""
 
-msgid ""
-"Usage: ippdiscover [options] -a\n"
-"       ippdiscover [options] \"service name\"\n"
-"\n"
-"Options:"
-msgstr ""
-
 msgid ""
 "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
 "       ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
@@ -4864,6 +5205,9 @@ msgstr ""
 "Pro přístup k této stránce, použijte adresu URL <A HREF=\"https://%s:%d%s"
 "\">https://%s:%d%s</A>."
 
+msgid "Z Fold"
+msgstr ""
+
 msgid "ZPL Label Printer"
 msgstr "Tiskárna štítků ZPL"
 
index caf0833ebf0c49a4056d361d1c419412dd5f6eaf..088495ae0ff56303e2e5c716a4b503b4aabb433e 100644 (file)
@@ -29,7 +29,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 2.0\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2015-07-20 14:24-0400\n"
+"POT-Creation-Date: 2016-05-02 18:01-0400\n"
 "PO-Revision-Date: 2016-04-22 12:25+0100\n"
 "Last-Translator: Joachim Schwender <joachim.schwender@web.de>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -97,10 +97,6 @@ msgstr "\tErlaubte Formblätter:"
 msgid "\tInterface: %s.ppd"
 msgstr "\tSchnittstelle: %s.ppd"
 
-#, c-format
-msgid "\tInterface: %s/interfaces/%s"
-msgstr "\tSchnittstelle: %s/interfaces/%s"
-
 #, c-format
 msgid "\tInterface: %s/ppd/%s.ppd"
 msgstr "\tSchnittstelle: %s/ppp/%s.ppd"
@@ -271,13 +267,15 @@ msgid ""
 msgstr ""
 
 msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
-msgstr "        WARN    Datei einthält gemischt CR, LF, und CR LF Zeilenmenden."
+msgstr ""
+"        WARN    Datei einthält gemischt CR, LF, und CR LF Zeilenmenden."
 
 msgid ""
 "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
 "                REF: Pages 56-57, section 5.3."
 msgstr ""
-"        WARN    LanguageEncoding ist erforderlich gem. PPD 4.3 Spezifikation.\n"
+"        WARN    LanguageEncoding ist erforderlich gem. PPD 4.3 "
+"Spezifikation.\n"
 "                REF: Seiten 56-57, Kap. 5.3."
 
 #, c-format
@@ -293,8 +291,8 @@ msgid ""
 "        WARN    Non-Windows PPD files should use lines ending with only LF, "
 "not CR LF."
 msgstr ""
-"        WARN    Nicht-Windows PPD Dateien sollten ausschliesslich LF Zeilenenden"
-" verwenden, nicht CR LF."
+"        WARN    Nicht-Windows PPD Dateien sollten ausschliesslich LF "
+"Zeilenenden verwenden, nicht CR LF."
 
 #, c-format
 msgid ""
@@ -362,11 +360,14 @@ msgstr ""
 
 #, c-format
 msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
-msgstr "      %s  Ungültige UTF-8 »%s« Zeichenkette zur Übersetzung der Option %s, Auswahl %s."
+msgstr ""
+"      %s  Ungültige UTF-8 »%s« Zeichenkette zur Übersetzung der Option %s, "
+"Auswahl %s."
 
 #, c-format
 msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
-msgstr "      %s  Ungültige UTF-8 »%s« Zeichenkette zur Übersetzung der Option %s."
+msgstr ""
+"      %s  Ungültige UTF-8 »%s« Zeichenkette zur Übersetzung der Option %s."
 
 #, c-format
 msgid "      %s  Bad cupsFilter value \"%s\"."
@@ -829,7 +830,8 @@ msgstr "  --crlf                  Zeilenenden mit CR+LF (Windows)"
 
 msgid "  --domain regex          Match domain to regular expression."
 msgstr ""
-"  --domain regex          Prüfe die Domäne aud Übereinstimmung mit regulärem Ausdruck"
+"  --domain regex          Prüfe die Domäne aud Übereinstimmung mit regulärem "
+"Ausdruck"
 
 msgid ""
 "  --exec utility [argument ...] ;\n"
@@ -863,16 +865,22 @@ msgid "  --ls                    List attributes."
 msgstr "  --ls                    Liste Attribute auf."
 
 msgid "  --name regex            Match service name to regular expression."
-msgstr "  --name regex            Vergleiche den Dienstnamen mit dem regulären Ausdruck."
+msgstr ""
+"  --name regex            Vergleiche den Dienstnamen mit dem regulären "
+"Ausdruck."
 
 msgid "  --not expression        Unary NOT of expression."
 msgstr "  --not expression        Logische Negation eines Ausdrucks."
 
 msgid "  --path regex            Match resource path to regular expression."
-msgstr "  --path regex            Vergleiche den Resourcenpfad mit dem regulären Ausdruck."
+msgstr ""
+"  --path regex            Vergleiche den Resourcenpfad mit dem regulären "
+"Ausdruck."
 
 msgid "  --port number[-number]  Match port to number or range."
-msgstr "  --port number[-number]  Vergleiche den Port mit der Nummer oder dem Bereich."
+msgstr ""
+"  --port number[-number]  Vergleiche den Port mit der Nummer oder dem "
+"Bereich."
 
 msgid "  --print                 Print URI if true."
 msgstr "  --print                 Drucke URI wenn wahr."
@@ -895,13 +903,16 @@ msgid "  --true                  Always true."
 msgstr "  --true                  immer wahr."
 
 msgid "  --txt key               True if the TXT record contains the key."
-msgstr "  --txt key               Wahr wenn der TXT Eintrag den Schlüssel enthält."
+msgstr ""
+"  --txt key               Wahr wenn der TXT Eintrag den Schlüssel enthält."
 
 msgid "  --txt-* regex           Match TXT record key to regular expression."
 msgstr ""
 
 msgid "  --uri regex             Match URI to regular expression."
-msgstr "  --uri regex             Prüft die URI auf Übereinstimmung mit dem regulären Ausdruck."
+msgstr ""
+"  --uri regex             Prüft die URI auf Übereinstimmung mit dem "
+"regulären Ausdruck."
 
 msgid "  --version               Show program version."
 msgstr "  --version               Zeigfe die Programmversion."
@@ -943,7 +954,8 @@ msgid "  -I                      Ignore errors."
 msgstr "  -I                      Ignoriere Fehler."
 
 msgid "  -I include-dir          Add include directory to search path."
-msgstr "  -I Inklus.Verz.         Inklusionsverzeichnis dem Suchpfad hinzufügen."
+msgstr ""
+"  -I Inklus.Verz.         Inklusionsverzeichnis dem Suchpfad hinzufügen."
 
 msgid "  -I {filename,filters,none,profiles}"
 msgstr ""
@@ -960,19 +972,26 @@ msgid "  -P filename.ppd         Set PPD file."
 msgstr "  -P filename.ppd         Lege PPD Datei fest."
 
 msgid "  -P number[-number]      Match port to number or range."
-msgstr "  -P number[-Nummer]      Prüft die Portnummer auf Übereinstimmung mit dem regulären Ausdruck."
+msgstr ""
+"  -P number[-Nummer]      Prüft die Portnummer auf Übereinstimmung mit dem "
+"regulären Ausdruck."
 
 msgid "  -R root-directory       Set alternate root."
-msgstr "  -R root-Verz.           Legt ein alternatives Wurzelverzeichnis fest."
+msgstr ""
+"  -R root-Verz.           Legt ein alternatives Wurzelverzeichnis fest."
 
 msgid "  -S                      Test with SSL encryption."
 msgstr "  -S                      Teste mit SSL Verschlüsselung."
 
 msgid "  -T seconds              Set the browse timeout in seconds."
-msgstr "  -T Sekunden              Legt die Zeitüberschreitung für das Browsen in s fest."
+msgstr ""
+"  -T Sekunden              Legt die Zeitüberschreitung für das Browsen in s "
+"fest."
 
 msgid "  -T seconds              Set the receive/send timeout in seconds."
-msgstr "  -T Sekunden             Legt die Sende-/Empfangs-Zeitüberschreitung in s fest."
+msgstr ""
+"  -T Sekunden             Legt die Sende-/Empfangs-Zeitüberschreitung in s "
+"fest."
 
 msgid "  -U username             Specify username."
 msgstr "  -U username             Gebe den Benutzernamen an."
@@ -988,9 +1007,6 @@ msgstr ""
 msgid "  -X                      Produce XML plist instead of plain text."
 msgstr "  -X                      Erzeuge XML-Ausgaben anstatt von Text."
 
-msgid "  -a                      Browse for all services."
-msgstr "  -a                      Browse für alle Dienste."
-
 msgid "  -a                      Export all printers."
 msgstr "  -a                      Exportiere alle Drucker."
 
@@ -1007,9 +1023,6 @@ msgstr ""
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr "  -c cups.conf            Setze die zu benutzende Datei cups.conf"
 
-msgid "  -d domain               Browse/resolve in specified domain."
-msgstr "  -d domain               Browse/löse auf in der angegebenen Domäne."
-
 msgid "  -d name=value           Set named variable to value."
 msgstr ""
 
@@ -1020,7 +1033,9 @@ msgid "  -d printer              Use the named printer."
 msgstr "  -d printer              Benutze den genannten Drucker."
 
 msgid "  -d regex                Match domain to regular expression."
-msgstr "  -d regex                Prüft die Domäne auf Übereinstimmung mit regulärem Ausdruck."
+msgstr ""
+"  -d regex                Prüft die Domäne auf Übereinstimmung mit regulärem "
+"Ausdruck."
 
 msgid "  -e                      Use every filter from the PPD file."
 msgstr "  -e                      Benutzt jeden Filter der PPD Datei."
@@ -1029,13 +1044,17 @@ msgid "  -f                      Run in the foreground."
 msgstr "  -f                      Laufe im Vordergrund."
 
 msgid "  -f filename             Set default request filename."
-msgstr "  -f Dateiname            Legt den voreingestellten Dateinanmen der Anfrage fest."
+msgstr ""
+"  -f Dateiname            Legt den voreingestellten Dateinanmen der Anfrage "
+"fest."
 
 msgid "  -h                      Show this usage message."
 msgstr "  -h                      Zeige diese Verwendungsanleitung."
 
 msgid "  -h regex                Match hostname to regular expression."
-msgstr "  -h regex                Prüft den Hostnamen auf Übereinstimmung mit dem regulären Ausdruck."
+msgstr ""
+"  -h regex                Prüft den Hostnamen auf Übereinstimmung mit dem "
+"regulären Ausdruck."
 
 msgid "  -h server[:port]        Specify server address."
 msgstr "  -h server[:port]        Spezifiziere die Server-Adresse."
@@ -1084,7 +1103,8 @@ msgstr ""
 msgid ""
 "  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
 msgstr ""
-"  -o Dateiname.drv        Legt die Treiberinformationsdatei fest (sonst ppdi.drv)."
+"  -o Dateiname.drv        Legt die Treiberinformationsdatei fest (sonst ppdi."
+"drv)."
 
 msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
 msgstr ""
@@ -1098,9 +1118,6 @@ msgstr ""
 msgid "  -p filename.ppd         Set PPD file."
 msgstr "  -p filename.ppd         Lege PPD Datei fest."
 
-msgid "  -p program              Run specified program for each service."
-msgstr ""
-
 msgid "  -q                      Quietly report match via exit code."
 msgstr ""
 
@@ -1116,6 +1133,9 @@ msgstr ""
 msgid "  -s                      Print service name if true."
 msgstr ""
 
+msgid "  -s cups-files.conf      Set cups-files.conf file to use."
+msgstr ""
+
 msgid "  -t                      Produce a test report."
 msgstr "  -t                      Erzeuge einen Testbericht."
 
@@ -1131,14 +1151,13 @@ msgstr ""
 msgid "  -t title                Set title."
 msgstr "  -t Titel                Legt den Titel fest."
 
-msgid "  -t type                 Browse/resolve with specified type."
-msgstr ""
-
 msgid "  -u                      Remove the PPD file when finished."
 msgstr "  -u                      Lösche die PPD Datei nach Beenden."
 
 msgid "  -u regex                Match URI to regular expression."
-msgstr "  -u regex                Auf Übereinstimmung der URI mit dem regulären Ausdruck prüfen."
+msgstr ""
+"  -u regex                Auf Übereinstimmung der URI mit dem regulären "
+"Ausdruck prüfen."
 
 msgid "  -v                      Be verbose."
 msgstr "  -v                      ausführliche Ausgabe."
@@ -1507,11 +1526,14 @@ msgstr "%s: Fehler - ungültige Auftrags-ID."
 
 #, c-format
 msgid "%s: Error - cannot print files and alter jobs simultaneously."
-msgstr "%s: Fehler - kann nicht gleichzeitig Dateien drucken und Aufträge ändern."
+msgstr ""
+"%s: Fehler - kann nicht gleichzeitig Dateien drucken und Aufträge ändern."
 
 #, c-format
 msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
-msgstr "%s: Fehler - Kann von der Standardeingabe nicht drucken wenn eine Datei oder Auftrags-ID übergeben werden."
+msgstr ""
+"%s: Fehler - Kann von der Standardeingabe nicht drucken wenn eine Datei oder "
+"Auftrags-ID übergeben werden."
 
 #, c-format
 msgid "%s: Error - expected character set after \"-S\" option."
@@ -1598,8 +1620,8 @@ msgid ""
 "%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
 "option."
 msgstr ""
-"%s: Fehler - benötigt \"completed\", \"not-completed\", oder \"all\" nach \"-W\" "
-"Option."
+"%s: Fehler - benötigt \"completed\", \"not-completed\", oder \"all\" nach \"-"
+"W\" Option."
 
 #, c-format
 msgid "%s: Error - no default destination available."
@@ -2012,6 +2034,18 @@ msgstr "2"
 msgid "2 inches/sec."
 msgstr "2 inch/s"
 
+msgid "2-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "2-Sided Printing"
 msgstr "Doppelseitig drucken"
 
@@ -2126,6 +2160,18 @@ msgstr "3 inch/s"
 msgid "3 x 5"
 msgstr "3×5"
 
+msgid "3-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "3.00x1.00\""
 msgstr "3,00×1,00inch"
 
@@ -2192,6 +2238,18 @@ msgstr "4"
 msgid "4 inches/sec."
 msgstr "4 inch/s"
 
+msgid "4-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "4.00x1.00\""
 msgstr "4,00×1,00 inch"
 
@@ -2370,7 +2428,8 @@ msgid "A Samba password is required to export printer drivers"
 msgstr "Ein Samba-Passwort ist erforderlich um Druckertrieber zu exportieren"
 
 msgid "A Samba username is required to export printer drivers"
-msgstr "Ein Samba-Benutzername ist erforderlich um Druckertreiber zu exportieren"
+msgstr ""
+"Ein Samba-Benutzername ist erforderlich um Druckertreiber zu exportieren"
 
 #, c-format
 msgid "A class named \"%s\" already exists."
@@ -2488,6 +2547,9 @@ msgstr "Druckaufträge akzeptieren"
 msgid "Accepted"
 msgstr "Akzeptiert"
 
+msgid "Accordian Fold"
+msgstr ""
+
 msgid "Add Class"
 msgstr "Klasse hinzufügen"
 
@@ -2503,6 +2565,12 @@ msgstr "Adresse"
 msgid "Administration"
 msgstr "Verwaltung"
 
+msgid "Alternate"
+msgstr ""
+
+msgid "Alternate Roll"
+msgstr ""
+
 msgid "Always"
 msgstr "Immer"
 
@@ -2516,10 +2584,21 @@ msgstr "Applicator"
 msgid "Attempt to set %s printer-state to bad value %d."
 msgstr "Versuch den %s Druckerstatus auf einen ungültigen %d Wert zu setzen."
 
+#, c-format
+msgid "Attribute \"%s\" is in the wrong group."
+msgstr ""
+
+#, c-format
+msgid "Attribute \"%s\" is the wrong value type."
+msgstr ""
+
 #, c-format
 msgid "Attribute groups are out of order (%x < %x)."
 msgstr "Attributgruppen sind nicht in der Reihenfolge (%x < %x)"
 
+msgid "Automatic"
+msgstr ""
+
 msgid "B0"
 msgstr "DIN B0"
 
@@ -2575,6 +2654,9 @@ msgstr "Ungültige Abhängigkeit"
 msgid "Bad PPD cache file."
 msgstr "Ungültige PPD Cache Datei."
 
+msgid "Bad PPD file."
+msgstr ""
+
 msgid "Bad Request"
 msgstr "Ungültige Anfrage"
 
@@ -2700,19 +2782,46 @@ msgstr "Ungültiger Zeichenkette"
 msgid "Bad/empty URI"
 msgstr "Ungültige/leere URI"
 
+msgid "Bale"
+msgstr ""
+
 msgid "Banners"
 msgstr "Banner"
 
+msgid "Bind"
+msgstr ""
+
+msgid "Bind (Landscape)"
+msgstr ""
+
+msgid "Bind (Portrait)"
+msgstr ""
+
+msgid "Bind (Reverse Landscape)"
+msgstr ""
+
+msgid "Bind (Reverse Portrait)"
+msgstr ""
+
 msgid "Bond Paper"
 msgstr "Papier bündeln"
 
+msgid "Booklet Maker"
+msgstr ""
+
 #, c-format
 msgid "Boolean expected for waiteof option \"%s\"."
 msgstr "Boolesch erwartet für waitof Option \"%s\"."
 
+msgid "Bottom"
+msgstr ""
+
 msgid "Buffer overflow detected, aborting."
 msgstr "Pufferüberlauf festgestellt, Abbruch."
 
+msgid "CD/DVD/Bluray"
+msgstr ""
+
 msgid "CMYK"
 msgstr "CMYK"
 
@@ -2728,12 +2837,21 @@ msgstr "RSS-Abo widerrufen"
 msgid "Canceling print job."
 msgstr "Auftrag wird abgebrochen."
 
+msgid "Cannot change printer-is-shared for remote queues."
+msgstr ""
+
 msgid "Cannot share a remote Kerberized printer."
 msgstr "Freigabe eines entfernten kerberisierten Druckers nicht möglich"
 
+msgid "Cardstock"
+msgstr ""
+
 msgid "Cassette"
 msgstr "Kassette"
 
+msgid "Center"
+msgstr ""
+
 msgid "Change Settings"
 msgstr "Einstellungen ändern"
 
@@ -2750,6 +2868,9 @@ msgstr "Saubere Druckköpfe"
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr "Close-Job unterstützt keine job-uri Attribute."
 
+msgid "Coat"
+msgstr ""
+
 msgid "Color"
 msgstr "Farbe"
 
@@ -2786,6 +2907,9 @@ msgstr "Steuerdatei erfolgreich gesendet."
 msgid "Copying print data."
 msgstr "Kopiere Druckdaten."
 
+msgid "Cover"
+msgstr ""
+
 msgid "Created"
 msgstr "Erstellt"
 
@@ -2801,6 +2925,9 @@ msgstr "CustominTearInterval"
 msgid "Cut"
 msgstr "Abschneiden"
 
+msgid "Cut Media"
+msgstr ""
+
 msgid "Cutter"
 msgstr "Abschneider"
 
@@ -2862,9 +2989,30 @@ msgstr "Verzeichnisrechte \"%s\" OK (0%o/uid=%d/gid=%d)."
 msgid "Disabled"
 msgstr "Deaktiviert"
 
+msgid "Disc"
+msgstr ""
+
 #, c-format
 msgid "Document #%d does not exist in job #%d."
-msgstr "Dokument #%d existiert "in Auftrag #%d nicht."
+msgstr "Dokument #%d existiert in Auftrag #%d nicht."
+
+msgid "Double Gate Fold"
+msgstr ""
+
+msgid "Double Staple (Landscape)"
+msgstr ""
+
+msgid "Double Staple (Portrait)"
+msgstr ""
+
+msgid "Double Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Double Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "Draft"
+msgstr ""
 
 msgid "Duplexer"
 msgstr "Duplexer"
@@ -2904,8 +3052,11 @@ msgstr ""
 "Authentifizierung verwenden, stellen Sie sicher, dass Sie ein gültiges "
 "Kerberos-Ticket haben."
 
-msgid "Envelope #10 "
-msgstr "US Umschlag 10"
+msgid "Envelope"
+msgstr ""
+
+msgid "Envelope #10"
+msgstr ""
 
 msgid "Envelope #11"
 msgstr "US Umschlag 11"
@@ -2994,7 +3145,7 @@ msgstr ""
 msgid "Envelope Monarch"
 msgstr ""
 
-msgid "Envelope PRC1 "
+msgid "Envelope PRC1"
 msgstr ""
 
 msgid "Envelope PRC1 Long Edge"
@@ -3135,6 +3286,9 @@ msgstr ""
 msgid "Fanfold US"
 msgstr ""
 
+msgid "Fast Grayscale"
+msgstr ""
+
 #, c-format
 msgid "File \"%s\" contains a relative path."
 msgstr "Datei \"%s\" enthält einen relativen Pfad."
@@ -3145,7 +3299,7 @@ msgstr "Datei \"%s\" hat unsichere Rechte (0%o/uid=%d/gid=%d)."
 
 #, c-format
 msgid "File \"%s\" is a directory."
-msgstr "Datei \"%s\" ist ein Verzeichnis.""
+msgstr "Datei \"%s\" ist ein Verzeichnis."
 
 #, c-format
 msgid "File \"%s\" not available: %s"
@@ -3155,8 +3309,8 @@ msgstr "Datei \"%s\" nicht verfügbar: %s"
 msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
 msgstr "Dateirechte \"%s\" OK (0%o/uid=%d/gid=%d)."
 
-msgid "File Folder "
-msgstr "Datei-Verzeichnis "
+msgid "File Folder"
+msgstr ""
 
 #, c-format
 msgid ""
@@ -3168,12 +3322,21 @@ msgstr ""
 msgid "Finished page %d."
 msgstr "Seite %d fertiggestellt."
 
+msgid "Finishing"
+msgstr ""
+
+msgid "Fold"
+msgstr ""
+
 msgid "Folio"
 msgstr "Folio"
 
 msgid "Forbidden"
 msgstr "Verboten"
 
+msgid "Gate Fold"
+msgstr ""
+
 msgid "General"
 msgstr "Allgemein"
 
@@ -3186,6 +3349,9 @@ msgstr "Get-Response-PDU hat unbestimmte Länge"
 msgid "Glossy Paper"
 msgstr "Glanzpapier"
 
+msgid "Glossy Photo"
+msgstr ""
+
 msgid "Got a printer-uri attribute but no job-id."
 msgstr "Drucker-URI Attribut empfangen aber keine Auftrags-ID."
 
@@ -3195,12 +3361,30 @@ msgstr "Graustufen"
 msgid "HP"
 msgstr "HP"
 
+msgid "Hagaki"
+msgstr ""
+
+msgid "Half Fold"
+msgstr ""
+
+msgid "Half Z Fold"
+msgstr ""
+
 msgid "Hanging Folder"
 msgstr "Hängeordner"
 
+msgid "Hash buffer too small."
+msgstr ""
+
 msgid "Help file not in index."
 msgstr "Hilfedatei nicht im Index."
 
+msgid "High"
+msgstr ""
+
+msgid "High-Gloss Photo"
+msgstr ""
+
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr "IPP 1setOf Attribut mit inkompatiblen Werte-Markierung."
 
@@ -3321,6 +3505,9 @@ msgstr "Ungültige Argumente des Mediennamens."
 msgid "Invalid media size."
 msgstr "Ungültige Mediengrösse."
 
+msgid "Invalid ppd-name value."
+msgstr ""
+
 #, c-format
 msgid "Invalid printer command \"%s\"."
 msgstr "Ungültiges Druckkommando \"%s\"."
@@ -3434,15 +3621,24 @@ msgstr "Auftragssubskiptionen können nicht erneuert werden."
 msgid "Jobs"
 msgstr "Druckaufträge"
 
+msgid "Jog"
+msgstr ""
+
 msgid "LPD/LPR Host or Printer"
 msgstr "LPD/LPR-Host oder -Drucker"
 
+msgid "Label"
+msgstr ""
+
 msgid "Label Printer"
 msgstr "Etikettendrucker"
 
 msgid "Label Top"
 msgstr "Etikett (oben)"
 
+msgid "Laminate"
+msgstr ""
+
 #, c-format
 msgid "Language \"%s\" not supported."
 msgstr "Sprache \"%s\" nicht unterstützt."
@@ -3450,15 +3646,30 @@ msgstr "Sprache \"%s\" nicht unterstützt."
 msgid "Large Address"
 msgstr "Adresse gross"
 
+msgid "Large Capacity"
+msgstr ""
+
 msgid "LaserJet Series PCL 4/5"
 msgstr "LaserJet Serie PCL 4/5"
 
+msgid "Left"
+msgstr ""
+
+msgid "Left Gate Fold"
+msgstr ""
+
+msgid "Letter Fold"
+msgstr ""
+
 msgid "Letter Oversize"
 msgstr "Letter Übergrösse"
 
 msgid "Letter Oversize Long Edge"
 msgstr ""
 
+msgid "Letterhead"
+msgstr ""
+
 msgid "Light"
 msgstr "Leicht"
 
@@ -3471,15 +3682,30 @@ msgstr "Verfügbare Drucker anzeigen"
 msgid "Load paper."
 msgstr "Lade Papier."
 
+msgid "Local printer created."
+msgstr ""
+
 msgid "Long-Edge (Portrait)"
 msgstr "Lange Kante (Hochformat)"
 
 msgid "Looking for printer..."
 msgstr ""
 
+msgid "Main"
+msgstr ""
+
+msgid "Main Roll"
+msgstr ""
+
+msgid "Manual"
+msgstr ""
+
 msgid "Manual Feed"
 msgstr "Manuelle Papierzufuhr"
 
+msgid "Matte Photo"
+msgstr ""
+
 msgid "Media Size"
 msgstr "Mediengrösse"
 
@@ -3498,6 +3724,9 @@ msgstr "Medium"
 msgid "Memory allocation error"
 msgstr "Fehler bei der Speicherzuteilung"
 
+msgid "Middle"
+msgstr ""
+
 msgid "Missing CloseGroup"
 msgstr "Fehlendes CloseGroup"
 
@@ -3535,6 +3764,10 @@ msgstr "Fehlende Option Schlüsselwort"
 msgid "Missing requesting-user-name attribute."
 msgstr ""
 
+#, c-format
+msgid "Missing required attribute \"%s\"."
+msgstr ""
+
 msgid "Missing required attributes."
 msgstr ""
 
@@ -3583,6 +3816,9 @@ msgstr "Druckauftrag verschieben"
 msgid "Moved Permanently"
 msgstr "Dauerhaft verschoben"
 
+msgid "Multipurpose"
+msgstr ""
+
 msgid "NULL PPD file pointer"
 msgstr "NULL PPD File Pointer"
 
@@ -3601,6 +3837,9 @@ msgstr "Nein"
 msgid "No Content"
 msgstr "Kein Inhalt"
 
+msgid "No Finishing"
+msgstr ""
+
 msgid "No PPD name"
 msgstr "Kein PPD Name"
 
@@ -3742,6 +3981,9 @@ msgstr "Oki"
 msgid "Online Help"
 msgstr "Online-Hilfe"
 
+msgid "Only local users can create a local printer."
+msgstr ""
+
 #, c-format
 msgid "Open of %s failed: %s"
 msgstr "%s öffnen fehlgeschlagen: %s"
@@ -3765,6 +4007,9 @@ msgstr "Installierte Optionen"
 msgid "Options:"
 msgstr "Optionen:"
 
+msgid "Other"
+msgstr ""
+
 msgid "Out of date PPD cache file."
 msgstr "Veraltete PPD Cache-Datei."
 
@@ -3825,6 +4070,9 @@ msgstr "Papierfach ist leer."
 msgid "Paper tray is missing."
 msgstr "Papierfach ist nicht vorhanden."
 
+msgid "Parallel Fold"
+msgstr ""
+
 msgid "ParamCustominCutInterval"
 msgstr "ParamCustominCutInterval"
 
@@ -3869,8 +4117,8 @@ msgstr "PostScript-Drucker"
 msgid "Postcard"
 msgstr "Postkarte"
 
-msgid "Postcard Double "
-msgstr "Doppelpostkarte"
+msgid "Postcard Double"
+msgstr ""
 
 msgid "Postcard Double Long Edge"
 msgstr ""
@@ -3878,6 +4126,9 @@ msgstr ""
 msgid "Postcard Long Edge"
 msgstr ""
 
+msgid "Poster Fold"
+msgstr ""
+
 msgid "Preparing to print."
 msgstr "Vorbereitung zum Druck."
 
@@ -3890,6 +4141,9 @@ msgstr "Druckauftrag:"
 msgid "Print Mode"
 msgstr "Druckmodus"
 
+msgid "Print Quality"
+msgstr ""
+
 msgid "Print Rate"
 msgstr "Druckrate"
 
@@ -3920,6 +4174,10 @@ msgstr "Der Druckauftrag ist zu gross."
 msgid "Print job was not accepted."
 msgstr "Der Druckauftrag wurde nicht angenommen."
 
+#, c-format
+msgid "Printer \"%s\" already exists."
+msgstr ""
+
 msgid "Printer Added"
 msgstr "Drucker hinzugefügt"
 
@@ -3954,6 +4212,9 @@ msgstr "Drucker"
 msgid "Printing page %d, %u%% complete."
 msgstr "Drucke Seite %d, %u%% fertig."
 
+msgid "Punch"
+msgstr ""
+
 msgid "Quarto"
 msgstr "US Quarto"
 
@@ -3963,6 +4224,9 @@ msgstr "Kontingentgrenze erreicht."
 msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr "Rang    Besitz. Auftrag Datei(en)                       Gesamtgrösse"
 
+msgid "Rear"
+msgstr ""
+
 msgid "Reject Jobs"
 msgstr "Druckaufträge ablehnen"
 
@@ -3995,6 +4259,42 @@ msgstr "Antwort-Adresse"
 msgid "Rewind"
 msgstr "Zurückdrehen"
 
+msgid "Right"
+msgstr ""
+
+msgid "Right Gate Fold"
+msgstr ""
+
+msgid "Roll 1"
+msgstr ""
+
+msgid "Roll 10"
+msgstr ""
+
+msgid "Roll 2"
+msgstr ""
+
+msgid "Roll 3"
+msgstr ""
+
+msgid "Roll 4"
+msgstr ""
+
+msgid "Roll 5"
+msgstr ""
+
+msgid "Roll 6"
+msgstr ""
+
+msgid "Roll 7"
+msgstr ""
+
+msgid "Roll 8"
+msgstr ""
+
+msgid "Roll 9"
+msgstr ""
+
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
 msgstr "Befehlsausführung: %s %s -N -A %s -c '%s'"
@@ -4005,9 +4305,21 @@ msgstr "SEQUENCE hat unbestimmte Länge"
 msgid "SSL/TLS Negotiation Error"
 msgstr "SSL/TLS Verhandlungsfehler"
 
+msgid "Saddle Stitch"
+msgstr ""
+
+msgid "Satin Photo"
+msgstr ""
+
 msgid "See Other"
 msgstr "Siehe auch"
 
+msgid "See remote printer."
+msgstr ""
+
+msgid "Semi-Gloss Photo"
+msgstr ""
+
 msgid "Sending data to printer."
 msgstr "Sende Daten zum Drucker."
 
@@ -4050,6 +4362,33 @@ msgstr "Lieferadresse"
 msgid "Short-Edge (Landscape)"
 msgstr "Kurze Kante (Querformat)"
 
+msgid "Side"
+msgstr ""
+
+msgid "Single Punch (Landscape)"
+msgstr ""
+
+msgid "Single Punch (Portrait)"
+msgstr ""
+
+msgid "Single Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "Single Staple (Landscape)"
+msgstr ""
+
+msgid "Single Staple (Portrait)"
+msgstr ""
+
+msgid "Single Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "Special Paper"
 msgstr "Spezialpapier"
 
@@ -4060,6 +4399,24 @@ msgstr "Auftragszwischenspeicherung %.0f%% abgeschlossen."
 msgid "Standard"
 msgstr "Standard"
 
+msgid "Staple"
+msgstr ""
+
+msgid "Staple Edge"
+msgstr ""
+
+msgid "Staple Edge (Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Portrait)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Portrait)"
+msgstr ""
+
 #. TRANSLATORS: Banner/cover sheet before the print job.
 msgid "Starting Banner"
 msgstr "Startbanner"
@@ -4120,13 +4477,15 @@ msgstr "Das %s Attribut kann nicht mit Auftrags-IDs angegeben werden."
 msgid ""
 "The '%s' Job Status attribute cannot be supplied in a job creation request."
 msgstr ""
-"Das Attribut '%s' Auftragsstatus kann in einer Auftragsanfrage nicht angegeben werden."
+"Das Attribut '%s' Auftragsstatus kann in einer Auftragsanfrage nicht "
+"angegeben werden."
 
 #, c-format
 msgid ""
 "The '%s' operation attribute cannot be supplied in a Create-Job request."
 msgstr ""
-"Das Vorgangsattribut '%s' kann nicht mit einer Anfrage zur Auftragserstellung angegeben werden."
+"Das Vorgangsattribut '%s' kann nicht mit einer Anfrage zur "
+"Auftragserstellung angegeben werden."
 
 #, c-format
 msgid "The PPD file \"%s\" could not be found."
@@ -4175,7 +4534,9 @@ msgid "The optical photoconductor will need to be replaced soon."
 msgstr "Der optische Fotoleitertrommel muss demnächst ersetzt werden."
 
 msgid "The printer configuration is incorrect or the printer no longer exists."
-msgstr "Die Druckerkonfiguration ist nicht korrekt oder der Drucker existiert nicht mehr."
+msgstr ""
+"Die Druckerkonfiguration ist nicht korrekt oder der Drucker existiert nicht "
+"mehr."
 
 msgid "The printer did not respond."
 msgstr "Der Drucker hat nicht geantwortet"
@@ -4301,6 +4662,9 @@ msgstr "Zu viele job-sheets Werte (%d > 2)."
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr "Zu viele printer-state-reasons Werte (%d > %d)."
 
+msgid "Top"
+msgstr ""
+
 msgid "Transparency"
 msgstr "Transparenz"
 
@@ -4310,15 +4674,75 @@ msgstr "Fach"
 msgid "Tray 1"
 msgstr "Fach 1"
 
+msgid "Tray 10"
+msgstr ""
+
+msgid "Tray 11"
+msgstr ""
+
+msgid "Tray 12"
+msgstr ""
+
+msgid "Tray 13"
+msgstr ""
+
+msgid "Tray 14"
+msgstr ""
+
+msgid "Tray 15"
+msgstr ""
+
+msgid "Tray 16"
+msgstr ""
+
+msgid "Tray 17"
+msgstr ""
+
+msgid "Tray 18"
+msgstr ""
+
+msgid "Tray 19"
+msgstr ""
+
 msgid "Tray 2"
 msgstr "Fach 2"
 
+msgid "Tray 20"
+msgstr ""
+
 msgid "Tray 3"
 msgstr "Fach 3"
 
 msgid "Tray 4"
 msgstr "Fach 4"
 
+msgid "Tray 5"
+msgstr ""
+
+msgid "Tray 6"
+msgstr ""
+
+msgid "Tray 7"
+msgstr ""
+
+msgid "Tray 8"
+msgstr ""
+
+msgid "Tray 9"
+msgstr ""
+
+msgid "Triple Staple (Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Portrait)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "URI Too Long"
 msgstr "URI zu lang"
 
@@ -4397,11 +4821,13 @@ msgstr "Servereinstellungen konnten nicht geändert werden :"
 
 #, c-format
 msgid "Unable to compile mimeMediaType regular expression: %s."
-msgstr "Der regulären Ausdruck %s für mimeMediaType kann nicht kompiliert werden."
+msgstr ""
+"Der regulären Ausdruck %s für mimeMediaType kann nicht kompiliert werden."
 
 #, c-format
 msgid "Unable to compile naturalLanguage regular expression: %s."
-msgstr "Der natualLanguage regulärer Ausdruck kann nicht kompiliert werden: %s."
+msgstr ""
+"Der natualLanguage regulärer Ausdruck kann nicht kompiliert werden: %s."
 
 msgid "Unable to configure printer options."
 msgstr "Druckeroptionen können nicht konfiguriert werden."
@@ -4410,7 +4836,9 @@ msgid "Unable to connect to host."
 msgstr "Verbindungsaufbau zum Host fehlgeschlagen."
 
 msgid "Unable to contact printer, queuing on next printer in class."
-msgstr "Drucker kann nicht kontaktiert werden, stelle in die nächste Warteschlange der Klasse ein"
+msgstr ""
+"Drucker kann nicht kontaktiert werden, stelle in die nächste Warteschlange "
+"der Klasse ein"
 
 #, c-format
 msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
@@ -4433,19 +4861,19 @@ msgstr "PPD Datei kann nicht kopiert werden"
 
 #, c-format
 msgid "Unable to copy Windows 2000 printer driver files (%d)."
-msgstr "Druckertrieberdateien für Windows 2000 können nicht kopiert werden (%d)."
+msgstr ""
+"Druckertrieberdateien für Windows 2000 können nicht kopiert werden (%d)."
 
 #, c-format
 msgid "Unable to copy Windows 9x printer driver files (%d)."
 msgstr "Druckertrieberdateien für Windows 9x können nicht kopiert werden (%d)."
 
-#, c-format
-msgid "Unable to copy interface script - %s"
-msgstr "Schnittstellenskript kann nicht kopiert werden - %s."
-
 msgid "Unable to create printer-uri"
 msgstr "Drucker-URI kann nicht erzeugt werden"
 
+msgid "Unable to create printer."
+msgstr ""
+
 msgid "Unable to create server credentials."
 msgstr "Die Server-Anmeldedaten können nicht erzeugt werden."
 
@@ -4470,7 +4898,9 @@ msgstr "Sichere Verbindung zu Host nicht möglich (Zertifikatskette ungültig)."
 
 msgid ""
 "Unable to establish a secure connection to host (certificate not yet valid)."
-msgstr "Sichere Verbindung zu Host nicht möglich (Zertifikatskette noch nicht gültig)."
+msgstr ""
+"Sichere Verbindung zu Host nicht möglich (Zertifikatskette noch nicht "
+"gültig)."
 
 msgid "Unable to establish a secure connection to host (expired certificate)."
 msgstr "Sichere Verbindung zu Host nicht möglich (Zertifikats abgelaufen)."
@@ -4481,13 +4911,20 @@ msgstr "Sichere Verbindung zu Host nicht möglich (Hostname passt nicht)."
 msgid ""
 "Unable to establish a secure connection to host (peer dropped connection "
 "before responding)."
-msgstr "Sichere Verbindung zu Host nicht möglich (Gegenstelle hat die Verbindung vor einer Antwort beendet)."
+msgstr ""
+"Sichere Verbindung zu Host nicht möglich (Gegenstelle hat die Verbindung vor "
+"einer Antwort beendet)."
 
-msgid "Unable to establish a secure connection to host (self-signed certificate)."
-msgstr "Sichere Verbindung zu Host nicht möglich (Selbstsigniertes Zertifikat)."
+msgid ""
+"Unable to establish a secure connection to host (self-signed certificate)."
+msgstr ""
+"Sichere Verbindung zu Host nicht möglich (Selbstsigniertes Zertifikat)."
 
-msgid "Unable to establish a secure connection to host (untrusted certificate)."
-msgstr "Sichere Verbindung zu Host nicht möglich (Nicht vertrauenswürdiges Zertifikat)."
+msgid ""
+"Unable to establish a secure connection to host (untrusted certificate)."
+msgstr ""
+"Sichere Verbindung zu Host nicht möglich (Nicht vertrauenswürdiges "
+"Zertifikat)."
 
 msgid "Unable to establish a secure connection to host."
 msgstr "Sichere Verbindung zu Host nicht möglich."
@@ -4653,6 +5090,9 @@ msgstr "Unbekannte Dateireihenfolge: »%s«."
 msgid "Unknown format character: \"%c\"."
 msgstr "Unbekanntes Formatzeichen: »%c«."
 
+msgid "Unknown hash algorithm."
+msgstr ""
+
 msgid "Unknown media size name."
 msgstr "Unbekannter Name der Mediengrösse."
 
@@ -4764,10 +5204,12 @@ msgstr ""
 "\n"
 "    lpadmin [-h Server] -d Druckziel\n"
 "    lpadmin [-h Server] -x Druckziel\n"
-"    lpadmin [-h Server] -p Drucker [-c add-class] [-i Schnittstelle] [-m Modell]\n"
+"    lpadmin [-h Server] -p Drucker [-c add-class] [-i Schnittstelle] [-m "
+"Modell]\n"
 "                       [-r remove-class] [-v Gerät] [-D Beschreibung]\n"
 "                       [-P ppd-Datei] [-o Name=Wert]\n"
-"                       [-u allow:Benutzer,Benutzer] [-u deny:Benutzer,Benutzer]"
+"                       [-u allow:Benutzer,Benutzer] [-u deny:Benutzer,"
+"Benutzer]"
 
 #, c-format
 msgid "Usage: %s job-id user title copies options [file]"
@@ -4790,14 +5232,9 @@ msgstr "Verwendung: cupstestdsc [Optionen] Dateiname.ps [... Dateiname.ps]"
 
 msgid ""
 "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
-msgstr "Verwendung: cupstestppd [Optionen] Dateiname1.ppd[.gz] [... DateinameN.ppd[.gz]]"
-
-msgid ""
-"Usage: ippdiscover [options] -a\n"
-"       ippdiscover [options] \"service name\"\n"
-"\n"
-"Options:"
 msgstr ""
+"Verwendung: cupstestppd [Optionen] Dateiname1.ppd[.gz] [... DateinameN.ppd[."
+"gz]]"
 
 msgid ""
 "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
@@ -4825,7 +5262,9 @@ msgstr ""
 
 msgid ""
 "Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
-msgstr "Verwendung: lpq [-P Ziel] [-U Benutzername] [-h Hostname[:port]] [-l] [+Interval]"
+msgstr ""
+"Verwendung: lpq [-P Ziel] [-U Benutzername] [-h Hostname[:port]] [-l] "
+"[+Interval]"
 
 msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
 msgstr "Verwendung: ppdc [Optionen] Dateiname.drv [ ... DateinameN.drv ]"
@@ -4842,7 +5281,8 @@ msgstr ""
 msgid ""
 "Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
 msgstr ""
-"Verwendung: ppdpo [Optionen] -o Dateiname.po Dateiname.drv [ ... DateinameN.drv ]"
+"Verwendung: ppdpo [Optionen] -o Dateiname.po Dateiname.drv [ ... DateinameN."
+"drv ]"
 
 msgid "Usage: snmp [host-or-ip-address]"
 msgstr "Verwendung: snmp [Host-oder-IP-Adresse]"
@@ -4882,6 +5322,9 @@ msgstr ""
 "Auf diese Seite greifen Sie zu über die URL <A HREF=\"https://%s:%d%s"
 "\">https://%s:%d%s</A>."
 
+msgid "Z Fold"
+msgstr ""
+
 msgid "ZPL Label Printer"
 msgstr "ZPL Etikettendrucker"
 
@@ -4929,7 +5372,8 @@ msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
 msgstr "cupsd: Dateiname cups-files.conf nach der »-s« Option erwartet."
 
 msgid "cupsd: On-demand support not compiled in, running in normal mode."
-msgstr "cupsd: Start auf Anforderung nicht einkompiliert, starte im normalen Modus."
+msgstr ""
+"cupsd: Start auf Anforderung nicht einkompiliert, starte im normalen Modus."
 
 msgid "cupsd: Relative cups-files.conf filename not allowed."
 msgstr ""
@@ -5106,8 +5550,9 @@ msgstr ""
 msgid "lpadmin: Class name can only contain printable characters."
 msgstr "lpadmin: Klassenname darf nur druckbare Zeichen enthalten."
 
-msgid "lpadmin: Expected PPD after \"-P\" option."
-msgstr "lpadmin: Nach der \"-P\" Option PPD erwartet."
+#, c-format
+msgid "lpadmin: Expected PPD after \"-%c\" option."
+msgstr ""
 
 msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
 msgstr ""
@@ -5131,9 +5576,6 @@ msgstr "lpadmin: Dateitype nach der \"-I\" Option erwartet."
 msgid "lpadmin: Expected hostname after \"-h\" option."
 msgstr "lpadmin: Hostname nach der \"-h\" Option erwartet."
 
-msgid "lpadmin: Expected interface after \"-i\" option."
-msgstr "lpadmin: Schnittstelle nach der \"-i\" Option erwartet."
-
 msgid "lpadmin: Expected location after \"-L\" option."
 msgstr "lpadmin: Ort nach der \"-L\" Option erwartet."
 
@@ -5263,7 +5705,7 @@ msgstr "lpinfo: Unbekannte Option »%s«."
 
 #, c-format
 msgid "lpmove: Unable to connect to server: %s"
-msgstr "lpmove: Verbindung zum Server »%s«" nicht möglich"
+msgstr "lpmove: Verbindung zum Server »%s« nicht möglich"
 
 #, c-format
 msgid "lpmove: Unknown argument \"%s\"."
@@ -5755,7 +6197,7 @@ msgstr "angehalten"
 
 #, c-format
 msgid "system default destination: %s"
-msgstr "systemvoreingestelltes Ziel: %s""
+msgstr "systemvoreingestelltes Ziel: %s"
 
 #, c-format
 msgid "system default destination: %s/%s"
@@ -5770,6 +6212,16 @@ msgstr "Ohne Titel"
 msgid "variable-bindings uses indefinite length"
 msgstr "variable-bindings hat unbestimmte Länge"
 
+#~ msgid "\tInterface: %s/interfaces/%s"
+#~ msgstr "\tSchnittstelle: %s/interfaces/%s"
+
+#~ msgid "  -a                      Browse for all services."
+#~ msgstr "  -a                      Browse für alle Dienste."
+
+#~ msgid "  -d domain               Browse/resolve in specified domain."
+#~ msgstr ""
+#~ "  -d domain               Browse/löse auf in der angegebenen Domäne."
+
 #~ msgid "720dpi"
 #~ msgstr "720 dpi"
 
@@ -5782,6 +6234,12 @@ msgstr "variable-bindings hat unbestimmte Länge"
 #~ msgid "Enter password:"
 #~ msgstr "Neues Passwort eingeben :"
 
+#~ msgid "Envelope #10 "
+#~ msgstr "US Umschlag 10"
+
+#~ msgid "File Folder "
+#~ msgstr "Datei-Verzeichnis "
+
 #~ msgid "Looking for printer."
 #~ msgstr "Suche nach Drucker."
 
@@ -5791,6 +6249,9 @@ msgstr "variable-bindings hat unbestimmte Länge"
 #~ msgid "New Stylus Photo Series"
 #~ msgstr "Neue Stylus Photo Serie"
 
+#~ msgid "Postcard Double "
+#~ msgstr "Doppelpostkarte"
+
 #~ msgid "Purge Jobs"
 #~ msgstr "Aufträge löschen"
 
@@ -5799,3 +6260,12 @@ msgstr "variable-bindings hat unbestimmte Länge"
 
 #~ msgid "Stylus Photo Series"
 #~ msgstr "Stylus Photo Serie"
+
+#~ msgid "Unable to copy interface script - %s"
+#~ msgstr "Schnittstellenskript kann nicht kopiert werden - %s."
+
+#~ msgid "lpadmin: Expected PPD after \"-P\" option."
+#~ msgstr "lpadmin: Nach der \"-P\" Option PPD erwartet."
+
+#~ msgid "lpadmin: Expected interface after \"-i\" option."
+#~ msgstr "lpadmin: Schnittstelle nach der \"-i\" Option erwartet."
index 922d7bbfb6aab4a667cc5bc54aa2956998158cf8..0744b885e3667f696b4400c9561e65468191b8aa 100644 (file)
@@ -16,7 +16,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2016-04-11 20:30-0400\n"
+"POT-Creation-Date: 2016-05-02 18:01-0400\n"
 "PO-Revision-Date: 2014-09-23 23:45+0100\n"
 "Last-Translator: Juan Pablo González Riopedre <jpgriopedre@yahoo.es>\n"
 "Language-Team: Spanish\n"
@@ -1142,9 +1142,6 @@ msgid "  -X                      Produce XML plist instead of plain text."
 msgstr ""
 "  -X                      Produce XML plist en vez de texto sin formato."
 
-msgid "  -a                      Browse for all services."
-msgstr "  -a                      Explorar todos los servicios."
-
 msgid "  -a                      Export all printers."
 msgstr "  -a                      Exporta todas las impresoras."
 
@@ -1160,10 +1157,6 @@ msgstr "  -c cups-files.conf      Establece el archivo cups-files.conf a usar."
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr "  -c cupsd.conf           Establece el archivo cupsd.conf a usar."
 
-msgid "  -d domain               Browse/resolve in specified domain."
-msgstr ""
-"  -d dominio               Explora/resuelve en el dominio especificado."
-
 msgid "  -d name=value           Set named variable to value."
 msgstr "  -d nombre=valor           Establece la variable al valor."
 
@@ -1274,11 +1267,6 @@ msgstr "  -p                      Imprimir URI si es cierto."
 msgid "  -p filename.ppd         Set PPD file."
 msgstr "  -p nombre_archivo.ppd         Establece archivo PPD."
 
-msgid "  -p program              Run specified program for each service."
-msgstr ""
-"  -p program              Ejecuta el programa especificado para cada "
-"servicio."
-
 msgid "  -q                      Quietly report match via exit code."
 msgstr ""
 "  -q                      Silenciosamente informar de la coincidencia via "
@@ -1314,9 +1302,6 @@ msgstr "  -t clave                Cierto si el registro TXT contiene la clave."
 msgid "  -t title                Set title."
 msgstr "  -t título               Establece título."
 
-msgid "  -t type                 Browse/resolve with specified type."
-msgstr "  -t tipo                 Explora/resuelve con el tipo especificado."
-
 msgid "  -u                      Remove the PPD file when finished."
 msgstr "  -u                      Borra el archivo PPD tras terminar."
 
@@ -2252,6 +2237,18 @@ msgstr "2"
 msgid "2 inches/sec."
 msgstr "2 pulg./seg"
 
+msgid "2-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "2-Sided Printing"
 msgstr "Dúplex"
 
@@ -2366,6 +2363,18 @@ msgstr "3 pulg./seg"
 msgid "3 x 5"
 msgstr "3 x 5"
 
+msgid "3-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "3.00x1.00\""
 msgstr "3.00x1.00 pulg."
 
@@ -2432,6 +2441,18 @@ msgstr "4"
 msgid "4 inches/sec."
 msgstr "4 pulg./seg"
 
+msgid "4-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "4.00x1.00\""
 msgstr "4.00x1.00 pulg."
 
@@ -2731,6 +2752,9 @@ msgstr "Aceptar trabajos"
 msgid "Accepted"
 msgstr "Aceptado"
 
+msgid "Accordian Fold"
+msgstr ""
+
 msgid "Add Class"
 msgstr "Añadir clase"
 
@@ -2746,6 +2770,12 @@ msgstr "Dirección"
 msgid "Administration"
 msgstr "Administración"
 
+msgid "Alternate"
+msgstr ""
+
+msgid "Alternate Roll"
+msgstr ""
+
 msgid "Always"
 msgstr "Siempre"
 
@@ -2773,6 +2803,9 @@ msgstr ""
 msgid "Attribute groups are out of order (%x < %x)."
 msgstr "Los grupos de atributos están desordenados (%x < %x)."
 
+msgid "Automatic"
+msgstr ""
+
 msgid "B0"
 msgstr "B0"
 
@@ -2956,19 +2989,46 @@ msgstr "Cadena de valores incorrecta"
 msgid "Bad/empty URI"
 msgstr "URI incorrecta/vacía"
 
+msgid "Bale"
+msgstr ""
+
 msgid "Banners"
 msgstr "Rótulos"
 
+msgid "Bind"
+msgstr ""
+
+msgid "Bind (Landscape)"
+msgstr ""
+
+msgid "Bind (Portrait)"
+msgstr ""
+
+msgid "Bind (Reverse Landscape)"
+msgstr ""
+
+msgid "Bind (Reverse Portrait)"
+msgstr ""
+
 msgid "Bond Paper"
 msgstr "Papel de cartas"
 
+msgid "Booklet Maker"
+msgstr ""
+
 #, c-format
 msgid "Boolean expected for waiteof option \"%s\"."
 msgstr "Se esperaba un valor lógico para la opción waiteof \"%s\"."
 
+msgid "Bottom"
+msgstr ""
+
 msgid "Buffer overflow detected, aborting."
 msgstr "Se ha detectado un desbordamiento de buffer, cancelando."
 
+msgid "CD/DVD/Bluray"
+msgstr ""
+
 msgid "CMYK"
 msgstr "CMYK"
 
@@ -2990,9 +3050,15 @@ msgstr ""
 msgid "Cannot share a remote Kerberized printer."
 msgstr "No se puede compartir una impresora remota Kerberizada."
 
+msgid "Cardstock"
+msgstr ""
+
 msgid "Cassette"
 msgstr "Casete"
 
+msgid "Center"
+msgstr ""
+
 msgid "Change Settings"
 msgstr "Cambiar configuración"
 
@@ -3009,6 +3075,9 @@ msgstr "Limpiar cabezales de impresión"
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr "Close-Job no admite el atributo job-uri."
 
+msgid "Coat"
+msgstr ""
+
 msgid "Color"
 msgstr "Color"
 
@@ -3045,6 +3114,9 @@ msgstr "Archivo de control enviado correctamente."
 msgid "Copying print data."
 msgstr "Copiando datos de impresión."
 
+msgid "Cover"
+msgstr ""
+
 msgid "Created"
 msgstr "Creado"
 
@@ -3060,6 +3132,9 @@ msgstr "CustominTearInterval"
 msgid "Cut"
 msgstr "Cortar"
 
+msgid "Cut Media"
+msgstr ""
+
 msgid "Cutter"
 msgstr "Cortadora"
 
@@ -3127,10 +3202,31 @@ msgstr "Permisos del directorio \"%s\" OK (0%o/uid=%d/gid=%d)."
 msgid "Disabled"
 msgstr "Deshabilitado"
 
+msgid "Disc"
+msgstr ""
+
 #, c-format
 msgid "Document #%d does not exist in job #%d."
 msgstr "El documento #%d no existe en el trabajo #%d."
 
+msgid "Double Gate Fold"
+msgstr ""
+
+msgid "Double Staple (Landscape)"
+msgstr ""
+
+msgid "Double Staple (Portrait)"
+msgstr ""
+
+msgid "Double Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Double Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "Draft"
+msgstr ""
+
 msgid "Duplexer"
 msgstr "Unidad de impresión dúplex"
 
@@ -3168,6 +3264,9 @@ msgstr ""
 "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"
+msgstr ""
+
 msgid "Envelope #10"
 msgstr ""
 
@@ -3399,6 +3498,9 @@ msgstr "FanFold Legal alemán"
 msgid "Fanfold US"
 msgstr "FanFold de EE.UU"
 
+msgid "Fast Grayscale"
+msgstr ""
+
 #, c-format
 msgid "File \"%s\" contains a relative path."
 msgstr "El archivo \"%s\" contiene una ruta relativa."
@@ -3434,12 +3536,21 @@ msgstr ""
 msgid "Finished page %d."
 msgstr "Acabada la página %d."
 
+msgid "Finishing"
+msgstr ""
+
+msgid "Fold"
+msgstr ""
+
 msgid "Folio"
 msgstr "Folio"
 
 msgid "Forbidden"
 msgstr "Prohibido"
 
+msgid "Gate Fold"
+msgstr ""
+
 msgid "General"
 msgstr "General"
 
@@ -3452,6 +3563,9 @@ msgstr "Get-Response-PDU usa una longitud indefinida"
 msgid "Glossy Paper"
 msgstr "Papel satinado"
 
+msgid "Glossy Photo"
+msgstr ""
+
 msgid "Got a printer-uri attribute but no job-id."
 msgstr "Se ha obtenido el atributo printer-uri pero no el job-id."
 
@@ -3461,6 +3575,15 @@ msgstr "Escale de grises"
 msgid "HP"
 msgstr "HP"
 
+msgid "Hagaki"
+msgstr ""
+
+msgid "Half Fold"
+msgstr ""
+
+msgid "Half Z Fold"
+msgstr ""
+
 msgid "Hanging Folder"
 msgstr "Carpeta colgante"
 
@@ -3470,6 +3593,12 @@ msgstr ""
 msgid "Help file not in index."
 msgstr "El archivo de ayuda no está en el índice."
 
+msgid "High"
+msgstr ""
+
+msgid "High-Gloss Photo"
+msgstr ""
+
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr "Atributo IPP 1setOf con etiquetas de valor incompatibles."
 
@@ -3705,15 +3834,24 @@ msgstr "Las suscripciones de trabajos no han podido ser renovadas."
 msgid "Jobs"
 msgstr "Trabajos"
 
+msgid "Jog"
+msgstr ""
+
 msgid "LPD/LPR Host or Printer"
 msgstr "Equipo o impresora LPD/LPR"
 
+msgid "Label"
+msgstr ""
+
 msgid "Label Printer"
 msgstr "Impresora de etiquetas"
 
 msgid "Label Top"
 msgstr "Parte superior de la etiqueta"
 
+msgid "Laminate"
+msgstr ""
+
 #, c-format
 msgid "Language \"%s\" not supported."
 msgstr "No se admite el uso del idioma \"%s\"."
@@ -3721,15 +3859,30 @@ msgstr "No se admite el uso del idioma \"%s\"."
 msgid "Large Address"
 msgstr "Dirección grande"
 
+msgid "Large Capacity"
+msgstr ""
+
 msgid "LaserJet Series PCL 4/5"
 msgstr "LaserJet Series PCL 4/5"
 
+msgid "Left"
+msgstr ""
+
+msgid "Left Gate Fold"
+msgstr ""
+
+msgid "Letter Fold"
+msgstr ""
+
 msgid "Letter Oversize"
 msgstr "Carta Extragrande"
 
 msgid "Letter Oversize Long Edge"
 msgstr "Carta Extragrande lado largo"
 
+msgid "Letterhead"
+msgstr ""
+
 msgid "Light"
 msgstr "Ligero"
 
@@ -3751,9 +3904,21 @@ msgstr "Lado largo (retrato)"
 msgid "Looking for printer..."
 msgstr ""
 
+msgid "Main"
+msgstr ""
+
+msgid "Main Roll"
+msgstr ""
+
+msgid "Manual"
+msgstr ""
+
 msgid "Manual Feed"
 msgstr "Alimentación manual"
 
+msgid "Matte Photo"
+msgstr ""
+
 msgid "Media Size"
 msgstr "Tamaño de papel"
 
@@ -3772,6 +3937,9 @@ msgstr "Media"
 msgid "Memory allocation error"
 msgstr "Error de reserva de memoria"
 
+msgid "Middle"
+msgstr ""
+
 msgid "Missing CloseGroup"
 msgstr "Falta CloseGroup"
 
@@ -3865,6 +4033,9 @@ msgstr "Mover trabajo"
 msgid "Moved Permanently"
 msgstr "Movido permanentemente"
 
+msgid "Multipurpose"
+msgstr ""
+
 msgid "NULL PPD file pointer"
 msgstr "Puntero de archivo PPD NULO"
 
@@ -3883,6 +4054,9 @@ msgstr "No"
 msgid "No Content"
 msgstr "No hay contenido"
 
+msgid "No Finishing"
+msgstr ""
+
 msgid "No PPD name"
 msgstr "No hay nombre de PPD"
 
@@ -4050,6 +4224,9 @@ msgstr "Opciones instaladas"
 msgid "Options:"
 msgstr "Opciones:"
 
+msgid "Other"
+msgstr ""
+
 msgid "Out of date PPD cache file."
 msgstr "Archivo de caché PPD obsoleto."
 
@@ -4110,6 +4287,9 @@ msgstr "La bandeja de papel está vacía."
 msgid "Paper tray is missing."
 msgstr "No se encuentra la bandeja de papel."
 
+msgid "Parallel Fold"
+msgstr ""
+
 msgid "ParamCustominCutInterval"
 msgstr "ParamCustominCutInterval"
 
@@ -4163,6 +4343,9 @@ msgstr "Postal doble lado largo"
 msgid "Postcard Long Edge"
 msgstr "Postal lado largo"
 
+msgid "Poster Fold"
+msgstr ""
+
 msgid "Preparing to print."
 msgstr "Preparando la impresión."
 
@@ -4175,6 +4358,9 @@ msgstr "Imprimir trabajo:"
 msgid "Print Mode"
 msgstr "Modo de impresión"
 
+msgid "Print Quality"
+msgstr ""
+
 msgid "Print Rate"
 msgstr "Tasa de impresión"
 
@@ -4243,6 +4429,9 @@ msgstr "Impresoras"
 msgid "Printing page %d, %u%% complete."
 msgstr "Imprimiendo página %d, %u%% completado."
 
+msgid "Punch"
+msgstr ""
+
 msgid "Quarto"
 msgstr "Quarto"
 
@@ -4252,6 +4441,9 @@ msgstr "Se ha alcanzado el límite de cuota."
 msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr "Rango  Propiet. Trabajo Archivo(s)                      Tamaño total"
 
+msgid "Rear"
+msgstr ""
+
 msgid "Reject Jobs"
 msgstr "Rechazar trabajos"
 
@@ -4284,6 +4476,42 @@ msgstr "Remite"
 msgid "Rewind"
 msgstr "Rebobinar"
 
+msgid "Right"
+msgstr ""
+
+msgid "Right Gate Fold"
+msgstr ""
+
+msgid "Roll 1"
+msgstr ""
+
+msgid "Roll 10"
+msgstr ""
+
+msgid "Roll 2"
+msgstr ""
+
+msgid "Roll 3"
+msgstr ""
+
+msgid "Roll 4"
+msgstr ""
+
+msgid "Roll 5"
+msgstr ""
+
+msgid "Roll 6"
+msgstr ""
+
+msgid "Roll 7"
+msgstr ""
+
+msgid "Roll 8"
+msgstr ""
+
+msgid "Roll 9"
+msgstr ""
+
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
 msgstr "Ejecutando comando: %s %s -N -A %s -c '%s'"
@@ -4294,12 +4522,21 @@ msgstr "SEQUENCE usa una longitud indefinida"
 msgid "SSL/TLS Negotiation Error"
 msgstr "Error en negociación SSL/TLS"
 
+msgid "Saddle Stitch"
+msgstr ""
+
+msgid "Satin Photo"
+msgstr ""
+
 msgid "See Other"
 msgstr "Ver otros"
 
 msgid "See remote printer."
 msgstr ""
 
+msgid "Semi-Gloss Photo"
+msgstr ""
+
 msgid "Sending data to printer."
 msgstr "Enviando datos a la impresora."
 
@@ -4342,6 +4579,33 @@ msgstr "Dirección de envío"
 msgid "Short-Edge (Landscape)"
 msgstr "Lado corto (apaisado)"
 
+msgid "Side"
+msgstr ""
+
+msgid "Single Punch (Landscape)"
+msgstr ""
+
+msgid "Single Punch (Portrait)"
+msgstr ""
+
+msgid "Single Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "Single Staple (Landscape)"
+msgstr ""
+
+msgid "Single Staple (Portrait)"
+msgstr ""
+
+msgid "Single Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "Special Paper"
 msgstr "Papel especial"
 
@@ -4352,6 +4616,24 @@ msgstr "Guardando trabajo en cola, %.0f%% completado."
 msgid "Standard"
 msgstr "Estándar"
 
+msgid "Staple"
+msgstr ""
+
+msgid "Staple Edge"
+msgstr ""
+
+msgid "Staple Edge (Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Portrait)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Portrait)"
+msgstr ""
+
 #. TRANSLATORS: Banner/cover sheet before the print job.
 msgid "Starting Banner"
 msgstr "Rótulo inicial"
@@ -4594,6 +4876,9 @@ msgstr "Demasiados valores de job-sheets (%d > 2)."
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr "Demasiados valores printer-state-reasons (%d > %d)."
 
+msgid "Top"
+msgstr ""
+
 msgid "Transparency"
 msgstr "Transparencia"
 
@@ -4603,15 +4888,75 @@ msgstr "Bandeja"
 msgid "Tray 1"
 msgstr "Bandeja 1"
 
+msgid "Tray 10"
+msgstr ""
+
+msgid "Tray 11"
+msgstr ""
+
+msgid "Tray 12"
+msgstr ""
+
+msgid "Tray 13"
+msgstr ""
+
+msgid "Tray 14"
+msgstr ""
+
+msgid "Tray 15"
+msgstr ""
+
+msgid "Tray 16"
+msgstr ""
+
+msgid "Tray 17"
+msgstr ""
+
+msgid "Tray 18"
+msgstr ""
+
+msgid "Tray 19"
+msgstr ""
+
 msgid "Tray 2"
 msgstr "Bandeja 2"
 
+msgid "Tray 20"
+msgstr ""
+
 msgid "Tray 3"
 msgstr "Bandeja 3"
 
 msgid "Tray 4"
 msgstr "Bandeja 4"
 
+msgid "Tray 5"
+msgstr ""
+
+msgid "Tray 6"
+msgstr ""
+
+msgid "Tray 7"
+msgstr ""
+
+msgid "Tray 8"
+msgstr ""
+
+msgid "Tray 9"
+msgstr ""
+
+msgid "Triple Staple (Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Portrait)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "URI Too Long"
 msgstr "URI demasiado largo"
 
@@ -5125,19 +5470,8 @@ msgstr "Uso: cupstestdsc [opciones] nombre_archivo.ps [... nombre_archivo.ps]"
 msgid ""
 "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
 msgstr ""
-"Uso: cupstestppd [opciones] nombre_archivo1.ppd[.gz] [... nombre_archivoN.ppd"
-"[.gz]]"
-
-msgid ""
-"Usage: ippdiscover [options] -a\n"
-"       ippdiscover [options] \"service name\"\n"
-"\n"
-"Options:"
-msgstr ""
-"Uso: ippdiscover [opciones] -a\n"
-"       ippdiscover [opciones] \"nombre servicio\"\n"
-"\n"
-"Opciones:"
+"Uso: cupstestppd [opciones] nombre_archivo1.ppd[.gz] [... nombre_archivoN."
+"ppd[.gz]]"
 
 msgid ""
 "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
@@ -5232,6 +5566,9 @@ msgstr ""
 "Debe acceder a esta página usando el URL <A HREF=\"https://%s:%d%s\">https://"
 "%s:%d%s</A>."
 
+msgid "Z Fold"
+msgstr ""
+
 msgid "ZPL Label Printer"
 msgstr "Impresora de etiquetas ZPL"
 
@@ -6159,6 +6496,22 @@ msgstr "variable-bindings usa una longitud indefinida"
 #~ msgid "\tInterface: %s/interfaces/%s"
 #~ msgstr "\tInterfaz: %s/interfaces/%s"
 
+#~ msgid "  -a                      Browse for all services."
+#~ msgstr "  -a                      Explorar todos los servicios."
+
+#~ msgid "  -d domain               Browse/resolve in specified domain."
+#~ msgstr ""
+#~ "  -d dominio               Explora/resuelve en el dominio especificado."
+
+#~ msgid "  -p program              Run specified program for each service."
+#~ msgstr ""
+#~ "  -p program              Ejecuta el programa especificado para cada "
+#~ "servicio."
+
+#~ msgid "  -t type                 Browse/resolve with specified type."
+#~ msgstr ""
+#~ "  -t tipo                 Explora/resuelve con el tipo especificado."
+
 #~ msgid "Envelope #10 "
 #~ msgstr "Sobre #10 "
 
@@ -6184,6 +6537,17 @@ msgstr "variable-bindings usa una longitud indefinida"
 #~ msgid "Unable to copy interface script - %s"
 #~ msgstr "No se ha podido copiar el script de interfaz - %s"
 
+#~ msgid ""
+#~ "Usage: ippdiscover [options] -a\n"
+#~ "       ippdiscover [options] \"service name\"\n"
+#~ "\n"
+#~ "Options:"
+#~ msgstr ""
+#~ "Uso: ippdiscover [opciones] -a\n"
+#~ "       ippdiscover [opciones] \"nombre servicio\"\n"
+#~ "\n"
+#~ "Opciones:"
+
 #~ msgid "lpadmin: Expected PPD after \"-P\" option."
 #~ msgstr "lpadmin: Se esperaba un PPD tras la opción \"-P\"."
 
index 33c9bb701702f98e82dd1e5cc2433dda2bee4038..0f3eed11d0cb7e48d8e6ef0fe95cda718ef2e66c 100644 (file)
@@ -29,7 +29,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2016-04-11 20:30-0400\n"
+"POT-Creation-Date: 2016-05-02 18:01-0400\n"
 "PO-Revision-Date: 2012-12-12 11:12+0100\n"
 "Last-Translator: denis meramdjougoma <dcmeram@libertysurf.fr>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -967,9 +967,6 @@ msgstr ""
 msgid "  -X                      Produce XML plist instead of plain text."
 msgstr ""
 
-msgid "  -a                      Browse for all services."
-msgstr ""
-
 msgid "  -a                      Export all printers."
 msgstr ""
 
@@ -985,9 +982,6 @@ msgstr ""
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr ""
 
-msgid "  -d domain               Browse/resolve in specified domain."
-msgstr ""
-
 msgid "  -d name=value           Set named variable to value."
 msgstr ""
 
@@ -1075,9 +1069,6 @@ msgstr ""
 msgid "  -p filename.ppd         Set PPD file."
 msgstr ""
 
-msgid "  -p program              Run specified program for each service."
-msgstr ""
-
 msgid "  -q                      Quietly report match via exit code."
 msgstr ""
 
@@ -1111,9 +1102,6 @@ msgstr ""
 msgid "  -t title                Set title."
 msgstr ""
 
-msgid "  -t type                 Browse/resolve with specified type."
-msgstr ""
-
 msgid "  -u                      Remove the PPD file when finished."
 msgstr ""
 
@@ -1983,6 +1971,18 @@ msgstr "2"
 msgid "2 inches/sec."
 msgstr "2 po/s"
 
+msgid "2-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "2-Sided Printing"
 msgstr "Impression recto-verso"
 
@@ -2097,6 +2097,18 @@ msgstr "3 po/s"
 msgid "3 x 5"
 msgstr ""
 
+msgid "3-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "3.00x1.00\""
 msgstr "3,00 x 1,00\""
 
@@ -2163,6 +2175,18 @@ msgstr "4"
 msgid "4 inches/sec."
 msgstr "4 po/s"
 
+msgid "4-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "4.00x1.00\""
 msgstr "4,00 x 1,00\""
 
@@ -2459,6 +2483,9 @@ msgstr "Accepter les tâches"
 msgid "Accepted"
 msgstr "Accepté"
 
+msgid "Accordian Fold"
+msgstr ""
+
 msgid "Add Class"
 msgstr "Ajouter une classe"
 
@@ -2474,6 +2501,12 @@ msgstr "Adresse"
 msgid "Administration"
 msgstr "Administration"
 
+msgid "Alternate"
+msgstr ""
+
+msgid "Alternate Roll"
+msgstr ""
+
 msgid "Always"
 msgstr "Toujours"
 
@@ -2499,6 +2532,9 @@ msgstr ""
 msgid "Attribute groups are out of order (%x < %x)."
 msgstr ""
 
+msgid "Automatic"
+msgstr ""
+
 msgid "B0"
 msgstr "B0"
 
@@ -2682,19 +2718,46 @@ msgstr ""
 msgid "Bad/empty URI"
 msgstr ""
 
+msgid "Bale"
+msgstr ""
+
 msgid "Banners"
 msgstr "Bannières"
 
+msgid "Bind"
+msgstr ""
+
+msgid "Bind (Landscape)"
+msgstr ""
+
+msgid "Bind (Portrait)"
+msgstr ""
+
+msgid "Bind (Reverse Landscape)"
+msgstr ""
+
+msgid "Bind (Reverse Portrait)"
+msgstr ""
+
 msgid "Bond Paper"
 msgstr "Papier pour titres"
 
+msgid "Booklet Maker"
+msgstr ""
+
 #, c-format
 msgid "Boolean expected for waiteof option \"%s\"."
 msgstr ""
 
+msgid "Bottom"
+msgstr ""
+
 msgid "Buffer overflow detected, aborting."
 msgstr ""
 
+msgid "CD/DVD/Bluray"
+msgstr ""
+
 msgid "CMYK"
 msgstr "CMJN"
 
@@ -2716,9 +2779,15 @@ msgstr ""
 msgid "Cannot share a remote Kerberized printer."
 msgstr ""
 
+msgid "Cardstock"
+msgstr ""
+
 msgid "Cassette"
 msgstr ""
 
+msgid "Center"
+msgstr ""
+
 msgid "Change Settings"
 msgstr "Modifier les paramètres"
 
@@ -2735,6 +2804,9 @@ msgstr "Nettoyer les têtes d’impression"
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr ""
 
+msgid "Coat"
+msgstr ""
+
 msgid "Color"
 msgstr "Couleur"
 
@@ -2768,6 +2840,9 @@ msgstr ""
 msgid "Copying print data."
 msgstr ""
 
+msgid "Cover"
+msgstr ""
+
 msgid "Created"
 msgstr "Créé"
 
@@ -2783,6 +2858,9 @@ msgstr "CustominTearInterval"
 msgid "Cut"
 msgstr "Couper"
 
+msgid "Cut Media"
+msgstr ""
+
 msgid "Cutter"
 msgstr "Cutter"
 
@@ -2844,10 +2922,31 @@ msgstr ""
 msgid "Disabled"
 msgstr "Désactivé"
 
+msgid "Disc"
+msgstr ""
+
 #, c-format
 msgid "Document #%d does not exist in job #%d."
 msgstr ""
 
+msgid "Double Gate Fold"
+msgstr ""
+
+msgid "Double Staple (Landscape)"
+msgstr ""
+
+msgid "Double Staple (Portrait)"
+msgstr ""
+
+msgid "Double Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Double Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "Draft"
+msgstr ""
+
 msgid "Duplexer"
 msgstr "Duplexeur"
 
@@ -2882,6 +2981,9 @@ msgid ""
 "valid Kerberos ticket."
 msgstr ""
 
+msgid "Envelope"
+msgstr ""
+
 msgid "Envelope #10"
 msgstr ""
 
@@ -3113,6 +3215,9 @@ msgstr ""
 msgid "Fanfold US"
 msgstr ""
 
+msgid "Fast Grayscale"
+msgstr ""
+
 #, c-format
 msgid "File \"%s\" contains a relative path."
 msgstr ""
@@ -3146,12 +3251,21 @@ msgstr ""
 msgid "Finished page %d."
 msgstr ""
 
+msgid "Finishing"
+msgstr ""
+
+msgid "Fold"
+msgstr ""
+
 msgid "Folio"
 msgstr "Folio"
 
 msgid "Forbidden"
 msgstr ""
 
+msgid "Gate Fold"
+msgstr ""
+
 msgid "General"
 msgstr ""
 
@@ -3164,6 +3278,9 @@ msgstr "Get-Response-PDU s’avère être de longueur indéfinie"
 msgid "Glossy Paper"
 msgstr "Papier brillant"
 
+msgid "Glossy Photo"
+msgstr ""
+
 msgid "Got a printer-uri attribute but no job-id."
 msgstr ""
 
@@ -3173,6 +3290,15 @@ msgstr "Niveaux de gris"
 msgid "HP"
 msgstr "HP"
 
+msgid "Hagaki"
+msgstr ""
+
+msgid "Half Fold"
+msgstr ""
+
+msgid "Half Z Fold"
+msgstr ""
+
 msgid "Hanging Folder"
 msgstr "Dossier suspendu"
 
@@ -3182,6 +3308,12 @@ msgstr ""
 msgid "Help file not in index."
 msgstr ""
 
+msgid "High"
+msgstr ""
+
+msgid "High-Gloss Photo"
+msgstr ""
+
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr ""
 
@@ -3417,15 +3549,24 @@ msgstr ""
 msgid "Jobs"
 msgstr "Tâches"
 
+msgid "Jog"
+msgstr ""
+
 msgid "LPD/LPR Host or Printer"
 msgstr "Hôte ou imprimante LPD/LPR"
 
+msgid "Label"
+msgstr ""
+
 msgid "Label Printer"
 msgstr "Imprimante pour étiquettes"
 
 msgid "Label Top"
 msgstr "Étiquette supérieure"
 
+msgid "Laminate"
+msgstr ""
+
 #, c-format
 msgid "Language \"%s\" not supported."
 msgstr ""
@@ -3433,15 +3574,30 @@ msgstr ""
 msgid "Large Address"
 msgstr "Adresse étendue"
 
+msgid "Large Capacity"
+msgstr ""
+
 msgid "LaserJet Series PCL 4/5"
 msgstr "LaserJet série PCL 4/5"
 
+msgid "Left"
+msgstr ""
+
+msgid "Left Gate Fold"
+msgstr ""
+
+msgid "Letter Fold"
+msgstr ""
+
 msgid "Letter Oversize"
 msgstr ""
 
 msgid "Letter Oversize Long Edge"
 msgstr ""
 
+msgid "Letterhead"
+msgstr ""
+
 msgid "Light"
 msgstr "Clair"
 
@@ -3463,9 +3619,21 @@ msgstr "Bord le plus long (Portrait)"
 msgid "Looking for printer..."
 msgstr ""
 
+msgid "Main"
+msgstr ""
+
+msgid "Main Roll"
+msgstr ""
+
+msgid "Manual"
+msgstr ""
+
 msgid "Manual Feed"
 msgstr ""
 
+msgid "Matte Photo"
+msgstr ""
+
 msgid "Media Size"
 msgstr "Taille du papier"
 
@@ -3484,6 +3652,9 @@ msgstr "Moyen"
 msgid "Memory allocation error"
 msgstr "Erreur d’allocation de mémoire"
 
+msgid "Middle"
+msgstr ""
+
 msgid "Missing CloseGroup"
 msgstr ""
 
@@ -3573,6 +3744,9 @@ msgstr "Transférer la tâche"
 msgid "Moved Permanently"
 msgstr "Transférées de façon permanente"
 
+msgid "Multipurpose"
+msgstr ""
+
 msgid "NULL PPD file pointer"
 msgstr "Pointeur de fichier PPD NULL."
 
@@ -3591,6 +3765,9 @@ msgstr "Non"
 msgid "No Content"
 msgstr "Aucun contenu"
 
+msgid "No Finishing"
+msgstr ""
+
 msgid "No PPD name"
 msgstr ""
 
@@ -3755,6 +3932,9 @@ msgstr "Options installées"
 msgid "Options:"
 msgstr "Options"
 
+msgid "Other"
+msgstr ""
+
 msgid "Out of date PPD cache file."
 msgstr ""
 
@@ -3815,6 +3995,9 @@ msgstr ""
 msgid "Paper tray is missing."
 msgstr ""
 
+msgid "Parallel Fold"
+msgstr ""
+
 msgid "ParamCustominCutInterval"
 msgstr "ParamCustominCutInterval"
 
@@ -3868,6 +4051,9 @@ msgstr ""
 msgid "Postcard Long Edge"
 msgstr ""
 
+msgid "Poster Fold"
+msgstr ""
+
 msgid "Preparing to print."
 msgstr ""
 
@@ -3880,6 +4066,9 @@ msgstr "Tâche d’impression :"
 msgid "Print Mode"
 msgstr "Mode d’impression"
 
+msgid "Print Quality"
+msgstr ""
+
 msgid "Print Rate"
 msgstr "aux d’impression"
 
@@ -3948,6 +4137,9 @@ msgstr ""
 msgid "Printing page %d, %u%% complete."
 msgstr ""
 
+msgid "Punch"
+msgstr ""
+
 msgid "Quarto"
 msgstr "Quarto"
 
@@ -3957,6 +4149,9 @@ msgstr ""
 msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr ""
 
+msgid "Rear"
+msgstr ""
+
 msgid "Reject Jobs"
 msgstr "Refuser les tâches"
 
@@ -3989,6 +4184,42 @@ msgstr "Renvoyer l’adresse"
 msgid "Rewind"
 msgstr "Rembobiner"
 
+msgid "Right"
+msgstr ""
+
+msgid "Right Gate Fold"
+msgstr ""
+
+msgid "Roll 1"
+msgstr ""
+
+msgid "Roll 10"
+msgstr ""
+
+msgid "Roll 2"
+msgstr ""
+
+msgid "Roll 3"
+msgstr ""
+
+msgid "Roll 4"
+msgstr ""
+
+msgid "Roll 5"
+msgstr ""
+
+msgid "Roll 6"
+msgstr ""
+
+msgid "Roll 7"
+msgstr ""
+
+msgid "Roll 8"
+msgstr ""
+
+msgid "Roll 9"
+msgstr ""
+
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
 msgstr ""
@@ -3999,12 +4230,21 @@ msgstr "SEQUENCE s’avère être de longueur indéfinie"
 msgid "SSL/TLS Negotiation Error"
 msgstr ""
 
+msgid "Saddle Stitch"
+msgstr ""
+
+msgid "Satin Photo"
+msgstr ""
+
 msgid "See Other"
 msgstr "Autres"
 
 msgid "See remote printer."
 msgstr ""
 
+msgid "Semi-Gloss Photo"
+msgstr ""
+
 msgid "Sending data to printer."
 msgstr ""
 
@@ -4047,6 +4287,33 @@ msgstr "Adresse de livraison"
 msgid "Short-Edge (Landscape)"
 msgstr "Bord le plus court (paysage)"
 
+msgid "Side"
+msgstr ""
+
+msgid "Single Punch (Landscape)"
+msgstr ""
+
+msgid "Single Punch (Portrait)"
+msgstr ""
+
+msgid "Single Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "Single Staple (Landscape)"
+msgstr ""
+
+msgid "Single Staple (Portrait)"
+msgstr ""
+
+msgid "Single Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "Special Paper"
 msgstr "Papier spécial"
 
@@ -4057,6 +4324,24 @@ msgstr ""
 msgid "Standard"
 msgstr "Standard"
 
+msgid "Staple"
+msgstr ""
+
+msgid "Staple Edge"
+msgstr ""
+
+msgid "Staple Edge (Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Portrait)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Portrait)"
+msgstr ""
+
 #. TRANSLATORS: Banner/cover sheet before the print job.
 msgid "Starting Banner"
 msgstr "Début de la bannière"
@@ -4294,6 +4579,9 @@ msgstr ""
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr ""
 
+msgid "Top"
+msgstr ""
+
 msgid "Transparency"
 msgstr "Transparence"
 
@@ -4303,15 +4591,75 @@ msgstr "Bac"
 msgid "Tray 1"
 msgstr "Bac 1"
 
+msgid "Tray 10"
+msgstr ""
+
+msgid "Tray 11"
+msgstr ""
+
+msgid "Tray 12"
+msgstr ""
+
+msgid "Tray 13"
+msgstr ""
+
+msgid "Tray 14"
+msgstr ""
+
+msgid "Tray 15"
+msgstr ""
+
+msgid "Tray 16"
+msgstr ""
+
+msgid "Tray 17"
+msgstr ""
+
+msgid "Tray 18"
+msgstr ""
+
+msgid "Tray 19"
+msgstr ""
+
 msgid "Tray 2"
 msgstr "Bac 2"
 
+msgid "Tray 20"
+msgstr ""
+
 msgid "Tray 3"
 msgstr "Bac 3"
 
 msgid "Tray 4"
 msgstr "Bac 4"
 
+msgid "Tray 5"
+msgstr ""
+
+msgid "Tray 6"
+msgstr ""
+
+msgid "Tray 7"
+msgstr ""
+
+msgid "Tray 8"
+msgstr ""
+
+msgid "Tray 9"
+msgstr ""
+
+msgid "Triple Staple (Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Portrait)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "URI Too Long"
 msgstr "URI trop long"
 
@@ -4781,13 +5129,6 @@ msgid ""
 "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
 msgstr ""
 
-msgid ""
-"Usage: ippdiscover [options] -a\n"
-"       ippdiscover [options] \"service name\"\n"
-"\n"
-"Options:"
-msgstr ""
-
 msgid ""
 "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
 "       ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
@@ -4866,6 +5207,9 @@ msgstr ""
 "Vous devez accéder à cette page par l’URL <A HREF=\"https://%s:%d%s"
 "\">https://%s:%d%s</A>."
 
+msgid "Z Fold"
+msgstr ""
+
 msgid "ZPL Label Printer"
 msgstr "Imprimante pour étiquettes ZPL"
 
index f07ff201e2037077d7e2f356a14e1e0fdca69036..a657aa7532a807e37846ad8176d04063ecb34198 100644 (file)
@@ -29,7 +29,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2016-04-11 20:30-0400\n"
+"POT-Creation-Date: 2016-05-02 18:01-0400\n"
 "PO-Revision-Date: 2013-07-14 12:00+0200\n"
 "Last-Translator: Giovanni Scafora <giovanni@archlinux.org>\n"
 "Language-Team: Arch Linux Italian Team <giovanni@archlinux.org>\n"
@@ -1140,9 +1140,6 @@ msgid "  -X                      Produce XML plist instead of plain text."
 msgstr ""
 "  -X                      Produce una plist XML invece di un testo normale."
 
-msgid "  -a                      Browse for all services."
-msgstr "  -a                      Mostra tutti i servizi."
-
 msgid "  -a                      Export all printers."
 msgstr "  -a                      Esporta tutte le stampanti."
 
@@ -1159,9 +1156,6 @@ msgstr ""
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr "  -c cupsd.conf           Imposta il file cupsd.conf da utilizzare."
 
-msgid "  -d domain               Browse/resolve in specified domain."
-msgstr "  -d domain               Mostra/risolve il dominio specificato."
-
 msgid "  -d name=value           Set named variable to value."
 msgstr "  -d name=value           Imposta la variabile specificata al valore."
 
@@ -1265,10 +1259,6 @@ msgstr "  -p                      Stampa l'URI se vero."
 msgid "  -p filename.ppd         Set PPD file."
 msgstr "  -p filename.ppd         Imposta il file PPD."
 
-msgid "  -p program              Run specified program for each service."
-msgstr ""
-"  -p program              Avvia il programma specificato per ogni servizio."
-
 msgid "  -q                      Quietly report match via exit code."
 msgstr ""
 "  -q                      Riporta silenziosamente la corrispondenza tramite "
@@ -1304,9 +1294,6 @@ msgstr "  -t key                  Vero se il record di TXT contiene la chiave."
 msgid "  -t title                Set title."
 msgstr "  -t title                Imposta il titolo."
 
-msgid "  -t type                 Browse/resolve with specified type."
-msgstr "  -t type                 Mostra/risolve con il tipo specificato."
-
 msgid "  -u                      Remove the PPD file when finished."
 msgstr "  -u                      Rimuove il file PPD una volta terminato."
 
@@ -2249,6 +2236,18 @@ msgstr "2"
 msgid "2 inches/sec."
 msgstr "2 inches/sec."
 
+msgid "2-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "2-Sided Printing"
 msgstr "2-Sided Printing"
 
@@ -2363,6 +2362,18 @@ msgstr "3 inches/sec."
 msgid "3 x 5"
 msgstr "3 x 5"
 
+msgid "3-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "3.00x1.00\""
 msgstr "3.00x1.00\""
 
@@ -2429,6 +2440,18 @@ msgstr "4"
 msgid "4 inches/sec."
 msgstr "4 inches/sec."
 
+msgid "4-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "4.00x1.00\""
 msgstr "4.00x1.00\""
 
@@ -2727,6 +2750,9 @@ msgstr "Accetta le stampe"
 msgid "Accepted"
 msgstr "Accettato"
 
+msgid "Accordian Fold"
+msgstr ""
+
 msgid "Add Class"
 msgstr "Aggiungi una classe"
 
@@ -2742,6 +2768,12 @@ msgstr "Indirizzo"
 msgid "Administration"
 msgstr "Amministrazione"
 
+msgid "Alternate"
+msgstr ""
+
+msgid "Alternate Roll"
+msgstr ""
+
 msgid "Always"
 msgstr "Sempre"
 
@@ -2767,6 +2799,9 @@ msgstr ""
 msgid "Attribute groups are out of order (%x < %x)."
 msgstr "I gruppi degli attributi sono fuori uso (%x < %x)."
 
+msgid "Automatic"
+msgstr ""
+
 msgid "B0"
 msgstr "B0"
 
@@ -2950,19 +2985,46 @@ msgstr "La stringa ha un valore che non è valido"
 msgid "Bad/empty URI"
 msgstr ""
 
+msgid "Bale"
+msgstr ""
+
 msgid "Banners"
 msgstr "Banner"
 
+msgid "Bind"
+msgstr ""
+
+msgid "Bind (Landscape)"
+msgstr ""
+
+msgid "Bind (Portrait)"
+msgstr ""
+
+msgid "Bind (Reverse Landscape)"
+msgstr ""
+
+msgid "Bind (Reverse Portrait)"
+msgstr ""
+
 msgid "Bond Paper"
 msgstr "Carta per scrivere"
 
+msgid "Booklet Maker"
+msgstr ""
+
 #, c-format
 msgid "Boolean expected for waiteof option \"%s\"."
 msgstr "È previsto un valore booleano per l'opzione waiteof \"%s\"."
 
+msgid "Bottom"
+msgstr ""
+
 msgid "Buffer overflow detected, aborting."
 msgstr "È stato individuato un buffer overflow, operazione annullata."
 
+msgid "CD/DVD/Bluray"
+msgstr ""
+
 msgid "CMYK"
 msgstr "CMYK"
 
@@ -2984,9 +3046,15 @@ msgstr ""
 msgid "Cannot share a remote Kerberized printer."
 msgstr "Non è possibile condividere una stampante remota kerberizzata."
 
+msgid "Cardstock"
+msgstr ""
+
 msgid "Cassette"
 msgstr "Caricatore"
 
+msgid "Center"
+msgstr ""
+
 msgid "Change Settings"
 msgstr "Modifica le impostazioni"
 
@@ -3003,6 +3071,9 @@ msgstr "Pulisci le testine della stampante"
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr "Close-Job non supporta l'attributo job-uri."
 
+msgid "Coat"
+msgstr ""
+
 msgid "Color"
 msgstr "Colore"
 
@@ -3039,6 +3110,9 @@ msgstr "Il file del controllo è stato inviato con successo."
 msgid "Copying print data."
 msgstr "Copia dei dati di stampa in corso."
 
+msgid "Cover"
+msgstr ""
+
 msgid "Created"
 msgstr "Creato"
 
@@ -3054,6 +3128,9 @@ msgstr "CustominTearInterval"
 msgid "Cut"
 msgstr "Taglia"
 
+msgid "Cut Media"
+msgstr ""
+
 msgid "Cutter"
 msgstr "Taglierino"
 
@@ -3122,10 +3199,31 @@ msgstr "Directory \"%s\" permessi OK (0%o/uid=%d/gid=%d)."
 msgid "Disabled"
 msgstr "Disabilitato"
 
+msgid "Disc"
+msgstr ""
+
 #, c-format
 msgid "Document #%d does not exist in job #%d."
 msgstr "Il documento #%d non esiste nel processo #%d."
 
+msgid "Double Gate Fold"
+msgstr ""
+
+msgid "Double Staple (Landscape)"
+msgstr ""
+
+msgid "Double Staple (Portrait)"
+msgstr ""
+
+msgid "Double Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Double Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "Draft"
+msgstr ""
+
 msgid "Duplexer"
 msgstr "Duplexer"
 
@@ -3163,6 +3261,9 @@ msgstr ""
 "per accedere a questa pagina. Se si utilizza l'autenticazione Kerberos, "
 "assicurarsi di disporre di un ticket di Kerberos valido."
 
+msgid "Envelope"
+msgstr ""
+
 msgid "Envelope #10"
 msgstr ""
 
@@ -3394,6 +3495,9 @@ msgstr "FanFold Legal German"
 msgid "Fanfold US"
 msgstr "FanFold US"
 
+msgid "Fast Grayscale"
+msgstr ""
+
 #, c-format
 msgid "File \"%s\" contains a relative path."
 msgstr "Il file \"%s\" contiene un path relativo."
@@ -3429,12 +3533,21 @@ msgstr ""
 msgid "Finished page %d."
 msgstr "Finito pagina %d."
 
+msgid "Finishing"
+msgstr ""
+
+msgid "Fold"
+msgstr ""
+
 msgid "Folio"
 msgstr "Foglio"
 
 msgid "Forbidden"
 msgstr "Vietato"
 
+msgid "Gate Fold"
+msgstr ""
+
 msgid "General"
 msgstr "Generale"
 
@@ -3447,6 +3560,9 @@ msgstr "Get-Response-PDU utilizza una lunghezza indefinita"
 msgid "Glossy Paper"
 msgstr "Carta lucida"
 
+msgid "Glossy Photo"
+msgstr ""
+
 msgid "Got a printer-uri attribute but no job-id."
 msgstr "Esiste un attributo printer-uri ma nessun job-id."
 
@@ -3456,6 +3572,15 @@ msgstr "Scala di grigi"
 msgid "HP"
 msgstr "HP"
 
+msgid "Hagaki"
+msgstr ""
+
+msgid "Half Fold"
+msgstr ""
+
+msgid "Half Z Fold"
+msgstr ""
+
 msgid "Hanging Folder"
 msgstr "Directory appesa"
 
@@ -3465,6 +3590,12 @@ msgstr ""
 msgid "Help file not in index."
 msgstr "Il file di aiuto non è nell'indice."
 
+msgid "High"
+msgstr ""
+
+msgid "High-Gloss Photo"
+msgstr ""
+
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr "L'attributo IPP 1setOf con tag di valore incompatibile."
 
@@ -3700,15 +3831,24 @@ msgstr "Le sottoscrizioni del processo non possono essere rinnovate."
 msgid "Jobs"
 msgstr "Stampe"
 
+msgid "Jog"
+msgstr ""
+
 msgid "LPD/LPR Host or Printer"
 msgstr "LPD/LPR Host o stampante"
 
+msgid "Label"
+msgstr ""
+
 msgid "Label Printer"
 msgstr "Label Printer"
 
 msgid "Label Top"
 msgstr "Label Top"
 
+msgid "Laminate"
+msgstr ""
+
 #, c-format
 msgid "Language \"%s\" not supported."
 msgstr "La lingua \"%s\" non è supportata."
@@ -3716,15 +3856,30 @@ msgstr "La lingua \"%s\" non è supportata."
 msgid "Large Address"
 msgstr "Large Address"
 
+msgid "Large Capacity"
+msgstr ""
+
 msgid "LaserJet Series PCL 4/5"
 msgstr "LaserJet Series PCL 4/5"
 
+msgid "Left"
+msgstr ""
+
+msgid "Left Gate Fold"
+msgstr ""
+
+msgid "Letter Fold"
+msgstr ""
+
 msgid "Letter Oversize"
 msgstr "Letter Oversize"
 
 msgid "Letter Oversize Long Edge"
 msgstr "Letter Oversize Long Edge"
 
+msgid "Letterhead"
+msgstr ""
+
 msgid "Light"
 msgstr "Luce"
 
@@ -3746,9 +3901,21 @@ msgstr "Long-Edge (Portrait)"
 msgid "Looking for printer..."
 msgstr ""
 
+msgid "Main"
+msgstr ""
+
+msgid "Main Roll"
+msgstr ""
+
+msgid "Manual"
+msgstr ""
+
 msgid "Manual Feed"
 msgstr "Alimentazione manuale"
 
+msgid "Matte Photo"
+msgstr ""
+
 msgid "Media Size"
 msgstr "Dimensione del supporto"
 
@@ -3767,6 +3934,9 @@ msgstr "Supporto"
 msgid "Memory allocation error"
 msgstr "Errore di allocazione della memoria"
 
+msgid "Middle"
+msgstr ""
+
 msgid "Missing CloseGroup"
 msgstr "Manca CloseGroup"
 
@@ -3860,6 +4030,9 @@ msgstr "Sposta il processo"
 msgid "Moved Permanently"
 msgstr "Spostato in modo permanente"
 
+msgid "Multipurpose"
+msgstr ""
+
 msgid "NULL PPD file pointer"
 msgstr "Puntatore del file PPD NULL"
 
@@ -3878,6 +4051,9 @@ msgstr "No"
 msgid "No Content"
 msgstr "Nessun contenuto"
 
+msgid "No Finishing"
+msgstr ""
+
 msgid "No PPD name"
 msgstr "Nessun nome del PPD"
 
@@ -4046,6 +4222,9 @@ msgstr "Opzioni installate"
 msgid "Options:"
 msgstr "Opzioni:"
 
+msgid "Other"
+msgstr ""
+
 msgid "Out of date PPD cache file."
 msgstr "Il file della cache del PPD non è aggiornato."
 
@@ -4106,6 +4285,9 @@ msgstr ""
 msgid "Paper tray is missing."
 msgstr ""
 
+msgid "Parallel Fold"
+msgstr ""
+
 msgid "ParamCustominCutInterval"
 msgstr "ParamCustominCutInterval"
 
@@ -4159,6 +4341,9 @@ msgstr "Postcard Double Long Edge"
 msgid "Postcard Long Edge"
 msgstr "Postcard Long Edge"
 
+msgid "Poster Fold"
+msgstr ""
+
 msgid "Preparing to print."
 msgstr "Preparazione per la stampa."
 
@@ -4171,6 +4356,9 @@ msgstr "Processo di stampa:"
 msgid "Print Mode"
 msgstr "Modalità di stampa"
 
+msgid "Print Quality"
+msgstr ""
+
 msgid "Print Rate"
 msgstr "Velocità di stampa"
 
@@ -4239,6 +4427,9 @@ msgstr "Stampanti"
 msgid "Printing page %d, %u%% complete."
 msgstr ""
 
+msgid "Punch"
+msgstr ""
+
 msgid "Quarto"
 msgstr "Quarto"
 
@@ -4248,6 +4439,9 @@ msgstr "Il limite della quota è stato raggiunto."
 msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr "Rank    Owner   Job     File(s)                         Total Size"
 
+msgid "Rear"
+msgstr ""
+
 msgid "Reject Jobs"
 msgstr "Stampe rifiutate"
 
@@ -4280,6 +4474,42 @@ msgstr "Ritorna l'indirizzo"
 msgid "Rewind"
 msgstr "Ricarica"
 
+msgid "Right"
+msgstr ""
+
+msgid "Right Gate Fold"
+msgstr ""
+
+msgid "Roll 1"
+msgstr ""
+
+msgid "Roll 10"
+msgstr ""
+
+msgid "Roll 2"
+msgstr ""
+
+msgid "Roll 3"
+msgstr ""
+
+msgid "Roll 4"
+msgstr ""
+
+msgid "Roll 5"
+msgstr ""
+
+msgid "Roll 6"
+msgstr ""
+
+msgid "Roll 7"
+msgstr ""
+
+msgid "Roll 8"
+msgstr ""
+
+msgid "Roll 9"
+msgstr ""
+
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
 msgstr "Avvio in corso del comando: %s %s -N -A %s -c '%s'"
@@ -4290,12 +4520,21 @@ msgstr "SEQUENZA utilizza una lunghezza indefinita"
 msgid "SSL/TLS Negotiation Error"
 msgstr "Errore di negoziazione SSL/TLS"
 
+msgid "Saddle Stitch"
+msgstr ""
+
+msgid "Satin Photo"
+msgstr ""
+
 msgid "See Other"
 msgstr "Vedi altro"
 
 msgid "See remote printer."
 msgstr ""
 
+msgid "Semi-Gloss Photo"
+msgstr ""
+
 msgid "Sending data to printer."
 msgstr "Invio dei dati alla stampante."
 
@@ -4338,6 +4577,33 @@ msgstr "Indirizzo di spedizione"
 msgid "Short-Edge (Landscape)"
 msgstr "Short-Edge (Landscape)"
 
+msgid "Side"
+msgstr ""
+
+msgid "Single Punch (Landscape)"
+msgstr ""
+
+msgid "Single Punch (Portrait)"
+msgstr ""
+
+msgid "Single Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "Single Staple (Landscape)"
+msgstr ""
+
+msgid "Single Staple (Portrait)"
+msgstr ""
+
+msgid "Single Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "Special Paper"
 msgstr "Carta speciale"
 
@@ -4348,6 +4614,24 @@ msgstr "Processo di spooling, %.0f%% completato."
 msgid "Standard"
 msgstr "Standard"
 
+msgid "Staple"
+msgstr ""
+
+msgid "Staple Edge"
+msgstr ""
+
+msgid "Staple Edge (Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Portrait)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Portrait)"
+msgstr ""
+
 #. TRANSLATORS: Banner/cover sheet before the print job.
 msgid "Starting Banner"
 msgstr "Inizio del banner"
@@ -4593,6 +4877,9 @@ msgstr "Troppi valori di job-sheets (%d > 2)."
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr "Troppi valori di printer-state-reasons (%d > %d)."
 
+msgid "Top"
+msgstr ""
+
 msgid "Transparency"
 msgstr "Trasparenza"
 
@@ -4602,15 +4889,75 @@ msgstr "Vassoio"
 msgid "Tray 1"
 msgstr "Vassoio 1"
 
+msgid "Tray 10"
+msgstr ""
+
+msgid "Tray 11"
+msgstr ""
+
+msgid "Tray 12"
+msgstr ""
+
+msgid "Tray 13"
+msgstr ""
+
+msgid "Tray 14"
+msgstr ""
+
+msgid "Tray 15"
+msgstr ""
+
+msgid "Tray 16"
+msgstr ""
+
+msgid "Tray 17"
+msgstr ""
+
+msgid "Tray 18"
+msgstr ""
+
+msgid "Tray 19"
+msgstr ""
+
 msgid "Tray 2"
 msgstr "Vassoio 2"
 
+msgid "Tray 20"
+msgstr ""
+
 msgid "Tray 3"
 msgstr "Vassoio 3"
 
 msgid "Tray 4"
 msgstr "Vassoio 4"
 
+msgid "Tray 5"
+msgstr ""
+
+msgid "Tray 6"
+msgstr ""
+
+msgid "Tray 7"
+msgstr ""
+
+msgid "Tray 8"
+msgstr ""
+
+msgid "Tray 9"
+msgstr ""
+
+msgid "Triple Staple (Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Portrait)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "URI Too Long"
 msgstr "L'URI è troppo lungo"
 
@@ -5111,17 +5458,6 @@ msgid ""
 "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
 msgstr "Uso: cupstestppd [opzioni] file1.ppd[.gz] [... fileN.ppd[.gz]]"
 
-msgid ""
-"Usage: ippdiscover [options] -a\n"
-"       ippdiscover [options] \"service name\"\n"
-"\n"
-"Options:"
-msgstr ""
-"Uso: ippdiscover [opzioni] -a\n"
-"     ippdiscover [opzioni] \"nome del servizio\"\n"
-"\n"
-"Opzioni:"
-
 msgid ""
 "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
 "       ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
@@ -5210,6 +5546,9 @@ msgstr ""
 "Bisogna accedere a questa pagina, usando l'URL <A HREF=\"https://%s:%d%s"
 "\">https://%s:%d%s</A>."
 
+msgid "Z Fold"
+msgstr ""
+
 msgid "ZPL Label Printer"
 msgstr "ZPL Label Printer"
 
@@ -6129,9 +6468,23 @@ msgstr "variable-bindings utilizza una lunghezza indefinita"
 #~ msgid "\tInterface: %s/interfaces/%s"
 #~ msgstr "\tInterfaccia: %s/interfacce/%s"
 
+#~ msgid "  -a                      Browse for all services."
+#~ msgstr "  -a                      Mostra tutti i servizi."
+
+#~ msgid "  -d domain               Browse/resolve in specified domain."
+#~ msgstr "  -d domain               Mostra/risolve il dominio specificato."
+
 #~ msgid "  -l                      Run cupsd from launchd(8)."
 #~ msgstr "  -l                      Avvia cupsd da launchd(8)."
 
+#~ msgid "  -p program              Run specified program for each service."
+#~ msgstr ""
+#~ "  -p program              Avvia il programma specificato per ogni "
+#~ "servizio."
+
+#~ msgid "  -t type                 Browse/resolve with specified type."
+#~ msgstr "  -t type                 Mostra/risolve con il tipo specificato."
+
 #~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
 #~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f byte"
 
@@ -6249,6 +6602,17 @@ msgstr "variable-bindings utilizza una lunghezza indefinita"
 #~ msgid "Usage: cupsfilter [ options ] filename"
 #~ msgstr "Uso: cupsfilter [ opzioni ] file"
 
+#~ msgid ""
+#~ "Usage: ippdiscover [options] -a\n"
+#~ "       ippdiscover [options] \"service name\"\n"
+#~ "\n"
+#~ "Options:"
+#~ msgstr ""
+#~ "Uso: ippdiscover [opzioni] -a\n"
+#~ "     ippdiscover [opzioni] \"nome del servizio\"\n"
+#~ "\n"
+#~ "Opzioni:"
+
 #~ msgid "Usage: lppasswd [-g groupname]"
 #~ msgstr "Uso: lppasswd [-g groupname]"
 
index 48b0fd059f13fc00b9879500b8e46e0d91e7412e..5e2c8ee3b9e15dfb6f9372165c7b24b5eb7fce97 100644 (file)
@@ -28,7 +28,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 2.0\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2016-04-11 20:30-0400\n"
+"POT-Creation-Date: 2016-05-02 18:01-0400\n"
 "PO-Revision-Date: 2014-11-15 19:27+0900\n"
 "Last-Translator: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
 "Language-Team: OPFC TRANSCUPS <opfc-transcups@sourceforge.jp>\n"
@@ -1129,9 +1129,6 @@ msgstr ""
 msgid "  -X                      Produce XML plist instead of plain text."
 msgstr "  -X                      プレーンテキストの代わりに XML を用いる。"
 
-msgid "  -a                      Browse for all services."
-msgstr "  -a                      すべてのサービスをブラウズする。"
-
 msgid "  -a                      Export all printers."
 msgstr "  -a                      すべてのプリンターをエクスポートする。"
 
@@ -1147,9 +1144,6 @@ msgstr "  -c cups-files.conf      cups-files.conf を利用するよう設定す
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr "  -c cupsd.conf           使用する cupsd.conf ファイルを指定する。"
 
-msgid "  -d domain               Browse/resolve in specified domain."
-msgstr "  -d <ドメイン名>         指定されたドメインでブラウズ/名前解決する。"
-
 msgid "  -d name=value           Set named variable to value."
 msgstr ""
 "  -d name=value           name で指定された変数に値 value をセットする。"
@@ -1249,11 +1243,6 @@ msgstr "  -p                      結果が真なら URI を表示する。"
 msgid "  -p filename.ppd         Set PPD file."
 msgstr "  -p filename.ppd         PPD ファイルを指定する。"
 
-msgid "  -p program              Run specified program for each service."
-msgstr ""
-"  -p <プログラム名>       指定されたプログラムをそれぞれのサービスに対し実行"
-"する。"
-
 msgid "  -q                      Quietly report match via exit code."
 msgstr ""
 "  -q                      マッチ結果を終了コードで報告し、出力をしない。"
@@ -1288,9 +1277,6 @@ msgstr "  -t <キー名>             TXT レコードがキー名を含んでい
 msgid "  -t title                Set title."
 msgstr "  -t title                タイトルを指定する。"
 
-msgid "  -t type                 Browse/resolve with specified type."
-msgstr "  -t タイプ               指定されたタイプでブラウズ/名前解決する。"
-
 msgid "  -u                      Remove the PPD file when finished."
 msgstr "  -u                      終了したときに PPD ファイルを削除する。"
 
@@ -2209,6 +2195,18 @@ msgstr "2"
 msgid "2 inches/sec."
 msgstr "2 インチ/秒"
 
+msgid "2-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "2-Sided Printing"
 msgstr "両面印刷"
 
@@ -2323,6 +2321,18 @@ msgstr "3 インチ/秒"
 msgid "3 x 5"
 msgstr "3 x 5"
 
+msgid "3-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "3.00x1.00\""
 msgstr "3.00x1.00 インチ"
 
@@ -2389,6 +2399,18 @@ msgstr "4"
 msgid "4 inches/sec."
 msgstr "4 インチ/秒"
 
+msgid "4-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "4.00x1.00\""
 msgstr "4.00x1.00 インチ"
 
@@ -2687,6 +2709,9 @@ msgstr "ジョブの受け付け"
 msgid "Accepted"
 msgstr "受け付けました"
 
+msgid "Accordian Fold"
+msgstr ""
+
 msgid "Add Class"
 msgstr "クラスの追加"
 
@@ -2702,6 +2727,12 @@ msgstr "アドレス"
 msgid "Administration"
 msgstr "管理"
 
+msgid "Alternate"
+msgstr ""
+
+msgid "Alternate Roll"
+msgstr ""
+
 msgid "Always"
 msgstr "常に有効"
 
@@ -2727,6 +2758,9 @@ msgstr ""
 msgid "Attribute groups are out of order (%x < %x)."
 msgstr "属性グループは範囲外です (%x < %x)。"
 
+msgid "Automatic"
+msgstr ""
+
 msgid "B0"
 msgstr "B0"
 
@@ -2910,19 +2944,46 @@ msgstr "値文字列がありません"
 msgid "Bad/empty URI"
 msgstr "URI が不正か空"
 
+msgid "Bale"
+msgstr ""
+
 msgid "Banners"
 msgstr "バナー"
 
+msgid "Bind"
+msgstr ""
+
+msgid "Bind (Landscape)"
+msgstr ""
+
+msgid "Bind (Portrait)"
+msgstr ""
+
+msgid "Bind (Reverse Landscape)"
+msgstr ""
+
+msgid "Bind (Reverse Portrait)"
+msgstr ""
+
 msgid "Bond Paper"
 msgstr "ボンド紙"
 
+msgid "Booklet Maker"
+msgstr ""
+
 #, c-format
 msgid "Boolean expected for waiteof option \"%s\"."
 msgstr "論理値は、waiteof オプション \"%s\" であるべきです"
 
+msgid "Bottom"
+msgstr ""
+
 msgid "Buffer overflow detected, aborting."
 msgstr "オーバーフローが検出され、中断しました。"
 
+msgid "CD/DVD/Bluray"
+msgstr ""
+
 msgid "CMYK"
 msgstr "CMYK"
 
@@ -2944,9 +3005,15 @@ msgstr ""
 msgid "Cannot share a remote Kerberized printer."
 msgstr "リモートの Kerberos 認証のプリンターを共有できません。"
 
+msgid "Cardstock"
+msgstr ""
+
 msgid "Cassette"
 msgstr "カセット"
 
+msgid "Center"
+msgstr ""
+
 msgid "Change Settings"
 msgstr "設定の変更"
 
@@ -2963,6 +3030,9 @@ msgstr "プリントヘッドクリーニング"
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr "Close-Job は job-uri 属性をサポートしていません。"
 
+msgid "Coat"
+msgstr ""
+
 msgid "Color"
 msgstr "カラー"
 
@@ -2999,6 +3069,9 @@ msgstr "コントロールファイルが正常に送信されました。"
 msgid "Copying print data."
 msgstr "印刷データをコピーしています。"
 
+msgid "Cover"
+msgstr ""
+
 msgid "Created"
 msgstr "ジョブ作成"
 
@@ -3014,6 +3087,9 @@ msgstr "CustominTearInterval"
 msgid "Cut"
 msgstr "カット"
 
+msgid "Cut Media"
+msgstr ""
+
 msgid "Cutter"
 msgstr "カッター"
 
@@ -3084,10 +3160,31 @@ msgstr ""
 msgid "Disabled"
 msgstr "無効"
 
+msgid "Disc"
+msgstr ""
+
 #, c-format
 msgid "Document #%d does not exist in job #%d."
 msgstr "ドキュメント #%d がジョブ #%d に見つかりません。"
 
+msgid "Double Gate Fold"
+msgstr ""
+
+msgid "Double Staple (Landscape)"
+msgstr ""
+
+msgid "Double Staple (Portrait)"
+msgstr ""
+
+msgid "Double Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Double Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "Draft"
+msgstr ""
+
 msgid "Duplexer"
 msgstr "両面オプション"
 
@@ -3125,6 +3222,9 @@ msgstr ""
 "root のユーザー名とパスワードを入力してください。Kerberos 認証を使用している"
 "場合、有効な Kerberos チケットがあることを確認してください。"
 
+msgid "Envelope"
+msgstr ""
+
 msgid "Envelope #10"
 msgstr ""
 
@@ -3356,6 +3456,9 @@ msgstr "FanFold Legal German"
 msgid "Fanfold US"
 msgstr "Fanfold US"
 
+msgid "Fast Grayscale"
+msgstr ""
+
 #, c-format
 msgid "File \"%s\" contains a relative path."
 msgstr "ファイル \"%s\" は相対パスを含んでいます。"
@@ -3393,12 +3496,21 @@ msgstr ""
 msgid "Finished page %d."
 msgstr "ページ %d を終了。"
 
+msgid "Finishing"
+msgstr ""
+
+msgid "Fold"
+msgstr ""
+
 msgid "Folio"
 msgstr "フォリオ"
 
 msgid "Forbidden"
 msgstr "Forbidden"
 
+msgid "Gate Fold"
+msgstr ""
+
 msgid "General"
 msgstr "一般"
 
@@ -3411,6 +3523,9 @@ msgstr "Get-Response-PDU は不確定の長さを使用しています"
 msgid "Glossy Paper"
 msgstr "光沢紙"
 
+msgid "Glossy Photo"
+msgstr ""
+
 msgid "Got a printer-uri attribute but no job-id."
 msgstr "printer-uri 属性を取得しましたが、job-id を取得できませんでした。"
 
@@ -3420,6 +3535,15 @@ msgstr "グレースケール"
 msgid "HP"
 msgstr "HP"
 
+msgid "Hagaki"
+msgstr ""
+
+msgid "Half Fold"
+msgstr ""
+
+msgid "Half Z Fold"
+msgstr ""
+
 msgid "Hanging Folder"
 msgstr "Hanging Folder"
 
@@ -3429,6 +3553,12 @@ msgstr ""
 msgid "Help file not in index."
 msgstr "ヘルプファイルが索引に含まれていません。"
 
+msgid "High"
+msgstr ""
+
+msgid "High-Gloss Photo"
+msgstr ""
+
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr "IPP の 1setOf 属性が value タグと互換性がありません。"
 
@@ -3664,15 +3794,24 @@ msgstr "ジョブサブスクリプションを更新できません。"
 msgid "Jobs"
 msgstr "ジョブ"
 
+msgid "Jog"
+msgstr ""
+
 msgid "LPD/LPR Host or Printer"
 msgstr "LPD/LPR ホストまたはプリンター"
 
+msgid "Label"
+msgstr ""
+
 msgid "Label Printer"
 msgstr "ラベルプリンター"
 
 msgid "Label Top"
 msgstr "ラベルトップ"
 
+msgid "Laminate"
+msgstr ""
+
 #, c-format
 msgid "Language \"%s\" not supported."
 msgstr "言語 \"%s\" はサポートされていません。"
@@ -3680,15 +3819,30 @@ msgstr "言語 \"%s\" はサポートされていません。"
 msgid "Large Address"
 msgstr "ラージアドレス"
 
+msgid "Large Capacity"
+msgstr ""
+
 msgid "LaserJet Series PCL 4/5"
 msgstr "LaserJet Series PCL 4/5"
 
+msgid "Left"
+msgstr ""
+
+msgid "Left Gate Fold"
+msgstr ""
+
+msgid "Letter Fold"
+msgstr ""
+
 msgid "Letter Oversize"
 msgstr "US レター (特大)"
 
 msgid "Letter Oversize Long Edge"
 msgstr "US レター (特大) 長辺送り"
 
+msgid "Letterhead"
+msgstr ""
+
 msgid "Light"
 msgstr "薄い"
 
@@ -3710,9 +3864,21 @@ msgstr "長辺給紙 (縦向き)"
 msgid "Looking for printer..."
 msgstr ""
 
+msgid "Main"
+msgstr ""
+
+msgid "Main Roll"
+msgstr ""
+
+msgid "Manual"
+msgstr ""
+
 msgid "Manual Feed"
 msgstr "手差し"
 
+msgid "Matte Photo"
+msgstr ""
+
 msgid "Media Size"
 msgstr "用紙サイズ"
 
@@ -3731,6 +3897,9 @@ msgstr "紙質"
 msgid "Memory allocation error"
 msgstr "メモリー割り当てエラー"
 
+msgid "Middle"
+msgstr ""
+
 msgid "Missing CloseGroup"
 msgstr "CloseGroup がありません"
 
@@ -3824,6 +3993,9 @@ msgstr "ジョブの移動"
 msgid "Moved Permanently"
 msgstr "別の場所へ移動しました"
 
+msgid "Multipurpose"
+msgstr ""
+
 msgid "NULL PPD file pointer"
 msgstr "PPD ファイルポインターが NULL です"
 
@@ -3842,6 +4014,9 @@ msgstr "いいえ"
 msgid "No Content"
 msgstr "中身がありません"
 
+msgid "No Finishing"
+msgstr ""
+
 msgid "No PPD name"
 msgstr "PPD の名前がありません"
 
@@ -4008,6 +4183,9 @@ msgstr "インストールされたオプション"
 msgid "Options:"
 msgstr "オプション:"
 
+msgid "Other"
+msgstr ""
+
 msgid "Out of date PPD cache file."
 msgstr "PPD キャッシュファイルが古すぎます。"
 
@@ -4068,6 +4246,9 @@ msgstr "給紙トレイが空です。"
 msgid "Paper tray is missing."
 msgstr "給紙トレイがありません。"
 
+msgid "Parallel Fold"
+msgstr ""
+
 msgid "ParamCustominCutInterval"
 msgstr "ParamCustominCutInterval"
 
@@ -4121,6 +4302,9 @@ msgstr "往復ハガキ 長辺送り"
 msgid "Postcard Long Edge"
 msgstr "ハガキ 長辺送り"
 
+msgid "Poster Fold"
+msgstr ""
+
 msgid "Preparing to print."
 msgstr "印刷準備中です。"
 
@@ -4133,6 +4317,9 @@ msgstr "ジョブの印刷:"
 msgid "Print Mode"
 msgstr "印刷モード"
 
+msgid "Print Quality"
+msgstr ""
+
 msgid "Print Rate"
 msgstr "印刷レート"
 
@@ -4201,6 +4388,9 @@ msgstr "プリンター"
 msgid "Printing page %d, %u%% complete."
 msgstr "ページ %d, %u%% の印刷が完了しました。"
 
+msgid "Punch"
+msgstr ""
+
 msgid "Quarto"
 msgstr "Quarto"
 
@@ -4210,6 +4400,9 @@ msgstr "クォータの制限に達しました。"
 msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr "ランク  所有者  ジョブ  ファイル                        合計サイズ"
 
+msgid "Rear"
+msgstr ""
+
 msgid "Reject Jobs"
 msgstr "ジョブの拒否"
 
@@ -4242,6 +4435,42 @@ msgstr "返信用ラベル"
 msgid "Rewind"
 msgstr "巻き取り"
 
+msgid "Right"
+msgstr ""
+
+msgid "Right Gate Fold"
+msgstr ""
+
+msgid "Roll 1"
+msgstr ""
+
+msgid "Roll 10"
+msgstr ""
+
+msgid "Roll 2"
+msgstr ""
+
+msgid "Roll 3"
+msgstr ""
+
+msgid "Roll 4"
+msgstr ""
+
+msgid "Roll 5"
+msgstr ""
+
+msgid "Roll 6"
+msgstr ""
+
+msgid "Roll 7"
+msgstr ""
+
+msgid "Roll 8"
+msgstr ""
+
+msgid "Roll 9"
+msgstr ""
+
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
 msgstr "コマンドを実行中: %s %s -N -A %s -c '%s'"
@@ -4252,12 +4481,21 @@ msgstr "SEQUENCE は不定長を使用しています"
 msgid "SSL/TLS Negotiation Error"
 msgstr "SSL/TLS のネゴシエーションエラー"
 
+msgid "Saddle Stitch"
+msgstr ""
+
+msgid "Satin Photo"
+msgstr ""
+
 msgid "See Other"
 msgstr "残りを見てください"
 
 msgid "See remote printer."
 msgstr ""
 
+msgid "Semi-Gloss Photo"
+msgstr ""
+
 msgid "Sending data to printer."
 msgstr "データをプリンターに送信しています。"
 
@@ -4300,6 +4538,33 @@ msgstr "発送先ラベル"
 msgid "Short-Edge (Landscape)"
 msgstr "短辺 (横原稿)"
 
+msgid "Side"
+msgstr ""
+
+msgid "Single Punch (Landscape)"
+msgstr ""
+
+msgid "Single Punch (Portrait)"
+msgstr ""
+
+msgid "Single Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "Single Staple (Landscape)"
+msgstr ""
+
+msgid "Single Staple (Portrait)"
+msgstr ""
+
+msgid "Single Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "Special Paper"
 msgstr "特殊紙"
 
@@ -4310,6 +4575,24 @@ msgstr "ジョブをスプール中、%.0f%% 完了しました。"
 msgid "Standard"
 msgstr "標準"
 
+msgid "Staple"
+msgstr ""
+
+msgid "Staple Edge"
+msgstr ""
+
+msgid "Staple Edge (Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Portrait)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Portrait)"
+msgstr ""
+
 #. TRANSLATORS: Banner/cover sheet before the print job.
 msgid "Starting Banner"
 msgstr "開始バナー"
@@ -4549,6 +4832,9 @@ msgstr "job-sheets 値が多すぎます (%d > 2)。"
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr "printer-state-reasons 値が多すぎます (%d > %d)。"
 
+msgid "Top"
+msgstr ""
+
 msgid "Transparency"
 msgstr "OHP シート"
 
@@ -4558,15 +4844,75 @@ msgstr "トレイ"
 msgid "Tray 1"
 msgstr "トレイ 1"
 
+msgid "Tray 10"
+msgstr ""
+
+msgid "Tray 11"
+msgstr ""
+
+msgid "Tray 12"
+msgstr ""
+
+msgid "Tray 13"
+msgstr ""
+
+msgid "Tray 14"
+msgstr ""
+
+msgid "Tray 15"
+msgstr ""
+
+msgid "Tray 16"
+msgstr ""
+
+msgid "Tray 17"
+msgstr ""
+
+msgid "Tray 18"
+msgstr ""
+
+msgid "Tray 19"
+msgstr ""
+
 msgid "Tray 2"
 msgstr "トレイ 2"
 
+msgid "Tray 20"
+msgstr ""
+
 msgid "Tray 3"
 msgstr "トレイ 3"
 
 msgid "Tray 4"
 msgstr "トレイ 4"
 
+msgid "Tray 5"
+msgstr ""
+
+msgid "Tray 6"
+msgstr ""
+
+msgid "Tray 7"
+msgstr ""
+
+msgid "Tray 8"
+msgstr ""
+
+msgid "Tray 9"
+msgstr ""
+
+msgid "Triple Staple (Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Portrait)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "URI Too Long"
 msgstr "URI が長すぎます"
 
@@ -5057,17 +5403,6 @@ msgstr ""
 "使い方: cupstestppd [オプション] ファイル名1.ppd[.gz] [... ファイル名N.ppd[."
 "gz]]"
 
-msgid ""
-"Usage: ippdiscover [options] -a\n"
-"       ippdiscover [options] \"service name\"\n"
-"\n"
-"Options:"
-msgstr ""
-"使い方: ippdiscover [オプション] -a\n"
-"        ippdiscover [オプション] \"サービス名\"\n"
-"\n"
-"オプション:"
-
 msgid ""
 "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
 "       ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
@@ -5157,6 +5492,9 @@ msgstr ""
 "このページには URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A> を使ってア"
 "クセスする必要があります。"
 
+msgid "Z Fold"
+msgstr ""
+
 msgid "ZPL Label Printer"
 msgstr "ZPL ラベルプリンター"
 
@@ -6114,9 +6452,24 @@ msgstr "variable-bindings の長さが不定"
 #~ msgid "\tInterface: %s/interfaces/%s"
 #~ msgstr "\tインターフェイス: %s/interfaces/%s"
 
+#~ msgid "  -a                      Browse for all services."
+#~ msgstr "  -a                      すべてのサービスをブラウズする。"
+
+#~ msgid "  -d domain               Browse/resolve in specified domain."
+#~ msgstr ""
+#~ "  -d <ドメイン名>         指定されたドメインでブラウズ/名前解決する。"
+
 #~ msgid "  -l                      Run cupsd from launchd(8)."
 #~ msgstr "  -l                      launchd(8) から cupsd を実行する。"
 
+#~ msgid "  -p program              Run specified program for each service."
+#~ msgstr ""
+#~ "  -p <プログラム名>       指定されたプログラムをそれぞれのサービスに対し実"
+#~ "行する。"
+
+#~ msgid "  -t type                 Browse/resolve with specified type."
+#~ msgstr "  -t タイプ               指定されたタイプでブラウズ/名前解決する。"
+
 #~ msgid ""
 #~ "\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 4.1.6 節)."
 #~ msgstr ""
@@ -6263,6 +6616,17 @@ msgstr "variable-bindings の長さが不定"
 #~ msgid "Usage: cupsfilter [ options ] filename"
 #~ msgstr "使い方: cupsfilter [オプション] ファイル名"
 
+#~ msgid ""
+#~ "Usage: ippdiscover [options] -a\n"
+#~ "       ippdiscover [options] \"service name\"\n"
+#~ "\n"
+#~ "Options:"
+#~ msgstr ""
+#~ "使い方: ippdiscover [オプション] -a\n"
+#~ "        ippdiscover [オプション] \"サービス名\"\n"
+#~ "\n"
+#~ "オプション:"
+
 #~ msgid "Usage: lppasswd [-g groupname]"
 #~ msgstr "使い方: lppasswd [-g グループ名]"
 
diff --git a/locale/cups_pt_BR.po b/locale/cups_pt_BR.po
new file mode 100644 (file)
index 0000000..4114689
--- /dev/null
@@ -0,0 +1,6670 @@
+#
+# "$Id$"
+#
+# Brazilian Portuguese message catalog for CUPS.
+#
+# Copyright 2007-2014 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/".
+#
+#
+# Notes for Translators:
+#
+# The "checkpo" program located in the "locale" 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.
+#
+#
+# CUPS Glossary/Terminologies en->pt_BR
+#
+# character set = conjunto de caracteres
+# find = encontrar
+# get = obter
+# locate = localizar
+# not supported = Sem suporte a
+# open = abrir
+# status = estado
+# unable = não foi possível
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: CUPS 2.1.2\n"
+"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
+"POT-Creation-Date: 2016-05-02 18:01-0400\n"
+"PO-Revision-Date: 2016-01-31 16:45-0200\n"
+"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>\n"
+"Language-Team: Brazilian Portuguese <traducao-cups-pt-br@googlegroups.com>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.6\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+msgid "\t\t(all)"
+msgstr "\t\t(todos)"
+
+msgid "\t\t(none)"
+msgstr "\t\t(nenhum)"
+
+#, c-format
+msgid "\t%d entries"
+msgstr "\t%d registros"
+
+#, c-format
+msgid "\t%s"
+msgstr "\t%s"
+
+msgid "\tAfter fault: continue"
+msgstr "\tApós a falha: continuar"
+
+#, c-format
+msgid "\tAlerts: %s"
+msgstr "\tAlertas: %s"
+
+msgid "\tBanner required"
+msgstr "\tBanner é necessário"
+
+msgid "\tCharset sets:"
+msgstr "\tDefinições de conjunto de caracteres:"
+
+msgid "\tConnection: direct"
+msgstr "\tConexão: direta"
+
+msgid "\tConnection: remote"
+msgstr "\tConexão: remota"
+
+msgid "\tContent types: any"
+msgstr "\tTipos de conteúdos: qualquer"
+
+msgid "\tDefault page size:"
+msgstr "\tTamanho de página padrão:"
+
+msgid "\tDefault pitch:"
+msgstr "\tPitch padrão:"
+
+msgid "\tDefault port settings:"
+msgstr "\tConfiguração de porta padrão:"
+
+#, c-format
+msgid "\tDescription: %s"
+msgstr "\tDescrição: %s"
+
+msgid "\tForm mounted:"
+msgstr "\tFormulário montado:"
+
+msgid "\tForms allowed:"
+msgstr "\tFormulários permitidos:"
+
+#, c-format
+msgid "\tInterface: %s.ppd"
+msgstr "\tInterface: %s.ppd"
+
+#, c-format
+msgid "\tInterface: %s/ppd/%s.ppd"
+msgstr "\tInterface: %s/ppd/%s.ppd"
+
+#, c-format
+msgid "\tLocation: %s"
+msgstr "\tLocalização: %s"
+
+msgid "\tOn fault: no alert"
+msgstr "\tCaso de falha: nenhum alerta"
+
+msgid "\tPrinter types: unknown"
+msgstr "\tTipos de impressoras: desconhecido"
+
+#, c-format
+msgid "\tStatus: %s"
+msgstr "\tEstado: %s"
+
+msgid "\tUsers allowed:"
+msgstr "\tUsuários permitidos:"
+
+msgid "\tUsers denied:"
+msgstr "\tUsuários proibidos:"
+
+msgid "\tdaemon present"
+msgstr "\tdaemon presente"
+
+msgid "\tno entries"
+msgstr "\tnenhum registro"
+
+#, c-format
+msgid "\tprinter is on device '%s' speed -1"
+msgstr "\timpressora está na velocidade -1 do dispositivo \"%s\""
+
+msgid "\tprinting is disabled"
+msgstr "\timpressão está desabilitada"
+
+msgid "\tprinting is enabled"
+msgstr "\timpressão está habilitada"
+
+#, c-format
+msgid "\tqueued for %s"
+msgstr "\tna fila de %s"
+
+msgid "\tqueuing is disabled"
+msgstr "\tenfileiramento está desabilitado"
+
+msgid "\tqueuing is enabled"
+msgstr "\tenfileiramento está habilitado"
+
+msgid "\treason unknown"
+msgstr "\tmotivo desconhecido"
+
+msgid ""
+"\n"
+"    DETAILED CONFORMANCE TEST RESULTS"
+msgstr ""
+"\n"
+"    RESULTADOS DETALHADOS DE TESTE DE CONFORMIDADE"
+
+msgid "                          Ignore specific warnings."
+msgstr "                          Ignora aviso específicos."
+
+msgid "                          Issue warnings instead of errors."
+msgstr "                          Emite avisos ao invés de erros."
+
+msgid "                REF: Page 15, section 3.1."
+msgstr "                REF: Página 15, seção 3.1."
+
+msgid "                REF: Page 15, section 3.2."
+msgstr "                REF: Página 15, seção 3.2."
+
+msgid "                REF: Page 19, section 3.3."
+msgstr "                REF: Página 19, seção 3.3."
+
+msgid "                REF: Page 20, section 3.4."
+msgstr "                REF: Página 20, seção 3.4."
+
+msgid "                REF: Page 27, section 3.5."
+msgstr "                REF: Página 27, seção 3.5."
+
+msgid "                REF: Page 42, section 5.2."
+msgstr "                REF: Página 42, seção 5.2."
+
+msgid "                REF: Pages 16-17, section 3.2."
+msgstr "                REF: Página 16-17, seção 3.2."
+
+msgid "                REF: Pages 42-45, section 5.2."
+msgstr "                REF: Página 42-45, seção 5.2."
+
+msgid "                REF: Pages 45-46, section 5.2."
+msgstr "                REF: Página 45-46, seção 5.2."
+
+msgid "                REF: Pages 48-49, section 5.2."
+msgstr "                REF: Página 48-49, seção 5.2."
+
+msgid "                REF: Pages 52-54, section 5.2."
+msgstr "                REF: Página 52-54, seção 5.2."
+
+#, c-format
+msgid "        %-39.39s %.0f bytes"
+msgstr "        %-39.39s %.0f bytes"
+
+#, c-format
+msgid "        PASS    Default%s"
+msgstr "        PASSOU  Default%s"
+
+msgid "        PASS    DefaultImageableArea"
+msgstr "        PASSOU  DefaultImageableArea"
+
+msgid "        PASS    DefaultPaperDimension"
+msgstr "        PASSOU  DefaultPaperDimension"
+
+msgid "        PASS    FileVersion"
+msgstr "        PASSOU  FileVersion"
+
+msgid "        PASS    FormatVersion"
+msgstr "        PASSOU  FormatVersion"
+
+msgid "        PASS    LanguageEncoding"
+msgstr "        PASSOU  LanguageEncoding"
+
+msgid "        PASS    LanguageVersion"
+msgstr "        PASSOU  LanguageVersion"
+
+msgid "        PASS    Manufacturer"
+msgstr "        PASSOU  Manufacturer"
+
+msgid "        PASS    ModelName"
+msgstr "        PASSOU  ModelName"
+
+msgid "        PASS    NickName"
+msgstr "        PASSOU  NickName"
+
+msgid "        PASS    PCFileName"
+msgstr "        PASSOU  PCFileName"
+
+msgid "        PASS    PSVersion"
+msgstr "        PASSOU  PSVersion"
+
+msgid "        PASS    PageRegion"
+msgstr "        PASSOU  PageRegion"
+
+msgid "        PASS    PageSize"
+msgstr "        PASSOU  PageSize"
+
+msgid "        PASS    Product"
+msgstr "        PASSOU  Product"
+
+msgid "        PASS    ShortNickName"
+msgstr "        PASSOU  ShortNickName"
+
+#, c-format
+msgid "        WARN    %s has no corresponding options."
+msgstr "        AVISO   %s não possui opções correspondentes."
+
+#, c-format
+msgid ""
+"        WARN    %s shares a common prefix with %s\n"
+"                REF: Page 15, section 3.2."
+msgstr ""
+"        AVISO   %s compartilha um prefixo comum com %s\n"
+"                REF: Página 15, seção 3.2."
+
+#, 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"
+msgstr ""
+"        AVISO   A opção Duplex de palavra-chave %s pode não funcionar como "
+"esperado e deve ser renomeada para Duplex.\n"
+"                REF: Página 122, seção 5.17"
+
+msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
+msgstr ""
+"        AVISO   Arquivo contém fim das linhas com uma mistura de CR, LF e CR "
+"LF."
+
+msgid ""
+"        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
+"                REF: Pages 56-57, section 5.3."
+msgstr ""
+"        AVISO   LanguageEncoding é necessário pela especificação PPD 4.3.\n"
+"                REF: Páginas 56-57, seção 5.3."
+
+#, c-format
+msgid "        WARN    Line %d only contains whitespace."
+msgstr "        AVISO   Linha %d contém somente espaço em branco."
+
+msgid ""
+"        WARN    Manufacturer required by PPD 4.3 spec.\n"
+"                REF: Pages 58-59, section 5.3."
+msgstr ""
+"        AVISO   Fabricante é necessário pela especificação PPD 4.3.\n"
+"                REF: Páginas 58-59, seção 5.3."
+
+msgid ""
+"        WARN    Non-Windows PPD files should use lines ending with only LF, "
+"not CR LF."
+msgstr ""
+"        AVISO   Arquivos PPD de sistemas não-Windows deveriam usar fim de "
+"linhas somente com LR, e não CR LF."
+
+#, c-format
+msgid ""
+"        WARN    Obsolete PPD version %.1f.\n"
+"                REF: Page 42, section 5.2."
+msgstr ""
+"        AVISO   PPD versão %.1f está obsoleto.\n"
+"                REF: Página 42, seção 5.2."
+
+msgid ""
+"        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
+"                REF: Pages 61-62, section 5.3."
+msgstr ""
+"        AVISO   PCFileName maior que 8.3 em violação com especificação PPD.\n"
+"                REF: Páginas 61-62, seção 5.3."
+
+msgid ""
+"        WARN    PCFileName should contain a unique filename.\n"
+"                REF: Pages 61-62, section 5.3."
+msgstr ""
+"        AVISO   PCFileName deveria conter um nome de arquivo único.\n"
+"                REF: Páginas 61-62, seção 5.3."
+
+msgid ""
+"        WARN    Protocols contains PJL but JCL attributes are not set.\n"
+"                REF: Pages 78-79, section 5.7."
+msgstr ""
+"        AVISO   Protocolos contêm PJL, mas atributos de JCL não estão "
+"definidos.\n"
+"                REF: Páginas 78-79, seção 5.7."
+
+msgid ""
+"        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
+"                REF: Pages 78-79, section 5.7."
+msgstr ""
+"        AVISO   Protocolos contêm ambos PJL e BCP; esperava-se TBCP.\n"
+"                REF: Páginas 78-79, seção 5.7."
+
+msgid ""
+"        WARN    ShortNickName required by PPD 4.3 spec.\n"
+"                REF: Pages 64-65, section 5.3."
+msgstr ""
+"        AVISO   ShortNickName é necessário pela especificação PPD 4.3.\n"
+"                REF: Páginas 64-65, seção 5.3."
+
+msgid "       cupsaddsmb [options] -a"
+msgstr "     cupsaddsmb [opções] -a"
+
+msgid "       cupstestdsc [options] -"
+msgstr "     cupstestdsc [opções] -"
+
+msgid "       program | cupstestppd [options] -"
+msgstr "     programa | cupstestppd [opções] -"
+
+#, c-format
+msgid ""
+"      %s  \"%s %s\" conflicts with \"%s %s\"\n"
+"                (constraint=\"%s %s %s %s\")."
+msgstr ""
+"      %s  \"%s %s\" conflita com \"%s %s\"\n"
+"                (restrição=\"%s %s %s %s\")."
+
+#, c-format
+msgid "      %s  %s %s does not exist."
+msgstr "      %s  %s %s não existe."
+
+#, c-format
+msgid "      %s  %s file \"%s\" has the wrong capitalization."
+msgstr "      %s  Arquivo de %s \"%s\" possui letra maiúscula incorreta."
+
+#, c-format
+msgid ""
+"      %s  Bad %s choice %s.\n"
+"                REF: Page 122, section 5.17"
+msgstr ""
+"      %s  Escolha %s inválida para %s.\n"
+"                REF: Página 122, seção 5.17"
+
+#, c-format
+msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
+msgstr ""
+"      %s  Má string de tradução de \"%s\" em UTF-8 para a opção %s, escolha "
+"%s."
+
+#, c-format
+msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
+msgstr "      %s  Má string de tradução de \"%s\" em UTF-8 para a opção %s."
+
+#, c-format
+msgid "      %s  Bad cupsFilter value \"%s\"."
+msgstr "      %s  Valor \"%s\" inválido para cupsFilter."
+
+#, c-format
+msgid "      %s  Bad cupsFilter2 value \"%s\"."
+msgstr "      %s  Valor \"%s\" inválido para cupsFilter2."
+
+#, c-format
+msgid "      %s  Bad cupsICCProfile %s."
+msgstr "      %s  cupsICCProfile %s inválido."
+
+#, c-format
+msgid "      %s  Bad cupsPreFilter value \"%s\"."
+msgstr "      %s  Valor \"%s\" inválido para cupsPreFilter."
+
+#, c-format
+msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
+msgstr "      %s  cupsUIConstraints %s inválido: \"%s\""
+
+#, c-format
+msgid "      %s  Bad language \"%s\"."
+msgstr "      %s  Idioma \"%s\" inválido."
+
+#, c-format
+msgid "      %s  Bad permissions on %s file \"%s\"."
+msgstr "      %s  Permissões inválidas no arquivo %s \"%s\"."
+
+#, c-format
+msgid "      %s  Bad spelling of %s - should be %s."
+msgstr "      %s  Pronúncia incorreta de %s - deveria ser %s."
+
+#, c-format
+msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
+msgstr ""
+"      %s  Não é possível fornecer ambos APScanAppPath e APScanAppBundleID."
+
+#, c-format
+msgid "      %s  Default choices conflicting."
+msgstr "      %s  Escolhas padrão conflitando."
+
+#, c-format
+msgid "      %s  Empty cupsUIConstraints %s"
+msgstr "      %s  cupsUIConstraints %s vazia"
+
+#, c-format
+msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
+msgstr ""
+"      %s  Faltando string de tradução de \"%s\" para a opção %s, escolha %s."
+
+#, c-format
+msgid "      %s  Missing \"%s\" translation string for option %s."
+msgstr "      %s  Faltando string de tradução de \"%s\" para a opção %s."
+
+#, c-format
+msgid "      %s  Missing %s file \"%s\"."
+msgstr "      %s  Faltando %s arquivo \"%s\"."
+
+#, c-format
+msgid ""
+"      %s  Missing REQUIRED PageRegion option.\n"
+"                REF: Page 100, section 5.14."
+msgstr ""
+"      %s  Faltando opção NECESSÁRIA PageRegion.\n"
+"                REF: Página 100, seção 5.14."
+
+#, c-format
+msgid ""
+"      %s  Missing REQUIRED PageSize option.\n"
+"                REF: Page 99, section 5.14."
+msgstr ""
+"      %s  Faltando opção NECESSÁRIA PageSize.\n"
+"                REF: Página 99, seção 5.14."
+
+#, c-format
+msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
+msgstr ""
+"      %s  Faltando escolha de *%s %s em UIConstraints \"*%s %s *%s %s\"."
+
+#, c-format
+msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
+msgstr "      %s  Faltando escolha *%s %s em cupsUIConstraints %s: \"%s\""
+
+#, c-format
+msgid "      %s  Missing cupsUIResolver %s"
+msgstr "      %s  Faltando cupsUIResolver %s"
+
+#, c-format
+msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
+msgstr "      %s  Faltando a opção %s em UIConstraints \"*%s %s *%s %s\"."
+
+#, c-format
+msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
+msgstr "      %s  Faltando a opção %s em cupsUIConstraints %s: \"%s\""
+
+#, c-format
+msgid "      %s  No base translation \"%s\" is included in file."
+msgstr "      %s  Nenhuma tradução base de \"%s\" está inclusa no arquivo."
+
+#, c-format
+msgid ""
+"      %s  REQUIRED %s does not define choice None.\n"
+"                REF: Page 122, section 5.17"
+msgstr ""
+"      %s  %s NECESSÁRIO não define a escolha None.\n"
+"                REF: Página 122, seção 5.17"
+
+#, c-format
+msgid "      %s  Size \"%s\" defined for %s but not for %s."
+msgstr "      %s  Tamanho \"%s\" definido para %s, mas não para %s."
+
+#, c-format
+msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
+msgstr "      %s  Tamanho \"%s\" tem dimensões inesperadas (%gx%g)."
+
+#, c-format
+msgid "      %s  Size \"%s\" should be \"%s\"."
+msgstr "      %s  Tamanho \"%s\" deveria ser \"%s\"."
+
+#, c-format
+msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
+msgstr ""
+"      %s  Tamanho \"%s\" deveria ser no padrão do Adobo chamado \"%s\"."
+
+#, c-format
+msgid "      %s  cupsICCProfile %s hash value collides with %s."
+msgstr "      %s  Valor de hash de cupsICCProfile %s colide com %s."
+
+#, c-format
+msgid "      %s  cupsUIResolver %s causes a loop."
+msgstr "      %s  cupsUIResolver %s causa um loop."
+
+#, c-format
+msgid ""
+"      %s  cupsUIResolver %s does not list at least two different options."
+msgstr ""
+"      %s  cupsUIResolver %s não lista pelo menos duas opções diferentes."
+
+#, c-format
+msgid ""
+"      **FAIL**  %s must be 1284DeviceID\n"
+"                REF: Page 72, section 5.5"
+msgstr ""
+"      **FALHA** %s deve ser 1284DeviceID\n"
+"                REF: Página 72, seção 5.5"
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad Default%s %s\n"
+"                REF: Page 40, section 4.5."
+msgstr ""
+"      **FALHA** Default%s inválido %s\n"
+"                REF: Página 40, seção 4.5."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad DefaultImageableArea %s\n"
+"                REF: Page 102, section 5.15."
+msgstr ""
+"      **FALHA** DefaultImageableArea inválido %s\n"
+"                REF: Página 102, seção 5.15."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad DefaultPaperDimension %s\n"
+"                REF: Page 103, section 5.15."
+msgstr ""
+"      **FALHA** DefaultPaperDimension inválido %s\n"
+"                REF: Página 103, seção 5.15."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad FileVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+"      **FALHA** FileVersion inválido \"%s\"\n"
+"                REF: Página 56, seção 5.3."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad FormatVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+"      **FALHA** FormatVersion inválido \"%s\"\n"
+"                REF: Página 56, seção 5.3."
+
+msgid ""
+"      **FAIL**  Bad JobPatchFile attribute in file\n"
+"                REF: Page 24, section 3.4."
+msgstr ""
+"      **FALHA** Atributo inválido de JobPatchFile no arquivo\n"
+"                REF: Página 24, seção 3.4."
+
+#, c-format
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
+msgstr "      **FALHA** LanguageEncoding inválido %s - tem que ser ISOLatin1."
+
+#, c-format
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
+msgstr "      **FALHA** LanguageVersion inválido %s - deve ser Inglês."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n"
+"                REF: Page 211, table D.1."
+msgstr ""
+"      **FALHA** Manufacturer inválido (deveria ser \"%s\")\n"
+"                REF: Página 211, tabela D.1."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n"
+"                REF: Pages 59-60, section 5.3."
+msgstr ""
+"      **FALHA** ModelName inválido - \"%c\" não permitido na string.\n"
+"                REF: Páginas 59-60, seção 5.3."
+
+msgid ""
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n"
+"                REF: Pages 62-64, section 5.3."
+msgstr ""
+"      **FALHA** PSVersion inválida - não \"(string) int\".\n"
+"                REF: Páginas 62-64, seção 5.3."
+
+msgid ""
+"      **FAIL**  Bad Product - not \"(string)\".\n"
+"                REF: Page 62, section 5.3."
+msgstr ""
+"      **FALHA** Product inválido - não \"(string)\".\n"
+"                REF: Página 62, seção 5.3."
+
+msgid ""
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n"
+"                REF: Pages 64-65, section 5.3."
+msgstr ""
+"      **FALHA** ShortNickName inválido - maior do que 31 caracteres.\n"
+"                REF: Páginas 64-65, seção 5.3."
+
+#, c-format
+msgid ""
+"      **FAIL**  Bad option %s choice %s\n"
+"                REF: Page 84, section 5.9"
+msgstr ""
+"      **FALHA** Opção inválido %s escolha %s\n"
+"                REF: Página 84, seção 5.9"
+
+#, c-format
+msgid "      **FAIL**  Default option code cannot be interpreted: %s"
+msgstr "      **FALHA** Código de opção padrão não pode ser interpretado: %s"
+
+#, c-format
+msgid ""
+"      **FAIL**  Default translation string for option %s choice %s contains "
+"8-bit characters."
+msgstr ""
+"      **FALHA** String de tradução padrão para opção %s escolha %s contém "
+"caracteres de 8-bit."
+
+#, c-format
+msgid ""
+"      **FAIL**  Default translation string for option %s contains 8-bit "
+"characters."
+msgstr ""
+"      **FALHA** String de tradução padrão para opção %s contém caracteres de "
+"8-bit."
+
+#, c-format
+msgid "      **FAIL**  Group names %s and %s differ only by case."
+msgstr ""
+"      **FALHA** Nomes dos grupos %s e %s se diferem somente por maiúsculo/"
+"minúsculo."
+
+#, c-format
+msgid "      **FAIL**  Multiple occurrences of option %s choice name %s."
+msgstr "      **FALHA** Múltiplas ocorrências da opção %s escolha de nome %s."
+
+#, c-format
+msgid "      **FAIL**  Option %s choice names %s and %s differ only by case."
+msgstr ""
+"      **FALHA** Opção %s escolha de nomes %s e %s se diferem somente por "
+"maiúsculo/minúsculo."
+
+#, c-format
+msgid "      **FAIL**  Option names %s and %s differ only by case."
+msgstr ""
+"      **FALHA** Os nomes de opção %s e %s se diferem somente por maiúsculo/"
+"minúsculo."
+
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED Default%s\n"
+"                REF: Page 40, section 4.5."
+msgstr ""
+"      **FALHA** NECESSÁRIO Default%s\n"
+"                REF: Página 40, seção 4.5."
+
+msgid ""
+"      **FAIL**  REQUIRED DefaultImageableArea\n"
+"                REF: Page 102, section 5.15."
+msgstr ""
+"      **FALHA** NECESSÁRIO DefaultImageableArea\n"
+"                REF: Página 102, seção 5.15."
+
+msgid ""
+"      **FAIL**  REQUIRED DefaultPaperDimension\n"
+"                REF: Page 103, section 5.15."
+msgstr ""
+"      **FALHA** NECESSÁRIO DefaultPaperDimension\n"
+"                REF: Página 103, seção 5.15."
+
+msgid ""
+"      **FAIL**  REQUIRED FileVersion\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO FileVersion\n"
+"                REF: Página 56, seção 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED FormatVersion\n"
+"                REF: Page 56, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO FormatVersion\n"
+"                REF: Página 56, seção 5.3."
+
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 102, section 5.15."
+msgstr ""
+"      **FALHA** NECESSÁRIO ImageableArea para PageSize %s\n"
+"                REF: Página 41, seção 5.\n"
+"                REF: Página 102, seção 5.15."
+
+msgid ""
+"      **FAIL**  REQUIRED LanguageEncoding\n"
+"                REF: Pages 56-57, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO LanguageEncoding\n"
+"                REF: Páginas 56-57, seção 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED LanguageVersion\n"
+"                REF: Pages 57-58, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO LanguageVersion\n"
+"                REF: Páginas 57-58, seção 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED Manufacturer\n"
+"                REF: Pages 58-59, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO Manufacturer\n"
+"                REF: Páginas 58-59, seção 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED ModelName\n"
+"                REF: Pages 59-60, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO ModelName\n"
+"                REF: Páginas 59-60, seção 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED NickName\n"
+"                REF: Page 60, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO NickName\n"
+"                REF: Página 60, seção 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED PCFileName\n"
+"                REF: Pages 61-62, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO PCFileName\n"
+"                REF: Páginas 61-62, seção 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED PSVersion\n"
+"                REF: Pages 62-64, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO PSVersion\n"
+"                REF: Páginas 62-64, seção 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED PageRegion\n"
+"                REF: Page 100, section 5.14."
+msgstr ""
+"      **FALHA** NECESSÁRIO PageRegion\n"
+"                REF: Página 100, seção 5.14."
+
+msgid ""
+"      **FAIL**  REQUIRED PageSize\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 99, section 5.14."
+msgstr ""
+"      **FALHA** NECESSÁRIO PageSize\n"
+"                REF: Página 41, seção 5.\n"
+"                REF: Página 99, seção 5.14."
+
+msgid ""
+"      **FAIL**  REQUIRED PageSize\n"
+"                REF: Pages 99-100, section 5.14."
+msgstr ""
+"      **FALHA** NECESSÁRIO PageSize\n"
+"                REF: Páginas 99-100, seção 5.14."
+
+#, c-format
+msgid ""
+"      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
+"                REF: Page 41, section 5.\n"
+"                REF: Page 103, section 5.15."
+msgstr ""
+"      **FALHA** NECESSÁRIO PaperDimension para PageSize %s\n"
+"                REF: Página 41, seção 5.\n"
+"                REF: Página 103, seção 5.15."
+
+msgid ""
+"      **FAIL**  REQUIRED Product\n"
+"                REF: Page 62, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO Product\n"
+"                REF: Página 62, seção 5.3."
+
+msgid ""
+"      **FAIL**  REQUIRED ShortNickName\n"
+"                REF: Page 64-65, section 5.3."
+msgstr ""
+"      **FALHA** NECESSÁRIO ShortNickName\n"
+"                REF: Página 64-65, seção 5.3."
+
+#, c-format
+msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
+msgstr "      **FALHA** Não foi possível abrir o arquivo PPD - %s na linha %d."
+
+#, c-format
+msgid "    %d ERRORS FOUND"
+msgstr "    %d ERROS ENCONTRADOS"
+
+msgid "    -h       Show program usage"
+msgstr "    -h       Mostra formas de uso do programa"
+
+#, c-format
+msgid ""
+"    Bad %%%%BoundingBox: on line %d.\n"
+"        REF: Page 39, %%%%BoundingBox:"
+msgstr ""
+"    %%%%BoundingBox inválida: na linha %d.\n"
+"        REF: Página 39, %%%%BoundingBox:"
+
+#, c-format
+msgid ""
+"    Bad %%%%Page: on line %d.\n"
+"        REF: Page 53, %%%%Page:"
+msgstr ""
+"    %%%%Page inválida: na linha %d.\n"
+"        REF: Página 53, %%%%Page:"
+
+#, c-format
+msgid ""
+"    Bad %%%%Pages: on line %d.\n"
+"        REF: Page 43, %%%%Pages:"
+msgstr ""
+"    %%%%Pages inválida: na linha %d.\n"
+"        REF: Página 43, %%%%Pages:"
+
+#, c-format
+msgid ""
+"    Line %d is longer than 255 characters (%d).\n"
+"        REF: Page 25, Line Length"
+msgstr ""
+"    Linha %d é maior do que 255 caracteres (%d).\n"
+"        REF: Página 25, Line Length"
+
+msgid ""
+"    Missing %!PS-Adobe-3.0 on first line.\n"
+"        REF: Page 17, 3.1 Conforming Documents"
+msgstr ""
+"    Faltando %!PS-Adobe-3.0 na primeira linha.\n"
+"        REF: Página 17, 3.1 Conforming Documents"
+
+#, c-format
+msgid "    Missing %%EndComments comment.        REF: Page 41, %%EndComments"
+msgstr ""
+"    Faltando comentário de %%EndComments.        REF: Página 41, "
+"%%EndComments"
+
+#, c-format
+msgid ""
+"    Missing or bad %%BoundingBox: comment.\n"
+"        REF: Page 39, %%BoundingBox:"
+msgstr ""
+"    Faltando %%BoundingBox ou é inválido: comentário.\n"
+"        REF: Página 39, %%BoundingBox:"
+
+#, c-format
+msgid ""
+"    Missing or bad %%Page: comments.\n"
+"        REF: Page 53, %%Page:"
+msgstr ""
+"    Faltando %%Page ou inválido: comentários.\n"
+"        REF: Página 53, %%Page:"
+
+#, c-format
+msgid ""
+"    Missing or bad %%Pages: comment.\n"
+"        REF: Page 43, %%Pages:"
+msgstr ""
+"    Faltando %%Pages ou inválido: comentário.\n"
+"        REF: Página 43, %%Pages:"
+
+msgid "    NO ERRORS FOUND"
+msgstr "    NENHUM ERRO ENCONTRADO"
+
+#, c-format
+msgid "    Saw %d lines that exceeded 255 characters."
+msgstr "    Cortadas %d linhas que excederam a 255 caracteres."
+
+#, c-format
+msgid "    Too many %%BeginDocument comments."
+msgstr "    Número excessivo de comentários de %%BeginDocument."
+
+#, c-format
+msgid "    Too many %%EndDocument comments."
+msgstr "    Número excessivo de comentários de %%EndDocument."
+
+msgid "    Warning: file contains binary data."
+msgstr "    Aviso: arquivo contém dados binários."
+
+#, c-format
+msgid "    Warning: no %%EndComments comment in file."
+msgstr "    Aviso: nenhum comentário de %%EndComments no arquivo."
+
+#, c-format
+msgid "    Warning: obsolete DSC version %.1f in file."
+msgstr "    Aviso: versão %.1f obsoleta de DSC no arquivo."
+
+msgid "  ! expression            Unary NOT of expression."
+msgstr "  ! expressão             Unário NÃO de expressão."
+
+msgid "  ( expressions )         Group expressions."
+msgstr "  ( expressões )          Grupo de expressões."
+
+msgid "  --[no-]debug-logging    Turn debug logging on/off."
+msgstr "  --[no-]debug-logging    Habilita ou desabilita depuração dos logs."
+
+msgid "  --[no-]remote-admin     Turn remote administration on/off."
+msgstr "  --[no-]remote-admin     Habilita ou desabilita administração remota."
+
+msgid "  --[no-]remote-any       Allow/prevent access from the Internet."
+msgstr "  --[no-]remote-any       Permite/proíbe acesso por meio da Internet."
+
+msgid "  --[no-]share-printers   Turn printer sharing on/off."
+msgstr ""
+"  --[no-]share-printers   Habilita ou desabilita compartilhamento de "
+"impressora."
+
+msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
+msgstr ""
+"  --[no-]user-cancel-any  Permite/proíbe os usuários cancelar qualquer "
+"trabalho."
+
+msgid "  --cr                    End lines with CR (Mac OS 9)."
+msgstr "  --cr                    Fim de linhas com CR (Mac OS 9)."
+
+msgid "  --crlf                  End lines with CR + LF (Windows)."
+msgstr "  --crlf                  Fim de linhas com CR + LF (Windows)."
+
+msgid "  --domain regex          Match domain to regular expression."
+msgstr "  --domain regex          Corresponde o domínio à expressão regular."
+
+msgid ""
+"  --exec utility [argument ...] ;\n"
+"                          Execute program if true."
+msgstr ""
+"  --exec utilitário [argumento ...] ;\n"
+"                          Executa o programa se verdadeiro."
+
+msgid "  --false                 Always false."
+msgstr "  --false                 Sempre falso."
+
+msgid "  --help                  Show help."
+msgstr "  --help                  Mostra ajuda."
+
+msgid "  --help                  Show this help."
+msgstr "  --help                  Mostra esta ajuda."
+
+msgid "  --host regex            Match hostname to regular expression."
+msgstr ""
+"  --host regex            Corresponde o nome da máquina à expressão regular."
+
+msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
+msgstr "  --lf                    Fim de linhas com LF (UNIX/Linux/OS X)."
+
+msgid "  --list-filters          List filters that will be used."
+msgstr "  --list-filters          Lista filtros que serão usados."
+
+msgid "  --local                 True if service is local."
+msgstr "  --local                 Verdadeiro se o serviço for local."
+
+msgid "  --ls                    List attributes."
+msgstr "  --ls                    Lista os atributos."
+
+msgid "  --name regex            Match service name to regular expression."
+msgstr ""
+"  --name regex            Corresponde o nome do serviço à expressão regular."
+
+msgid "  --not expression        Unary NOT of expression."
+msgstr "  --not expressão         Unário NÃO da expressão."
+
+msgid "  --path regex            Match resource path to regular expression."
+msgstr ""
+"  --path regex            Corresponde o caminho do recurso à expressão "
+"regular."
+
+msgid "  --port number[-number]  Match port to number or range."
+msgstr "  --port número[-número]  Corresponde a porta ao número ou faixa."
+
+msgid "  --print                 Print URI if true."
+msgstr "  --print                 Exibe a URI se verdadeiro."
+
+msgid "  --print-name            Print service name if true."
+msgstr "  --print-name            Exibe o nome do serviço se verdadeiro."
+
+msgid "  --quiet                 Quietly report match via exit code."
+msgstr ""
+"  --quiet                 Relata silenciosamente correspondências via\n"
+"                           código de saída."
+
+msgid "  --remote                True if service is remote."
+msgstr "  --remote                Verdeiro se o serviço for remoto."
+
+msgid ""
+"  --stop-after-include-error\n"
+"                          Stop tests after a failed INCLUDE."
+msgstr ""
+"  --stop-after-include-error\n"
+"                          Interrompe testes após um INCLUIDE falhar."
+
+msgid "  --true                  Always true."
+msgstr "  --true                  Sempre verdadeiro."
+
+msgid "  --txt key               True if the TXT record contains the key."
+msgstr ""
+"  --txt chave             Verdadeiro se o registro TXT contiver a chave."
+
+msgid "  --txt-* regex           Match TXT record key to regular expression."
+msgstr ""
+"  --txt-* regex           Corresponde a chave de registro TXT à expressão "
+"regular."
+
+msgid "  --uri regex             Match URI to regular expression."
+msgstr "  --uri regex             Corresponde a URI à expressão regular."
+
+msgid "  --version               Show program version."
+msgstr "  --version               Mostra a versão do programa."
+
+msgid "  --version               Show version."
+msgstr "  --version               Mostra a versão."
+
+msgid "  -4                      Connect using IPv4."
+msgstr "  -4                      Conecta usando IPv4."
+
+msgid "  -6                      Connect using IPv6."
+msgstr "  -6                      Conecta usando IPv6."
+
+msgid "  -C                      Send requests using chunking (default)."
+msgstr "  -C                      Envia requisições usando chunking (padrão)."
+
+msgid "  -D                      Remove the input file when finished."
+msgstr "  -D                      Remove o arquivo de entrada ao finalizar."
+
+msgid "  -D name=value           Set named variable to value."
+msgstr "  -D nome=valor           Define a variável \"nome\" com \"valor\"."
+
+msgid "  -E                      Encrypt the connection."
+msgstr "  -E                      Criptografa a conexão."
+
+msgid "  -E                      Test with HTTP Upgrade to TLS."
+msgstr "  -E                      Testa com HTTP Upgrade para TLS."
+
+msgid ""
+"  -F                      Run in the foreground but detach from console."
+msgstr ""
+"  -F                      Executa em primeiro plano, mas desanexa do console."
+
+msgid "  -H samba-server         Use the named SAMBA server."
+msgstr ""
+"  -H servidor-samba       Usa o servidor SAMBA chamado \"servidor-samba\"."
+
+msgid "  -I                      Ignore errors."
+msgstr "  -I                      Ignora erros."
+
+msgid "  -I include-dir          Add include directory to search path."
+msgstr ""
+"  -I dir-include          Adiciona diretório de include ao caminho de "
+"pesquisa."
+
+msgid "  -I {filename,filters,none,profiles}"
+msgstr "  -I {filename,filters,none,profiles}"
+
+msgid "  -L                      Send requests using content-length."
+msgstr "  -L                      Envia requisições usando limite de conteúdo."
+
+msgid ""
+"  -P filename.plist       Produce XML plist to a file and test report to "
+"standard output."
+msgstr ""
+"  -P arquivo.plist        Produz a plist XML para um arquivo e testa "
+"relatar\n"
+"                            para a saída padrão."
+
+msgid "  -P filename.ppd         Set PPD file."
+msgstr "  -P arquivo.ppd          Define arquivo PPD."
+
+msgid "  -P number[-number]      Match port to number or range."
+msgstr "  -P número[-número]      Corresponde a porta ao número ou faixa."
+
+msgid "  -R root-directory       Set alternate root."
+msgstr "  -R diretório-raiz       Define diretório-raiz alternativo."
+
+msgid "  -S                      Test with SSL encryption."
+msgstr "  -S                      Testa com criptografia SSL."
+
+msgid "  -T seconds              Set the browse timeout in seconds."
+msgstr ""
+"  -T segundos             Define o tempo limite do navegador em segundos."
+
+msgid "  -T seconds              Set the receive/send timeout in seconds."
+msgstr ""
+"  -T segundos             Define o limite de tempo de recebimento/envio em\n"
+"                            segundos."
+
+msgid "  -U username             Specify username."
+msgstr "  -U usuário              Especifica nome do usuário."
+
+msgid "  -V version              Set default IPP version."
+msgstr "  -V versão               Define versão padrão de IPP."
+
+msgid ""
+"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
+"translations}"
+msgstr ""
+"  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,"
+"translations}"
+
+msgid "  -X                      Produce XML plist instead of plain text."
+msgstr "  -X                      Produz plist XML ao invés de texto normal."
+
+msgid "  -a                      Export all printers."
+msgstr "  -a                      Exporta todas as impressoras."
+
+msgid "  -c                      Produce CSV output."
+msgstr "  -c                      Produz saída em CSV."
+
+msgid "  -c catalog.po           Load the specified message catalog."
+msgstr ""
+"  -c catálogo.po          Carrega o catálogo de mensagens especificado."
+
+msgid "  -c cups-files.conf      Set cups-files.conf file to use."
+msgstr ""
+"  -c cups-files.conf      Define o arquivo cups-files.conf para ser usado."
+
+msgid "  -c cupsd.conf           Set cupsd.conf file to use."
+msgstr "  -c cupsd.conf           Define o arquivo cupsd.conf a ser usado."
+
+msgid "  -d name=value           Set named variable to value."
+msgstr "  -d nome=valor           Define a variável \"nome\" com \"valor\"."
+
+msgid "  -d output-dir           Specify the output directory."
+msgstr "  -d dir-saída            Especifica o diretório de saída."
+
+msgid "  -d printer              Use the named printer."
+msgstr "  -d impressora           Usa a impressora informada."
+
+msgid "  -d regex                Match domain to regular expression."
+msgstr "  -d regex                Corresponde o domínio à expressão regular."
+
+msgid "  -e                      Use every filter from the PPD file."
+msgstr "  -e                      Usa todos os filtros do arquivo PPD."
+
+msgid "  -f                      Run in the foreground."
+msgstr "  -f                      Executa em primeiro plano."
+
+msgid "  -f filename             Set default request filename."
+msgstr ""
+"  -f arquivo              Define o nome de arquivo de requisição padrão."
+
+msgid "  -h                      Show this usage message."
+msgstr "  -h                      Exibe esta mensagem de uso."
+
+msgid "  -h regex                Match hostname to regular expression."
+msgstr ""
+"  -h regex                Corresponde o nome da máquina à expressão regular."
+
+msgid "  -h server[:port]        Specify server address."
+msgstr "  -h servidor[:porta]     Especifica o endereço do servidor."
+
+msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
+msgstr ""
+"  -i tipo-mime            Define o tipo MIME de entrada (caso "
+"contrário,                                  tipo automático)."
+
+msgid ""
+"  -i seconds              Repeat the last file with the given time interval."
+msgstr ""
+"  -i segundos             Repete o último arquivo com o tempo de intervalo "
+"dado."
+
+msgid ""
+"  -j job-id[,N]           Filter file N from the specified job (default is "
+"file 1)."
+msgstr ""
+"  -j job-id[,N]           Filtra o arquivo N do trabalho especificado "
+"(o                                  padrão é o arquivo 1)."
+
+msgid "  -l                      List attributes."
+msgstr "  -l                      Lista os atributos."
+
+msgid "  -l                      Produce plain text output."
+msgstr "  -l                      Produz saída em texto plano."
+
+msgid "  -l                      Run cupsd on demand."
+msgstr "  -l                      Executa o cupsd sob demanda."
+
+msgid "  -l lang[,lang,...]      Specify the output language(s) (locale)."
+msgstr "  -l idioma[,idioma,...]  Especifica o(s) idioma(s) de saída (locale)."
+
+msgid "  -m                      Use the ModelName value as the filename."
+msgstr ""
+"  -m                      Usa o valor de ModelName como o nome de arquivo."
+
+msgid ""
+"  -m mime/type            Set output MIME type (otherwise application/pdf)."
+msgstr ""
+"  -m tipo-mime            Define o tipo MIME de saída (caso "
+"contrário,                                    aplicação/pdf)."
+
+msgid "  -n copies               Set number of copies."
+msgstr "  -n cópias               Define número de cópias."
+
+msgid ""
+"  -n count                Repeat the last file the given number of times."
+msgstr ""
+"  -n contagem             Repete o último arquivo o número de vezes dado."
+
+msgid "  -n regex                Match service name to regular expression."
+msgstr ""
+"  -n regex                Corresponde o nome do serviço à expressão regular."
+
+msgid ""
+"  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
+msgstr ""
+"  -o arquivo.drv          Define o arquivo de informações do "
+"driver                          (caso contrário, ppdi.drv)."
+
+msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
+msgstr ""
+"  -o arquivo.ppd[.gz]     Define arquivo de saída (caso contrário, stdout)."
+
+msgid "  -o name=value           Set option(s)."
+msgstr "  -o nome=valor           Define opção/opções."
+
+msgid "  -p                      Print URI if true."
+msgstr "  -p                      Exibe a URI se verdadeiro."
+
+msgid "  -p filename.ppd         Set PPD file."
+msgstr "  -p arquivo.ppd          Define arquivo PPD."
+
+msgid "  -q                      Quietly report match via exit code."
+msgstr ""
+"  -q                      Relata silenciosamente correspondências via "
+"código                              de saída."
+
+msgid "  -q                      Run silently."
+msgstr "  -q                      Executa silenciosamente."
+
+msgid "  -r                      True if service is remote."
+msgstr "  -r                      Verdadeiro se o serviço for remoto."
+
+msgid "  -r                      Use 'relaxed' open mode."
+msgstr "  -r                      Usa modo aberto \"relaxado\"."
+
+msgid "  -s                      Print service name if true."
+msgstr "  -s                      Exibe o nome do serviço se verdadeiro."
+
+msgid "  -s cups-files.conf      Set cups-files.conf file to use."
+msgstr ""
+
+msgid "  -t                      Produce a test report."
+msgstr "  -t                      Produz um relatório de teste."
+
+msgid "  -t                      Test PPDs instead of generating them."
+msgstr "  -t                      Testa PPDs ao invés de criá-los."
+
+msgid "  -t                      Test the configuration file."
+msgstr "  -t                      Testa o arquivo de configuração."
+
+msgid "  -t key                  True if the TXT record contains the key."
+msgstr ""
+"  -t chave                Verdadeiro se o registro TXT contiver a chave."
+
+msgid "  -t title                Set title."
+msgstr "  -t título               Define um título."
+
+msgid "  -u                      Remove the PPD file when finished."
+msgstr "  -u                      Remove o arquivo PPD ao final."
+
+msgid "  -u regex                Match URI to regular expression."
+msgstr "  -u regex                Corresponde a URI à expressão regular."
+
+msgid "  -v                      Be verbose."
+msgstr "  -v                      Modo detalhado."
+
+msgid "  -vv                     Be very verbose."
+msgstr "  -vv                     Modo muito detalhado."
+
+msgid ""
+"  -x utility [argument ...] ;\n"
+"                          Execute program if true."
+msgstr ""
+"  -x utilitário [argumento ...] ;\n"
+"                          Executa o programa se verdadeiro."
+
+msgid "  -z                      Compress PPD files using GNU zip."
+msgstr "  -z                      Compacta arquivos PPD usando GNU zip."
+
+msgid "  IPPFIND_SERVICE_DOMAIN  Domain name"
+msgstr "  IPPFIND_SERVICE_DOMAIN  Nome do domínio"
+
+msgid ""
+"  IPPFIND_SERVICE_HOSTNAME\n"
+"                          Fully-qualified domain name"
+msgstr ""
+"  IPPFIND_SERVICE_HOSTNAME\n"
+"                          Nome completo do domínio (FQDN)"
+
+msgid "  IPPFIND_SERVICE_NAME    Service instance name"
+msgstr "  IPPFIND_SERVICE_NAME    Nome da instância do serviço"
+
+msgid "  IPPFIND_SERVICE_PORT    Port number"
+msgstr "  IPPFIND_SERVICE_PORT    Número da porta"
+
+msgid "  IPPFIND_SERVICE_REGTYPE DNS-SD registration type"
+msgstr "  IPPFIND_SERVICE_REGTYPE Tipo de registro DNS-SD"
+
+msgid "  IPPFIND_SERVICE_SCHEME  URI scheme"
+msgstr "  IPPFIND_SERVICE_SCHEME  Esquema URI"
+
+msgid "  IPPFIND_SERVICE_URI     URI"
+msgstr "  IPPFIND_SERVICE_URI     URI"
+
+msgid "  IPPFIND_TXT_*           Value of TXT record key"
+msgstr "  IPPFIND_TXT_*           Valor da chave de registro TXT"
+
+msgid ""
+"  expression --and expression\n"
+"                          Logical AND."
+msgstr ""
+"  expressão --and expressão\n"
+"                          AND lógico."
+
+msgid ""
+"  expression --or expression\n"
+"                          Logical OR."
+msgstr ""
+"  expressão --or expressão\n"
+"                          OR lógico."
+
+msgid "  expression expression   Logical AND."
+msgstr "  expressão expressão     AND lógico."
+
+msgid "  {service_domain}        Domain name"
+msgstr "  {service_domain}        Nome do domínio"
+
+msgid "  {service_hostname}      Fully-qualified domain name"
+msgstr "  {service_hostname}      Nome completo do domínio (FQDN)"
+
+msgid "  {service_name}          Service instance name"
+msgstr "  {service_name}          Nome da instância do serviço"
+
+msgid "  {service_port}          Port number"
+msgstr "  {service_port}          Número da porta"
+
+msgid "  {service_regtype}       DNS-SD registration type"
+msgstr "  {service_regtype}       Tipo de registro DNS-SD"
+
+msgid "  {service_scheme}        URI scheme"
+msgstr "  {service_scheme}        Esquema URI"
+
+msgid "  {service_uri}           URI"
+msgstr "  {service_uri}           URI"
+
+msgid "  {txt_*}                 Value of TXT record key"
+msgstr "  {txt_*}                 Valor da chave de registro TXT"
+
+msgid "  {}                      URI"
+msgstr "  {}                      URI"
+
+msgid " FAIL"
+msgstr " FALHA"
+
+msgid " PASS"
+msgstr " PASSOU"
+
+#, c-format
+msgid "\"%s\": Bad URI value \"%s\" - %s (RFC 2911 section 4.1.5)."
+msgstr "\"%s\": Valor inválido de URI \"%s\" - %s (RFC 2911 seção 4.1.5)."
+
+#, c-format
+msgid "\"%s\": Bad URI value \"%s\" - bad length %d (RFC 2911 section 4.1.5)."
+msgstr ""
+"\"%s\": Valor inválido de URI \"%s\" - comprimento inválido %d (RFC 2911 "
+"seção 4.1.5)."
+
+#, c-format
+msgid "\"%s\": Bad attribute name - bad length %d (RFC 2911 section 4.1.3)."
+msgstr ""
+"\"%s\": Nome de atributo inválido - comprimento inválido %d (RFC 2911 seção "
+"4.1.3)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad attribute name - invalid character (RFC 2911 section 4.1.3)."
+msgstr ""
+"\"%s\": Nome de atributo inválido - caractere inválido (RFC 2911 seção "
+"4.1.3)."
+
+#, c-format
+msgid "\"%s\": Bad boolen value %d (RFC 2911 section 4.1.11)."
+msgstr "\"%s\": Valor booleano inválido %d (RFC 2911 seção 4.1.11)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad charset value \"%s\" - bad characters (RFC 2911 section 4.1.7)."
+msgstr ""
+"\"%s\": Valor de conjunto de caracteres inválido \"%s\" - caracteres "
+"inválido (RFC 2911 seção 4.1.7)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad charset value \"%s\" - bad length %d (RFC 2911 section 4.1.7)."
+msgstr ""
+"\"%s\": Valor de conjunto de caracteres inválido \"%s\" - comprimento "
+"inválido %d (RFC 2911 seção 4.1.7)."
+
+#, c-format
+msgid "\"%s\": Bad dateTime UTC hours %u (RFC 2911 section 4.1.14)."
+msgstr "\"%s\": Horas de UTC dateTime inválidas %u (RFC 2911 seção 4.1.14)."
+
+#, c-format
+msgid "\"%s\": Bad dateTime UTC minutes %u (RFC 2911 section 4.1.14)."
+msgstr "\"%s\": Minutos de UTC dateTime inválidos %u (RFC 2911 seção 4.1.14)."
+
+#, c-format
+msgid "\"%s\": Bad dateTime UTC sign '%c' (RFC 2911 section 4.1.14)."
+msgstr "\"%s\": Sinal de UTC dateTime inválido \"%c\" (RFC 2911 seção 4.1.14)."
+
+#, c-format
+msgid "\"%s\": Bad dateTime day %u (RFC 2911 section 4.1.14)."
+msgstr "\"%s\": Dia de dateTime inválido %u (RFC 2911 seção 4.1.14)."
+
+#, c-format
+msgid "\"%s\": Bad dateTime deciseconds %u (RFC 2911 section 4.1.14)."
+msgstr ""
+"\"%s\": Décimos de segundos de dateTime inválidos %u (RFC 2911 seção 4.1.14)."
+
+#, c-format
+msgid "\"%s\": Bad dateTime hours %u (RFC 2911 section 4.1.14)."
+msgstr "\"%s\": Horas de dateTime inválidas %u (RFC 2911 seção 4.1.14)."
+
+#, c-format
+msgid "\"%s\": Bad dateTime minutes %u (RFC 2911 section 4.1.14)."
+msgstr "\"%s\": Minutos de dateTime inválidos %u (RFC 2911 seção 4.1.14)."
+
+#, c-format
+msgid "\"%s\": Bad dateTime month %u (RFC 2911 section 4.1.14)."
+msgstr "\"%s\": Mês de dateTime inválido %u (RFC 2911 seção 4.1.14)."
+
+#, c-format
+msgid "\"%s\": Bad dateTime seconds %u (RFC 2911 section 4.1.14)."
+msgstr "\"%s\": Segundos de dateTime inválidos %u (RFC 2911 seção 4.1.14)."
+
+#, c-format
+msgid "\"%s\": Bad enum value %d - out of range (RFC 2911 section 4.1.4)."
+msgstr ""
+"\"%s\": Valor de enum inválido %d - fora da faixa (RFC 2911 seção 4.1.4)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad keyword value \"%s\" - bad length %d (RFC 2911 section 4.1.3)."
+msgstr ""
+"\"%s\": Valor de keyword inválido \"%s\" - comprimento inválido %d (RFC 2911 "
+"seção 4.1.3)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad keyword value \"%s\" - invalid character (RFC 2911 section "
+"4.1.3)."
+msgstr ""
+"\"%s\": Valor de keyword inválido \"%s\" - caractere inválido (RFC 2911 "
+"seção 4.1.3)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad mimeMediaType value \"%s\" - bad characters (RFC 2911 section "
+"4.1.9)."
+msgstr ""
+"\"%s\": Valor de mimeMediaType inválido \"%s\" - caracteres inválidos (RFC "
+"2911 seção 4.1.9)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad mimeMediaType value \"%s\" - bad length %d (RFC 2911 section "
+"4.1.9)."
+msgstr ""
+"\"%s\": Valor de mimeMediaType inválido \"%s\" - comprimento inválido %d "
+"(RFC 2911 seção 4.1.9)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.2)."
+msgstr ""
+"\"%s\": Valor de name inválido \"%s\" - sequência UTF-8 inválida (RFC 2911 "
+"seção 4.1.2)."
+
+#, c-format
+msgid "\"%s\": Bad name value \"%s\" - bad length %d (RFC 2911 section 4.1.2)."
+msgstr ""
+"\"%s\": Valor de name inválido \"%s\" - comprimento inválido %d (RFC 2911 "
+"seção 4.1.2)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad naturalLanguage value \"%s\" - bad characters (RFC 2911 section "
+"4.1.8)."
+msgstr ""
+"\"%s\": Valor de naturalLanguage inválido \"%s\" - caracteres inválidos (RFC "
+"2911 seção 4.1.8)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad naturalLanguage value \"%s\" - bad length %d (RFC 2911 section "
+"4.1.8)."
+msgstr ""
+"\"%s\": Valor de naturalLanguage inválido \"%s\" - comprimento inválido %d "
+"(RFC 2911 seção 4.1.8)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad octetString value - bad length %d (RFC 2911 section 4.1.10)."
+msgstr ""
+"\"%s\": Valor de octetString inválido - comprimento inválido %d (RFC 2911 "
+"seção 4.1.10)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad rangeOfInteger value %d-%d - lower greater than upper (RFC 2911 "
+"section 4.1.13)."
+msgstr ""
+"\"%s\": Valor de rangeOfInteger inválido %d-%d - inferior maior do que o "
+"superior (RFC 2911 seção 4.1.13)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad resolution value %dx%d%s - bad units value (RFC 2911 section "
+"4.1.15)."
+msgstr ""
+"\"%s\": Valor de resolução inválido %dx%d%s - valor de unidades inválido "
+"(RFC 2911 seção 4.1.15)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad resolution value %dx%d%s - cross feed resolution must be "
+"positive (RFC 2911 section 4.1.15)."
+msgstr ""
+"\"%s\": Valor de resolução inválido %dx%d%s - resolução de cross-feed deve "
+"ser positiva (RFC 2911 seção 4.1.15)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad resolution value %dx%d%s - feed resolution must be positive (RFC "
+"2911 section 4.1.15)."
+msgstr ""
+"\"%s\": Valor de resolução inválido %dx%d%s - resolução de feed deve ser "
+"positiva (RFC 2911 seção 4.1.15)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 2911 section 4.1.1)."
+msgstr ""
+"\"%s\": Valor de texto inválido \"%s\" - sequência UTF-8 inválida (RFC 2911 "
+"seção 4.1.1)."
+
+#, c-format
+msgid "\"%s\": Bad text value \"%s\" - bad length %d (RFC 2911 section 4.1.1)."
+msgstr ""
+"\"%s\": Valor de texto inválido \"%s\" - comprimento inválido %d (RFC 2911 "
+"seção 4.1.1)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad uriScheme value \"%s\" - bad characters (RFC 2911 section 4.1.6)."
+msgstr ""
+"\"%s\": Valor de uriScheme inválido \"%s\" - caracteres inválidos (RFC 2911 "
+"seção 4.1.6)."
+
+#, c-format
+msgid ""
+"\"%s\": Bad uriScheme value \"%s\" - bad length %d (RFC 2911 section 4.1.6)."
+msgstr ""
+"\"%s\": Valor de uriScheme inválido \"%s\" - comprimento inválido %d (RFC "
+"2911 seção 4.1.6)."
+
+#, c-format
+msgid "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
+msgstr "%-7s %-7.7s %-7d %-31.31s %.0f bytes"
+
+#, c-format
+msgid "%d x %d mm"
+msgstr "%d x %d mm"
+
+#, c-format
+msgid "%g x %g"
+msgstr "%g x %g"
+
+#, c-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#, c-format
+msgid "%s (%s, %s)"
+msgstr "%s (%s, %s)"
+
+#, c-format
+msgid "%s (Borderless)"
+msgstr "%s (Sem borda)"
+
+#, c-format
+msgid "%s (Borderless, %s)"
+msgstr "%s (Sem borda, %s)"
+
+#, c-format
+msgid "%s (Borderless, %s, %s)"
+msgstr "%s (Sem borda, %s, %s)"
+
+#, c-format
+msgid "%s accepting requests since %s"
+msgstr "%s está aceitando requisições desde %s"
+
+#, c-format
+msgid "%s cannot be changed."
+msgstr "%s não pode ser alterada."
+
+#, c-format
+msgid "%s is not implemented by the CUPS version of lpc."
+msgstr "%s não está implementada pela versão CUPS do lpc."
+
+#, c-format
+msgid "%s is not ready"
+msgstr "%s não está pronta"
+
+#, c-format
+msgid "%s is ready"
+msgstr "%s está pronta"
+
+#, c-format
+msgid "%s is ready and printing"
+msgstr "%s está pronta e imprimindo"
+
+#, c-format
+msgid "%s job-id user title copies options [file]"
+msgstr "%s job-id usuário título cópia opções [arquivo]"
+
+#, c-format
+msgid "%s not accepting requests since %s -"
+msgstr "%s não está aceitando requisições desde %s -"
+
+#, c-format
+msgid "%s not supported."
+msgstr "não há suporte a %s."
+
+#, c-format
+msgid "%s/%s accepting requests since %s"
+msgstr "%s/%s está aceitando requisições desde %s"
+
+#, c-format
+msgid "%s/%s not accepting requests since %s -"
+msgstr "%s/%s não está aceitando requisições desde %s -"
+
+#, c-format
+msgid "%s: %-33.33s [job %d localhost]"
+msgstr "%s: %-33.33s [trabalho %d localhost]"
+
+#. TRANSLATORS: Message is "subject: error"
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#, c-format
+msgid "%s: %s failed: %s"
+msgstr "%s: %s falhou: %s"
+
+#, c-format
+msgid "%s: Bad printer URI \"%s\"."
+msgstr "%s: URI de impressora inválida \"%s\"."
+
+#, c-format
+msgid "%s: Bad version %s for \"-V\"."
+msgstr "%s: Versão inválida %s para \"-V\"."
+
+#, c-format
+msgid "%s: Don't know what to do."
+msgstr "%s: Não sei o que fazer."
+
+#, c-format
+msgid ""
+"%s: Error - %s environment variable names non-existent destination \"%s\"."
+msgstr ""
+"%s: Erro - A variável de ambiente %s contém destino inexistente \"%s\"."
+
+#, c-format
+msgid "%s: Error - add '/version=1.1' to server name."
+msgstr "%s: Erro - adicione '/version=1.1' ao nome do servidor."
+
+#, c-format
+msgid "%s: Error - bad job ID."
+msgstr "%s: Erro - ID de trabalho inválido."
+
+#, c-format
+msgid "%s: Error - cannot print files and alter jobs simultaneously."
+msgstr ""
+"%s: Erro - não é possível imprimir arquivos e alterar trabalhos "
+"simultaneamente."
+
+#, c-format
+msgid "%s: Error - cannot print from stdin if files or a job ID are provided."
+msgstr ""
+"%s: Erro - não é possível imprimir de stdin se os arquivos ou um ID de "
+"trabalho forem fornecidos."
+
+#, c-format
+msgid "%s: Error - expected character set after \"-S\" option."
+msgstr "%s: Erro - esperava uma codificação de caracteres após a opção \"-S\"."
+
+#, c-format
+msgid "%s: Error - expected content type after \"-T\" option."
+msgstr "%s: Erro - esperava um tipo de conteúdo após a opção \"-T\"."
+
+#, c-format
+msgid "%s: Error - expected copies after \"-#\" option."
+msgstr "%s: Erro - esperava cópias após a opção \"-#\"."
+
+#, c-format
+msgid "%s: Error - expected copies after \"-n\" option."
+msgstr "%s: Erro - esperava cópias após a opção \"-n\"."
+
+#, c-format
+msgid "%s: Error - expected destination after \"-P\" option."
+msgstr "%s: Erro - esperava um destino após a opção \"-P\"."
+
+#, c-format
+msgid "%s: Error - expected destination after \"-d\" option."
+msgstr "%s: Erro - esperava um destino após a opção \"-d\"."
+
+#, c-format
+msgid "%s: Error - expected form after \"-f\" option."
+msgstr "%s: Erro - esperava um formulário após a opção \"-f\"."
+
+#, c-format
+msgid "%s: Error - expected hold name after \"-H\" option."
+msgstr "%s: Erro - esperava um nome para segurar após a opção \"-H\"."
+
+#, c-format
+msgid "%s: Error - expected hostname after \"-H\" option."
+msgstr "%s: Erro - esperava o nome da máquina após a opção \"-H\"."
+
+#, c-format
+msgid "%s: Error - expected hostname after \"-h\" option."
+msgstr "%s: Erro - esperava o nome da máquina após a opção \"-h\"."
+
+#, c-format
+msgid "%s: Error - expected mode list after \"-y\" option."
+msgstr "%s: Erro - esperava uma lista de modos após a opção \"-y\"."
+
+#, c-format
+msgid "%s: Error - expected name after \"-%c\" option."
+msgstr "%s: Erro - esperava um nome após a opção \"-%c\"."
+
+#, c-format
+msgid "%s: Error - expected option=value after \"-o\" option."
+msgstr "%s: Erro - esperava opção=valor após a opção \"-o\"."
+
+#, c-format
+msgid "%s: Error - expected page list after \"-P\" option."
+msgstr "%s: Erro - esperava uma lista de página após a opção \"-P\"."
+
+#, c-format
+msgid "%s: Error - expected priority after \"-%c\" option."
+msgstr "%s: Erro - esperava uma prioridade após a opção \"-%c\"."
+
+#, c-format
+msgid "%s: Error - expected reason text after \"-r\" option."
+msgstr "%s: Erro - esperava um texto com motivo após a opção \"-r\"."
+
+#, c-format
+msgid "%s: Error - expected title after \"-t\" option."
+msgstr "%s: Erro - esperava um título após a opção \"-t\"."
+
+#, c-format
+msgid "%s: Error - expected username after \"-U\" option."
+msgstr "%s: Erro - esperava um nome de usuário após a opção \"-U\"."
+
+#, c-format
+msgid "%s: Error - expected username after \"-u\" option."
+msgstr "%s: Erro - esperava um nome de usuário após a opção \"-u\"."
+
+#, c-format
+msgid "%s: Error - expected value after \"-%c\" option."
+msgstr "%s: Erro - esperava um valor após a opção \"-%c\"."
+
+#, c-format
+msgid ""
+"%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" "
+"option."
+msgstr ""
+"%s: Erro - precisa de \"completed\", \"not-completed\" ou \"all\" após a "
+"opção \"-W\"."
+
+#, c-format
+msgid "%s: Error - no default destination available."
+msgstr "%s: Erro - nenhum destino padrão disponível."
+
+#, c-format
+msgid "%s: Error - priority must be between 1 and 100."
+msgstr "%s: Erro - prioridade deve estar entre 1 e 100."
+
+#, c-format
+msgid "%s: Error - scheduler not responding."
+msgstr "%s: Erro - agendador não está respondendo."
+
+#, c-format
+msgid "%s: Error - too many files - \"%s\"."
+msgstr "%s: Erro - arquivos demais - \"%s\"."
+
+#, c-format
+msgid "%s: Error - unable to access \"%s\" - %s"
+msgstr "%s: Erro - não foi possível acessar \"%s\" - %s"
+
+#, c-format
+msgid "%s: Error - unable to queue from stdin - %s."
+msgstr "%s: Erro - não foi possível enfilerar de stdin - %s."
+
+#, c-format
+msgid "%s: Error - unknown destination \"%s\"."
+msgstr "%s: Erro - destino desconhecido \"%s\"."
+
+#, c-format
+msgid "%s: Error - unknown destination \"%s/%s\"."
+msgstr "%s: Erro - destino desconhecido \"%s/%s\"."
+
+#, c-format
+msgid "%s: Error - unknown option \"%c\"."
+msgstr "%s: Erro - opção desconhecida \"%c\"."
+
+#, c-format
+msgid "%s: Error - unknown option \"%s\"."
+msgstr "%s: Erro - opção desconhecida \"%s\"."
+
+#, c-format
+msgid "%s: Expected job ID after \"-i\" option."
+msgstr "%s: Esperava ID do trabalho após a \"-i\"."
+
+#, c-format
+msgid "%s: Invalid destination name in list \"%s\"."
+msgstr "%s: Nome de destino inválido na lista \"%s\"."
+
+#, c-format
+msgid "%s: Invalid filter string \"%s\"."
+msgstr "%s: String de filtro inválida \"%s\"."
+
+#, c-format
+msgid "%s: Missing filename for \"-P\"."
+msgstr "%s: Faltando nome de arquivo para \"-P\"."
+
+#, c-format
+msgid "%s: Missing timeout for \"-T\"."
+msgstr "%s: Faltando tempo de espera para \"-T\"."
+
+#, c-format
+msgid "%s: Missing version for \"-V\"."
+msgstr "%s: Faltando versão para \"-V\"."
+
+#, c-format
+msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
+msgstr "%s: Precisa de ID de trabalho (\"-i jobid\") antes de \"-H restart\"."
+
+#, c-format
+msgid "%s: No filter to convert from %s/%s to %s/%s."
+msgstr "%s: Nenhum filtro para converter de %s/%s para %s/%s."
+
+#, c-format
+msgid "%s: Operation failed: %s"
+msgstr "%s: Operação falhou: %s"
+
+#, c-format
+msgid "%s: Sorry, no encryption support."
+msgstr "%s: Desculpa, não há suporte a criptografia."
+
+#, c-format
+msgid "%s: Unable to connect to \"%s:%d\": %s"
+msgstr "%s: Não foi possível conectar a \"%s:%d\": %s"
+
+#, c-format
+msgid "%s: Unable to connect to server."
+msgstr "%s: Não foi possível conectar ao servidor."
+
+#, c-format
+msgid "%s: Unable to contact server."
+msgstr "%s: Não foi possível contactar o servidor."
+
+#, c-format
+msgid "%s: Unable to create PPD file: %s"
+msgstr "%s: Não foi possível criar o arquivo PDD: %s"
+
+#, c-format
+msgid "%s: Unable to determine MIME type of \"%s\"."
+msgstr "%s: Não foi possível determinar o tipo MIME de \"%s\"."
+
+#, c-format
+msgid "%s: Unable to open \"%s\": %s"
+msgstr "%s: Não foi possível abrir \"%s\": %s"
+
+#, c-format
+msgid "%s: Unable to open %s: %s"
+msgstr "%s: Não foi possível abrir %s: %s"
+
+#, c-format
+msgid "%s: Unable to open PPD file: %s on line %d."
+msgstr "%s: Não foi possível abrir o arquivo PPD: %s na linha %d."
+
+#, c-format
+msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
+msgstr "%s: Não foi possível ler o banco de dados MIME de \"%s\" ou \"%s\"."
+
+#, c-format
+msgid "%s: Unable to resolve \"%s\"."
+msgstr "%s: Não foi possível resolver \"%s\"."
+
+#, c-format
+msgid "%s: Unknown destination \"%s\"."
+msgstr "%s: Destino desconhecido \"%s\"."
+
+#, c-format
+msgid "%s: Unknown destination MIME type %s/%s."
+msgstr "%s: Tipo de MIME de destino desconhecido %s/%s."
+
+#, c-format
+msgid "%s: Unknown option \"%c\"."
+msgstr "%s: Opção desconhecida \"%c\"."
+
+#, c-format
+msgid "%s: Unknown option \"%s\"."
+msgstr "%s: Opção desconhecida \"%s\"."
+
+#, c-format
+msgid "%s: Unknown option \"-%c\"."
+msgstr "%s: Opção desconhecida \"-%c\"."
+
+#, c-format
+msgid "%s: Unknown source MIME type %s/%s."
+msgstr "%s: Tipo MIME de origem desconhecida %s/%s."
+
+#, c-format
+msgid ""
+"%s: Warning - \"%c\" format modifier not supported - output may not be "
+"correct."
+msgstr ""
+"%s: Aviso - não há suporte ao modificador de formato \"%c\" - a saída pode "
+"não ficar correta."
+
+#, c-format
+msgid "%s: Warning - character set option ignored."
+msgstr "%s: Aviso - opção de conjunto de caracteres ignorada."
+
+#, c-format
+msgid "%s: Warning - content type option ignored."
+msgstr "%s: Aviso - opção de tipo de conteúdo ignorada."
+
+#, c-format
+msgid "%s: Warning - form option ignored."
+msgstr "%s: Aviso - opção de formulário ignorada."
+
+#, c-format
+msgid "%s: Warning - mode option ignored."
+msgstr "%s: Aviso - opção modo ignorada."
+
+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 pol/seg."
+
+msgid "1.25x0.25\""
+msgstr "1.25x0.25\""
+
+msgid "1.25x2.25\""
+msgstr "1.25x2.25\""
+
+msgid "1.5 inch/sec."
+msgstr "1.5 pol/seg."
+
+msgid "1.50x0.25\""
+msgstr "1.50x0.25\""
+
+msgid "1.50x0.50\""
+msgstr "1.50x0.50\""
+
+msgid "1.50x1.00\""
+msgstr "1.50x1.00\""
+
+msgid "1.50x2.00\""
+msgstr "1.50x2.00\""
+
+msgid "10"
+msgstr "10"
+
+msgid "10 inches/sec."
+msgstr "10 pol/seg."
+
+msgid "10 x 11"
+msgstr "10 x 11"
+
+msgid "10 x 13"
+msgstr "10 x 13"
+
+msgid "10 x 14"
+msgstr "10 x 14"
+
+msgid "100"
+msgstr "100"
+
+msgid "100 mm/sec."
+msgstr "100 mm/s"
+
+msgid "105"
+msgstr "105"
+
+msgid "11"
+msgstr "11"
+
+msgid "11 inches/sec."
+msgstr "11 pol/s"
+
+msgid "110"
+msgstr "110"
+
+msgid "115"
+msgstr "115"
+
+msgid "12"
+msgstr "12"
+
+msgid "12 inches/sec."
+msgstr "12 pol/s"
+
+msgid "12 x 11"
+msgstr "12 x 11"
+
+msgid "120"
+msgstr "120"
+
+msgid "120 mm/sec."
+msgstr "120 mm/s"
+
+msgid "120x60dpi"
+msgstr "120x60dpi"
+
+msgid "120x72dpi"
+msgstr "120x72dpi"
+
+msgid "13"
+msgstr "13"
+
+msgid "136dpi"
+msgstr "136dpi"
+
+msgid "14"
+msgstr "14"
+
+msgid "15"
+msgstr "15"
+
+msgid "15 mm/sec."
+msgstr "15 mm/s"
+
+msgid "15 x 11"
+msgstr "15 x 11"
+
+msgid "150 mm/sec."
+msgstr "150 mm/s"
+
+msgid "150dpi"
+msgstr "150dpi"
+
+msgid "16"
+msgstr "16"
+
+msgid "17"
+msgstr "17"
+
+msgid "18"
+msgstr "18"
+
+msgid "180dpi"
+msgstr "180dpi"
+
+msgid "19"
+msgstr "19"
+
+msgid "2"
+msgstr "2"
+
+msgid "2 inches/sec."
+msgstr "2 pol/s"
+
+msgid "2-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "2-Sided Printing"
+msgstr "Frente e Verso"
+
+msgid "2.00x0.37\""
+msgstr "2.00x0.37\""
+
+msgid "2.00x0.50\""
+msgstr "2.00x0.50\""
+
+msgid "2.00x1.00\""
+msgstr "2.00x1.00\""
+
+msgid "2.00x1.25\""
+msgstr "2.00x1.25\""
+
+msgid "2.00x2.00\""
+msgstr "2.00x2.00\""
+
+msgid "2.00x3.00\""
+msgstr "2.00x3.00\""
+
+msgid "2.00x4.00\""
+msgstr "2.00x4.00\""
+
+msgid "2.00x5.50\""
+msgstr "2.00x5.50\""
+
+msgid "2.25x0.50\""
+msgstr "2.25x0.50\""
+
+msgid "2.25x1.25\""
+msgstr "2.25x1.25\""
+
+msgid "2.25x4.00\""
+msgstr "2.25x4.00\""
+
+msgid "2.25x5.50\""
+msgstr "2.25x5.50\""
+
+msgid "2.38x5.50\""
+msgstr "2.38x5.50\""
+
+msgid "2.5 inches/sec."
+msgstr "2.5 pol/s"
+
+msgid "2.50x1.00\""
+msgstr "2.50x1.00\""
+
+msgid "2.50x2.00\""
+msgstr "2.50x2.00\""
+
+msgid "2.75x1.25\""
+msgstr "2.75x1.25\""
+
+msgid "2.9 x 1\""
+msgstr "2.9 x 1\""
+
+msgid "20"
+msgstr "20"
+
+msgid "20 mm/sec."
+msgstr "20 mm/s"
+
+msgid "200 mm/sec."
+msgstr "200 mm/s"
+
+msgid "203dpi"
+msgstr "203dpi"
+
+msgid "21"
+msgstr "21"
+
+msgid "22"
+msgstr "22"
+
+msgid "23"
+msgstr "23"
+
+msgid "24"
+msgstr "24"
+
+msgid "24-Pin Series"
+msgstr "Séries de 24 agulhas"
+
+msgid "240x72dpi"
+msgstr "240x72dpi"
+
+msgid "25"
+msgstr "25"
+
+msgid "250 mm/sec."
+msgstr "250 mm/s"
+
+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 pol/s"
+
+msgid "3 x 5"
+msgstr "3 x 5"
+
+msgid "3-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "3.00x1.00\""
+msgstr "3.00x1.00\""
+
+msgid "3.00x1.25\""
+msgstr "3.00x1.25\""
+
+msgid "3.00x2.00\""
+msgstr "3.00x2.00\""
+
+msgid "3.00x3.00\""
+msgstr "3.00x3.00\""
+
+msgid "3.00x5.00\""
+msgstr "3.00x5.00\""
+
+msgid "3.25x2.00\""
+msgstr "3.25x2.00\""
+
+msgid "3.25x5.00\""
+msgstr "3.25x5.00\""
+
+msgid "3.25x5.50\""
+msgstr "3.25x5.50\""
+
+msgid "3.25x5.83\""
+msgstr "3.25x5.83\""
+
+msgid "3.25x7.83\""
+msgstr "3.25x7.83\""
+
+msgid "3.5 x 5"
+msgstr "3.5 x 5"
+
+msgid "3.5\" Disk"
+msgstr "Disco de 3.5\""
+
+msgid "3.50x1.00\""
+msgstr "3.50x1.00\""
+
+msgid "30"
+msgstr "30"
+
+msgid "30 mm/sec."
+msgstr "30 mm/s"
+
+msgid "300 mm/sec."
+msgstr "300 mm/s"
+
+msgid "300dpi"
+msgstr "300dpi"
+
+msgid "35"
+msgstr "35"
+
+msgid "360dpi"
+msgstr "360dpi"
+
+msgid "360x180dpi"
+msgstr "360x180dpi"
+
+msgid "4"
+msgstr "4"
+
+msgid "4 inches/sec."
+msgstr "4 pol/s"
+
+msgid "4-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "4.00x1.00\""
+msgstr "4.00x1.00\""
+
+msgid "4.00x13.00\""
+msgstr "4.00x13.00\""
+
+msgid "4.00x2.00\""
+msgstr "4.00x2.00\""
+
+msgid "4.00x2.50\""
+msgstr "4.00x2.50\""
+
+msgid "4.00x3.00\""
+msgstr "4.00x3.00\""
+
+msgid "4.00x4.00\""
+msgstr "4.00x4.00\""
+
+msgid "4.00x5.00\""
+msgstr "4.00x5.00\""
+
+msgid "4.00x6.00\""
+msgstr "4.00x6.00\""
+
+msgid "4.00x6.50\""
+msgstr "4.00x6.50\""
+
+msgid "40"
+msgstr "40"
+
+msgid "40 mm/sec."
+msgstr "40 mm/s"
+
+msgid "45"
+msgstr "45"
+
+msgid "5"
+msgstr "5"
+
+msgid "5 inches/sec."
+msgstr "5 pol/s"
+
+msgid "5 x 7"
+msgstr "5 x 7"
+
+msgid "50"
+msgstr "50"
+
+msgid "55"
+msgstr "55"
+
+msgid "6"
+msgstr "6"
+
+msgid "6 inches/sec."
+msgstr "6 pol/s"
+
+msgid "6.00x1.00\""
+msgstr "6.00x1.00\""
+
+msgid "6.00x2.00\""
+msgstr "6.00x2.00\""
+
+msgid "6.00x3.00\""
+msgstr "6.00x3.00\""
+
+msgid "6.00x4.00\""
+msgstr "6.00x4.00\""
+
+msgid "6.00x5.00\""
+msgstr "6.00x5.00\""
+
+msgid "6.00x6.00\""
+msgstr "6.00x6.00\""
+
+msgid "6.00x6.50\""
+msgstr "6.00x6.50\""
+
+msgid "60"
+msgstr "60"
+
+msgid "60 mm/sec."
+msgstr "60 mm/s"
+
+msgid "600dpi"
+msgstr "600dpi"
+
+msgid "60dpi"
+msgstr "60dpi"
+
+msgid "60x72dpi"
+msgstr "60x72dpi"
+
+msgid "65"
+msgstr "65"
+
+msgid "7"
+msgstr "7"
+
+msgid "7 inches/sec."
+msgstr "7 pol/s"
+
+msgid "7 x 9"
+msgstr "7 x 9"
+
+msgid "70"
+msgstr "70"
+
+msgid "75"
+msgstr "75"
+
+msgid "8"
+msgstr "8"
+
+msgid "8 inches/sec."
+msgstr "8 pol/s"
+
+msgid "8 x 10"
+msgstr "8 x 10"
+
+msgid "8.00x1.00\""
+msgstr "8.00x1.00\""
+
+msgid "8.00x2.00\""
+msgstr "8.00x2.00\""
+
+msgid "8.00x3.00\""
+msgstr "8.00x3.00\""
+
+msgid "8.00x4.00\""
+msgstr "8.00x4.00\""
+
+msgid "8.00x5.00\""
+msgstr "8.00x5.00\""
+
+msgid "8.00x6.00\""
+msgstr "8.00x6.00\""
+
+msgid "8.00x6.50\""
+msgstr "8.00x6.50\""
+
+msgid "80"
+msgstr "80"
+
+msgid "80 mm/sec."
+msgstr "80 mm/s"
+
+msgid "85"
+msgstr "85"
+
+msgid "9"
+msgstr "9"
+
+msgid "9 inches/sec."
+msgstr "9 pol/s"
+
+msgid "9 x 11"
+msgstr "9 x 11"
+
+msgid "9 x 12"
+msgstr "9 x 12"
+
+msgid "9-Pin Series"
+msgstr "Série de 9 agulhas"
+
+msgid "90"
+msgstr "90"
+
+msgid "95"
+msgstr "95"
+
+msgid "?Invalid help command unknown."
+msgstr "?Comando de ajuda inválido desconhecido."
+
+msgid "A Samba password is required to export printer drivers"
+msgstr "Uma senha do Samba é necessária para exportar drivers de impressora"
+
+msgid "A Samba username is required to export printer drivers"
+msgstr ""
+"Um nome de usuário do Samba é necessário para exportar drivers de impressora"
+
+#, c-format
+msgid "A class named \"%s\" already exists."
+msgstr "Uma classe chamada \"%s\" já existe."
+
+#, c-format
+msgid "A printer named \"%s\" already exists."
+msgstr "Uma impressora chamada \"%s\" já existe."
+
+msgid "A0"
+msgstr "A0"
+
+msgid "A0 Long Edge"
+msgstr "A0 borda maior"
+
+msgid "A1"
+msgstr "A1"
+
+msgid "A1 Long Edge"
+msgstr "A1 borda maior"
+
+msgid "A10"
+msgstr "A10"
+
+msgid "A2"
+msgstr "A2"
+
+msgid "A2 Long Edge"
+msgstr "A2 borda maior"
+
+msgid "A3"
+msgstr "A3"
+
+msgid "A3 Long Edge"
+msgstr "A3 borda maior"
+
+msgid "A3 Oversize"
+msgstr "A3 grande"
+
+msgid "A3 Oversize Long Edge"
+msgstr "A3 borda muito maior"
+
+msgid "A4"
+msgstr "A4"
+
+msgid "A4 Long Edge"
+msgstr "A4 borda maior"
+
+msgid "A4 Oversize"
+msgstr "A4 grande"
+
+msgid "A4 Small"
+msgstr "A4 pequeno"
+
+msgid "A5"
+msgstr "A5"
+
+msgid "A5 Long Edge"
+msgstr "A5 borda maior"
+
+msgid "A5 Oversize"
+msgstr "A5 grande"
+
+msgid "A6"
+msgstr "A6"
+
+msgid "A6 Long Edge"
+msgstr "A6 borda maior"
+
+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 C"
+msgstr "ARCH C"
+
+msgid "ARCH C Long Edge"
+msgstr "ARCH C borda maior"
+
+msgid "ARCH D"
+msgstr "ARCH D"
+
+msgid "ARCH D Long Edge"
+msgstr "ARCH D borda maior"
+
+msgid "ARCH E"
+msgstr "ARCH E"
+
+msgid "ARCH E Long Edge"
+msgstr "ARCH E borda maior"
+
+msgid "Accept Jobs"
+msgstr "Aceitando trabalhos"
+
+msgid "Accepted"
+msgstr "Aceitou"
+
+msgid "Accordian Fold"
+msgstr ""
+
+msgid "Add Class"
+msgstr "Adicionar classe"
+
+msgid "Add Printer"
+msgstr "Adicionar impressora"
+
+msgid "Add RSS Subscription"
+msgstr "Adicionar inscrição RSS"
+
+msgid "Address"
+msgstr "Endereço"
+
+msgid "Administration"
+msgstr "Administração"
+
+msgid "Alternate"
+msgstr ""
+
+msgid "Alternate Roll"
+msgstr ""
+
+msgid "Always"
+msgstr "Sempre"
+
+msgid "AppSocket/HP JetDirect"
+msgstr "AppSocket/HP JetDirect"
+
+msgid "Applicator"
+msgstr "Aplicador"
+
+#, c-format
+msgid "Attempt to set %s printer-state to bad value %d."
+msgstr ""
+"Tentativa de definir o estado da impressora %s para o valor inválido %d."
+
+#, c-format
+msgid "Attribute \"%s\" is in the wrong group."
+msgstr ""
+
+#, c-format
+msgid "Attribute \"%s\" is the wrong value type."
+msgstr ""
+
+#, c-format
+msgid "Attribute groups are out of order (%x < %x)."
+msgstr "Grupos de atributos estão fora de ordem (%x < %x)."
+
+msgid "Automatic"
+msgstr ""
+
+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 "B5 Oversize"
+msgstr "B5 grande"
+
+msgid "B6"
+msgstr "B6"
+
+msgid "B7"
+msgstr "B7"
+
+msgid "B8"
+msgstr "B8"
+
+msgid "B9"
+msgstr "B9"
+
+#, c-format
+msgid "Bad 'document-format' value \"%s\"."
+msgstr "Valor de \"document-format\" inválido \"%s\"."
+
+msgid "Bad NULL dests pointer"
+msgstr "Ponteiro de destinatário NULO inválido"
+
+msgid "Bad OpenGroup"
+msgstr "OpenGroup inválido"
+
+msgid "Bad OpenUI/JCLOpenUI"
+msgstr "OpenUI/JCLOpenUI inválido"
+
+msgid "Bad OrderDependency"
+msgstr "OrderDependency inválido"
+
+msgid "Bad PPD cache file."
+msgstr "Arquivo de cache de PPD inválido."
+
+msgid "Bad PPD file."
+msgstr ""
+
+msgid "Bad Request"
+msgstr "Requisição inválida"
+
+msgid "Bad SNMP version number"
+msgstr "Número de versão SNMP inválido"
+
+msgid "Bad UIConstraints"
+msgstr "UIConstraints inválido"
+
+msgid "Bad arguments to function"
+msgstr "Argumentos inválidos para função"
+
+#, c-format
+msgid "Bad copies value %d."
+msgstr "Valor de cópias inválido %d."
+
+msgid "Bad custom parameter"
+msgstr "Parâmetro personalizado inválido"
+
+#, c-format
+msgid "Bad device-uri \"%s\"."
+msgstr "device-uri inválido \"%s\"."
+
+#, c-format
+msgid "Bad device-uri scheme \"%s\"."
+msgstr "Esquema device-uri inválido \"%s\"."
+
+#, c-format
+msgid "Bad document-format \"%s\"."
+msgstr "document-format inválido \"%s\"."
+
+#, c-format
+msgid "Bad document-format-default \"%s\"."
+msgstr "document-format-default inválido \"%s\"."
+
+msgid "Bad filename buffer"
+msgstr "Buffer de nome de arquivo inválido"
+
+msgid "Bad hostname/address in URI"
+msgstr "Nome de máquina/Endereço inválidos na URI"
+
+#, c-format
+msgid "Bad job-name value: %s"
+msgstr "Valor de job-name inválido: %s"
+
+msgid "Bad job-name value: Wrong type or count."
+msgstr "Valor de job-name inválido: Quantidade ou tipo inválido."
+
+msgid "Bad job-priority value."
+msgstr "Valor job-priority inválido."
+
+#, c-format
+msgid "Bad job-sheets value \"%s\"."
+msgstr "Valor de job-sheets inválido \"%s\"."
+
+msgid "Bad job-sheets value type."
+msgstr "Tipo de valor de job-sheets inválido."
+
+msgid "Bad job-state value."
+msgstr "Valor de job-state inválido."
+
+#, c-format
+msgid "Bad job-uri \"%s\"."
+msgstr "job-uri inválido \"%s\"."
+
+#, c-format
+msgid "Bad notify-pull-method \"%s\"."
+msgstr "notify-pull-method inválido \"%s\"."
+
+#, c-format
+msgid "Bad notify-recipient-uri \"%s\"."
+msgstr "notify-recipient-uri inválido \"%s\"."
+
+#, c-format
+msgid "Bad number-up value %d."
+msgstr "Valor de number-up inválido %d."
+
+#, c-format
+msgid "Bad option + choice on line %d."
+msgstr "Opção + escolha inválidas na linha %d."
+
+#, c-format
+msgid "Bad page-ranges values %d-%d."
+msgstr "Valor de page-ranges inválido %d-%d."
+
+msgid "Bad port number in URI"
+msgstr "Número de porta inválida"
+
+#, c-format
+msgid "Bad port-monitor \"%s\"."
+msgstr "port-monitor inválido \"%s\"."
+
+#, c-format
+msgid "Bad printer-state value %d."
+msgstr "Valor de printer-state inválido %d."
+
+msgid "Bad printer-uri."
+msgstr "printer-uri inválido."
+
+#, c-format
+msgid "Bad request ID %d."
+msgstr "ID da requisição inválido %d."
+
+#, c-format
+msgid "Bad request version number %d.%d."
+msgstr "Número da versão de requisição inválido %d.%d."
+
+msgid "Bad resource in URI"
+msgstr "Recurso inválido na URI"
+
+msgid "Bad scheme in URI"
+msgstr "Esquema inválido na URI"
+
+msgid "Bad subscription ID"
+msgstr "ID de inscrição inválido"
+
+msgid "Bad username in URI"
+msgstr "Usuário inválido na URI"
+
+msgid "Bad value string"
+msgstr "String de valor inválido"
+
+msgid "Bad/empty URI"
+msgstr "URI vazia/inválida"
+
+msgid "Bale"
+msgstr ""
+
+msgid "Banners"
+msgstr "Banners"
+
+msgid "Bind"
+msgstr ""
+
+msgid "Bind (Landscape)"
+msgstr ""
+
+msgid "Bind (Portrait)"
+msgstr ""
+
+msgid "Bind (Reverse Landscape)"
+msgstr ""
+
+msgid "Bind (Reverse Portrait)"
+msgstr ""
+
+msgid "Bond Paper"
+msgstr "Papel autocolante"
+
+msgid "Booklet Maker"
+msgstr ""
+
+#, c-format
+msgid "Boolean expected for waiteof option \"%s\"."
+msgstr "Esperava booleano para opção waiteof \"%s\"."
+
+msgid "Bottom"
+msgstr ""
+
+msgid "Buffer overflow detected, aborting."
+msgstr "Estouro de pilha do buffer detectado, abortando."
+
+msgid "CD/DVD/Bluray"
+msgstr ""
+
+msgid "CMYK"
+msgstr "CMYK"
+
+msgid "CPCL Label Printer"
+msgstr "Impressora de etiqueta CPCL"
+
+msgid "Cancel Jobs"
+msgstr "Cancelar trabalhos"
+
+msgid "Cancel RSS Subscription"
+msgstr "Cancelar inscrição RSS"
+
+msgid "Canceling print job."
+msgstr "Cancelando trabalho de impressão."
+
+msgid "Cannot change printer-is-shared for remote queues."
+msgstr ""
+
+msgid "Cannot share a remote Kerberized printer."
+msgstr "Não foi possível compartilhar uma impressora remota via Kerberos."
+
+msgid "Cardstock"
+msgstr ""
+
+msgid "Cassette"
+msgstr "Cassette"
+
+msgid "Center"
+msgstr ""
+
+msgid "Change Settings"
+msgstr "Alterar configurações"
+
+#, c-format
+msgid "Character set \"%s\" not supported."
+msgstr "Não há suporte ao conjunto de caracteres \"%s\"."
+
+msgid "Classes"
+msgstr "Classes"
+
+msgid "Clean Print Heads"
+msgstr "Limpar cabeça de impressão"
+
+msgid "Close-Job doesn't support the job-uri attribute."
+msgstr "Close-Job não suporta o atributo job-uri."
+
+msgid "Coat"
+msgstr ""
+
+msgid "Color"
+msgstr "Cor"
+
+msgid "Color Mode"
+msgstr "Modo colorido"
+
+msgid ""
+"Commands may be abbreviated.  Commands are:\n"
+"\n"
+"exit    help    quit    status  ?"
+msgstr ""
+"Comandos podem ser abreviados. Os comandos são:\n"
+"\n"
+"exit    help    quit    status  ?"
+
+msgid "Community name uses indefinite length"
+msgstr "Nome da comunidade usa comprimento indefinido"
+
+msgid "Connected to printer."
+msgstr "Conectado à impressora."
+
+msgid "Connecting to printer."
+msgstr "Conectando à impressora."
+
+msgid "Continue"
+msgstr "Continuar"
+
+msgid "Continuous"
+msgstr "Contínuo"
+
+msgid "Control file sent successfully."
+msgstr "Arquivo de controle enviado com sucesso."
+
+msgid "Copying print data."
+msgstr "Copiando dados de impressão."
+
+msgid "Cover"
+msgstr ""
+
+msgid "Created"
+msgstr "Criada"
+
+msgid "Custom"
+msgstr "Personalizar"
+
+msgid "CustominCutInterval"
+msgstr "CustominCutInterval"
+
+msgid "CustominTearInterval"
+msgstr "CustominTearInterval"
+
+msgid "Cut"
+msgstr "Cortar"
+
+msgid "Cut Media"
+msgstr ""
+
+msgid "Cutter"
+msgstr "Cortador"
+
+msgid "Dark"
+msgstr "Escuro"
+
+msgid "Darkness"
+msgstr "Escuridão"
+
+msgid "Data file sent successfully."
+msgstr "Arquivo de dados enviado com sucesso."
+
+msgid "Delete Class"
+msgstr "Excluir classe"
+
+msgid "Delete Printer"
+msgstr "Excluir impressora"
+
+msgid "DeskJet Series"
+msgstr "DeskJet Séries"
+
+#, c-format
+msgid "Destination \"%s\" is not accepting jobs."
+msgstr "Destino \"%s\" não está aceitando trabalhos."
+
+#, c-format
+msgid ""
+"Device: uri = %s\n"
+"        class = %s\n"
+"        info = %s\n"
+"        make-and-model = %s\n"
+"        device-id = %s\n"
+"        location = %s"
+msgstr ""
+"Dispositivo: uri = %s\n"
+"             classe = %s\n"
+"             info = %s\n"
+"             marca-e-modelo = %s\n"
+"             dispo-id = %s\n"
+"             localização = %s"
+
+msgid "Direct Thermal Media"
+msgstr "Mídia Térmica Direta"
+
+#, c-format
+msgid "Directory \"%s\" contains a relative path."
+msgstr "Diretório \"%s\" contém um caminho relativo."
+
+#, c-format
+msgid "Directory \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
+msgstr "Diretório \"%s\" contém permissões inseguras (0%o/uid=%d/gid=%d)."
+
+#, c-format
+msgid "Directory \"%s\" is a file."
+msgstr "Diretório \"%s\" é um arquivo."
+
+#, c-format
+msgid "Directory \"%s\" not available: %s"
+msgstr "Diretório \"%s\" não está disponível: %s"
+
+#, c-format
+msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
+msgstr "Permissões do diretório \"%s\" estão OK (0%o/uid=%d/gid=%d)."
+
+msgid "Disabled"
+msgstr "Desabilitado"
+
+msgid "Disc"
+msgstr ""
+
+#, c-format
+msgid "Document #%d does not exist in job #%d."
+msgstr "Documento #%d não existe no trabalho #%d."
+
+msgid "Double Gate Fold"
+msgstr ""
+
+msgid "Double Staple (Landscape)"
+msgstr ""
+
+msgid "Double Staple (Portrait)"
+msgstr ""
+
+msgid "Double Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Double Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "Draft"
+msgstr ""
+
+msgid "Duplexer"
+msgstr "Duplexador"
+
+msgid "Dymo"
+msgstr "Dymo"
+
+msgid "EPL1 Label Printer"
+msgstr "Impressora de etiqueta EPL1"
+
+msgid "EPL2 Label Printer"
+msgstr "Impressora de etiqueta EPL2"
+
+msgid "Edit Configuration File"
+msgstr "Editar arquivo de configuração"
+
+msgid "Empty PPD file."
+msgstr "Arquivo PPD vazio."
+
+msgid "Encryption is not supported."
+msgstr "Não há suporte a criptografia."
+
+#. TRANSLATORS: Banner/cover sheet after the print job.
+msgid "Ending Banner"
+msgstr "Banner ao final"
+
+msgid "English"
+msgstr "Inglês"
+
+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 ""
+"Digite seu nome de usuário e senha, ou do usuário root, para acessar esta "
+"página. Se você estiver usando autenticação Kerberos, certifique-se de que "
+"você tem um ticket Kerberos válido."
+
+msgid "Envelope"
+msgstr ""
+
+msgid "Envelope #10"
+msgstr ""
+
+msgid "Envelope #11"
+msgstr "Envelope #11"
+
+msgid "Envelope #12"
+msgstr "Envelope #12"
+
+msgid "Envelope #14"
+msgstr "Envelope #14"
+
+msgid "Envelope #9"
+msgstr "Envelope #9"
+
+msgid "Envelope B4"
+msgstr "Envelope B4"
+
+msgid "Envelope B5"
+msgstr "Envelope B5"
+
+msgid "Envelope B6"
+msgstr "Envelope B6"
+
+msgid "Envelope C0"
+msgstr "Envelope C0"
+
+msgid "Envelope C1"
+msgstr "Envelope C1"
+
+msgid "Envelope C2"
+msgstr "Envelope C2"
+
+msgid "Envelope C3"
+msgstr "Envelope C3"
+
+msgid "Envelope C4"
+msgstr "Envelope C4"
+
+msgid "Envelope C5"
+msgstr "Envelope C5"
+
+msgid "Envelope C6"
+msgstr "Envelope C6"
+
+msgid "Envelope C65"
+msgstr "Envelope C65"
+
+msgid "Envelope C7"
+msgstr "Envelope C7"
+
+msgid "Envelope Choukei 3"
+msgstr "Envelope Choukei 3"
+
+msgid "Envelope Choukei 3 Long Edge"
+msgstr "Envelope Choukei 3 borda maior"
+
+msgid "Envelope Choukei 4"
+msgstr "Envelope Choukei 4"
+
+msgid "Envelope Choukei 4 Long Edge"
+msgstr "Envelope Choukei 4 borda maior"
+
+msgid "Envelope DL"
+msgstr "Envelope DL"
+
+msgid "Envelope Feed"
+msgstr "Alimentação de Envelope"
+
+msgid "Envelope Invite"
+msgstr "Envelope Convite"
+
+msgid "Envelope Italian"
+msgstr "Envelope Italiano"
+
+msgid "Envelope Kaku2"
+msgstr "Envelope Kaku2"
+
+msgid "Envelope Kaku2 Long Edge"
+msgstr "Envelope Kaku2 borda maior"
+
+msgid "Envelope Kaku3"
+msgstr "Envelope Kaku3"
+
+msgid "Envelope Kaku3 Long Edge"
+msgstr "Envelope Kaku3 borda maior"
+
+msgid "Envelope Monarch"
+msgstr "Envelope Monarch"
+
+msgid "Envelope PRC1"
+msgstr ""
+
+msgid "Envelope PRC1 Long Edge"
+msgstr "Envelope PRC1 borda maior"
+
+msgid "Envelope PRC10"
+msgstr "Envelope PRC10"
+
+msgid "Envelope PRC10 Long Edge"
+msgstr "Envelope PRC10 borda maior"
+
+msgid "Envelope PRC2"
+msgstr "Envelope PRC2"
+
+msgid "Envelope PRC2 Long Edge"
+msgstr "Envelope PRC2 borda maior"
+
+msgid "Envelope PRC3"
+msgstr "Envelope PRC3"
+
+msgid "Envelope PRC3 Long Edge"
+msgstr "Envelope PRC3 borda maior"
+
+msgid "Envelope PRC4"
+msgstr "Envelope PRC4"
+
+msgid "Envelope PRC4 Long Edge"
+msgstr "Envelope PRC4 borda maior"
+
+msgid "Envelope PRC5 Long Edge"
+msgstr "Envelope PRC5 borda maior"
+
+msgid "Envelope PRC5PRC5"
+msgstr "Envelope PRC5"
+
+msgid "Envelope PRC6"
+msgstr "Envelope PRC6"
+
+msgid "Envelope PRC6 Long Edge"
+msgstr "Envelope PRC6 borda maior"
+
+msgid "Envelope PRC7"
+msgstr "Envelope PRC7"
+
+msgid "Envelope PRC7 Long Edge"
+msgstr "Envelope PRC7 borda maior"
+
+msgid "Envelope PRC8"
+msgstr "Envelope PRC8"
+
+msgid "Envelope PRC8 Long Edge"
+msgstr "Envelope PRC8 borda maior"
+
+msgid "Envelope PRC9"
+msgstr "Envelope PRC9"
+
+msgid "Envelope PRC9 Long Edge"
+msgstr "Envelope PRC9 borda maior"
+
+msgid "Envelope Personal"
+msgstr "Envelope Pessoal"
+
+msgid "Envelope You4"
+msgstr "Envelope You4"
+
+msgid "Envelope You4 Long Edge"
+msgstr "Envelope You4 borda maior"
+
+msgid "Environment Variables:"
+msgstr "Variáveis de ambiente:"
+
+msgid "Epson"
+msgstr "Epson"
+
+msgid "Error Policy"
+msgstr "Política de erro"
+
+msgid "Error reading raster data."
+msgstr "Erro ao ler dados de rasterização."
+
+msgid "Error sending raster data."
+msgstr "Erro ao enviar dados de rasterização."
+
+msgid "Error: need hostname after \"-h\" option."
+msgstr "Erro: precisa de nome da máquina após a opção \"-h\"."
+
+msgid "Every 10 Labels"
+msgstr "A cada 10 etiquetas"
+
+msgid "Every 2 Labels"
+msgstr "A cada 2 etiquetas"
+
+msgid "Every 3 Labels"
+msgstr "A cada 3 etiquetas"
+
+msgid "Every 4 Labels"
+msgstr "A cada 4 etiquetas"
+
+msgid "Every 5 Labels"
+msgstr "A cada 5 etiquetas"
+
+msgid "Every 6 Labels"
+msgstr "A cada 6 etiquetas"
+
+msgid "Every 7 Labels"
+msgstr "A cada 7 etiquetas"
+
+msgid "Every 8 Labels"
+msgstr "A cada 8 etiquetas"
+
+msgid "Every 9 Labels"
+msgstr "A cada 9 etiquetas"
+
+msgid "Every Label"
+msgstr "A cada etiqueta"
+
+msgid "Executive"
+msgstr "Executivo"
+
+msgid "Expectation Failed"
+msgstr "Falhou a expectativa"
+
+msgid "Export Printers to Samba"
+msgstr "Exportar impressoras para o Samba"
+
+msgid "Expressions:"
+msgstr "Expressões:"
+
+msgid "FAIL"
+msgstr "FALHA"
+
+msgid "FanFold German"
+msgstr "FanFold German"
+
+msgid "FanFold Legal German"
+msgstr "FanFold Legal German"
+
+msgid "Fanfold US"
+msgstr "Fanfold US"
+
+msgid "Fast Grayscale"
+msgstr ""
+
+#, c-format
+msgid "File \"%s\" contains a relative path."
+msgstr "Arquivo \"%s\" contém um caminho relativo."
+
+#, c-format
+msgid "File \"%s\" has insecure permissions (0%o/uid=%d/gid=%d)."
+msgstr "Arquivo \"%s\" tem permissões inseguras (0%o/uid=%d/gid=%d)."
+
+#, c-format
+msgid "File \"%s\" is a directory."
+msgstr "Arquivo \"%s\" é um diretório."
+
+#, c-format
+msgid "File \"%s\" not available: %s"
+msgstr "Arquivo \"%s\" não está disponível: %s"
+
+#, c-format
+msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
+msgstr "Permissões do arquivo \"%s\" estão OK (0%o/uid=%d/gid=%d)."
+
+msgid "File Folder"
+msgstr ""
+
+#, c-format
+msgid ""
+"File device URIs have been disabled. To enable, see the FileDevice directive "
+"in \"%s/cups-files.conf\"."
+msgstr ""
+"URIs de arquivos de dispositivo foram desabilitadas. Para habilitar, veja a "
+"diretiva FileDevice em \"%s/cups-files.conf\"."
+
+#, c-format
+msgid "Finished page %d."
+msgstr "Terminou página %d."
+
+msgid "Finishing"
+msgstr ""
+
+msgid "Fold"
+msgstr ""
+
+msgid "Folio"
+msgstr "Fólio"
+
+msgid "Forbidden"
+msgstr "Proibido"
+
+msgid "Gate Fold"
+msgstr ""
+
+msgid "General"
+msgstr "Geral"
+
+msgid "Generic"
+msgstr "Genérico"
+
+msgid "Get-Response-PDU uses indefinite length"
+msgstr "Get-Response-PDU usa comprimento indefinido"
+
+msgid "Glossy Paper"
+msgstr "Papel brilhante"
+
+msgid "Glossy Photo"
+msgstr ""
+
+msgid "Got a printer-uri attribute but no job-id."
+msgstr "Atributo printer-ui obtido, mas nenhum job-id."
+
+msgid "Grayscale"
+msgstr "Escalas de cinza"
+
+msgid "HP"
+msgstr "HP"
+
+msgid "Hagaki"
+msgstr ""
+
+msgid "Half Fold"
+msgstr ""
+
+msgid "Half Z Fold"
+msgstr ""
+
+msgid "Hanging Folder"
+msgstr "Pasta suspensa"
+
+msgid "Hash buffer too small."
+msgstr ""
+
+msgid "Help file not in index."
+msgstr "Arquivo de ajuda não está no índice."
+
+msgid "High"
+msgstr ""
+
+msgid "High-Gloss Photo"
+msgstr ""
+
+msgid "IPP 1setOf attribute with incompatible value tags."
+msgstr "Atributo 1setOf de IPP com tags de valor incompatível."
+
+msgid "IPP attribute has no name."
+msgstr "Atributo de IPP não tem nome."
+
+msgid "IPP attribute is not a member of the message."
+msgstr "Atributo de IPP não é um membro da mensagem."
+
+msgid "IPP begCollection value not 0 bytes."
+msgstr "Valor begCollection de IPP não contém 0 bytes."
+
+msgid "IPP boolean value not 1 byte."
+msgstr "Valor booleano de IPP não contém 1 byte."
+
+msgid "IPP date value not 11 bytes."
+msgstr "Valor de data de IPP não contém 11 bytes."
+
+msgid "IPP endCollection value not 0 bytes."
+msgstr "Valor endCollection IPP não contém 0 bytes."
+
+msgid "IPP enum value not 4 bytes."
+msgstr "Valor enum de IPP não contém 4 bytes."
+
+msgid "IPP extension tag larger than 0x7FFFFFFF."
+msgstr "Tag de extensão de IPP maior do que 0x7FFFFFFF."
+
+msgid "IPP integer value not 4 bytes."
+msgstr "Valor inteiro de IPP não contém 4 bytes."
+
+msgid "IPP language length overflows value."
+msgstr "Comprimento do idioma de IPP excede o valor."
+
+msgid "IPP language length too large."
+msgstr "Comprimento do idioma de IPP muito grande."
+
+msgid "IPP member name is not empty."
+msgstr "Nome de membro de IPP não está vazio."
+
+msgid "IPP memberName value is empty."
+msgstr "Valor de memberName de IPP está vazio."
+
+msgid "IPP memberName with no attribute."
+msgstr "memberName de IPP sem atributo algum."
+
+msgid "IPP name larger than 32767 bytes."
+msgstr "Nome de IPP maior do que 32767 bytes."
+
+msgid "IPP nameWithLanguage value less than minimum 4 bytes."
+msgstr "Valor de nameWithLanguage de IPP menor do que o mínimo de 4 bytes."
+
+msgid "IPP octetString length too large."
+msgstr "Comprimento de octetString de IPP muito grande."
+
+msgid "IPP rangeOfInteger value not 8 bytes."
+msgstr "Valor de rangeOfInteger de IPP não contém 8 bytes."
+
+msgid "IPP resolution value not 9 bytes."
+msgstr "Valor de resolução de IPP não contém 9 bytes."
+
+msgid "IPP string length overflows value."
+msgstr "Comprimento da string de IPP excede o valor."
+
+msgid "IPP textWithLanguage value less than minimum 4 bytes."
+msgstr "Valor de textWithLanguage de IPP menor do que o mínimo de 4 bytes."
+
+msgid "IPP value larger than 32767 bytes."
+msgstr "Valor de IPP maior do que 32767 bytes."
+
+msgid "ISOLatin1"
+msgstr "ISOLatin1"
+
+msgid "Illegal control character"
+msgstr "Caractere de controle é ilegal"
+
+msgid "Illegal main keyword string"
+msgstr "String ilegal de palavra-chave principal"
+
+msgid "Illegal option keyword string"
+msgstr "String ilegal de palavra-chave de opção"
+
+msgid "Illegal translation string"
+msgstr "String ilegal de tradução"
+
+msgid "Illegal whitespace character"
+msgstr "Caractere ilegal de espaço em branco"
+
+msgid "Installable Options"
+msgstr "Opções instaláveis"
+
+msgid "Installed"
+msgstr "Instalada"
+
+msgid "IntelliBar Label Printer"
+msgstr "Impressora de etiqueta IntelliBar"
+
+msgid "Intellitech"
+msgstr "Intellitech"
+
+msgid "Internal Server Error"
+msgstr "Erro interno de servidor"
+
+msgid "Internal error"
+msgstr "Erro interno"
+
+msgid "Internet Postage 2-Part"
+msgstr "Internet Postage Parte-2"
+
+msgid "Internet Postage 3-Part"
+msgstr "Internet Postage Parte-3"
+
+msgid "Internet Printing Protocol"
+msgstr "Protocolo de Impressão para Internet"
+
+msgid "Invalid media name arguments."
+msgstr "Argumentos de nome de mídia inválidos."
+
+msgid "Invalid media size."
+msgstr "Tamanho de mídia inválido."
+
+msgid "Invalid ppd-name value."
+msgstr ""
+
+#, c-format
+msgid "Invalid printer command \"%s\"."
+msgstr "Comando de impressora \"%s\" inválido."
+
+msgid "JCL"
+msgstr "JCL"
+
+msgid "JIS B0"
+msgstr "JIS B0"
+
+msgid "JIS B1"
+msgstr "JIS B1"
+
+msgid "JIS B10"
+msgstr "JIS B10"
+
+msgid "JIS B2"
+msgstr "JIS B2"
+
+msgid "JIS B3"
+msgstr "JIS B3"
+
+msgid "JIS B4"
+msgstr "JIS B4"
+
+msgid "JIS B4 Long Edge"
+msgstr "JIS B4 borda maior"
+
+msgid "JIS B5"
+msgstr "JIS B5"
+
+msgid "JIS B5 Long Edge"
+msgstr "JIS B5 borda maior"
+
+msgid "JIS B6"
+msgstr "JIS B6"
+
+msgid "JIS B6 Long Edge"
+msgstr "JIS B6 borda maior"
+
+msgid "JIS B7"
+msgstr "JIS B7"
+
+msgid "JIS B8"
+msgstr "JIS B8"
+
+msgid "JIS B9"
+msgstr "JIS B9"
+
+#, c-format
+msgid "Job #%d cannot be restarted - no files."
+msgstr "O trabalho #%d não pode ser reiniciado - nenhum arquivo."
+
+#, c-format
+msgid "Job #%d does not exist."
+msgstr "Trabalho #%d não existe."
+
+#, c-format
+msgid "Job #%d is already aborted - can't cancel."
+msgstr "Trabalho #%d já foi abortado - não é possível cancelar."
+
+#, c-format
+msgid "Job #%d is already canceled - can't cancel."
+msgstr "Trabalho #%d já foi cancelado - não é possível cancelar."
+
+#, c-format
+msgid "Job #%d is already completed - can't cancel."
+msgstr "Trabalho #%d já concluiu - não é possível cancelar."
+
+#, c-format
+msgid "Job #%d is finished and cannot be altered."
+msgstr "Trabalho #%d já finalizou e não pode ser alterado."
+
+#, c-format
+msgid "Job #%d is not complete."
+msgstr "Trabalho #%d não concluiu."
+
+#, c-format
+msgid "Job #%d is not held for authentication."
+msgstr "Trabalho #%d não está agarrado para autenticação."
+
+#, c-format
+msgid "Job #%d is not held."
+msgstr "Trabalho #%d não está agarrado."
+
+msgid "Job Completed"
+msgstr "Trabalho concluiu"
+
+msgid "Job Created"
+msgstr "Trabalho criado"
+
+msgid "Job Options Changed"
+msgstr "Opções do trabalho alteradas"
+
+msgid "Job Stopped"
+msgstr "Trabalho parou"
+
+msgid "Job is completed and cannot be changed."
+msgstr "Trabalho está concluído e não pode ser alterado."
+
+msgid "Job operation failed"
+msgstr "Operação do trabalho falhou"
+
+msgid "Job state cannot be changed."
+msgstr "Estado do trabalho não pode ser alterado."
+
+msgid "Job subscriptions cannot be renewed."
+msgstr "Inscrições de trabalho não podem ser renovadas."
+
+msgid "Jobs"
+msgstr "Trabalhos"
+
+msgid "Jog"
+msgstr ""
+
+msgid "LPD/LPR Host or Printer"
+msgstr "Impressora ou máquina LPD/LPR"
+
+msgid "Label"
+msgstr ""
+
+msgid "Label Printer"
+msgstr "Impressora de etiqueta"
+
+msgid "Label Top"
+msgstr "Parte superior da etiqueta"
+
+msgid "Laminate"
+msgstr ""
+
+#, c-format
+msgid "Language \"%s\" not supported."
+msgstr "Não há suporte ao idioma \"%s\"."
+
+msgid "Large Address"
+msgstr "Endereço grande"
+
+msgid "Large Capacity"
+msgstr ""
+
+msgid "LaserJet Series PCL 4/5"
+msgstr "LaserJet Series PCL 4/5"
+
+msgid "Left"
+msgstr ""
+
+msgid "Left Gate Fold"
+msgstr ""
+
+msgid "Letter Fold"
+msgstr ""
+
+msgid "Letter Oversize"
+msgstr "Carta grande"
+
+msgid "Letter Oversize Long Edge"
+msgstr "Carta borda muito maior"
+
+msgid "Letterhead"
+msgstr ""
+
+msgid "Light"
+msgstr "Leve"
+
+msgid "Line longer than the maximum allowed (255 characters)"
+msgstr "Linha maior do que o máximo permitido (255 caracteres)"
+
+msgid "List Available Printers"
+msgstr "Lista de impressoras disponíveis"
+
+msgid "Load paper."
+msgstr "Carregar papel."
+
+msgid "Local printer created."
+msgstr ""
+
+msgid "Long-Edge (Portrait)"
+msgstr "Borda maior (retrato)"
+
+msgid "Looking for printer..."
+msgstr "Procurando por impressora..."
+
+msgid "Main"
+msgstr ""
+
+msgid "Main Roll"
+msgstr ""
+
+msgid "Manual"
+msgstr ""
+
+msgid "Manual Feed"
+msgstr "Alimentação manual"
+
+msgid "Matte Photo"
+msgstr ""
+
+msgid "Media Size"
+msgstr "Tamanho de mídia"
+
+msgid "Media Source"
+msgstr "Fonte de mídia"
+
+msgid "Media Tracking"
+msgstr "Rastreamento de mídia"
+
+msgid "Media Type"
+msgstr "Tipo de mídia"
+
+msgid "Medium"
+msgstr "Médio"
+
+msgid "Memory allocation error"
+msgstr "Erro de alocação de memória"
+
+msgid "Middle"
+msgstr ""
+
+msgid "Missing CloseGroup"
+msgstr "Faltando CloseGroup"
+
+msgid "Missing PPD-Adobe-4.x header"
+msgstr "Faltando cabeçalho PPD-Adobe-4.x"
+
+msgid "Missing asterisk in column 1"
+msgstr "Faltando asterisco na coluna 1"
+
+msgid "Missing document-number attribute."
+msgstr "Faltando atributo document-number."
+
+#, c-format
+msgid "Missing double quote on line %d."
+msgstr "Faltando aspas duplas na linha %d."
+
+msgid "Missing form variable"
+msgstr "Faltando variável de formulário"
+
+msgid "Missing last-document attribute in request."
+msgstr "Faltando atributo last-document na requisição."
+
+msgid "Missing media or media-col."
+msgstr "Faltando media ou media-col."
+
+msgid "Missing media-size in media-col."
+msgstr "Faltando media-size em media-col."
+
+msgid "Missing notify-subscription-ids attribute."
+msgstr "Faltando atributo notify-subscription-ids."
+
+msgid "Missing option keyword"
+msgstr "Faltando palavra-chave de opção"
+
+msgid "Missing requesting-user-name attribute."
+msgstr "Faltando atributo requesting-user-name."
+
+#, c-format
+msgid "Missing required attribute \"%s\"."
+msgstr ""
+
+msgid "Missing required attributes."
+msgstr "Faltando atributos necessários."
+
+msgid "Missing resource in URI"
+msgstr "Faltando rescurso na URI"
+
+msgid "Missing scheme in URI"
+msgstr "Faltando esquema na URI"
+
+#, c-format
+msgid "Missing value on line %d."
+msgstr "Faltando valor na linha %d."
+
+msgid "Missing value string"
+msgstr "Faltando string de valor"
+
+msgid "Missing x-dimension in media-size."
+msgstr "Faltando dimensão-x em media-size."
+
+msgid "Missing y-dimension in media-size."
+msgstr "Faltando dimensão-y em media-size."
+
+#, c-format
+msgid ""
+"Model:  name = %s\n"
+"        natural_language = %s\n"
+"        make-and-model = %s\n"
+"        device-id = %s"
+msgstr ""
+"Modelo:  nome = %s\n"
+"         idioma_natural = %s\n"
+"         marca-e-modelo = %s\n"
+"         id-dispositivo = %s"
+
+msgid "Modifiers:"
+msgstr "Modificadores:"
+
+msgid "Modify Class"
+msgstr "Modificar classe"
+
+msgid "Modify Printer"
+msgstr "Modificar impressora"
+
+msgid "Move All Jobs"
+msgstr "Mover todos trabalhos"
+
+msgid "Move Job"
+msgstr "Mover trabalho"
+
+msgid "Moved Permanently"
+msgstr "Mover permanentemente"
+
+msgid "Multipurpose"
+msgstr ""
+
+msgid "NULL PPD file pointer"
+msgstr "Ponteiro NULO para arquivo PPD"
+
+msgid "Name OID uses indefinite length"
+msgstr "OID de nome usa comprimento indefinido"
+
+msgid "Nested classes are not allowed."
+msgstr "Classes aninhadas não são permitidas."
+
+msgid "Never"
+msgstr "Nunca"
+
+msgid "No"
+msgstr "Não"
+
+msgid "No Content"
+msgstr "Nenhum conteúdo"
+
+msgid "No Finishing"
+msgstr ""
+
+msgid "No PPD name"
+msgstr "Nenhum nome PPD"
+
+msgid "No VarBind SEQUENCE"
+msgstr "Nenhuma SEQUENCE de VarBind"
+
+msgid "No Windows printer drivers are installed."
+msgstr "Nenhum driver de impressora Windows está instalado."
+
+msgid "No active connection"
+msgstr "Nenhuma conexão ativa"
+
+msgid "No active connection."
+msgstr "Nenhuma conexão ativa."
+
+#, c-format
+msgid "No active jobs on %s."
+msgstr "Nenhum trabalho ativo em %s"
+
+msgid "No attributes in request."
+msgstr "Nenhum atributo na requisição."
+
+msgid "No authentication information provided."
+msgstr "Nenhuma informação de autenticação foi fornecida."
+
+msgid "No community name"
+msgstr "Nenhum nome de comunidade"
+
+msgid "No default printer."
+msgstr "Nenhuma impressora padrão."
+
+msgid "No destinations added."
+msgstr "Nenhuma destinação foi adicionada."
+
+msgid "No device URI found in argv[0] or in DEVICE_URI environment variable."
+msgstr ""
+"Nenhum URI de dispositivo encontrado em argv[0] ou na variável de ambiente "
+"DEVICE_URI."
+
+msgid "No error-index"
+msgstr "Nenhum error-index"
+
+msgid "No error-status"
+msgstr "Nenhum error-status"
+
+msgid "No file in print request."
+msgstr "Nenhum arquivo na requisição de impressão."
+
+msgid "No modification time"
+msgstr "Nenhum horário de modificação"
+
+msgid "No name OID"
+msgstr "Nenhum OID de nome"
+
+msgid "No pages were found."
+msgstr "Nenhuma página foi encontrada."
+
+msgid "No printer name"
+msgstr "Nenhum nome de impressora"
+
+msgid "No printer-uri found"
+msgstr "Nenhum printer-uri foi encontrado"
+
+msgid "No printer-uri found for class"
+msgstr "Nenhum printer-uri foi encontrado para classe"
+
+msgid "No printer-uri in request."
+msgstr "Nenhum printer-uri na requisição."
+
+msgid "No request URI."
+msgstr "Nenhuma URI de requisição."
+
+msgid "No request protocol version."
+msgstr "Nenhuma versão de protocolo de requisição."
+
+msgid "No request sent."
+msgstr "Nenhuma requisição enviada."
+
+msgid "No request-id"
+msgstr "Nenhum request-id"
+
+msgid "No subscription attributes in request."
+msgstr "Nenhum atributo de inscrição na requisição."
+
+msgid "No subscriptions found."
+msgstr "Nenhuma inscrição encontrada."
+
+msgid "No variable-bindings SEQUENCE"
+msgstr "Nenhum SEQUENCE em variable-bindings"
+
+msgid "No version number"
+msgstr "Nenhum número de versão"
+
+msgid "Non-continuous (Mark sensing)"
+msgstr "Não-contíguo (Mark sensing)"
+
+msgid "Non-continuous (Web sensing)"
+msgstr "Não-contíguo (Web sensing)"
+
+msgid "Normal"
+msgstr "Normal"
+
+msgid "Not Found"
+msgstr "Não encontrado"
+
+msgid "Not Implemented"
+msgstr "Não implementado"
+
+msgid "Not Installed"
+msgstr "Não instalado"
+
+msgid "Not Modified"
+msgstr "Não modificado"
+
+msgid "Not Supported"
+msgstr "Não há suporte"
+
+msgid "Not allowed to print."
+msgstr "Sem permissão para imprimir."
+
+msgid "Note"
+msgstr "Nota"
+
+msgid ""
+"Note: this program only validates the DSC comments, not the PostScript "
+"itself."
+msgstr ""
+"Nota: esse programa só valida os comentários DSC, e não o próprio PostScript."
+
+msgid "OK"
+msgstr "OK"
+
+msgid "Off (1-Sided)"
+msgstr "Off (1 lado)"
+
+msgid "Oki"
+msgstr "Oki"
+
+msgid "Online Help"
+msgstr "Ajuda online"
+
+msgid "Only local users can create a local printer."
+msgstr ""
+
+#, c-format
+msgid "Open of %s failed: %s"
+msgstr "Abertura de %s falhou: %s"
+
+msgid "OpenGroup without a CloseGroup first"
+msgstr "OpenGroup sem um CloseGroup primeiro"
+
+msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
+msgstr "OpenUI/JCLOpenUI sem um CloseUI/JCLCloseUI primeiro"
+
+msgid "Operation Policy"
+msgstr "Política de operação"
+
+#, c-format
+msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
+msgstr "Opção \"%s\" não pode ser incluída via %%%%IncludeFeature."
+
+msgid "Options Installed"
+msgstr "Opções instaladas"
+
+msgid "Options:"
+msgstr "Opções:"
+
+msgid "Other"
+msgstr ""
+
+msgid "Out of date PPD cache file."
+msgstr "Cache de arquivo PPD está desatualizado."
+
+msgid "Out of memory."
+msgstr "Memória insuficiente."
+
+msgid "Output Mode"
+msgstr "Mode de saída"
+
+msgid "Output bin is almost full."
+msgstr "Tabuleiro de saída está quase completo."
+
+msgid "Output bin is full."
+msgstr "Tabuleiro de saída está completo."
+
+msgid "Output bin is missing."
+msgstr "Tabuleiro de saída não foi encontrado."
+
+msgid "PASS"
+msgstr "PASSOU"
+
+msgid "PCL Laser Printer"
+msgstr "Impressora Laser PCL"
+
+msgid "PRC16K"
+msgstr "PRC16K"
+
+msgid "PRC16K Long Edge"
+msgstr "PRC16K borda maior"
+
+msgid "PRC32K"
+msgstr "PRC32K"
+
+msgid "PRC32K Long Edge"
+msgstr "PRC32K borda maior"
+
+msgid "PRC32K Oversize"
+msgstr "PRC32K grande"
+
+msgid "PRC32K Oversize Long Edge"
+msgstr "PRC32K borda muito maior"
+
+msgid "Packet does not contain a Get-Response-PDU"
+msgstr "Pacote não contém um Get-Response-PDU"
+
+msgid "Packet does not start with SEQUENCE"
+msgstr "Pacote não inicia com SEQUENCE"
+
+msgid "Paper jam."
+msgstr "Atolamento de papel."
+
+msgid "Paper tray is almost empty."
+msgstr "Bandeja de papel está quase vazia."
+
+msgid "Paper tray is empty."
+msgstr "Bandeja de papel está vazia."
+
+msgid "Paper tray is missing."
+msgstr "Bandeja de papel não foi encontrada."
+
+msgid "Parallel Fold"
+msgstr ""
+
+msgid "ParamCustominCutInterval"
+msgstr "ParamCustominCutInterval"
+
+msgid "ParamCustominTearInterval"
+msgstr "ParamCustominTearInterval"
+
+#, c-format
+msgid "Password for %s on %s? "
+msgstr "Senha para %s em %s? "
+
+#, c-format
+msgid "Password for %s required to access %s via SAMBA: "
+msgstr "Senha para %s é necessária para acessar %s via SAMBA: "
+
+msgid "Pause Class"
+msgstr "Pausar classe"
+
+msgid "Pause Printer"
+msgstr "Pausar impressora"
+
+# peel-off seria descolar etiqueta do papel?
+msgid "Peel-Off"
+msgstr "Descolar"
+
+msgid "Photo"
+msgstr "Foto"
+
+msgid "Photo Labels"
+msgstr "Foto pequena"
+
+msgid "Plain Paper"
+msgstr "Papel normal"
+
+msgid "Policies"
+msgstr "Políticas"
+
+msgid "Port Monitor"
+msgstr "Monitor de porta"
+
+msgid "PostScript Printer"
+msgstr "Impressora PostScript"
+
+msgid "Postcard"
+msgstr "Postal"
+
+msgid "Postcard Double"
+msgstr ""
+
+msgid "Postcard Double Long Edge"
+msgstr "Postal duplo borda maior"
+
+msgid "Postcard Long Edge"
+msgstr "Postal borda maior"
+
+msgid "Poster Fold"
+msgstr ""
+
+msgid "Preparing to print."
+msgstr "Preparando para imprimir."
+
+msgid "Print Density"
+msgstr "Densidade de impressão"
+
+msgid "Print Job:"
+msgstr "Trabalho de impressão:"
+
+msgid "Print Mode"
+msgstr "Modo de impressão"
+
+msgid "Print Quality"
+msgstr ""
+
+msgid "Print Rate"
+msgstr "Taxa de impressão"
+
+msgid "Print Self-Test Page"
+msgstr "Imprimir página de auto-teste"
+
+msgid "Print Speed"
+msgstr "Velocidade de impressão"
+
+msgid "Print Test Page"
+msgstr "Imprimir página de teste"
+
+msgid "Print and Cut"
+msgstr "Imprimir e cortar"
+
+msgid "Print and Tear"
+msgstr "Imprimir e rasgar"
+
+msgid "Print file sent."
+msgstr "Arquivo de impressão enviado."
+
+msgid "Print job canceled at printer."
+msgstr "Trabalho de impressão cancelado na impressora."
+
+msgid "Print job too large."
+msgstr "Trabalho de impressão muito grande."
+
+msgid "Print job was not accepted."
+msgstr "Trabalho de impressão não foi aceito."
+
+#, c-format
+msgid "Printer \"%s\" already exists."
+msgstr ""
+
+msgid "Printer Added"
+msgstr "Impressora adicionada"
+
+msgid "Printer Default"
+msgstr "Impressora padrão"
+
+msgid "Printer Deleted"
+msgstr "Impressora excluída"
+
+msgid "Printer Modified"
+msgstr "Impressora modificada"
+
+msgid "Printer Paused"
+msgstr "Impressora pausada"
+
+msgid "Printer Settings"
+msgstr "Configurações de impressora"
+
+msgid "Printer cannot print supplied content."
+msgstr "Impressora não consegue imprimir o conteúdo fornecido."
+
+msgid "Printer cannot print with supplied options."
+msgstr "Impressora não consegue imprimir os opções fornecidas."
+
+msgid "Printer:"
+msgstr "Impressora:"
+
+msgid "Printers"
+msgstr "Impressoras"
+
+#, c-format
+msgid "Printing page %d, %u%% complete."
+msgstr "Imprimindo página %d, %u%% concluído."
+
+msgid "Punch"
+msgstr ""
+
+msgid "Quarto"
+msgstr "Quarto"
+
+msgid "Quota limit reached."
+msgstr "Limite de quota alcançado."
+
+msgid "Rank    Owner   Job     File(s)                         Total Size"
+msgstr "Ordem   Dono    Trab    Arquivo(s)                      Tamanho total"
+
+msgid "Rear"
+msgstr ""
+
+msgid "Reject Jobs"
+msgstr "Rejeitar trabalhos"
+
+#, c-format
+msgid "Remote host did not accept control file (%d)."
+msgstr "Máquina remota não aceitou arquivo de controle (%d)."
+
+#, c-format
+msgid "Remote host did not accept data file (%d)."
+msgstr "Máquina remota não aceitou arquivo de dados (%d)."
+
+msgid "Reprint After Error"
+msgstr "Erro após reimpressão"
+
+msgid "Request Entity Too Large"
+msgstr "Entidade de requisição muito grande"
+
+msgid "Resolution"
+msgstr "Resolução"
+
+msgid "Resume Class"
+msgstr "Resumir classe"
+
+msgid "Resume Printer"
+msgstr "Resumir impressora"
+
+msgid "Return Address"
+msgstr "Retornar endereço"
+
+msgid "Rewind"
+msgstr "Rebobinar"
+
+msgid "Right"
+msgstr ""
+
+msgid "Right Gate Fold"
+msgstr ""
+
+msgid "Roll 1"
+msgstr ""
+
+msgid "Roll 10"
+msgstr ""
+
+msgid "Roll 2"
+msgstr ""
+
+msgid "Roll 3"
+msgstr ""
+
+msgid "Roll 4"
+msgstr ""
+
+msgid "Roll 5"
+msgstr ""
+
+msgid "Roll 6"
+msgstr ""
+
+msgid "Roll 7"
+msgstr ""
+
+msgid "Roll 8"
+msgstr ""
+
+msgid "Roll 9"
+msgstr ""
+
+#, c-format
+msgid "Running command: %s %s -N -A %s -c '%s'"
+msgstr "Executando comando: %s %s -N -A %s -c '%s'"
+
+msgid "SEQUENCE uses indefinite length"
+msgstr "SEQUENCE usa comprimento indefinido"
+
+msgid "SSL/TLS Negotiation Error"
+msgstr "Erro de negociação SSL/TLS"
+
+msgid "Saddle Stitch"
+msgstr ""
+
+msgid "Satin Photo"
+msgstr ""
+
+msgid "See Other"
+msgstr "Veja outro"
+
+msgid "See remote printer."
+msgstr ""
+
+msgid "Semi-Gloss Photo"
+msgstr ""
+
+msgid "Sending data to printer."
+msgstr "Enviando dados à impressora."
+
+msgid "Server Restarted"
+msgstr "Servidor reiniciado"
+
+msgid "Server Security Auditing"
+msgstr "Auditoria de segurança de servidor"
+
+msgid "Server Started"
+msgstr "Servidor iniciou"
+
+msgid "Server Stopped"
+msgstr "Servidor parou"
+
+msgid "Server credentials not set."
+msgstr "Credenciais no servidor não definidas."
+
+msgid "Service Unavailable"
+msgstr "Serviço indisponível"
+
+msgid "Set Allowed Users"
+msgstr "Definir usuários permitidos"
+
+msgid "Set As Server Default"
+msgstr "Definir como servidor padrão"
+
+msgid "Set Class Options"
+msgstr "Definir opções de classe"
+
+msgid "Set Printer Options"
+msgstr "Definir opções de impressora"
+
+msgid "Set Publishing"
+msgstr "Definir publicação"
+
+msgid "Shipping Address"
+msgstr "Endereço de entrega"
+
+msgid "Short-Edge (Landscape)"
+msgstr "Borda menor (paisagem)"
+
+msgid "Side"
+msgstr ""
+
+msgid "Single Punch (Landscape)"
+msgstr ""
+
+msgid "Single Punch (Portrait)"
+msgstr ""
+
+msgid "Single Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "Single Staple (Landscape)"
+msgstr ""
+
+msgid "Single Staple (Portrait)"
+msgstr ""
+
+msgid "Single Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "Special Paper"
+msgstr "Papel especial"
+
+#, c-format
+msgid "Spooling job, %.0f%% complete."
+msgstr "Trabalho de impressão, %.0f%% completo."
+
+msgid "Standard"
+msgstr "Padrão"
+
+msgid "Staple"
+msgstr ""
+
+msgid "Staple Edge"
+msgstr ""
+
+msgid "Staple Edge (Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Portrait)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Portrait)"
+msgstr ""
+
+#. TRANSLATORS: Banner/cover sheet before the print job.
+msgid "Starting Banner"
+msgstr "Iniciando banner"
+
+#, c-format
+msgid "Starting page %d."
+msgstr "Iniciando página %d."
+
+msgid "Statement"
+msgstr "Declaração"
+
+#, c-format
+msgid "Subscription #%d does not exist."
+msgstr "Inscrição #%d não existe."
+
+msgid "Substitutions:"
+msgstr "Substituições:"
+
+msgid "Super A"
+msgstr "Super A"
+
+msgid "Super B"
+msgstr "Super B"
+
+msgid "Super B/A3"
+msgstr "Super B/A3"
+
+msgid "Switching Protocols"
+msgstr "Alternando protocolos"
+
+msgid "Tabloid"
+msgstr "Tabloide"
+
+msgid "Tabloid Oversize"
+msgstr "Tabloide grande"
+
+msgid "Tabloid Oversize Long Edge"
+msgstr "Tabloide borda muito maior"
+
+msgid "Tear"
+msgstr "Destacar"
+
+msgid "Tear-Off"
+msgstr "Destacar"
+
+msgid "Tear-Off Adjust Position"
+msgstr "Ajuste da posição de destaque"
+
+#, c-format
+msgid "The \"%s\" attribute is required for print jobs."
+msgstr "O atributo \"%s\" é necessário para imprimir os trabalhos."
+
+#, c-format
+msgid "The %s attribute cannot be provided with job-ids."
+msgstr "O atributo %s não pode ser fornecido com job-ids."
+
+#, c-format
+msgid ""
+"The '%s' Job Status attribute cannot be supplied in a job creation request."
+msgstr ""
+"O atributo de estado de trabalho '%s' não pode ser fornecido em uma "
+"requisição de criação de trabalho."
+
+#, c-format
+msgid ""
+"The '%s' operation attribute cannot be supplied in a Create-Job request."
+msgstr ""
+"O atributo de operação '%s' não pode ser fornecido em uma requisição de "
+"criação de trabalho."
+
+#, c-format
+msgid "The PPD file \"%s\" could not be found."
+msgstr "O arquivo PPD \"%s\" não pôde ser encontrado."
+
+#, c-format
+msgid "The PPD file \"%s\" could not be opened: %s"
+msgstr "O arquivo PPD \"%s\" não pôde ser aberto: %s"
+
+msgid "The PPD file could not be opened."
+msgstr "O arquivo PPD não pôde ser aberto."
+
+msgid ""
+"The class name may only contain up to 127 printable characters and may not "
+"contain spaces, slashes (/), or the pound sign (#)."
+msgstr ""
+"O nome da classe pode conter somente até 127 caracteres imprimíveis e não "
+"pode conter espaços, barras (/), ou sinal de tralha (#)."
+
+msgid "The developer unit needs to be replaced."
+msgstr "A unidade de desenvolvedor precisa ser substituído."
+
+msgid "The developer unit will need to be replaced soon."
+msgstr "A unidade de desenvolvedor precisará ser substituído em breve."
+
+msgid "The fuser's temperature is high."
+msgstr "A temperatura do fusor está alta."
+
+msgid "The fuser's temperature is low."
+msgstr "A temperatura do fusor está baixa."
+
+msgid ""
+"The notify-lease-duration attribute cannot be used with job subscriptions."
+msgstr ""
+"O atributo notify-lease-duration não pode ser usado para inscrições de "
+"trabalhos."
+
+#, c-format
+msgid "The notify-user-data value is too large (%d > 63 octets)."
+msgstr "O valor de notify-user-data está muito grande (%d > 63 octetos)."
+
+msgid "The optical photoconductor needs to be replaced."
+msgstr "O fotocondutor óptico precisa ser substituído."
+
+msgid "The optical photoconductor will need to be replaced soon."
+msgstr "O fotocondutor óptico precisará ser substituído em breve."
+
+msgid "The printer configuration is incorrect or the printer no longer exists."
+msgstr ""
+"A configuração da impressora está incorreta ou a impressora não existe mais."
+
+msgid "The printer did not respond."
+msgstr "A impressora não respondeu."
+
+msgid "The printer is in use."
+msgstr "A impressora está em uso."
+
+msgid "The printer is low on ink."
+msgstr "A impressora está ficando sem tinta."
+
+msgid "The printer is low on toner."
+msgstr "A impressora está ficando sem toner."
+
+msgid "The printer is not connected."
+msgstr "A impressora não está conectada."
+
+msgid "The printer is not responding."
+msgstr "A impressora não está respondendo."
+
+msgid "The printer is now connected."
+msgstr "A impressora está agora conectada."
+
+msgid "The printer is now online."
+msgstr "A impressora está agora online."
+
+msgid "The printer is offline."
+msgstr "A impressora está offline."
+
+msgid "The printer is unreachable at this time."
+msgstr "A impressora está inacessível neste momento."
+
+msgid "The printer may be out of ink."
+msgstr "A impressora pode estar sem tinta."
+
+msgid "The printer may be out of toner."
+msgstr "A impressora pode estar sem toner."
+
+msgid "The printer may not exist or is unavailable at this time."
+msgstr "A impressora pode não existir ou está indisponível neste momento."
+
+msgid ""
+"The printer name may only contain up to 127 printable characters and may not "
+"contain spaces, slashes (/), or the pound sign (#)."
+msgstr ""
+"O nome da impressora pode conter somente até 127 caracteres imprimíveis e "
+"não pode conter espaços, barras (/), ou sinal de tralha (#)."
+
+msgid "The printer or class does not exist."
+msgstr "A impressora ou classe não existe."
+
+msgid "The printer or class is not shared."
+msgstr "A impressora ou classe não está compartilhada."
+
+msgid "The printer's cover is open."
+msgstr "A tampa superior da impressora está aberta."
+
+msgid "The printer's door is open."
+msgstr "A tampa da impressora está aberta."
+
+msgid "The printer's interlock is open."
+msgstr "A interlock da impressora está aberta."
+
+msgid "The printer's waste bin is almost full."
+msgstr "A lixeira da impressora está quase completa."
+
+msgid "The printer's waste bin is full."
+msgstr "A lixeira da impressora está completa."
+
+#, c-format
+msgid "The printer-uri \"%s\" contains invalid characters."
+msgstr "O printer-uri \"%s\" contém caracteres inválidos."
+
+msgid "The printer-uri attribute is required."
+msgstr "O atributo printer-uri é necessário."
+
+msgid ""
+"The printer-uri must be of the form \"ipp://HOSTNAME/classes/CLASSNAME\"."
+msgstr ""
+"O printer-uri deve estar no formato \"ipp://MAQUINA/classes/NOMECLASSE\"."
+
+msgid ""
+"The printer-uri must be of the form \"ipp://HOSTNAME/printers/PRINTERNAME\"."
+msgstr ""
+"O printer-uri deve estar no formato \"ipp://MAQUINA/printers/NOMEIMPRESSORA"
+"\"."
+
+msgid ""
+"The subscription name may not contain spaces, slashes (/), question marks "
+"(?), or the pound sign (#)."
+msgstr ""
+"O nome da inscrição não pode conter espaços, barras (/), sinais de "
+"interrogação (?), ou sinal de tralha (#)."
+
+msgid ""
+"The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to "
+"enable it."
+msgstr ""
+"A interface web está desabilitada no momento. Execute \"cupsctl "
+"WebInterface=yes\" para habilitá-la."
+
+#, c-format
+msgid "The which-jobs value \"%s\" is not supported."
+msgstr "Não há suporte ao valor de which-jobs \"%s\"."
+
+msgid "There are too many subscriptions."
+msgstr "Há inscrições demais."
+
+msgid "There was an unrecoverable USB error."
+msgstr "Ocorreu um erro de USB irrecuperável."
+
+msgid "Thermal Transfer Media"
+msgstr "Mídia de transferência térmica"
+
+msgid "Too many active jobs."
+msgstr "Há trabalhos demais ativos."
+
+#, c-format
+msgid "Too many job-sheets values (%d > 2)."
+msgstr "Há valores de job-sheets demais (%d > 2)."
+
+#, c-format
+msgid "Too many printer-state-reasons values (%d > %d)."
+msgstr "Há valores de printer-state-reasons demais (%d >%d)."
+
+msgid "Top"
+msgstr ""
+
+msgid "Transparency"
+msgstr "Transparência"
+
+msgid "Tray"
+msgstr "Bandeja"
+
+msgid "Tray 1"
+msgstr "Bandeja 1"
+
+msgid "Tray 10"
+msgstr ""
+
+msgid "Tray 11"
+msgstr ""
+
+msgid "Tray 12"
+msgstr ""
+
+msgid "Tray 13"
+msgstr ""
+
+msgid "Tray 14"
+msgstr ""
+
+msgid "Tray 15"
+msgstr ""
+
+msgid "Tray 16"
+msgstr ""
+
+msgid "Tray 17"
+msgstr ""
+
+msgid "Tray 18"
+msgstr ""
+
+msgid "Tray 19"
+msgstr ""
+
+msgid "Tray 2"
+msgstr "Bandeja 2"
+
+msgid "Tray 20"
+msgstr ""
+
+msgid "Tray 3"
+msgstr "Bandeja 3"
+
+msgid "Tray 4"
+msgstr "Bandeja 4"
+
+msgid "Tray 5"
+msgstr ""
+
+msgid "Tray 6"
+msgstr ""
+
+msgid "Tray 7"
+msgstr ""
+
+msgid "Tray 8"
+msgstr ""
+
+msgid "Tray 9"
+msgstr ""
+
+msgid "Triple Staple (Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Portrait)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "URI Too Long"
+msgstr "URI muito longa"
+
+msgid "URI too large"
+msgstr "URI muito grande"
+
+msgid "US Ledger"
+msgstr "US Ledger"
+
+msgid "US Legal"
+msgstr "US Legal"
+
+msgid "US Legal Oversize"
+msgstr "US Legal grande"
+
+msgid "US Letter"
+msgstr "US Letter"
+
+msgid "US Letter Long Edge"
+msgstr "US Letter borda maior"
+
+msgid "US Letter Oversize"
+msgstr "US Letter grande"
+
+msgid "US Letter Oversize Long Edge"
+msgstr "US Letter borda muito maior"
+
+msgid "US Letter Small"
+msgstr "US Letter pequena"
+
+msgid "Unable to access cupsd.conf file"
+msgstr "Não foi possível acessar o arquivo cupsd.conf"
+
+msgid "Unable to access help file."
+msgstr "Não foi possível acessar o arquivo de ajuda."
+
+msgid "Unable to add RSS subscription"
+msgstr "Não foi possível adicionar inscrição RSS"
+
+msgid "Unable to add class"
+msgstr "Não foi possível adicionar classe"
+
+msgid "Unable to add document to print job."
+msgstr "Não foi possível adicionar o documento ao trabalho de impressão."
+
+#, c-format
+msgid "Unable to add job for destination \"%s\"."
+msgstr "Não foi possível adicionar trabalho para destino \"%s\"."
+
+msgid "Unable to add printer"
+msgstr "Não foi possível adicionar impressora"
+
+msgid "Unable to allocate memory for file types."
+msgstr "Não foi possível alocar memória para os tipos de arquivos."
+
+msgid "Unable to allocate memory for page info"
+msgstr "Não foi possível alocar memória para informação de página"
+
+msgid "Unable to allocate memory for pages array"
+msgstr "Não foi possível alocar memória para vetor de páginas"
+
+msgid "Unable to cancel RSS subscription"
+msgstr "Não foi possível cancelar inscrição RSS"
+
+msgid "Unable to cancel print job."
+msgstr "Não foi possível cancelar trabalho de impressão."
+
+msgid "Unable to change printer"
+msgstr "Não foi possível alterar a impressora"
+
+msgid "Unable to change printer-is-shared attribute"
+msgstr "Não foi possível alterar o atributo printer-is-shared"
+
+msgid "Unable to change server settings"
+msgstr "Não foi possível alterar as configurações do servidor"
+
+#, c-format
+msgid "Unable to compile mimeMediaType regular expression: %s."
+msgstr "Não foi possível compilar a expressão regular de mimeMediaType: %s."
+
+#, c-format
+msgid "Unable to compile naturalLanguage regular expression: %s."
+msgstr "Não foi possível compilar a expressão regular de naturalLanguage: %s."
+
+msgid "Unable to configure printer options."
+msgstr "Não foi possível configurar opções de impressora."
+
+msgid "Unable to connect to host."
+msgstr "Não foi possível conectar à máquina."
+
+msgid "Unable to contact printer, queuing on next printer in class."
+msgstr ""
+"Não foi possível contactar a impressora, enfileirando na próxima impressora "
+"na classe."
+
+#, c-format
+msgid "Unable to copy 64-bit CUPS printer driver files (%d)."
+msgstr ""
+"Não foi possível copiar arquivos de driver de impressora CUPS 64-bit (%d)."
+
+#, c-format
+msgid "Unable to copy 64-bit Windows printer driver files (%d)."
+msgstr ""
+"Não foi possível copiar arquivos de driver de impressora (%d) de Windows 64-"
+"bit."
+
+#, c-format
+msgid "Unable to copy CUPS printer driver files (%d)."
+msgstr "Não foi possível copiar arquivos de driver de impressora (%d) de CUPS."
+
+#, c-format
+msgid "Unable to copy PPD file - %s"
+msgstr "Não foi possível copiar arquivo PPD - %s"
+
+msgid "Unable to copy PPD file."
+msgstr "Não foi possível copiar arquivo PPD."
+
+#, c-format
+msgid "Unable to copy Windows 2000 printer driver files (%d)."
+msgstr ""
+"Não foi possível copiar arquivos de driver de impressora (%d) de Windows "
+"2000."
+
+#, c-format
+msgid "Unable to copy Windows 9x printer driver files (%d)."
+msgstr ""
+"Não foi possível copiar arquivos de driver de impressora (%d) de Windows 9x."
+
+msgid "Unable to create printer-uri"
+msgstr "Não foi possível criar uri de impressora"
+
+msgid "Unable to create printer."
+msgstr ""
+
+msgid "Unable to create server credentials."
+msgstr "Não foi possível criar credenciais no servidor."
+
+msgid "Unable to create temporary file"
+msgstr "Não foi possível criar arquivo temporário"
+
+msgid "Unable to delete class"
+msgstr "Não foi possível excluir classe"
+
+msgid "Unable to delete printer"
+msgstr "Não foi possível excluir impressora"
+
+msgid "Unable to do maintenance command"
+msgstr "Não foi possível executar comando de manutenção"
+
+msgid "Unable to edit cupsd.conf files larger than 1MB"
+msgstr "Não foi possível editar arquivos de cupsd.conf maiores que 1MB"
+
+msgid ""
+"Unable to establish a secure connection to host (certificate chain invalid)."
+msgstr ""
+"Não foi possível estabelecer uma conexão segura com a máquina (cadeia de "
+"certificação inválida)."
+
+msgid ""
+"Unable to establish a secure connection to host (certificate not yet valid)."
+msgstr ""
+"Não foi possível estabelecer uma conexão segura com a máquina (certificado "
+"inválido no momento)."
+
+msgid "Unable to establish a secure connection to host (expired certificate)."
+msgstr ""
+"Não foi possível estabelecer uma conexão segura com a máquina (certificado "
+"expirou)."
+
+msgid "Unable to establish a secure connection to host (host name mismatch)."
+msgstr ""
+"Não foi possível estabelecer uma conexão segura com a máquina (nome da "
+"máquina incorreto)."
+
+msgid ""
+"Unable to establish a secure connection to host (peer dropped connection "
+"before responding)."
+msgstr ""
+"Não foi possível estabelecer uma conexão segura com a máquina (terminou a "
+"conexão sem a resposta)."
+
+msgid ""
+"Unable to establish a secure connection to host (self-signed certificate)."
+msgstr ""
+"Não foi possível estabelecer uma conexão segura com a máquina (certificado "
+"auto-assinado)."
+
+msgid ""
+"Unable to establish a secure connection to host (untrusted certificate)."
+msgstr ""
+"Não foi possível estabelecer uma conexão segura com a máquina (certificado "
+"não confiado)."
+
+msgid "Unable to establish a secure connection to host."
+msgstr "Não foi possível estabelecer uma conexão segura com a máquina."
+
+msgid "Unable to find destination for job"
+msgstr "Não foi possível encontrar o destino do trabalho"
+
+msgid "Unable to find printer."
+msgstr "Não foi possível encontrar a impressora."
+
+msgid "Unable to find server credentials."
+msgstr "Não foi possível encontrar credenciais no servidor."
+
+msgid "Unable to get backend exit status."
+msgstr "Não foi possível obter o estado de saída do backend."
+
+msgid "Unable to get class list"
+msgstr "Não foi possível obter lista de classes"
+
+msgid "Unable to get class status"
+msgstr "Não foi possível obter o estado da classe"
+
+msgid "Unable to get list of printer drivers"
+msgstr "Não foi possível obter lista de drivers de impressoras"
+
+msgid "Unable to get printer attributes"
+msgstr "Não foi possível obter atributos da impressora"
+
+msgid "Unable to get printer list"
+msgstr "Não foi possível obter lista de impressoras"
+
+msgid "Unable to get printer status"
+msgstr "Não foi possível obter estado da impressora"
+
+msgid "Unable to get printer status."
+msgstr "Não foi possível obter o estado da impressora."
+
+#, c-format
+msgid "Unable to install Windows 2000 printer driver files (%d)."
+msgstr ""
+"Não foi possível instalar arquivos de driver de impressora Windows 2000 (%d)."
+
+#, c-format
+msgid "Unable to install Windows 9x printer driver files (%d)."
+msgstr ""
+"Não foi possível instalar arquivos de driver de impressora Windows 9x (%d)."
+
+msgid "Unable to load help index."
+msgstr "Não foi possível carregar índice de ajuda."
+
+#, c-format
+msgid "Unable to locate printer \"%s\"."
+msgstr "Não foi possível localizar a impressora \"%s\"."
+
+msgid "Unable to locate printer."
+msgstr "Não foi possível localizar a impressora."
+
+msgid "Unable to modify class"
+msgstr "Não foi possível modificar classe"
+
+msgid "Unable to modify printer"
+msgstr "Não foi possível modificar impressora"
+
+msgid "Unable to move job"
+msgstr "Não foi possível mover trabalho"
+
+msgid "Unable to move jobs"
+msgstr "Não foi possível mover trabalhos"
+
+msgid "Unable to open PPD file"
+msgstr "Não foi possível abrir arquivo PPD"
+
+msgid "Unable to open cupsd.conf file:"
+msgstr "Não foi possível abrir arquivo cupsd.conf:"
+
+msgid "Unable to open device file"
+msgstr "Não foi possível abrir arquivo dispositivo"
+
+#, c-format
+msgid "Unable to open document #%d in job #%d."
+msgstr "Não foi possível abrir documento #%d no trabalho #%d."
+
+msgid "Unable to open help file."
+msgstr "Não foi possível abrir arquivo de ajuda."
+
+msgid "Unable to open print file"
+msgstr "Não foi possível abrir arquivo de impressão"
+
+msgid "Unable to open raster file"
+msgstr "Não foi possível arquivo de rasterização"
+
+msgid "Unable to print test page"
+msgstr "Não foi possível imprimir página teste"
+
+msgid "Unable to read print data."
+msgstr "Não foi possível ler dados de impressão."
+
+msgid "Unable to rename job document file."
+msgstr "Não foi possível renomear o arquivo de documento do trabalho."
+
+msgid "Unable to resolve printer-uri."
+msgstr "Não foi possível resolver printer-ui."
+
+#, c-format
+msgid "Unable to run \"%s\": %s"
+msgstr "Não foi possível executar \"%s\": %s"
+
+msgid "Unable to see in file"
+msgstr "Não foi possível ler o arquivo"
+
+msgid "Unable to send command to printer driver"
+msgstr "Não foi possível enviar comando ao driver da impressora"
+
+msgid "Unable to send data to printer."
+msgstr "Não foi possível enviar dados à impressora."
+
+#, c-format
+msgid "Unable to set Windows printer driver (%d)."
+msgstr "Não foi possível definir driver de impressora Windows (%d)."
+
+msgid "Unable to set options"
+msgstr "Não foi possível definir opções"
+
+msgid "Unable to set server default"
+msgstr "Não foi possível definir servidor padrão"
+
+msgid "Unable to start backend process."
+msgstr "Não foi possível iniciar processo de backend."
+
+msgid "Unable to upload cupsd.conf file"
+msgstr "Não foi possível atualizar o arquivo cupsd.conf"
+
+msgid "Unable to use legacy USB class driver."
+msgstr "Não foi possível usar driver de classe USB legado."
+
+msgid "Unable to write print data"
+msgstr "Não foi possível escrever dados de impressão"
+
+#, c-format
+msgid "Unable to write uncompressed print data: %s"
+msgstr "Não foi possível escrever dados descompactados de impressão: %s"
+
+msgid "Unauthorized"
+msgstr "Não autorizado"
+
+msgid "Units"
+msgstr "Unidades"
+
+msgid "Unknown"
+msgstr "Desconhecido"
+
+#, c-format
+msgid "Unknown choice \"%s\" for option \"%s\"."
+msgstr "Escolha desconhecida \"%s\" para opção \"%s\"."
+
+#, c-format
+msgid "Unknown encryption option value: \"%s\"."
+msgstr "Valor da opção de criptografia desconhecido: \"%s\"."
+
+#, c-format
+msgid "Unknown file order: \"%s\"."
+msgstr "Ordem de arquivo desconhecida: \"%s\"."
+
+#, c-format
+msgid "Unknown format character: \"%c\"."
+msgstr "Caractere de formato desconhecido: \"%c\"."
+
+msgid "Unknown hash algorithm."
+msgstr ""
+
+msgid "Unknown media size name."
+msgstr "Nome de tamanho de mídia desconhecido."
+
+#, c-format
+msgid "Unknown option \"%s\" with value \"%s\"."
+msgstr "Opção \"%s\" desconhecida com valor \"%s\"."
+
+#, c-format
+msgid "Unknown option \"%s\"."
+msgstr "Opção \"%s\" desconhecida."
+
+#, c-format
+msgid "Unknown print mode: \"%s\"."
+msgstr "Modo de impressão desconhecido: \"%s\"."
+
+#, c-format
+msgid "Unknown printer-error-policy \"%s\"."
+msgstr "printer-error-policy \"%s\" desconhecido."
+
+#, c-format
+msgid "Unknown printer-op-policy \"%s\"."
+msgstr "printer-op-policy \"%s\" desconhecido."
+
+msgid "Unknown request method."
+msgstr "Método de requisição desconhecido."
+
+msgid "Unknown request version."
+msgstr "Versão de requisição desconhecida."
+
+msgid "Unknown scheme in URI"
+msgstr "Esquema desconhecido na URI"
+
+msgid "Unknown service name."
+msgstr "Nome de serviço desconhecido."
+
+#, c-format
+msgid "Unknown version option value: \"%s\"."
+msgstr "Valor de opção de versão desconhecido: \"%s\"."
+
+#, c-format
+msgid "Unsupported 'compression' value \"%s\"."
+msgstr "Não suporte a \"compression\" com valor \"%s\"."
+
+#, c-format
+msgid "Unsupported 'document-format' value \"%s\"."
+msgstr "Não há suporte a \"document-format\" com valor \"%s\"."
+
+msgid "Unsupported 'job-name' value."
+msgstr "Não há suporte ao valor de \"job-name\"."
+
+#, c-format
+msgid "Unsupported character set \"%s\"."
+msgstr "Não há suporte ao conjunto de caracteres \"%s\"."
+
+#, c-format
+msgid "Unsupported compression \"%s\"."
+msgstr "Não há suporte à compressão \"%s\"."
+
+#, c-format
+msgid "Unsupported document-format \"%s\"."
+msgstr "Não há suporte ao document-format \"%s\"."
+
+#, c-format
+msgid "Unsupported document-format \"%s/%s\"."
+msgstr "Não há suporte ao document-format \"%s/%s\"."
+
+#, c-format
+msgid "Unsupported format \"%s\"."
+msgstr "Não há suporte ao formato \"%s\"."
+
+msgid "Unsupported margins."
+msgstr "Não há suporte a margens."
+
+msgid "Unsupported media value."
+msgstr "Não há suporte ao valor de mídia."
+
+#, c-format
+msgid "Unsupported number-up value %d, using number-up=1."
+msgstr "Não há suporte ao valor de number-up %d; usando number-up=1."
+
+#, c-format
+msgid "Unsupported number-up-layout value %s, using number-up-layout=lrtb."
+msgstr ""
+"Não há suporte ao valor de number-up-layout %s; usando number-up-layout=lrtb."
+
+#, c-format
+msgid "Unsupported page-border value %s, using page-border=none."
+msgstr "Não há suporte ao valor de page-border %s; usando page-border=none."
+
+msgid "Unsupported raster data."
+msgstr "Não há suporte a dados de rasterização."
+
+msgid "Unsupported value type"
+msgstr "Não há suporte ao tipo de valor"
+
+msgid "Upgrade Required"
+msgstr "Atualização necessária"
+
+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]"
+msgstr ""
+"Uso:\n"
+"\n"
+"    lpadmin [-h servidor] -d destino\n"
+"    lpadmin [-h servidor] -x destino\n"
+"    lpadmin [-h servidor] -p impressora [-c add-classe] [-i interface]\n"
+"                       [-m modelo] [-r remove-classe] [-v dispositivo]\n"
+"                       [-D descrição] [-P arquivo-ppd] [-o nome=valor]\n"
+"                       [-u allow:usuário,usuário] [-u deny:usuário,usuário]"
+
+#, c-format
+msgid "Usage: %s job-id user title copies options [file]"
+msgstr "Uso: %s job-id usuário título cópias opções [arquivo]"
+
+msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
+msgstr "Uso: cupsaddsmb [opções] impressora1 ... impressoraN"
+
+msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
+msgstr "Uso: cupsctl [opções] [param=valor ... paramN=valorN]"
+
+msgid "Usage: cupsd [options]"
+msgstr "Uso: cupsd [opções]"
+
+msgid "Usage: cupsfilter [ options ] [ -- ] filename"
+msgstr "Uso: cupsfilter [ opções ] [ -- ] arquivo"
+
+msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
+msgstr "Uso: cupstestdsc [opções] arquivo.ps [... arquivo.ps]"
+
+msgid ""
+"Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
+msgstr "Uso: cupstestppd [opções] arquivo1.ppd[.gz] [... arquivoN.ppd[.gz]]"
+
+msgid ""
+"Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
+"       ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
+"       ippfind --help\n"
+"       ippfind --version"
+msgstr ""
+"Uso: ippfind [opções] tiporeg[,tiposub][.domínio.] ... [expressões]\n"
+"     ippfind [opções] nome[.tiporeg[.domínio.]] ... [expressões]\n"
+"     ippfind --help\n"
+"     ippfind --version"
+
+msgid "Usage: ipptool [options] URI filename [ ... filenameN ]"
+msgstr "Uso: ipptool [opções] URI arquivo [ ... arquivoN ]"
+
+msgid "Usage: lpmove job/src dest"
+msgstr "Uso: lpmove trabalho/fonte dest"
+
+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"
+msgstr ""
+"Uso: lpoptions [-h servidor] [-E] -d impressora\n"
+"     lpoptions [-h servidor] [-E] [-p impressora] -l\n"
+"     lpoptions [-h servidor] [-E] -p impressora -o opção[=valor] ...\n"
+"     lpoptions [-h servidor] [-E] -x impressora"
+
+msgid ""
+"Usage: lpq [-P dest] [-U username] [-h hostname[:port]] [-l] [+interval]"
+msgstr "Uso: lpq [-P dest] [-U usuário] [-h máquina[:porta]] [-l] [+intervalo]"
+
+msgid "Usage: ppdc [options] filename.drv [ ... filenameN.drv ]"
+msgstr "Uso: ppdc [opções] arquivo.drv [ ... arquivoN.drv ]"
+
+msgid "Usage: ppdhtml [options] filename.drv >filename.html"
+msgstr "Uso: ppdhtml [opções] arquivo.drv >arquivo.html"
+
+msgid "Usage: ppdi [options] filename.ppd [ ... filenameN.ppd ]"
+msgstr "Uso: ppdi [opções] arquivo.ppd [ ... arquivoN.ppd ]"
+
+msgid "Usage: ppdmerge [options] filename.ppd [ ... filenameN.ppd ]"
+msgstr "Uso: ppdmerge [opções] arquivo.ppd [ ... arquivoN.ppd ]"
+
+msgid ""
+"Usage: ppdpo [options] -o filename.po filename.drv [ ... filenameN.drv ]"
+msgstr "Uso: ppdpo [opções] -o arquivo.po arquivo.drv [ ... arquivoN.drv ]"
+
+msgid "Usage: snmp [host-or-ip-address]"
+msgstr "Uso: snmp [máquina-ou-endereço-ip]"
+
+msgid "Value uses indefinite length"
+msgstr "Valor usa comprimento indefinido"
+
+msgid "VarBind uses indefinite length"
+msgstr "VarBind usa comprimento indefinido"
+
+msgid "Version uses indefinite length"
+msgstr "Version usa comprimento indefinido"
+
+msgid "Waiting for job to complete."
+msgstr "Esperando o trabalho completar."
+
+msgid "Waiting for printer to become available."
+msgstr "Esperando a impressora ficar disponível."
+
+msgid "Waiting for printer to finish."
+msgstr "Esperando a impressora finalizar."
+
+msgid "Warning, no Windows 2000 printer drivers are installed."
+msgstr "Aviso, nenhum driver de impressora Windows 2000 está instalado."
+
+msgid "Web Interface is Disabled"
+msgstr "Interface web está desabilitada"
+
+msgid "Yes"
+msgstr "Sim"
+
+#, c-format
+msgid ""
+"You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://"
+"%s:%d%s</A>."
+msgstr ""
+"Você tem que acessar esta página usando a URL <A HREF=\"https://%s:%d%s"
+"\">https://%s:%d%s</A>."
+
+msgid "Z Fold"
+msgstr ""
+
+msgid "ZPL Label Printer"
+msgstr "Impressora de etiqueta ZPL"
+
+msgid "Zebra"
+msgstr "Zebra"
+
+msgid "aborted"
+msgstr "abortado"
+
+msgid "canceled"
+msgstr "cancelado"
+
+msgid "completed"
+msgstr "completou"
+
+msgid "cups-deviced failed to execute."
+msgstr "cups-deviced falhou na execução."
+
+msgid "cups-driverd failed to execute."
+msgstr "cups-driverd falhou na execução."
+
+#, c-format
+msgid "cupsaddsmb: No PPD file for printer \"%s\" - %s"
+msgstr "cupsaddsmb: Nenhum arquivo PPD para a impressora \"%s\" - %s"
+
+msgid "cupsctl: Cannot set Listen or Port directly."
+msgstr "cupsctl: Não foi possível definir diretamente Porta ou Listen."
+
+#, c-format
+msgid "cupsctl: Unable to connect to server: %s"
+msgstr "cupsctl: Não foi possível conectar o servidor: %s"
+
+#, c-format
+msgid "cupsctl: Unknown option \"%s\""
+msgstr "cupsctl: Opção desconhecida \"%s\""
+
+#, c-format
+msgid "cupsctl: Unknown option \"-%c\""
+msgstr "cupsctl: Opção desconhecida \"-%c\""
+
+msgid "cupsd: Expected config filename after \"-c\" option."
+msgstr "cupsd: Esperava nome de arquivo de configuração após a opção \"-c\"."
+
+msgid "cupsd: Expected cups-files.conf filename after \"-s\" option."
+msgstr ""
+"cupsd: Esperava nome de arquivo de cups-files.conf após a opção \"-s\"."
+
+msgid "cupsd: On-demand support not compiled in, running in normal mode."
+msgstr ""
+"cupsd: Suporte à funcionalidade sob demanda não compilado, executando em "
+"modo normal."
+
+msgid "cupsd: Relative cups-files.conf filename not allowed."
+msgstr "cupsd: Nome de arquivo relativo para cups-files.conf não é permitido."
+
+msgid "cupsd: Unable to get current directory."
+msgstr "cupsd: Não é possível obter diretório atual."
+
+msgid "cupsd: Unable to get path to cups-files.conf file."
+msgstr ""
+"cupsd: Não foi possível obter o caminho para o arquivo cups-files.conf."
+
+#, c-format
+msgid "cupsd: Unknown argument \"%s\" - aborting."
+msgstr "cupsd: Argumento desconhecido \"%s\" - abortando."
+
+#, c-format
+msgid "cupsd: Unknown option \"%c\" - aborting."
+msgstr "cupsd: Opção desconhecida \"%c\" - abortando."
+
+#, c-format
+msgid "cupsfilter: Invalid document number %d."
+msgstr "cupsfilter: Número de documento inválido %d."
+
+#, c-format
+msgid "cupsfilter: Invalid job ID %d."
+msgstr "cupsfilter: ID de trabalho inválido %d."
+
+msgid "cupsfilter: Only one filename can be specified."
+msgstr "cupsfilter: Somente um nome de arquivo pode ser especificado."
+
+#, c-format
+msgid "cupsfilter: Unable to get job file - %s"
+msgstr "cupsfilter: Não é possível obter o arquivo do trabalho - %s"
+
+msgid "cupstestppd: The -q option is incompatible with the -v option."
+msgstr "cupstestppd: A opção -q é incompatível com a opção -v."
+
+msgid "cupstestppd: The -v option is incompatible with the -q option."
+msgstr "cupstestppd: A opção -v é incompatível com a opção -q."
+
+#, c-format
+msgid "device for %s/%s: %s"
+msgstr "dispositivo de %s/%s: %s"
+
+#, c-format
+msgid "device for %s: %s"
+msgstr "dispositivo de %s: %s"
+
+msgid "error-index uses indefinite length"
+msgstr "error-index usa comprimento indefinido"
+
+msgid "error-status uses indefinite length"
+msgstr "error-status usa comprimento indefinido"
+
+msgid "held"
+msgstr "retido"
+
+msgid "help\t\tGet help on commands."
+msgstr "help\t\tObtém ajuda sobre os comandos."
+
+msgid "idle"
+msgstr "inativo"
+
+#, c-format
+msgid "ippfind: Bad regular expression: %s"
+msgstr "ippfind: Expressão regular inválida: %s"
+
+msgid "ippfind: Cannot use --and after --or."
+msgstr "ippfind: Não é possível usar --and após --or."
+
+#, c-format
+msgid "ippfind: Expected key name after %s."
+msgstr "ippfind: Esperava nome da chave após %s."
+
+#, c-format
+msgid "ippfind: Expected port range after %s."
+msgstr "ippfind: Esperava faixa de portas após %s."
+
+#, c-format
+msgid "ippfind: Expected program after %s."
+msgstr "ippfind: Esperava o programa após %s."
+
+#, c-format
+msgid "ippfind: Expected semi-colon after %s."
+msgstr "ippfind: Esperava ponto-e-vírgula após %s."
+
+msgid "ippfind: Missing close brace in substitution."
+msgstr "ippfind: Faltando chave de fechamento na substituição."
+
+msgid "ippfind: Missing close parenthesis."
+msgstr "ippfind: Faltando parênteses de fechamento."
+
+msgid "ippfind: Missing expression before \"--and\"."
+msgstr "ippfind: Faltando expressão antes de \"--and\"."
+
+msgid "ippfind: Missing expression before \"--or\"."
+msgstr "ippfind: Faltando expressão antes de \"--or\"."
+
+#, c-format
+msgid "ippfind: Missing key name after %s."
+msgstr "ippfind: Faltando nome da chave após %s."
+
+msgid "ippfind: Missing open parenthesis."
+msgstr "ippfind: Faltando parênteses de abertura."
+
+#, c-format
+msgid "ippfind: Missing program after %s."
+msgstr "ippfind: Faltando programa após %s."
+
+#, c-format
+msgid "ippfind: Missing regular expression after %s."
+msgstr "ippfind: Faltando expressão regular após %s."
+
+#, c-format
+msgid "ippfind: Missing semi-colon after %s."
+msgstr "ippfind: Faltando dois-pontos após %s."
+
+msgid "ippfind: Out of memory."
+msgstr "ippfind: Memória insuficiente."
+
+msgid "ippfind: Too many parenthesis."
+msgstr "ippfind: Número excessivo de parênteses."
+
+#, c-format
+msgid "ippfind: Unable to browse or resolve: %s"
+msgstr "ippfind: Não foi possível navegar ou resolver: %s"
+
+#, c-format
+msgid "ippfind: Unable to execute \"%s\": %s"
+msgstr "ippfind: Não foi possível executar \"%s\": %s"
+
+#, c-format
+msgid "ippfind: Unable to use Bonjour: %s"
+msgstr "ippfind: Não foi possível usar Bonjour: %s"
+
+#, c-format
+msgid "ippfind: Unknown variable \"{%s}\"."
+msgstr "ippfind: Argumento desconhecido \"{%s}\"."
+
+msgid "ipptool: \"-i\" and \"-n\" are incompatible with \"-P\" and \"-X\"."
+msgstr "ipptool: \"-i\" e \"-n\" são incompatíveis com \"-P\" e \"-X\"."
+
+#, c-format
+msgid "ipptool: Bad URI - %s."
+msgstr "ipptool: URI inválida - %s."
+
+msgid "ipptool: Invalid seconds for \"-i\"."
+msgstr "ipptool: Segundos inválidos para \"-i\"."
+
+msgid "ipptool: May only specify a single URI."
+msgstr "ipptool: Só é possível especificar uma única URI."
+
+msgid "ipptool: Missing count for \"-n\"."
+msgstr "ipptool: Contagem faltando para \"-n\"."
+
+msgid "ipptool: Missing filename for \"-f\"."
+msgstr "ipptool: Faltando nome de arquivo para \"-f\"."
+
+msgid "ipptool: Missing name=value for \"-d\"."
+msgstr "ipptool: Faltando nome=valor para\"-d\"."
+
+msgid "ipptool: Missing seconds for \"-i\"."
+msgstr "ipptool: Faltando segundos para \"-i\"."
+
+msgid "ipptool: URI required before test file."
+msgstr "ipptool: URI necessária antes do arquivo de teste."
+
+#, c-format
+msgid "ipptool: Unknown option \"-%c\"."
+msgstr "ipptool: Opção desconhecida \"-%c\"."
+
+msgid "job-printer-uri attribute missing."
+msgstr "Faltando atributo de job-printer-uri."
+
+msgid "lpadmin: Class name can only contain printable characters."
+msgstr "lpadmin: Nome da classe só pode conter caracteres imprimíveis."
+
+#, c-format
+msgid "lpadmin: Expected PPD after \"-%c\" option."
+msgstr ""
+
+msgid "lpadmin: Expected allow/deny:userlist after \"-u\" option."
+msgstr ""
+"lpadmin: Esperava permitir/negar lista de usuários após a opção \"-u\"."
+
+msgid "lpadmin: Expected class after \"-r\" option."
+msgstr "lpadmin: Esperava a classe após a opção \"-r\"."
+
+msgid "lpadmin: Expected class name after \"-c\" option."
+msgstr "lpadmin: Esperava nome de classe após a opção \"-c\"."
+
+msgid "lpadmin: Expected description after \"-D\" option."
+msgstr "lpadmin: Esperava descrição após a opção \"-D\"."
+
+msgid "lpadmin: Expected device URI after \"-v\" option."
+msgstr "lpadmin: Esperava URI de dispositivo após a opção \"-v\"."
+
+msgid "lpadmin: Expected file type(s) after \"-I\" option."
+msgstr "lpadmin: Esperava tipo(s) de arquivo(s) após a opção \"-I\"."
+
+msgid "lpadmin: Expected hostname after \"-h\" option."
+msgstr "lpadmin: Esperava nome do máquina após a opção \"-h\"."
+
+msgid "lpadmin: Expected location after \"-L\" option."
+msgstr "lpadmin: Esperava localização após a opção \"-L\"."
+
+msgid "lpadmin: Expected model after \"-m\" option."
+msgstr "lpadmin: Esperava modelo após a opção \"-m\"."
+
+msgid "lpadmin: Expected name after \"-R\" option."
+msgstr "lpadmin: Esperava nome após a opção \"-R\"."
+
+msgid "lpadmin: Expected name=value after \"-o\" option."
+msgstr "lpadmin: Esperava nome=valor após a opção \"-o\"."
+
+msgid "lpadmin: Expected printer after \"-p\" option."
+msgstr "lpadmin: Esperava impressora após a opção \"-p\"."
+
+msgid "lpadmin: Expected printer name after \"-d\" option."
+msgstr "lpadmin: Esperava nome da impressora após a opção \"-d\"."
+
+msgid "lpadmin: Expected printer or class after \"-x\" option."
+msgstr "lpadmin: Esperava impressora ou classe após a opção \"-x\"."
+
+msgid "lpadmin: No member names were seen."
+msgstr "lpadmin: Nenhum nome de membros foi encontrado."
+
+#, c-format
+msgid "lpadmin: Printer %s is already a member of class %s."
+msgstr "lpadmin: Impressora %s já é um membro da classe %s."
+
+#, c-format
+msgid "lpadmin: Printer %s is not a member of class %s."
+msgstr "lpadmin: Impressora %s não é membro da classe %s."
+
+msgid "lpadmin: Printer name can only contain printable characters."
+msgstr "lpadmin: Nome da impressora só pode conter caracteres imprimíveis."
+
+msgid ""
+"lpadmin: Unable to add a printer to the class:\n"
+"         You must specify a printer name first."
+msgstr ""
+"lpadmin: Não é possível adicionar impressora à classe\n"
+"         Você deve primeiro especificar o nome da impressora."
+
+#, c-format
+msgid "lpadmin: Unable to connect to server: %s"
+msgstr "lpadmin: Não foi possível conectar ao servidor: %s"
+
+msgid "lpadmin: Unable to create temporary file"
+msgstr "lpadmin: Não foi possível criar arquivo temporário"
+
+msgid ""
+"lpadmin: Unable to delete option:\n"
+"         You must specify a printer name first."
+msgstr ""
+"lpadmin: Não foi possível excluir opção:\n"
+"         Você deve primeiro especificar o nome da impressora."
+
+#, c-format
+msgid "lpadmin: Unable to open PPD \"%s\": %s on line %d."
+msgstr "lpadmin: Não foi possível abrir PPD \"%s\": %s na linha %d."
+
+#, c-format
+msgid "lpadmin: Unable to open PPD file \"%s\" - %s"
+msgstr "lpadmin: Não foi possível abrir o arquivo PPD \"%s\" - %s"
+
+msgid ""
+"lpadmin: Unable to remove a printer from the class:\n"
+"         You must specify a printer name first."
+msgstr ""
+"lpadmin: Não foi possível excluir impressora da classe:\n"
+"         Você deve primeiro especificar o nome da impressora."
+
+msgid ""
+"lpadmin: Unable to set the printer options:\n"
+"         You must specify a printer name first."
+msgstr ""
+"lpadmin: Não foi possível definir as opções da impressora:\n"
+"         Você deve primeiro especificar o nome da impressora."
+
+#, c-format
+msgid "lpadmin: Unknown allow/deny option \"%s\"."
+msgstr "lpadmin: Opção de permitir/negar desconhecida \"%s\"."
+
+#, c-format
+msgid "lpadmin: Unknown argument \"%s\"."
+msgstr "lpadmin: Argumento desconhecido \"%s\"."
+
+#, c-format
+msgid "lpadmin: Unknown option \"%c\"."
+msgstr "lpadmin: Opção desconhecida \"%c\"."
+
+msgid "lpadmin: Warning - content type list ignored."
+msgstr "lpadmin: Aviso - lista de tipos de conteúdos ignorada."
+
+msgid "lpc> "
+msgstr "lpc> "
+
+msgid "lpinfo: Expected 1284 device ID string after \"--device-id\"."
+msgstr ""
+"lpinfo: Esperava string de ID de dispositivo 1284 após \"--device-id\"."
+
+msgid "lpinfo: Expected language after \"--language\"."
+msgstr "lpinfo: Esperava idioma após \"--language\"."
+
+msgid "lpinfo: Expected make and model after \"--make-and-model\"."
+msgstr "lpinfo: Esperava marca e modelo após \"--make-and-model\"."
+
+msgid "lpinfo: Expected product string after \"--product\"."
+msgstr "lpinfo: Esperava string de produto após \"--product\"."
+
+msgid "lpinfo: Expected scheme list after \"--exclude-schemes\"."
+msgstr "lpinfo: Esperava lista de esquemas após \"--exclude-schemes\"."
+
+msgid "lpinfo: Expected scheme list after \"--include-schemes\"."
+msgstr "lpinfo: Esperava lista de esquemas após \"--include-schemes\"."
+
+msgid "lpinfo: Expected timeout after \"--timeout\"."
+msgstr "lpinfo: Esperava tempo de espera após \"--timeout\"."
+
+#, c-format
+msgid "lpinfo: Unknown argument \"%s\"."
+msgstr "lpinfo: Argumento desconhecido \"%s\"."
+
+#, c-format
+msgid "lpinfo: Unknown option \"%c\"."
+msgstr "lpinfo: Opção desconhecida \"%c\"."
+
+#, c-format
+msgid "lpinfo: Unknown option \"%s\"."
+msgstr "lpinfo: Opção desconhecida \"%s\"."
+
+#, c-format
+msgid "lpmove: Unable to connect to server: %s"
+msgstr "lpmove: Não foi possível conectar ao servidor: %s"
+
+#, c-format
+msgid "lpmove: Unknown argument \"%s\"."
+msgstr "lpmove: Argumento desconhecido \"%s\"."
+
+#, c-format
+msgid "lpmove: Unknown option \"%c\"."
+msgstr "lpmove: Opção desconhecida \"%c\"."
+
+msgid "lpoptions: No printers."
+msgstr "lpoptions: Nenhuma impressora."
+
+#, c-format
+msgid "lpoptions: Unable to add printer or instance: %s"
+msgstr "lpoptions: Não foi possível adicionar impressora ou instância: %s"
+
+#, c-format
+msgid "lpoptions: Unable to get PPD file for %s: %s"
+msgstr "lpoptions: Não foi possível obter o arquivo PPD para %s: %s"
+
+#, c-format
+msgid "lpoptions: Unable to open PPD file for %s."
+msgstr "lpoptions: Não foi possível abrir o arquivo PPD para %s."
+
+msgid "lpoptions: Unknown printer or class."
+msgstr "lpoptions: Impressora ou classe desconhecida."
+
+#, c-format
+msgid ""
+"lpstat: error - %s environment variable names non-existent destination \"%s"
+"\"."
+msgstr ""
+"lpstat: Erro - variável de ambiente %s contém destino inexistente \"%s\"."
+
+#, c-format
+msgid "members of class %s:"
+msgstr "membros da classe %s:"
+
+msgid "no entries"
+msgstr "nenhum registro"
+
+msgid "no system default destination"
+msgstr "nenhum destino padrão de sistema"
+
+msgid "notify-events not specified."
+msgstr "notify-events não especificado."
+
+#, c-format
+msgid "notify-recipient-uri URI \"%s\" is already used."
+msgstr "URI de notify-recipient-uri \"%s\" já está sendo usada."
+
+#, c-format
+msgid "notify-recipient-uri URI \"%s\" uses unknown scheme."
+msgstr "URI de notify-recipient-uri \"%s\" usa um esquema desconhecido."
+
+msgid "pending"
+msgstr "pendente"
+
+#, c-format
+msgid "ppdc: Adding include directory \"%s\"."
+msgstr "ppdc: Adicionando diretório de include \"%s\"."
+
+#, c-format
+msgid "ppdc: Adding/updating UI text from %s."
+msgstr "ppdc: Adicionando/atualizando texto de UI de %s."
+
+#, c-format
+msgid "ppdc: Bad boolean value (%s) on line %d of %s."
+msgstr "ppdc: Valor booleano inválido (%s) na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Bad font attribute: %s"
+msgstr "ppdc: Atributo de fonte inválido: %s"
+
+#, c-format
+msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
+msgstr "ppdc: Nome de resolução inválido \"%s\" na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Bad status keyword %s on line %d of %s."
+msgstr "ppdc: palavra-chave de estado inválida %s na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
+msgstr "ppdc: Substituição de variável inválida ($%c) na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Choice found on line %d of %s with no Option."
+msgstr "ppdc: Escolha encontrada na linha %d de %s com nenhuma opção."
+
+#, c-format
+msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
+msgstr "ppdc: Duplicata de #po para o local %s na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected a filter definition on line %d of %s."
+msgstr "ppdc: Esperava a definição de um filtro na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected a program name on line %d of %s."
+msgstr "ppdc: Esperava o nome de um programa na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected boolean value on line %d of %s."
+msgstr "ppdc: Esperava um valor booleano na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected charset after Font on line %d of %s."
+msgstr "ppdc: Esperava conjunto de caracteres após Font na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected choice code on line %d of %s."
+msgstr "ppdc: Esperava código de escolha na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected choice name/text on line %d of %s."
+msgstr "ppdc: Esperava texto/nome de escolha na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected color order for ColorModel on line %d of %s."
+msgstr "ppdc: Esperava ordem de cores para ColorModel na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected colorspace for ColorModel on line %d of %s."
+msgstr "ppdc: Esperava espaço de cores para ColorModel na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected compression for ColorModel on line %d of %s."
+msgstr "ppdc: Esperava compressão para ColorModel na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
+msgstr ""
+"ppdc: Esperava string de restrições para UIConstraints na linha %d de %s."
+
+#, c-format
+msgid ""
+"ppdc: Expected driver type keyword following DriverType on line %d of %s."
+msgstr ""
+"ppdc: Esperava palavra-chave de tipo de driver seguindo DriverType na linha "
+"%d de %s."
+
+#, c-format
+msgid "ppdc: Expected duplex type after Duplex on line %d of %s."
+msgstr "ppdc: Esperava tipo Duplex após Duplex na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected encoding after Font on line %d of %s."
+msgstr "ppdc: Esperava codificação após Font na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected filename after #po %s on line %d of %s."
+msgstr "ppdc: Esperava nome de arquivo após #po %s na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected group name/text on line %d of %s."
+msgstr "ppdc: Esperava text/nome de grupo na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected include filename on line %d of %s."
+msgstr "ppdc: Esperava inclusão de nome de arquivo na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected integer on line %d of %s."
+msgstr "ppdc: Esperava número inteiro na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected locale after #po on line %d of %s."
+msgstr "ppdc: Esperava local após #po na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after %s on line %d of %s."
+msgstr "ppdc: Esperava nome após %s na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after FileName on line %d of %s."
+msgstr "ppdc: Esperava nome após FileName na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after Font on line %d of %s."
+msgstr "ppdc: Esperava nome após Font na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after Manufacturer on line %d of %s."
+msgstr "ppdc: Esperava nome após Manufacturer na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after MediaSize on line %d of %s."
+msgstr "ppdc: Esperava nome após MediaSize na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after ModelName on line %d of %s."
+msgstr "ppdc: Esperava nome após ModelName na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name after PCFileName on line %d of %s."
+msgstr "ppdc: Esperava nome após PCFileName na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name/text after %s on line %d of %s."
+msgstr "ppdc: Esperava nome/texto após %s na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name/text after Installable on line %d of %s."
+msgstr "ppdc: Esperava nome/texto após Installable na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name/text after Resolution on line %d of %s."
+msgstr "ppdc: Esperava nome/texto após Resolution na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
+msgstr ""
+"ppdc: Esperava combinação de nome/texto para ColorModel na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected option name/text on line %d of %s."
+msgstr "ppdc: Esperava opção de nome/texto na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected option section on line %d of %s."
+msgstr "ppdc: Esperava opção de seção na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected option type on line %d of %s."
+msgstr "ppdc: Esperava tipo da opção na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected override field after Resolution on line %d of %s."
+msgstr ""
+"ppdc: Esperava um campo de substituição após Resolution na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected quoted string on line %d of %s."
+msgstr "ppdc: Esperava string em aspas na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected real number on line %d of %s."
+msgstr "ppdc: Esperava número real na linha %d de %s."
+
+#, c-format
+msgid ""
+"ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
+msgstr ""
+"ppdc: Esperava resolução/tipo de mídia seguindo ColorProfile na linha %d de "
+"%s."
+
+#, c-format
+msgid ""
+"ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d "
+"of %s."
+msgstr ""
+"ppdc: Esperava resolução/tipo de mídia seguindo SimpleColorProfile na linha "
+"%d de %s."
+
+#, c-format
+msgid "ppdc: Expected selector after %s on line %d of %s."
+msgstr "ppdc: Esperava seletor após %s na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected status after Font on line %d of %s."
+msgstr "ppdc: Esperava estado após Font na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected string after Copyright on line %d of %s."
+msgstr "ppdc: Esperava string após Copyright na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected string after Version on line %d of %s."
+msgstr "ppdc: Esperava string após Version na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected two option names on line %d of %s."
+msgstr "ppdc: Esperava nomes de duas opções na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected value after %s on line %d of %s."
+msgstr "ppdc: Esperava valor após %s na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Expected version after Font on line %d of %s."
+msgstr "ppdc: Esperava versão após Font na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Invalid #include/#po filename \"%s\"."
+msgstr "ppdc: Nome de arquivo \"%s\" de #include/#po inválido."
+
+#, c-format
+msgid "ppdc: Invalid cost for filter on line %d of %s."
+msgstr "ppdc: Custo inválido para filtro na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Invalid empty MIME type for filter on line %d of %s."
+msgstr "ppdc: Tipo MIME vazio inválido para filtro na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Invalid empty program name for filter on line %d of %s."
+msgstr "ppdc: Nome de programa vazio inválido na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
+msgstr "ppdc: Seção \"%s\" inválida de opção na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
+msgstr "ppdc: Tipo \"%s\" inválido de opção na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Loading driver information file \"%s\"."
+msgstr "ppdc: Carregando arquivo \"%s\" de informações de driver."
+
+#, c-format
+msgid "ppdc: Loading messages for locale \"%s\"."
+msgstr "ppdc: Carregando mensagens para locale \"%s\"."
+
+#, c-format
+msgid "ppdc: Loading messages from \"%s\"."
+msgstr "ppdc: Carregando mensagens de \"%s\"."
+
+#, c-format
+msgid "ppdc: Missing #endif at end of \"%s\"."
+msgstr "ppdc: Faltando #endif ao final de \"%s\"."
+
+#, c-format
+msgid "ppdc: Missing #if on line %d of %s."
+msgstr "ppdc: Faltando #if na linha %d de %s."
+
+#, c-format
+msgid ""
+"ppdc: Need a msgid line before any translation strings on line %d of %s."
+msgstr ""
+"ppdc: Precisa de uma linha de msgid antes de qualquer string de tradução na "
+"linha %d de %s."
+
+#, c-format
+msgid "ppdc: No message catalog provided for locale %s."
+msgstr "ppdc: Nenhum catálogo de mensagens fornecido para o locale %s."
+
+#, c-format
+msgid "ppdc: Option %s defined in two different groups on line %d of %s."
+msgstr "ppdc: Opção %s definida em dois grupos diferentes na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Option %s redefined with a different type on line %d of %s."
+msgstr "ppdc: Opção %s redefinida com um tipo diferente na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Option constraint must *name on line %d of %s."
+msgstr "ppdc: Restrição da opção deve *name na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Too many nested #if's on line %d of %s."
+msgstr "ppdc: Muitos #if aninhados demais na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Unable to create PPD file \"%s\" - %s."
+msgstr "ppdc: Não foi possível criar o arquivo PPD \"%s\" - %s."
+
+#, c-format
+msgid "ppdc: Unable to create output directory %s: %s"
+msgstr "ppdc: Não foi possível criar diretório de saída %s: %s"
+
+#, c-format
+msgid "ppdc: Unable to create output pipes: %s"
+msgstr "ppdc: Não foi possível criar redirecionamento de saída: %s"
+
+#, c-format
+msgid "ppdc: Unable to execute cupstestppd: %s"
+msgstr "ppdc: Não foi possível executar cupstestppd: %s"
+
+#, c-format
+msgid "ppdc: Unable to find #po file %s on line %d of %s."
+msgstr "ppdc: Não foi possível encontrar arquivo #po %s na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
+msgstr ""
+"ppdc: Não foi possível encontrar o arquivo include \"%s\" na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Unable to find localization for \"%s\" - %s"
+msgstr "ppdc: Não foi possível encontrar localização para \"%s\" - %s"
+
+#, c-format
+msgid "ppdc: Unable to load localization file \"%s\" - %s"
+msgstr "ppdc: Não foi possível carregar arquivo de localização \"%s\" - %s"
+
+#, c-format
+msgid "ppdc: Unable to open %s: %s"
+msgstr "ppdc: Não foi possível abrir %s: %s"
+
+#, c-format
+msgid "ppdc: Undefined variable (%s) on line %d of %s."
+msgstr "ppdc: Variável indefinida (%s) na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Unexpected text on line %d of %s."
+msgstr "ppdc: Texto inesperado na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Unknown driver type %s on line %d of %s."
+msgstr "ppdc: Tipo de driver %s desconhecido na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
+msgstr "ppdc: Tipo de duplex desconhecido \"%s\" na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
+msgstr "ppdc: Tamanho de mídia desconhecido \"%s\" na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Unknown message catalog format for \"%s\"."
+msgstr "ppdc: Formato de catálogo de mensagens desconhecido para \"%s\"."
+
+#, c-format
+msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
+msgstr "ppdc: Token desconhecido \"%s\" visto na linha %d de %s."
+
+#, c-format
+msgid ""
+"ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
+msgstr ""
+"ppdc: Caractere final desconhecido em número real \"%s\" na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Unterminated string starting with %c on line %d of %s."
+msgstr "ppdc: Início de string não terminada com %c na linha %d de %s."
+
+#, c-format
+msgid "ppdc: Warning - overlapping filename \"%s\"."
+msgstr "ppdc: Aviso - nome de arquivo em sobreposição \"%s\"."
+
+#, c-format
+msgid "ppdc: Writing %s."
+msgstr "ppdc: Gravando %s."
+
+#, c-format
+msgid "ppdc: Writing PPD files to directory \"%s\"."
+msgstr "ppdc: Gravando arquivos PPD para a pasta \"%s\"."
+
+#, c-format
+msgid "ppdmerge: Bad LanguageVersion \"%s\" in %s."
+msgstr "ppdmerge: LanguageVersion incorreto \"%s\" em %s."
+
+#, c-format
+msgid "ppdmerge: Ignoring PPD file %s."
+msgstr "ppdmerge: Ignorando o arquivo PPD %s."
+
+#, c-format
+msgid "ppdmerge: Unable to backup %s to %s - %s"
+msgstr "ppdmerge: Não é possível fazer backup de %s para %s - %s"
+
+#, c-format
+msgid "printer %s disabled since %s -"
+msgstr "impressora %s desabilitada desde %s -"
+
+#, c-format
+msgid "printer %s is idle.  enabled since %s"
+msgstr "impressora %s está inativa; habilitada desde %s"
+
+#, c-format
+msgid "printer %s now printing %s-%d.  enabled since %s"
+msgstr "impressora %s está imprimindo %s-%d; habilitada desde %s"
+
+#, c-format
+msgid "printer %s/%s disabled since %s -"
+msgstr "impressora %s/%s desabilitada desde %s -"
+
+#, c-format
+msgid "printer %s/%s is idle.  enabled since %s"
+msgstr "impressora %s/%s está inativa; habilitada desde %s"
+
+#, c-format
+msgid "printer %s/%s now printing %s-%d.  enabled since %s"
+msgstr "impressora %s/%s está imprimindo %s-%d; habilitada desde %s"
+
+msgid "processing"
+msgstr "processando"
+
+#, c-format
+msgid "request id is %s-%d (%d file(s))"
+msgstr "id de requisição é %s-%d (%d arquivo(s))"
+
+msgid "request-id uses indefinite length"
+msgstr "request-id usa comprimento indefinido"
+
+msgid "scheduler is not running"
+msgstr "Agendador não está em execução"
+
+msgid "scheduler is running"
+msgstr "Agendador está em execução"
+
+#, c-format
+msgid "stat of %s failed: %s"
+msgstr "falhou o estado de %s: %s"
+
+msgid "status\t\tShow status of daemon and queue."
+msgstr "status\t\tMostra estado do daemon e da fila."
+
+msgid "stopped"
+msgstr "parou"
+
+#, c-format
+msgid "system default destination: %s"
+msgstr "destino padrão do sistema: %s"
+
+#, c-format
+msgid "system default destination: %s/%s"
+msgstr "destino padrão do sistema: %s/%s"
+
+msgid "unknown"
+msgstr "desconhecido"
+
+msgid "untitled"
+msgstr "sem título"
+
+msgid "variable-bindings uses indefinite length"
+msgstr "variable-bindings usa comprimento indefinido"
+
+#~ msgid "\tInterface: %s/interfaces/%s"
+#~ msgstr "\tInterface: %s/interfaces/%s"
+
+#~ msgid "  -a                      Browse for all services."
+#~ msgstr "  -a                      Navega por todos os serviços."
+
+#~ msgid "  -d domain               Browse/resolve in specified domain."
+#~ msgstr "  -d domínio              Navega/resolve no domínio especificado."
+
+#~ msgid "  -l                      Run cupsd from launchd(8)."
+#~ msgstr "  -l                      Executa cupsd a partir do launchd(8)."
+
+#~ msgid "  -p program              Run specified program for each service."
+#~ msgstr ""
+#~ "  -p programa             Executa o programa especificado para cada "
+#~ "serviço."
+
+#~ msgid "  -t type                 Browse/resolve with specified type."
+#~ msgstr "  -t tipo                 Navega/resolve com o tipo especificado."
+
+#~ msgid "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
+#~ msgstr "%-6s %-10.10s %-4d %-10d %-27.27s %.0f bytes"
+
+#~ msgid "720dpi"
+#~ msgstr "720dpi"
+
+#~ msgid "Bad printer URI."
+#~ msgstr "URI de impressora inválido."
+
+#~ msgid "Enter old password:"
+#~ msgstr "Digite a senha antiga:"
+
+#~ msgid "Enter password again:"
+#~ msgstr "Digite sua senha novamente:"
+
+#~ msgid "Enter password:"
+#~ msgstr "Digite a senha:"
+
+#~ msgid "Envelope #10 "
+#~ msgstr "Envelope #10 "
+
+#~ msgid "Envelope PRC1 "
+#~ msgstr "Envelope PRC1 "
+
+#~ msgid "File Folder "
+#~ msgstr "Pasta do arquivo "
+
+#~ msgid "Looking for printer."
+#~ msgstr "Procurando impressoras."
+
+#~ msgid "New Stylus Color Series"
+#~ msgstr "Nova Stylus Color Séries"
+
+#~ msgid "New Stylus Photo Series"
+#~ msgstr "Nova Stylus Photos Séries"
+
+#~ msgid "Output for printer %s is sent to %s"
+#~ msgstr "Saída da impressora %s é enviada para %s"
+
+#~ msgid "Output for printer %s is sent to remote printer %s on %s"
+#~ msgstr "Saída da impressora %s é enviada para a impressora remota %s em %s"
+
+#~ msgid "Output for printer %s/%s is sent to %s"
+#~ msgstr "Saída da impressora %s/%s é enviada para %s"
+
+#~ msgid "Output for printer %s/%s is sent to remote printer %s on %s"
+#~ msgstr "Saída da impressora %s/%s é enviada para impressora remota %s em %s"
+
+#~ msgid "Postcard Double "
+#~ msgstr "Postal duplo "
+
+#~ msgid "Printing page %d, %d%% complete."
+#~ msgstr "Imprimindo página %d, %d%% completo."
+
+#~ msgid "Purge Jobs"
+#~ msgstr "Apagar trabalhos"
+
+#~ msgid ""
+#~ "Rank   Owner      Pri  Job        Files                       Total Size"
+#~ msgstr ""
+#~ "Ordem   Dono      Pri  Trab       Arquivos                    Tamanho "
+#~ "total"
+
+#~ msgid "Stylus Color Series"
+#~ msgstr "Stylus Color Séries"
+
+#~ msgid "Stylus Photo Series"
+#~ msgstr "Stylus Photo Séries"
+
+#~ msgid ""
+#~ "The '%s' Job Description attribute cannot be supplied in a job creation "
+#~ "request."
+#~ msgstr ""
+#~ "O atributo Job Description \"%s\" não pode ser fornecido em uma "
+#~ "requisição de criação de trabalho."
+
+#~ msgid "The output bin is almost full."
+#~ msgstr "O tabuleiro de saída está quase completo."
+
+#~ msgid "The output bin is full."
+#~ msgstr "O tabuleiro de saída está completo."
+
+#~ msgid "The output bin is missing."
+#~ msgstr "O tabuleiro de saída não foi encontrado."
+
+#~ msgid "The paper tray is almost empty."
+#~ msgstr "O bandeja de papel está quase vazia."
+
+#~ msgid "The paper tray is empty."
+#~ msgstr "O bandeja de papel está vazia."
+
+#~ msgid "The paper tray is missing."
+#~ msgstr "O bandeja de papel não foi encontrada."
+
+#~ msgid "The paper tray needs to be filled."
+#~ msgstr "O bandeja de papel precisa ser recarregada."
+
+#~ msgid "The printer is running low on ink."
+#~ msgstr "A impressora está ficando sem tinta."
+
+#~ msgid "The printer is running low on toner."
+#~ msgstr "A impressora está ficando sem toner."
+
+#~ msgid "There is a paper jam."
+#~ msgstr "Ocorreu um atolamento de papel."
+
+#~ msgid "Unable to copy interface script - %s"
+#~ msgstr "Não foi possível copiar script de interface - %s"
+
+#~ msgid "Unable to resolve printer URI."
+#~ msgstr "Não foi possível resolver URI da impressora."
+
+#~ msgid "Usage: cupsfilter [ options ] filename"
+#~ msgstr "Uso: cupsfilter [ opções ] arquivo"
+
+#~ msgid ""
+#~ "Usage: ippdiscover [options] -a\n"
+#~ "       ippdiscover [options] \"service name\"\n"
+#~ "\n"
+#~ "Options:"
+#~ msgstr ""
+#~ "Uso: ippdiscover [opções] -a\n"
+#~ "     ippdiscover [opções] \"nome do serviço\"\n"
+#~ "\n"
+#~ "Opções:"
+
+#~ msgid "Usage: lppasswd [-g groupname]"
+#~ msgstr "Uso: lppasswd [-g grupo]"
+
+#~ msgid ""
+#~ "Usage: lppasswd [-g groupname] [username]\n"
+#~ "       lppasswd [-g groupname] -a [username]\n"
+#~ "       lppasswd [-g groupname] -x [username]"
+#~ msgstr ""
+#~ "Uso: lppasswd [-g grupo] [usuário]\n"
+#~ "     lppasswd [-g grupo] -a [usuário]\n"
+#~ "     lppasswd [-g grupo] -x [usuário]"
+
+#~ msgid ""
+#~ "Your password must be at least 6 characters long, cannot contain your "
+#~ "username, and must contain at least one letter and number."
+#~ msgstr ""
+#~ "Sua senha deve ser pelo menos de 6 caracteres, não pode conter o seu nome "
+#~ "de usuário, e deve conter pelo menos uma letra e um número."
+
+#~ msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
+#~ msgstr ""
+#~ "cupsd: Compilado sem suporte a launchd(8) e, portanto, executando no modo "
+#~ "normal."
+
+#~ msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
+#~ msgstr "ipptool: \"-i\" e \"-n\" são incompatíveis com \"-X\"."
+
+#~ msgid "lpadmin: Expected PPD after \"-P\" option."
+#~ msgstr "lpadmin: Esperava PPD após a opção \"-P\"."
+
+#~ msgid "lpadmin: Expected interface after \"-i\" option."
+#~ msgstr "lpadmin: Esperava interface após a opção \"-i\"."
+
+#~ msgid "lppasswd: Only root can add or delete passwords."
+#~ msgstr "lppasswd: Somente o root pode adicionar ou excluir senhas."
+
+#~ msgid "lppasswd: Password file busy."
+#~ msgstr "lppasswd: Arquivo de senhas ocupado."
+
+#~ msgid "lppasswd: Password file not updated."
+#~ msgstr "lppasswd: Arquivo de senhas não atualizado."
+
+#~ msgid "lppasswd: Sorry, password doesn't match."
+#~ msgstr "lppasswd: Desculpe, senha não corresponde."
+
+#~ msgid "lppasswd: Sorry, password rejected."
+#~ msgstr "lppasswd: Desculpe, senha rejeitada."
+
+#~ msgid "lppasswd: Sorry, passwords don't match."
+#~ msgstr "lppasswd: Desculpe, senhas não correspondem."
+
+#~ msgid "lppasswd: Unable to copy password string: %s"
+#~ msgstr "lppasswd: Não foi possível copiar string de senha: %s"
+
+#~ msgid "lppasswd: Unable to open password file: %s"
+#~ msgstr "lppasswd: Não foi possível abrir arquivo de senhas: %s"
+
+#~ msgid "lppasswd: Unable to write to password file: %s"
+#~ msgstr "lppasswd: Não foi possível gravar no arquivo de senha: %s"
+
+#~ msgid "lppasswd: failed to backup old password file: %s"
+#~ msgstr "lppasswd: Falha ao fazer backup do arquivo de senhas antigo: %s"
+
+#~ msgid "lppasswd: failed to rename password file: %s"
+#~ msgstr "lppasswd: Falha ao renomear arquivo de senhas: %s"
+
+#~ msgid "lppasswd: user \"%s\" and group \"%s\" do not exist."
+#~ msgstr "lppasswd: Usuário \"%s\" e grupo \"%s\" não existem."
index bd43c9bba8cbc1cdd370acce2b64a3d2ef2b2e87..7714a4a5971832d2b5f318cdd4d0656d681f41eb 100644 (file)
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 2.0\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2016-04-11 20:30-0400\n"
+"POT-Creation-Date: 2016-05-02 18:01-0400\n"
 "PO-Revision-Date: 2015-01-28 12:00-0800\n"
 "Last-Translator: Aleksandr Proklov\n"
 "Language-Team: PuppyRus Linux Team\n"
@@ -1087,9 +1087,6 @@ msgstr ""
 msgid "  -X                      Produce XML plist instead of plain text."
 msgstr "  -X                      Выводить XML plist вместо обычного текста."
 
-msgid "  -a                      Browse for all services."
-msgstr "  -a                      Обзор всех сервисов."
-
 msgid "  -a                      Export all printers."
 msgstr "  -a                      Экспорт всех принтеров."
 
@@ -1105,9 +1102,6 @@ msgstr "  -c cups-files.conf      Использовать заданный cups
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr "  -c cupsd.conf           Использовать заданный cupsd.conf"
 
-msgid "  -d domain               Browse/resolve in specified domain."
-msgstr "  -d domain               Просмотр в заданном домене."
-
 msgid "  -d name=value           Set named variable to value."
 msgstr "  -d name=value           Указанной переменной присваивается значение."
 
@@ -1206,9 +1200,6 @@ msgstr "  -p                      Печать URI при соответстви
 msgid "  -p filename.ppd         Set PPD file."
 msgstr "  -p filename.ppd         Задать PPD-файл."
 
-msgid "  -p program              Run specified program for each service."
-msgstr "  -p program              Запустить указанную программу."
-
 msgid "  -q                      Quietly report match via exit code."
 msgstr ""
 "  -q                      Кратко уведомлять о совпадении через код выхода."
@@ -1243,9 +1234,6 @@ msgstr "  -t key                  \"Истина\" если TXT запись с
 msgid "  -t title                Set title."
 msgstr "  -t title                Задать заголовок."
 
-msgid "  -t type                 Browse/resolve with specified type."
-msgstr "  -t type                 Просмотр/определение по указанному типу."
-
 msgid "  -u                      Remove the PPD file when finished."
 msgstr "  -u                      Удалить PPD-файл после завершения."
 
@@ -2184,6 +2172,18 @@ msgstr "2"
 msgid "2 inches/sec."
 msgstr "2 дюйма/с"
 
+msgid "2-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "2-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "2-Sided Printing"
 msgstr "двусторонняя печать"
 
@@ -2298,6 +2298,18 @@ msgstr "3 дюйма/с"
 msgid "3 x 5"
 msgstr ""
 
+msgid "3-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "3-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "3.00x1.00\""
 msgstr "3,00x1,00\""
 
@@ -2364,6 +2376,18 @@ msgstr "4"
 msgid "4 inches/sec."
 msgstr "4 дюйма/с"
 
+msgid "4-Hole Punch (Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Portrait)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "4-Hole Punch (Reverse Portrait)"
+msgstr ""
+
 msgid "4.00x1.00\""
 msgstr "4,00x1,00\""
 
@@ -2660,6 +2684,9 @@ msgstr "Принять задания"
 msgid "Accepted"
 msgstr "Принято"
 
+msgid "Accordian Fold"
+msgstr ""
+
 msgid "Add Class"
 msgstr "Добавить группу"
 
@@ -2675,6 +2702,12 @@ msgstr "Адрес"
 msgid "Administration"
 msgstr "Администрирование"
 
+msgid "Alternate"
+msgstr ""
+
+msgid "Alternate Roll"
+msgstr ""
+
 msgid "Always"
 msgstr "Всегда"
 
@@ -2700,6 +2733,9 @@ msgstr ""
 msgid "Attribute groups are out of order (%x < %x)."
 msgstr "Атрибут группы не в диапазоне (%x < %x)"
 
+msgid "Automatic"
+msgstr ""
+
 msgid "B0"
 msgstr "B0"
 
@@ -2883,19 +2919,46 @@ msgstr "Неверная строка значений"
 msgid "Bad/empty URI"
 msgstr "Неверный или пустой URI"
 
+msgid "Bale"
+msgstr ""
+
 msgid "Banners"
 msgstr "Баннеры"
 
+msgid "Bind"
+msgstr ""
+
+msgid "Bind (Landscape)"
+msgstr ""
+
+msgid "Bind (Portrait)"
+msgstr ""
+
+msgid "Bind (Reverse Landscape)"
+msgstr ""
+
+msgid "Bind (Reverse Portrait)"
+msgstr ""
+
 msgid "Bond Paper"
 msgstr "Документная бумага"
 
+msgid "Booklet Maker"
+msgstr ""
+
 #, c-format
 msgid "Boolean expected for waiteof option \"%s\"."
 msgstr "Параметр waiteof \"%s\" должен иметь двоичное значение"
 
+msgid "Bottom"
+msgstr ""
+
 msgid "Buffer overflow detected, aborting."
 msgstr "Обнаружено переполнение буфера, прерывание."
 
+msgid "CD/DVD/Bluray"
+msgstr ""
+
 msgid "CMYK"
 msgstr "CMYK"
 
@@ -2917,9 +2980,15 @@ msgstr ""
 msgid "Cannot share a remote Kerberized printer."
 msgstr ""
 
+msgid "Cardstock"
+msgstr ""
+
 msgid "Cassette"
 msgstr "Лоток"
 
+msgid "Center"
+msgstr ""
+
 msgid "Change Settings"
 msgstr "Изменить настройки"
 
@@ -2936,6 +3005,9 @@ msgstr "Очистить головки принтера"
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr "Close-Job не подерживает атрибут job-uri"
 
+msgid "Coat"
+msgstr ""
+
 msgid "Color"
 msgstr "Цвет"
 
@@ -2972,6 +3044,9 @@ msgstr "Контрольный файл успешно отправлен."
 msgid "Copying print data."
 msgstr "Копирование данных печати."
 
+msgid "Cover"
+msgstr ""
+
 msgid "Created"
 msgstr "Создано"
 
@@ -2987,6 +3062,9 @@ msgstr "CustominTearInterval"
 msgid "Cut"
 msgstr "Обрезать"
 
+msgid "Cut Media"
+msgstr ""
+
 msgid "Cutter"
 msgstr "Резак"
 
@@ -3048,10 +3126,31 @@ msgstr "Каталог \"%s\" доступ OK (0%o/uid=%d/gid=%d)."
 msgid "Disabled"
 msgstr "Отключено"
 
+msgid "Disc"
+msgstr ""
+
 #, c-format
 msgid "Document #%d does not exist in job #%d."
 msgstr "Документ #%d не существует в задании #%d."
 
+msgid "Double Gate Fold"
+msgstr ""
+
+msgid "Double Staple (Landscape)"
+msgstr ""
+
+msgid "Double Staple (Portrait)"
+msgstr ""
+
+msgid "Double Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Double Staple (Reverse Portrait)"
+msgstr ""
+
+msgid "Draft"
+msgstr ""
+
 msgid "Duplexer"
 msgstr "Дуплексер"
 
@@ -3089,6 +3188,9 @@ msgstr ""
 "получить доступ к этой странице. Если используется проверка подлинности "
 "Kerberos, необходимо также иметь действительный билет Kerberos."
 
+msgid "Envelope"
+msgstr ""
+
 msgid "Envelope #10"
 msgstr ""
 
@@ -3320,6 +3422,9 @@ msgstr ""
 msgid "Fanfold US"
 msgstr ""
 
+msgid "Fast Grayscale"
+msgstr ""
+
 #, c-format
 msgid "File \"%s\" contains a relative path."
 msgstr "Файл \"%s\" содержит относительный путь."
@@ -3355,12 +3460,21 @@ msgstr ""
 msgid "Finished page %d."
 msgstr "Последняя страница %d."
 
+msgid "Finishing"
+msgstr ""
+
+msgid "Fold"
+msgstr ""
+
 msgid "Folio"
 msgstr "Фолио"
 
 msgid "Forbidden"
 msgstr "Запрещено"
 
+msgid "Gate Fold"
+msgstr ""
+
 msgid "General"
 msgstr "Основные"
 
@@ -3373,6 +3487,9 @@ msgstr "Для Get-Response-PDU длина не установлена"
 msgid "Glossy Paper"
 msgstr "Глянцевая бумага"
 
+msgid "Glossy Photo"
+msgstr ""
+
 msgid "Got a printer-uri attribute but no job-id."
 msgstr "Получен атрибут printer-uri, но не job-id"
 
@@ -3382,6 +3499,15 @@ msgstr "Оттенки серого"
 msgid "HP"
 msgstr "HP"
 
+msgid "Hagaki"
+msgstr ""
+
+msgid "Half Fold"
+msgstr ""
+
+msgid "Half Z Fold"
+msgstr ""
+
 msgid "Hanging Folder"
 msgstr "Папка подвесного хранения"
 
@@ -3391,6 +3517,12 @@ msgstr ""
 msgid "Help file not in index."
 msgstr "Файл справки не проиндексирован."
 
+msgid "High"
+msgstr ""
+
+msgid "High-Gloss Photo"
+msgstr ""
+
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr "IPP атрибут 1setOf с недопустимым значением."
 
@@ -3626,15 +3758,24 @@ msgstr "Подписки на задание не могут быть обнов
 msgid "Jobs"
 msgstr "Задания"
 
+msgid "Jog"
+msgstr ""
+
 msgid "LPD/LPR Host or Printer"
 msgstr "Хост или принтер LPD/LPR"
 
+msgid "Label"
+msgstr ""
+
 msgid "Label Printer"
 msgstr "Принтер для печати этикеток"
 
 msgid "Label Top"
 msgstr "Верхний край этикетки"
 
+msgid "Laminate"
+msgstr ""
+
 #, c-format
 msgid "Language \"%s\" not supported."
 msgstr "Язык \"%s\" не поддерживается."
@@ -3642,15 +3783,30 @@ msgstr "Язык \"%s\" не поддерживается."
 msgid "Large Address"
 msgstr "Полный адрес"
 
+msgid "Large Capacity"
+msgstr ""
+
 msgid "LaserJet Series PCL 4/5"
 msgstr "Серия LaserJet, PCL 4/5"
 
+msgid "Left"
+msgstr ""
+
+msgid "Left Gate Fold"
+msgstr ""
+
+msgid "Letter Fold"
+msgstr ""
+
 msgid "Letter Oversize"
 msgstr ""
 
 msgid "Letter Oversize Long Edge"
 msgstr ""
 
+msgid "Letterhead"
+msgstr ""
+
 msgid "Light"
 msgstr "Светлый"
 
@@ -3672,9 +3828,21 @@ msgstr "По длинной стороне (книжная)"
 msgid "Looking for printer..."
 msgstr ""
 
+msgid "Main"
+msgstr ""
+
+msgid "Main Roll"
+msgstr ""
+
+msgid "Manual"
+msgstr ""
+
 msgid "Manual Feed"
 msgstr "Ручная подача"
 
+msgid "Matte Photo"
+msgstr ""
+
 msgid "Media Size"
 msgstr "Размер бумаги"
 
@@ -3693,6 +3861,9 @@ msgstr "Средний"
 msgid "Memory allocation error"
 msgstr "Ошибка выделения памяти"
 
+msgid "Middle"
+msgstr ""
+
 msgid "Missing CloseGroup"
 msgstr "Пропущен CloseGroup"
 
@@ -3786,6 +3957,9 @@ msgstr "Переместить задание"
 msgid "Moved Permanently"
 msgstr "Перемещено окончательно"
 
+msgid "Multipurpose"
+msgstr ""
+
 msgid "NULL PPD file pointer"
 msgstr "Указатель PPD-файла установлен на NULL"
 
@@ -3804,6 +3978,9 @@ msgstr "Нет"
 msgid "No Content"
 msgstr "Нет содержимого"
 
+msgid "No Finishing"
+msgstr ""
+
 msgid "No PPD name"
 msgstr "Нет имени PPD"
 
@@ -3971,6 +4148,9 @@ msgstr "Доп.устройства"
 msgid "Options:"
 msgstr "Параметры:"
 
+msgid "Other"
+msgstr ""
+
 msgid "Out of date PPD cache file."
 msgstr "Устаревший файл кеша PPD"
 
@@ -4031,6 +4211,9 @@ msgstr "Лоток с бумагой пуст."
 msgid "Paper tray is missing."
 msgstr "Лоток с бумагой отсутствует."
 
+msgid "Parallel Fold"
+msgstr ""
+
 msgid "ParamCustominCutInterval"
 msgstr "ParamCustominCutInterval"
 
@@ -4084,6 +4267,9 @@ msgstr "Открытка двойная Long Edge"
 msgid "Postcard Long Edge"
 msgstr "Открытка Long Edge"
 
+msgid "Poster Fold"
+msgstr ""
+
 msgid "Preparing to print."
 msgstr "Подготовка к печати."
 
@@ -4096,6 +4282,9 @@ msgstr "Задание печати:"
 msgid "Print Mode"
 msgstr "Режим печати"
 
+msgid "Print Quality"
+msgstr ""
+
 msgid "Print Rate"
 msgstr "Скорость печати"
 
@@ -4164,6 +4353,9 @@ msgstr "Принтеры"
 msgid "Printing page %d, %u%% complete."
 msgstr "Печать страницы %d, %u%% завершена."
 
+msgid "Punch"
+msgstr ""
+
 msgid "Quarto"
 msgstr "Кватро"
 
@@ -4174,6 +4366,9 @@ msgid "Rank    Owner   Job     File(s)                         Total Size"
 msgstr ""
 "Ранг    Владелец   Задание     Файл(ы)                     Общий размер"
 
+msgid "Rear"
+msgstr ""
+
 msgid "Reject Jobs"
 msgstr "Отклонить задания"
 
@@ -4206,6 +4401,42 @@ msgstr "Обратный адрес"
 msgid "Rewind"
 msgstr "Вернуться в начало"
 
+msgid "Right"
+msgstr ""
+
+msgid "Right Gate Fold"
+msgstr ""
+
+msgid "Roll 1"
+msgstr ""
+
+msgid "Roll 10"
+msgstr ""
+
+msgid "Roll 2"
+msgstr ""
+
+msgid "Roll 3"
+msgstr ""
+
+msgid "Roll 4"
+msgstr ""
+
+msgid "Roll 5"
+msgstr ""
+
+msgid "Roll 6"
+msgstr ""
+
+msgid "Roll 7"
+msgstr ""
+
+msgid "Roll 8"
+msgstr ""
+
+msgid "Roll 9"
+msgstr ""
+
 #, c-format
 msgid "Running command: %s %s -N -A %s -c '%s'"
 msgstr "Запущенная команда: %s %s -N -A %s -c '%s'"
@@ -4216,12 +4447,21 @@ msgstr "Для SEQUENCE длина не установлена"
 msgid "SSL/TLS Negotiation Error"
 msgstr "SSL/TLS Negotiation Error"
 
+msgid "Saddle Stitch"
+msgstr ""
+
+msgid "Satin Photo"
+msgstr ""
+
 msgid "See Other"
 msgstr "Посмотреть другие"
 
 msgid "See remote printer."
 msgstr ""
 
+msgid "Semi-Gloss Photo"
+msgstr ""
+
 msgid "Sending data to printer."
 msgstr "Отправка данных на принтер."
 
@@ -4264,6 +4504,33 @@ msgstr "Адрес доставки"
 msgid "Short-Edge (Landscape)"
 msgstr "По короткой стороне (альбомная)"
 
+msgid "Side"
+msgstr ""
+
+msgid "Single Punch (Landscape)"
+msgstr ""
+
+msgid "Single Punch (Portrait)"
+msgstr ""
+
+msgid "Single Punch (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Punch (Reverse Portrait)"
+msgstr ""
+
+msgid "Single Staple (Landscape)"
+msgstr ""
+
+msgid "Single Staple (Portrait)"
+msgstr ""
+
+msgid "Single Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Single Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "Special Paper"
 msgstr "Особая бумага"
 
@@ -4274,6 +4541,24 @@ msgstr "Постановка в очередь, %.0f%% завершено."
 msgid "Standard"
 msgstr "Стандартный"
 
+msgid "Staple"
+msgstr ""
+
+msgid "Staple Edge"
+msgstr ""
+
+msgid "Staple Edge (Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Portrait)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Landscape)"
+msgstr ""
+
+msgid "Staple Edge (Reverse Portrait)"
+msgstr ""
+
 #. TRANSLATORS: Banner/cover sheet before the print job.
 msgid "Starting Banner"
 msgstr "Стартовый баннер"
@@ -4509,6 +4794,9 @@ msgstr "Слишком много значений job-sheets (%d>2)"
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr "Слишком много значений printer-state-reasons (%d > %d)"
 
+msgid "Top"
+msgstr ""
+
 msgid "Transparency"
 msgstr "Прозрачность"
 
@@ -4518,15 +4806,75 @@ msgstr "Лоток"
 msgid "Tray 1"
 msgstr "Лоток 1"
 
+msgid "Tray 10"
+msgstr ""
+
+msgid "Tray 11"
+msgstr ""
+
+msgid "Tray 12"
+msgstr ""
+
+msgid "Tray 13"
+msgstr ""
+
+msgid "Tray 14"
+msgstr ""
+
+msgid "Tray 15"
+msgstr ""
+
+msgid "Tray 16"
+msgstr ""
+
+msgid "Tray 17"
+msgstr ""
+
+msgid "Tray 18"
+msgstr ""
+
+msgid "Tray 19"
+msgstr ""
+
 msgid "Tray 2"
 msgstr "Лоток 2"
 
+msgid "Tray 20"
+msgstr ""
+
 msgid "Tray 3"
 msgstr "Лоток 3"
 
 msgid "Tray 4"
 msgstr "Лоток 4"
 
+msgid "Tray 5"
+msgstr ""
+
+msgid "Tray 6"
+msgstr ""
+
+msgid "Tray 7"
+msgstr ""
+
+msgid "Tray 8"
+msgstr ""
+
+msgid "Tray 9"
+msgstr ""
+
+msgid "Triple Staple (Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Portrait)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Landscape)"
+msgstr ""
+
+msgid "Triple Staple (Reverse Portrait)"
+msgstr ""
+
 msgid "URI Too Long"
 msgstr "Слишком длинный адрес URI"
 
@@ -5020,18 +5368,6 @@ msgid ""
 "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
 msgstr ""
 
-msgid ""
-"Usage: ippdiscover [options] -a\n"
-"       ippdiscover [options] \"service name\"\n"
-"\n"
-"Options:"
-msgstr ""
-"Использование:\n"
-"       ippdiscover [options] -a\n"
-"       ippdiscover [options] \"service name\"\n"
-"\n"
-"Параметры:"
-
 msgid ""
 "Usage: ippfind [options] regtype[,subtype][.domain.] ... [expression]\n"
 "       ippfind [options] name[.regtype[.domain.]] ... [expression]\n"
@@ -5120,6 +5456,9 @@ msgstr ""
 "Вы должны получить доступ к этой странице с помощью URL <A HREF=«https://%s:"
 "%d%s»>https://%s:%d%s</A>."
 
+msgid "Z Fold"
+msgstr ""
+
 msgid "ZPL Label Printer"
 msgstr "Принтер для печати этикеток ZPL"
 
@@ -6041,6 +6380,18 @@ msgstr "Для variable-bindings длина не установлена"
 #~ "    Комментарий %%EndComments отсутствует.\n"
 #~ "        REF: Стр. 41, %%EndComments"
 
+#~ msgid "  -a                      Browse for all services."
+#~ msgstr "  -a                      Обзор всех сервисов."
+
+#~ msgid "  -d domain               Browse/resolve in specified domain."
+#~ msgstr "  -d domain               Просмотр в заданном домене."
+
+#~ msgid "  -p program              Run specified program for each service."
+#~ msgstr "  -p program              Запустить указанную программу."
+
+#~ msgid "  -t type                 Browse/resolve with specified type."
+#~ msgstr "  -t type                 Просмотр/определение по указанному типу."
+
 #~ msgid "File Folder "
 #~ msgstr "Каталог файла "
 
@@ -6059,6 +6410,18 @@ msgstr "Для variable-bindings длина не установлена"
 #~ msgid "Unable to copy interface script - %s"
 #~ msgstr "Не удается копировать скрипт интерфейса - %s"
 
+#~ msgid ""
+#~ "Usage: ippdiscover [options] -a\n"
+#~ "       ippdiscover [options] \"service name\"\n"
+#~ "\n"
+#~ "Options:"
+#~ msgstr ""
+#~ "Использование:\n"
+#~ "       ippdiscover [options] -a\n"
+#~ "       ippdiscover [options] \"service name\"\n"
+#~ "\n"
+#~ "Параметры:"
+
 #~ msgid "lpadmin: Expected PPD after \"-P\" option."
 #~ msgstr "lpadmin: После параметра '-P' должен быть указан PPD"
 
index 5b1d522ccddd397362ff7ac8d7d79acd02a6deac..03fe5fa4c046adcd9432e2caa233b937196536c4 100644 (file)
@@ -1,7 +1,7 @@
 .\"
 .\" client.conf man page for CUPS.
 .\"
-.\" Copyright 2007-2015 by Apple Inc.
+.\" Copyright 2007-2016 by Apple Inc.
 .\" Copyright 2006 by Easy Software Products.
 .\"
 .\" These coded instructions, statements, and computer programs are the
 .\" 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 client.conf 5 "CUPS" "19 May 2015" "Apple Inc."
+.TH client.conf 5 "CUPS" "18 May 2016" "Apple Inc."
 .SH NAME
-client.conf \- client configuration file for cups (deprecated)
+client.conf \- client configuration file for cups
 .SH DESCRIPTION
 The \fBclient.conf\fR file configures the CUPS client and is normally located in the \fI/etc/cups\fR and/or \fI~/.cups\fR directories.
 Each line in the file can be a configuration directive, a blank line, or a comment. Comment lines start with the # character.
 .LP
 \fBNote:\fR Starting with OS X 10.7, this file is only used by command-line and X11 applications plus the IPP backend.
 The \fBServerName\fR directive is not supported on OS X at all.
+Starting with OS X 10.TODO, all applications can access these settings in the \fI/Library/Preferences/org.cups.PrintingPrefs.plist\fR file instead.
+See the NOTES section below for more information.
 .SS DIRECTIVES
 The following directives are understood by the client. Consult the online help for detailed descriptions:
 .TP 5
@@ -32,7 +34,7 @@ The default is "Yes".
 .TP 5
 \fBAllowExpiredCerts No\fR
 Specifies whether to allow TLS with expired certificates.
-The default is "Yes".
+The default is "No".
 .TP 5
 \fBEncryption IfRequested\fR
 .TP 5
@@ -64,6 +66,12 @@ The \fIAllowRC4\fR option enables the 128-bit RC4 cipher suites, which are requi
 The \fIAllowSSL3\fR option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0.
 The \fIDenyTLS1.0\fR option disables TLS v1.0 support - this sets the minimum protocol version to TLS v1.1.
 .TP 5
+\fBTrustOnFirstUse Yes\fR
+.TP 5
+\fBTrustOnFirstUse No\fR
+Specifies whether to trust new TLS certificates by default.
+The default is "Yes".
+.TP 5
 \fBUser \fIname\fR
 Specifies the default user name to use for requests.
 .TP 5
@@ -73,9 +81,20 @@ Specifies the default user name to use for requests.
 Specifies whether to only allow TLS with certificates whose common name matches the hostname.
 The default is "No".
 .SH NOTES
-The \fBclient.conf\fR file is deprecated and will no longer be supported in a future version of CUPS.
+The \fBclient.conf\fR file is deprecated on OS X and will no longer be supported in a future version of CUPS.
+Configuration settings can instead be viewed or changed using the
+.BR defaults (1)
+command:
+.nf
+defaults write /Library/Preferences/org.cups.PrintingPrefs.plist Encryption Required
+defaults write /Library/Preferences/org.cups.PrintingPrefs.plist TrustOnFirstUse -bool NO
+
+defaults read /Library/Preferences/org.cups.PrintingPrefs.plist Encryption
+.fi
+On Linux and other systems using GNU TLS, the \fI/etc/cups/ssl/site.crl\fR file, if present, provides a list of revoked X.509 certificates and is used when validating certificates.
 .SH SEE ALSO
 .BR cups (1),
+.BR default (1),
 CUPS Online Help (http://localhost:631/help)
 .SH COPYRIGHT
-Copyright \[co] 2007-2015 by Apple Inc.
+Copyright \[co] 2007-2016 by Apple Inc.
index 4892b37cbabe8b6d8fea2e54082cb4819da4a003..03b10e5e20067cfcb613430b5a0791729bedb2c3 100644 (file)
@@ -1,7 +1,7 @@
 .\"
 .\" lp man page for CUPS.
 .\"
-.\" Copyright 2007-2014 by Apple Inc.
+.\" Copyright 2007-2016 by Apple Inc.
 .\" Copyright 1997-2006 by Easy Software Products.
 .\"
 .\" These coded instructions, statements, and computer programs are the
@@ -10,7 +10,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 lp 1 "CUPS" "11 June 2014" "Apple Inc."
+.TH lp 1 "CUPS" "2 May 2016" "Apple Inc."
 .SH NAME
 lp \- print files
 .SH SYNOPSIS
@@ -127,6 +127,7 @@ Sets the number of copies to print.
 .TP 5
 \fB\-o "\fIname\fB=\fIvalue \fR[ ... \fIname\fB=\fIvalue \fR]\fB"\fR
 Sets one or more job options.
+See "COMMON JOB OPTIONS" below.
 .TP 5
 \fB\-q \fIpriority\fR
 Sets the job priority from 1 (lowest) to 100 (highest).
@@ -161,11 +162,64 @@ Aside from the printer-specific options reported by the
 .BR lpoptions (1)
 command, the following generic options are available:
 .TP 5
+\fB\-o collate=true\fR
+Prints collated copies.
+.TP 5
+\fB\-o fit\-to\-page\fR
+Scales the print file to fit on the page.
+.TP 5
+\fB\-o job-hold-until=\fIwhen\fR
+Holds the job until the specified local time.
+"when" can be "indefinite" to hold the until released, "day-time" to print the job between 6am and 6pm local time, "night" to print the job between 6pm and 6am local time, "second-shift" to print the job between 4pm and 12am local time, "third-shift" to print the job between 12am and 8am local time, or "weekend" to print the job on Saturday or Sunday.
+.TP 5
+\fB\-o job-hold-until=\fIhh:mm\fR
+Holds the job until the specified time in hours and minutes UTC.
+.TP 5
+\fB\-o job-priority=\fIpriority\fR
+Set the priority to a value from 1 (lowest) to 100 (highest), which influences when a job is scheduled for printing.
+The default priority is typically 50.
+.TP 5
+\fB\-o job-sheets=\fIname\fR\fR
+Prints a cover page (banner) with the document.
+The "name" can be "classified", "confidential", "secret", "standard", "topsecret", or "unclassified".
+.TP 5
+\fB\-o job-sheets=\fIstart-name,end-name\fR\fR
+Prints cover pages (banners) with the document.
+.TP 5
 \fB\-o media=\fIsize\fR
 Sets the page size to \fIsize\fR. Most printers support at least the size names "a4", "letter", and "legal".
 .TP 5
+\fB\-o mirror\fR
+Mirrors each page.
+.TP 5
+\fB\-o number\-up=\fR{\fI2|4|6|9|16\fR}
+Prints 2, 4, 6, 9, or 16 document (input) pages on each output page.
+.TP 5
+\fB\-o number\-up\-layout=\fIlayout\fR
+Specifies the layout of pages with the "number-up" option.
+The "layout" string can be "btlr", "btrl", "lrbt", "lrtb", "rlbt", "rltb", "tblr", or "tbrl" - the first two letters determine the column order while the second two letters determine the row order.
+"bt" is bottom-to-top, "lr" is left-to-right, "rl" is right-to-left, and "tb" is top-to-bottom.
+.TP 5
 \fB\-o orientation\-requested=4\fR
-Prints the job in landscape (rotated 90 degrees).
+Prints the job in landscape (rotated 90 degrees counter-clockwise).
+.TP 5
+\fB\-o orientation\-requested=5\fR
+Prints the job in landscape (rotated 90 degrees clockwise).
+.TP 5
+\fB\-o orientation\-requested=6\fR
+Prints the job in reverse portrait (rotated 180 degrees).
+.TP 5
+\fB\-o outputorder=reverse\fR
+Prints pages in reverse order.
+.TP 5
+\fB\-o page\-border=\fIborder\fR
+Prints a border around each document page.
+"border" is "double", "double\-thick", "single", or "single\-thick".
+.TP 5
+\fB\-o page\-ranges=\fIpage-list\fR
+Specifies which pages to print in the document.
+The list can contain a list of numbers and ranges (#-#) separated by commas, e.g., "1,3-5,16".
+The page numbers refer to the output pages and not the document's original pages - options like "number-up" can affect the numbering of the pages.
 .TP 5
 \fB\-o sides=one\-sided\fR
 Prints on one side of the paper.
@@ -175,12 +229,6 @@ Prints on both sides of the paper for portrait output.
 .TP 5
 \fB\-o sides=two\-sided\-short\-edge\fR
 Prints on both sides of the paper for landscape output.
-.TP 5
-\fB\-o fit\-to\-page\fR
-Scales the print file to fit on the page.
-.TP 5
-\fB\-o number\-up=\fR{\fI2|4|6|9|16\fR}
-Prints 2, 4, 6, 9, or 16 document (input) pages on each output page.
 .SH CONFORMING TO
 Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#".
 Also, printer and class names are \fInot\fR case-sensitive.
@@ -214,4 +262,4 @@ Print a presentation document 2-up to a printer called "foo":
 .BR lpstat (1),
 CUPS Online Help (http://localhost:631/help)
 .SH COPYRIGHT
-Copyright \[co] 2007-2015 by Apple Inc.
+Copyright \[co] 2007-2016 by Apple Inc.
index d77a8e0c391fdd35736d47970a02cd9b7bea4962..929c35fbd5cbb928c64cbb667c17a561b427433e 100644 (file)
@@ -18,9 +18,6 @@ lpinfo \- show available devices or drivers
 [
 .B \-E
 ] [
-.B \-U
-.I username
-] [
 \fB\-h \fIserver\fR[\fB:\fIport\fR]
 ] [
 .B \-l
@@ -49,9 +46,6 @@ lpinfo \- show available devices or drivers
 [
 .B \-E
 ] [
-.B \-U
-.I username
-] [
 \fB\-h \fIserver\fR[\fB:\fIport\fR]
 ] [
 .B \-l
@@ -75,9 +69,6 @@ The first form (\fI-m\fR) lists the available drivers, while the second form (\f
 .B \-E
 Forces encryption when connecting to the server.
 .TP 5
-\fB\-U \fIusername\fR
-Sets the username to use when connecting to the server.
-.TP 5
 \fB\-h \fIserver\fR[\fB:\fIport\fR]
 Selects an alternate server.
 .TP 5
index 8faad49ef8407699b7a068d8193b23495b331f8e..553d0592d44e9fce94a94696a053b31566897e9e 100644 (file)
@@ -1,7 +1,7 @@
 .\"
 .\" lpr man page for CUPS.
 .\"
-.\" Copyright 2007-2013 by Apple Inc.
+.\" Copyright 2007-2016 by Apple Inc.
 .\" Copyright 1997-2006 by Easy Software Products.
 .\"
 .\" These coded instructions, statements, and computer programs are the
@@ -10,7 +10,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 lpr 1 "CUPS" "11 June 2014" "Apple Inc."
+.TH lpr 1 "CUPS" "2 May 2016" "Apple Inc."
 .SH NAME
 lpr \- print files
 .SH SYNOPSIS
@@ -101,6 +101,7 @@ Send an email on job completion.
 .TP 5
 \fB\-o \fIoption\fR[\fB=\fIvalue\fR]
 Sets a job option.
+See "COMMON JOB OPTIONS" below.
 .TP 5
 .B \-p
 Specifies that the print file should be formatted with a shaded header with the date, time, job name, and page number.
@@ -111,6 +112,78 @@ Hold job for printing.
 .TP 5
 .B \-r
 Specifies that the named print files should be deleted after submitting them.
+.SS COMMON JOB OPTIONS
+Aside from the printer-specific options reported by the
+.BR lpoptions (1)
+command, the following generic options are available:
+.TP 5
+\fB\-o collate=true\fR
+Prints collated copies.
+.TP 5
+\fB\-o fit\-to\-page\fR
+Scales the print file to fit on the page.
+.TP 5
+\fB\-o job-hold-until=\fIwhen\fR
+Holds the job until the specified local time.
+"when" can be "indefinite" to hold the until released, "day-time" to print the job between 6am and 6pm local time, "night" to print the job between 6pm and 6am local time, "second-shift" to print the job between 4pm and 12am local time, "third-shift" to print the job between 12am and 8am local time, or "weekend" to print the job on Saturday or Sunday.
+.TP 5
+\fB\-o job-hold-until=\fIhh:mm\fR
+Holds the job until the specified time in hours and minutes UTC.
+.TP 5
+\fB\-o job-priority=\fIpriority\fR
+Set the priority to a value from 1 (lowest) to 100 (highest), which influences when a job is scheduled for printing.
+The default priority is typically 50.
+.TP 5
+\fB\-o job-sheets=\fIname\fR\fR
+Prints a cover page (banner) with the document.
+The "name" can be "classified", "confidential", "secret", "standard", "topsecret", or "unclassified".
+.TP 5
+\fB\-o job-sheets=\fIstart-name,end-name\fR\fR
+Prints cover pages (banners) with the document.
+.TP 5
+\fB\-o media=\fIsize\fR
+Sets the page size to \fIsize\fR. Most printers support at least the size names "a4", "letter", and "legal".
+.TP 5
+\fB\-o mirror\fR
+Mirrors each page.
+.TP 5
+\fB\-o number\-up=\fR{\fI2|4|6|9|16\fR}
+Prints 2, 4, 6, 9, or 16 document (input) pages on each output page.
+.TP 5
+\fB\-o number\-up\-layout=\fIlayout\fR
+Specifies the layout of pages with the "number-up" option.
+The "layout" string can be "btlr", "btrl", "lrbt", "lrtb", "rlbt", "rltb", "tblr", or "tbrl" - the first two letters determine the column order while the second two letters determine the row order.
+"bt" is bottom-to-top, "lr" is left-to-right, "rl" is right-to-left, and "tb" is top-to-bottom.
+.TP 5
+\fB\-o orientation\-requested=4\fR
+Prints the job in landscape (rotated 90 degrees counter-clockwise).
+.TP 5
+\fB\-o orientation\-requested=5\fR
+Prints the job in landscape (rotated 90 degrees clockwise).
+.TP 5
+\fB\-o orientation\-requested=6\fR
+Prints the job in reverse portrait (rotated 180 degrees).
+.TP 5
+\fB\-o outputorder=reverse\fR
+Prints pages in reverse order.
+.TP 5
+\fB\-o page\-border=\fIborder\fR
+Prints a border around each document page.
+"border" is "double", "double\-thick", "single", or "single\-thick".
+.TP 5
+\fB\-o page\-ranges=\fIpage-list\fR
+Specifies which pages to print in the document.
+The list can contain a list of numbers and ranges (#-#) separated by commas, e.g., "1,3-5,16".
+The page numbers refer to the output pages and not the document's original pages - options like "number-up" can affect the numbering of the pages.
+.TP 5
+\fB\-o sides=one\-sided\fR
+Prints on one side of the paper.
+.TP 5
+\fB\-o sides=two\-sided\-long\-edge\fR
+Prints on both sides of the paper for portrait output.
+.TP 5
+\fB\-o sides=two\-sided\-short\-edge\fR
+Prints on both sides of the paper for landscape output.
 .SH NOTES
 The \fI\-c\fR, \fI\-d\fR, \fI\-f\fR, \fI\-g\fR, \fI\-i\fR, \fI\-n\fR, \fI\-t\fR, \fI\-v\fR, and \fI\-w\fR options are not supported by CUPS and produce a warning message if used.
 .SH EXAMPLES
@@ -141,4 +214,4 @@ Print a presentation document 2-up to a printer called "foo":
 .BR lpstat (1),
 CUPS Online Help (http://localhost:631/help)
 .SH COPYRIGHT
-Copyright \[co] 2007-2015 by Apple Inc.
+Copyright \[co] 2007-2016 by Apple Inc.
index 4a0ece175b17eb70c575a2ae88a8a4a518eadf32..9ffc06a5b573876ec7d501fcb0539474873625fd 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Authorization routines for the CUPS scheduler.
  *
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * This file contains Kerberos support code, copyright 2006 by
@@ -1176,6 +1176,21 @@ cupsdCheckGroup(
     * Group exists, check it...
     */
 
+#ifdef HAVE_GETGROUPLIST
+    if (user)
+    {
+      int      ngroups,                /* Number of groups */
+               groups[2048];           /* Groups that user belongs to */
+
+      ngroups = (int)(sizeof(groups) / sizeof(groups[0]));
+      getgrouplist(username, (int)user->pw_gid, groups, &ngroups);
+
+      for (i = 0; i < ngroups; i ++)
+        if ((int)group->gr_gid == groups[i])
+         return (1);
+    }
+#endif /* HAVE_GETGROUPLIST */
+
     for (i = 0; group->gr_mem[i]; i ++)
       if (!_cups_strcasecmp(username, group->gr_mem[i]))
        return (1);
index cc6e70eabb8ffc312da9329af43ac3eec60e7211..75e127979e0cda41d9aa0472a0cdfa6aa08dd367 100644 (file)
@@ -1694,7 +1694,24 @@ add_job(cupsd_client_t  *con,            /* I - Client connection */
     attr = ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_KEYWORD,
                         "job-hold-until", NULL, val);
   }
-  if (attr && strcmp(attr->values[0].string.text, "no-hold"))
+
+  if (printer->holding_new_jobs)
+  {
+   /*
+    * Hold all new jobs on this printer...
+    */
+
+    if (attr && strcmp(attr->values[0].string.text, "no-hold"))
+      cupsdSetJobHoldUntil(job, ippGetString(attr, 0, NULL), 0);
+    else
+      cupsdSetJobHoldUntil(job, "indefinite", 0);
+
+    job->state->values[0].integer = IPP_JOB_HELD;
+    job->state_value              = IPP_JOB_HELD;
+
+    ippSetString(job->attrs, &job->reasons, 0, "job-held-on-create");
+  }
+  else if (attr && strcmp(attr->values[0].string.text, "no-hold"))
   {
    /*
     * Hold job until specified time...
@@ -6399,10 +6416,9 @@ get_jobs(cupsd_client_t  *con,           /* I - Client connection */
   ipp_jstate_t job_state;              /* job-state value */
   int          first_job_id = 1,       /* First job ID */
                first_index = 1,        /* First index */
-               current_index = 0;      /* Current index */
-  int          limit = 0;              /* Maximum number of jobs to return */
-  int          count;                  /* Number of jobs that match */
-  int          need_load_job = 0;      /* Do we need to load the job? */
+               limit = 0,              /* Maximum number of jobs to return */
+               count,                  /* Number of jobs that match */
+               need_load_job = 0;      /* Do we need to load the job? */
   const char   *job_attr;              /* Job attribute requested */
   ipp_attribute_t *job_ids;            /* job-ids attribute */
   cupsd_job_t  *job;                   /* Current job pointer */
@@ -6710,9 +6726,12 @@ get_jobs(cupsd_client_t  *con,           /* I - Client connection */
   }
   else
   {
-    for (count = 0, job = (cupsd_job_t *)cupsArrayFirst(list);
-        (limit <= 0 || count < limit) && job;
-        job = (cupsd_job_t *)cupsArrayNext(list))
+    if (first_index > 1)
+      job = (cupsd_job_t *)cupsArrayIndex(list, first_index - 1);
+    else
+      job = (cupsd_job_t *)cupsArrayFirst(list);
+
+    for (count = 0; (limit <= 0 || count < limit) && job; job = (cupsd_job_t *)cupsArrayNext(list))
     {
      /*
       * Filter out jobs that don't match...
@@ -6744,10 +6763,6 @@ get_jobs(cupsd_client_t  *con,           /* I - Client connection */
       if (job->id < first_job_id)
        continue;
 
-      current_index ++;
-      if (current_index < first_index)
-        continue;
-
       if (need_load_job && !job->attrs)
       {
         cupsdLoadJob(job);
@@ -8888,6 +8903,8 @@ release_held_new_jobs(
                     "Printer \"%s\" now printing pending/new jobs (\"%s\").",
                     printer->name, get_username(con));
 
+  cupsdCheckJobs();
+
  /*
   * Everything was ok, so return OK status...
   */
index 784490e089c934aa320a77c73cf37d2c4181e5d3..11412face92b626ee36049640211bbd706eaf08c 100644 (file)
@@ -227,6 +227,7 @@ cupsdCheckJobs(void)
                        *pclass;        /* Printer class destination */
   ipp_attribute_t      *attr;          /* Job attribute */
   time_t               curtime;        /* Current time */
+  const char           *reasons;       /* job-state-reasons value */
 
 
   curtime = time(NULL);
@@ -320,6 +321,25 @@ cupsdCheckJobs(void)
        ((FilterLevel + job->pending_cost) < FilterLimit || FilterLevel == 0))
       cupsdContinueJob(job);
 
+   /*
+    * Skip jobs that where held-on-create
+    */
+
+    reasons = ippGetString(job->reasons, 0, NULL);
+    if (reasons && !strcmp(reasons, "job-held-on-create"))
+    {
+     /*
+      * Check whether the printer is still holding new jobs...
+      */
+
+      printer = cupsdFindDest(job->dest);
+
+      if (printer->holding_new_jobs)
+        continue;
+
+      ippSetString(job->attrs, &job->reasons, 0, "none");
+    }
+
    /*
     * Start pending jobs if the destination is available...
     */
@@ -357,7 +377,7 @@ cupsdCheckJobs(void)
                         "Job aborted because the destination printer/class "
                         "has gone away.");
       }
-      else if (printer && !printer->holding_new_jobs)
+      else if (printer)
       {
        /*
         * See if the printer is available or remote and not printing a job;
@@ -367,16 +387,14 @@ cupsdCheckJobs(void)
         if (pclass)
        {
         /*
-         * Add/update a job-actual-printer-uri attribute for this job
+         * Add/update a job-printer-uri-actual attribute for this job
          * so that we know which printer actually printed the job...
          */
 
-          if ((attr = ippFindAttribute(job->attrs, "job-actual-printer-uri",
-                                      IPP_TAG_URI)) != NULL)
+          if ((attr = ippFindAttribute(job->attrs, "job-printer-uri-actual", IPP_TAG_URI)) != NULL)
             ippSetString(job->attrs, &attr, 0, printer->uri);
          else
-           ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_URI,
-                        "job-actual-printer-uri", NULL, printer->uri);
+           ippAddString(job->attrs, IPP_TAG_JOB, IPP_TAG_URI, "job-printer-uri-actual", NULL, printer->uri);
 
           job->dirty = 1;
           cupsdMarkDirty(CUPSD_DIRTY_JOBS);
@@ -730,8 +748,8 @@ cupsdContinueJob(cupsd_job_t *job)  /* I - Job */
   * Add decompression/raw filter as needed...
   */
 
-  if (job->compressions[job->current_file] &&
-      (!job->printer->remote || job->num_files == 1))
+  if ((job->compressions[job->current_file] && (!job->printer->remote || job->num_files == 1)) ||
+      (!job->printer->remote && job->printer->raw && job->num_files > 1))
   {
    /*
     * Add gziptoany filter to the front of the list...
@@ -5165,7 +5183,7 @@ update_job(cupsd_job_t *job)              /* I - Job to check */
         ptr = message;
 
       if (*ptr)
-        cupsdLogJob(job, loglevel, "%s", ptr);
+        cupsdLogJob(job, loglevel == CUPSD_LOG_INFO ? CUPSD_LOG_DEBUG : loglevel, "%s", ptr);
 
       if (loglevel < CUPSD_LOG_DEBUG &&
           strcmp(job->printer->state_message, ptr))
index 44a1b67886fe481e01f8b8f379ff9e4b96cd43b2..0a135a7a286086fc288a3a1bbf51742defe5c23d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Log file routines for the CUPS scheduler.
  *
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  * These coded instructions, statements, and computer programs are the
@@ -582,9 +582,7 @@ cupsdLogJob(cupsd_job_t *job,               /* I - Job */
   if (TestConfigFile || !ErrorLog)
     return (1);
 
-  if ((level > LogLevel ||
-       (level == CUPSD_LOG_INFO && LogLevel < CUPSD_LOG_DEBUG)) &&
-      LogDebugHistory <= 0)
+  if (level > LogLevel && LogDebugHistory <= 0)
     return (1);
 
 #ifdef HAVE_ASL_H
@@ -700,10 +698,7 @@ cupsdLogJob(cupsd_job_t *job,              /* I - Job */
 
   if (status > 0)
   {
-    if (job &&
-        (level > LogLevel ||
-         (level == CUPSD_LOG_INFO && LogLevel < CUPSD_LOG_DEBUG)) &&
-       LogDebugHistory > 0)
+    if (job && level > LogLevel && LogDebugHistory > 0)
     {
      /*
       * Add message to the job history...
@@ -742,8 +737,7 @@ cupsdLogJob(cupsd_job_t *job,               /* I - Job */
 
       return (1);
     }
-    else if (level <= LogLevel &&
-             (level != CUPSD_LOG_INFO || LogLevel >= CUPSD_LOG_DEBUG))
+    else if (level <= LogLevel)
       return (cupsdWriteErrorLog(level, log_line));
     else
       return (1);
index 62f846c5293e87f9cf0d972c0200295ed7babdd1..7aa7bd8f24cfc35c7096bcff3da742fc4ef54f77 100644 (file)
@@ -3809,6 +3809,12 @@ load_ppd(cupsd_printer_t *p)             /* I - Printer */
                margins[16];            /* media-*-margin-supported values */
   const char   *filter,                /* Current filter */
                *mandatory;             /* Current mandatory attribute */
+  static const char * const pwg_raster_document_types[] =
+               {
+                 "black_1",
+                 "sgray_8",
+                 "srgb_8"
+               };
   static const char * const sides[3] = /* sides-supported values */
                {
                  "one-sided",
@@ -4413,6 +4419,7 @@ load_ppd(cupsd_printer_t *p)              /* I - Printer */
                     "print-color-mode-supported", 2, NULL, color_modes);
       ippAddString(p->ppd_attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
                    "print-color-mode-default", NULL, "color");
+      ippAddStrings(p->ppd_attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD, "pwg-raster-document-type-supported", 3, NULL, pwg_raster_document_types);
     }
     else
     {
@@ -4420,6 +4427,7 @@ load_ppd(cupsd_printer_t *p)              /* I - Printer */
                    "print-color-mode-supported", NULL, "monochrome");
       ippAddString(p->ppd_attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
                    "print-color-mode-default", NULL, "monochrome");
+      ippAddStrings(p->ppd_attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD, "pwg-raster-document-type-supported", 2, NULL, pwg_raster_document_types);
     }
 
    /*
@@ -4457,10 +4465,7 @@ load_ppd(cupsd_printer_t *p)             /* I - Printer */
       * Report all supported resolutions...
       */
 
-      attr = ippAddResolutions(p->ppd_attrs, IPP_TAG_PRINTER,
-                               "printer-resolution-supported",
-                               resolution->num_choices, IPP_RES_PER_INCH,
-                              NULL, NULL);
+      attr = ippAddResolutions(p->ppd_attrs, IPP_TAG_PRINTER, "printer-resolution-supported", resolution->num_choices, IPP_RES_PER_INCH, NULL, NULL);
 
       for (i = 0, choice = resolution->choices;
            i < resolution->num_choices;
@@ -4483,9 +4488,10 @@ load_ppd(cupsd_printer_t *p)             /* I - Printer */
         attr->values[i].resolution.units = IPP_RES_PER_INCH;
 
         if (choice->marked)
-         ippAddResolution(p->ppd_attrs, IPP_TAG_PRINTER,
-                          "printer-resolution-default", IPP_RES_PER_INCH,
-                          xdpi, ydpi);
+         ippAddResolution(p->ppd_attrs, IPP_TAG_PRINTER, "printer-resolution-default", IPP_RES_PER_INCH, xdpi, ydpi);
+
+        if (i == 0)
+         ippAddResolution(p->ppd_attrs, IPP_TAG_PRINTER, "pwg-raster-document-resolution-supported", IPP_RES_PER_INCH, xdpi, ydpi);
       }
     }
     else if ((ppd_attr = ppdFindAttr(ppd, "DefaultResolution", NULL)) != NULL &&
@@ -4518,6 +4524,7 @@ load_ppd(cupsd_printer_t *p)              /* I - Printer */
       ippAddResolution(p->ppd_attrs, IPP_TAG_PRINTER,
                       "printer-resolution-supported", IPP_RES_PER_INCH,
                       xdpi, ydpi);
+      ippAddResolution(p->ppd_attrs, IPP_TAG_PRINTER, "pwg-raster-document-resolution-supported", IPP_RES_PER_INCH, xdpi, ydpi);
     }
     else
     {
@@ -4531,6 +4538,7 @@ load_ppd(cupsd_printer_t *p)              /* I - Printer */
       ippAddResolution(p->ppd_attrs, IPP_TAG_PRINTER,
                       "printer-resolution-supported", IPP_RES_PER_INCH,
                       300, 300);
+      ippAddResolution(p->ppd_attrs, IPP_TAG_PRINTER, "pwg-raster-document-resolution-supported", IPP_RES_PER_INCH, 300, 300);
     }
 
    /*
@@ -4550,6 +4558,8 @@ load_ppd(cupsd_printer_t *p)              /* I - Printer */
     {
       p->type |= CUPS_PRINTER_DUPLEX;
 
+      ippAddString(p->ppd_attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD, "pwg-raster-document-sheet-back", NULL, "normal");
+
       ippAddStrings(p->ppd_attrs, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
                    "sides-supported", 3, NULL, sides);
 
index 7540d0ba8eecac9231377beaea6508a489027e2a..e72822abfcc68170eb85c919d90b92c2dcdc9bec 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "cancel" command for CUPS.
  *
- * Copyright 2007-2013 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -31,7 +31,8 @@ main(int  argc,                               /* I - Number of command-line arguments */
   int          job_id;                 /* Job ID */
   int          num_dests;              /* Number of destinations */
   cups_dest_t  *dests;                 /* Destinations */
-  char         *dest,                  /* Destination printer */
+  char         *opt,                   /* Option pointer */
+               *dest,                  /* Destination printer */
                *job,                   /* Job ID pointer */
                *user;                  /* Cancel jobs for a user */
   int          purge;                  /* Purge or cancel jobs? */
@@ -61,102 +62,106 @@ main(int  argc,                           /* I - Number of command-line arguments */
   */
 
   for (i = 1; i < argc; i ++)
+  {
     if (argv[i][0] == '-' && argv[i][1])
     {
-      switch (argv[i][1])
+      for (opt = argv[i] + 1; *opt; opt ++)
       {
-        case 'E' : /* Encrypt */
+       switch (*opt)
+       {
+         case 'E' : /* Encrypt */
 #ifdef HAVE_SSL
-           cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
+             cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 
-           if (http)
-             httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
+             if (http)
+               httpEncryption(http, HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support."), argv[0]);
+             _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
 #endif /* HAVE_SSL */
-           break;
-
-        case 'U' : /* Username */
-           if (argv[i][2] != '\0')
-             cupsSetUser(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
+             break;
+
+         case 'U' : /* Username */
+             if (opt[1] != '\0')
+             {
+               cupsSetUser(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected username after "
-                                 "\"-U\" option."), argv[0]);
-               return (1);
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), argv[0]);
+                 return (1);
+               }
+
+               cupsSetUser(argv[i]);
              }
+             break;
 
-              cupsSetUser(argv[i]);
-           }
-           break;
+         case 'a' : /* Cancel all jobs */
+             op = purge ? IPP_PURGE_JOBS : IPP_CANCEL_JOBS;
+             break;
 
-        case 'a' : /* Cancel all jobs */
-           op = purge ? IPP_PURGE_JOBS : IPP_CANCEL_JOBS;
-           break;
+         case 'h' : /* Connect to host */
+             if (http != NULL)
+             {
+               httpClose(http);
+               http = NULL;
+             }
 
-        case 'h' : /* Connect to host */
-           if (http != NULL)
-           {
-             httpClose(http);
-             http = NULL;
-           }
+             if (opt[1] != '\0')
+             {
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected hostname after \"-h\" option."), argv[0]);
+                 return (1);
+               }
+               else
+                 cupsSetServer(argv[i]);
+             }
+             break;
 
-           if (argv[i][2] != '\0')
-              cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
+         case 'u' : /* Username */
+             op = IPP_CANCEL_MY_JOBS;
 
-             if (i >= argc)
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected hostname after "
-                                 "\"-h\" option."), argv[0]);
-               return (1);
-              }
+               user = opt + 1;
+               opt += strlen(opt) - 1;
+             }
              else
-                cupsSetServer(argv[i]);
-           }
-           break;
+             {
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected username after \"-u\" option."), argv[0]);
+                 return (1);
+               }
+               else
+                 user = argv[i];
+             }
+             break;
 
-        case 'u' : /* Username */
-           op = IPP_CANCEL_MY_JOBS;
+         case 'x' : /* Purge job(s) */
+             purge = 1;
 
-           if (argv[i][2] != '\0')
-             user = argv[i] + 2;
-           else
-           {
-             i ++;
+             if (op == IPP_CANCEL_JOBS)
+               op = IPP_PURGE_JOBS;
+             break;
 
-             if (i >= argc)
-             {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected username after "
-                                 "\"-u\" option."), argv[0]);
-               return (1);
-              }
-             else
-               user = argv[i];
-           }
-           break;
-
-        case 'x' : /* Purge job(s) */
-           purge = 1;
-
-           if (op == IPP_CANCEL_JOBS)
-             op = IPP_PURGE_JOBS;
-           break;
-
-       default :
-           _cupsLangPrintf(stderr,
-                           _("%s: Error - unknown option \"%c\"."),
-                           argv[0], argv[i][1]);
-           return (1);
+         default :
+             _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."), argv[0], *opt);
+             return (1);
+       }
       }
     }
     else
@@ -308,6 +313,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
       ippDelete(response);
     }
+  }
 
   if (num_dests == 0 && op != IPP_CANCEL_JOB)
   {
index 38dff283d91f718b3c600190d76679c423f20f0d..27f379df3fddc1be0bccf71d3407ec5b18627b27 100644 (file)
@@ -2,7 +2,7 @@
  * "cupsaccept", "cupsdisable", "cupsenable", and "cupsreject" commands for
  * CUPS.
  *
- * Copyright 2007-2010 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -29,6 +29,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
 {
   int          i;                      /* Looping var */
   char         *command,               /* Command to do */
+               *opt,                   /* Option pointer */
                uri[1024],              /* Printer URI */
                *reason;                /* Reason for reject/disable */
   ipp_t                *request;               /* IPP request */
@@ -70,94 +71,90 @@ main(int  argc,                             /* I - Number of command-line arguments */
   */
 
   for (i = 1; i < argc; i ++)
-    if (argv[i][0] == '-')
+  {
+    if (!strcmp(argv[i], "--hold"))
+      op = IPP_HOLD_NEW_JOBS;
+    else if (!strcmp(argv[i], "--release"))
+      op = IPP_RELEASE_HELD_NEW_JOBS;
+    else if (argv[i][0] == '-')
     {
-      switch (argv[i][1])
+      for (opt = argv[i] + 1; *opt; opt ++)
       {
-        case 'E' : /* Encrypt */
-#ifdef HAVE_SSL
-           cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
-#else
-            _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support."), command);
-#endif /* HAVE_SSL */
-           break;
-
-        case 'U' : /* Username */
-           if (argv[i][2] != '\0')
-             cupsSetUser(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
+       switch (*opt)
+       {
+         case 'E' : /* Encrypt */
+  #ifdef HAVE_SSL
+             cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
+  #else
+             _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), command);
+  #endif /* HAVE_SSL */
+             break;
+
+         case 'U' : /* Username */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected username after "
-                                 "\"-U\" option."), command);
-               return (1);
+               cupsSetUser(opt + 1);
+               opt += strlen(opt) - 1;
              }
-
-              cupsSetUser(argv[i]);
-           }
-           break;
-           
-        case 'c' : /* Cancel jobs */
-           cancel = 1;
-           break;
-
-        case 'h' : /* Connect to host */
-           if (argv[i][2] != '\0')
-             cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
+             else
+             {
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), command);
+                 return (1);
+               }
+
+               cupsSetUser(argv[i]);
+             }
+             break;
+             
+         case 'c' : /* Cancel jobs */
+             cancel = 1;
+             break;
+
+         case 'h' : /* Connect to host */
+             if (opt[1] != '\0')
+             {
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected hostname after "
-                                 "\"-h\" option."), command);
-               return (1);
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected hostname after \"-h\" option."), command);
+                 return (1);
+               }
+
+               cupsSetServer(argv[i]);
              }
+             break;
 
-              cupsSetServer(argv[i]);
-           }
-           break;
-
-        case 'r' : /* Reason for cancellation */
-           if (argv[i][2] != '\0')
-             reason = argv[i] + 2;
-           else
-           {
-             i ++;
-             if (i >= argc)
+         case 'r' : /* Reason for cancellation */
+             if (opt[1] != '\0')
+             {
+               reason = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected reason text after "
-                                 "\"-r\" option."), command);
-               return (1);
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected reason text after \"-r\" option."), command);
+                 return (1);
+               }
+
+               reason = argv[i];
              }
+             break;
 
-             reason = argv[i];
-           }
-           break;
-
-        case '-' :
-           if (!strcmp(argv[i], "--hold"))
-             op = IPP_HOLD_NEW_JOBS;
-           else if (!strcmp(argv[i], "--release"))
-             op = IPP_RELEASE_HELD_NEW_JOBS;
-           else
-           {
-             _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%s\"."),
-                             command, argv[i]);
+         default :
+             _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."), command, *opt);
              return (1);
-           }
-           break;
-
-       default :
-           _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."),
-                           command, argv[i][1]);
-           return (1);
+       }
       }
     }
     else
@@ -223,6 +220,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
        }
       }
     }
+  }
 
   return (0);
 }
index e0f5541c3feace1874c8d8c6a068bc2c75d0e7cf..bc09b4b20613229dcd0428eaaf4d0a5aca156e05 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "lp" command for CUPS.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2007 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -39,6 +39,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
   int          job_id;                 /* Job ID */
   char         *printer,               /* Printer name */
                *instance,              /* Instance name */
+               *opt,                   /* Option pointer */
                *val,                   /* Option value */
                *title;                 /* Job title */
   int          priority;               /* Job priority (1-100) */
@@ -84,427 +85,431 @@ main(int  argc,                           /* I - Number of command-line arguments */
   end_options = 0;
 
   for (i = 1; i < argc; i ++)
+  {
     if (argv[i][0] == '-' && argv[i][1] && !end_options)
-      switch (argv[i][1])
+    {
+      for (opt = argv[i] + 1; *opt; opt ++)
       {
-        case 'E' : /* Encrypt */
+        switch (*opt)
+       {
+         case 'E' : /* Encrypt */
 #ifdef HAVE_SSL
-           cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
+             cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
-                           argv[0]);
+             _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
 #endif /* HAVE_SSL */
-           break;
+             break;
 
-        case 'U' : /* Username */
-           if (argv[i][2] != '\0')
-             cupsSetUser(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
+         case 'U' : /* Username */
+             if (opt[1] != '\0')
+             {
+               cupsSetUser(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected username after \"-U\" "
-                                 "option."), argv[0]);
-               return (1);
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), argv[0]);
+                 return (1);
+               }
+
+               cupsSetUser(argv[i]);
              }
+             break;
 
-              cupsSetUser(argv[i]);
-           }
-           break;
+         case 'c' : /* Copy to spool dir (always enabled) */
+             break;
 
-        case 'c' : /* Copy to spool dir (always enabled) */
-           break;
+         case 'd' : /* Destination printer or class */
+             if (opt[1] != '\0')
+             {
+               printer = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-        case 'd' : /* Destination printer or class */
-           if (argv[i][2] != '\0')
-             printer = argv[i] + 2;
-           else
-           {
-             i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected destination after \"-d\" option."), argv[0]);
+                 return (1);
+               }
 
-             if (i >= argc)
-             {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected destination after "
-                                 "\"-d\" option."), argv[0]);
-               return (1);
-              }
-
-             printer = argv[i];
-           }
-
-            if ((instance = strrchr(printer, '/')) != NULL)
-             *instance++ = '\0';
-
-            if ((dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer,
-                                         instance)) != NULL)
-           {
-             for (j = 0; j < dest->num_options; j ++)
-               if (cupsGetOption(dest->options[j].name, num_options,
-                                 options) == NULL)
-                 num_options = cupsAddOption(dest->options[j].name,
-                                             dest->options[j].value,
-                                             num_options, &options);
-           }
-           else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
-                    cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
-           {
-             _cupsLangPrintf(stderr,
-                             _("%s: Error - add '/version=1.1' to server "
-                               "name."), argv[0]);
-             return (1);
-           }
-           break;
+               printer = argv[i];
+             }
 
-        case 'f' : /* Form */
-           if (!argv[i][2])
-           {
-             i ++;
+             if ((instance = strrchr(printer, '/')) != NULL)
+               *instance++ = '\0';
 
-             if (i >= argc)
+             if ((dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer,
+                                          instance)) != NULL)
+             {
+               for (j = 0; j < dest->num_options; j ++)
+                 if (cupsGetOption(dest->options[j].name, num_options,
+                                   options) == NULL)
+                   num_options = cupsAddOption(dest->options[j].name,
+                                               dest->options[j].value,
+                                               num_options, &options);
+             }
+             else if (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+                      cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED)
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected form after \"-f\" "
-                                 "option."),
-                               argv[0]);
+               _cupsLangPrintf(stderr,
+                               _("%s: Error - add '/version=1.1' to server "
+                                 "name."), argv[0]);
                return (1);
-              }
-           }
+             }
+             break;
 
-           _cupsLangPrintf(stderr, _("%s: Warning - form option ignored."),
-                           argv[0]);
-           break;
+         case 'f' : /* Form */
+             if (opt[1] != '\0')
+             {
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-        case 'h' : /* Destination host */
-           if (argv[i][2] != '\0')
-             cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected form after \"-f\" option."), argv[0]);
+                 return (1);
+               }
+             }
 
-             if (i >= argc)
+             _cupsLangPrintf(stderr, _("%s: Warning - form option ignored."), argv[0]);
+             break;
+
+         case 'h' : /* Destination host */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected hostname after "
-                                 "\"-h\" option."), argv[0]);
-               return (1);
-              }
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-             cupsSetServer(argv[i]);
-           }
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected hostname after \"-h\" option."), argv[0]);
+                 return (1);
+               }
 
-        case 'i' : /* Change job */
-           if (argv[i][2])
-             val = argv[i] + 2;
-           else
-           {
-             i ++;
+               cupsSetServer(argv[i]);
+             }
+             break;
 
-             if (i >= argc)
+         case 'i' : /* Change job */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Expected job ID after \"-i\" option."),
-                               argv[0]);
-               return (1);
-              }
+               val = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-             val = argv[i];
-           }
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Expected job ID after \"-i\" option."), argv[0]);
+                 return (1);
+               }
 
-            if (num_files > 0)
-           {
-             _cupsLangPrintf(stderr,
-                             _("%s: Error - cannot print files and alter "
-                               "jobs simultaneously."), argv[0]);
-             return (1);
-           }
+               val = argv[i];
+             }
+
+             if (num_files > 0)
+             {
+               _cupsLangPrintf(stderr, _("%s: Error - cannot print files and alter jobs simultaneously."), argv[0]);
+               return (1);
+             }
 
-            if (strrchr(val, '-') != NULL)
-             job_id = atoi(strrchr(val, '-') + 1);
-           else
-             job_id = atoi(val);
+             if (strrchr(val, '-') != NULL)
+               job_id = atoi(strrchr(val, '-') + 1);
+             else
+               job_id = atoi(val);
 
-            if (job_id < 0)
-           {
-             _cupsLangPrintf(stderr, _("%s: Error - bad job ID."), argv[0]);
+             if (job_id < 0)
+             {
+               _cupsLangPrintf(stderr, _("%s: Error - bad job ID."), argv[0]);
+               break;
+             }
              break;
-           }
-           break;
 
-       case 'm' : /* Send email when job is done */
+         case 'm' : /* Send email when job is done */
 #ifdef __sun
-       case 'p' : /* Notify on completion */
+         case 'p' : /* Notify on completion */
 #endif /* __sun */
-       case 'w' : /* Write to console or email */
-           {
-             char      email[1024];    /* EMail address */
-
+         case 'w' : /* Write to console or email */
+             {
+               char    email[1024];    /* EMail address */
 
-             snprintf(email, sizeof(email), "mailto:%s@%s", cupsUser(),
-                      httpGetHostname(NULL, buffer, sizeof(buffer)));
-             num_options = cupsAddOption("notify-recipient-uri", email,
-                                         num_options, &options);
-           }
 
-           silent = 1;
-           break;
+               snprintf(email, sizeof(email), "mailto:%s@%s", cupsUser(), httpGetHostname(NULL, buffer, sizeof(buffer)));
+               num_options = cupsAddOption("notify-recipient-uri", email, num_options, &options);
+             }
 
-       case 'n' : /* Number of copies */
-           if (argv[i][2] != '\0')
-             num_copies = atoi(argv[i] + 2);
-           else
-           {
-             i ++;
+             silent = 1;
+             break;
 
-             if (i >= argc)
+         case 'n' : /* Number of copies */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected copies after "
-                                 "\"-n\" option."), argv[0]);
-               return (1);
-              }
-
-             num_copies = atoi(argv[i]);
-           }
+               num_copies = atoi(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-            sprintf(buffer, "%d", num_copies);
-            num_options = cupsAddOption("copies", buffer, num_options,
-                                       &options);
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected copies after \"-n\" option."), argv[0]);
+                 return (1);
+               }
 
-       case 'o' : /* Option */
-           if (argv[i][2] != '\0')
-             num_options = cupsParseOptions(argv[i] + 2, num_options,
-                                            &options);
-           else
-           {
-             i ++;
+               num_copies = atoi(argv[i]);
+             }
 
-             if (i >= argc)
+             if (num_copies < 1)
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected option=value after "
-                                 "\"-o\" option."), argv[0]);
+               _cupsLangPrintf(stderr, _("%s: Error - copies must be 1 or more."), argv[0]);
                return (1);
-              }
+             }
+
+             sprintf(buffer, "%d", num_copies);
+             num_options = cupsAddOption("copies", buffer, num_options,
+                                         &options);
+             break;
 
-             num_options = cupsParseOptions(argv[i], num_options, &options);
-           }
-           break;
+         case 'o' : /* Option */
+             if (opt[1] != '\0')
+             {
+               num_options = cupsParseOptions(opt + 1, num_options, &options);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected option=value after \"-o\" option."), argv[0]);
+                 return (1);
+               }
+
+               num_options = cupsParseOptions(argv[i], num_options, &options);
+             }
+             break;
 
 #ifndef __sun
-       case 'p' : /* Queue priority */
+         case 'p' : /* Queue priority */
 #endif /* !__sun */
-       case 'q' : /* Queue priority */
-           if (argv[i][2] != '\0')
-             priority = atoi(argv[i] + 2);
-           else
-           {
-             if ((i + 1) >= argc)
-             {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected priority after "
-                                 "\"-%c\" option."), argv[0], argv[i][1]);
-               return (1);
-              }
-
-             i ++;
-
-             priority = atoi(argv[i]);
-           }
-
-           /*
-           * For 100% Solaris compatibility, need to add:
-           *
-           *   priority = 99 * (39 - priority) / 39 + 1;
-           *
-           * However, to keep CUPS lp the same across all platforms
-           * we will break compatibility this far...
-           */
-
-           if (priority < 1 || priority > 100)
-           {
-             _cupsLangPrintf(stderr,
-                             _("%s: Error - priority must be between 1 and "
-                               "100."), argv[0]);
-             return (1);
-           }
+         case 'q' : /* Queue priority */
+             if (opt[1] != '\0')
+             {
+               priority = atoi(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               if ((i + 1) >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected priority after \"-%c\" option."), argv[0], *opt);
+                 return (1);
+               }
 
-            sprintf(buffer, "%d", priority);
-            num_options = cupsAddOption("job-priority", buffer, num_options,
-                                       &options);
-           break;
+               i ++;
 
-       case 's' : /* Silent */
-           silent = 1;
-           break;
+               priority = atoi(argv[i]);
+             }
 
-       case 't' : /* Title */
-           if (argv[i][2] != '\0')
-             title = argv[i] + 2;
-           else
-           {
-             i ++;
+            /*
+             * For 100% Solaris compatibility, need to add:
+             *
+             *   priority = 99 * (39 - priority) / 39 + 1;
+             *
+             * However, to keep CUPS lp the same across all platforms
+             * we will break compatibility this far...
+             */
 
-             if (i >= argc)
+             if (priority < 1 || priority > 100)
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected title after "
-                                 "\"-t\" option."), argv[0]);
+               _cupsLangPrintf(stderr, _("%s: Error - priority must be between 1 and 100."), argv[0]);
                return (1);
-              }
+             }
 
-             title = argv[i];
-           }
-           break;
+             sprintf(buffer, "%d", priority);
+             num_options = cupsAddOption("job-priority", buffer, num_options,
+                                         &options);
+             break;
 
-        case 'y' : /* mode-list */
-           if (!argv[i][2])
-           {
-             i ++;
+         case 's' : /* Silent */
+             silent = 1;
+             break;
 
-             if (i >= argc)
+         case 't' : /* Title */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected mode list after "
-                                 "\"-y\" option."), argv[0]);
-               return (1);
-              }
-           }
+               title = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-           _cupsLangPrintf(stderr,
-                           _("%s: Warning - mode option ignored."), argv[0]);
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected title after \"-t\" option."), argv[0]);
+                 return (1);
+               }
 
-        case 'H' : /* Hold job */
-           if (argv[i][2])
-             val = argv[i] + 2;
-           else
-           {
-             i ++;
+               title = argv[i];
+             }
+             break;
 
-             if (i >= argc)
+         case 'y' : /* mode-list */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected hold name after "
-                                 "\"-H\" option."), argv[0]);
-               return (1);
-              }
-
-             val = argv[i];
-           }
-
-           if (!strcmp(val, "hold"))
-              num_options = cupsAddOption("job-hold-until", "indefinite",
-                                         num_options, &options);
-           else if (!strcmp(val, "resume") ||
-                    !strcmp(val, "release"))
-              num_options = cupsAddOption("job-hold-until", "no-hold",
-                                         num_options, &options);
-           else if (!strcmp(val, "immediate"))
-           {
-              num_options = cupsAddOption("job-hold-until", "no-hold",
-                                         num_options, &options);
-              num_options = cupsAddOption("job-priority", "100",
-                                         num_options, &options);
-           }
-           else if (!strcmp(val, "restart"))
-           {
-             if (job_id < 1)
-             {
-               _cupsLangPrintf(stderr,
-                               _("%s: Need job ID (\"-i jobid\") before "
-                                 "\"-H restart\"."), argv[0]);
-               return (1);
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
 
-             if (restart_job(argv[0], job_id))
-               return (1);
-           }
-           else
-              num_options = cupsAddOption("job-hold-until", val,
-                                         num_options, &options);
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected mode list after \"-y\" option."), argv[0]);
+                 return (1);
+               }
+             }
 
-        case 'P' : /* Page list */
-           if (argv[i][2])
-             val = argv[i] + 2;
-           else
-           {
-             i ++;
+             _cupsLangPrintf(stderr, _("%s: Warning - mode option ignored."), argv[0]);
+             break;
 
-             if (i >= argc)
+         case 'H' : /* Hold job */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected page list after "
-                                 "\"-P\" option."), argv[0]);
-               return (1);
-              }
+               val = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-             val = argv[i];
-           }
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected hold name after \"-H\" option."), argv[0]);
+                 return (1);
+               }
 
-            num_options = cupsAddOption("page-ranges", val, num_options,
-                                       &options);
-            break;
+               val = argv[i];
+             }
 
-        case 'S' : /* character set */
-           if (!argv[i][2])
-           {
-             i ++;
+             if (!strcmp(val, "hold"))
+               num_options = cupsAddOption("job-hold-until", "indefinite", num_options, &options);
+             else if (!strcmp(val, "resume") || !strcmp(val, "release"))
+               num_options = cupsAddOption("job-hold-until", "no-hold", num_options, &options);
+             else if (!strcmp(val, "immediate"))
+             {
+               num_options = cupsAddOption("job-hold-until", "no-hold", num_options, &options);
+               num_options = cupsAddOption("job-priority", "100", num_options, &options);
+             }
+             else if (!strcmp(val, "restart"))
+             {
+               if (job_id < 1)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Need job ID (\"-i jobid\") before \"-H restart\"."), argv[0]);
+                 return (1);
+               }
+
+               if (restart_job(argv[0], job_id))
+                 return (1);
+             }
+             else
+               num_options = cupsAddOption("job-hold-until", val, num_options, &options);
+             break;
 
-             if (i >= argc)
+         case 'P' : /* Page list */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected character set after "
-                                 "\"-S\" option."), argv[0]);
-               return (1);
-              }
-           }
+               val = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-           _cupsLangPrintf(stderr,
-                           _("%s: Warning - character set option ignored."),
-                           argv[0]);
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected page list after \"-P\" option."), argv[0]);
+                 return (1);
+               }
+
+               val = argv[i];
+             }
 
-        case 'T' : /* Content-Type */
-           if (!argv[i][2])
-           {
-             i ++;
+             num_options = cupsAddOption("page-ranges", val, num_options, &options);
+             break;
 
-             if (i >= argc)
+         case 'S' : /* character set */
+             if (opt[1] != '\0')
+             {
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected character set after \"-S\" option."), argv[0]);
+                 return (1);
+               }
+             }
+
+             _cupsLangPrintf(stderr, _("%s: Warning - character set option ignored."), argv[0]);
+             break;
+
+         case 'T' : /* Content-Type */
+             if (opt[1] != '\0')
+             {
+               opt += strlen(opt) - 1;
+             }
+             else
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected content type after "
-                                 "\"-T\" option."), argv[0]);
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected content type after \"-T\" option."), argv[0]);
+                 return (1);
+               }
+             }
+
+             _cupsLangPrintf(stderr, _("%s: Warning - content type option ignored."), argv[0]);
+             break;
+
+         case '-' : /* Stop processing options */
+             if (opt[1] != '\0')
+             {
+               _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%s\"."), argv[0], argv[i]);
                return (1);
-              }
-           }
-
-           _cupsLangPrintf(stderr,
-                           _("%s: Warning - content type option ignored."),
-                           argv[0]);
-           break;
-
-        case '-' : /* Stop processing options */
-            if (argv[i][2])
-            {
-             _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%s\"."),
-                             argv[0], argv[i]);
-             return (1);
-           }
+             }
 
-           end_options = 1;
-           break;
+             end_options = 1;
+             break;
 
-       default :
-           _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."),
-                           argv[0], argv[i][1]);
-           return (1);
+         default :
+             _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."), argv[0], *opt);
+             return (1);
+       }
       }
+    }
     else if (!strcmp(argv[i], "-"))
     {
       if (num_files || job_id)
@@ -525,8 +530,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
 
       if (access(argv[i], R_OK) != 0)
       {
-        _cupsLangPrintf(stderr, _("%s: Error - unable to access \"%s\" - %s"),
-                       argv[0], argv[i], strerror(errno));
+        _cupsLangPrintf(stderr, _("%s: Error - unable to access \"%s\" - %s"), argv[0], argv[i], strerror(errno));
         return (1);
       }
 
@@ -542,8 +546,10 @@ main(int  argc,                            /* I - Number of command-line arguments */
       }
     }
     else
-      _cupsLangPrintf(stderr, _("%s: Error - too many files - \"%s\"."),
-                      argv[0], argv[i]);
+    {
+      _cupsLangPrintf(stderr, _("%s: Error - too many files - \"%s\"."), argv[0], argv[i]);
+    }
+  }
 
  /*
   * See if we are altering an existing job...
index 7775b4024d9408b894225d97e11e0a3cc8a6875d..1344b596e2082d303345c0ab001ce29fa678aecb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "lpadmin" command for CUPS.
  *
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -54,6 +54,7 @@ main(int  argc,                       /* I - Number of command-line arguments */
   http_t       *http;          /* Connection to server */
   char         *printer,       /* Destination printer */
                *pclass,        /* Printer class name */
+               *opt,           /* Option pointer */
                *val;           /* Pointer to allow/deny value */
   int          num_options;    /* Number of options */
   cups_option_t        *options;       /* Options */
@@ -73,530 +74,518 @@ main(int  argc,                   /* I - Number of command-line arguments */
   file        = NULL;
 
   for (i = 1; i < argc; i ++)
+  {
     if (argv[i][0] == '-')
-      switch (argv[i][1])
+    {
+      for (opt = argv[i] + 1; *opt; opt ++)
       {
-        case 'c' : /* Add printer to class */
-           if (!http)
-           {
-              http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+       switch (*opt)
+       {
+         case 'c' : /* Add printer to class */
+             if (!http)
+             {
+               http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+
+               if (http == NULL)
+               {
+                 _cupsLangPrintf(stderr, _("lpadmin: Unable to connect to server: %s"), strerror(errno));
+                 return (1);
+               }
+             }
 
-             if (http == NULL)
+             if (printer == NULL)
              {
-               _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s"),
-                               strerror(errno));
+               _cupsLangPuts(stderr,
+                             _("lpadmin: Unable to add a printer to the class:\n"
+                               "         You must specify a printer name first."));
                return (1);
              }
-            }
-
-           if (printer == NULL)
-           {
-             _cupsLangPuts(stderr,
-                           _("lpadmin: Unable to add a printer to the class:\n"
-                             "         You must specify a printer name "
-                             "first."));
-             return (1);
-           }
 
-           if (argv[i][2])
-             pclass = argv[i] + 2;
-           else
-           {
-             i ++;
+             if (opt[1] != '\0')
+             {
+               pclass = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-             if (i >= argc)
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected class name after \"-c\" option."));
+                 return (1);
+               }
+
+               pclass = argv[i];
+             }
+
+             if (!validate_name(pclass))
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected class name after \"-c\" "
-                               "option."));
+                             _("lpadmin: Class name can only contain printable "
+                               "characters."));
                return (1);
              }
 
-             pclass = argv[i];
-           }
-
-            if (!validate_name(pclass))
-           {
-             _cupsLangPuts(stderr,
-                           _("lpadmin: Class name can only contain printable "
-                             "characters."));
-             return (1);
-           }
+             if (add_printer_to_class(http, printer, pclass))
+               return (1);
+             break;
 
-           if (add_printer_to_class(http, printer, pclass))
-             return (1);
-           break;
+         case 'd' : /* Set as default destination */
+             if (!http)
+             {
+               http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
 
-        case 'd' : /* Set as default destination */
-           if (!http)
-           {
-              http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+               if (http == NULL)
+               {
+                 _cupsLangPrintf(stderr, _("lpadmin: Unable to connect to server: %s"), strerror(errno));
+                 return (1);
+               }
+             }
 
-             if (http == NULL)
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s"),
-                               strerror(errno));
-               return (1);
+               printer = opt + 1;
+               opt += strlen(opt) - 1;
              }
-            }
+             else
+             {
+               i ++;
 
-           if (argv[i][2])
-             printer = argv[i] + 2;
-           else
-           {
-             i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected printer name after \"-d\" option."));
+                 return (1);
+               }
 
-             if (i >= argc)
+               printer = argv[i];
+             }
+
+             if (!validate_name(printer))
              {
-               _cupsLangPuts(stderr,
-                             _("lpadmin: Expected printer name after \"-d\" "
-                               "option."));
+               _cupsLangPuts(stderr, _("lpadmin: Printer name can only contain printable characters."));
                return (1);
              }
 
-             printer = argv[i];
-           }
-
-            if (!validate_name(printer))
-           {
-             _cupsLangPuts(stderr,
-                           _("lpadmin: Printer name can only contain "
-                             "printable characters."));
-             return (1);
-           }
-
-            if (default_printer(http, printer))
-             return (1);
+             if (default_printer(http, printer))
+               return (1);
 
-           i = argc;
-           break;
+             i = argc;
+             break;
 
-        case 'h' : /* Connect to host */
-           if (http)
-           {
-             httpClose(http);
-             http = NULL;
-           }
-
-           if (argv[i][2] != '\0')
-             cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
+         case 'h' : /* Connect to host */
+             if (http)
+             {
+               httpClose(http);
+               http = NULL;
+             }
 
-             if (i >= argc)
+             if (opt[1] != '\0')
              {
-               _cupsLangPuts(stderr,
-                             _("lpadmin: Expected hostname after \"-h\" "
-                               "option."));
-               return (1);
-              }
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-              cupsSetServer(argv[i]);
-           }
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected hostname after \"-h\" option."));
+                 return (1);
+               }
 
-        case 'P' : /* Use the specified PPD file */
-        case 'i' : /* Use the specified PPD file */
-           if (argv[i][2])
-             file = argv[i] + 2;
-           else
-           {
-             i ++;
+               cupsSetServer(argv[i]);
+             }
+             break;
 
-             if (i >= argc)
+         case 'P' : /* Use the specified PPD file */
+         case 'i' : /* Use the specified PPD file */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr, _("lpadmin: Expected PPD after \"-%c\" option."), argv[i - 1][1]);
-               return (1);
+               file = opt + 1;
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
 
-             file = argv[i];
-           }
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("lpadmin: Expected PPD after \"-%c\" option."), argv[i - 1][1]);
+                 return (1);
+               }
 
-        case 'E' : /* Enable the printer */
-           if (printer == NULL)
-           {
+               file = argv[i];
+             }
+             break;
+
+         case 'E' : /* Enable the printer/enable encryption */
+             if (printer == NULL)
+             {
 #ifdef HAVE_SSL
-             cupsSetEncryption(HTTP_ENCRYPTION_REQUIRED);
+               cupsSetEncryption(HTTP_ENCRYPTION_REQUIRED);
 
-             if (http)
-               httpEncryption(http, HTTP_ENCRYPTION_REQUIRED);
+               if (http)
+                 httpEncryption(http, HTTP_ENCRYPTION_REQUIRED);
 #else
-              _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
-                             argv[0]);
+               _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
 #endif /* HAVE_SSL */
-             break;
-           }
-
-           if (!http)
-           {
-              http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+               break;
+             }
 
-             if (http == NULL)
+             if (!http)
              {
-               _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s"),
-                               strerror(errno));
-               return (1);
+               http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+
+               if (http == NULL)
+               {
+                 _cupsLangPrintf(stderr,
+                                 _("lpadmin: Unable to connect to server: %s"),
+                                 strerror(errno));
+                 return (1);
+               }
              }
-            }
 
-            if (enable_printer(http, printer))
-             return (1);
-            break;
-
-        case 'm' : /* Use the specified standard script/PPD file */
-           if (argv[i][2])
-             num_options = cupsAddOption("ppd-name", argv[i] + 2, num_options,
-                                         &options);
-           else
-           {
-             i ++;
+             if (enable_printer(http, printer))
+               return (1);
+             break;
 
-             if (i >= argc)
+         case 'm' : /* Use the specified standard script/PPD file */
+             if (opt[1] != '\0')
              {
-               _cupsLangPuts(stderr,
-                             _("lpadmin: Expected model after \"-m\" "
-                               "option."));
-               return (1);
+               num_options = cupsAddOption("ppd-name", opt + 1, num_options, &options);
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
 
-             num_options = cupsAddOption("ppd-name", argv[i], num_options,
-                                         &options);
-           }
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected model after \"-m\" option."));
+                 return (1);
+               }
 
-        case 'o' : /* Set option */
-           if (argv[i][2])
-             num_options = cupsParseOptions(argv[i] + 2, num_options, &options);
-           else
-           {
-             i ++;
+               num_options = cupsAddOption("ppd-name", argv[i], num_options, &options);
+             }
+             break;
 
-             if (i >= argc)
+         case 'o' : /* Set option */
+             if (opt[1] != '\0')
              {
-               _cupsLangPuts(stderr,
-                             _("lpadmin: Expected name=value after \"-o\" "
-                               "option."));
-               return (1);
+               num_options = cupsParseOptions(opt + 1, num_options, &options);
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
 
-             num_options = cupsParseOptions(argv[i], num_options, &options);
-           }
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected name=value after \"-o\" option."));
+                 return (1);
+               }
 
-        case 'p' : /* Add/modify a printer */
-           if (argv[i][2])
-             printer = argv[i] + 2;
-           else
-           {
-             i ++;
+               num_options = cupsParseOptions(argv[i], num_options, &options);
+             }
+             break;
 
-             if (i >= argc)
+         case 'p' : /* Add/modify a printer */
+             if (opt[1] != '\0')
              {
-               _cupsLangPuts(stderr,
-                             _("lpadmin: Expected printer after \"-p\" "
-                               "option."));
-               return (1);
+               printer = opt + 1;
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
 
-             printer = argv[i];
-           }
-
-            if (!validate_name(printer))
-           {
-             _cupsLangPuts(stderr,
-                           _("lpadmin: Printer name can only contain "
-                             "printable characters."));
-             return (1);
-           }
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected printer after \"-p\" option."));
+                 return (1);
+               }
 
-        case 'r' : /* Remove printer from class */
-           if (!http)
-           {
-              http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+               printer = argv[i];
+             }
 
-             if (http == NULL)
+             if (!validate_name(printer))
              {
-               _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s"),
-                               strerror(errno));
+               _cupsLangPuts(stderr, _("lpadmin: Printer name can only contain printable characters."));
                return (1);
              }
-            }
-
-           if (printer == NULL)
-           {
-             _cupsLangPuts(stderr,
-                           _("lpadmin: Unable to remove a printer from the "
-                             "class:\n"
-                             "         You must specify a printer name "
-                             "first."));
-             return (1);
-           }
+             break;
 
-           if (argv[i][2])
-             pclass = argv[i] + 2;
-           else
-           {
-             i ++;
+         case 'r' : /* Remove printer from class */
+             if (!http)
+             {
+               http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+
+               if (http == NULL)
+               {
+                 _cupsLangPrintf(stderr,
+                                 _("lpadmin: Unable to connect to server: %s"),
+                                 strerror(errno));
+                 return (1);
+               }
+             }
 
-             if (i >= argc)
+             if (printer == NULL)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected class after \"-r\" "
-                               "option."));
+                             _("lpadmin: Unable to remove a printer from the class:\n"
+                               "         You must specify a printer name first."));
                return (1);
              }
 
-             pclass = argv[i];
-           }
-
-            if (!validate_name(pclass))
-           {
-             _cupsLangPuts(stderr,
-                           _("lpadmin: Class name can only contain printable "
-                             "characters."));
-             return (1);
-           }
+             if (opt[1] != '\0')
+             {
+               pclass = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-            if (delete_printer_from_class(http, printer, pclass))
-             return (1);
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected class after \"-r\" option."));
+                 return (1);
+               }
 
-        case 'R' : /* Remove option */
-           if (!http)
-           {
-              http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+               pclass = argv[i];
+             }
 
-             if (http == NULL)
+             if (!validate_name(pclass))
              {
-               _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s"),
-                               strerror(errno));
+               _cupsLangPuts(stderr, _("lpadmin: Class name can only contain printable characters."));
                return (1);
              }
-            }
-
-           if (printer == NULL)
-           {
-             _cupsLangPuts(stderr,
-                           _("lpadmin: Unable to delete option:\n"
-                             "         You must specify a printer name "
-                             "first."));
-             return (1);
-           }
 
-           if (argv[i][2])
-             val = argv[i] + 2;
-           else
-           {
-             i ++;
+             if (delete_printer_from_class(http, printer, pclass))
+               return (1);
+             break;
 
-             if (i >= argc)
+         case 'R' : /* Remove option */
+             if (!http)
+             {
+               http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+
+               if (http == NULL)
+               {
+                 _cupsLangPrintf(stderr, _("lpadmin: Unable to connect to server: %s"), strerror(errno));
+                 return (1);
+               }
+             }
+
+             if (printer == NULL)
              {
                _cupsLangPuts(stderr,
-                             _("lpadmin: Expected name after \"-R\" "
-                               "option."));
+                             _("lpadmin: Unable to delete option:\n"
+                               "         You must specify a printer name first."));
                return (1);
              }
 
-             val = argv[i];
-           }
-
-            if (delete_printer_option(http, printer, val))
-             return (1);
-           break;
-
-        case 'U' : /* Username */
-           if (argv[i][2] != '\0')
-             cupsSetUser(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected username after "
-                                 "\"-U\" option."), argv[0]);
-               return (1);
+               val = opt + 1;
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
 
-              cupsSetUser(argv[i]);
-           }
-           break;
-
-        case 'u' : /* Allow/deny users */
-           if (argv[i][2])
-             val = argv[i] + 2;
-           else
-           {
-             i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected name after \"-R\" option."));
+                 return (1);
+               }
 
-             if (i >= argc)
-             {
-               _cupsLangPuts(stderr,
-                             _("lpadmin: Expected allow/deny:userlist after "
-                               "\"-u\" option."));
-               return (1);
+               val = argv[i];
              }
 
-              val = argv[i];
-           }
-
-            if (!_cups_strncasecmp(val, "allow:", 6))
-             num_options = cupsAddOption("requesting-user-name-allowed",
-                                         val + 6, num_options, &options);
-            else if (!_cups_strncasecmp(val, "deny:", 5))
-             num_options = cupsAddOption("requesting-user-name-denied",
-                                         val + 5, num_options, &options);
-            else
-           {
-             _cupsLangPrintf(stderr,
-                             _("lpadmin: Unknown allow/deny option \"%s\"."),
-                             val);
-             return (1);
-           }
-           break;
+             if (delete_printer_option(http, printer, val))
+               return (1);
+             break;
 
-        case 'v' : /* Set the device-uri attribute */
-           if (argv[i][2])
-             num_options = cupsAddOption("device-uri", argv[i] + 2,
-                                         num_options, &options);
-           else
-           {
-             i ++;
+         case 'U' : /* Username */
+             if (opt[1] != '\0')
+             {
+               cupsSetUser(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), argv[0]);
+                 return (1);
+               }
+
+               cupsSetUser(argv[i]);
+             }
+             break;
 
-             if (i >= argc)
+         case 'u' : /* Allow/deny users */
+             if (opt[1] != '\0')
              {
-               _cupsLangPuts(stderr,
-                             _("lpadmin: Expected device URI after \"-v\" "
-                               "option."));
-               return (1);
+               val = opt + 1;
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
 
-             num_options = cupsAddOption("device-uri", argv[i],
-                                         num_options, &options);
-           }
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected allow/deny:userlist after \"-u\" option."));
+                 return (1);
+               }
 
-        case 'x' : /* Delete a printer */
-           if (!http)
-           {
-              http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+               val = argv[i];
+             }
 
-             if (http == NULL)
+             if (!_cups_strncasecmp(val, "allow:", 6))
+               num_options = cupsAddOption("requesting-user-name-allowed", val + 6, num_options, &options);
+             else if (!_cups_strncasecmp(val, "deny:", 5))
+               num_options = cupsAddOption("requesting-user-name-denied", val + 5, num_options, &options);
+             else
              {
-               _cupsLangPrintf(stderr,
-                               _("lpadmin: Unable to connect to server: %s"),
-                               strerror(errno));
+               _cupsLangPrintf(stderr, _("lpadmin: Unknown allow/deny option \"%s\"."), val);
                return (1);
              }
-            }
-
-           if (argv[i][2])
-             printer = argv[i] + 2;
-           else
-           {
-             i ++;
+             break;
 
-             if (i >= argc)
+         case 'v' : /* Set the device-uri attribute */
+             if (opt[1] != '\0')
              {
-               _cupsLangPuts(stderr,
-                             _("lpadmin: Expected printer or class after "
-                               "\"-x\" option."));
-               return (1);
+               num_options = cupsAddOption("device-uri", opt + 1, num_options, &options);
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
 
-             printer = argv[i];
-           }
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected device URI after \"-v\" option."));
+                 return (1);
+               }
 
-            if (!validate_name(printer))
-           {
-             _cupsLangPuts(stderr,
-                           _("lpadmin: Printer name can only contain "
-                             "printable characters."));
-             return (1);
-           }
+               num_options = cupsAddOption("device-uri", argv[i], num_options, &options);
+             }
+             break;
 
-            if (delete_printer(http, printer))
-             return (1);
+         case 'x' : /* Delete a printer */
+             if (!http)
+             {
+               http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL);
+
+               if (http == NULL)
+               {
+                 _cupsLangPrintf(stderr,
+                                 _("lpadmin: Unable to connect to server: %s"),
+                                 strerror(errno));
+                 return (1);
+               }
+             }
 
-           i = argc;
-           break;
+             if (opt[1] != '\0')
+             {
+               printer = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-        case 'D' : /* Set the printer-info attribute */
-           if (argv[i][2])
-             num_options = cupsAddOption("printer-info", argv[i] + 2,
-                                         num_options, &options);
-           else
-           {
-             i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected printer or class after \"-x\" option."));
+                 return (1);
+               }
 
-             if (i >= argc)
+               printer = argv[i];
+             }
+
+             if (!validate_name(printer))
              {
-               _cupsLangPuts(stderr,
-                             _("lpadmin: Expected description after "
-                               "\"-D\" option."));
+               _cupsLangPuts(stderr, _("lpadmin: Printer name can only contain printable characters."));
                return (1);
              }
 
-             num_options = cupsAddOption("printer-info", argv[i],
-                                         num_options, &options);
-           }
-           break;
+             if (delete_printer(http, printer))
+               return (1);
 
-        case 'I' : /* Set the supported file types (ignored) */
-           i ++;
+             i = argc;
+             break;
 
-           if (i >= argc)
-           {
-             _cupsLangPuts(stderr,
-                           _("lpadmin: Expected file type(s) after \"-I\" "
-                             "option."));
-             return (1);
-           }
+         case 'D' : /* Set the printer-info attribute */
+             if (opt[1] != '\0')
+             {
+               num_options = cupsAddOption("printer-info", opt + 1, num_options, &options);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-           _cupsLangPuts(stderr,
-                         _("lpadmin: Warning - content type list ignored."));
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected description after \"-D\" option."));
+                 return (1);
+               }
 
-        case 'L' : /* Set the printer-location attribute */
-           if (argv[i][2])
-             num_options = cupsAddOption("printer-location", argv[i] + 2,
-                                         num_options, &options);
-           else
-           {
+               num_options = cupsAddOption("printer-info", argv[i], num_options, &options);
+             }
+             break;
+
+         case 'I' : /* Set the supported file types (ignored) */
              i ++;
 
              if (i >= argc)
              {
-               _cupsLangPuts(stderr,
-                             _("lpadmin: Expected location after \"-L\" "
-                               "option."));
+               _cupsLangPuts(stderr, _("lpadmin: Expected file type(s) after \"-I\" option."));
                return (1);
              }
 
-             num_options = cupsAddOption("printer-location", argv[i],
-                                         num_options, &options);
-           }
-           break;
+             _cupsLangPuts(stderr, _("lpadmin: Warning - content type list ignored."));
+             break;
 
-       default :
-           _cupsLangPrintf(stderr,
-                           _("lpadmin: Unknown option \"%c\"."), argv[i][1]);
-           return (1);
+         case 'L' : /* Set the printer-location attribute */
+             if (opt[1] != '\0')
+             {
+               num_options = cupsAddOption("printer-location", opt + 1, num_options, &options);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("lpadmin: Expected location after \"-L\" option."));
+                 return (1);
+               }
+
+               num_options = cupsAddOption("printer-location", argv[i], num_options, &options);
+             }
+             break;
+
+         default :
+             _cupsLangPrintf(stderr, _("lpadmin: Unknown option \"%c\"."), *opt);
+             return (1);
+       }
       }
+    }
     else
     {
-      _cupsLangPrintf(stderr, _("lpadmin: Unknown argument \"%s\"."),
-                      argv[i]);
+      _cupsLangPrintf(stderr, _("lpadmin: Unknown argument \"%s\"."), argv[i]);
       return (1);
     }
+  }
 
  /*
   * Set options as needed...
index 692cb3ab7e13dfd70a8cc4bb1d74b1beb257857c..16bdf0f992aabf31a0e21fb9879ee0cb21c040d3 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "lpinfo" command for CUPS.
  *
- * Copyright 2007-2010 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -48,7 +48,8 @@ main(int  argc,                               /* I - Number of command-line arguments */
 {
   int          i;                      /* Looping var */
   int          long_status;            /* Long listing? */
-  const char   *device_id,             /* 1284 device ID */
+  const char   *opt,                   /* Option pointer */
+               *device_id,             /* 1284 device ID */
                *language,              /* Language */
                *make_model,            /* Make and model */
                *product,               /* Product */
@@ -69,195 +70,175 @@ main(int  argc,                           /* I - Number of command-line arguments */
   timeout         = CUPS_TIMEOUT_DEFAULT;
 
   for (i = 1; i < argc; i ++)
-    if (argv[i][0] == '-')
-      switch (argv[i][1])
+  {
+    if (!strcmp(argv[i], "--device-id"))
+    {
+      i ++;
+
+      if (i < argc)
+       device_id = argv[i];
+      else
+      {
+       _cupsLangPuts(stderr, _("lpinfo: Expected 1284 device ID string after \"--device-id\"."));
+       return (1);
+      }
+    }
+    else if (!strncmp(argv[i], "--device-id=", 12) && argv[i][12])
+    {
+      device_id = argv[i] + 12;
+    }
+    else if (!strcmp(argv[i], "--exclude-schemes"))
+    {
+      i ++;
+
+      if (i < argc)
+       exclude_schemes = argv[i];
+      else
       {
-        case 'E' : /* Encrypt */
+       _cupsLangPuts(stderr, _("lpinfo: Expected scheme list after \"--exclude-schemes\"."));
+       return (1);
+      }
+    }
+    else if (!strncmp(argv[i], "--exclude-schemes=", 18) && argv[i][18])
+    {
+      exclude_schemes = argv[i] + 18;
+    }
+    else if (!strcmp(argv[i], "--include-schemes"))
+    {
+      i ++;
+
+      if (i < argc)
+       include_schemes = argv[i];
+      else
+      {
+       _cupsLangPuts(stderr, _("lpinfo: Expected scheme list after \"--include-schemes\"."));
+       return (1);
+      }
+    }
+    else if (!strncmp(argv[i], "--include-schemes=", 18) && argv[i][18])
+    {
+      include_schemes = argv[i] + 18;
+    }
+    else if (!strcmp(argv[i], "--language"))
+    {
+      i ++;
+      if (i < argc)
+       language = argv[i];
+      else
+      {
+       _cupsLangPuts(stderr, _("lpinfo: Expected language after \"--language\"."));
+       return (1);
+      }
+    }
+    else if (!strncmp(argv[i], "--language=", 11) && argv[i][11])
+    {
+      language = argv[i] + 11;
+    }
+    else if (!strcmp(argv[i], "--make-and-model"))
+    {
+      i ++;
+      if (i < argc)
+       make_model= argv[i];
+      else
+      {
+       _cupsLangPuts(stderr, _("lpinfo: Expected make and model after \"--make-and-model\"."));
+       return (1);
+      }
+    }
+    else if (!strncmp(argv[i], "--make-and-model=", 17) && argv[i][17])
+    {
+      make_model = argv[i] + 17;
+    }
+    else if (!strcmp(argv[i], "--product"))
+    {
+      i ++;
+      if (i < argc)
+       product = argv[i];
+      else
+      {
+       _cupsLangPuts(stderr, _("lpinfo: Expected product string after \"--product\"."));
+       return (1);
+      }
+    }
+    else if (!strncmp(argv[i], "--product=", 10) && argv[i][10])
+    {
+      product = argv[i] + 10;
+    }
+    else if (!strcmp(argv[i], "--timeout"))
+    {
+      i ++;
+      if (i < argc)
+       timeout = atoi(argv[i]);
+      else
+      {
+       _cupsLangPuts(stderr, _("lpinfo: Expected timeout after \"--timeout\"."));
+       return (1);
+      }
+    }
+    else if (!strncmp(argv[i], "--timeout=", 10) && argv[i][10])
+    {
+      timeout = atoi(argv[i] + 10);
+    }
+    else if (argv[i][0] == '-')
+    {
+      for (opt = argv[i] + 1; *opt; opt ++)
+      {
+       switch (*opt)
+       {
+         case 'E' : /* Encrypt */
 #ifdef HAVE_SSL
-           cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
+             cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support."),
-                           argv[0]);
+             _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
 #endif /* HAVE_SSL */
-           break;
-
-        case 'h' : /* Connect to host */
-           if (argv[i][2] != '\0')
-             cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
-
-             if (i >= argc)
-             {
-               _cupsLangPuts(stderr,
-                             _("Error: need hostname after \"-h\" option."));
-               return (1);
-              }
-
-             cupsSetServer(argv[i]);
-           }
-           break;
+             break;
 
-        case 'l' : /* Show long listing */
-           long_status = 1;
-           break;
-
-        case 'm' : /* Show models */
-            if (show_models(long_status, device_id, language, make_model,
-                           product, include_schemes, exclude_schemes))
-             return (1);
-           break;
-           
-        case 'v' : /* Show available devices */
-            if (show_devices(long_status, timeout, include_schemes,
-                            exclude_schemes))
-             return (1);
-           break;
-
-        case '-' : /* --something */
-            if (!strcmp(argv[i], "--device-id"))
-           {
-             i ++;
-
-             if (i < argc)
-               device_id = argv[i];
-             else
-             {
-               _cupsLangPuts(stderr,
-                             _("lpinfo: Expected 1284 device ID string "
-                               "after \"--device-id\"."));
-               return (1);
-             }
-           }
-           else if (!strncmp(argv[i], "--device-id=", 12) && argv[i][12])
-           {
-             device_id = argv[i] + 12;
-           }
-            else if (!strcmp(argv[i], "--exclude-schemes"))
-           {
-             i ++;
-
-             if (i < argc)
-               exclude_schemes = argv[i];
-             else
-             {
-               _cupsLangPuts(stderr,
-                             _("lpinfo: Expected scheme list after "
-                               "\"--exclude-schemes\"."));
-               return (1);
-             }
-           }
-           else if (!strncmp(argv[i], "--exclude-schemes=", 18) && argv[i][18])
-           {
-             exclude_schemes = argv[i] + 18;
-           }
-            else if (!strcmp(argv[i], "--include-schemes"))
-           {
-             i ++;
-
-             if (i < argc)
-               include_schemes = argv[i];
-             else
-             {
-               _cupsLangPuts(stderr,
-                             _("lpinfo: Expected scheme list after "
-                               "\"--include-schemes\"."));
-               return (1);
-             }
-           }
-           else if (!strncmp(argv[i], "--include-schemes=", 18) && argv[i][18])
-           {
-             include_schemes = argv[i] + 18;
-           }
-            else if (!strcmp(argv[i], "--language"))
-           {
-             i ++;
-             if (i < argc)
-               language = argv[i];
-             else
+         case 'h' : /* Connect to host */
+             if (opt[1] != '\0')
              {
-               _cupsLangPuts(stderr,
-                             _("lpinfo: Expected language after "
-                               "\"--language\"."));
-               return (1);
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
              }
-           }
-           else if (!strncmp(argv[i], "--language=", 11) && argv[i][11])
-           {
-             language = argv[i] + 11;
-           }
-            else if (!strcmp(argv[i], "--make-and-model"))
-           {
-             i ++;
-             if (i < argc)
-               make_model= argv[i];
              else
              {
-               _cupsLangPuts(stderr,
-                             _("lpinfo: Expected make and model after "
-                               "\"--make-and-model\"."));
-               return (1);
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("Error: need hostname after \"-h\" option."));
+                 return (1);
+               }
+
+               cupsSetServer(argv[i]);
              }
-           }
-           else if (!strncmp(argv[i], "--make-and-model=", 17) && argv[i][17])
-           {
-             make_model = argv[i] + 17;
-           }
-            else if (!strcmp(argv[i], "--product"))
-           {
-             i ++;
-             if (i < argc)
-               product = argv[i];
-             else
-             {
-               _cupsLangPuts(stderr,
-                             _("lpinfo: Expected product string after "
-                               "\"--product\"."));
+             break;
+
+         case 'l' : /* Show long listing */
+             long_status = 1;
+             break;
+
+         case 'm' : /* Show models */
+             if (show_models(long_status, device_id, language, make_model, product, include_schemes, exclude_schemes))
                return (1);
-             }
-           }
-           else if (!strncmp(argv[i], "--product=", 10) && argv[i][10])
-           {
-             product = argv[i] + 10;
-           }
-            else if (!strcmp(argv[i], "--timeout"))
-           {
-             i ++;
-             if (i < argc)
-               timeout = atoi(argv[i]);
-             else
-             {
-               _cupsLangPuts(stderr,
-                             _("lpinfo: Expected timeout after "
-                               "\"--timeout\"."));
+             break;
+             
+         case 'v' : /* Show available devices */
+             if (show_devices(long_status, timeout, include_schemes, exclude_schemes))
                return (1);
-             }
-           }
-           else if (!strncmp(argv[i], "--timeout=", 10) && argv[i][10])
-           {
-             timeout = atoi(argv[i] + 10);
-           }
-           else
-           {
-             _cupsLangPrintf(stderr, _("lpinfo: Unknown option \"%s\"."),
-                             argv[i]);
-             return (1);
-           }
-           break;
+             break;
 
-       default :
-           _cupsLangPrintf(stderr, _("lpinfo: Unknown option \"%c\"."),
-                           argv[i][1]);
-           return (1);
+         default :
+             _cupsLangPrintf(stderr, _("%s: Unknown option \"%c\"."), argv[0], *opt);
+             return (1);
+       }
       }
+    }
     else
     {
-      _cupsLangPrintf(stderr, _("lpinfo: Unknown argument \"%s\"."),
-                      argv[i]);
+      _cupsLangPrintf(stderr, _("%s: Unknown argument \"%s\"."), argv[0], argv[i]);
       return (1);
     }
+  }
 
   return (0);
 }
index 9cba172c4a2ce46f7dc0859ce29cecccee5630ee..a3c4f01827704ca4acefdb78cf6f520d5d58dbc5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "lpmove" command for CUPS.
  *
- * Copyright 2007-2010 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -36,7 +36,8 @@ main(int  argc,                               /* I - Number of command-line arguments */
 {
   int          i;                      /* Looping var */
   http_t       *http;                  /* Connection to server */
-  const char   *job;                   /* Job name */
+  const char   *opt,                   /* Option pointer */
+               *job;                   /* Job name */
   int          jobid;                  /* Job ID */
   int          num_dests;              /* Number of destinations */
   cups_dest_t  *dests;                 /* Destinations */
@@ -54,43 +55,48 @@ main(int  argc,                             /* I - Number of command-line arguments */
   src       = NULL;
 
   for (i = 1; i < argc; i ++)
+  {
     if (argv[i][0] == '-')
-      switch (argv[i][1])
+    {
+      for (opt = argv[i] + 1; *opt; opt ++)
       {
-        case 'E' : /* Encrypt */
+       switch (*opt)
+       {
+         case 'E' : /* Encrypt */
 #ifdef HAVE_SSL
-           cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
+             cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 
 #else
-            _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support."),
-                           argv[0]);
+             _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), argv[0]);
 #endif /* HAVE_SSL */
-           break;
-
-        case 'h' : /* Connect to host */
-           if (argv[i][2] != '\0')
-             cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
+             break;
 
-             if (i >= argc)
+         case 'h' : /* Connect to host */
+             if (opt[1] != '\0')
              {
-               _cupsLangPuts(stderr,
-                             _("Error: need hostname after \"-h\" option."));
-               return (1);
-              }
-
-             cupsSetServer(argv[i]);
-           }
-           break;
-
-       default :
-           _cupsLangPrintf(stderr, _("lpmove: Unknown option \"%c\"."),
-                           argv[i][1]);
-           return (1);
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+
+               if (i >= argc)
+               {
+                 _cupsLangPuts(stderr, _("Error: need hostname after \"-h\" option."));
+                 return (1);
+               }
+
+               cupsSetServer(argv[i]);
+             }
+             break;
+
+         default :
+             _cupsLangPrintf(stderr, _("%s: Unknown option \"%c\"."), argv[0], *opt);
+             return (1);
+       }
       }
+    }
     else if (!jobid && !src)
     {
       if (num_dests == 0)
@@ -112,6 +118,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
       _cupsLangPrintf(stderr, _("lpmove: Unknown argument \"%s\"."), argv[i]);
       return (1);
     }
+  }
 
   if ((!jobid && !src) || !dest)
   {
index e2d95a9414bb5a14a0b3dbd1036031dc10556fe5..56b4f604ebaf1905076fe802d5d4fd407d572223 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Printer option program for CUPS.
  *
- * Copyright 2007-2015 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -43,7 +43,8 @@ main(int  argc,                               /* I - Number of command-line arguments */
   int          num_dests;              /* Number of destinations */
   cups_dest_t  *dests;                 /* Destinations */
   cups_dest_t  *dest;                  /* Current destination */
-  char         *printer,               /* Printer name */
+  char         *opt,                   /* Option pointer */
+               *printer,               /* Printer name */
                *instance,              /* Instance name */
                *option;                /* Current option */
 
@@ -62,272 +63,256 @@ main(int  argc,                           /* I - Number of command-line arguments */
   changes     = 0;
 
   for (i = 1; i < argc; i ++)
+  {
     if (argv[i][0] == '-')
     {
-      switch (argv[i][1])
+      for (opt = argv[i] + 1; *opt; opt ++)
       {
-        case 'd' : /* -d printer */
-           if (argv[i][2])
-             printer = argv[i] + 2;
-           else
-           {
-             i ++;
-             if (i >= argc)
-               usage();
-
-             printer = argv[i];
-           }
-
-            if ((instance = strrchr(printer, '/')) != NULL)
-             *instance++ = '\0';
-
-           if (num_dests == 0)
-             num_dests = cupsGetDests(&dests);
-
-            if (num_dests == 0 || !dests ||
-               (dest = cupsGetDest(printer, instance, num_dests,
-                                   dests)) == NULL)
-           {
-             _cupsLangPuts(stderr, _("lpoptions: Unknown printer or class."));
-             return (1);
-           }
+       switch (*opt)
+       {
+         case 'd' : /* -d printer */
+             if (opt[1] != '\0')
+             {
+               printer = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               if (i >= argc)
+                 usage();
 
-          /*
-           * Set the default destination...
-           */
+               printer = argv[i];
+             }
 
-           for (j = 0; j < num_dests; j ++)
-             dests[j].is_default = 0;
+             if ((instance = strrchr(printer, '/')) != NULL)
+               *instance++ = '\0';
 
-           dest->is_default = 1;
+             if (num_dests == 0)
+               num_dests = cupsGetDests(&dests);
 
-           cupsSetDests(num_dests, dests);
+             if (num_dests == 0 || !dests || (dest = cupsGetDest(printer, instance, num_dests, dests)) == NULL)
+             {
+               _cupsLangPuts(stderr, _("lpoptions: Unknown printer or class."));
+               return (1);
+             }
 
-           for (j = 0; j < dest->num_options; j ++)
-             if (cupsGetOption(dest->options[j].name, num_options,
-                               options) == NULL)
-               num_options = cupsAddOption(dest->options[j].name,
-                                           dest->options[j].value,
-                                           num_options, &options);
-           break;
+            /*
+             * Set the default destination...
+             */
 
-       case 'h' : /* -h server */
-           if (argv[i][2])
-             cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
-               usage();
+             for (j = 0; j < num_dests; j ++)
+               dests[j].is_default = 0;
 
-             cupsSetServer(argv[i]);
-           }
-           break;
+             dest->is_default = 1;
 
-        case 'E' : /* Encrypt connection */
-           cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
-           break;
+             cupsSetDests(num_dests, dests);
 
-       case 'l' : /* -l (list options) */
-            if (dest == NULL)
-           {
-             if (num_dests == 0)
-               num_dests = cupsGetDests(&dests);
+             for (j = 0; j < dest->num_options; j ++)
+               if (cupsGetOption(dest->options[j].name, num_options,
+                                 options) == NULL)
+                 num_options = cupsAddOption(dest->options[j].name,
+                                             dest->options[j].value,
+                                             num_options, &options);
+             break;
 
-             if ((dest = cupsGetDest(NULL, NULL, num_dests, dests)) == NULL)
-               dest = dests;
-           }
+         case 'h' : /* -h server */
+             if (opt[1] != '\0')
+             {
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               if (i >= argc)
+                 usage();
 
-            if (dest == NULL)
-             _cupsLangPuts(stderr, _("lpoptions: No printers."));
-           else
-             list_options(dest);
+               cupsSetServer(argv[i]);
+             }
+             break;
 
-            changes = -1;
-           break;
+         case 'E' : /* Encrypt connection */
+             cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
+             break;
 
-       case 'o' : /* -o option[=value] */
-            if (dest == NULL)
-           {
-             if (num_dests == 0)
-               num_dests = cupsGetDests(&dests);
+         case 'l' : /* -l (list options) */
+             if (dest == NULL)
+             {
+               if (num_dests == 0)
+                 num_dests = cupsGetDests(&dests);
 
-             if ((dest = cupsGetDest(NULL, NULL, num_dests, dests)) == NULL)
-               dest = dests;
+               if ((dest = cupsGetDest(NULL, NULL, num_dests, dests)) == NULL)
+                 dest = dests;
+             }
 
              if (dest == NULL)
-              {
                _cupsLangPuts(stderr, _("lpoptions: No printers."));
-                return (1);
-              }
-
-             for (j = 0; j < dest->num_options; j ++)
-               if (cupsGetOption(dest->options[j].name, num_options, options) == NULL)
-                 num_options = cupsAddOption(dest->options[j].name,
-                                             dest->options[j].value,
-                                             num_options, &options);
-           }
-
-           if (argv[i][2])
-             num_options = cupsParseOptions(argv[i] + 2, num_options, &options);
-           else
-           {
-             i ++;
-             if (i >= argc)
-               usage();
-
-             num_options = cupsParseOptions(argv[i], num_options, &options);
-           }
-
-           changes = 1;
-           break;
+             else
+               list_options(dest);
 
-       case 'p' : /* -p printer */
-           if (argv[i][2])
-             printer = argv[i] + 2;
-           else
-           {
-             i ++;
-             if (i >= argc)
-               usage();
+             changes = -1;
+             break;
 
-             printer = argv[i];
-           }
+         case 'o' : /* -o option[=value] */
+             if (dest == NULL)
+             {
+               if (num_dests == 0)
+                 num_dests = cupsGetDests(&dests);
+
+               if ((dest = cupsGetDest(NULL, NULL, num_dests, dests)) == NULL)
+                 dest = dests;
+
+               if (dest == NULL)
+               {
+                 _cupsLangPuts(stderr, _("lpoptions: No printers."));
+                 return (1);
+               }
+
+               for (j = 0; j < dest->num_options; j ++)
+                 if (cupsGetOption(dest->options[j].name, num_options, options) == NULL)
+                   num_options = cupsAddOption(dest->options[j].name,
+                                               dest->options[j].value,
+                                               num_options, &options);
+             }
 
-            if ((instance = strrchr(printer, '/')) != NULL)
-             *instance++ = '\0';
+             if (opt[1] != '\0')
+             {
+               num_options = cupsParseOptions(opt + 1, num_options, &options);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               if (i >= argc)
+                 usage();
 
-           if (num_dests == 0)
-             num_dests = cupsGetDests(&dests);
+               num_options = cupsParseOptions(argv[i], num_options, &options);
+             }
 
-            if ((dest = cupsGetDest(printer, instance, num_dests, dests)) == NULL)
-           {
-             num_dests = cupsAddDest(printer, instance, num_dests, &dests);
-             dest      = cupsGetDest(printer, instance, num_dests, dests);
+             changes = 1;
+             break;
 
-              if (dest == NULL)
+         case 'p' : /* -p printer */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("lpoptions: Unable to add printer or "
-                                 "instance: %s"),
-                               strerror(errno));
-               return (1);
+               printer = opt + 1;
+               opt += strlen(opt) - 1;
              }
-           }
+             else
+             {
+               i ++;
+               if (i >= argc)
+                 usage();
 
-           for (j = 0; j < dest->num_options; j ++)
-             if (cupsGetOption(dest->options[j].name, num_options, options) == NULL)
-               num_options = cupsAddOption(dest->options[j].name,
-                                           dest->options[j].value,
-                                           num_options, &options);
-           break;
+               printer = argv[i];
+             }
+
+             if ((instance = strrchr(printer, '/')) != NULL)
+               *instance++ = '\0';
 
-       case 'r' : /* -r option (remove) */
-            if (dest == NULL)
-           {
              if (num_dests == 0)
                num_dests = cupsGetDests(&dests);
 
-             if ((dest = cupsGetDest(NULL, NULL, num_dests, dests)) == NULL)
-               dest = dests;
-
-             if (dest == NULL)
-              {
-               _cupsLangPuts(stderr, _("lpoptions: No printers."));
-                return (1);
-              }
+             if ((dest = cupsGetDest(printer, instance, num_dests, dests)) == NULL)
+             {
+               num_dests = cupsAddDest(printer, instance, num_dests, &dests);
+               dest      = cupsGetDest(printer, instance, num_dests, dests);
+
+               if (dest == NULL)
+               {
+                 _cupsLangPrintf(stderr, _("lpoptions: Unable to add printer or instance: %s"), strerror(errno));
+                 return (1);
+               }
+             }
 
              for (j = 0; j < dest->num_options; j ++)
-               if (cupsGetOption(dest->options[j].name, num_options,
-                                 options) == NULL)
+               if (cupsGetOption(dest->options[j].name, num_options, options) == NULL)
                  num_options = cupsAddOption(dest->options[j].name,
-                                             dest->options[j].value,
-                                             num_options, &options);
-           }
+                                             dest->options[j].value,
+                                             num_options, &options);
+             break;
 
-           if (argv[i][2])
-             option = argv[i] + 2;
-           else
-           {
-             i ++;
-             if (i >= argc)
-               usage();
-
-             option = argv[i];
-           }
-
-            for (j = 0; j < num_options; j ++)
-             if (!_cups_strcasecmp(options[j].name, option))
+         case 'r' : /* -r option (remove) */
+             if (dest == NULL)
              {
-              /*
-               * Remove this option...
-               */
-
-               num_options --;
-
-               if (j < num_options)
-                 memmove(options + j, options + j + 1, sizeof(cups_option_t) * (size_t)(num_options - j));
-               break;
-              }
-
-           changes = 1;
-           break;
-
-        case 'x' : /* -x printer */
-           if (argv[i][2])
-             printer = argv[i] + 2;
-           else
-           {
-             i ++;
-             if (i >= argc)
-               usage();
-
-             printer = argv[i];
-           }
+               if (num_dests == 0)
+                 num_dests = cupsGetDests(&dests);
+
+               if ((dest = cupsGetDest(NULL, NULL, num_dests, dests)) == NULL)
+                 dest = dests;
+
+               if (dest == NULL)
+               {
+                 _cupsLangPuts(stderr, _("lpoptions: No printers."));
+                 return (1);
+               }
+
+               for (j = 0; j < dest->num_options; j ++)
+                 if (cupsGetOption(dest->options[j].name, num_options,
+                                   options) == NULL)
+                   num_options = cupsAddOption(dest->options[j].name,
+                                               dest->options[j].value,
+                                               num_options, &options);
+             }
 
-            if ((instance = strrchr(printer, '/')) != NULL)
-             *instance++ = '\0';
+             if (opt[1] != '\0')
+             {
+               option = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               if (i >= argc)
+                 usage();
 
-           if (num_dests == 0)
-             num_dests = cupsGetDests(&dests);
+               option = argv[i];
+             }
 
-            if ((dest = cupsGetDest(printer, instance, num_dests,
-                                   dests)) != NULL)
-           {
-              cupsFreeOptions(dest->num_options, dest->options);
+              num_options = cupsRemoveOption(option, num_options, &options);
 
-             /*
-             * If we are "deleting" the default printer, then just set the
-             * number of options to 0; if it is also the system default
-             * then cupsSetDests() will remove it for us...
-             */
+             changes = 1;
+             break;
 
-             if (dest->is_default)
+         case 'x' : /* -x printer */
+             if (opt[1] != '\0')
              {
-               dest->num_options = 0;
-               dest->options     = NULL;
+               printer = opt + 1;
+               opt += strlen(opt) - 1;
              }
              else
              {
-               num_dests --;
+               i ++;
+               if (i >= argc)
+                 usage();
 
-               j = dest - dests;
-               if (j < num_dests)
-                 memmove(dest, dest + 1, (size_t)(num_dests - j) * sizeof(cups_dest_t));
+               printer = argv[i];
              }
-           }
 
-           cupsSetDests(num_dests, dests);
-           dest    = NULL;
-           changes = -1;
-           break;
+             if ((instance = strrchr(printer, '/')) != NULL)
+               *instance++ = '\0';
+
+             if (num_dests == 0)
+               num_dests = cupsGetDests(&dests);
+
+              num_dests = cupsRemoveDest(printer, instance, num_dests, &dests);
 
-       default :
-           usage();
+             cupsSetDests(num_dests, dests);
+             dest    = NULL;
+             changes = -1;
+             break;
+
+         default :
+             usage();
+       }
       }
     }
     else
+    {
       usage();
+    }
+  }
 
   if (num_dests == 0)
     num_dests = cupsGetDests(&dests);
index c487f870867a88b919483882d1f2e48419cfb841..c13739fc8968cf70d27cdd641ae9629f56ce266f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "lpstat" command for CUPS.
  *
- * Copyright 2007-2014 by Apple Inc.
+ * Copyright 2007-2016 by Apple Inc.
  * Copyright 1997-2006 by Easy Software Products.
  *
  * These coded instructions, statements, and computer programs are the
@@ -48,6 +48,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
 {
   int          i,                      /* Looping var */
                status;                 /* Exit status */
+  char         *opt;                   /* Option pointer */
   int          num_dests;              /* Number of user destinations */
   cups_dest_t  *dests;                 /* User destinations */
   int          long_status;            /* Long status report? */
@@ -71,395 +72,394 @@ main(int  argc,                           /* I - Number of command-line arguments */
   op          = 0;
 
   for (i = 1; i < argc; i ++)
+  {
     if (argv[i][0] == '-')
-      switch (argv[i][1])
+    {
+      for (opt = argv[i] + 1; *opt; opt ++)
       {
-        case 'D' : /* Show description */
-           long_status = 1;
-           break;
+       switch (argv[i][1])
+       {
+         case 'D' : /* Show description */
+             long_status = 1;
+             break;
 
-        case 'E' : /* Encrypt */
+         case 'E' : /* Encrypt */
 #ifdef HAVE_SSL
-           cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
+             cupsSetEncryption(HTTP_ENCRYPT_REQUIRED);
 #else
-            _cupsLangPrintf(stderr,
-                           _("%s: Sorry, no encryption support."),
-                           argv[0]);
+             _cupsLangPrintf(stderr,
+                             _("%s: Sorry, no encryption support."),
+                             argv[0]);
 #endif /* HAVE_SSL */
-           break;
+             break;
 
-       case 'H' : /* Show server and port */
-           if (cupsServer()[0] == '/')
-             _cupsLangPuts(stdout, cupsServer());
-           else
-             _cupsLangPrintf(stdout, "%s:%d", cupsServer(), ippPort());
-           op = 'H';
-            break;
-
-        case 'P' : /* Show paper types */
-           op = 'P';
-           break;
-
-        case 'R' : /* Show ranking */
-           ranking = 1;
-           break;
-
-        case 'S' : /* Show charsets */
-           op = 'S';
-           if (!argv[i][2])
-             i ++;
-           break;
-
-        case 'U' : /* Username */
-           if (argv[i][2])
-             cupsSetUser(argv[i] + 2);
-           else
-           {
-             i ++;
-             if (i >= argc)
+         case 'H' : /* Show server and port */
+             if (cupsServer()[0] == '/')
+               _cupsLangPuts(stdout, cupsServer());
+             else
+               _cupsLangPrintf(stdout, "%s:%d", cupsServer(), ippPort());
+             op = 'H';
+             break;
+
+         case 'P' : /* Show paper types */
+             op = 'P';
+             break;
+
+         case 'R' : /* Show ranking */
+             ranking = 1;
+             break;
+
+         case 'S' : /* Show charsets */
+             op = 'S';
+             if (!argv[i][2])
+               i ++;
+             break;
+
+         case 'U' : /* Username */
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected username after "
-                                 "\"-U\" option."),
-                               argv[0]);
-               return (1);
+               cupsSetUser(opt + 1);
+               opt += strlen(opt) - 1;
              }
+             else
+             {
+               i ++;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected username after \"-U\" option."), argv[0]);
+                 return (1);
+               }
 
-              cupsSetUser(argv[i]);
-           }
-           break;
+               cupsSetUser(argv[i]);
+             }
+             break;
 
-        case 'W' : /* Show which jobs? */
-           if (argv[i][2])
-             which = argv[i] + 2;
-           else
-           {
-             i ++;
+         case 'W' : /* Show which jobs? */
+             if (opt[1] != '\0')
+             {
+               which = opt + 1;
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-             if (i >= argc)
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" option."), argv[0]);
+                 return (1);
+               }
+
+               which = argv[i];
+             }
+
+             if (strcmp(which, "completed") && strcmp(which, "not-completed") && strcmp(which, "all"))
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - need \"completed\", "
-                                 "\"not-completed\", or \"all\" after "
-                                 "\"-W\" option."),
-                               argv[0]);
+               _cupsLangPrintf(stderr, _("%s: Error - need \"completed\", \"not-completed\", or \"all\" after \"-W\" option."), argv[0]);
                return (1);
-              }
+             }
+             break;
 
-             which = argv[i];
-           }
+         case 'a' : /* Show acceptance status */
+             op = 'a';
 
-            if (strcmp(which, "completed") && strcmp(which, "not-completed") &&
-               strcmp(which, "all"))
-           {
-             _cupsLangPrintf(stderr,
-                             _("%s: Error - need \"completed\", "
-                               "\"not-completed\", or \"all\" after "
-                               "\"-W\" option."),
-                             argv[0]);
-             return (1);
-           }
-           break;
+             if (opt[1] != '\0')
+             {
+               check_dest(argv[0], opt + 1, &num_dests, &dests);
 
-        case 'a' : /* Show acceptance status */
-           op = 'a';
+               status |= show_accepting(opt + 1, num_dests, dests);
+               opt += strlen(opt) - 1;
+             }
+             else if ((i + 1) < argc && argv[i + 1][0] != '-')
+             {
+               i ++;
 
-           if (argv[i][2])
-           {
-              check_dest(argv[0], argv[i] + 2, &num_dests, &dests);
+               check_dest(argv[0], argv[i], &num_dests, &dests);
 
-             status |= show_accepting(argv[i] + 2, num_dests, dests);
-           }
-           else if ((i + 1) < argc && argv[i + 1][0] != '-')
-           {
-             i ++;
+               status |= show_accepting(argv[i], num_dests, dests);
+             }
+             else
+             {
+               if (num_dests <= 1)
+               {
+                 cupsFreeDests(num_dests, dests);
+                 num_dests = cupsGetDests(&dests);
+
+                 if (num_dests == 0 && (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST || cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED))
+                 {
+                   _cupsLangPrintf(stderr, _("%s: Error - add '/version=1.1' to server name."), argv[0]);
+                   return (1);
+                 }
+               }
+
+               status |= show_accepting(NULL, num_dests, dests);
+             }
+             break;
 
-              check_dest(argv[0], argv[i], &num_dests, &dests);
+         case 'c' : /* Show classes and members */
+             op = 'c';
 
-             status |= show_accepting(argv[i], num_dests, dests);
-           }
-           else
-           {
-              if (num_dests <= 1)
+             if (opt[1] != '\0')
              {
-               cupsFreeDests(num_dests, dests);
-               num_dests = cupsGetDests(&dests);
+               check_dest(argv[0], opt + 1, &num_dests, &dests);
+
+               status |= show_classes(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else if ((i + 1) < argc && argv[i + 1][0] != '-')
+             {
+               i ++;
+
+               check_dest(argv[0], argv[i], &num_dests, &dests);
+
+               status |= show_classes(argv[i]);
+             }
+             else
+               status |= show_classes(NULL);
+             break;
+
+         case 'd' : /* Show default destination */
+             op = 'd';
+
+             if (num_dests != 1 || !dests[0].is_default)
+             {
+               cupsFreeDests(num_dests, dests);
+
+               dests     = cupsGetNamedDest(CUPS_HTTP_DEFAULT, NULL, NULL);
+               num_dests = dests ? 1 : 0;
 
                if (num_dests == 0 &&
                    (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
                     cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED))
                {
-                 _cupsLangPrintf(stderr,
-                                 _("%s: Error - add '/version=1.1' to server "
-                                   "name."), argv[0]);
+                 _cupsLangPrintf(stderr, _("%s: Error - add '/version=1.1' to server name."), argv[0]);
                  return (1);
                }
              }
 
-             status |= show_accepting(NULL, num_dests, dests);
-           }
-           break;
-
-        case 'c' : /* Show classes and members */
-           op = 'c';
-
-           if (argv[i][2])
-           {
-              check_dest(argv[0], argv[i] + 2, &num_dests, &dests);
+             show_default(dests);
+             break;
 
-             status |= show_classes(argv[i] + 2);
-           }
-           else if ((i + 1) < argc && argv[i + 1][0] != '-')
-           {
-             i ++;
+         case 'f' : /* Show forms */
+             op   = 'f';
+             if (opt[1] != '\0')
+             {
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
+               if (i >= argc)
+                 return (1);
+             }
+             break;
 
-              check_dest(argv[0], argv[i], &num_dests, &dests);
+         case 'h' : /* Connect to host */
+             if (opt[1] != '\0')
+             {
+               cupsSetServer(opt + 1);
+               opt += strlen(opt) - 1;
+             }
+             else
+             {
+               i ++;
 
-             status |= show_classes(argv[i]);
-           }
-           else
-             status |= show_classes(NULL);
-           break;
+               if (i >= argc)
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - expected hostname after \"-h\" option."), argv[0]);
+                 return (1);
+               }
 
-        case 'd' : /* Show default destination */
-           op = 'd';
+               cupsSetServer(argv[i]);
+             }
+             break;
 
-            if (num_dests != 1 || !dests[0].is_default)
-           {
-             cupsFreeDests(num_dests, dests);
+         case 'l' : /* Long status or long job status */
+             long_status = 2;
+             break;
 
-             dests     = cupsGetNamedDest(CUPS_HTTP_DEFAULT, NULL, NULL);
-             num_dests = dests ? 1 : 0;
+         case 'o' : /* Show jobs by destination */
+             op = 'o';
 
-             if (num_dests == 0 &&
-                 (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
-                  cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED))
+             if (opt[1])
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - add '/version=1.1' to server "
-                                 "name."), argv[0]);
-               return (1);
+               check_dest(argv[0], opt + 1, &num_dests, &dests);
+
+               status |= show_jobs(opt + 1, NULL, long_status, ranking, which);
+               opt += strlen(opt) - 1;
              }
-           }
+             else if ((i + 1) < argc && argv[i + 1][0] != '-')
+             {
+               i ++;
 
-            show_default(dests);
-           break;
+               check_dest(argv[0], argv[i], &num_dests, &dests);
 
-        case 'f' : /* Show forms */
-           op   = 'f';
-           if (!argv[i][2])
-             i ++;
-           break;
+               status |= show_jobs(argv[i], NULL, long_status, ranking, which);
+             }
+             else
+               status |= show_jobs(NULL, NULL, long_status, ranking, which);
+             break;
 
-        case 'h' : /* Connect to host */
-           if (argv[i][2])
-             cupsSetServer(argv[i] + 2);
-           else
-           {
-             i ++;
+         case 'p' : /* Show printers */
+             op = 'p';
 
-             if (i >= argc)
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - expected hostname after "
-                                 "\"-h\" option."),
-                               argv[0]);
-               return (1);
-              }
+               check_dest(argv[0], opt + 1, &num_dests, &dests);
 
-             cupsSetServer(argv[i]);
-           }
-           break;
+               status |= show_printers(opt + 1, num_dests, dests,
+                                       long_status);
+               opt += strlen(opt) - 1;
+             }
+             else if ((i + 1) < argc && argv[i + 1][0] != '-')
+             {
+               i ++;
 
-        case 'l' : /* Long status or long job status */
-           long_status = 2;
-           break;
+               check_dest(argv[0], argv[i], &num_dests, &dests);
 
-        case 'o' : /* Show jobs by destination */
-           op = 'o';
+               status |= show_printers(argv[i], num_dests, dests, long_status);
+             }
+             else
+             {
+               if (num_dests <= 1)
+               {
+                 cupsFreeDests(num_dests, dests);
+                 num_dests = cupsGetDests(&dests);
+
+                 if (num_dests == 0 &&
+                     (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+                      cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED))
+                 {
+                   _cupsLangPrintf(stderr, _("%s: Error - add '/version=1.1' to server name."), argv[0]);
+                   return (1);
+                 }
+               }
 
-           if (argv[i][2])
-           {
-              check_dest(argv[0], argv[i] + 2, &num_dests, &dests);
+               status |= show_printers(NULL, num_dests, dests, long_status);
+             }
+             break;
 
-             status |= show_jobs(argv[i] + 2, NULL, long_status, ranking,
-                                 which);
-           }
-           else if ((i + 1) < argc && argv[i + 1][0] != '-')
-           {
-             i ++;
+         case 'r' : /* Show scheduler status */
+             op = 'r';
 
-              check_dest(argv[0], argv[i], &num_dests, &dests);
+             show_scheduler();
+             break;
 
-             status |= show_jobs(argv[i], NULL, long_status, ranking, which);
-           }
-           else
-             status |= show_jobs(NULL, NULL, long_status, ranking, which);
-           break;
+         case 's' : /* Show summary */
+             op = 's';
 
-        case 'p' : /* Show printers */
-           op = 'p';
+             if (num_dests <= 1)
+             {
+               cupsFreeDests(num_dests, dests);
+               num_dests = cupsGetDests(&dests);
 
-           if (argv[i][2])
-           {
-              check_dest(argv[0], argv[i] + 2, &num_dests, &dests);
+               if (num_dests == 0 &&
+                   (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+                    cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED))
+               {
+                 _cupsLangPrintf(stderr, _("%s: Error - add '/version=1.1' to server name."), argv[0]);
+                 return (1);
+               }
+             }
 
-             status |= show_printers(argv[i] + 2, num_dests, dests,
-                                     long_status);
-           }
-           else if ((i + 1) < argc && argv[i + 1][0] != '-')
-           {
-             i ++;
+             show_default(cupsGetDest(NULL, NULL, num_dests, dests));
+             status |= show_classes(NULL);
+             status |= show_devices(NULL, num_dests, dests);
+             break;
 
-              check_dest(argv[0], argv[i], &num_dests, &dests);
+         case 't' : /* Show all info */
+             op = 't';
 
-             status |= show_printers(argv[i], num_dests, dests, long_status);
-           }
-           else
-           {
-              if (num_dests <= 1)
+             if (num_dests <= 1)
              {
-               cupsFreeDests(num_dests, dests);
+               cupsFreeDests(num_dests, dests);
                num_dests = cupsGetDests(&dests);
 
                if (num_dests == 0 &&
                    (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
                     cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED))
                {
-                 _cupsLangPrintf(stderr,
-                                 _("%s: Error - add '/version=1.1' to server "
-                                   "name."), argv[0]);
+                 _cupsLangPrintf(stderr, _("%s: Error - add '/version=1.1' to server name."), argv[0]);
                  return (1);
                }
              }
 
+             show_scheduler();
+             show_default(cupsGetDest(NULL, NULL, num_dests, dests));
+             status |= show_classes(NULL);
+             status |= show_devices(NULL, num_dests, dests);
+             status |= show_accepting(NULL, num_dests, dests);
              status |= show_printers(NULL, num_dests, dests, long_status);
-           }
-           break;
-
-        case 'r' : /* Show scheduler status */
-           op = 'r';
-
-           show_scheduler();
-           break;
-
-        case 's' : /* Show summary */
-           op = 's';
+             status |= show_jobs(NULL, NULL, long_status, ranking, which);
+             break;
 
-            if (num_dests <= 1)
-           {
-             cupsFreeDests(num_dests, dests);
-             num_dests = cupsGetDests(&dests);
+         case 'u' : /* Show jobs by user */
+             op = 'u';
 
-             if (num_dests == 0 &&
-                 (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
-                  cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED))
+             if (opt[1] != '\0')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - add '/version=1.1' to server "
-                                 "name."), argv[0]);
-               return (1);
+               status |= show_jobs(NULL, opt + 1, long_status, ranking, which);
+               opt += strlen(opt) - 1;
              }
-           }
-
-           show_default(cupsGetDest(NULL, NULL, num_dests, dests));
-           status |= show_classes(NULL);
-           status |= show_devices(NULL, num_dests, dests);
-           break;
-
-        case 't' : /* Show all info */
-           op = 't';
-
-            if (num_dests <= 1)
-           {
-             cupsFreeDests(num_dests, dests);
-             num_dests = cupsGetDests(&dests);
-
-             if (num_dests == 0 &&
-                 (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
-                  cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED))
+             else if ((i + 1) < argc && argv[i + 1][0] != '-')
              {
-               _cupsLangPrintf(stderr,
-                               _("%s: Error - add '/version=1.1' to server "
-                                 "name."), argv[0]);
-               return (1);
+               i ++;
+               status |= show_jobs(NULL, argv[i], long_status, ranking, which);
              }
-           }
-
-           show_scheduler();
-           show_default(cupsGetDest(NULL, NULL, num_dests, dests));
-           status |= show_classes(NULL);
-           status |= show_devices(NULL, num_dests, dests);
-           status |= show_accepting(NULL, num_dests, dests);
-           status |= show_printers(NULL, num_dests, dests, long_status);
-           status |= show_jobs(NULL, NULL, long_status, ranking, which);
-           break;
-
-        case 'u' : /* Show jobs by user */
-           op = 'u';
-
-           if (argv[i][2])
-             status |= show_jobs(NULL, argv[i] + 2, long_status, ranking,
-                                 which);
-           else if ((i + 1) < argc && argv[i + 1][0] != '-')
-           {
-             i ++;
-             status |= show_jobs(NULL, argv[i], long_status, ranking, which);
-           }
-           else
-             status |= show_jobs(NULL, NULL, long_status, ranking, which);
-           break;
+             else
+               status |= show_jobs(NULL, NULL, long_status, ranking, which);
+             break;
 
-        case 'v' : /* Show printer devices */
-           op = 'v';
+         case 'v' : /* Show printer devices */
+             op = 'v';
 
-           if (argv[i][2])
-           {
-              check_dest(argv[0], argv[i] + 2, &num_dests, &dests);
+             if (opt[1] != '\0')
+             {
+               check_dest(argv[0], opt + 1, &num_dests, &dests);
 
-             status |= show_devices(argv[i] + 2, num_dests, dests);
-           }
-           else if ((i + 1) < argc && argv[i + 1][0] != '-')
-           {
-             i ++;
+               status |= show_devices(opt + 1, num_dests, dests);
+               opt += strlen(opt) - 1;
+             }
+             else if ((i + 1) < argc && argv[i + 1][0] != '-')
+             {
+               i ++;
 
-              check_dest(argv[0], argv[i], &num_dests, &dests);
+               check_dest(argv[0], argv[i], &num_dests, &dests);
 
-             status |= show_devices(argv[i], num_dests, dests);
-           }
-           else
-           {
-             if (num_dests <= 1)
+               status |= show_devices(argv[i], num_dests, dests);
+             }
+             else
              {
-               cupsFreeDests(num_dests, dests);
-               num_dests = cupsGetDests(&dests);
-
-               if (num_dests == 0 &&
-                   (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
-                    cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED))
+               if (num_dests <= 1)
                {
-                 _cupsLangPrintf(stderr,
-                                 _("%s: Error - add '/version=1.1' to server "
-                                   "name."), argv[0]);
-                 return (1);
+                 cupsFreeDests(num_dests, dests);
+                 num_dests = cupsGetDests(&dests);
+
+                 if (num_dests == 0 &&
+                     (cupsLastError() == IPP_STATUS_ERROR_BAD_REQUEST ||
+                      cupsLastError() == IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED))
+                 {
+                   _cupsLangPrintf(stderr, _("%s: Error - add '/version=1.1' to server name."), argv[0]);
+                   return (1);
+                 }
                }
-             }
 
-             status |= show_devices(NULL, num_dests, dests);
-           }
-           break;
+               status |= show_devices(NULL, num_dests, dests);
+             }
+             break;
 
-       default :
-           _cupsLangPrintf(stderr,
-                           _("%s: Error - unknown option \"%c\"."),
-                           argv[0], argv[i][1]);
-           return (1);
+         default :
+             _cupsLangPrintf(stderr, _("%s: Error - unknown option \"%c\"."), argv[0], argv[i][1]);
+             return (1);
+       }
       }
+    }
     else
     {
       status |= show_jobs(argv[i], NULL, long_status, ranking, which);
       op = 'o';
     }
+  }
 
   if (!op)
     status |= show_jobs(NULL, cupsUser(), long_status, ranking, which);
index 51e454fb1cfe37c2ee985eca810d7d834a75530b..d19f433c6c1e1af732b21b7de13315ea352e4ea1 100644 (file)
@@ -1,7 +1,7 @@
 {#printer_name=0?:
 <TABLE CLASS="list" SUMMARY="Class List">
 <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> Queue Name <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Queue Name <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Description</TH><TH>Location</TH><TH>Members</TH><TH>Status</TH></TR>
+<TR><TH>Queue Name</TH><TH>Description</TH><TH>Location</TH><TH>Members</TH><TH>Status</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
index c04d02bda393c044ab948c972c3dd8fd38563cbf..9b4630496bb5a3786084335141354a6a878ddaff 100644 (file)
@@ -1,7 +1,7 @@
 {#printer_name=0?:
 <TABLE CLASS="list" SUMMARY="Class List">
 <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> Wartweschlange <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Warteschlange <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Mitglieder</TH><TH>Status</TH></TR>
+<TR><TH>Wartweschlange</TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Mitglieder</TH><TH>Status</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
index d24c3a194a5de40d3529fa27c0bc03307bd5d5db..7095926075bb8cfc195a9ec9925d400f525cac93 100644 (file)
@@ -1,7 +1,7 @@
 {#job_id=0?:
 <TABLE CLASS="list" SUMMARY="Auftragsliste">
 <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>Name</TH><TH>Benutzer</TH><TH>Grösse</TH><TH>Seiten</TH><TH>Status</TH><TH>Steuerung</TH></TR>
+<TR><TH>ID</TH><TH>Name</TH><TH>Benutzer</TH><TH>Grösse</TH><TH>Seiten</TH><TH>Status</TH><TH>Steuerung</TH></TR>
 </THEAD>
 <TBODY>
 {[job_id]
@@ -11,9 +11,9 @@
 <TD>{?job_originating_user_name=?Einbehalten:{job_originating_user_name}}&nbsp;</TD>
 <TD>{job_k_octets}k&nbsp;</TD>
 <TD>{job_media_sheets_completed=0?Unbekannt:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?unerledigt seit<BR>{time_at_creation}:{job_state=4?angehalten seit<BR>{time_at_creation}:
-{job_state=5?verarbeitet seit<BR>{time_at_processing}:{job_state=6?gestoppt:
-{job_state=7?gelöscht am<BR>{time_at_completed}:{job_state=8?abgebrochen:beendet am<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
+<TD>{job_state=3?unerledigt seit<BR>{?time_at_creation=?Unknown:{time_at_creation}}:{job_state=4?angehalten seit<BR>{?time_at_creation=?Unknown:{time_at_creation}}:
+{job_state=5?verarbeitet seit<BR>{?time_at_processing=?Unknown:{time_at_processing}}:{job_state=6?gestoppt:
+{job_state=7?gelöscht am<BR>{?time_at_completed=?Unknown:{time_at_completed}}:{job_state=8?abgebrochen:beendet am<BR>{?time_at_completed=?Unknown:{time_at_completed}}}}}}}}&nbsp;{job_printer_state_message?<BR>
 <EM>"{job_printer_state_message}"</EM>:}</TD>
 <TD>
 {job_preserved>0?{job_state>5?
index 1164045a3ef63daa5cced87f4fa0e76ac421d029..2491b5921b13a89f044d9e5bd7a6c9c549e3902f 100644 (file)
@@ -1,6 +1,7 @@
 <TABLE CLASS="inset" SUMMARY="Seitenverwaltung">
 <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; Vorherige anzeigen"></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="Nächste anzeigen &#x25b6;"></FORM>:&nbsp;}</TD>
+       <TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="&#x25c0;&#x25c0; Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Vorherige anzeigen"></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="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Nächste anzeigen &#x25b6;"></FORM>:&nbsp;}
+       {LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last &#x25b6;&#x25b6;"></FORM>:}</TD>
 </TR>
 </TABLE>
index 360154fec205752dbfcfc2227d6dddbfeef389e0..42be95bf55cbc447884ae7339c395d7fb9e7509e 100644 (file)
@@ -1,7 +1,7 @@
 {#printer_name=0?:
 <TABLE CLASS="list" SUMMARY="Druckerliste">
 <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> Queue Name <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Queue Name <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Marke und Modell</TH><TH>Status</TH></TR>
+<TR><TH>Queue Name</TH><TH>Beschreibung</TH><TH>Ort</TH><TH>Marke und Modell</TH><TH>Status</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
index 6fde7bf621273350ebaa0b34a5ebef93a37ffffb..30d4adbfaa942b26d159368c11b0f77dbc404e0f 100644 (file)
@@ -1,7 +1,7 @@
 {#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>
+<TR><TH>Nombre de la cola</TH><TH>Descripci&oacute;n</TH><TH>Ubicaci&oacute;n</TH><TH>Miembros</TH><TH>Estado</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
index 65fb6cbb41350c5705d1fb6fffa75f6b4793a2b1..def2939e2f53b4e850eed0d107748e1eaef613b7 100644 (file)
@@ -1,7 +1,7 @@
 {#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>
+<TR><TH>ID</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]
@@ -11,9 +11,9 @@
 <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?interrumpido:completado el<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
+<TD>{job_state=3?pendiente desde<BR>{?time_at_creation=?Unknown:{time_at_creation}}:{job_state=4?retenido desde<BR>{?time_at_creation=?Unknown:{time_at_creation}}:
+{job_state=5?en proceso desde<BR>{?time_at_processing=?Unknown:{time_at_processing}}:{job_state=6?parado:
+{job_state=7?cancelado el<BR>{?time_at_completed=?Unknown:{time_at_completed}}:{job_state=8?interrumpido:completado el<BR>{?time_at_completed=?Unknown:{time_at_completed}}}}}}}}&nbsp;{job_printer_state_message?<BR>
 <EM>"{job_printer_state_message}"</EM>:}</TD>
 <TD>
 {job_preserved>0?{job_state>5?
index 5f27c106058d0c113296477d4323d9cee012914b..2b228cbdad7a5fb8c859441b3215741bc9c6dd68 100644 (file)
@@ -1,6 +1,7 @@
 <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>
+       <TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="&#x25c0;&#x25c0; Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><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="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Mostrar siguientes &#x25b6;"></FORM>:&nbsp;}
+       {LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last &#x25b6;&#x25b6;"></FORM>:}</TD>
 </TR>
 </TABLE>
index 6b97fd9e6c297376b07f870bb496680d79ffd1b9..5d84b1ab78f4c0662ec33445837cf03fab69e58a 100644 (file)
@@ -1,7 +1,7 @@
 {#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>
+<TR><TH>Nombre de la cola</TH><TH>Descripci&oacute;n</TH><TH>Ubicaci&oacute;n</TH><TH>Marca y modelo</TH><TH>Estado</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
index 823a832a9e6a55b216a482da3e09fcd4af12ab5e..64cd8c0059b0be25cca776cd7b49bf23327ec1a7 100644 (file)
@@ -1,7 +1,7 @@
 {#printer_name=0?:
 <TABLE CLASS="list" SUMMARY="クラスの一覧">
 <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> キュー名 <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> キュー名 <SMALL>&#x25bc;</SMALL>}</A></TH><TH>説明</TH><TH>場所</TH><TH>メンバー</TH><TH>状態</TH></TR>
+<TR><TH>キュー名</TH><TH>説明</TH><TH>場所</TH><TH>メンバー</TH><TH>状態</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
index 220c950aaf49a24c0e2f0e0c16cab7b42257779b..6904df4ee4d09ba82c916d364da9f5ec1402e8ed 100644 (file)
@@ -1,7 +1,7 @@
 {#job_id=0?:
 <TABLE CLASS="list" SUMMARY="ジョブの一覧">
 <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>名前</TH><TH>ユーザー</TH><TH>サイズ</TH><TH>ページ</TH><TH>状態</TH><TH>制御</TH></TR>
+<TR><TH>ID</TH><TH>名前</TH><TH>ユーザー</TH><TH>サイズ</TH><TH>ページ</TH><TH>状態</TH><TH>制御</TH></TR>
 </THEAD>
 <TBODY>
 {[job_id]
@@ -11,9 +11,9 @@
 <TD>{?job_originating_user_name=?隠匿:{job_originating_user_name}}&nbsp;</TD>
 <TD>{job_k_octets}k&nbsp;</TD>
 <TD>{job_media_sheets_completed=0?不明:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?{time_at_creation}<BR>から保留中:{job_state=4?{time_at_creation}<BR>から保留中:
-{job_state=5?{time_at_processing}<BR>から処理中:{job_state=6?に停止:
-{job_state=7?{time_at_completed}<BR>にキャンセル:{job_state=8?に中断:{time_at_completed}<BR>に完了}}}}}}&nbsp;{job_printer_state_message?<BR>
+<TD>{job_state=3?{?time_at_creation=?Unknown:{time_at_creation}}<BR>から保留中:{job_state=4?{?time_at_creation=?Unknown:{time_at_creation}}<BR>から保留中:
+{job_state=5?{?time_at_processing=?Unknown:{time_at_processing}}<BR>から処理中:{job_state=6?に停止:
+{job_state=7?{?time_at_completed=?Unknown:{time_at_completed}}<BR>にキャンセル:{job_state=8?に中断:{?time_at_completed=?Unknown:{time_at_completed}}<BR>に完了}}}}}}&nbsp;{job_printer_state_message?<BR>
 <EM>"{job_printer_state_message}"</EM>:}</TD>
 <TD>
 {job_preserved>0?{job_state>5?
index ebba3a0040c16e06c8a8413ccf645b1320e2a6cc..ff7e976415c7534ffd3db24243747dd7b996b2b7 100644 (file)
@@ -1,6 +1,7 @@
 <TABLE CLASS="inset" SUMMARY="Paging Bar">
 <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; 前を表示"></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="次を表示 &#x25b6;"></FORM>:&nbsp;}</TD>
+       <TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="&#x25c0;&#x25c0; Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; 前を表示"></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="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="次を表示 &#x25b6;"></FORM>:&nbsp;}
+       {LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last &#x25b6;&#x25b6;"></FORM>:}</TD>
 </TR>
 </TABLE>
index a8caaffd2abdd0b7d802a33d188c7e243f699ded..70bbc8158647c56fe5e45464e4b79c4b9d7abe4a 100644 (file)
@@ -1,7 +1,7 @@
 {#printer_name=0?:
 <TABLE CLASS="list" SUMMARY="プリンターの一覧">
 <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> キュー名 <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> キュー名 <SMALL>&#x25bc;</SMALL>}</A></TH><TH>説明</TH><TH>場所</TH><TH>メーカーとモデル</TH><TH>状態</TH></TR>
+<TR><TH>キュー名</TH><TH>説明</TH><TH>場所</TH><TH>メーカーとモデル</TH><TH>状態</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
index 541e786a6af0e159abcf74839da14a6942a6ffbd..2f62855947c3a3c018508ee4cf816b2a754f8d05 100644 (file)
@@ -1,7 +1,7 @@
 {#job_id=0?:
 <TABLE CLASS="list" SUMMARY="Job List">
 <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>Name</TH><TH>User</TH><TH>Size</TH><TH>Pages</TH><TH>State</TH><TH>Control</TH></TR>
+<TR><TH>ID</TH><TH>Name</TH><TH>User</TH><TH>Size</TH><TH>Pages</TH><TH>State</TH><TH>Control</TH></TR>
 </THEAD>
 <TBODY>
 {[job_id]
@@ -11,9 +11,9 @@
 <TD>{?job_originating_user_name=?Withheld:{job_originating_user_name}}&nbsp;</TD>
 <TD>{job_k_octets}k&nbsp;</TD>
 <TD>{job_media_sheets_completed=0?Unknown:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?pending since<BR>{time_at_creation}:{job_state=4?held since<BR>{time_at_creation}:
-{job_state=5?processing since<BR>{time_at_processing}:{job_state=6?stopped:
-{job_state=7?canceled at<BR>{time_at_completed}:{job_state=8?aborted:completed at<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
+<TD>{job_state=3?pending since<BR>{?time_at_creation=?Unknown:{time_at_creation}}:{job_state=4?held since<BR>{?time_at_creation=?Unknown:{time_at_creation}}:
+{job_state=5?processing since<BR>{?time_at_processing=?Unknown:{time_at_processing}}:{job_state=6?stopped:
+{job_state=7?canceled at<BR>{?time_at_completed=?Unknown:{time_at_completed}}:{job_state=8?aborted:completed at<BR>{?time_at_completed=?Unknown:{time_at_completed}}}}}}}}&nbsp;{job_printer_state_message?<BR>
 <EM>"{job_printer_state_message}"</EM>:}</TD>
 <TD>
 {job_preserved>0?{job_state>5?
index ebd688d51bd65d64242cedbd27e947698e315047..76e01675dc819fec92109f4734b49a30a26356c3 100644 (file)
@@ -1,6 +1,7 @@
 <TABLE CLASS="inset" SUMMARY="Paging Bar">
 <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; Show Previous"></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="Show Next &#x25b6;"></FORM>:&nbsp;}</TD>
+       <TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="&#x25c0;&#x25c0; Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Show Previous"></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="Show Next &#x25b6;"></FORM>:&nbsp;}
+       {LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last &#x25b6;&#x25b6;"></FORM>:}</TD>
 </TR>
 </TABLE>
index e0a3228d040915a04ef0ac2a7b10b6231c4e8c50..a80763e0c2aabbc4d2473b710bae0d272334cea1 100644 (file)
@@ -1,7 +1,7 @@
 {#printer_name=0?:
 <TABLE CLASS="list" SUMMARY="Printer List">
 <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> Queue Name <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Queue Name <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Description</TH><TH>Location</TH><TH>Make and Model</TH><TH>Status</TH></TR>
+<TR><TH>Queue Name</TH><TH>Description</TH><TH>Location</TH><TH>Make and Model</TH><TH>Status</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
diff --git a/templates/pt_BR/add-class.tmpl b/templates/pt_BR/add-class.tmpl
new file mode 100644 (file)
index 0000000..69efa3f
--- /dev/null
@@ -0,0 +1,37 @@
+<H2 CLASS="title">Adicionar classe</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Nome:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Pode conter qualquer caractere imprim&iacute;vel, exceto "/", "#", e espa&ccedil;o em branco)</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Descri&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Descri&ccedil;&atilde;o leg&iacute;vel para humanos, tal como "HP LaserJet com Duplexador")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Localiza&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Localiza&ccedil;&atilde;o leg&iacute;vel para humanos, tal como "Laborat&oacute;rio 1")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Membros:</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="Adicionar classe"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/add-printer.tmpl b/templates/pt_BR/add-printer.tmpl
new file mode 100644 (file)
index 0000000..a52c444
--- /dev/null
@@ -0,0 +1,44 @@
+<H2 CLASS="title">Adicionar impressora</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+<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}">
+{?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">Nome:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?template_name}"><BR>
+<SMALL>(Pode conter qualquer caractere imprim&iacute;vel, exceto "/", "#" e espa&ccedil;o em branco)</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Descri&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_INFO}"><BR>
+<SMALL>(Descri&ccedil;&atilde;o leg&iacute;vel para humanos, tal como "HP LaserJet com Duplexador")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Localiza&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" SIZE="40" MAXLENGTH="127" VALUE="{?PRINTER_LOCATION}"><BR>
+<SMALL>(Localiza&ccedil;&atilde;o leg&iacute;vel para humanos, tal como "Laborat&oacute;rio 1")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Conex&atilde;o:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Compartilhamento:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
+Compartilhar essa impressora</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Continue"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/add-rss-subscription.tmpl b/templates/pt_BR/add-rss-subscription.tmpl
new file mode 100644 (file)
index 0000000..7eb3e04
--- /dev/null
@@ -0,0 +1,44 @@
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription">
+
+<H2 CLASS="title">Adicionar inscri&ccedil;&atilde;o RSS</H2>
+
+<TABLE SUMMARY="Formul&aacute;rio para adicionar inscri&ccedil;&atilde;o RSS">
+<TR>
+<TH CLASS="label">Nome:</TH>
+<TD COLSPAN="5"><INPUT TYPE="TEXT" NAME="SUBSCRIPTION_NAME" SIZE="40" MAXLENGTH="127" VALUE="{?SUBSCRIPTION_NAME}"><BR>
+<SMALL>(Pode conter qualquer caractere imprim&iacute;vel, exceto espa&ccedil;o em branco, "/", "?", e "#")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Fila:</TH>
+<TD COLSPAN="5"><SELECT NAME="PRINTER_URI" SIZE="10"><OPTION VALUE="#ALL#"{?PRINTER_URI=#ALL#? SELECTED:}>All Queues</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}>Trabalho criado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_COMPLETED" {?EVENT_JOB_COMPLETED}>Trabalho conclu&iacute;do<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_STOPPED" {?EVENT_JOB_STOPPED}>Trabalho parado<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_JOB_CONFIG_CHANGED" {?EVENT_JOB_CONFIG_CHANGED}>Op&ccedil;&otilde;es do Trabalho alteradas</TD>
+<TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+<TD><INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_STOPPED" {?EVENT_PRINTER_STOPPED}>Fila parada<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_ADDED" {?EVENT_PRINTER_ADDED}>Fila adicionada<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_MODIFIED" {?EVENT_PRINTER_MODIFIED}>Fila modificada<BR>
+<INPUT TYPE="CHECKBOX" NAME="EVENT_PRINTER_DELETED" {?EVENT_PRINTER_DELETED}>Fila apagada</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}>Auditoria de seguran&ccedil;a do servidor</TD>
+</TR>
+<TR>
+<TH CLASS="label">M&aacute;ximo de eventos no Feed:</TH>
+<TD COLSPAN="5"><INPUT TYPE="NUMBER" 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="Adicionar inscri&ccedil;&atilde;o RSS"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/admin.tmpl b/templates/pt_BR/admin.tmpl
new file mode 100644 (file)
index 0000000..b847bef
--- /dev/null
@@ -0,0 +1,97 @@
+<div class="row">
+  <div class="halves">
+    <H2 CLASS="title">Impressoras</H2>
+
+    <P>
+    <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-printer"><INPUT TYPE="SUBMIT" VALUE="Adicionar impressora"></FORM>
+    <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="find-new-printers"><INPUT TYPE="SUBMIT" VALUE="Encontrar novas impressoras"></FORM>
+    <FORM ACTION="/printers/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Gerenciar impressoras"></FORM>
+    {have_samba?<FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba"><INPUT TYPE="SUBMIT" VALUE="Exportar impressoras ao Samba"></FORM>:}
+    </P>
+
+    <H2 CLASS="title">Classes</H2>
+
+    <P>
+    <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-class"><INPUT TYPE="SUBMIT" VALUE="Adicionar classe"></FORM>
+    <FORM ACTION="/classes/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Gerenciar classes"></FORM>
+    </P>
+
+    <H2 CLASS="title">Trabalhos</H2>
+
+    <P>
+    <FORM ACTION="/jobs/" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Gerenciar trabalhos"></FORM>
+    </P>
+  </div>
+  <div class="halves">
+    <H2 CLASS="title">Servidor</H2>
+
+    <P>
+    <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server"><INPUT TYPE="SUBMIT" VALUE="Editar arquivo de configura&ccedil;&atilde;o"></FORM>
+    <FORM ACTION="/admin/log/access_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ver log de acessos"></FORM>
+    <FORM ACTION="/admin/log/error_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ver log de erros"></FORM>
+    <FORM ACTION="/admin/log/page_log" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Ver log de p&aacute;ginas"></FORM>
+    </P>
+
+    {SETTINGS_ERROR?<P>{SETTINGS_MESSAGE}</P>
+    <BLOCKQUOTE>{SETTINGS_ERROR}</BLOCKQUOTE>:
+
+    <FORM METHOD="POST" ACTION="/admin">
+    <INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+
+    {ADVANCEDSETTINGS?<P><B>Configura&ccedil;&otilde;es do servidor\:</B></P>
+
+    <P><A HREF="/admin/">Avan&ccedil;ado <SMALL>&#x25bc;</SMALL></A><BR>
+    <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+    <INPUT TYPE="HIDDEN" NAME="ADVANCEDSETTINGS" VALUE="YES">
+    <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Compartilhar impressoras conectadas a este sistema<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Permitir impress&atilde;o a partir da Internet<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="BROWSE_WEB_IF" {?browse_web_if}> Anunciar interface web<BR>
+    <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Permitir administra&ccedil;&atilde;o remota<BR>
+    {have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Usar autentica&ccedil;&atilde;o via Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
+    <INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Permitir aos usu&aacute;rios cancelar qualquer trabalho (n&atilde;o apenas os seus pr&oacute;prios)<BR>
+    <INPUT TYPE="CHECKBOX" NAME="PRESERVE_JOBS" {?preserve_jobs}> Preservar o hist&oacute;rico de trabalhos<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;M&aacute;ximo de trabalhos (0 para sem limite)\:
+    <INPUT TYPE="TEXT" NAME="MAX_JOBS" VALUE="{?max_jobs}" SIZE="6"><BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reter metadados\:
+    <INPUT TYPE="TEXT" NAME="PRESERVE_JOB_HISTORY" VALUE="{?preserve_job_history}" SIZE="6"><BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reter documentos\:
+    <INPUT TYPE="TEXT" NAME="PRESERVE_JOB_FILES" VALUE="{?preserve_job_files}" SIZE="6"><BR>
+    <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Salvar informa&ccedil;&atilde;o de depura&ccedil;&atilde;o para solu&ccedil;&atilde;o de problemas<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tamanho m&aacute;ximo do arquivo de log\:
+    <INPUT TYPE="TEXT" NAME="MAX_LOG_SIZE" VALUE="{?max_log_size}" SIZE="6"></P>
+
+    :<P><B>Configura&ccedil;&otilde;es do servidor:</B></P>
+
+    <P><A HREF="/admin/?ADVANCEDSETTINGS=YES">Avan&ccedil;ado <SMALL>&#x25b6;</SMALL></A><BR>
+    <INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+    <INPUT TYPE="CHECKBOX" NAME="SHARE_PRINTERS" {?share_printers}> Compartilhar impressoras conectadas a este sistema<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="CHECKBOX" NAME="REMOTE_ANY" {?remote_any}> Permitir impress&atilde;o a partir da Internet<BR>
+    <INPUT TYPE="CHECKBOX" NAME="REMOTE_ADMIN" {?remote_admin}> Permitir administra&ccedil;&atilde;o remota<BR>
+    {have_gssapi?<INPUT TYPE="CHECKBOX" NAME="KERBEROS" {?kerberos}> Usar autentica&ccedil;&atilde;o via Kerberos (<A HREF="/help/kerberos.html?TOPIC=Getting+Started">FAQ</A>)<BR>:}
+    <INPUT TYPE="CHECKBOX" NAME="USER_CANCEL_ANY" {?user_cancel_any}> Permitir aos usu&aacute;rios cancelar qualquer trabalho (n&atilde;o apenas seus pr&oacute;prios)<BR>
+    <INPUT TYPE="CHECKBOX" NAME="DEBUG_LOGGING" {?debug_logging}> Salvar informa&ccedil;&otilde;es de depura&ccedil;&atilde;o para solu&ccedil;&atilde;o de problemas</P>
+
+    }
+    <P><INPUT TYPE="SUBMIT" NAME="CHANGESETTINGS" VALUE="Alterar configura&ccedil;&otilde;es"></P>
+
+    </FORM>}
+  </div>
+</div>
+
+<div class="row">
+  <H2 CLASS="title">Inscri&ccedil;&otilde;es RSS</H2>
+
+  <P>
+  <FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="add-rss-subscription"><INPUT TYPE="SUBMIT" VALUE="Adicionar inscri&ccedil;&atilde;o RSS"></FORM>
+  </P>
+
+  {notify_subscription_id?<TABLE CLASS="list" SUMMARY="Inscri&ccedil;&otilde;es RSS">
+  <THEAD><TR><TH>Nome</TH><TH>Eventos</TH><TH>Nome da fila</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="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="cancel-subscription"><INPUT TYPE="HIDDEN" NAME="notify_subscription_id" VALUE="{notify_subscription_id}"><INPUT TYPE="SUBMIT" VALUE="Cancelar inscri&ccedil;&atilde;o RSS"></FORM>&nbsp;</TD><TD>{notify_events}</TD><TD NOWRAP>&nbsp;{notify_printer_name?{notify_printer_name}:Todas as filas}</TD></TR>}
+  </TBODY>
+  </TABLE>:}
+</div>
diff --git a/templates/pt_BR/choose-device.tmpl b/templates/pt_BR/choose-device.tmpl
new file mode 100644 (file)
index 0000000..11781d5
--- /dev/null
@@ -0,0 +1,49 @@
+<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:Adicionar impressora}</H2>
+
+{CUPS_GET_DEVICES_DONE?<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<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">Conex&atilde;o atual\:</TH>
+<TD><INPUT TYPE="RADIO" NAME="DEVICE_URI" VALUE="{current_device_uri}" CHECKED>
+{current_device_uri}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Impressoras locais\:</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">Impressoras de rede descobertas\:</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">Outras impressoras de rede\:</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="Continar"></TD>
+</TR>
+</TABLE>
+
+</FORM>:<P><IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Ocupado"> Procurando impressoras...</P>}
diff --git a/templates/pt_BR/choose-make.tmpl b/templates/pt_BR/choose-make.tmpl
new file mode 100644 (file)
index 0000000..33c3aad
--- /dev/null
@@ -0,0 +1,61 @@
+<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:Adicionar impressora}</H2>
+
+<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<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">Nome:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Descri&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Localiza&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Conex&atilde;o:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Compartilhamento:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
+{?printer_is_shared=?N&atilde;o compartilhar:{?printer_is_shared=0?N&atilde;o compartilhar:Compartilhar}} esta impressora</TD>
+</TR>
+<TR>
+<TH CLASS="label">Fabricante:</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="Continar"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>&nbsp;</TD>
+</TR>
+<TR>
+<TH CLASS="label">Ou forne&ccedil;a um arquivo 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?Adicionar impressora:Modificar impressora}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/choose-model.tmpl b/templates/pt_BR/choose-model.tmpl
new file mode 100644 (file)
index 0000000..55d8bd8
--- /dev/null
@@ -0,0 +1,57 @@
+<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:Adicionar impressora}</H2>
+
+<FORM METHOD="POST" ACTION="/admin" ENCTYPE="multipart/form-data">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<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">Nome:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">{printer_name}</TD>
+</TR>}
+<TR>
+<TH CLASS="label">Descri&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_INFO" VALUE="{printer_info}">{printer_info}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Localiza&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_LOCATION" VALUE="{printer_location}">{printer_location}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Conex&atilde;o:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Compartilhamento:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="PRINTER_IS_SHARED" VALUE="{?printer_is_shared}">
+{?printer_is_shared=?N&atilde;o compartilhar:{?printer_is_shared=0?N&atilde;o compartilhar:Compartilhar}} esta impressora</TD>
+</TR>
+<TR>
+<TH CLASS="label">Fabricante:</TH>
+<TD>{PPD_MAKE} <INPUT TYPE="SUBMIT" NAME="SELECT_MAKE" VALUE="Selecione outro fabricante"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Modelo:</TH>
+<TD>
+<SELECT NAME="PPD_NAME" SIZE="10">
+{op=add-printer?:<OPTION VALUE="__no_change__" SELECTED>Driver atual - {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">Ou forne&ccedil;a um arquivo 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?Adicionar impressora:Modificar impressora}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/choose-serial.tmpl b/templates/pt_BR/choose-serial.tmpl
new file mode 100644 (file)
index 0000000..743d83e
--- /dev/null
@@ -0,0 +1,49 @@
+<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:Adicionar impressora}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{printer_name?<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">:}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Conex&atilde;o:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Taxa de dados (Baud Rate):</TH>
+<TD><SELECT NAME="BAUDRATE">
+{[baudrates]<OPTION {?baudrate={baudrates}?SELECTED:}>{baudrates}}
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Paridade:</TH>
+<TD><SELECT NAME="PARITY">
+<OPTION VALUE="none" {?parity=none?SELECTED:}>Nenhum
+<OPTION VALUE="even" {?parity=even?SELECTED:}>Par
+<OPTION VALUE="odd" {?parity=odd?SELECTED:}>&Iacute;mpar
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Bits de Dados:</TH>
+<TD><SELECT NAME="BITS">
+<OPTION {?bits=8?SELECTED:}>8
+<OPTION {?bits=7?SELECTED:}>7
+</SELECT></TD>
+</TR>
+<TR>
+<TH CLASS="label">Controle de Fluxo:</TH>
+<TD><SELECT NAME="FLOW">
+<OPTION VALUE="none" {?flow=none?SELECTED:}>Nenhum
+<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="Continuar"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/choose-uri.tmpl b/templates/pt_BR/choose-uri.tmpl
new file mode 100644 (file)
index 0000000..8399576
--- /dev/null
@@ -0,0 +1,41 @@
+<H2 CLASS="title">{op=modify-printer?Modificar {printer_name}:Adicionar impressora}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<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">Conex&atilde;o:</TH>
+<TD><INPUT TYPE="URL" SIZE="60" MAXLENGTH="1023" NAME="DEVICE_URI" VALUE="{current_device_uri?{current_device_uri}:{device_uri}}"></TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>Exemplos:
+<PRE>
+    http://hostname:631/ipp/
+    http://hostname:631/ipp/port1
+
+    ipp://hostname/ipp/
+    ipp://hostname/ipp/port1
+
+    lpd://hostname/queue
+
+    socket://hostname
+    socket://hostname:9100
+</PRE>
+
+<P>Veja <A HREF="/help/network.html" TARGET="_blank">"Network
+Printers"</A> para a URI correta a ser usada para sua impressora.</P>
+
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Continuar"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/class-added.tmpl b/templates/pt_BR/class-added.tmpl
new file mode 100644 (file)
index 0000000..1321ed4
--- /dev/null
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Adicionar classe</H2>
+
+<P>A classe <A HREF="/classes/{printer_name}">{printer_name}</A> foi adicionada com sucesso.
diff --git a/templates/pt_BR/class-confirm.tmpl b/templates/pt_BR/class-confirm.tmpl
new file mode 100644 (file)
index 0000000..324a720
--- /dev/null
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Excluir classe {printer_name}</H2>
+
+<P><B>Aviso:</B> Voc&ecirc; tem certeza que quer excluir a classe {printer_name}?</P>
+
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="op" VALUE="delete-class"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Excluir classe"></FORM></P>
diff --git a/templates/pt_BR/class-deleted.tmpl b/templates/pt_BR/class-deleted.tmpl
new file mode 100644 (file)
index 0000000..44d4dc2
--- /dev/null
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Excluir classe {printer_name}</H2>
+
+<P>A classe {printer_name} foi exclu&iacute;da com sucesso.
diff --git a/templates/pt_BR/class-jobs-header.tmpl b/templates/pt_BR/class-jobs-header.tmpl
new file mode 100644 (file)
index 0000000..89186cb
--- /dev/null
@@ -0,0 +1 @@
+<H3 CLASS="title">Trabalhos</H3>
diff --git a/templates/pt_BR/class-modified.tmpl b/templates/pt_BR/class-modified.tmpl
new file mode 100644 (file)
index 0000000..44ee17a
--- /dev/null
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Modificar classe {printer_name}</H2>
+
+<P>A classe <A HREF="/classes/{printer_name}">{printer_name}</A> foi modificada com sucesso.
diff --git a/templates/pt_BR/class.tmpl b/templates/pt_BR/class.tmpl
new file mode 100644 (file)
index 0000000..dc50377
--- /dev/null
@@ -0,0 +1,41 @@
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?ociosa:{printer_state=4?processando:pausada}},
+{printer_is_accepting_jobs=0?rejeitando trabalhos:aceitando trabalhos},
+{server_is_sharing_printers=0?n&atilde;o compartilhada:{printer_is_shared=0?n&atilde;o compartilhada:compartilhada}} {default_name={printer_name}?, padr&atilde;o do servidor:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Manuten&ccedil;&atilde;o</OPTION>
+<OPTION VALUE="print-test-page">Imprimir p&aacute;gina de teste</OPTION>
+{printer_state=5?<OPTION VALUE="start-class">Resumir classe</OPTION>:<OPTION VALUE="stop-class">Pausar classe</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Aceitar trabalhos</OPTION>:<OPTION VALUE="reject-jobs">Rejeitar trabalhos</OPTION>}
+<OPTION VALUE="move-jobs">Mover todos trabalhos</OPTION>
+<OPTION VALUE="purge-jobs">Cancelar todos trabalhos</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Ir" STYLE="display: none;">
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<INPUT TYPE="HIDDEN" NAME="IS_CLASS" VALUE="1">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Administra&ccedil;&atilde;o</OPTION>
+<OPTION VALUE="modify-class">Modificar classe</OPTION>
+<OPTION VALUE="delete-class">Excluir classe</OPTION>
+<OPTION VALUE="set-class-options">Definir op&ccedil;&otilde;es padr&otilde;es</OPTION>
+<OPTION VALUE="set-as-default">Definir como servidor padr&atilde;o</OPTION>
+<OPTION VALUE="set-allowed-users">Definir usu&aacute;rios permitidos</OPTION>
+</SELECT>
+<INPUT TYPE="SUBMIT" VALUE="Ir" STYLE="display: none;">
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Descri&ccedil;&atilde;o:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Localiza&ccedil;&atilde;o:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Membros:</TH><TD>{?member_uris=?None:{member_uris}}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Padr&otilde;es:</TH><TD>job-sheets={job_sheets_default}
+media={media_default?{media_default}:desconhecido}
+{sides_default?sides={sides_default}:}</TD></TR>
+</TABLE>
diff --git a/templates/pt_BR/classes-header.tmpl b/templates/pt_BR/classes-header.tmpl
new file mode 100644 (file)
index 0000000..acac395
--- /dev/null
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?Nenhuma classe:Mostrando {#printer_name} de {total} classe{total=1?:s}}.</P>
diff --git a/templates/pt_BR/classes.tmpl b/templates/pt_BR/classes.tmpl
new file mode 100644 (file)
index 0000000..7240151
--- /dev/null
@@ -0,0 +1,11 @@
+{#printer_name=0?:
+<TABLE CLASS="list" SUMMARY="Class List">
+<THEAD>
+<TR><TH>Nome da fila</TH><TH>Descri&ccedil;&atilde;o</TH><TH>Localiza&ccedil;&atilde;o</TH><TH>Membros</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=?Nenhum:{member_uris}}</TD><TD>{printer_state=3?ociosa:{printer_state=4?processando:pausada}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+}
+</TBODY>
+</TABLE></DIV>}
diff --git a/templates/pt_BR/command.tmpl b/templates/pt_BR/command.tmpl
new file mode 100644 (file)
index 0000000..d89cafc
--- /dev/null
@@ -0,0 +1,8 @@
+<H2 CLASS="title">{title} em {printer_name}</H2>
+
+<P>{job_state>5?:<IMG SRC="/images/wait.gif" WIDTH="16" HEIGHT="16"
+ALIGN="ABSMIDDLE" ALT="Busy Indicator"> }Trabalho de comando de impressora
+{job_state=3?pendente:{job_state=4?retido:
+{job_state=5?processando:{job_state=6?parado:
+{job_state=7?cancelado:{job_state=8?abortado:completo}}}}}}{job_state=9?:{job_printer_state_message?,
+<EM>"{job_printer_state_message}"</EM>:}}</P>
diff --git a/templates/pt_BR/edit-config.tmpl b/templates/pt_BR/edit-config.tmpl
new file mode 100644 (file)
index 0000000..8c5e282
--- /dev/null
@@ -0,0 +1,20 @@
+<SCRIPT TYPE="text/javascript">
+function reset_config()
+{
+  document.cups.CUPSDCONF.value = "{?cupsdconf_default}";
+}
+</SCRIPT>
+
+<H2 CLASS="title">Editar arquivo de configura&ccedil;&atilde;o</H2>
+
+<FORM NAME="cups" METHOD="POST" ACTION="/admin/">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="config-server">
+
+<TEXTAREA NAME="CUPSDCONF" COLS="80" ROWS="25">{CUPSDCONF}</TEXTAREA>
+
+<P><INPUT TYPE="SUBMIT" NAME="SAVECHANGES" VALUE="Salvar altera&ccedil;&otilde;es">
+<INPUT TYPE="BUTTON" VALUE="Usar arquivo de configura&ccedil;&atilde;o padr&atilde;o"
+onClick="reset_config();"></P>
+
+</FORM>
diff --git a/templates/pt_BR/error-op.tmpl b/templates/pt_BR/error-op.tmpl
new file mode 100644 (file)
index 0000000..cdc4b14
--- /dev/null
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Erro {?title} {?printer_name}</H2>
+
+<P>Erro:</P>
+
+<BLOCKQUOTE>Opera&ccedil;&atilde;o desconhecida "{op}"!</BLOCKQUOTE>
diff --git a/templates/pt_BR/error.tmpl b/templates/pt_BR/error.tmpl
new file mode 100644 (file)
index 0000000..af1c046
--- /dev/null
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Erro {?title} {?printer_name}</H2>
+
+<P>{?message?{message}:Erro}:</P>
+
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
diff --git a/templates/pt_BR/header.tmpl.in b/templates/pt_BR/header.tmpl.in
new file mode 100644 (file)
index 0000000..e890b7c
--- /dev/null
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <link rel="stylesheet" href="/cups.css" type="text/css">
+    <link rel="shortcut icon" href="/apple-touch-icon.png" type="image/png">
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    {refresh_page?<meta http-equiv="refresh" content="{refresh_page}">:}
+    <meta http-equiv="X-UA-Compatible" content="IE=9">
+    <meta name="viewport" content="width=device-width">
+    <style>html{display:none;}</style>
+    <script type="text/javascript"><!--
+      /* Only display document if we are not in a frame... */
+      if (self == top) {
+        document.documentElement.style.display = 'block';
+      } else {
+        top.location = self.location;
+      }
+
+      /* Show an error if cookies are disabled */
+      function check_cookies() {
+       if (!navigator.cookieEnabled) {
+             document.getElementById('body').innerHTML = 'This page uses cookies to prevent common cross-site attacks. Please enable cookies in your browser.';
+       }
+      }
+    --></SCRIPT>
+    <title>{title} - CUPS @CUPS_VERSION@@CUPS_REVISION@</title>
+  </head>
+  <body onload="check_cookies();">
+    <div class="header">
+      <ul>
+       <li><a href="http://www.cups.org/" target="_blank">CUPS.org</a></li>
+       <li><a href="/">In&iacute;cio</a></li>
+       <li><a {SECTION=admin?class="active" :}href="/admin">Administra&ccedil;&atilde;o</a></li>
+       <li><a {SECTION=classes?class="active" :}href="/classes/">Classes</a></li>
+       <li><a {SECTION=help?class="active" :}href="/help/">Ajuda</a></li>
+       <li><a {SECTION=jobs?class="active" :}href="/jobs/">Trabalhos</a></li>
+       <li><a {SECTION=printers?class="active" :}href="/printers/">Impressoras</a></li>
+      </ul>
+    </div>
+    <div class="body">
+      <div class="row">
+       <h1>{title}</h1>
diff --git a/templates/pt_BR/help-header.tmpl b/templates/pt_BR/help-header.tmpl
new file mode 100644 (file)
index 0000000..d6a43fe
--- /dev/null
@@ -0,0 +1,42 @@
+<FORM ACTION="/help/{?HELPFILE}" METHOD="GET">
+{TOPIC?<INPUT TYPE="HIDDEN" NAME="TOPIC" VALUE="{TOPIC}">:}
+
+<P ALIGN="CENTER"><B>Pesquisar em 
+{HELPTITLE?{HELPTITLE}:{TOPIC?{TOPIC}:todos os documentos}}:</B> <INPUT
+TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40" PLACEHOLDER=""
+AUTOSAVE="org.cups.help" RESULTS="20">
+<INPUT TYPE="SUBMIT" NAME="SEARCH" VALUE="Pesquisar">
+<INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Limpar"></P>
+
+</FORM>
+
+<!-- Bookmarks -->
+<DIV CLASS="sidebar"><TABLE CLASS="inset" SUMMARY="Conte&uacute;do">
+<TR><TD>
+
+<H3 CLASS="title">Documentos de ajuda online</H3>
+
+<P CLASS="l0"><A HREF="/help/{QUERY??QUERY={QUERY}:}">Todos os Documentos</A></P>
+<HR>
+
+{[BMTEXT]<P CLASS="l{BMINDENT}"><A HREF="{BMLINK}">{BMTEXT}</A></P>
+}
+</TD></TR>
+</TABLE></DIV>
+
+{QUERY?<P>Pesquisar resultados em {HELPFILE?{HELPTITLE}:{TOPIC?{TOPIC}:Todos os documentos}}\:</P>
+{QTEXT?<UL>
+{[QTEXT]<LI><A HREF="{QLINK}">{QTEXT}</A>{QPTEXT? (em <I><A HREF="{QPLINK}">{QPTEXT}</A></I>):}</LI>}
+{QTEXT?</UL>:}
+:<P>Nenhum resultado encontrado.</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 vers&atilde;o imprim&iacute;vel"></FORM>:
+
+<H1>Ajuda online</H1>
+
+<P>Essa &eacute; a interface de ajuda online do CUPS. Forne&ccedil;a express&otilde;es de pesquisa acima ou clique em qualquer um dos links de documenta&ccedil;&atilde;o para mostrar a informa&ccedil;&atilde;o de ajuda online.</P>
+
+<P>Se voc&ecirc; &eacute; novo no CUPS, leia a p&aacute;gina "<a href="/help/overview.html">Vis&atilde;o geral do CUPS</a>".</P>
+
+<P>A <A HREF="http://www.cups.org/">p&aacute;gina inicial do CUPS</A> tamb&eacute;m fornece muitos recursos incluindo f&oacute;rums de discuss&atilde;o de usu&aacute;rios, respostas a perguntas frequentes e um formul&aacute;rio para enviar registros de erros e pedidos de melhorias.</P>}
diff --git a/templates/pt_BR/help-printable.tmpl b/templates/pt_BR/help-printable.tmpl
new file mode 100644 (file)
index 0000000..2463c16
--- /dev/null
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/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="/images/cups-icon.png" TYPE="image/png">
+</HEAD>
+<BODY>
diff --git a/templates/pt_BR/help-trailer.tmpl b/templates/pt_BR/help-trailer.tmpl
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/templates/pt_BR/job-cancel.tmpl b/templates/pt_BR/job-cancel.tmpl
new file mode 100644 (file)
index 0000000..1c6acbf
--- /dev/null
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Cancelar trabalho {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Trabalho {job_id}</A> foi cancelado.
diff --git a/templates/pt_BR/job-hold.tmpl b/templates/pt_BR/job-hold.tmpl
new file mode 100644 (file)
index 0000000..2465207
--- /dev/null
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Reter trabalho {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Trabalho {job_id}</A> foi retido para n&atilde;o ser impresso.
diff --git a/templates/pt_BR/job-move.tmpl b/templates/pt_BR/job-move.tmpl
new file mode 100644 (file)
index 0000000..32e0f38
--- /dev/null
@@ -0,0 +1,23 @@
+<FORM METHOD="POST" ACTION="/{SECTION}/{job_id?:{printer_name}}">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+{job_id?<INPUT TYPE="HIDDEN" NAME="JOB_ID" VALUE="{job_id}">:}
+
+<H2 CLASS="title">{job_id?Mover trabalho {job_id}:Mover todos trabalhos}</H2>
+
+<TABLE>
+<TR>
+<TH CLASS="label">Novo 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 trabalho:Mover trabalhos}"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/job-moved.tmpl b/templates/pt_BR/job-moved.tmpl
new file mode 100644 (file)
index 0000000..df0440e
--- /dev/null
@@ -0,0 +1,4 @@
+<H2 CLASS="title">{job_id?Mover trabalho {job_id}:Mover trabalhos}</H2>
+
+<P>{job_id?<A HREF="/jobs/{job_id}">Trabalho {job_id} for movido</A>:Todos trabalhos foram movidos} para
+<A HREF="/{is_class?classes:printers}/{job_printer_name}">{job_printer_name}</A>.</P>
diff --git a/templates/pt_BR/job-release.tmpl b/templates/pt_BR/job-release.tmpl
new file mode 100644 (file)
index 0000000..d2c76d0
--- /dev/null
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Liberar trabalho {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Trabalho {job_id}</A> foi liberado para impress&atilde;o.
diff --git a/templates/pt_BR/job-restart.tmpl b/templates/pt_BR/job-restart.tmpl
new file mode 100644 (file)
index 0000000..40699d6
--- /dev/null
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Reimprimir trabalho {job_id}</H2>
+
+<P><A HREF="{job_printer_uri}">Trabalho {job_id}</A> foi reiniciado.
diff --git a/templates/pt_BR/jobs-header.tmpl b/templates/pt_BR/jobs-header.tmpl
new file mode 100644 (file)
index 0000000..c967b33
--- /dev/null
@@ -0,0 +1,5 @@
+{?which_jobs=?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="SUBMIT" VALUE="Mostrar trabalhos ativos"></FORM>}
+{?which_jobs=completed?:<FORM ACTION="{?printer_name=?/jobs:{printer_uri_supported}}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="which_jobs" VALUE="conclu&iacute;dos"><INPUT TYPE="SUBMIT" VALUE="Mostrar trabalhos conclu&iacute;dos"></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 trabalhos"></FORM>}
+
+<P ALIGN="CENTER">{total=0?Nenhum trabalho:Mostrando {#job_id} de {total} trabalho{total=1?:s}} {?which_jobs=?ativo{total<2?:s}}:{which_jobs=all?:conclu&iacute;dos}.</P>
diff --git a/templates/pt_BR/jobs.tmpl b/templates/pt_BR/jobs.tmpl
new file mode 100644 (file)
index 0000000..9f99dc7
--- /dev/null
@@ -0,0 +1,36 @@
+{#job_id=0?:
+<TABLE CLASS="list" SUMMARY="Job List">
+<THEAD>
+<TR><TH>ID</TH><TH>Nome</TH><TH>Usu&Atilde;&Acirc;¡rio</TH><TH>Tamanho</TH><TH>P&Atilde;&Acirc;¡ginas</TH><TH>Estado</TH><TH>Controle</TH></TR>
+</THEAD>
+<TBODY>
+{[job_id]
+<TR VALIGN="TOP">
+<TD><A HREF="{job_printer_uri}">{job_printer_name}</A>-{job_id}{?phone? ({phone}):}&nbsp;</TD>
+<TD>{?job_name=?Desconhecido:{job_name}}&nbsp;</TD>
+<TD>{?job_originating_user_name=?Retido:{job_originating_user_name}}&nbsp;</TD>
+<TD>{job_k_octets}k&nbsp;</TD>
+<TD>{job_media_sheets_completed=0?Desconhecido:{?job_media_sheets_completed}}&nbsp;</TD>
+<TD>{job_state=3?Pendente desde<BR>{?time_at_creation=?Unknown:{time_at_creation}}:{job_state=4?Retido desde<BR>{?time_at_creation=?Unknown:{time_at_creation}}:
+{job_state=5?Processando desde<BR>{?time_at_processing=?Unknown:{time_at_processing}}:{job_state=6?parado:
+{job_state=7?Cancelado em<BR>{?time_at_completed=?Unknown:{time_at_completed}}:{job_state=8?Abortado:Conclu&iacute;do em<BR>{?time_at_completed=?Unknown:{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="org.cups.sid" VALUE="{$org.cups.sid}"><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 trabalho"></FORM>:}:}
+{job_state=4?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><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 trabalho"></FORM>:}
+{job_state=3?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><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="Reter trabalho"></FORM>:}
+{job_state<7?
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><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 trabalho"></FORM>
+<FORM ACTION="/jobs/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="move-job"><INPUT TYPE="HIDDEN" NAME="job_id" VALUE="{job_id}"><INPUT TYPE="SUBMIT" VALUE="Mover trabalho"></FORM>:}
+&nbsp;</TD>
+</TR>
+}
+</TBODY>
+</TABLE>
+}
diff --git a/templates/pt_BR/list-available-printers.tmpl b/templates/pt_BR/list-available-printers.tmpl
new file mode 100644 (file)
index 0000000..9152ed4
--- /dev/null
@@ -0,0 +1,7 @@
+<H2 CLASS="title">Impressoras dispon&iacute;veis</H2>
+
+{#device_uri=0?<P>Nenhuma impressora encontrada.</P>
+:<UL>{[device_uri]
+<LI><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><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="Adicionar esta impressora"></FORM>
+{device_make_and_model} ({device_info})</LI>
+}</UL>}
diff --git a/templates/pt_BR/modify-class.tmpl b/templates/pt_BR/modify-class.tmpl
new file mode 100644 (file)
index 0000000..54c524d
--- /dev/null
@@ -0,0 +1,31 @@
+<H2 CLASS="title">Modificar classe {printer_name}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Descri&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Localiza&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"></TD>
+</TR>
+<TR>
+<TH CLASS="label">Membros:</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 classe"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/modify-printer.tmpl b/templates/pt_BR/modify-printer.tmpl
new file mode 100644 (file)
index 0000000..efdef54
--- /dev/null
@@ -0,0 +1,39 @@
+<H2 CLASS="title">Modificar {printer_name}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="{op}">
+<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}">
+<INPUT TYPE="HIDDEN" NAME="PRINTER_NAME" VALUE="{printer_name}">
+
+<TABLE>
+<TR>
+<TH CLASS="label">Descri&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_INFO" VALUE="{?printer_info}" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Descri&ccedil;&atilde;o leg&iacute;vel para humanos, tal como "HP LaserJet com Duplexador")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Localiza&ccedil;&atilde;o:</TH>
+<TD><INPUT TYPE="TEXT" NAME="PRINTER_LOCATION" VALUE="{?printer_location}" SIZE="40" MAXLENGTH="127"><BR>
+<SMALL>(Localiza&ccedil;&atilde;o leg&iacute;vel para humanos, tal como "Laborat&oacute;rio 1")</SMALL></TD>
+</TR>
+<TR>
+<TH CLASS="label">Conex&atilde;o:</TH>
+<TD><INPUT TYPE="HIDDEN" NAME="DEVICE_URI" VALUE="{device_uri}">{device_uri}</TD>
+</TR>
+<TR>
+<TH CLASS="label">Compartilhamento:</TH>
+<TD><INPUT TYPE="CHECKBOX" NAME="PRINTER_IS_SHARED" {PRINTER_IS_SHARED=1?CHECKED:}>
+Compartilhar esta impressora</TD>
+</TR>
+<TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Continar"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/norestart.tmpl b/templates/pt_BR/norestart.tmpl
new file mode 100644 (file)
index 0000000..a72facd
--- /dev/null
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Alterar configura&ccedil;&otilde;es</H2>
+
+<P>O servidor n&atilde;o foi reiniciado porque nenhuma altera&ccedil;&atilde;o foi feita na configura&ccedil;&atilde;o...</P>
diff --git a/templates/pt_BR/option-boolean.tmpl b/templates/pt_BR/option-boolean.tmpl
new file mode 100644 (file)
index 0000000..e832ee1
--- /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-1}" {choices={defchoice-1}?CHECKED:} VALUE="{choices}">{text}}
+</TD>
+</TR>
diff --git a/templates/pt_BR/option-conflict.tmpl b/templates/pt_BR/option-conflict.tmpl
new file mode 100644 (file)
index 0000000..f649044
--- /dev/null
@@ -0,0 +1,7 @@
+<P><B>Erro:</B> As seguintes op&ccedil;&otilde;es est&atilde;o conflitando:</P>
+
+<UL>
+{[ckeyword]<LI><A HREF="#{ckeyword}">{ckeytext}</A>: {cchoice}</LI>
+}</UL>
+
+<P>Por favor, altere uma ou mais op&ccedil;&otilde;es para resolver os conflitos.</P>
diff --git a/templates/pt_BR/option-header.tmpl b/templates/pt_BR/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/pt_BR/option-pickmany.tmpl b/templates/pt_BR/option-pickmany.tmpl
new file mode 100644 (file)
index 0000000..0da75e5
--- /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-1}?SELECTED:} VALUE="{choices}">{text}}
+</SELECT></TD>
+</TR>
diff --git a/templates/pt_BR/option-pickone.tmpl b/templates/pt_BR/option-pickone.tmpl
new file mode 100644 (file)
index 0000000..d46555e
--- /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-1}?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-1}.{params}">
+<OPTION VALUE="pt"{paramvalue=pt? SELECTED:}>Pontos</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:}>Polegadas</OPTION>
+<OPTION VALUE="ft"{paramvalue=ft? SELECTED:}>P&eacute;s</OPTION>
+<OPTION VALUE="m"{paramvalue=m? SELECTED:}>Metros</OPTION>
+</SELECT>:<INPUT TYPE="{inputtype}" NAME="{keyword-1}.{params}" VALUE="{paramvalue}">}</TD></TR>
+}</TABLE>
+</TD>:}
+</TR>
diff --git a/templates/pt_BR/option-trailer.tmpl b/templates/pt_BR/option-trailer.tmpl
new file mode 100644 (file)
index 0000000..8e7e494
--- /dev/null
@@ -0,0 +1,5 @@
+</TABLE>
+
+<P ALIGN="CENTER"><INPUT TYPE="SUBMIT" VALUE="Definir op&ccedil;&otilde;es padr&atilde;o"></P>
+
+</DIV>
\ No newline at end of file
diff --git a/templates/pt_BR/pager.tmpl b/templates/pt_BR/pager.tmpl
new file mode 100644 (file)
index 0000000..b388105
--- /dev/null
@@ -0,0 +1,7 @@
+<TABLE CLASS="inset" SUMMARY="Barra de pagina&ccedil;&atilde;o">
+<TR>
+       <TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="&#x25c0;&#x25c0; Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Mostrar anterior"></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="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Mostrar pr&oacute;ximo &#x25b6;"></FORM>:&nbsp;}
+       {LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last &#x25b6;&#x25b6;"></FORM>:}</TD>
+</TR>
+</TABLE>
diff --git a/templates/pt_BR/printer-accept.tmpl b/templates/pt_BR/printer-accept.tmpl
new file mode 100644 (file)
index 0000000..15ffa0f
--- /dev/null
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Aceitar trabalhos na {is_class?classe:impressora} {printer_name}</H2>
+
+<P>A {is_class?classe:impressora} <A HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+agora est&aacute; aceitando trabalhos.</P>
diff --git a/templates/pt_BR/printer-added.tmpl b/templates/pt_BR/printer-added.tmpl
new file mode 100644 (file)
index 0000000..011c8b4
--- /dev/null
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Adicionar impressora</H2>
+
+<P>A impressora <A HREF="/printers/{printer_name}">{printer_name}</A> foi adicionada
+com sucesso.
diff --git a/templates/pt_BR/printer-cancel-jobs.tmpl b/templates/pt_BR/printer-cancel-jobs.tmpl
new file mode 100644 (file)
index 0000000..32a22da
--- /dev/null
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Cancelar trabalhos na {is_class?classe:impressora} {printer_name}</H2>
+
+<P>Todos os trabalhos da {is_class?classe:impressora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+foram cancelados.</P>
diff --git a/templates/pt_BR/printer-configured.tmpl b/templates/pt_BR/printer-configured.tmpl
new file mode 100644 (file)
index 0000000..c151f2b
--- /dev/null
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Configurar op&ccedil;&otilde;es padr&atilde;o para {printer_name}</H2>
+
+<P>As op&ccedil;&otilde;es padr&otilde;es da {OP=set-class-options?classe <A HREF="/classes/{printer_name}">:impressora <A HREF="/printers/{printer_name}">}{printer_name}</A>
+foram configuradas com sucesso.
diff --git a/templates/pt_BR/printer-confirm.tmpl b/templates/pt_BR/printer-confirm.tmpl
new file mode 100644 (file)
index 0000000..29b79e0
--- /dev/null
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Excluir impressora {printer_name}</H2>
+
+<P><B>Aviso:</B> Tem certeza que deseja excluir a impressora {printer_name}?</P>
+
+<P ALIGN="CENTER"><FORM ACTION="/admin/" METHOD="POST"><INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}"><INPUT TYPE="HIDDEN" NAME="OP" VALUE="delete-printer"><INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}"><INPUT TYPE="SUBMIT" NAME="confirm" VALUE="Excluir impressora"></FORM></P>
diff --git a/templates/pt_BR/printer-default.tmpl b/templates/pt_BR/printer-default.tmpl
new file mode 100644 (file)
index 0000000..0e4e856
--- /dev/null
@@ -0,0 +1,8 @@
+<H2 CLASS="title">Definir a {is_class?classe:impressora} {printer_name} como padr&atilde;o</H2>
+
+<P>A {is_class?classe:impressora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+foi definida como a impressora padr&atilde;o no servidor.</P>
+
+<BLOCKQUOTE><B>Nota:</B> O padr&atilde;o de qualquer usu&aacute;rio que tenha sido configurado via
+do comando <TT>lpoptions</TT> vai sobrepor esta configura&ccedil;&atilde;o padr&atilde;o.</BLOCKQUOTE>
diff --git a/templates/pt_BR/printer-deleted.tmpl b/templates/pt_BR/printer-deleted.tmpl
new file mode 100644 (file)
index 0000000..40e012e
--- /dev/null
@@ -0,0 +1,3 @@
+<H2 CLASS="title">Excluir Impressora {printer_name}</H2>
+
+<P>A impressora {printer_name} foi exclu&iacute;da com sucesso.
\ No newline at end of file
diff --git a/templates/pt_BR/printer-jobs-header.tmpl b/templates/pt_BR/printer-jobs-header.tmpl
new file mode 100644 (file)
index 0000000..89186cb
--- /dev/null
@@ -0,0 +1 @@
+<H3 CLASS="title">Trabalhos</H3>
diff --git a/templates/pt_BR/printer-modified.tmpl b/templates/pt_BR/printer-modified.tmpl
new file mode 100644 (file)
index 0000000..de4994d
--- /dev/null
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Modificar impressora {printer_name}</H2>
+
+<P>A impressora <A HREF="/printers/{printer_name}">{printer_name}</A> foi
+modificada com sucesso.
\ No newline at end of file
diff --git a/templates/pt_BR/printer-reject.tmpl b/templates/pt_BR/printer-reject.tmpl
new file mode 100644 (file)
index 0000000..eb969cb
--- /dev/null
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Rejeitar trabalhos na {is_class?classe:impressora} {printer_name}</H2>
+
+<P>A {is_class?classe:impressora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+n&atilde;o est&aacute; mais aceitando trabalhos.</P>
diff --git a/templates/pt_BR/printer-start.tmpl b/templates/pt_BR/printer-start.tmpl
new file mode 100644 (file)
index 0000000..2216239
--- /dev/null
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Resumir a {is_class?classe:impressora} {printer_name}</H2>
+
+<P>A {is_class?classe:impressora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+foi resumida com sucesso.</P>
\ No newline at end of file
diff --git a/templates/pt_BR/printer-stop.tmpl b/templates/pt_BR/printer-stop.tmpl
new file mode 100644 (file)
index 0000000..984aedf
--- /dev/null
@@ -0,0 +1,5 @@
+<H2 CLASS="title">Pausar a {is_class?classe:impressora} {printer_name}</H2>
+
+<P>A {is_class?classe:impressora} <A
+HREF="/{is_class?classes:printers}/{printer_name}">{printer_name}</A>
+foi pausada.</P>
\ No newline at end of file
diff --git a/templates/pt_BR/printer.tmpl b/templates/pt_BR/printer.tmpl
new file mode 100644 (file)
index 0000000..922d4b4
--- /dev/null
@@ -0,0 +1,43 @@
+<H2 CLASS="title"><A HREF="{printer_uri_supported}">{printer_name}</A>
+({printer_state=3?ociosa:{printer_state=4?processando:pausada}},
+{printer_is_accepting_jobs=0?rejeitando trabalhos:aceitando trabalhos},
+{server_is_sharing_printers=0?n&atilde;o compartilhada:{printer_is_shared=0?n&atilde;o compartilhada:compartilhada}} {default_name={printer_name}?, padr&atilde;o do servidor:})</H2>
+
+<FORM METHOD="POST" ACTION="{printer_uri_supported}" NAME="maintenance">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<SELECT NAME="OP" ONCHANGE="document.maintenance.submit();">
+<OPTION VALUE="">Manuten&ccedil;&atilde;o</OPTION>
+<OPTION VALUE="print-test-page">Imprimir p&aacute;gina de teste</OPTION>
+{printer_commands~.*Clean.*?<OPTION VALUE="clean-print-heads">Limpar cabe&ccedil;as de impress&atilde;o</OPTION>:}
+{printer_commands~.*PrintSelfTestPage.*?<OPTION VALUE="print-self-test-page">Imprimir p&aacute;gina de auto-teste</OPTION>:}
+{printer_state=5?<OPTION VALUE="start-printer">Pausar impressora</OPTION>:<OPTION VALUE="stop-printer">Pausar impressora</OPTION>}
+{printer_is_accepting_jobs=0?<OPTION VALUE="accept-jobs">Aceitar trabalhos</OPTION>:<OPTION VALUE="reject-jobs">Rejeitar trabalhos</OPTION>}
+<OPTION VALUE="move-jobs">Mover todos trabalhos</OPTION>
+<OPTION VALUE="purge-jobs">Cancelar todos trabalhos</OPTION>
+</SELECT>
+<NOSCRIPT><INPUT TYPE="SUBMIT" VALUE="Ir"></NOSCRIPT>
+</FORM>
+
+<FORM METHOD="POST" ACTION="{admin_uri}" NAME="administration">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="printer_name" VALUE="{printer_name}">
+<SELECT NAME="OP" ONCHANGE="document.administration.submit();">
+<OPTION VALUE="">Administra&ccedil;&atilde;o</OPTION>
+<OPTION VALUE="modify-printer">Modificar impressora</OPTION>
+<OPTION VALUE="delete-printer">Excluir impressora</OPTION>
+<OPTION VALUE="set-printer-options">Definir op&ccedil;&otilde;es padr&otilde;es</OPTION>
+<OPTION VALUE="set-as-default">Definir com padr&atilde;o do servidor</OPTION>
+<OPTION VALUE="set-allowed-users">Definir usu&aacute;rios permitidos</OPTION>
+</SELECT>
+<NOSCRIPT><INPUT TYPE="SUBMIT" VALUE="Ir"></NOSCRIPT>
+</FORM>
+
+<TABLE SUMMARY="{printer_name}">
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Descri&ccedil;&atilde;o:</TH><TD>{printer_info}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Localiza&ccedil;&atilde;o:</TH><TD>{printer_location}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Driver:</TH><TD>{printer_make_and_model} ({color_supported=1?color:grayscale}{sides_supported?, 2-sided printing:})<BR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Conex&atilde;o:</TH><TD>{device_uri}</TD></TR>
+<TR><TH ALIGN="RIGHT" VALIGN="TOP">Padr&otilde;es:</TH><TD>job-sheets={job_sheets_default}
+media={media_default?{media_default}:desconhecido}
+{sides_default?sides={sides_default}:}</TD></TR>
+</TABLE>
diff --git a/templates/pt_BR/printers-header.tmpl b/templates/pt_BR/printers-header.tmpl
new file mode 100644 (file)
index 0000000..c5d0a74
--- /dev/null
@@ -0,0 +1 @@
+<P ALIGN="CENTER">{total=0?Nenhuma impressora:Mostrando {#printer_name} de {total} impressora{total=1?:s}}.</P>
diff --git a/templates/pt_BR/printers.tmpl b/templates/pt_BR/printers.tmpl
new file mode 100644 (file)
index 0000000..74e62a2
--- /dev/null
@@ -0,0 +1,11 @@
+{#printer_name=0?:
+<TABLE CLASS="list" SUMMARY="Lista de impressoras">
+<THEAD>
+<TR><TH>Nome da fila</TH><TH>Descri&ccedil;&atilde;o</TH><TH>Localiza&ccedil;&atilde;o</TH><TH>Marca e 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?Ociosa:{printer_state=4?Processando:Pausada}}{printer_state_message? - "{printer_state_message}":}</TD></TR>
+}
+</TBODY>
+</TABLE></DIV>}
diff --git a/templates/pt_BR/restart.tmpl b/templates/pt_BR/restart.tmpl
new file mode 100644 (file)
index 0000000..41e889d
--- /dev/null
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Alterar configura&ccedil;&otilde;es</H2>
+
+<P><IMG SRC="data:image/gif;base64,R0lGODlhEAAQAIQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaP///////////////////////////////////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQABQD/ACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAEFAB8ALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQBBQAfACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQBBQAfACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkEAQUAHwAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkEAQUAHwAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkEAQUAHwAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAEFAB8ALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkEAQUAHwAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAEFAB8ALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQBBQAfACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQBBQAfACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOw==" WIDTH="16" HEIGHT="16" ALIGN="ABSMIDDLE"
+ALT="Busy Indicator"> Por favor, aguarde enquanto o servidor &eacute; reiniciado...</P>
diff --git a/templates/pt_BR/samba-export.tmpl b/templates/pt_BR/samba-export.tmpl
new file mode 100644 (file)
index 0000000..d420ac3
--- /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="org.cups.sid" VALUE="{$org.cups.sid}">
+<INPUT TYPE="HIDDEN" NAME="OP" VALUE="export-samba">
+
+<H2 CLASS="title">Exportar impressoras para o Samba</H2>
+
+{error?<P>N&atilde;o foi poss&iacute;vel exportar impressoras para o Samba\:</P>
+<BLOCKQUOTE>{error}</BLOCKQUOTE>
+<P>>Consulte o arquivo <A HREF="/admin/log/error_log"
+TARGET="_blank">error_log</A> para mais informa&ccedil;&otilde;es.</P>:
+<P>Essa p&aacute;gina permite que voc&ecirc; exporte impressoras para o Samba
+para que clientes Windows possam acess&aacute;-las atrav&eacute;s dos &iacute;cones de
+<VAR>Ambiente de Rede</VAR> ou <VAR>Locais de Rede</VAR> nas suas
+&aacute;reas de trabalho. Voc&ecirc; deve primeiro instalar os drivers de
+impressora PostScript do Windows como descrito na p&aacute;gina de manual do
+<A HREF="/help/man-cupsaddsmb.html" TARGET="_blank">cupsaddsmb(8)</A>.</P>}
+
+<TABLE>
+<TR>
+<TH CLASS="label">Impressoras:</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 as impressoras
+</TD>
+</TR>
+<TR>
+<TH CLASS="label">Nome do usu&aacute;rio do Samba:</TH>
+<TD><INPUT TYPE="TEXT" NAME="USERNAME" VALUE="{?USERNAME}"> (obrigat&oacute;rio)</TD>
+</TR>
+<TR>
+<TH CLASS="label">Senha do Samba:</TH>
+<TD><INPUT TYPE="PASSWORD" NAME="PASSWORD" VALUE=""> (obrigat&oacute;rio)</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD><INPUT TYPE="SUBMIT" VALUE="Exportar impressoras para o Samba"></TD>
+</TR>
+</TABLE>
+
+</FORM>
diff --git a/templates/pt_BR/samba-exported.tmpl b/templates/pt_BR/samba-exported.tmpl
new file mode 100644 (file)
index 0000000..c2ec3a5
--- /dev/null
@@ -0,0 +1 @@
+<P>Impressoras exportadas para o samba com sucesso.</P>
diff --git a/templates/pt_BR/search.tmpl b/templates/pt_BR/search.tmpl
new file mode 100644 (file)
index 0000000..1a16c35
--- /dev/null
@@ -0,0 +1,10 @@
+<FORM ACTION="/{SECTION}/{?SEARCH_DEST}" 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>Pesquisar em
+{SEARCH_DEST?{SEARCH_DEST}:{SECTION=classes?classes:{SECTION=jobs?trabalhos:impressoras}}}:</B>
+<INPUT TYPE="SEARCH" NAME="QUERY" VALUE="{?QUERY}" SIZE="40"  PLACEHOLDER="" AUTOSAVE="org.cups.{SECTION}" RESULTS="20"> <INPUT
+TYPE="SUBMIT" VALUE="Pesquisar"> <INPUT TYPE="SUBMIT" NAME="CLEAR" VALUE="Limpar"></P>
+
+</FORM>
diff --git a/templates/pt_BR/set-printer-options-header.tmpl b/templates/pt_BR/set-printer-options-header.tmpl
new file mode 100644 (file)
index 0000000..9c1b064
--- /dev/null
@@ -0,0 +1,24 @@
+<H2 CLASS="title">Definir op&ccedil;&otilde;es padr&otilde;es para {printer_name}</H2>
+
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<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 impressora por op&ccedil;&otilde;es padr&otilde;es">:}
+
+<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/pt_BR/set-printer-options-trailer.tmpl b/templates/pt_BR/set-printer-options-trailer.tmpl
new file mode 100644 (file)
index 0000000..b92988a
--- /dev/null
@@ -0,0 +1,14 @@
+</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>
diff --git a/templates/pt_BR/subscription-added.tmpl b/templates/pt_BR/subscription-added.tmpl
new file mode 100644 (file)
index 0000000..c67cc97
--- /dev/null
@@ -0,0 +1 @@
+<P>A inscri&ccedil;&atilde;o {subscription_name} foi adicionada com sucesso.</P>
diff --git a/templates/pt_BR/subscription-canceled.tmpl b/templates/pt_BR/subscription-canceled.tmpl
new file mode 100644 (file)
index 0000000..be57bab
--- /dev/null
@@ -0,0 +1 @@
+<P>A inscri&ccedil;&atilde;o #{notify_subscription_id} foi cancelada.</P>
diff --git a/templates/pt_BR/test-page.tmpl b/templates/pt_BR/test-page.tmpl
new file mode 100644 (file)
index 0000000..87ccde8
--- /dev/null
@@ -0,0 +1,4 @@
+<H2 CLASS="title">Imprimir p&aacute;gina de teste em {printer_name}</H2>
+
+<P>P&aacute;gina de teste enviada; o ID do trabalho &eacute; <A HREF="/{SECTION}/{printer_name}">
+{printer_name}-{job_id}</A>.</P>
diff --git a/templates/pt_BR/trailer.tmpl b/templates/pt_BR/trailer.tmpl
new file mode 100644 (file)
index 0000000..b8ef41e
--- /dev/null
@@ -0,0 +1,5 @@
+      </div>
+    </div>
+    <div class="footer">CUPS e sua logo s&atilde;o marcas registradas da <a href="http://www.apple.com">Apple Inc.</a> Copyright &copy; 2007-2015 Apple Inc. Todos os direitos reservados.</div>
+  </body>
+</html>
diff --git a/templates/pt_BR/users.tmpl b/templates/pt_BR/users.tmpl
new file mode 100644 (file)
index 0000000..5053f90
--- /dev/null
@@ -0,0 +1,27 @@
+<FORM METHOD="POST" ACTION="/admin">
+<INPUT TYPE="HIDDEN" NAME="org.cups.sid" VALUE="{$org.cups.sid}">
+<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">Usu&aacute;rios permitidos para {printer_name}</H2>
+
+<TABLE>
+<TR>
+<TH CLASS="label">Usu&aacute;rios:</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 que estes usu&aacute;rios imprimam
+<INPUT TYPE='RADIO' NAME='type' VALUE='requesting-user-name-denied' {requesting_user_name_denied?checked:}>Impedir que estes usu&aacute;rios imprimam
+</TD>
+</TR>
+<TR>
+<TD></TD>
+<TD>
+<INPUT TYPE="SUBMIT" VALUE="Definir usu&aacute;rios permitidos">
+</TD>
+</TR>
+</TABLE>
+
+</FORM>
index 9b90b761c17fe03f7f2dc25ed20f8665453cd947..a482ec7bbd532d73855f9c9f8d205f03ba1a941a 100644 (file)
@@ -1,7 +1,7 @@
 {#printer_name=0?:
 <TABLE CLASS="list" SUMMARY="Список групп">
 <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> Наименование <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Наименование <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Описание</TH><TH>Расположение</TH><TH>Состав</TH><TH>Статус</TH></TR>
+<TR><TH>Наименование</TH><TH>Описание</TH><TH>Расположение</TH><TH>Состав</TH><TH>Статус</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
index ce80fdba2b2063b4f3d6c783d87c89369ccff1e2..0359c3458055469d28e3dc59d4d3acdb10c62675 100644 (file)
@@ -1,7 +1,7 @@
 {#job_id=0?:
 <TABLE CLASS="list" SUMMARY="Задания">
 <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> Номер <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> ID <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Название</TH><TH>Пользователь</TH><TH>Размер</TH><TH>Страниц</TH><TH>Статус</TH><TH>Управление</TH></TR>
+<TR><TH>Номер</TH><TH>Название</TH><TH>Пользователь</TH><TH>Размер</TH><TH>Страниц</TH><TH>Статус</TH><TH>Управление</TH></TR>
 </THEAD>
 <TBODY>
 {[job_id]
@@ -11,9 +11,9 @@
 <TD>{?job_originating_user_name=?Приостановлено пользователем:{job_originating_user_name}}&nbsp;</TD>
 <TD>{job_k_octets}k&nbsp;</TD>
 <TD>{job_media_sheets_completed=0?Неизвестно:{?job_media_sheets_completed}}&nbsp;</TD>
-<TD>{job_state=3?В очереди<BR>{time_at_creation}:{job_state=4?Приостановлено с<BR>{time_at_creation}:
-{job_state=5?Создано<BR>{time_at_processing}:{job_state=6?Остановлено:
-{job_state=7?Отменено<BR>{time_at_completed}:{job_state=8?Прервано:Завершено<BR>{time_at_completed}}}}}}}&nbsp;{job_printer_state_message?<BR>
+<TD>{job_state=3?В очереди<BR>{?time_at_creation=?Unknown:{time_at_creation}}:{job_state=4?Приостановлено с<BR>{?time_at_creation=?Unknown:{time_at_creation}}:
+{job_state=5?Создано<BR>{?time_at_processing=?Unknown:{time_at_processing}}:{job_state=6?Остановлено:
+{job_state=7?Отменено<BR>{?time_at_completed=?Unknown:{time_at_completed}}:{job_state=8?Прервано:Завершено<BR>{?time_at_completed=?Unknown:{time_at_completed}}}}}}}}&nbsp;{job_printer_state_message?<BR>
 <EM>"{job_printer_state_message}"</EM>:}</TD>
 <TD>
 {job_preserved>0?{job_state>5?
index 0d0459b160320eb51b8a96c4dff606d22b17e93a..14eac868cf8735d56d17fef528d19c1e3384e23a 100644 (file)
@@ -1,6 +1,7 @@
 <TABLE CLASS="inset" SUMMARY="Просмотр по страницам">
 <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; Предыдущая"></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="Следующая &#x25b6;"></FORM>:&nbsp;}</TD>
+       <TD WIDTH="50%">{PREV?{PREV>0?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="0"><INPUT TYPE="SUBMIT" VALUE="&#x25c0;&#x25c0; Show First"></FORM> :}<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{PREV}"><INPUT TYPE="SUBMIT" VALUE="&#x25c0; Предыдущая"></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="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{NEXT}"><INPUT TYPE="SUBMIT" VALUE="Следующая &#x25b6;"></FORM>:&nbsp;}
+       {LAST?<FORM ACTION="{THISURL}" METHOD="GET"><INPUT TYPE="HIDDEN" NAME="QUERY" VALUE="{?QUERY}"><INPUT TYPE="HIDDEN" NAME="WHICH_JOBS" VALUE="{?WHICH_JOBS}"><INPUT TYPE="HIDDEN" NAME="FIRST" VALUE="{LAST}"><INPUT TYPE="SUBMIT" VALUE="Show Last &#x25b6;&#x25b6;"></FORM>:}</TD>
 </TR>
 </TABLE>
index 939835c19689924a6ed23a0886a459a58a9b8100..d71c51e18e05caec4418c5be29fb13615448e8be 100644 (file)
@@ -1,7 +1,7 @@
 {#printer_name=0?:
 <TABLE CLASS="list" SUMMARY="Список принтеров">
 <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> Наименование <SMALL>&#x25b2;</SMALL>:<SMALL>&#x25bc;</SMALL> Наименование <SMALL>&#x25bc;</SMALL>}</A></TH><TH>Описание</TH><TH>Расположение</TH><TH>Драйвер</TH><TH>Статус</TH></TR>
+<TR><TH>Наименование</TH><TH>Описание</TH><TH>Расположение</TH><TH>Драйвер</TH><TH>Статус</TH></TR>
 </THEAD>
 <TBODY>
 {[printer_name]
index 475894d4f7fa8e2cf902b0c5d89ee6e2a307da08..1e9b5147efa955e8b404239c5f8a52c0d7c9d9d3 100755 (executable)
@@ -3,7 +3,7 @@
 # Perform the complete set of IPP compliance tests specified in the
 # CUPS Software Test Plan.
 #
-# Copyright 2007-2015 by Apple Inc.
+# Copyright 2007-2016 by Apple Inc.
 # Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 # These coded instructions, statements, and computer programs are the
@@ -490,8 +490,11 @@ StrictConformance Yes
 Browsing Off
 Listen localhost:$port
 Listen $BASE/sock
+PassEnv DYLD_LIBRARY_PATH
+PassEnv LD_LIBRARY_PATH
+PassEnv LD_PRELOAD
 PassEnv LOCALEDIR
-PassEnv DYLD_INSERT_LIBRARIES
+PassEnv SHLIB_PATH
 MaxSubscriptions 3
 MaxLogSize 0
 AccessLogLevel actions
@@ -649,7 +652,7 @@ echo "    $VALGRIND ../scheduler/cupsd -c $BASE/cupsd.conf -f >$BASE/log/debug_l
 echo ""
 
 if test `uname` = Darwin -a "x$VALGRIND" = x; then
-       DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib MallocStackLogging=1 ../scheduler/cupsd -c $BASE/cupsd.conf -f >$BASE/log/debug_log 2>&1 &
+       DYLD_INSERT_LIBRARIES="/usr/lib/libgmalloc.dylib" MallocStackLogging=1 ../scheduler/cupsd -c $BASE/cupsd.conf -f >$BASE/log/debug_log 2>&1 &
 else
        $VALGRIND ../scheduler/cupsd -c $BASE/cupsd.conf -f >$BASE/log/debug_log 2>&1 &
 fi
index 4637da3fbe4f96f5c3b8aa1be1fc34141e5ba5cb..de1abf73100f2cfa6a416ac387792f5387d544d4 100644 (file)
@@ -1,27 +1,6 @@
-README - CUPS v1.7b1 - 2013-04-18
----------------------------------
+README - CUPS on Windows - 2016-05-13
+-------------------------------------
 
-INTRODUCTION
-
-    This package includes the cupstestppd and ipptool utilities, CUPS API
-    libraries libcups2.dll and libcupsimage2.dll, and the import libraries and
-    headers needed to develop Windows applications that use the CUPS API to
-    communicate with CUPS and other IPP services.
-
-    See the file "IPPTOOL.txt" for instructions on using the ipptool utility.
-
-
-LEGAL STUFF
-
-    CUPS is Copyright 2007-2013 by Apple Inc.  CUPS and the CUPS logo are
-    trademarks of Apple Inc.
-
-    The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
-
-    This software is based in part on the work of the Independent JPEG Group.
-
-    CUPS is provided under the terms of version 2 of the GNU General Public
-    License and GNU Library General Public License. This program is distributed
-    in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
-    the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-    See the "doc/help/license.html" or "LICENSE.txt" files for more information.
+This directory contains Visual Studio project and solution files for building
+the CUPS library and cupstestppd, ippfind, ippserver, and ipptool utilities on
+Windows.
index e8e73f6b13acf149398042b854dc3e8f2c4e7161..fdbfd68e45884b08034bfd6556e3cbbf878bcc35 100644 (file)
@@ -585,6 +585,13 @@ typedef unsigned long useconds_t;
 /* #undef HAVE_SCDYNAMICSTORECOPYCOMPUTERNAME */
 
 
+/*
+ * Do we have the getgrouplist() function?
+ */
+
+#undef HAVE_GETGROUPLIST
+
+
 /*
  * Do we have OS X 10.4's mbr_XXX functions?
  */
index 277d7623f9b28aa5b1049fa22ee30736c0dddb71..dfa1e247d641660e514d15796262943baaabad0f 100644 (file)
@@ -50,8 +50,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ippfind", "ippfind.vcproj",
                {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3} = {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}\r
        EndProjectSection\r
 EndProject\r
-Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "sw-ippeveselfcert10", "sw-ippeveselfcert10.vdproj", "{7F6DD7F5-7DCC-4C7A-8647-E253E4E00A37}"\r
-EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ippserver", "ippserver.vcproj", "{82A03BC7-0746-4B85-8908-3C7A3FAA58A9}"\r
        ProjectSection(ProjectDependencies) = postProject\r
                {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3} = {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}\r
diff --git a/vcnet/sw-ippeveselfcert10.vdproj b/vcnet/sw-ippeveselfcert10.vdproj
deleted file mode 100644 (file)
index 2895a46..0000000
+++ /dev/null
@@ -1,1581 +0,0 @@
-"DeployProject"\r
-{\r
-"VSVersion" = "3:800"\r
-"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"\r
-"IsWebType" = "8:FALSE"\r
-"ProjectName" = "8:sw-ippeveselfcert10"\r
-"LanguageId" = "3:1033"\r
-"CodePage" = "3:1252"\r
-"UILanguageId" = "3:1033"\r
-"SccProjectName" = "8:"\r
-"SccLocalPath" = "8:"\r
-"SccAuxPath" = "8:"\r
-"SccProvider" = "8:"\r
-    "Hierarchy"\r
-    {\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_156E3B06B7D14775B28242360FB7D1A0"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_1A1324305D78463BBFC62269C56DCF0B"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_1BCBABF5693841AE92515645BB7765F4"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_1DBDCFABB8DF28E5F75E41EDAE4BF6BE"\r
-        "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_27AB74FFFBC7436B9EBC6AE23968CFCC"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_299D5816FF7142F3B2791685551AD1DC"\r
-        "OwnerKey" = "8:_A1CB27EFF4094C39B58D0BE5A272DF1A"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_43D276E6E3054544A6A9828BE66519CD"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_466C1CF41795452A8B76425F8D05D8B8"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_58DC0E72F0944BEFB927AED718CD1660"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_592FC984DBFD494D9FB7DFFEA35AD7A5"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_842C04D73EBC4F5DBC2FD58D5B98D5D1"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_965005559A264140806149D54E2243BB"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_9967519E7058965D4C7DEF47EB39CC50"\r
-        "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_9CB71023ADF84278A4A5EBC398F6C9F3"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_9FBF78D7B89EEA843380D5F10E1954D7"\r
-        "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_A1CB27EFF4094C39B58D0BE5A272DF1A"\r
-        "OwnerKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_A1CB27EFF4094C39B58D0BE5A272DF1A"\r
-        "OwnerKey" = "8:_58DC0E72F0944BEFB927AED718CD1660"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_A1CB27EFF4094C39B58D0BE5A272DF1A"\r
-        "OwnerKey" = "8:_466C1CF41795452A8B76425F8D05D8B8"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_A1CB27EFF4094C39B58D0BE5A272DF1A"\r
-        "OwnerKey" = "8:_E97571D3FBE048DABDC59B37762D800F"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_A1CB27EFF4094C39B58D0BE5A272DF1A"\r
-        "OwnerKey" = "8:_D02EB13951314EFD9C539150EF8E53B8"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_A9EA3BF89F284AB4853F0682CE277275"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_B7D835B019744E61A7CC37B57B38694E"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_BD5B70C103EF41D9A30CF249D2B93CEB"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_C430646D6E7C4CBDA84F951AE95EB76F"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_D02EB13951314EFD9C539150EF8E53B8"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_D219587BACAC4D5FB4C8010900A781AD"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_D5CD9D9AB1644688A1D54B1589BDF724"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_E3C6C5A7FDD94965B68960844461D5EA"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_E5E464C7DD97439B929E1EA1844F1FF0"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_E97571D3FBE048DABDC59B37762D800F"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_EA282F32A10B4ED1A81AA6133B997C6A"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-        "Entry"\r
-        {\r
-        "MsmKey" = "8:_F22F5380A6E14A43A15A452C7C6F6C07"\r
-        "OwnerKey" = "8:_UNDEFINED"\r
-        "MsmSig" = "8:_UNDEFINED"\r
-        }\r
-    }\r
-    "Configurations"\r
-    {\r
-        "Debug"\r
-        {\r
-        "DisplayName" = "8:Debug"\r
-        "IsDebugOnly" = "11:TRUE"\r
-        "IsReleaseOnly" = "11:FALSE"\r
-        "OutputFilename" = "8:sw-ippeveselfcert10-windows.msi"\r
-        "PackageFilesAs" = "3:2"\r
-        "PackageFileSize" = "3:-2147483648"\r
-        "CabType" = "3:1"\r
-        "Compression" = "3:3"\r
-        "SignOutput" = "11:FALSE"\r
-        "CertificateFile" = "8:"\r
-        "PrivateKeyFile" = "8:"\r
-        "TimeStampServer" = "8:"\r
-        "InstallerBootstrapper" = "3:2"\r
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"\r
-            {\r
-            "Enabled" = "11:TRUE"\r
-            "PromptEnabled" = "11:TRUE"\r
-            "PrerequisitesLocation" = "2:1"\r
-            "Url" = "8:"\r
-            "ComponentsUrl" = "8:"\r
-                "Items"\r
-                {\r
-                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"\r
-                    {\r
-                    "Name" = "8:.NET Framework 3.5 SP1"\r
-                    "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"\r
-                    }\r
-                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"\r
-                    {\r
-                    "Name" = "8:Windows Installer 3.1"\r
-                    "ProductCode" = "8:Microsoft.Windows.Installer.3.1"\r
-                    }\r
-                }\r
-            }\r
-        }\r
-        "Release"\r
-        {\r
-        "DisplayName" = "8:Release"\r
-        "IsDebugOnly" = "11:FALSE"\r
-        "IsReleaseOnly" = "11:TRUE"\r
-        "OutputFilename" = "8:ipptool-windows.msi"\r
-        "PackageFilesAs" = "3:2"\r
-        "PackageFileSize" = "3:-2147483648"\r
-        "CabType" = "3:1"\r
-        "Compression" = "3:3"\r
-        "SignOutput" = "11:FALSE"\r
-        "CertificateFile" = "8:"\r
-        "PrivateKeyFile" = "8:"\r
-        "TimeStampServer" = "8:"\r
-        "InstallerBootstrapper" = "3:2"\r
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"\r
-            {\r
-            "Enabled" = "11:TRUE"\r
-            "PromptEnabled" = "11:TRUE"\r
-            "PrerequisitesLocation" = "2:1"\r
-            "Url" = "8:"\r
-            "ComponentsUrl" = "8:"\r
-                "Items"\r
-                {\r
-                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"\r
-                    {\r
-                    "Name" = "8:.NET Framework 3.5 SP1"\r
-                    "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"\r
-                    }\r
-                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"\r
-                    {\r
-                    "Name" = "8:Windows Installer 3.1"\r
-                    "ProductCode" = "8:Microsoft.Windows.Installer.3.1"\r
-                    }\r
-                }\r
-            }\r
-        }\r
-    }\r
-    "Deployable"\r
-    {\r
-        "CustomAction"\r
-        {\r
-        }\r
-        "DefaultFeature"\r
-        {\r
-        "Name" = "8:DefaultFeature"\r
-        "Title" = "8:"\r
-        "Description" = "8:"\r
-        }\r
-        "ExternalPersistence"\r
-        {\r
-            "LaunchCondition"\r
-            {\r
-            }\r
-        }\r
-        "File"\r
-        {\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_156E3B06B7D14775B28242360FB7D1A0"\r
-            {\r
-            "SourcePath" = "8:..\\everywhere\\document-tests.bat"\r
-            "TargetName" = "8:document-tests.bat"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1A1324305D78463BBFC62269C56DCF0B"\r
-            {\r
-            "SourcePath" = "8:..\\doc\\help\\man-ipptoolfile.html"\r
-            "TargetName" = "8:man-ipptoolfile.html"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_26743E387598422398CF503F7478F9E1"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1BCBABF5693841AE92515645BB7765F4"\r
-            {\r
-            "SourcePath" = "8:..\\everywhere\\man-ippserver.html"\r
-            "TargetName" = "8:man-ippserver.html"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_26743E387598422398CF503F7478F9E1"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1DBDCFABB8DF28E5F75E41EDAE4BF6BE"\r
-            {\r
-            "SourcePath" = "8:zlibwapi.dll"\r
-            "TargetName" = "8:zlibwapi.dll"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:TRUE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_27AB74FFFBC7436B9EBC6AE23968CFCC"\r
-            {\r
-            "SourcePath" = "8:..\\everywhere\\README.txt"\r
-            "TargetName" = "8:README.txt"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_43D276E6E3054544A6A9828BE66519CD"\r
-            {\r
-            "SourcePath" = "8:..\\test\\printer.png"\r
-            "TargetName" = "8:printer.png"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_592FC984DBFD494D9FB7DFFEA35AD7A5"\r
-            {\r
-            "SourcePath" = "8:..\\doc\\help\\man-ippfind.html"\r
-            "TargetName" = "8:man-ippfind.html"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_26743E387598422398CF503F7478F9E1"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_842C04D73EBC4F5DBC2FD58D5B98D5D1"\r
-            {\r
-            "SourcePath" = "8:..\\test\\document-a4.pdf"\r
-            "TargetName" = "8:document-a4.pdf"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_965005559A264140806149D54E2243BB"\r
-            {\r
-            "SourcePath" = "8:..\\everywhere\\bonjour-access-tests.test"\r
-            "TargetName" = "8:bonjour-access-tests.test"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9967519E7058965D4C7DEF47EB39CC50"\r
-            {\r
-            "SourcePath" = "8:CRYPT32.dll"\r
-            "TargetName" = "8:CRYPT32.dll"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:TRUE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9CB71023ADF84278A4A5EBC398F6C9F3"\r
-            {\r
-            "SourcePath" = "8:..\\everywhere\\bonjour-tests.bat"\r
-            "TargetName" = "8:bonjour-tests.bat"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9FBF78D7B89EEA843380D5F10E1954D7"\r
-            {\r
-            "SourcePath" = "8:Secur32.dll"\r
-            "TargetName" = "8:Secur32.dll"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:TRUE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A9EA3BF89F284AB4853F0682CE277275"\r
-            {\r
-            "SourcePath" = "8:..\\everywhere\\bonjour-value-tests.test"\r
-            "TargetName" = "8:bonjour-value-tests.test"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B7D835B019744E61A7CC37B57B38694E"\r
-            {\r
-            "SourcePath" = "8:..\\everywhere\\document-tests.test"\r
-            "TargetName" = "8:document-tests.test"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BD5B70C103EF41D9A30CF249D2B93CEB"\r
-            {\r
-            "SourcePath" = "8:setdebug.bat"\r
-            "TargetName" = "8:setdebug.bat"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C430646D6E7C4CBDA84F951AE95EB76F"\r
-            {\r
-            "SourcePath" = "8:..\\test\\color.jpg"\r
-            "TargetName" = "8:color.jpg"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D219587BACAC4D5FB4C8010900A781AD"\r
-            {\r
-            "SourcePath" = "8:..\\everywhere\\ipp-tests.test"\r
-            "TargetName" = "8:ipp-tests.test"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D5CD9D9AB1644688A1D54B1589BDF724"\r
-            {\r
-            "SourcePath" = "8:..\\doc\\help\\man-ipptool.html"\r
-            "TargetName" = "8:man-ipptool.html"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_26743E387598422398CF503F7478F9E1"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E3C6C5A7FDD94965B68960844461D5EA"\r
-            {\r
-            "SourcePath" = "8:..\\LICENSE.txt"\r
-            "TargetName" = "8:LICENSE.txt"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E5E464C7DD97439B929E1EA1844F1FF0"\r
-            {\r
-            "SourcePath" = "8:..\\everywhere\\ipp-tests.bat"\r
-            "TargetName" = "8:ipp-tests.bat"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F22F5380A6E14A43A15A452C7C6F6C07"\r
-            {\r
-            "SourcePath" = "8:..\\test\\document-letter.pdf"\r
-            "TargetName" = "8:document-letter.pdf"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_EB00D0298C7E441EBD0257AC04FB3560"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            }\r
-        }\r
-        "FileType"\r
-        {\r
-        }\r
-        "Folder"\r
-        {\r
-            "{1525181F-901A-416C-8A58-119130FE478E}:_BEC0EAE20C954C78B294B83E6696156E"\r
-            {\r
-            "Name" = "8:#1919"\r
-            "AlwaysCreate" = "11:FALSE"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Property" = "8:ProgramMenuFolder"\r
-                "Folders"\r
-                {\r
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_E379D4EDBAD0460BB876711E9062ADB4"\r
-                    {\r
-                    "Name" = "8:IPP Everywhere Printer Self-Certification Tools"\r
-                    "AlwaysCreate" = "11:FALSE"\r
-                    "Condition" = "8:"\r
-                    "Transitive" = "11:FALSE"\r
-                    "Property" = "8:_D115D2F4F12143B09D5FDA447A6A7D04"\r
-                        "Folders"\r
-                        {\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            "{1525181F-901A-416C-8A58-119130FE478E}:_D02CDADE99F344CF92CA1A8D0278861F"\r
-            {\r
-            "Name" = "8:#1916"\r
-            "AlwaysCreate" = "11:FALSE"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Property" = "8:DesktopFolder"\r
-                "Folders"\r
-                {\r
-                }\r
-            }\r
-            "{3C67513D-01DD-4637-8A68-80971EB9504F}:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            {\r
-            "DefaultLocation" = "8:[ProgramFilesFolder]\\sw-ippeveselfcert10"\r
-            "Name" = "8:#1925"\r
-            "AlwaysCreate" = "11:FALSE"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Property" = "8:TARGETDIR"\r
-                "Folders"\r
-                {\r
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_26743E387598422398CF503F7478F9E1"\r
-                    {\r
-                    "Name" = "8:doc"\r
-                    "AlwaysCreate" = "11:FALSE"\r
-                    "Condition" = "8:"\r
-                    "Transitive" = "11:FALSE"\r
-                    "Property" = "8:_5CD53B90FF754768B11ECBEB671A1749"\r
-                        "Folders"\r
-                        {\r
-                        }\r
-                    }\r
-                    "{9EF0B969-E518-4E46-987F-47570745A589}:_EB00D0298C7E441EBD0257AC04FB3560"\r
-                    {\r
-                    "Name" = "8:ipptool"\r
-                    "AlwaysCreate" = "11:FALSE"\r
-                    "Condition" = "8:"\r
-                    "Transitive" = "11:FALSE"\r
-                    "Property" = "8:_6F223FB51798428A9F2D64A5A7F2B49C"\r
-                        "Folders"\r
-                        {\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-        }\r
-        "LaunchCondition"\r
-        {\r
-        }\r
-        "Locator"\r
-        {\r
-        }\r
-        "MsiBootstrapper"\r
-        {\r
-        "LangId" = "3:1033"\r
-        "RequiresElevation" = "11:FALSE"\r
-        }\r
-        "Product"\r
-        {\r
-        "Name" = "8:Microsoft Visual Studio"\r
-        "ProductName" = "8:IPP Everywhere Printer Self-Certification Tools"\r
-        "ProductCode" = "8:{C08E3AC5-4FBF-40DD-BD19-9BE69A609DAF}"\r
-        "PackageCode" = "8:{25FF31C9-52A0-4838-8F1D-02FB5D5296F4}"\r
-        "UpgradeCode" = "8:{BAB6EBBB-515D-4155-9FEF-D98DA76814CA}"\r
-        "RestartWWWService" = "11:FALSE"\r
-        "RemovePreviousVersions" = "11:TRUE"\r
-        "DetectNewerInstalledVersion" = "11:TRUE"\r
-        "InstallAllUsers" = "11:TRUE"\r
-        "ProductVersion" = "8:14.08.2600"\r
-        "Manufacturer" = "8:Apple Inc."\r
-        "ARPHELPTELEPHONE" = "8:"\r
-        "ARPHELPLINK" = "8:http://www.cups.org/str.php"\r
-        "Title" = "8:sw-ippeveselfcert10"\r
-        "Subject" = "8:"\r
-        "ARPCONTACT" = "8:Apple Inc."\r
-        "Keywords" = "8:IPP, Internet Printing Protocol"\r
-        "ARPCOMMENTS" = "8:IPP Everywhere Printer Self-Certification Tools"\r
-        "ARPURLINFOABOUT" = "8:http://www.cups.org/"\r
-        "ARPPRODUCTICON" = "8:"\r
-        "ARPIconIndex" = "3:0"\r
-        "SearchPath" = "8:"\r
-        "UseSystemSearchPath" = "11:TRUE"\r
-        "TargetPlatform" = "3:0"\r
-        "PreBuildEvent" = "8:"\r
-        "PostBuildEvent" = "8:"\r
-        "RunPostBuildEvent" = "3:0"\r
-        }\r
-        "Registry"\r
-        {\r
-            "HKLM"\r
-            {\r
-                "Keys"\r
-                {\r
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_BC4E66686BCA4F9A8B24B6CF2728DACD"\r
-                    {\r
-                    "Name" = "8:Software"\r
-                    "Condition" = "8:"\r
-                    "AlwaysCreate" = "11:FALSE"\r
-                    "DeleteAtUninstall" = "11:FALSE"\r
-                    "Transitive" = "11:FALSE"\r
-                        "Keys"\r
-                        {\r
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F9AB9B310C7545D993D690F529048AA2"\r
-                            {\r
-                            "Name" = "8:cups.org"\r
-                            "Condition" = "8:"\r
-                            "AlwaysCreate" = "11:FALSE"\r
-                            "DeleteAtUninstall" = "11:FALSE"\r
-                            "Transitive" = "11:FALSE"\r
-                                "Keys"\r
-                                {\r
-                                }\r
-                                "Values"\r
-                                {\r
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_4E5BAC705A1D44E78C90C6D2A4A7BE20"\r
-                                    {\r
-                                    "Name" = "8:installdir"\r
-                                    "Condition" = "8:"\r
-                                    "Transitive" = "11:FALSE"\r
-                                    "ValueTypes" = "3:2"\r
-                                    "Value" = "8:[TARGETDIR]"\r
-                                    }\r
-                                }\r
-                            }\r
-                        }\r
-                        "Values"\r
-                        {\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            "HKCU"\r
-            {\r
-                "Keys"\r
-                {\r
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_A4C9879F42874B6B92960A55F2D98922"\r
-                    {\r
-                    "Name" = "8:Software"\r
-                    "Condition" = "8:"\r
-                    "AlwaysCreate" = "11:FALSE"\r
-                    "DeleteAtUninstall" = "11:FALSE"\r
-                    "Transitive" = "11:FALSE"\r
-                        "Keys"\r
-                        {\r
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1ACB03C307FB4B85BB27C9913FB58B09"\r
-                            {\r
-                            "Name" = "8:[Manufacturer]"\r
-                            "Condition" = "8:"\r
-                            "AlwaysCreate" = "11:FALSE"\r
-                            "DeleteAtUninstall" = "11:FALSE"\r
-                            "Transitive" = "11:FALSE"\r
-                                "Keys"\r
-                                {\r
-                                }\r
-                                "Values"\r
-                                {\r
-                                }\r
-                            }\r
-                        }\r
-                        "Values"\r
-                        {\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            "HKCR"\r
-            {\r
-                "Keys"\r
-                {\r
-                }\r
-            }\r
-            "HKU"\r
-            {\r
-                "Keys"\r
-                {\r
-                }\r
-            }\r
-            "HKPU"\r
-            {\r
-                "Keys"\r
-                {\r
-                }\r
-            }\r
-        }\r
-        "Sequences"\r
-        {\r
-        }\r
-        "Shortcut"\r
-        {\r
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_57BCED85BA5944009F56A11D5A9FBBEE"\r
-            {\r
-            "Name" = "8:ippfind Documentation"\r
-            "Arguments" = "8:"\r
-            "Description" = "8:"\r
-            "ShowCmd" = "3:1"\r
-            "IconIndex" = "3:0"\r
-            "Transitive" = "11:FALSE"\r
-            "Target" = "8:_592FC984DBFD494D9FB7DFFEA35AD7A5"\r
-            "Folder" = "8:_E379D4EDBAD0460BB876711E9062ADB4"\r
-            "WorkingFolder" = "8:_26743E387598422398CF503F7478F9E1"\r
-            "Icon" = "8:"\r
-            "Feature" = "8:"\r
-            }\r
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_63715171338D40FFBC5B47A1418B4814"\r
-            {\r
-            "Name" = "8:README"\r
-            "Arguments" = "8:"\r
-            "Description" = "8:"\r
-            "ShowCmd" = "3:1"\r
-            "IconIndex" = "3:0"\r
-            "Transitive" = "11:FALSE"\r
-            "Target" = "8:_27AB74FFFBC7436B9EBC6AE23968CFCC"\r
-            "Folder" = "8:_E379D4EDBAD0460BB876711E9062ADB4"\r
-            "WorkingFolder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Icon" = "8:"\r
-            "Feature" = "8:"\r
-            }\r
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_70CF74DB997A408DBBFD48AB10F92321"\r
-            {\r
-            "Name" = "8:ipptool Documentation"\r
-            "Arguments" = "8:"\r
-            "Description" = "8:"\r
-            "ShowCmd" = "3:1"\r
-            "IconIndex" = "3:0"\r
-            "Transitive" = "11:FALSE"\r
-            "Target" = "8:_D5CD9D9AB1644688A1D54B1589BDF724"\r
-            "Folder" = "8:_E379D4EDBAD0460BB876711E9062ADB4"\r
-            "WorkingFolder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Icon" = "8:"\r
-            "Feature" = "8:"\r
-            }\r
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_962004B0D5CA479A91EFA7F7BF7814C8"\r
-            {\r
-            "Name" = "8:ippserver Documentation"\r
-            "Arguments" = "8:"\r
-            "Description" = "8:"\r
-            "ShowCmd" = "3:1"\r
-            "IconIndex" = "3:0"\r
-            "Transitive" = "11:FALSE"\r
-            "Target" = "8:_1BCBABF5693841AE92515645BB7765F4"\r
-            "Folder" = "8:_E379D4EDBAD0460BB876711E9062ADB4"\r
-            "WorkingFolder" = "8:_26743E387598422398CF503F7478F9E1"\r
-            "Icon" = "8:"\r
-            "Feature" = "8:"\r
-            }\r
-            "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_BD2A7DF74D844FF5919EE8340EE36ECD"\r
-            {\r
-            "Name" = "8:Test File Documentation"\r
-            "Arguments" = "8:"\r
-            "Description" = "8:"\r
-            "ShowCmd" = "3:1"\r
-            "IconIndex" = "3:0"\r
-            "Transitive" = "11:FALSE"\r
-            "Target" = "8:_1A1324305D78463BBFC62269C56DCF0B"\r
-            "Folder" = "8:_E379D4EDBAD0460BB876711E9062ADB4"\r
-            "WorkingFolder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Icon" = "8:"\r
-            "Feature" = "8:"\r
-            }\r
-        }\r
-        "UserInterface"\r
-        {\r
-            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_045DF90B1FF941A9BA7A742CFC0A6C00"\r
-            {\r
-            "UseDynamicProperties" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"\r
-            }\r
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_345BD86390E841A98B74ED3E07945F8C"\r
-            {\r
-            "Name" = "8:#1900"\r
-            "Sequence" = "3:2"\r
-            "Attributes" = "3:1"\r
-                "Dialogs"\r
-                {\r
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_067C143A8731427180B1568AF8C07375"\r
-                    {\r
-                    "Sequence" = "3:200"\r
-                    "DisplayName" = "8:Installation Folder"\r
-                    "UseDynamicProperties" = "11:TRUE"\r
-                    "IsDependency" = "11:FALSE"\r
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"\r
-                        "Properties"\r
-                        {\r
-                            "BannerBitmap"\r
-                            {\r
-                            "Name" = "8:BannerBitmap"\r
-                            "DisplayName" = "8:#1001"\r
-                            "Description" = "8:#1101"\r
-                            "Type" = "3:8"\r
-                            "ContextData" = "8:Bitmap"\r
-                            "Attributes" = "3:4"\r
-                            "Setting" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                        }\r
-                    }\r
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A2F2CC6EB9D7453599E7598D4D0629A5"\r
-                    {\r
-                    "Sequence" = "3:300"\r
-                    "DisplayName" = "8:Confirm Installation"\r
-                    "UseDynamicProperties" = "11:TRUE"\r
-                    "IsDependency" = "11:FALSE"\r
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"\r
-                        "Properties"\r
-                        {\r
-                            "BannerBitmap"\r
-                            {\r
-                            "Name" = "8:BannerBitmap"\r
-                            "DisplayName" = "8:#1001"\r
-                            "Description" = "8:#1101"\r
-                            "Type" = "3:8"\r
-                            "ContextData" = "8:Bitmap"\r
-                            "Attributes" = "3:4"\r
-                            "Setting" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                        }\r
-                    }\r
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C2B41369B7334F419318792EBA031412"\r
-                    {\r
-                    "Sequence" = "3:100"\r
-                    "DisplayName" = "8:Welcome"\r
-                    "UseDynamicProperties" = "11:TRUE"\r
-                    "IsDependency" = "11:FALSE"\r
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"\r
-                        "Properties"\r
-                        {\r
-                            "BannerBitmap"\r
-                            {\r
-                            "Name" = "8:BannerBitmap"\r
-                            "DisplayName" = "8:#1001"\r
-                            "Description" = "8:#1101"\r
-                            "Type" = "3:8"\r
-                            "ContextData" = "8:Bitmap"\r
-                            "Attributes" = "3:4"\r
-                            "Setting" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                            "CopyrightWarning"\r
-                            {\r
-                            "Name" = "8:CopyrightWarning"\r
-                            "DisplayName" = "8:#1002"\r
-                            "Description" = "8:#1102"\r
-                            "Type" = "3:3"\r
-                            "ContextData" = "8:"\r
-                            "Attributes" = "3:0"\r
-                            "Setting" = "3:2"\r
-                            "Value" = "8:This computer program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2."\r
-                            "DefaultValue" = "8:#1202"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                            "Welcome"\r
-                            {\r
-                            "Name" = "8:Welcome"\r
-                            "DisplayName" = "8:#1003"\r
-                            "Description" = "8:#1103"\r
-                            "Type" = "3:3"\r
-                            "ContextData" = "8:"\r
-                            "Attributes" = "3:0"\r
-                            "Setting" = "3:1"\r
-                            "Value" = "8:#1203"\r
-                            "DefaultValue" = "8:#1203"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_6B654A06090344BA9AA443E0D0296737"\r
-            {\r
-            "Name" = "8:#1902"\r
-            "Sequence" = "3:1"\r
-            "Attributes" = "3:3"\r
-                "Dialogs"\r
-                {\r
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FB4E7BBC3DA242309FFB58F9A6194A93"\r
-                    {\r
-                    "Sequence" = "3:100"\r
-                    "DisplayName" = "8:Finished"\r
-                    "UseDynamicProperties" = "11:TRUE"\r
-                    "IsDependency" = "11:FALSE"\r
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"\r
-                        "Properties"\r
-                        {\r
-                            "BannerBitmap"\r
-                            {\r
-                            "Name" = "8:BannerBitmap"\r
-                            "DisplayName" = "8:#1001"\r
-                            "Description" = "8:#1101"\r
-                            "Type" = "3:8"\r
-                            "ContextData" = "8:Bitmap"\r
-                            "Attributes" = "3:4"\r
-                            "Setting" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                            "UpdateText"\r
-                            {\r
-                            "Name" = "8:UpdateText"\r
-                            "DisplayName" = "8:#1058"\r
-                            "Description" = "8:#1158"\r
-                            "Type" = "3:15"\r
-                            "ContextData" = "8:"\r
-                            "Attributes" = "3:0"\r
-                            "Setting" = "3:1"\r
-                            "Value" = "8:#1258"\r
-                            "DefaultValue" = "8:#1258"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_712819C7C4F042ABB708949BD4426628"\r
-            {\r
-            "Name" = "8:#1900"\r
-            "Sequence" = "3:1"\r
-            "Attributes" = "3:1"\r
-                "Dialogs"\r
-                {\r
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2F49D4FACB954AF2B786D2AD9206D053"\r
-                    {\r
-                    "Sequence" = "3:100"\r
-                    "DisplayName" = "8:Welcome"\r
-                    "UseDynamicProperties" = "11:TRUE"\r
-                    "IsDependency" = "11:FALSE"\r
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"\r
-                        "Properties"\r
-                        {\r
-                            "BannerBitmap"\r
-                            {\r
-                            "Name" = "8:BannerBitmap"\r
-                            "DisplayName" = "8:#1001"\r
-                            "Description" = "8:#1101"\r
-                            "Type" = "3:8"\r
-                            "ContextData" = "8:Bitmap"\r
-                            "Attributes" = "3:4"\r
-                            "Setting" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                            "CopyrightWarning"\r
-                            {\r
-                            "Name" = "8:CopyrightWarning"\r
-                            "DisplayName" = "8:#1002"\r
-                            "Description" = "8:#1102"\r
-                            "Type" = "3:3"\r
-                            "ContextData" = "8:"\r
-                            "Attributes" = "3:0"\r
-                            "Setting" = "3:2"\r
-                            "Value" = "8:This computer program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2."\r
-                            "DefaultValue" = "8:#1202"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                            "Welcome"\r
-                            {\r
-                            "Name" = "8:Welcome"\r
-                            "DisplayName" = "8:#1003"\r
-                            "Description" = "8:#1103"\r
-                            "Type" = "3:3"\r
-                            "ContextData" = "8:"\r
-                            "Attributes" = "3:0"\r
-                            "Setting" = "3:1"\r
-                            "Value" = "8:#1203"\r
-                            "DefaultValue" = "8:#1203"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                        }\r
-                    }\r
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_770E25BC453A464EA8CD51381FDDDD9F"\r
-                    {\r
-                    "Sequence" = "3:300"\r
-                    "DisplayName" = "8:Confirm Installation"\r
-                    "UseDynamicProperties" = "11:TRUE"\r
-                    "IsDependency" = "11:FALSE"\r
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"\r
-                        "Properties"\r
-                        {\r
-                            "BannerBitmap"\r
-                            {\r
-                            "Name" = "8:BannerBitmap"\r
-                            "DisplayName" = "8:#1001"\r
-                            "Description" = "8:#1101"\r
-                            "Type" = "3:8"\r
-                            "ContextData" = "8:Bitmap"\r
-                            "Attributes" = "3:4"\r
-                            "Setting" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                        }\r
-                    }\r
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9534A64B629F4F868D6D7A384C76DCB2"\r
-                    {\r
-                    "Sequence" = "3:200"\r
-                    "DisplayName" = "8:Installation Folder"\r
-                    "UseDynamicProperties" = "11:TRUE"\r
-                    "IsDependency" = "11:FALSE"\r
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"\r
-                        "Properties"\r
-                        {\r
-                            "BannerBitmap"\r
-                            {\r
-                            "Name" = "8:BannerBitmap"\r
-                            "DisplayName" = "8:#1001"\r
-                            "Description" = "8:#1101"\r
-                            "Type" = "3:8"\r
-                            "ContextData" = "8:Bitmap"\r
-                            "Attributes" = "3:4"\r
-                            "Setting" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                            "InstallAllUsersVisible"\r
-                            {\r
-                            "Name" = "8:InstallAllUsersVisible"\r
-                            "DisplayName" = "8:#1059"\r
-                            "Description" = "8:#1159"\r
-                            "Type" = "3:5"\r
-                            "ContextData" = "8:1;True=1;False=0"\r
-                            "Attributes" = "3:0"\r
-                            "Setting" = "3:0"\r
-                            "Value" = "3:1"\r
-                            "DefaultValue" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_770CCEFF81BD46A182A6E816A41A0E81"\r
-            {\r
-            "Name" = "8:#1901"\r
-            "Sequence" = "3:2"\r
-            "Attributes" = "3:2"\r
-                "Dialogs"\r
-                {\r
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_75E0C1FD245D493DA0D7E3E0BC0C365F"\r
-                    {\r
-                    "Sequence" = "3:100"\r
-                    "DisplayName" = "8:Progress"\r
-                    "UseDynamicProperties" = "11:TRUE"\r
-                    "IsDependency" = "11:FALSE"\r
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"\r
-                        "Properties"\r
-                        {\r
-                            "BannerBitmap"\r
-                            {\r
-                            "Name" = "8:BannerBitmap"\r
-                            "DisplayName" = "8:#1001"\r
-                            "Description" = "8:#1101"\r
-                            "Type" = "3:8"\r
-                            "ContextData" = "8:Bitmap"\r
-                            "Attributes" = "3:4"\r
-                            "Setting" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                            "ShowProgress"\r
-                            {\r
-                            "Name" = "8:ShowProgress"\r
-                            "DisplayName" = "8:#1009"\r
-                            "Description" = "8:#1109"\r
-                            "Type" = "3:5"\r
-                            "ContextData" = "8:1;True=1;False=0"\r
-                            "Attributes" = "3:0"\r
-                            "Setting" = "3:0"\r
-                            "Value" = "3:1"\r
-                            "DefaultValue" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_933B15E9A383418F8ADF3B13F68458F3"\r
-            {\r
-            "UseDynamicProperties" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"\r
-            }\r
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_E310DA8CED734E00950A3C5D630CE987"\r
-            {\r
-            "Name" = "8:#1902"\r
-            "Sequence" = "3:2"\r
-            "Attributes" = "3:3"\r
-                "Dialogs"\r
-                {\r
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CB172E69F9C74901BE1040336CFD4F72"\r
-                    {\r
-                    "Sequence" = "3:100"\r
-                    "DisplayName" = "8:Finished"\r
-                    "UseDynamicProperties" = "11:TRUE"\r
-                    "IsDependency" = "11:FALSE"\r
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"\r
-                        "Properties"\r
-                        {\r
-                            "BannerBitmap"\r
-                            {\r
-                            "Name" = "8:BannerBitmap"\r
-                            "DisplayName" = "8:#1001"\r
-                            "Description" = "8:#1101"\r
-                            "Type" = "3:8"\r
-                            "ContextData" = "8:Bitmap"\r
-                            "Attributes" = "3:4"\r
-                            "Setting" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F44F9BE9B54940848289669635E4A5A2"\r
-            {\r
-            "Name" = "8:#1901"\r
-            "Sequence" = "3:1"\r
-            "Attributes" = "3:2"\r
-                "Dialogs"\r
-                {\r
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_14751F327A634B989283C8F28CFB6DFC"\r
-                    {\r
-                    "Sequence" = "3:100"\r
-                    "DisplayName" = "8:Progress"\r
-                    "UseDynamicProperties" = "11:TRUE"\r
-                    "IsDependency" = "11:FALSE"\r
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"\r
-                        "Properties"\r
-                        {\r
-                            "BannerBitmap"\r
-                            {\r
-                            "Name" = "8:BannerBitmap"\r
-                            "DisplayName" = "8:#1001"\r
-                            "Description" = "8:#1101"\r
-                            "Type" = "3:8"\r
-                            "ContextData" = "8:Bitmap"\r
-                            "Attributes" = "3:4"\r
-                            "Setting" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                            "ShowProgress"\r
-                            {\r
-                            "Name" = "8:ShowProgress"\r
-                            "DisplayName" = "8:#1009"\r
-                            "Description" = "8:#1109"\r
-                            "Type" = "3:5"\r
-                            "ContextData" = "8:1;True=1;False=0"\r
-                            "Attributes" = "3:0"\r
-                            "Setting" = "3:0"\r
-                            "Value" = "3:1"\r
-                            "DefaultValue" = "3:1"\r
-                            "UsePlugInResources" = "11:TRUE"\r
-                            }\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-        }\r
-        "MergeModule"\r
-        {\r
-            "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_299D5816FF7142F3B2791685551AD1DC"\r
-            {\r
-            "UseDynamicProperties" = "11:TRUE"\r
-            "IsDependency" = "11:TRUE"\r
-            "SourcePath" = "8:microsoft_vc90_debugcrt_x86.msm"\r
-                "Properties"\r
-                {\r
-                }\r
-            "LanguageId" = "3:0"\r
-            "Exclude" = "11:FALSE"\r
-            "Folder" = "8:"\r
-            "Feature" = "8:"\r
-            "IsolateTo" = "8:"\r
-            }\r
-            "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_A1CB27EFF4094C39B58D0BE5A272DF1A"\r
-            {\r
-            "UseDynamicProperties" = "11:TRUE"\r
-            "IsDependency" = "11:TRUE"\r
-            "SourcePath" = "8:policy_9_0_Microsoft_VC90_DebugCRT_x86.msm"\r
-                "Properties"\r
-                {\r
-                }\r
-            "LanguageId" = "3:0"\r
-            "Exclude" = "11:FALSE"\r
-            "Folder" = "8:"\r
-            "Feature" = "8:"\r
-            "IsolateTo" = "8:"\r
-            }\r
-        }\r
-        "ProjectOutput"\r
-        {\r
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_466C1CF41795452A8B76425F8D05D8B8"\r
-            {\r
-            "SourcePath" = "8:Win32\\Debug\\ippserver.exe"\r
-            "TargetName" = "8:"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            "ProjectOutputGroupRegister" = "3:1"\r
-            "OutputConfiguration" = "8:"\r
-            "OutputGroupCanonicalName" = "8:Built"\r
-            "OutputProjectGuid" = "8:{82A03BC7-0746-4B85-8908-3C7A3FAA58A9}"\r
-            "ShowKeyOutput" = "11:TRUE"\r
-                "ExcludeFilters"\r
-                {\r
-                }\r
-            }\r
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_58DC0E72F0944BEFB927AED718CD1660"\r
-            {\r
-            "SourcePath" = "8:Win32\\Debug\\ippfind.exe"\r
-            "TargetName" = "8:"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            "ProjectOutputGroupRegister" = "3:1"\r
-            "OutputConfiguration" = "8:"\r
-            "OutputGroupCanonicalName" = "8:Built"\r
-            "OutputProjectGuid" = "8:{B484DA0C-62C8-4C32-83B6-CCEB58968B85}"\r
-            "ShowKeyOutput" = "11:TRUE"\r
-                "ExcludeFilters"\r
-                {\r
-                }\r
-            }\r
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D02EB13951314EFD9C539150EF8E53B8"\r
-            {\r
-            "SourcePath" = "8:Win32\\Debug\\regex.dll"\r
-            "TargetName" = "8:"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            "ProjectOutputGroupRegister" = "3:1"\r
-            "OutputConfiguration" = "8:"\r
-            "OutputGroupCanonicalName" = "8:Built"\r
-            "OutputProjectGuid" = "8:{18950A1B-D37A-40C7-B2DF-C12986C0526E}"\r
-            "ShowKeyOutput" = "11:TRUE"\r
-                "ExcludeFilters"\r
-                {\r
-                }\r
-            }\r
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E97571D3FBE048DABDC59B37762D800F"\r
-            {\r
-            "SourcePath" = "8:Win32\\Debug\\ipptool.exe"\r
-            "TargetName" = "8:"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            "ProjectOutputGroupRegister" = "3:1"\r
-            "OutputConfiguration" = "8:"\r
-            "OutputGroupCanonicalName" = "8:Built"\r
-            "OutputProjectGuid" = "8:{B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}"\r
-            "ShowKeyOutput" = "11:TRUE"\r
-                "ExcludeFilters"\r
-                {\r
-                }\r
-            }\r
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_EA282F32A10B4ED1A81AA6133B997C6A"\r
-            {\r
-            "SourcePath" = "8:Win32\\Debug\\libcups2.dll"\r
-            "TargetName" = "8:"\r
-            "Tag" = "8:"\r
-            "Folder" = "8:_FFAEDEA1D38D4088A03FDD6F17E2CA5D"\r
-            "Condition" = "8:"\r
-            "Transitive" = "11:FALSE"\r
-            "Vital" = "11:TRUE"\r
-            "ReadOnly" = "11:FALSE"\r
-            "Hidden" = "11:FALSE"\r
-            "System" = "11:FALSE"\r
-            "Permanent" = "11:FALSE"\r
-            "SharedLegacy" = "11:FALSE"\r
-            "PackageAs" = "3:1"\r
-            "Register" = "3:1"\r
-            "Exclude" = "11:FALSE"\r
-            "IsDependency" = "11:FALSE"\r
-            "IsolateTo" = "8:"\r
-            "ProjectOutputGroupRegister" = "3:1"\r
-            "OutputConfiguration" = "8:"\r
-            "OutputGroupCanonicalName" = "8:Built"\r
-            "OutputProjectGuid" = "8:{CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}"\r
-            "ShowKeyOutput" = "11:TRUE"\r
-                "ExcludeFilters"\r
-                {\r
-                }\r
-            }\r
-        }\r
-    }\r
-}\r
index afeb2026ea59b45365cb9f6c53dc8978ea57c5dd..93dd19ac6fadf51976443a5d3a9ea0901439c742 100644 (file)
                                72220F02133305BB00FCA411 /* string.c */,
                                72220F03133305BB00FCA411 /* tempfile.c */,
                                72220F05133305BB00FCA411 /* thread.c */,
+                               727AD5B619100A58009F6862 /* tls.c */,
                                270B267D17F5C06700C8A3A9 /* tls-darwin.c */,
                                270B267E17F5C06700C8A3A9 /* tls-gnutls.c */,
                                270B268117F5C5D600C8A3A9 /* tls-sspi.c */,
-                               727AD5B619100A58009F6862 /* tls.c */,
                                72220F06133305BB00FCA411 /* transcode.c */,
                                72220F08133305BB00FCA411 /* usersys.c */,
                                72220F09133305BB00FCA411 /* util.c */,
index e16c6667cbaa50488f07e09f363528926a79b041..98aa98749a1d501e1f08a00f83ab2c52ebb9231e 100644 (file)
 #endif /* !TARGET_OS_IOS */
 
 
+/*
+ * Do we have the getgrouplist() function?
+ */
+
+#define HAVE_GETGROUPLIST 1
+
 /*
  * Do we have OS X 10.4's mbr_XXX functions?
  */